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

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Último (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.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