Title: ProServer
1ProServer BioDasLiteLightweight DAS
components in Perl
Roger Pettett Project Leader, Web
Systems Wellcome Trust Sanger Institute
2What 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
3ProServer 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
4ProServer 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
5ProServer Structure (1)
Server
.ini file
Source Adaptor
Transport
Data
6ProServer Structure (2)
Server
.ini file
Source Adaptor
MySQL Transport
Oracle Transport
DB
DB
DB
DB
DB
7ProServer 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
8ProServer Configuration (2)
mysimpledb adaptor simpledb state
on transport dbi dbhost databasesrv1 dbport
3306 dbname simpledb dbuser
simplero dbpass topsecret
9ProServer 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.
10ProServer Extensions (2)
label gt Pelizaeus-Merzbacher
disease, 'id' gt 10, 'type'
gt decipherknownins, 'typecategory' gt
decipher', 'method' gt decipher', 'start
' gt 102528707, 'end' gt
103018423, 'note' gt , 'link'
gt , linktxt gt Syndrome Report,
11ProServer 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
12ProServer SourceHydra (2)
simplehydra state on adaptor
simpledbhydra dbi transport dbi basename
hydra dbname hydra dbhost databasesrv1 dbuser
hydraro password topsecret
13Things Id 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
14BioDasLite
- A small DAS 1 client
- Returns plain data structures
- Few dependencies
- LWPParallelUserAgent for asynchronous I/O
- SOAPLite for registry access
- Available on CPAN
15BioDasLite Synopsis
use BioDasLite my singledsn
BioDasLite-gt new(http//das.sanger.ac.uk/da
s/hgnc36) my features singledsn-gtfeatures(X
1,1000000)
use BioDasLite my multidsn
BioDasLite-gtnew( dsn gt
qw(http//dasdas/hgnc36
http//das/das/decipher), ) my multiseg
bdl-gtfeatures(qw(X1,1000000 31,1000000
171,1000000))
16Citing 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
17Acknowledgements
- Rob Finn, Jim Stalker,
- David Jackson, Eugene Kulesha, Jody Clements,
Tony Cox, - Will Spooner, Andreas Kahari
18More Information