1 / 18

ProServer & Bio::Das::Lite Lightweight DAS components in Perl

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

Download Presentation

ProServer & Bio::Das::Lite Lightweight DAS components in Perl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ProServer & Bio::Das::LiteLightweight DAS components in Perl Roger Pettett Project Leader, Web Systems Wellcome Trust Sanger Institute http://www.sanger.ac.uk/proserver/

  2. 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 http://www.sanger.ac.uk/proserver/

  3. 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 http://www.sanger.ac.uk/proserver/

  4. 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 http://www.sanger.ac.uk/proserver/

  5. ProServer Structure (1) Server .ini file Source Adaptor Transport Data http://www.sanger.ac.uk/proserver/

  6. ProServer Structure (2) Server .ini file Source Adaptor MySQL Transport Oracle Transport DB DB DB DB DB http://www.sanger.ac.uk/proserver/

  7. 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” http://www.sanger.ac.uk/proserver/

  8. ProServer Configuration (2) [mysimpledb] adaptor = simpledb state = on transport = dbi dbhost = databasesrv1 dbport = 3306 dbname = simpledb dbuser = simplero dbpass = topsecret http://www.sanger.ac.uk/proserver/

  9. 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. http://www.sanger.ac.uk/proserver/

  10. 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’, }; http://www.sanger.ac.uk/proserver/

  11. 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 http://www.sanger.ac.uk/proserver/

  12. ProServer SourceHydra (2) [simplehydra] state = on adaptor = simpledbhydra = dbi transport = dbi basename = hydra dbname = hydra dbhost = databasesrv1 dbuser = hydraro password = topsecret http://www.sanger.ac.uk/proserver/

  13. 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 http://www.sanger.ac.uk/proserver/

  14. 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 http://www.sanger.ac.uk/proserver/

  15. 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)]); http://www.sanger.ac.uk/proserver/

  16. 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 http://www.sanger.ac.uk/proserver/

  17. Rob Finn, Jim Stalker, David Jackson, Eugene Kulesha, Jody Clements, Tony Cox, Will Spooner, Andreas Kahari Acknowledgements http://www.sanger.ac.uk/proserver/

  18. More Information http://www.sanger.ac.uk/proserver/

More Related