opencobra / cobrapy

COBRApy is a package for constraint-based modeling of metabolic networks.
http://opencobra.github.io/cobrapy/
GNU General Public License v2.0
460 stars 216 forks source link

biomass from experimental data #563

Closed jclachance closed 7 years ago

jclachance commented 7 years ago

This is rather an idea for new package that depends on CobraPy. I have written a small package to convert relative abundance of macromolecules obtained from different sets of OMIC data into stoichiometric coefficients for the biomass composition.

Please explain: Trying to generate biomass stoichiometric coefficients from OMICs datasets (genomic,transcriptomic, proteomic, lipidomic,metabolomic), I have written the package and it is functional do you think it would be worth adding it to the Cobra toolbox, and do you know of any packages that performs a similar task?

This request may be migrated elsewhere, namely in the Projects/idea for new package.

cdiener commented 7 years ago

I am not aware of a comparable package and it definitely sounds useful. We do not impose any special requirements for package extending cobrapy. So you can maintain within your own Github account :smile:

To aid visibility we give all packages and publications using cobrapy a space on our webpage. If you want to make use of that you can simply put a request as an issue to the website repository and we will add it. For that it is recommendable your repository has a license.

zakandrewking commented 7 years ago

Hi @cdiener: Are there guidelines on what kinds of features would be appropriate to include in COBRApy itself? I work with @jclachance, and his biomass composition seems like it could be a good addition for all COBRA users. It's a pretty straightforward tool - all native Python.

Midnighter commented 7 years ago

We don't really have clear guidelines but @hredestig (who's on vacation this week) and I have been talking about advocating for a clear focus of each package in the cobrapy landscape. The community of packages around cobrapy could then be more clearly communicated and individual capabilities highlighted. We would definitely favour many packages of smaller scope that are more easily groked and more easily maintained by individual members rather than few super packages that also contain significant overlap in their capabilities.

IMHO the current scope of cobrapy is to provide the core classes, manipulation functions, reading and writing, as well as the flux analysis tools. This could already be split up into two: one providing the classes and IO and the other providing the flux analysis. To that we would like to add a package that can plot analysis results in a meaningful way and maybe a package covering the topological aspects of metabolic models.

Of course, there are already a number of packages that have a very clear focus. We encourage that and would like to go further in that direction.

Sorry for derailing your issue so quickly @jclachance. To the question at hand:

do you think it would be worth adding it to the Cobra toolbox

Absolutely, we don't really have any standards for what packages can become part of the community other than that they should be installable from PyPi. Just spend a little time thinking about the purpose and scope of the package, please. Is it to analyze omics data from a metabolic perspective? Is it to integrate omics data with metabolic models? Is it to facilitate reconstructions using omics data? Or is it only to estimate biomass composition (which could then be depended on by a full reconstruction package)?

Just some food for thought :smile: Overall our strategy is that any incremental improvement no matter how small is better than not having anything. So just go ahead with the steps that @cdiener described.

do you know of any packages that performs a similar task?

I don't but I'm also not really involved in reconstruction.

cdiener commented 7 years ago

@zakandrewking @jclachance Ah sorry, I think I misinterpreted the question. So you are asking whether the package could be integrated into cobrapy itself, correct? I think @Midnighter covered it pretty well. There is still no clear definition of what should be included and what not. It is decided on a per-case basis where the final decision lies with the maintainers (@phantomas1234 and @hredestig AFAIK).

We had some discussion before on the Trello board and as you can see from the cards in "other packages" for most of the topics we decided to create own packages. Maybe the closest discussion we had was regarding reconstruction algorithms which were agreed to be its own packages since there is a variety of philosophies and strategies there and many also need to solve the problem of dealing with genomic data which has its own caveats (for instance mapping IDs to model entities which is :imp: ).

zakandrewking commented 7 years ago

Thanks for all the detail. Makes sense to me. I'll chat with @jclachance about scoping the project out. This issue can probably be closed now.

cdiener commented 7 years ago

Thanks to you both! :smile: