Skip to content

Commit

Permalink
TPC 2nd submission with GC cytosol maltose accumulation
Browse files Browse the repository at this point in the history
  • Loading branch information
Maurice committed Jul 1, 2024
1 parent 0421dcd commit d09c365
Show file tree
Hide file tree
Showing 132 changed files with 82,414 additions and 72,742 deletions.
1 change: 1 addition & 0 deletions inputs/osmolytes.csv
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,4 @@ aMAL_v_gc,1
STARCH_p_gc,0
STARCH_p_me,0
PALMITATE_c_gc,0
MALTOSE_c_gc,1
10 changes: 2 additions & 8 deletions mmon_gcm/constraintscan.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def generate_constraints_df(constraints_df, params_df):
return values_df

# %% ../src/functions/constraintscan.ipynb 5
def solve_model_for_constraint_scan(constraints, fba_model, light_colour, printouts=False, maintenance=True):
def solve_model_for_constraint_scan(constraints, fba_model, light_colour, printouts=False):

solution_number = constraints.name

Expand All @@ -48,16 +48,10 @@ def solve_model_for_constraint_scan(constraints, fba_model, light_colour, printo

for p in [1, 2, 3, 4]:
super_model.fba_model.reactions.get_by_id(f"PROTON_ATPase_c_gc_{p}").bounds = (0, gc_atpase_upper_bound)

if maintenance:
gc_maintenance_ratio = constraints.loc["Maintenance"]
super_model.add_maintenance(gc=True, gc_ratio=gc_maintenance_ratio, approach=4)
else:
super_model.add_maintenance(gc=True, gc_ratio=4.4270867608601426e-05, approach=4)
super_model.add_maintenance(gc=True)

if printouts is True:
print(f"ATPase constrained to {gc_atpase_upper_bound}")
print(f"GC maintenance proportion = {gc_maintenance_ratio}")

if light_colour == "blue":
super_model.fba_model.reactions.Photon_tx_gc_2.upper_bound = 0
Expand Down
17 changes: 8 additions & 9 deletions mmon_gcm/runconstraintscan.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# AUTOGENERATED! DO NOT EDIT! File to edit: ../src/3.2_run_constraint_scan.ipynb.

# %% auto 0
__all__ = ['test', 'results_path', 'model_path', 'constraints_csv', 'light_colour', 'no_cores', 'inc_maintenance', 'constraints',
'model', 'batch_size', 'df', 'num_batches']
__all__ = ['test', 'results_path', 'model_path', 'constraints_csv', 'light_colour', 'no_cores', 'constraints', 'model',
'batch_size', 'df', 'num_batches']

# %% ../src/3.2_run_constraint_scan.ipynb 4
# %% ../src/3.2_run_constraint_scan.ipynb 5
import sys
import os

Expand All @@ -13,22 +13,21 @@
import pandas as pd
from pandarallel import pandarallel

# %% ../src/3.2_run_constraint_scan.ipynb 5
# %% ../src/3.2_run_constraint_scan.ipynb 6
test = False

# %% ../src/3.2_run_constraint_scan.ipynb 7
# %% ../src/3.2_run_constraint_scan.ipynb 8
results_path = sys.argv[1]
model_path = sys.argv[2]
constraints_csv = sys.argv[3]
light_colour = sys.argv[4]
no_cores = int(sys.argv[5])
inc_maintenance = eval(sys.argv[6])

# %% ../src/3.2_run_constraint_scan.ipynb 8
# %% ../src/3.2_run_constraint_scan.ipynb 9
constraints = pd.read_csv(constraints_csv, index_col=[0], header=[0])
model = cobra.io.load_json_model(model_path)

# %% ../src/3.2_run_constraint_scan.ipynb 14
# %% ../src/3.2_run_constraint_scan.ipynb 15
# Define the batch size
batch_size = 100

Expand All @@ -50,7 +49,7 @@
#scan_solution = constraints.parallel_apply(
scan_solution = current_batch.parallel_apply(
mmon_gcm.constraintscan.solve_model_for_constraint_scan,
args=([model, light_colour, False, inc_maintenance]),
args=([model, light_colour, False]),
axis=1,
)

Expand Down
52 changes: 26 additions & 26 deletions mmon_gcm/solvemodels.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@
PPFD = 150
arabidopsis_supermodel.constrain_photons(PPFD, printouts=True);

# %% ../src/2.1_solvingmodel.ipynb 39
arabidopsis_supermodel.add_maintenance(gc=True, gc_ratio=4.4270867608601426e-05);
# %% ../src/2.1_solvingmodel.ipynb 31
arabidopsis_supermodel.add_maintenance(gc=True, gc_ratio=4.427086760474383e-05);

# %% ../src/2.1_solvingmodel.ipynb 43
# %% ../src/2.1_solvingmodel.ipynb 35
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -105,10 +105,10 @@
blue_unconstrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 44
# %% ../src/2.1_solvingmodel.ipynb 36
blue_unconstrained_wt_solution.to_csv(output_dir + f"blue_unconstrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 46
# %% ../src/2.1_solvingmodel.ipynb 38
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -124,10 +124,10 @@
blue_unconstrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 47
# %% ../src/2.1_solvingmodel.ipynb 39
blue_unconstrained_starchko_solution.to_csv(output_dir + "blue_unconstrained_starchko.csv")

# %% ../src/2.1_solvingmodel.ipynb 50
# %% ../src/2.1_solvingmodel.ipynb 42
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -144,10 +144,10 @@
blue_constrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 51
# %% ../src/2.1_solvingmodel.ipynb 43
blue_constrained_wt_solution.to_csv(output_dir + "blue_constrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 53
# %% ../src/2.1_solvingmodel.ipynb 45
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -164,10 +164,10 @@
blue_constrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 54
# %% ../src/2.1_solvingmodel.ipynb 46
blue_constrained_starchko_solution.to_csv(output_dir + "blue_constrained_starchko.csv")

# %% ../src/2.1_solvingmodel.ipynb 58
# %% ../src/2.1_solvingmodel.ipynb 50
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -182,10 +182,10 @@
white_unconstrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 59
# %% ../src/2.1_solvingmodel.ipynb 51
white_unconstrained_wt_solution.to_csv(output_dir + "white_unconstrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 61
# %% ../src/2.1_solvingmodel.ipynb 53
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -200,10 +200,10 @@
white_unconstrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 62
# %% ../src/2.1_solvingmodel.ipynb 54
white_unconstrained_starchko_solution.to_csv(output_dir + "white_unconstrained_starchko.csv")

# %% ../src/2.1_solvingmodel.ipynb 65
# %% ../src/2.1_solvingmodel.ipynb 57
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -218,10 +218,10 @@
white_constrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 66
# %% ../src/2.1_solvingmodel.ipynb 58
white_constrained_wt_solution.to_csv(output_dir + "white_constrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 68
# %% ../src/2.1_solvingmodel.ipynb 60
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -236,10 +236,10 @@
white_constrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 69
# %% ../src/2.1_solvingmodel.ipynb 61
white_constrained_starchko_solution.to_csv(output_dir + "white_constrained_starchko.csv")

# %% ../src/2.1_solvingmodel.ipynb 73
# %% ../src/2.1_solvingmodel.ipynb 65
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -257,10 +257,10 @@
nops_unconstrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 74
# %% ../src/2.1_solvingmodel.ipynb 66
nops_unconstrained_wt_solution.to_csv(output_dir + "nops_unconstrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 76
# %% ../src/2.1_solvingmodel.ipynb 68
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -277,10 +277,10 @@
nops_unconstrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 77
# %% ../src/2.1_solvingmodel.ipynb 69
nops_unconstrained_starchko_solution.to_csv(output_dir + "nops_unconstrained_starchko.csv")

# %% ../src/2.1_solvingmodel.ipynb 80
# %% ../src/2.1_solvingmodel.ipynb 72
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -298,10 +298,10 @@
nops_unconstrained_wt_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 81
# %% ../src/2.1_solvingmodel.ipynb 73
nops_unconstrained_wt_solution.to_csv(output_dir + "nops_constrained_wt.csv")

# %% ../src/2.1_solvingmodel.ipynb 83
# %% ../src/2.1_solvingmodel.ipynb 75
# Added this line to explictly set Photon constraint
arabidopsis_supermodel.constrain_photons(PPFD, printouts=False)
with arabidopsis_supermodel.fba_model as m:
Expand All @@ -318,5 +318,5 @@
nops_unconstrained_starchko_solution,
) = mmon_gcm.solving.get_pfba_fva_solution(m, rxn_list=fva_list, processes=no_processes)

# %% ../src/2.1_solvingmodel.ipynb 84
# %% ../src/2.1_solvingmodel.ipynb 76
nops_unconstrained_starchko_solution.to_csv(output_dir + "nops_constrained_starchko.csv")
2 changes: 1 addition & 1 deletion mmon_gcm/supermodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ def constrain_photons(self, PPFD, printouts=False):
return self

def add_maintenance(self, me=True, gc=True, gc_scaling=1,
printouts=False, gc_ratio=4.4270867608601426e-05):
printouts=False, gc_ratio=4.427086760474383e-05): #gc_ratio from 2.0_compute_maintenance
"""
This function constrains the maintenance reactions in the model
relative to the input of photons into the model.
Expand Down
64 changes: 56 additions & 8 deletions models/4_stage_GC.json
Original file line number Diff line number Diff line change
Expand Up @@ -106604,7 +106604,7 @@
"Heteroglycans_c_me_1":1.0,
"MALTOSE_c_me_1":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106626,7 +106626,7 @@
"Heteroglycans_c_me_2":1.0,
"MALTOSE_c_me_2":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106648,7 +106648,7 @@
"Heteroglycans_c_me_3":1.0,
"MALTOSE_c_me_3":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106670,7 +106670,7 @@
"Heteroglycans_c_me_4":1.0,
"MALTOSE_c_me_4":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106692,7 +106692,7 @@
"Heteroglycans_c_gc_1":1.0,
"MALTOSE_c_gc_1":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106714,7 +106714,7 @@
"Heteroglycans_c_gc_2":1.0,
"MALTOSE_c_gc_2":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106736,7 +106736,7 @@
"Heteroglycans_c_gc_3":1.0,
"MALTOSE_c_gc_3":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand All @@ -106758,7 +106758,7 @@
"Heteroglycans_c_gc_4":1.0,
"MALTOSE_c_gc_4":-1.0
},
"lower_bound":-1000.0,
"lower_bound":0,
"upper_bound":1000.0,
"gene_reaction_rule":"",
"subsystem":"NA",
Expand Down Expand Up @@ -237645,6 +237645,54 @@
"gene_reaction_rule":""
},
{
"id":"MALTOSE_c_gc_Linker_1",
"name":"MALTOSE_c_gc_Linker_1",
"metabolites":{
"MALTOSE_c_gc_1":-0.16666666666666666,
"MALTOSE_c_gc_2":2.0,
"pseudoOs_c_gc_1":1
},
"lower_bound":0.0,
"upper_bound":1000.0,
"gene_reaction_rule":""
},
{
"id":"MALTOSE_c_gc_Linker_2",
"name":"MALTOSE_c_gc_Linker_2",
"metabolites":{
"MALTOSE_c_gc_2":-2.0,
"MALTOSE_c_gc_3":0.08695652173913043,
"pseudoOs_c_gc_2":1
},
"lower_bound":0.0,
"upper_bound":1000.0,
"gene_reaction_rule":""
},
{
"id":"MALTOSE_c_gc_Linker_3",
"name":"MALTOSE_c_gc_Linker_3",
"metabolites":{
"MALTOSE_c_gc_3":-0.08695652173913043,
"MALTOSE_c_gc_4":0.16666666666666666,
"pseudoOs_c_gc_3":1
},
"lower_bound":0.0,
"upper_bound":1000.0,
"gene_reaction_rule":""
},
{
"id":"MALTOSE_c_gc_Linker_4",
"name":"MALTOSE_c_gc_Linker_4",
"metabolites":{
"MALTOSE_c_gc_1":0.16666666666666666,
"MALTOSE_c_gc_4":-0.16666666666666666,
"pseudoOs_c_gc_4":1
},
"lower_bound":0.0,
"upper_bound":1000.0,
"gene_reaction_rule":""
},
{
"id":"pseudoOs_constraint_a_1",
"name":"pseudoOs_constraint_a_1",
"metabolites":{
Expand Down
Loading

0 comments on commit d09c365

Please sign in to comment.