Implementing computational analysis through Web services

18
Implementing computational analysis through Web services Arnaud Kerhornou CRG/INB Barcelona - BioMed Workshop IRB November 2007

description

Implementing computational analysis through Web services. Arnaud Kerhornou CRG/INB Barcelona - BioMed Workshop IRB November 2007. Current situation in Bioinformatics. Limits. Discovery Service description Ontologies Data transfert Automation. BioMoby architecture. - PowerPoint PPT Presentation

Transcript of Implementing computational analysis through Web services

Page 1: Implementing computational  analysis  through Web services

Implementing computational analysis

through Web services

Arnaud KerhornouCRG/INBBarcelona

-BioMed Workshop

IRBNovember 2007

Page 2: Implementing computational  analysis  through Web services

Current situation in Bioinformatics

Page 3: Implementing computational  analysis  through Web services

•Discovery

•Service description

•Ontologies

•Data transfert

•Automation

Limits

Page 4: Implementing computational  analysis  through Web services

BioMoby architecture

PublishFind

Bind

Service registry

Service Provider

Service Descriptions

Service Description

Service

WDSL, UDDIWSDL, UDDI

Service Requestor

A web service is an interface that describes a collection of operations that are network accessible through standardized XML messaging

Page 5: Implementing computational  analysis  through Web services

BioMoby

a unifying framework approach

The bioMoby project aims to provide bioinformatics resources through the web. It can be data retrieval resources or analysis resources.

It defines an ontology-based messaging standard The services are registered in a central “yellow pages”

server to facilitate the discovery The services specifications are formalized in a description

language.

Page 6: Implementing computational  analysis  through Web services

It provides:•A Central Registry of services•A set of standards to specify:

•Message formatting,•Error reporting•Asynchronous requests

•An API written in two languages, perl and java •Ontologies to represent

•Types of services,•Data types

The BioMoby framework

Page 7: Implementing computational  analysis  through Web services

Ontology

• Data exchange relies on the use of Ontologies.

• Ontology to represent knowledge in a given domain

• In bioinformatics: – OBO (GO, SO and many many more)

• http://obo.sourceforge.net/cgi-bin/table.cgi

– Biomoby datatypes to classify service input/output– Biomoby service types

Page 8: Implementing computational  analysis  through Web services

Establish Ontologies to formalize the representation of:•Types of services•Types of data

The BioMoby ontologies

Page 9: Implementing computational  analysis  through Web services

Bioinformatics

Sequence

Analysis

MultipleSequence

Alignment

PairwiseSequence

Alignment

Alignment

GeneFinding

is-a

Service

The Service TypeOntology

Page 10: Implementing computational  analysis  through Web services

Object

String

Integer

Virtual

SequenceGeneric

Sequence

DNA

Sequence

AminoAcid

Sequence

text_plain text_formatted GFF

has-a

is-a

is-a

has-a

has-a

The Data TypeOntology

Page 11: Implementing computational  analysis  through Web services

<DNASequence>

<String articleName=”Sequence”>

AAATGTCGCTCGATACGATCAGCTACGA

</String>

<Integer articleName=”Length”>

28

</Integer>

</DNASequence>

Moby DNASequenceObject

Page 12: Implementing computational  analysis  through Web services

BioMobyService specs

• Service name: Free Text

• Service type: Moby service type ontology

• Description: Free text

• One or more inputs: Moby data type ontology

• One or more outputs: Moby data type ontology

• One or more parameters: – name (a string)– value (an ‘primitive’, ie a String or an Integer etc.)

Page 13: Implementing computational  analysis  through Web services

Example

• Service type: GeneFinding

• Description: ab-initio gene finding software

• Input: a DNASequence object

• Output: a GFF object

• Parameters:– Profile (Default is Human)– Strand (Default is both strands)

RunGeneIDGFF service specifications:

Page 14: Implementing computational  analysis  through Web services

Client Side

MobyCentral

ServiceProvider

Internet

ServiceClient

• There are different kind of clients

• Some of them allow the creation of workflows

Programmatic

libraries:

Page 15: Implementing computational  analysis  through Web services

• Java based graphical integrated workbench

• It allows the construction of complex distributed workflows

• It can handle different kind of services (Moby and others)

Client Side: Taverna I

Page 16: Implementing computational  analysis  through Web services

Processors = Webservices

Inputs

Outputs

Client Side: Taverna II

Page 17: Implementing computational  analysis  through Web services

Client Side: Taverna III

Moby Web service Configuration

Page 18: Implementing computational  analysis  through Web services

• All the info accessible at the Moby homepage at:– http://www.biomoby.org/

• Taverna Web site– http://www.inab.org/MOWServ

• Remora Web interface– http://lipm-bioinfo.toulouse.inra.fr/remora/cgi/remora.cgi

• MowServ Web interface– http://www.inab.org/MOWServ/

• Genome Analysis services page– http://genome.imim.es/webservices

BioMoby on the Web