SED-ML / sed-ml

Simulation Experiment Description Markup Language (SED-ML)
http://sed-ml.org
5 stars 2 forks source link

FBC models in SED-ML #55

Closed matthiaskoenig closed 3 years ago

matthiaskoenig commented 7 years ago

Issue

SED-ML can currently not perform typical fbc simulations. These would include things like

Typical simulation experiments are things like

It would be necessary to discuss how to best handle this.

Examples

Proposals

fbergmann commented 7 years ago

I have been solving FBA with SEDML easily before using the SBML fbc package:

we have a kisao term to distinguish fba from a regular steady state analysis. To retrieve the objective value I used an xpath to the activeObjective.

worked fine for me. deletions and the like could be done by setting the flux bounds of the objects to be deleted to 0. fva .. I don't have a nice example for, rather the explicit tedious thing of fixing one result and minimizing / maximizing the rest.

matthiaskoenig commented 7 years ago

If you have a CombineArchive with some FBA simulations it would be great to have a look at it and try to reproduce the results.

jonrkarr commented 3 years ago

I agree with both of you --that SED-ML can largely capture FBA simulations, but that there's at least one aspect of FBA simulations which isn't covered well by SED-ML, that multiple predictions can be generated for each model element.

Examples

Potential solutions

Summary

I think implicit targets is the way to go. In my mind, this is fairly similar to URNs for implicit symbols.

Coordinating consistency across the community

For consistency across the community and portability of SED-ML documents between tools, developers need to be able to find patterns for implicit targets that other tools use for the same or similar algorithms. Same for investigators. Basically, there's need to be a forum where these targets can be advertised and discovered.

With BioSimulators, we've created a place for developers to advertise the targets that each of their algorithms supports and for investigators to find these patterns. As we've protoyped containers for multiple tools, we've made sure that the containers we've developed consistently use the same implicit targets for the same predictions.

luciansmith commented 3 years ago

I'm putting an L2 label on this so we make sure we cover the not-covered bits in that version.

jonrkarr commented 3 years ago

I think this is actually fairly well covered by SteadyState. KiSAO terms already exist. The new combination of targets and symbols addresses the output issue. This is working interchangeably with COBRApy and CBMPy.

I think the only thing needed is examples in the documentation. I could share one. I don't think the specifications need tons of examples. The specifications can point to examples on the SED-ML website.

luciansmith commented 3 years ago

Is 'fairly well' enough to close the issue? Or is there enough left over that we need to remember it for L2?

jonrkarr commented 3 years ago

I think this can be closed. I think most of Matthias requests can be achieved with one exception, that there isn't a way to easily conduct a knockout study where an iteration is used to knockout one gene at a time. Another example that can't easily be done is an iteration over metabolites where simulations are run to predict the maximum production rate of each metabolite. This topic is discussed in #100.

luciansmith commented 3 years ago

Sounds good to me...