micom-dev / micom

Python package to study microbial communities using metabolic modeling.
https://micom-dev.github.io/micom
Apache License 2.0
89 stars 18 forks source link

Optimize community growth to match known relative abundance #3

Closed krcurtis closed 5 years ago

krcurtis commented 5 years ago

I'm new to MICOM and COBRA, and I'd like to use MICOM to predict the metabolites similar to MAMBO and the Garza et al. 2018 paper's approach which, as I understand it, is to maximize the correlation of microbial growth with the known relative abundances. Is this possible with MICOM?

I'd guess this would involve changing the community objective function somehow, or are alternate objective functions already supported?

Thanks!

cdiener commented 5 years ago

That is a very good question. The TLDR is "it's complicated". The only objective functions you can evaluate at this scale (and that are currently supported out of the box) are quadratic or linear and correlation itself is non-linear due to the division in the expression. Covariance itself would be a quadratic function but is unbounded and therefore not be optimized this way. So you would have to fall back to the strategy used in the Garza paper and use some non-linear optimization strategy. For instance you could use some simulated annealing. However, for the full community models with more than 1e5 reactions this is pretty much impossible to do in scalable and numerically stable way. I tried to initially provide some pseudo-quadratic formulation that way and is super slow and instable. You might be able to do it with very small communities (a few taxa) or reduced models if you have access to that.

I would also point out the biological concerns with that approach. There is no evidence that abundance and growth rate in the microbiome are correlated. Even in the Garza paper they do not provide a single reference for that assumption and the few studies that have studied both of those quantities (for example https://doi.org/10.1126/science.aac4812) do not support that assumption too much. One argument I have heard is that very low abundance taxa usually have it easy to obtain all substrates to optimize growth (since they need very little total abundance of substrate). In order to have low growth they would need to be consistently outperformed by another taxa and that usually leads to extinction rather than a low abundance. This, together with the better scaling, is why we use the heuristic in micom and we are working on validating it with real growth data at the moment. Also the results we report in the micom preprint seem to indicate that most taxa have a unique growth niche.

However, if you have evidence of that correlation in vivo or vitro that will be a very good strategy and I would love to see that data eventually :smile:

krcurtis commented 5 years ago

Thanks for the Korem et al. paper link! I will go back to the MICOM paper and read about the heuristic. I don't have evidence of that correlation either. Although, it did seem reasonable after reading

because of the dilution assumption and steady state assumption (for the gut microbiome).

cdiener commented 5 years ago

I agree that it seems intuitive. But given a particular abundance any growth rate can be valid as long as it is balanced with dilution (I think I stated that in the logic section as well).

And maybe to sell you on the heuristic, it does actually result in some correlation between growth rates and abundances by itself:

image

However, that is only on a log-scale and there is still a lot of noise around that. We are currently trying to validate the method with the Korem method so hopefully that will get us some better idea where the heuristic works and where it fails.

krcurtis commented 5 years ago

We'd be interested in using your implementation for the Korem method, and I've emailed @oresendis about that too (just in case that gets lost in the spam filters).

cdiener commented 5 years ago

We are working on that but it may take 1 or 2 months more until I have that working with micom.