SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
SADI for GMOD: 
                  Semantic Web Services 
                  for Model Organism 
                  Databases

 Ben Vandervalk, Luke McCarthy, Edward 
        Kawas, Mark Wilkinson

James Hogg Research Centre, Heart + Lung Institute
         University of British Columbia

    http://code.google.com/p/sadi/wiki/SADIforGMOD
Background
Background: Model Organism Databases

 • several organisms are studied extensively by 
   biologists: e.g. yeast, mouse, fruitfly

 • each model organism has its own database: 
      • sequences (DNA, RNA, protein)
       • sequence features (e.g. genes)
       • research publications
       • experimental results
       • biochemical pathways
       • phenotype images
       • evolutionary trees (for closely related 
         species)




                    All images were obtained from Wikipedia and are in the public domain.
Background: Sequence Features

        
          sequence features (a.k.a. sequence annotations) are regions of
         a DNA or protein sequence with a certain type (e.g. 'gene')
        
          in genome browsers, different types of sequence annotations
        are displayed in separate tracks


position on DNA sequence
            promoter track
               gene track


            transcript track



                                        Lincoln Stein, http://www.sequenceontology.org/gff3.shtml
Background: Sequence Features

  Many types of
biological data are
represented as sequence
features:
    
        promoters
    
        chromosome bands
    
        genes
    
        transcripts
    
        CDSs
    
        proteins
    
        protein domains
    
        transposons
    
        non-coding RNAs
    
        ESTs
    
        many more...



                           autogenerated image from http://flybase.org/cgi-bin/gbrowse/dmel/
Background: Distributed Annotation System (DAS)
                                                                      HTTP GET


                                                                      DAS XML

                                                                                 DAS Server


                                                                         HTTP GET

                                                                          DAS XML
                                                                                             DAS Server


                                                                      HTTP GET


                                                                       DAS XML
                                                                                    DAS Server


                                                                         HTTP GET


                                                                          DAS XML
                                                                                           DAS Server

  autogenerated image from http://flybase.org/cgi-bin/gbrowse/dmel/
Background: Limitations of the 
Distributed Annotation System (DAS)
 
   integrating data from DAS servers requires 
 specialized software (“DAS clients”)

 
   other types of data (e.g. biochemical pathways, 
 experimental results) cannot be automatically 
 integrated with sequence feature data

 
   most bioinformatics analysis software (e.g. BLAST) 
 does not speak DAS
SADI for GMOD: Semantic Web 
 Services for Model Organism 
          Databases
SADI for GMOD: Semantic Web Services for Model 
            Organism Databases

          SADI (Semantic Automated Discovery and Integration)

          •   Standard for Web services that consume/generate RDF
          •   Motivation: automated integration of bioinformatics data and 
              software 



          GMOD (Generic Model Organism Database)

          •   Toolkit for building a model organism database and 
              website
          •   Collection of related open source projects: e.g. Chado, 
              Gbrowse, Pathway Tools  
          •   Many sites use GMOD components: FlyBase, 
              BeetleBase, DictyBase, etc. 
SADI in a Nutshell
• to invoke a SADI service:
   o HTTP POST an RDF document to the service URL
   o e.g. $ curl --data @input.rdf
     http://sadiframework.org/examples/hello

• to get service metadata:  
   o HTTP GET on service URL
   o returns an RDF document with service name, description, etc. 
   o e.g. $ curl http://sadiframework.org/examples/hello


• structure of input/output data is described in OWL
   o service provider specifies one input OWL class and one output OWL class


• strengths of SADI
   o no framework-specific messaging formats or ontologies
   o supports batch processing of inputs
   o supports long-running services (asynchronous services)


                more info: http://sadiframework.org/
SADI for GMOD Services
• SADI services for accessing sequence feature data
• implemented as Perl CGI scripts

    Service Name               Input             Relationship                Output


   get_feature_info      database identifier        is about           feature description


    get_features_                                                      collection of feature 
                        genomic coordinates         overlaps
  overlapping_region                                                       descriptions


    get_sequence_                                                      DNA, RNA, or amino 
                        genomic coordinates    is represented by
      for_region                                                         acid sequence


                                               has part / derives      collection of feature 
  get_child_features     feature description
                                                     into                  descriptions


                                               is part of / derives    collection of feature 
  get_parent_features    feature description
                                                       from                descriptions
SADI for GMOD: Structure of Service 
                    Input/Output RDF
             Input RDF (N3)                                          Output RDF (N3)
@prefix lsrn: <http://purl.oclc.org/SADI/LSRN/> .   @perefix lsrn: <http://purl.oclc.org/SADI/LSRN/> .
@prefix GeneID: <http://lsrn.org/GeneID:> .         @prefix GeneID: <http://lsrn.org/GeneID:> .
                                                    @prefix FlyBase: <http://flybase.org/cgi-bin/sadi.gmod/feature?
GeneID:49962                                        id=> .
    a lsrn:GeneID_Record;                           @prefix GenBank: <http://lsrn.org/GB:> .
    sio:SIO_000008 [ # p = 'has attribute'
        a lsrn:GeneID_Identifier;                   # p = 'is about'
        sio:SIO_000300 "49962" # p = 'has value'    GeneID:49962 sio:SIO_000332 FlyBase:FBgn0040037 .
    ] .
                                                    # feature

                                                    FlyBase:FBgn0040037
                                                        a SO:SO_0000704 . # o = 'gene'
                                                        range:position [
         HTTP                                               a range:RangedSequencePosition;
                                                            sio:SIO_000053 . # p = 'has proper part'
         POST                                                    [ a range:StartPosition; sio:SIO_000300 26994];
                                                            sio:SIO_000053 . # p = 'has proper part'
                                                                [ a range:EndPosition; sio:SIO_000300 32391];
                                                            range:in_relation_to _:minus_strand_seq
                                                        ] .

                                                    _:minus_strand_seq
                                                        sio:SIO_000011 [ # p = 'represents'
                                                            a strand:MinusStrand;
                                                            sio:SIO_000093 GenBank:AE014135 # p = 'is proper part of'
                                                        ] .

                                                    # reference feature (chromosome)

                                                    FlyBase:4 # chromosome 4
          get_feature_info                              a SO:SO_0000105 . # o = 'chromosome arm'
SADI for GMOD Demo
SADI Client Software

 SHARE Query Engine                    SADI Taverna Plugin




SPARQL Query => SADI Workflow             Design SADI Workflows
 http://biordf.net/cardioSHARE/query   http://sadiframework.org/content/
                                       2010/05/03/sadi-taverna-plugin-
                                       tutorial/
Demo with SHARE Query Engine
       SPARQL Query                                                  SADI Workflow

    "What proteins are homologous to FlyBase
    protein FBpp0091047?"

PREFIX FlyBase: <http://lsrn.org/FLYBASE:>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX sadi: <http://sadiframework.org/ontologies/properties.owl#>

SELECT ?homolog
WHERE {

     # SIO_000332 = 'is about'
     FlyBase:FBpp0091047 sio:SIO_000332 ?protein .

     ?protein sadi:hasSequence ?sequence .

     # SIO_010302 = 'is homologous to'
     ?protein sio:SIO_010302 ?homolog .

}
Acknowledgements

    Team
    Mark Wilkinson: Principal Investigator
    Luke McCarthy: Lead Programmer, SADI & SHARE
    Edward Kawas: Perl Programmer, SADI

    Funding


                                                     Microsoft
                                                     Research


                         http://sadiframework.org/
SADI Training Course

   “Web Publishing of Scientific Data and Services”
              October 22nd-23rd, 2011
     University of British Columbia (next door!)

Learn how to:

=> semantically describe service functionality in OWL
=> publish Semantic Web services using the SADI
framework

More info: http://sadiframework.org/training
                                                       
Extra Slides
SADI for GMOD: Setting up the Services
1. Load your GFF files into a Bio::DB::SeqFeature::Store database (mysql)
 
2. Install SADI for GMOD dependencies with CPAN

3. Download the SADI for GMOD tarball and unpack into cgi-bin

4. Set DB connection parameters in cgi-bin/sadi.gmod/sadi.gmod.conf

               [GENERAL]
               db_adaptor = Bio::DB::SeqFeature::Store
               db_args    = -adaptor DBI::mysql
                            -dsn     dbi:mysql:database=flybase
               base_url   = http://flybase.org/cgi-bin/sadi.gmod/


5. Configure Dbxref mappings in cgi-bin/sadi.gmod/dbxref.conf

               [DBXREF_TO_LSRN]
               SwissProt = UniProt
               UniProtKB = UniProt
               SwissProt/TrEMBL = UniProt
               ...


6. Register the services in public SADI registry: http://sadiframework.org/registry


          more info: http://code.google.com/p/sadi/wiki/SADIforGMOD

Mais conteúdo relacionado

Mais procurados

Refactor Dance - Puppet Labs 'Best Practices'
Refactor Dance - Puppet Labs 'Best Practices'Refactor Dance - Puppet Labs 'Best Practices'
Refactor Dance - Puppet Labs 'Best Practices'Gary Larizza
 
Shell Scripting Tutorial | Edureka
Shell Scripting Tutorial | EdurekaShell Scripting Tutorial | Edureka
Shell Scripting Tutorial | EdurekaEdureka!
 
Migrating PriceChirp to Rails 3.0: The Pain Points
Migrating PriceChirp to Rails 3.0: The Pain PointsMigrating PriceChirp to Rails 3.0: The Pain Points
Migrating PriceChirp to Rails 3.0: The Pain PointsSteven Evatt
 
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet
 
On secure application of PHP wrappers
On secure application  of PHP wrappersOn secure application  of PHP wrappers
On secure application of PHP wrappersPositive Hack Days
 
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...Puppet
 
Puppetcamp module design talk
Puppetcamp module design talkPuppetcamp module design talk
Puppetcamp module design talkJeremy Kitchen
 

Mais procurados (9)

Refactor Dance - Puppet Labs 'Best Practices'
Refactor Dance - Puppet Labs 'Best Practices'Refactor Dance - Puppet Labs 'Best Practices'
Refactor Dance - Puppet Labs 'Best Practices'
 
Shell Scripting Tutorial | Edureka
Shell Scripting Tutorial | EdurekaShell Scripting Tutorial | Edureka
Shell Scripting Tutorial | Edureka
 
Migrating PriceChirp to Rails 3.0: The Pain Points
Migrating PriceChirp to Rails 3.0: The Pain PointsMigrating PriceChirp to Rails 3.0: The Pain Points
Migrating PriceChirp to Rails 3.0: The Pain Points
 
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner)
 
On secure application of PHP wrappers
On secure application  of PHP wrappersOn secure application  of PHP wrappers
On secure application of PHP wrappers
 
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...
Doing the Refactor Dance - Making Your Puppet Modules More Modular - PuppetCo...
 
Debugging on rails
Debugging on railsDebugging on rails
Debugging on rails
 
Introduction to Perl and BioPerl
Introduction to Perl and BioPerlIntroduction to Perl and BioPerl
Introduction to Perl and BioPerl
 
Puppetcamp module design talk
Puppetcamp module design talkPuppetcamp module design talk
Puppetcamp module design talk
 

Semelhante a SADI for GMOD: Semantic Web Services for Model Organism Databases

SADI for GMOD: Bringing Model Organism Data onto the Semantic Web
SADI for GMOD: Bringing Model Organism Data onto the Semantic WebSADI for GMOD: Bringing Model Organism Data onto the Semantic Web
SADI for GMOD: Bringing Model Organism Data onto the Semantic Webbenvvalk
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 
Rails 2.0 Presentation
Rails 2.0 PresentationRails 2.0 Presentation
Rails 2.0 PresentationScott Chacon
 
3 installation-setup-of-r3
3 installation-setup-of-r33 installation-setup-of-r3
3 installation-setup-of-r3sanganiraju
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...DefconRussia
 
Drive by-download attack evolution zero nights v3
Drive by-download attack evolution zero nights v3Drive by-download attack evolution zero nights v3
Drive by-download attack evolution zero nights v3Sergey Soldatov
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
FP - Découverte de Play Framework Scala
FP - Découverte de Play Framework ScalaFP - Découverte de Play Framework Scala
FP - Découverte de Play Framework ScalaKévin Margueritte
 
mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introductionTse-Ching Ho
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesciklum_ods
 
Facebook的缓存系统
Facebook的缓存系统Facebook的缓存系统
Facebook的缓存系统yiditushe
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...Ivanti
 
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebookguoqing75
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 

Semelhante a SADI for GMOD: Semantic Web Services for Model Organism Databases (20)

Talk1 ben sadi for_gmod_bosc_2011
Talk1 ben sadi for_gmod_bosc_2011Talk1 ben sadi for_gmod_bosc_2011
Talk1 ben sadi for_gmod_bosc_2011
 
SADI for GMOD: Bringing Model Organism Data onto the Semantic Web
SADI for GMOD: Bringing Model Organism Data onto the Semantic WebSADI for GMOD: Bringing Model Organism Data onto the Semantic Web
SADI for GMOD: Bringing Model Organism Data onto the Semantic Web
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
Rails 2.0 Presentation
Rails 2.0 PresentationRails 2.0 Presentation
Rails 2.0 Presentation
 
Chado-XML
Chado-XMLChado-XML
Chado-XML
 
BlazeDS
BlazeDSBlazeDS
BlazeDS
 
3 installation-setup-of-r3
3 installation-setup-of-r33 installation-setup-of-r3
3 installation-setup-of-r3
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...
Vladimir Kropotov - Drive-By-Download attack evolution before and after vulne...
 
Drive by-download attack evolution zero nights v3
Drive by-download attack evolution zero nights v3Drive by-download attack evolution zero nights v3
Drive by-download attack evolution zero nights v3
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
FP - Découverte de Play Framework Scala
FP - Découverte de Play Framework ScalaFP - Découverte de Play Framework Scala
FP - Découverte de Play Framework Scala
 
mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introduction
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
 
Facebook的缓存系统
Facebook的缓存系统Facebook的缓存系统
Facebook的缓存系统
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

SADI for GMOD: Semantic Web Services for Model Organism Databases

  • 1. SADI for GMOD:  Semantic Web Services  for Model Organism  Databases Ben Vandervalk, Luke McCarthy, Edward  Kawas, Mark Wilkinson James Hogg Research Centre, Heart + Lung Institute University of British Columbia http://code.google.com/p/sadi/wiki/SADIforGMOD
  • 3. Background: Model Organism Databases • several organisms are studied extensively by  biologists: e.g. yeast, mouse, fruitfly • each model organism has its own database:  • sequences (DNA, RNA, protein) • sequence features (e.g. genes) • research publications • experimental results • biochemical pathways • phenotype images • evolutionary trees (for closely related  species) All images were obtained from Wikipedia and are in the public domain.
  • 4. Background: Sequence Features  sequence features (a.k.a. sequence annotations) are regions of a DNA or protein sequence with a certain type (e.g. 'gene')  in genome browsers, different types of sequence annotations are displayed in separate tracks position on DNA sequence promoter track gene track transcript track Lincoln Stein, http://www.sequenceontology.org/gff3.shtml
  • 5. Background: Sequence Features  Many types of biological data are represented as sequence features:  promoters  chromosome bands  genes  transcripts  CDSs  proteins  protein domains  transposons  non-coding RNAs  ESTs  many more... autogenerated image from http://flybase.org/cgi-bin/gbrowse/dmel/
  • 6. Background: Distributed Annotation System (DAS) HTTP GET DAS XML DAS Server HTTP GET DAS XML DAS Server HTTP GET DAS XML DAS Server HTTP GET DAS XML DAS Server autogenerated image from http://flybase.org/cgi-bin/gbrowse/dmel/
  • 7. Background: Limitations of the  Distributed Annotation System (DAS)   integrating data from DAS servers requires  specialized software (“DAS clients”)   other types of data (e.g. biochemical pathways,  experimental results) cannot be automatically  integrated with sequence feature data   most bioinformatics analysis software (e.g. BLAST)  does not speak DAS
  • 9. SADI for GMOD: Semantic Web Services for Model  Organism Databases SADI (Semantic Automated Discovery and Integration) • Standard for Web services that consume/generate RDF • Motivation: automated integration of bioinformatics data and  software  GMOD (Generic Model Organism Database) • Toolkit for building a model organism database and  website • Collection of related open source projects: e.g. Chado,  Gbrowse, Pathway Tools   • Many sites use GMOD components: FlyBase,  BeetleBase, DictyBase, etc. 
  • 10. SADI in a Nutshell • to invoke a SADI service: o HTTP POST an RDF document to the service URL o e.g. $ curl --data @input.rdf http://sadiframework.org/examples/hello • to get service metadata:   o HTTP GET on service URL o returns an RDF document with service name, description, etc.  o e.g. $ curl http://sadiframework.org/examples/hello • structure of input/output data is described in OWL o service provider specifies one input OWL class and one output OWL class • strengths of SADI o no framework-specific messaging formats or ontologies o supports batch processing of inputs o supports long-running services (asynchronous services) more info: http://sadiframework.org/
  • 11. SADI for GMOD Services • SADI services for accessing sequence feature data • implemented as Perl CGI scripts Service Name Input Relationship Output get_feature_info database identifier is about feature description get_features_ collection of feature  genomic coordinates overlaps overlapping_region descriptions get_sequence_ DNA, RNA, or amino  genomic coordinates is represented by for_region acid sequence has part / derives  collection of feature  get_child_features feature description into descriptions is part of / derives  collection of feature  get_parent_features feature description from descriptions
  • 12. SADI for GMOD: Structure of Service  Input/Output RDF Input RDF (N3) Output RDF (N3) @prefix lsrn: <http://purl.oclc.org/SADI/LSRN/> . @perefix lsrn: <http://purl.oclc.org/SADI/LSRN/> . @prefix GeneID: <http://lsrn.org/GeneID:> . @prefix GeneID: <http://lsrn.org/GeneID:> . @prefix FlyBase: <http://flybase.org/cgi-bin/sadi.gmod/feature? GeneID:49962 id=> . a lsrn:GeneID_Record; @prefix GenBank: <http://lsrn.org/GB:> . sio:SIO_000008 [ # p = 'has attribute' a lsrn:GeneID_Identifier; # p = 'is about' sio:SIO_000300 "49962" # p = 'has value' GeneID:49962 sio:SIO_000332 FlyBase:FBgn0040037 . ] . # feature FlyBase:FBgn0040037 a SO:SO_0000704 . # o = 'gene' range:position [ HTTP  a range:RangedSequencePosition; sio:SIO_000053 . # p = 'has proper part' POST [ a range:StartPosition; sio:SIO_000300 26994]; sio:SIO_000053 . # p = 'has proper part' [ a range:EndPosition; sio:SIO_000300 32391]; range:in_relation_to _:minus_strand_seq ] . _:minus_strand_seq sio:SIO_000011 [ # p = 'represents' a strand:MinusStrand; sio:SIO_000093 GenBank:AE014135 # p = 'is proper part of' ] . # reference feature (chromosome) FlyBase:4 # chromosome 4 get_feature_info a SO:SO_0000105 . # o = 'chromosome arm'
  • 14. SADI Client Software SHARE Query Engine SADI Taverna Plugin SPARQL Query => SADI Workflow Design SADI Workflows http://biordf.net/cardioSHARE/query http://sadiframework.org/content/ 2010/05/03/sadi-taverna-plugin- tutorial/
  • 15. Demo with SHARE Query Engine SPARQL Query SADI Workflow "What proteins are homologous to FlyBase protein FBpp0091047?" PREFIX FlyBase: <http://lsrn.org/FLYBASE:> PREFIX sio: <http://semanticscience.org/resource/> PREFIX sadi: <http://sadiframework.org/ontologies/properties.owl#> SELECT ?homolog WHERE { # SIO_000332 = 'is about' FlyBase:FBpp0091047 sio:SIO_000332 ?protein . ?protein sadi:hasSequence ?sequence . # SIO_010302 = 'is homologous to' ?protein sio:SIO_010302 ?homolog . }
  • 16. Acknowledgements   Team Mark Wilkinson: Principal Investigator Luke McCarthy: Lead Programmer, SADI & SHARE Edward Kawas: Perl Programmer, SADI Funding Microsoft Research http://sadiframework.org/
  • 17. SADI Training Course “Web Publishing of Scientific Data and Services” October 22nd-23rd, 2011 University of British Columbia (next door!) Learn how to: => semantically describe service functionality in OWL => publish Semantic Web services using the SADI framework More info: http://sadiframework.org/training  
  • 19. SADI for GMOD: Setting up the Services 1. Load your GFF files into a Bio::DB::SeqFeature::Store database (mysql)   2. Install SADI for GMOD dependencies with CPAN 3. Download the SADI for GMOD tarball and unpack into cgi-bin 4. Set DB connection parameters in cgi-bin/sadi.gmod/sadi.gmod.conf [GENERAL] db_adaptor = Bio::DB::SeqFeature::Store db_args = -adaptor DBI::mysql -dsn dbi:mysql:database=flybase base_url = http://flybase.org/cgi-bin/sadi.gmod/ 5. Configure Dbxref mappings in cgi-bin/sadi.gmod/dbxref.conf [DBXREF_TO_LSRN] SwissProt = UniProt UniProtKB = UniProt SwissProt/TrEMBL = UniProt ... 6. Register the services in public SADI registry: http://sadiframework.org/registry more info: http://code.google.com/p/sadi/wiki/SADIforGMOD