1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
-
- class Turn:
-
- def __init__(self, turn_type):
- self.turn_type = turn_type
-
- class Bridge:
-
- def __init__(self, bridge_type):
- self.bridge_type = bridge_type
-
- class Helix:
-
- def __init__(self, residues):
- self.residues = residues
-
- def get_turns(residues):
- turns = []
- for i,res in enumerate(residues):
- for j in range(3,6):
- if(i+j<len(residues)):
- if(res.h_bond(residues[i+j])):
- turns.append(Turn(j))
- return(turns)
-
- def get_bridges(residues):
- # TODO : non-overlaping check to add
- bridges = []
- for i,res in enumerate(residues):
- for j, res in enumerate(residues):
- if(i-1>=0 and i+1<len(residues)
- and j-1>=0 and j+1<len(residues)):
- if((residues[i-1].h_bond(residues[j])
- and residues[j].h_bond(residues[i+1]))
- or(residues[j-1].h_bond(residues[i])
- and residues[i].h_bond(residues[j+1]))):
- bridges.append(Bridge("para"))
-
- if(i-1>=0 and i+1<len(residues)
- and j-1>=0 and j+1<len(residues)):
- if((residues[i].h_bond(residues[j])
- and residues[j].h_bond(residues[i]))
- or(residues[i-1].h_bond(residues[j+1])
- and residues[j-1].h_bond(residues[i+1]))):
- bridges.append(Bridge("anti"))
- return(bridges)
-
- def get_helix(turns):
- pass
|