210 likes | 256 Views
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.
E N D
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 proteomics Quantitative metabolomics PRIDE MeMo MeMo-RK SABIO-RK Web service Web service Web service Variables (metabolite, protein concentrations) Parameters (KM, Kcat) SBML Model
Project overview Enzyme kinetics Quantitative proteomics Quantitative metabolomics PRIDE MeMo MeMo-RK SABIO-RK Web service Web service Web service Variables (metabolite, protein concentrations) Parameters (KM, Kcat) SBML Model
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" name="D-Glucose"> <annotation> <rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI:17634"/> </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 KEGG ChEBI UniProt Determine ontology Map to web service libAnnotationSBML OntologyTerm(s) SBase annotation
OntologyTerm • Model components can be parsed to return OntologyTerms • 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