libAnnotationSBML Neil Swainston Manchester Centre for Integrative Systems Biology 29 March 2009
Introduction Library ( not a tool ) for  linking annotated SBML  models to  MIRIAM  and related  web services Writing and reading of annotations Java  –  could be extended
Purpose of annotations Provide  definitive ,  unique identifier  for “stuff” One motivation: mapping experimental data to models Need  annotated models  AND  annotated data
AnnotationWizard Shameless copy of Falko’s  semanticSBML See also  SAINT  (Allyson) Principle: Iterate through model Submit each species to an appropriate web service search facility ( ChEBI  or  UniProt ) Prompt user for confirmation Update model with annotation Has also been wrapped as a web service itself
Annotating models: yeast Genome-scale  SBML  model of yeast metabolism All 2153 molecules  have MIRIAM annotations
Project overview Enzyme kinetics Quantitative metabolomics Quantitative proteomics SBML Model Parameters (K M , K cat ) Variables (metabolite, protein concentrations) PRIDE MeMo SABIO-RK Web service Web service Web service MeMo-RK
KineticsWizard
Project overview Enzyme kinetics Quantitative metabolomics Quantitative proteomics SBML Model Parameters (K M , K cat ) Variables (metabolite, protein concentrations) PRIDE MeMo SABIO-RK Web service Web service Web service MeMo-RK
CellDesigner plugin
Purpose of annotations Provide definitive, unique identifier for “stuff” One motivation: mapping experimental data to models Need annotated models AND annotated data “ Tagging” More interesting purpose … Use the annotations to  reason  over the model
Purpose of annotations Easy question Is my model annotated? Simple answer: yes Can be answered solely by libSBML More interesting question Is my model annotated  well ? Do my reactions elementally balance? Simple answer may be yes or no, but harder to determine Can’t be determined solely by libSBML
Isn’t ChEBI grrrreat … <species id=”glc&quot; name=&quot;D-Glucose&quot;> <annotation> <rdf:li rdf:resource=&quot;urn:miriam:obo.chebi:CHEBI:17634&quot;/> </annotation> </species>
libAnnotationSBML: what it does Provides  unified interface  to following  web services : ChEBI KEGG UniProt SBO others… Wraps these calls so that it appears that you are accessing these locally
MIRIAM UniProt ChEBI KEGG libAnnotationSBML SBase  annotation OntologyTerm(s) Determine ontology Map to web service
OntologyTerm Model components can be parsed to return  OntologyTerm s OntologyTerms have the following interface: Development of tools to exploit annotations becomes greatly simplified: OntologyTerm[] ots = sbmlUtils.getOntologyTerms( sbase ); OntologyTerm ot = ots[0]; ot.getName(); ot.getSynonyms(); ot.getFormula();
Purpose of annotations: to allow automation of tedious jobs D-Glyceraldehyde + NAD+ <=> D-Glycerate + NADH + H+
Purpose of annotations: to allow automation of tedious jobs Suggest  corrections  to existing models Incorrect annotations Missing reactants / products Stoichiometry Better still:  intelligent generation of models ? AutoComplete?
Wish list Support more web services Write it in C++ WSDLs in MIRIAM??
Wish list BUT  dynamic linking  of models to databases is still a little way off Web services are  inconsistent getName()? getDescription()? getTitle()? Semantic web services  needed
Finally … Hopefully makes doing things with annotations easier Have a look if you’re interested: http://mcisb.sourceforge.net
libAnnotationSBML Neil Swainston Manchester Centre for Integrative Systems Biology 29 March 2009

libAnnotationSBML

  • 1.
    libAnnotationSBML Neil SwainstonManchester Centre for Integrative Systems Biology 29 March 2009
  • 2.
    Introduction Library (not a tool ) for linking annotated SBML models to MIRIAM and related web services Writing and reading of annotations Java – could be extended
  • 3.
    Purpose of annotationsProvide definitive , unique identifier for “stuff” One motivation: mapping experimental data to models Need annotated models AND annotated data
  • 4.
    AnnotationWizard Shameless copyof Falko’s semanticSBML See also SAINT (Allyson) Principle: Iterate through model Submit each species to an appropriate web service search facility ( ChEBI or UniProt ) Prompt user for confirmation Update model with annotation Has also been wrapped as a web service itself
  • 5.
    Annotating models: yeastGenome-scale SBML model of yeast metabolism All 2153 molecules have MIRIAM annotations
  • 6.
    Project overview Enzymekinetics Quantitative metabolomics Quantitative proteomics SBML Model Parameters (K M , K cat ) Variables (metabolite, protein concentrations) PRIDE MeMo SABIO-RK Web service Web service Web service MeMo-RK
  • 7.
  • 8.
    Project overview Enzymekinetics Quantitative metabolomics Quantitative proteomics SBML Model Parameters (K M , K cat ) Variables (metabolite, protein concentrations) PRIDE MeMo SABIO-RK Web service Web service Web service MeMo-RK
  • 9.
  • 10.
    Purpose of annotationsProvide definitive, unique identifier for “stuff” One motivation: mapping experimental data to models Need annotated models AND annotated data “ Tagging” More interesting purpose … Use the annotations to reason over the model
  • 11.
    Purpose of annotationsEasy question Is my model annotated? Simple answer: yes Can be answered solely by libSBML More interesting question Is my model annotated well ? Do my reactions elementally balance? Simple answer may be yes or no, but harder to determine Can’t be determined solely by libSBML
  • 12.
    Isn’t ChEBI grrrreat… <species id=”glc&quot; name=&quot;D-Glucose&quot;> <annotation> <rdf:li rdf:resource=&quot;urn:miriam:obo.chebi:CHEBI:17634&quot;/> </annotation> </species>
  • 13.
    libAnnotationSBML: what itdoes Provides unified interface to following web services : ChEBI KEGG UniProt SBO others… Wraps these calls so that it appears that you are accessing these locally
  • 14.
    MIRIAM UniProt ChEBIKEGG libAnnotationSBML SBase annotation OntologyTerm(s) Determine ontology Map to web service
  • 15.
    OntologyTerm Model componentscan be parsed to return OntologyTerm s OntologyTerms have the following interface: Development of tools to exploit annotations becomes greatly simplified: OntologyTerm[] ots = sbmlUtils.getOntologyTerms( sbase ); OntologyTerm ot = ots[0]; ot.getName(); ot.getSynonyms(); ot.getFormula();
  • 16.
    Purpose of annotations:to allow automation of tedious jobs D-Glyceraldehyde + NAD+ <=> D-Glycerate + NADH + H+
  • 17.
    Purpose of annotations:to allow automation of tedious jobs Suggest corrections to existing models Incorrect annotations Missing reactants / products Stoichiometry Better still: intelligent generation of models ? AutoComplete?
  • 18.
    Wish list Supportmore web services Write it in C++ WSDLs in MIRIAM??
  • 19.
    Wish list BUT dynamic linking of models to databases is still a little way off Web services are inconsistent getName()? getDescription()? getTitle()? Semantic web services needed
  • 20.
    Finally … Hopefullymakes doing things with annotations easier Have a look if you’re interested: http://mcisb.sourceforge.net
  • 21.
    libAnnotationSBML Neil SwainstonManchester Centre for Integrative Systems Biology 29 March 2009