Fixing ladder discovery

master
Thomas Forest 2019-09-17 10:55:36 +02:00
parent 583d7e33d8
commit 7ddd47c379
2 changed files with 18 additions and 16 deletions

View File

@ -25,9 +25,9 @@ else:
get_helix(pdb_file.residues, turns)
# get_bends(pdb_file.residues)
# get_chirality(pdb_file.residues)
# bridges = get_bridges(pdb_file.residues)
# ladders = get_ladders(bridges)
# get_sheets(ladders)
bridges = get_bridges(pdb_file.residues)
ladders = get_ladders(bridges, pdb_file.residues)
get_sheets(ladders)
# print("NBRIDGES",len(bridges))

View File

@ -83,14 +83,15 @@ def get_bridges(residues):
E_min = bridge['res1']+bridge['res2']
strongest_bridge = bridge
bridge = {}
coord_bridge = [i,j]
# finally add the strongest bridge at i and j pos
if(strongest_bridge):
bridges[strongest_bridge['ipos']] = (Bridge(strongest_bridge['btype'],
bridges[coord_bridge[0]] = (Bridge(strongest_bridge['btype'],
strongest_bridge['ipos'],
strongest_bridge['jpos']))
# bridges[strongest_bridge['jpos']] = (Bridge(strongest_bridge['btype'],
# strongest_bridge['jpos'],
# strongest_bridge['ipos']))
bridges[coord_bridge[1]] = (Bridge(strongest_bridge['btype'],
strongest_bridge['jpos'],
strongest_bridge['ipos']))
if(len(bridges)>0):
return(bridges)
else:
@ -143,7 +144,7 @@ def get_helix(residues, turns):
while(i+k in turns):
k+=1
temp_res.append(residues[i])
if(k>2):
if(k>=1):
print(k,"- HELIX at", residues[i].resid)
helix.append(Helix(temp_res,residues[i].resid))
i = i+k
@ -151,10 +152,10 @@ def get_helix(residues, turns):
i+=1
return(helix)
def get_ladders(bridges):
def get_ladders(bridges, residues):
ladders = {}
i = 1
while i < len(bridges):
while i < len(residues):
k = 1
if i in bridges.keys():
temp_bridges = [bridges[i]]
@ -163,9 +164,9 @@ def get_ladders(bridges):
temp_bridges.append(bridges[i+k])
k+=1
if k>1:
ladders[bridges[i].res_num] = k-1
ladders[i] = k-1
print("ladder", bridges[i].res_num, bridges[i+k-1].res_num)
ladders[bridges[i].res_num] = {'start':bridges[i].res_num,
ladders[i] = {'start':bridges[i].res_num,
'end':bridges[i+k-1].res_num,
'bridges':temp_bridges}
i+=k-1
@ -180,14 +181,15 @@ def get_sheets(ladders):
Iterate over all residues of one ladder and check if bridge with other residues
of the other ladders.
"""
sheets = {}
for ladder in ladders:
for bridge in ladders[ladder]['bridges']:
for ladd2 in ladders:
for bridge in ladders[ladder]['bridges']:
if bridge.res_partner in res_list(ladders[ladd2]):
print("ladder",ladders[ladder]['start'], ladders[ladder]['end'],"bridge",bridge.res_num, bridge.res_partner,
"ladder 2",ladders[ladd2]['start'], ladders[ladd2]['end'])
#print("stop ladder 2")
print("stop ladder 1")
def res_list(ladder):
# TODO : method in ladder class