libannotationsbml

21
libAnnotationSBML Neil Swainston Manchester Centre for Integrative Systems Biology 29 March 2009

Upload: tashya-prince

Post on 05-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: libAnnotationSBML

libAnnotationSBML

Neil SwainstonManchester Centre for Integrative Systems Biology

29 March 2009

Page 2: libAnnotationSBML

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

Page 3: libAnnotationSBML

Purpose of annotations

• Provide definitive, unique identifier for “stuff”• One motivation: mapping experimental data to

models• Need annotated models AND annotated data

Page 4: libAnnotationSBML

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

Page 5: libAnnotationSBML

Annotating models: yeast

• Genome-scale SBML model of yeast metabolism– All 2153 molecules have MIRIAM annotations

Page 6: libAnnotationSBML

Project overview

Enzyme kineticsQuantitativemetabolomics

Quantitativeproteomics

SBML Model

Parameters(KM, Kcat)

Variables(metabolite, proteinconcentrations)

PRIDE MeMo SABIO-RK

Web serviceWeb serviceWeb service

MeMo-RK

Page 7: libAnnotationSBML

KineticsWizard

Page 8: libAnnotationSBML

Project overview

Enzyme kineticsQuantitativemetabolomics

Quantitativeproteomics

SBML Model

Parameters(KM, Kcat)

Variables(metabolite, proteinconcentrations)

PRIDE MeMo SABIO-RK

Web serviceWeb serviceWeb service

MeMo-RK

Page 9: libAnnotationSBML

CellDesigner plugin

Page 10: libAnnotationSBML

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

Page 11: libAnnotationSBML

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

Page 12: libAnnotationSBML

Isn’t ChEBI grrrreat…

<species id=”glc" name="D-Glucose">

<annotation>

<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI:17634"/>

</annotation>

</species>

Page 13: libAnnotationSBML

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

Page 14: libAnnotationSBML

MIRIAM UniProtChEBIKEGG

libAnnotationSBML

SBase annotation OntologyTerm(s)

Determineontology

Map toweb service

Page 15: libAnnotationSBML

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();

Page 16: libAnnotationSBML

Purpose of annotations: to allow automation of tedious jobs

D-Glyceraldehyde + NAD+ <=> D-Glycerate + NADH + H+

Page 17: libAnnotationSBML

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?

Page 18: libAnnotationSBML

Wish list

• Support more web services• Write it in C++

• WSDLs in MIRIAM??

Page 19: libAnnotationSBML

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

Page 20: libAnnotationSBML

Finally…

• Hopefully makes doing things with annotations easier

• Have a look if you’re interested:• http://mcisb.sourceforge.net

Page 21: libAnnotationSBML

libAnnotationSBML

Neil SwainstonManchester Centre for Integrative Systems Biology

29 March 2009