Correction of Bends residues

master
Thomas Forest 2019-09-15 23:59:59 +02:00
parent 45f0eb8c93
commit dfeb566ee0
3 changed files with 12 additions and 8 deletions

View File

@ -8,12 +8,13 @@ class Atom:
def __init__(self, atom_id, atom_name, res_name, chain_id, def __init__(self, atom_id, atom_name, res_name, chain_id,
res_seq_nb, coordinates): res_seq_nb, insertion_code, coordinates):
self.atom_id = atom_id self.atom_id = atom_id
self.atom_name = atom_name self.atom_name = atom_name
self.res_name = res_name self.res_name = res_name
self.chain_id = chain_id self.chain_id = chain_id
self.res_seq_nb = res_seq_nb self.res_seq_nb = res_seq_nb
self.insertion_code = insertion_code
self.coord_x = coordinates[0] self.coord_x = coordinates[0]
self.coord_y = coordinates[1] self.coord_y = coordinates[1]
self.coord_z = coordinates[2] self.coord_z = coordinates[2]
@ -27,6 +28,7 @@ class Residue:
self.resid = atom.res_seq_nb self.resid = atom.res_seq_nb
self.res_name = atom.res_name self.res_name = atom.res_name
self.chain_id = atom.chain_id self.chain_id = atom.chain_id
self.insertion_code = atom.insertion_code
def h_bond(self, res2): def h_bond(self, res2):

View File

@ -39,8 +39,9 @@ class PDBFile:
atom = Atom(atom_id = int(line[6:11].strip()), atom = Atom(atom_id = int(line[6:11].strip()),
atom_name = line[12:16].strip(), atom_name = line[12:16].strip(),
res_name = line[17:20].strip(), res_name = line[17:20].strip(),
chain_id = line[21:22].strip(), chain_id = line[21:22],
res_seq_nb = int(line[22:26].strip()), res_seq_nb = int(line[22:26].strip()),
insertion_code = line[26:27],
coordinates = [float(line[30:38].strip()), coordinates = [float(line[30:38].strip()),
float(line[38:46].strip()), float(line[38:46].strip()),
float(line[46:54].strip()), float(line[46:54].strip()),
@ -91,6 +92,7 @@ class PDBFile:
res_name = resi.res_name, res_name = resi.res_name,
chain_id = resi.chain_id, chain_id = resi.chain_id,
res_seq_nb = resi.resid, res_seq_nb = resi.resid,
insertion_code = resi.insertion_code,
coordinates = [hydrogen[2], coordinates = [hydrogen[2],
hydrogen[3], hydrogen[3],
hydrogen[4]]) hydrogen[4]])

View File

@ -121,8 +121,8 @@ def get_helix(residues, turns):
k+=1 k+=1
temp_res.append(residues[i]) temp_res.append(residues[i])
if(k>2): if(k>2):
print(k,"- HELIX at", i) print(k,"- HELIX at", residues[i].resid)
helix.append(Helix(temp_res,i)) helix.append(Helix(temp_res,residues[i].resid))
i = i+k i = i+k
else: else:
i+=1 i+=1
@ -140,7 +140,7 @@ def get_bends(residues):
vectors_substr(position_vector(residues[i+2].atoms["CA"].coords), vectors_substr(position_vector(residues[i+2].atoms["CA"].coords),
position_vector(residues[i].atoms["CA"].coords))) position_vector(residues[i].atoms["CA"].coords)))
if(angle>70): if(angle>70):
print("angle", i+1, angle) print("angle", residues[i].resid, angle)
return(bends) return(bends)
def vecteur_deux_points (a, b): def vecteur_deux_points (a, b):
@ -175,9 +175,9 @@ def position_vector(c):
return vector return vector
def vectors_substr(v1, v2): def vectors_substr(v1, v2):
return ([v2[0]-v1[0], return ([v1[0]-v2[0],
v2[1]-v1[1], v1[1]-v2[1],
v2[2]-v1[2]]) v1[2]-v2[2]])
def vector_angles(v1,v2): def vector_angles(v1,v2):
dot_prod = dot_product(v1,v2) dot_prod = dot_product(v1,v2)