In [13]:
%reset
import Bio.PDB
import numpy as np
import pandas as pd
#pdb_code = "HLA_A2_1"
#pdb_filename = "HLA_A2_1.pdb"
#pdb_code = "HLA_B5_801"
#pdb_filename = "HLA_B5_801.pdb"
pdb_code = "HLA_B5_701"
pdb_filename = "HLA_B5_701.pdb"
structure = Bio.PDB.PDBParser().get_structure(pdb_code, pdb_filename)
model = structure[0]
In [17]:
#difference between two alpha carbons
def calc_residue_dist(coord_one, coord_two) :
diff_vector = coord_one- coord_two
return np.sqrt(np.sum(diff_vector * diff_vector))
def calc_dist_matrix(model) :
alphanum = 0
residuelist = model.get_residues()
coords = np.zeros([1,3])
for res in residuelist:
if 'CA' in res:
alphanum = alphanum+1
#print([res['CA'].coord])
#print(coords)
coords = np.concatenate((coords,[res['CA'].coord]),axis =0)
distances = np.zeros((alphanum,alphanum),np.float)
for i in range(0,alphanum):
for j in range(0, alphanum):
coords1 = coords[i,:]
coords2 = coords[j,:]
distances[i,j] = calc_residue_dist(coords1, coords2)
return distances, coords
#print(1 for i in residuelist)
t, coords = calc_dist_matrix(model)
print(np.size(coords))
#print(coords)
#print(np.size(t))
#np.savetxt('HLA_A2_1_dist.csv', t, delimiter=',')
#np.savetxt('HLA_B5_801_dist.csv', t, delimiter=',')
np.savetxt('HLA_B5_701_dist.csv', t, delimiter=',')
#for t in residuelist:
# print(t)
In [ ]:
In [ ]:
In [ ]: