Closed franciscozorrilla closed 3 years ago
Hi Francisco,
It is possible that the milk formulation used for model reconstruction and then later for simulations was not exactly the same. I changed the formulation a few times after several discussions with Sonja and Ahmad about what should be present in milk.
Here are two other formulations that you might want to try: milk v1 milk v2.
By the way, the way you are creating the environment, it will only update the exchange reactions associated with the compounds, and leave all other exchanges in the model as they are. If you want to make sure that the model uses exactly what is in the medium you can use one of these two options:
Environment.empty(model, inplace=True) # reset all exchanges to zero
env = Environment.from_compounds(cpds)
sol = FBA(model, constraints=env)
or
env = Environment.from_compounds(cpds)
env.apply(model, exclusive=True) ## exclusive will block anything not specified in the medium
sol = FBA(model)
Also, I am not really sure why you are reading the model with reframed and using cobrapy to catch exceptions 😅
Thanks Daniel! I will use those methods for ensuring that models only uptake what is present in the simulation media.
However, assuming that all models were initialized with a given simulation media within the CarveMe call, then I shouldn't need to worry about exchange reactions for metabolites not in the simulation media in my script simulations, correct?
Ah yes, that must be some vestigial code from when I switched from cobrapy to reframed 🧐
Yes, in fact you can do the following to check which compounds are in the medium used to initialise the models: Environment.from_model(model).get_compounds()
Hi Daniel,
Could you provide further details regarding how the models were reconstructed? In particular, were the models gap-filled on this milk media?
I am specifically simulating the 4 L. lactis models with the script below.
First I simulated each model using the milk media metabolites as the environment. However, I noticed that some exchange reactions are unconstrained for metabolites not present in the milk media file. I manually set the bounds for these reactions to 0 for the second simulation. However, I find that only 1/4 models are able to grow after manually constraining exchange reactions of metabolites not present in the milk media.
Best wishes, Francisco