jseidel5 / Python-Probabilistic-Regulation-of-Metabolism

Python Implementation of PROM
0 stars 0 forks source link

PROM theoretical/technical issues #2

Open AgustinPardo opened 4 years ago

AgustinPardo commented 4 years ago

Hello,

I have some questions about the methodology of PROM that maybe you could help to understand and solve. I wrote to Sriram Chandrasekaran but he didn't answer these questions.

I run the PROM methodology as is publish in https://www.pnas.org/content/107/41/17845.abstract. I get the code from https://www.igb.illinois.edu/labs/price/downloads/.

I also read some supplementary documentation (https://link.springer.com/protocol/10.1007/978-1-62703-299-5_6, https://link.springer.com/chapter/10.1007/978-94-017-9041-3_12) to get a better insight in the methodology. But I still have some theoretical/technical concerns that I hope you could help me to solve:

đŸš© 1) You calculate the probability (P) for the relationship of FT-target pair when they are ON/OFF:

Screenshot from 2020-09-07 11-58-54

Screenshot from 2020-09-07 11-58-40

So "P" (probability) is in constraints model formula as:

Screenshot from 2020-09-07 11-56-00

You can calculate all of these probabilities: P(A=1|B=1), P(A=1|B=0), P(A=0|B=1) or P(A=0|B=0) So, which is the probability "P" that you choose to put in the formula when you run PROM? Which of those probabilities make sense when you have a negative or positive regulation?

đŸš©2) Knocking each TF.

How is it done theoretically? Looking the formula:

Screenshot from 2020-09-07 11-56-00

I think that when you knock a TF you put a "P = 0". But, what happens if the regulation is negative or positive relation? How do you manage that kind of relationship? You also still have the alpha and beta components.

How do you handle TF knockout?

đŸš©3) Is there a way to have the results of the PROM without knocking any FT? As we talked before, you get a vector of the size of the TF as a result of PROM, so the non-knockout FT is not in those results.

đŸš©4) knocking genes of the model. Do you think it is possible to knock out genes (targets) using PROM? I think that I could do that just by removing genes/targets from the COBRA metabolic model before using PROM, but, do you think that is the correct way to knock out targets using PROM?

đŸš©5) Export the model with integrated regulation constraints (probabilities). Is there a way to export the COBRA model (in mat, json or sbml format) with the regulatory constraints that PROM uses. That is, create a structure of the model that contains the alpha, beta, kappa, and probabilities for each TF/target pair so you could run the model in the future without using the input data from microarrays, and the regulation network because it will be integrated into the model. Do you think it is possible?

Regards

jseidel5 commented 3 years ago

Hello,

sorry for the late reply.

  1. PROM can only predict the decrease in growth rate when you knockout an essential TF. It can't predict an increase in growth rate after the knockout of an inhibitory TF. So you only get results that either have the same growth rate as the optimal growth or you get a decrease in growth rate. The conditional probability that is used is P(Target = 1| Regulator = 0). This conditional probability is used for all knockouts.

  2. You take the expression data and binarize it. Then you use the binarized expression data to calculate the PROM conditional probability from 1. as follows:

    PROM conditional probability = n(Target = 1| Regulator = 0) / n(Regulator = 0)

n is the amount of times the respective event happened. THe unconstrained reaction flux is first constrained with Flux variability analysis and the resulting bounds are multiplied with the PROM probability to further constrain the reaction flux. alpha and beta are penalty variables. So the reaction flux can be higher or lower than the set flux boundaries, but if it does the penalty variables increase (beta > 0 if reaction flux increases beyond upper boundary; alpha > 0 if reaction flux decreases below lower boundary).

  1. The normal result without PROM is just the standard growth rate optimization done by Flux Balance Analysis.

  2. I don't really know what you mean by that, because PROM pretty much does knockout the target genes or at least reduces the flux of their corresponding reactions. When you knockout a regulator, PROM takes the target genes of the regulator and looks at their corresponding reactions and then uses the calculated PROM probability to constrain their reactions fluxes.

  3. I am not quite sure how you could do that, but i know you don't need the expression data set to repeat the results. The PROM conditional probabilities only need to be calculated once with the help of the expression data set. I guess you could add extra constraints to the model which contain the additional constraints imposed by PROM, but I'm not sure if that would work.

Hope I could help.

AgustinPardo commented 3 years ago

Thanks for the reply!

Another theoretical question.

I am using a model that is in m7H10 medium:

Using cobrapy function "model.medium" I get: {'EX_ca2': 1000.0, 'EX_cit': 1.0, 'EX_cl': 1000.0, 'EX_co2': 1000, 'EX_cu2': 1000.0, 'EX_fe2': 1000.0, 'EX_fe3': 1000.0, 'EX_glu_L': 1.0, 'EX_h2co3': 1000, 'EX_h': 1000, 'EX_k': 1000, 'EX_mg2': 1000.0, 'EX_na1': 1000, 'EX_nh4': 20, 'EX_o2': 20, 'EX_pi': 1000, 'EX_so4': 1000, 'EX_ac': 10, 'EX_pydxn': 1, 'EX_mobd': 1000, 'EX_btn': 1}

The bibliography m7H10 media composition is:

Composition (Ingredients (g/L)) Ammonium sulfate, 0.50 Monopotassium phosphate, 1.50 Disodium phosphate, 1.50 Sodium citrate, 0.40 Magnesium sulfate, 0.025 Zinc sulfate, 0.001 Copper sulfate, 0.001 L-Glutamic acid, 0.50 Ferric ammonium citrate, 0.04 Pyridoxine hydrochloride, 0.001 Biotin, 0.0005 Malachite green, 0.00025 Agar, 15.00

I don't understand how they made the conversion from g/L to mol/gcdw/h. Because one is a concetration and another is a flux rate.

Is there an standar on COBRA of which units use the inputs, that is "mol", "gCDW" ,"hour", "M", "molar concentration"?

I can't find any good explanation about the relationship between experimental values units and input values of the COBRA model. Does anyone know a good bibliography?

Regards