CellML.org - Meeting Minutes 29 January 2001
April 2001 March 2001 29 March 2001 28 March 2001 27 March 2001 26 March 2001 21 March 2001 20 March 2001 15 March 2001 14 March 2001 13 March 2001 January 2001 29 January 2001 23 January 2001 22 January 2001 20 January 2001 19 January 2001 18 January 2001 15 January 2001 10 January 2001 |
Author: 1 IntroductionThis document provides a summary of the discussion between representatives of the SBML development team (Hamid Bolouri, Andrew Finney, and Herbert Sauro) and the CellML development team (Warren Hedley and Melanie Nelson) that took place at the SBML team's Caltech headquarters on January 29 2001. Andrew Finney had thoughtfully prepared an agenda for the day's discussion, which was pretty much ignored by all present. However the focus did meander through the topics on that agenda, which included:
This document has a section for each of the points above, as well as a summary of some current and future SBML features not currently supported in CellML, and a proposed passage of text for the website discussing the relationship between the two languages. 2 Changes To CellMLThe first item on the agenda was a summary of recent changes to CellML from Warren. Being incredibly thoughtful (not to mention sensitive), Warren had brought several copies of the parts of the CellML specification pertaining to units, reactions and metadata for review by the SBML team. Units and reactions were discussed in detail, but metadata was left for another day — let's face it, no-one but database geeks care about metadata anyway. 2.1 The Units SpecificationOne of Herbert's initial comments on the units specification was quite surprising: "Why not use MathML to define the relationship between new units and a set of pre-defined units?" This hadn't really occurred to the Auckland team, as it had seemed most important to maintain compatibility with SBML in this area. However it was agreed that, given the equations in Section 2.3 of the units specification, the relationship between complex and simple units could be defined unambiguously. Using MathML would allow completely general and arbitrary combinations of units including offsets specified in either the simple or complex units, but this approach would make consistency checking, and the transformation to simpler languages a nightmare.
The main differences between CellML and SBML in the area of units definition are the addition of the
Andrew wasn't too worried about this however because he had assumed that software would barf if two variables with different units were equated (i.e., he wouldn't have to worry about converting 2.2 The Reactions SpecificationThe information described by the CellML syntax presented in the reactions part of the CellML specification roughly corresponds to the information that can be defined using SBML's syntax. The SBML team had no real problems with the CellML approach to modelling and the notation other than that its complexity was overwhelming. It is likely that a good guide needs to be written that gently introduces the CellML approach to reaction modelling before getting into syntax specifics. The single biggest difference between SBML and CellML is the specification of kinetic rate laws. SBML defines reaction rate using Infix notation placed inside an attribute, or with references to a common library of rate functions. CellML defines reaction rate equations using a complete MathML definition. Overall, CellML's syntax is more general and flexible, giving the modeller much more powerful functionality. However, the functionality presented in the examples part of the reaction specification is equivalent to that provided by SBML. The areas in which CellML provides more functionality than SBML include the ability of CellML to:
3 Presenting PhysiomeOne of the topics for discussion requested by the SBML team some time before the meeting was a talk from Melanie about Physiome's activities, and in particular, their plans for reaction/pathway modelling software. Melanie had some slides prepared by Adam Muzikant at Physiome Sciences and answered questions from the SBML team members. Perhaps the most surprising thing to come out out of this discussion was the discovery that the SBML team had not considered Physiome to be taking CellML very seriously. They in turn were surprised to find out that CellML was important to Physiome. This indicates that Physiome needs to emphasise more the role of CellML as an exchange format in its presentations, and not just mention it in passing. As previously mentioned, the main obstacle to the adoption of CellML is the difficulty of reading in MathML. It was suggested that Physiome make software available that could convert MathML to other formats — the preferred format would be Infix mathematics as far as the SBML team is concerned. This would make it possible for software that reads SBML to read CellML without too much trouble. Warren suggested providing a library that converted MathML into some standard tree form, where the API used to traverse this tree would have as much in common as possible as that used to traverse an Infix tree (obviously MathML's extra functionality would need to be handled specially). The SBML guys were particularly keen on seeing open source code but not overly optimistic. To continue co-operation between the SBML team and the CellML team, it was suggested that the SBML folks visit Physiome, perhaps in conjunction with a SBML workshop in Washington in May. The SBML team should be given an opportunity to see Physiome's pathway editor — they were quite interested in how the graphical representation of pathway models would be handled, as this is an area where there is very little standardisation. They are also interested in seeing if there would be any way to make functionality of Physiome software available to other packages using the Systems Biology Workbench. This would involve making an API or external interface for some components of Physiome's software publicly available. Another way to ensure that the SBML team can continually have an overview of and input into the CellML project is to invite the project co-ordinator Hamid Bolouri to have a seat on the CellML Advisory Board. It is important that both development teams have as much information available to them about the other project as possible, so that they can give correct information when asked about how the projects relate and interact. 4 Translation Between CellML and SBML
Most of the afternoon was spent considering how a simple CellML model (the two reaction model from the CellML website) could be translated into SBML. It was clear that some information about a reaction would be lost in the translation, as SBML does not capture explicitly assign role or direction information for species. It was suggested by Warren that such a translation would involve looking for components containing The translation from SBML to CellML appears relatively straightforward, and Warren volunteered to demonstrate that this could be done with an XSLT transformation. XSLT would probably not be a suitable tool for the parsing of Infix mathematics so that would have to be left to an external Java class. As increased complexity is added to each of the languages, it is anticipated that translation between the two formats would still be possible, because any model could be "flattened" into the basic language syntax (probably at the expense of some verbosity) which could then be translated. Flattening might involve, for instance, creating complete instances of any components that are re-used in a CellML document, or a complete specification of all of the compartments and reactions in an SBML array. 5 Unresolved SBML
| ||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||