* mvacher <email@example.com> [2011-05-02 07:05] writes:
> Hi All,
> First of all, thank you for the effort put into the development of SBML.
> I am new to the field and although I have been reading/learning a lot lately, I apologize if my question is trivial.
> As part of a project, I 'd like to build genome-scale model.
> At the moment, using the SBML api, I wrote a perl script that extracts data (metabolites, reactions, etc...) from a local mysql database to produce a SBML file. (I also tried SBML-shorthand and QT Antimony, but they were not as flexible as an in-house script in that case).
> This works very well, the resulting file is a proper xml that can be imported in tools that support the SBML format whithout any problem.
> -> The model I work on is quite large and I found pretty hard to analyze/visualize/modify. I was wondering if there was a way to break-up a model into small pieces :
> - Reactions can be localized into compartments, which is great, but is it possible to group a set of reactions together (for example, reactions that belongs to a same pathway) to simplify a model ?
> That would be very helpful to work on a piece of a model independently to identify potential problems or refine a pathway. It could also be used to improve the graphical representation of models (like the 'nested graph' in cytoscape for example).
> I found some slides by L. Smith about 'sub-models' here : http://sbml.org/images/6/69/Smith_combine_HierarchicalModelComp_2010-10-09.pdf but I didn't find any example.
> There is also a presentation here : http://sbml.org/images/6/64/20041015-raman-merging.pdf but I 'm not sure this has been implemented yet.
As you found, it sounds like the hierarchical composition package is
indeed what you want, which suffers from the very minor drawback of not
yet existing. But it's getting closer! At the latest meeting in New
York, we managed to achieve consensus on the remaining unresolved
questions, and I've now incorporated those changes into the existing
Any comments you have on the proposal would be welcomed!
I'm now working on getting these changes into libSBML, and from there, to
tools that use hierarchy.
Which brings me to a stop-gap solution: my own 'Antimony' tool, at
can be used at least to prototype your modular solution. As an example,
if you wanted to lump a reaction pathway in a submodule, you could do
model onepath(A, E)
A -> B;
B + P -> C;
C -> D;
D -> E + P;
M1: onepath(A, E);
i1 -> A;
i2 -> A;
E -> o1;
E -> o2;
Today, this would be output as 'flattened' SBML with all the reactions in
one big model. But once I get the libSBML API up and running, the next
step is to get Antimony to output hierarchical SBML instead. And of
course, once there's a libSBML API, you would be able to create
hierarchical models yourself, as well, and could 'visualize' (in text)
these models in Antimony. I believe Chris Meyers is also planning to
implement hierarchy in his iBioSim--again, pending the 'comp' libSBML API.
To manage your sbml-discuss list subscription, visit
For a web interface to the sbml-discuss mailing list, visit
For questions or feedback about the sbml-discuss list,