-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGraphes.py
183 lines (165 loc) · 6.36 KB
/
Graphes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# -*- coding: utf-8 -*-
"""
Author: Alfred GOUMOU & Audrey DEHAULLON
Description: Projet dynamique moleculaire, Barstar
"""
#Import des modules
import sys, os
import matplotlib.pyplot as plt
#Import des fonctions
import Barycentre as bar
#_________________________________________________________________________________________________
# GRAPHES
#_________________________________________________________________________________________________
def plotRes(dico) :
'''
On affiche les resultats de l'analyse globale et on les enregistre dans le dossier de sortie.
'''
global type_analyse, wish
barycentre = bar.choixMeth()
type_analyse=barycentre+"_"+str(len(dico[1]["conflist"])-1)
wish = raw_input("\nVoulez-vous afficher les resultats ? O/N\n")
plotGlobal(dico[1])
plotLocal(dico[0])
print "Resultats enregistres dans Resulats_des_Analyses"+type_analyse+"/\n"
def plotGlobal(dconf) :
#Analyse globale
plotGiration(dconf)
plotDistance(dconf)
plotRMSDGlobal(dconf)
plotFlexibiteEnfouissement(dconf)
def plotGiration(dconf) :
plt.title('Rayon de Giration en fonction des conformations')
plt.plot(dconf["rayonGiration"])
plt.axhline(y=dconf["rayonGiration"][0],ls='--',color='red')
plt.xlabel('Conformations')
plt.ylabel('Rayon de Giration')
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/Rayon_de_Giration.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotDistance(dconf) :
#distance moyenne des residus au centre de masse en fonction des conformations
plt.title('Distance moyenne et/ou ecart_type des residus \n en fonction des conformations par rapport au centre de masse')
plt.xlabel('Conformations')
plt.ylabel('Distance moyenne')
moyonne = dconf["distance_moy"]
ecart_type = dconf["distance_sd"]
moy_s = [x+y for (x,y) in zip(moyonne,ecart_type)]
moy_i = [x-y for (x,y) in zip(moyonne,ecart_type)]
plt.plot(moyonne, "b", label = "Distance moyenne")
plt.plot(moy_s, "r--", label = "+/- ecart_type")
plt.plot(moy_i, "r--",)
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/Distance_conformation.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotRMSDGlobal(dconf) :
#plot du RMSD moyen en fonction des conformations par rapport a la reference.
plt.title('RMSD moyen et/ou ecart_type des residus \n en fonction des conformations par rapport a la reference')
plt.xlabel('Conformations')
plt.ylabel('RMSD moyen')
moyonne = dconf["RMSDmoy"]
ecart_type = dconf["RMSDmoy_sd"]
moy_s = [x+y for (x,y) in zip(moyonne,ecart_type)]
moy_i = [x-y for (x,y) in zip(moyonne,ecart_type)]
plt.plot(moyonne, "b", label = "RMSD moyen")
plt.plot(moy_s, "r--", label = "+/- ecart_type")
plt.plot(moy_i, "r--",)
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/RMSd_Global.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotFlexibiteEnfouissement(dconf) :
#correlation entre la flexibilite et l'enfouissement moyens des residus, en fonction des conformations
plt.subplot(211)
plt.plot(dconf["CorEnfFlexConf"][0])
plt.title('Correlation Flexibilite/Enfouissement moyens en fonction des conformations')
plt.xlabel('Conformations')
plt.ylabel('Correlation')
plt.subplot(212)
plt.plot(dconf["CorEnfFlexConf"][1])
plt.title('Correlation Flexibilite/Enfouissement moyens \n en fonction des conformations : p-value')
plt.xlabel('Conformations')
plt.ylabel('p-valeur')
plt.tight_layout()
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/Correlation_conf.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotLocal(dref) :
#Analyse locale
plotDistanceLocal(dref)
plotRMSDLocal(dref)
plotFlexibiteEnfouissement_residus(dref)
def plotDistanceLocal(dref) :
#distance moyenne des residus au centre de masse en fonction des residus
moy = dref["enfRes_mean"]
sd = dref["enfRes_sd"]
moy_s = [x+y for (x,y) in zip(moy,sd)]
moy_i = [x-y for (x,y) in zip(moy,sd)]
plt.subplot(211)
plt.plot(dref["enfRes_sd"])
plt.title("L'ecart-Type de la distance moyenne des residus en fonction du residu \n par rapport au centre de masse pour chaque conformation")
plt.xlabel('Residus')
plt.ylabel('ecart type')
plt.subplot(212)
plt.plot(moy, "b", label = "Distance moyenne")
plt.plot(moy_s, "r--", label = "+/- ecart-type")
plt.plot(moy_i, "r--",)
plt.title('Distance moyenne et/ou ecart-type des residus en fonction du residu\n par rapport au centre de masse pour chaque conformation')
plt.xlabel('Residus')
plt.ylabel('Distance')
plt.tight_layout()
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/Distance_residu.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotRMSDLocal(dref) :
#RMSD moyen en fonction des residus
moy = dref["RMSDres_mean"]
sd = dref["RMSDres_sd"]
moy_s = [x+y for (x,y) in zip(moy,sd)]
moy_i = [x-y for (x,y) in zip(moy,sd)]
plt.subplot(211)
plt.plot(dref["RMSDres_sd"])
plt.title("L'ecart-Type du RMSD moyen en fonction du residu, par rapport a la reference, \nde la position des residus pour chaque conformation")
plt.xlabel('Residus')
plt.ylabel('ecart type')
plt.subplot(212)
plt.plot(moy, "b", label = "RMSD moyen")
plt.plot(moy_s, "r--", label = "+/- ecart-type")
plt.plot(moy_i, "r--",)
plt.title('RMSD moyen et/ou ecart-type en fonction du residu par rapport a la reference, \nde la position des residus pour chaque conformation')
plt.xlabel('Residus')
plt.ylabel('RMSD')
plt.tight_layout()
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/RMSD_residu.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()
def plotFlexibiteEnfouissement_residus(dref) :
#correlation entre la flexibilite et l'enfouissement moyens des residus, en fonction des residus
plt.subplot(211)
plt.plot(dref["CorEnfFlexRef"][0])
plt.title("Correlation entre Flexibilite et Enfouissement de chaque residu \nde chaque conformation, en fonction des residus")
plt.xlabel('Residus')
plt.ylabel('Correlation')
plt.subplot(212)
plt.plot(dref["CorEnfFlexRef"][1])
plt.axhline(y=0.05,ls='--',color='red')
plt.title('Correlation Flexibilite/Enfouissement \n en fonction des residus: pvalue')
plt.xlabel('Residus')
plt.ylabel('p-valeur')
plt.tight_layout()
global type_analyse
plt.savefig("Resulats_des_Analyses"+type_analyse+"/Correlation_residu.png")
global wish
if ((wish == 'O') | (wish == 'o')) :
plt.show()