1
0
Fork 0

working version of Conformations.dissimilarity method, SLOW

master
nicolas-zimmermann 2019-09-17 16:43:49 +02:00
parent dc6da63651
commit eeb558960e
1 changed files with 15 additions and 4 deletions

View File

@ -43,7 +43,7 @@ class Conformations:
return squareform(pdist(dfnum, metric ='jaccard'))
def dissimilarity(self, matrix):
def dissimilarity(self, matrix=None):
"""
Returns a matrix of the distance between all conformations computed
according to a substitution matrix of the protein blocks.
@ -54,13 +54,24 @@ class Conformations:
if matrix == None:
matrix = pd.read_table("data/PBs_substitution_matrix.dat",
index_col=False, sep ='\t')
matrix = matrix/100 # because in this file weight where multiplied
# by 100.
matrix.index = matrix.columns
ncol = self.df.shape[1]
nrow = self.df.shape[0]
it1 = self.df.iterrows()
for i in range(1,nrow):
for j in range(i):
for k in range(ncol):
dissimilarity[i][j] += matrix[confs.df.loc[i,k]][confs.df.loc[j,k]]
dissimilarity = dissimilarity + dissimilarity.T
return dissimilarity
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Error : usage $ python3 projet8 md.pdb")
exit()
sys.exit("Error : usage '$ python3 projet8 md.pdb'")
confs = Conformations(sys.argv[1])