[email protected] institute of technology sbml: systems biology markup language...

25
[email protected] California Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri Principal Investigators: John Doyle, Hiroaki Kitano JST/ERATO Kitano Systems Biology Project California Institute of Technology Pasadena, California, USA http://www.cds.caltech.edu/erato

Upload: jaida-moorhouse

Post on 14-Dec-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 2: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 3: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 4: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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!

Page 5: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 6: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 7: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 8: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 9: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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)

Page 10: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 11: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 12: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 13: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[email protected] California Institute of Technology

Example

S1

X2

X1

k1*X0

k2*S1

k3*S1

X0

Page 14: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 15: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 16: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 17: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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>

Page 18: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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> . . .

Page 19: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[email protected] California Institute of Technology

Example in SBML </listOfReactions> </model></sbml>

Page 20: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 21: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 22: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 23: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 24: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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

Page 25: Sysbio-team@caltech.eduCalifornia Institute of Technology SBML: Systems Biology Markup Language Michael Hucka, Andrew Finney Herbert Sauro, Hamid Bolouri

[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!