Upload
jaida-moorhouse
View
233
Download
0
Tags:
Embed Size (px)
Citation preview
[email protected] California Institute of Technology
SBML: Systems Biology Markup Language
Michael Hucka, Andrew FinneyHerbert Sauro, Hamid Bolouri
Principal Investigators: John Doyle, Hiroaki Kitano
JST/ERATO Kitano Systems Biology ProjectCalifornia Institute of Technology
Pasadena, California, USA
http://www.cds.caltech.edu/erato
[email protected] California Institute of Technology
Background and Motivation• Problem:
– Many software tools, few common exchange formats• Difficult to exchange models between different
analysis & simulation tools• Difficult to take advantage of different tools
• A Solution (In Principle):– Define a common exchange language
• Use a simple, well-supported, textual substrate (XML)• Add components that reflect the natural conceptual
constructs used by modelers in the domain– We propose SBML: Systems Biology Markup Language
[email protected] California Institute of Technology
Scope of SBML• Domain: biochemical network models
S1 S2 S3X0 X1
K1*X0 - S1*K2
S3/Ki
Vmax*S1
Km+S1
k3*S2
k4*S2 - k5*S3 k6*S3
k7*S3*S12
X2
[email protected] California Institute of Technology
Aspects of SBML• SBML is being defined incrementally
– SBML Level 1 covers non-spatial biochemical models• Intentionally kept simple for maximal compatibility
– SBML Level 2 will extend Level 1 with more facilities• But after we gain experience with SBML Level 1!
• Defined in abstract form (UML) + textual descriptions– Used to define XML encoding + XML Schema– But definition itself is independent of XML
• XML Schema empowers intelligent, extensible tools– Data verification, dynamic user interfaces
• Users do not write in XML — software tools do!
[email protected] California Institute of Technology
• A model is described using a list of components:
– Beginning of model definition»List of unit definitions (optional)»List of compartments»List of species»List of parameters (optional)»List of rules (optional)»List of reactions
– End of model definition
• Each component has a specific structure
Structure of Model Definitions in SBML
[email protected] California Institute of Technology
Preliminary Definitions• Most elements inherit from a base type: SBase– Provides for annotations & notes on components
• Type for names: SName– Letters, digits, underscores: “K1”,
“CamKII_P286”
• Formulas are expressed in text string form– “k4 * S5/(1 + k2)”, “hilli(S1, V, S5, h)”– Not MathML
[email protected] California Institute of Technology
“Compartment”= Bounded container in which species are
located• Fields:
– name : SName– volume: floating-point number (optional, default = 1)– units: SName (optional)– outside: SName (optional)
• Example:<model name=“MyExample”>
…<listOfCompartments>
<compartment name=“A” volume=“3.5”/><compartment name=“M” outside=“A”/><compartment name=“B” outside=“M”/>
</listOfCompartments>…
</model>
[email protected] California Institute of Technology
“Specie”= Entity (ion, molecule, etc.) that takes part in
reactions• Fields:
– name: SName– compartment: SName– initialAmount: floating-point number– units: SName (optional)– boundaryCondition: boolean (default=“false”)– charge: integer (optional, no default)
• E.g.:<model name=“MyExample”>
…<listOfSpecies>
<specie name=“Glucose” compartment=“c1” initialAmount=“4”/>
<specie name=“Glucose_6_p” compartment=“c1”
initialAmount=“0.75”/></listOfSpecies>…
</model>
[email protected] California Institute of Technology
“Reaction”• Fields:
– name: SName– reactants: SpecieReference [1..*]– products: SpecieReference [1..*]– kineticLaw: KineticLaw (optional)– reversible: boolean (optional, default = “true”)– fast: boolean (optional, default = “false”)
• SpecieReference:– specie: SName– stoichiometry: integer (optional, default = “1”)– denominator: integer (optional, default = “1”)
• KineticLaw:– formula: text string– parameters: Parameter (optional, [0..*])– timeUnits, substanceUnits: SName (optional)
[email protected] California Institute of Technology
“Reaction” Example
<model> …
<listOfReactions><reaction name=“J1”>
<listOfReactants> <specieReference specie=“X0”/></listOfReactants><listOfProducts> <specieReference specie=“S1”/></listOfProducts><kineticLaw formula=“k1*X0”> <listOfParameters> <parameter name=“k1” value=“3”/> </listOfParameters></kineticLaw>
</reaction></listOfReactions>
… </model>
X0 S1
k1*X0
[email protected] California Institute of Technology
“Parameter” and “Rule”• Parameter: (either in global list or reaction
def.)– name: SName– value: floating-point number– units: SName (optional)
• Rule: additional constraints outside reaction def.– Possibilities:
• Algebraic rule• Species concentration (scalar or rate of change)• Compartment volume (scalar or rate of change)• Parameter (set value)
<listOfRules><specieConcentrationRule specie=“S2
formula=“k*t”/><compartmentVolumeRule compartment=“A”
type=“rate” formula=“0.10*t”/></listOfRules>
[email protected] California Institute of Technology
“UnitDefinition”• Allows (a) redefining default units on
quantities and (b) defining and naming new unit combinations– Predefined units are SI + 4 additions (liter, gram,
dimensionless, item)– Combinations are
[10scale * unitexponent] [10scale * unitexponent] …
<model> … <listOfUnitDefinitions> <unitDefinition name=“mls”> <unit kind=“liter” scale=“-3”/> <unit kind=“second” exponent=“-1”/> </unitDefinition> </listOfUnitDefinitions> …</model>
[email protected] California Institute of Technology
Example in SBML<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>
<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>
<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”
boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”
boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”
boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>
[email protected] California Institute of Technology
Example in SBML<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>
<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>
<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”
boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”
boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”
boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>
[email protected] California Institute of Technology
Example in SBML<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>
<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>
<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”
boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”
boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”
boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>
[email protected] California Institute of Technology
Example in SBML<?xml version=“1.0” encoding=“UTF-8”?><sbml level=“1” version=“1”> <model name=“simple”>
<listOfCompartments> <compartment name=“c1” /> </listOfCompartments>
<listOfSpecies> <specie name=“X0” compartment=“c1” boundaryCondition=“true” initialAmount=“1”/> <specie name=“S1” compartment=“c1”
boundaryCondition=“false” initialAmount=“0”/> <specie name=“X1” compartment=“c1”
boundaryCondition=“true” initialAmount=“0”/> <specie name=“X2” compartment=“c1”
boundaryCondition=“true” initialAmount=“0.23”/> </listOfSpecies>
[email protected] California Institute of Technology
Example in SBML<listOfReactions>
<reaction name=“reaction_1” reversible=“false”> <listOfReactants> <specieReference specie=“X0” stoichiometry=“1”/> </listOfReactants> <listOfProducts> <specieReference specie=“X0” stoichiometry=“1”/> </listOfProducs> <kineticLaw formula=“k1 * X0”> <listOfParameters> <parameter name=“k1” value=“0”/> </listOfParameters> </kineticLaw> </reaction>
<reaction name=“reaction_2” reversible=“false”> <listOfReactants> <specieReference specie=“S1” stoichiometry=“1”/> </listOfReactants> . . .
[email protected] California Institute of Technology
Example in SBML </listOfReactions> </model></sbml>
[email protected] California Institute of Technology
Brief History of SBML Level 1• Apr. 2000: Proposed during 1st Workshop on
Software Platforms for Molecular Biology (Caltech)
• May 2000: started with review of existing simulators
• Aug. 2000: First draft proposal issued• Sep. 2000: Second draft proposal issued• Nov. 2000: Further discussions over mailing list
& during 2nd Workshop on Software Platforms (Tokyo)
• Dec. 2000: Revised version for final comments issued
• Mar. 2001: Final SBML Level 1 issued
[email protected] California Institute of Technology
Acknowlegments• Level 1 developed with help from several
groups:BioSpice E-Cell StochSimCellML Gepasi Virtual CellDBSolve Jarnac
• Discussions with many people:Dennis Bray, Athel Cornish-Bowden, David Fell, Carl Firth, Warren Hedley, Martin Ginkel, Igor Goryanin, Jay Kaserger, Andreas Kremling, Nicolas Le Novere, Les Loew, Daniel Lucio, Pedro Mendes, Eric Mjolsness, Melanie Nelson, James Schaff, Bruce Shapiro, Tom Shimizu, Hugh Spence, Joerg Stelling, Kouichi Takahashi, Masaru Tomita, John Wagner
• Funding: Japan Science and Technology Corporation
[email protected] California Institute of Technology
• We have finalized SBML Level 1– Publicly available — anyone may use it– We may issue version updates to correct problems
• But future work will be on SBML Level 2
• SBML Level 1 is being used as the common exchange format in the Systems Biology Workbench project
The Status of SBML
Level 2
Level 3?
Level 1
[email protected] California Institute of Technology
The Future of SBML• Features anticipated in Level 2:
– Composition of models– Arrays of components– Connections– Geometry– Database support– Diagram support
• SBML Level 2 is in development; expect proposal within the year
• We want your help and input — please contact us and join the “sysbio” mailing list
[email protected] California Institute of Technology
Relationships to CellMLTM
• SBML developed independently– Coming from a biochemistry direction– Oriented towards biochemical network models
• Goals:– Exchange models between simulation/analysis
software– Simplicity, functionality– Conceptualization is oriented towards biochemical
network models
• We are engaged in dialogue with CellML group– Bidirectional exchange of ideas– Both groups desire to maintain translatability
[email protected] California Institute of Technology
Availability• Visit our web site for the SBML Level 1
spec:http://www.cds.caltech.edu/erato
• See our posters!• Ask to see our demo of the Systems
Biology Workbench!• Talk to us!