9
9
2- Estimate GAM and NGAM from theorical values
10
10
11
11
"""
12
+ def _import_model (path_to_model ):
13
+ import cobra
14
+ extension = path_to_model .split ('.' )[- 1 ]
15
+ if extension == 'json' :
16
+ return cobra .io .load_json_model (path_to_model )
17
+ elif extension == 'xml' :
18
+ return cobra .io .read_sbml_model (path_to_model )
19
+ else :
20
+ raise Exception ('Model format not compatible, provide xml or json' )
21
+
22
+ def _import_data (path_to_data ):
23
+ import pandas as pd
24
+ import warnings
25
+
26
+ data = pd .read_csv (path_to_data )
27
+ '''
28
+ #1- This file should have a header
29
+ for i in data.columns:
30
+ try:
31
+ float(i)
32
+ raise ValueError('Provide file header')
33
+ except:
34
+ pass
35
+ '''
36
+ return data
12
37
13
38
def experimental_maintenance (path_to_data , path_to_model ,show_GAM = False ):
14
39
"""
@@ -29,26 +54,13 @@ def experimental_maintenance(path_to_data, path_to_model,show_GAM=False):
29
54
30
55
#From experimental data growth rate on a given carbon source
31
56
#Obtain best fit from model to experimental data
32
- def import_model (path_to_model ):
33
- import cobra
34
- extension = path_to_model .split ('.' )[- 1 ]
35
- if extension == 'json' :
36
- return cobra .io .load_json_model (path_to_model )
37
- elif extension == 'xml' :
38
- return cobra .io .read_sbml_model (path_to_model )
39
-
40
- def import_data (path_to_data ):
41
- import pandas as pd
42
- return pd .read_csv (path_to_data )
43
-
44
57
def get_carbon_sources (data ):
45
58
return [c for c in data .Source ]
46
59
47
60
def attribute_colors (data ,carbon_sources ):
48
61
# Attribute colors to carbon sources for ploting
49
62
# Set a color palette
50
63
import seaborn as sb
51
-
52
64
color_palette = sb .color_palette ('deep' ,len (carbon_sources ))
53
65
data ['color' ] = ''
54
66
for i in len (carbon_sources ):
@@ -190,7 +202,7 @@ def show_gam(raw_GAM):
190
202
import seaborn as sns
191
203
import numpy as np
192
204
import matplotlib .pyplot as plt
193
-
205
+ sns . set_style ( 'whitegrid' )
194
206
x = raw_GAM ['Growth_rate' ]
195
207
y = raw_GAM ['ATP' ]
196
208
#Fit with np.polyfit
@@ -205,7 +217,8 @@ def show_gam(raw_GAM):
205
217
print ('R2=' , correlation ** 2 )
206
218
plt .scatter (raw_GAM ['Growth_rate' ], raw_GAM ['ATP' ])
207
219
# plt.scatter(filtered_data['GR'],filtered_data['ATP'], color=filtered_data['color'], marker=filtered_data['marker'].tolist())
208
-
220
+ plt .ylabel ('ATP' )
221
+ plt .xlabel ('Growth rate' )
209
222
plt .xlim ([0 , 1.1 ])
210
223
plt .ylim ([0 , 110 ])
211
224
plt .show ()
@@ -283,9 +296,9 @@ def show_gam(raw_GAM):
283
296
return {'GAM' : m , 'NGAM' : b }
284
297
285
298
#1- Import model
286
- model = import_model (path_to_model )
299
+ model = _import_model (path_to_model )
287
300
#2- Import experimental data
288
- data = import_data (path_to_data )
301
+ data = _import_data (path_to_data )
289
302
#3- Calculate GAM
290
303
raw_GAM = calculate_gam (model , data ,show_GAM )
291
304
#4-
0 commit comments