Lightweight DAS components in Perl
Upcoming SlideShare
Loading in...5
×
 

Lightweight DAS components in Perl

on

  • 2,876 views

A summary of two BioDAS services (Bio::Das::ProServer server and Bio::Das::Lite client) available in Perl.

A summary of two BioDAS services (Bio::Das::ProServer server and Bio::Das::Lite client) available in Perl.

Statistics

Views

Total Views
2,876
Views on SlideShare
2,872
Embed Views
4

Actions

Likes
1
Downloads
12
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lightweight DAS components in Perl Lightweight DAS components in Perl Presentation Transcript

  • ProServer & Bio::Das::Lite Lightweight DAS components in Perl Roger Pettett Project Leader, Web Systems Wellcome Trust Sanger Institute
  • What is ProServer?
    • Standalone DAS 1.5+ Server
      • First server to support gene and protein DAS
    • Written in Perl
      • Using POE
    • Easily extensible
    • Supports a wide range of data sources
      • DBI, flat-file, GFF, Excel
    • Available on CPAN
  • ProServer Features
    • Simple to set up
    • Smallish memory footprint
      • We serve 2200+ sources in ~8-20Mb per process with ~2-4Mb shared
    • Easy to configure
      • .ini format file
    • Easy to extend
      • Lots of examples
  • ProServer Installation
    • wget http://www.sanger.ac.uk/proserver/ProServer-2.tar.gz
    • tar -xzvf ProServer-2.tar.gz
    • cd Bio-Das-ProServer
    • perl Makefile.PL
    • make test
    • [configure proserver.ini]
    • eg/proserver
  • ProServer Structure (1) Source Adaptor Data Server .ini file Transport
  • ProServer Structure (2) MySQL Transport Source Adaptor DB Server .ini file DB DB Oracle Transport DB DB
  • ProServer Configuration (1) [mysimplefile] adaptor = simple state = on transport = file filename = /path/to/genelist.txt baseurl = http://www.example.org/report?id= type = gene feature_query = field0 like "%s”
  • ProServer Configuration (2) [mysimpledb] adaptor = simpledb state = on transport = dbi dbhost = databasesrv1 dbport = 3306 dbname = simpledb dbuser = simplero dbpass = topsecret
  • ProServer Extensions (1)
    • Inherit and extend SourceAdaptor.pm
    • Edit capabilities
    • Implement for example, the build_features method to run a database SQL query or an API call and return the correct data structure.
  • ProServer Extensions (2) { ‘ label’ => ‘ Pelizaeus-Merzbacher disease’, 'id' => 10 , 'type' => ‘ decipher:known:ins ’, 'typecategory' => ’decipher', 'method' => ’decipher', 'start' => 102528707, 'end' => 103018423, 'note' => … , 'link' => …, ‘ linktxt’ => ‘Syndrome Report’, };
  • ProServer SourceHydra (1)
    • Clone sources with the same structure
    • One configuration section
    • For example: Ensembl DAS uploads
      • One hydra database
      • Many tables with the same schema
  • ProServer SourceHydra (2) [simplehydra] state = on adaptor = simpledb hydra = dbi transport = dbi basename = hydra dbname = hydra dbhost = databasesrv1 dbuser = hydraro password = topsecret
  • Things I’d like to do
    • ProServer
      • Apache plugins for ModPerl & CGI
      • Automatic registry updates
      • Live server statistics
      • Embedded graphics
      • Streamed responses
      • Yahoo Pipes-ish service proxy/aggregation
  • Bio::Das::Lite
    • A small DAS 1 client
    • Returns plain data structures
    • Few dependencies
      • LWP::Parallel::UserAgent for asynchronous I/O
      • SOAP::Lite for registry access
    • Available on CPAN
  • Bio::Das::Lite Synopsis use Bio:::Das::Lite my $singledsn = Bio::Das::Lite-> new(‘http://das.sanger.ac.uk/das/hgnc36’); my $features = $singledsn->features(‘X:1,1000000’); use Bio:::Das::Lite my $multidsn = Bio::Das::Lite->new({ ‘ dsn’ => [qw( http://das…das/hgnc36 http://das…/das/decipher)], }); my $multiseg = $bdl->features([qw(X:1,1000000 3:1,1000000 17:1,1000000)]);
  • Citing ProServer
    • ProServer: A simple, extensible Perl DAS server.
    • Finn RD, Stalker JW, Jackson DK, Kulesha E, Clements J, Pettett R
    • Bioinformatics. 2007;. PMID: 17237073 DOI: 10.1093/bioinformatics/btl650
  • Acknowledgements Rob Finn, Jim Stalker, David Jackson, Eugene Kulesha, Jody Clements, Tony Cox, Will Spooner, Andreas Kahari
  • More Information [email_address] Bug Reports & Feature Requests http://search.cpan.org/~rpettett/ Bio::Das::Lite http://www.sanger.ac.uk/proserver/ ProServer