PySCeS / pysces

The official PySCeS project source code repository.
https://pysces.github.io
Other
34 stars 10 forks source link

Some species are not recorded for MASS models #56

Closed jonrkarr closed 3 years ago

jonrkarr commented 3 years ago

I suspect this is related to SBML processing.

PySCeS appears to be able to execute MASS models. Here's an example: WholeCellRBC_MA_Rates.txt.

All reaction fluxes and most species concentrations are recorded. Here are some examples of species that are recorded:

However, some species are not recorded. Here are some examples:

While MASS models use a specific SBML schema involving the fbc and groups packages, dynamical simulations of the models don't need the information encoded with those packages; that information is used for model construction. For example, COPASI and tellurium can both execute the attached model and record all species and reactions.

Its unclear to me why some species aren't recorded, except that it probably relates to the handling of the SBML.

bgoli commented 3 years ago

M_coa_cm, M_h2o2_e and I assume the others, are all boundary species (boundaryCondition=True, constant=True) so PySCeS would consider them a fixed species (parameter) and you would need to add them separately to a plot. See the FIX keyword on line 16 of the attached file: WholeCellRBC_MA_Rates.xml.psc.txt

jonrkarr commented 3 years ago

To clarify, will PySCeS report the dynamics of all species except those with @constant=True?

On a related note, is there a way to record the values of non-constant parameters, reaction fluxes, and compartment sizes? Is the way to do this to use assignment rules to assign their values to species?

We're working with BioModels to add "Simulate with COPASI", "Simulate with PySCeS", etc. buttons to each applicable model in BioModels. One issue we're still working on is getting each tool to produce results for each possible observable.

bgoli commented 3 years ago

I'll continue in the #57 but for completeness. PySCeS defines a metabolite, or species, as a system variable that is described by ODE's defined in the kinetic model ds/dt = Nv. In SBML this is a "species" where boundaryCondition=False an SBML species that has boundaryCondition=True in PySCeS is a fixed species or parameter.

So PySCeS will report as a species/metabolite all SBML species with boundaryCondition=False as the output of a simulation, steady-state, etc. Thanks for the explanation I will continue to address your question in response to #57.