nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
115 stars 38 forks source link

"Flattening" of hierarchical systems biology models in JSBML #8

Closed niko-rodrigue closed 6 years ago

niko-rodrigue commented 8 years ago

Background

SBML is one of the most widely used modeling formats in systems biology. With the release of SBML Level 3, the syntax and semantics of plain SBML be extended by SBML packages. The Hierarchical Model Composition ("comp" for short) package defines how models in SBML can be composed of multiple individual submodels. These submodels can be stored in the same file, or be distributed as separate files in a file system, or even referenced over a network using resource identifiers. While this format adds a large number of benefits and freedom for the model creator, it also significantly increases the complexity of the SBML documents. In addition, most software tools today do not (yet) implement direct support for hierarchical models, although they can usually deal with models that have been "flattened" to an equivalent non-hierarchical version. The specification of the SBML comp package describes how such a flattening algorithm works.

Goal

The aim of this project is to implement the flattening algorithm in JSBML. This will allow JSBML to take a hierarchically-composed SBML file and generate an equivalent nonhierarchical version that does not use the comp package (meaning it uses only SBML Level 3 "core" constructs). This will enable a much larger number of software systems to work with SBML "comp" models.

A flattening algorithm has already been defined, and has also been implemented in the C++-based library libSBML. The latter may help in developing an equivalent implementation in JSBML.

An additional goal of this project is the implementation of basic validation rules for the SBML comp package.

Potential mentors

Nicolas Rodriguez, Lucian Smith, Chris Myers, Leandro Watanabe

Contact

JSBML developers mailing list, available online at https://groups.google.com/d/forum/jsbml-development.

Useful pointers to documentation related to GSOC for student on the main NRNB web site :

matthiaskoenig commented 8 years ago

Hi all, Was there anything implemented for this? Is somebody working on this ?

I would like to use this functionality The best Matthias

niko-rodrigue commented 6 years ago

We have a student working on it at the moment.