Hatena::Groupkdri

KazusaAPI開発日誌 このページをアンテナに追加 RSSフィード

2008-03-10

ProServer を CPAN からインストールする

|  ProServer を CPAN からインストールする - KazusaAPI開発日誌 を含むブックマーク はてなブックマーク -  ProServer を CPAN からインストールする - KazusaAPI開発日誌  ProServer を CPAN からインストールする - KazusaAPI開発日誌 のブックマークコメント

ProServerPerl で書かれた DAS サーバです。ここでは Mac OS X 10.5 にインストールする手順を説明します。

ここでは、perlMacPorts の /opt/local/bin/perl とします。

CPAN からインストールする

最初に、ProServer の入っているモジュール名をしらべます。

$ /opt/local/bin/perl -MCPAN -e shell
...
cpan[5]> m /ProServer/
Module    Bio::Das::ProServer    (RPETTETT/Bio-Das-ProServer-2.070.tar.gz)
Module    Bio::Das::ProServer::Config (LDS/Bio-Das-1.02.tar.gz)
...

RPETTETT/Bio-Das-ProServer-2.070.tar.gz と LDS/Bio-Das-1.02.tar.gz がマッチしています。

cpan[6]> install RPETTETT/Bio-Das-ProServer-2.070.tar.gz
...

特に問題もなくインストールは完了しました。

man ページが /opt/local/share/man/man3/Bio::Das::ProServer などにインストールされています。perldoc Bio::Das::ProServer のようにするとドキュメントが読めます。

サーバスクリプトの準備をする

proserver のサーバスクリプトがインストールされていないようなので、~/.cpan/build/Bio-Das-ProServer-2.070-*/eg の中のファイルをコピーしてつかってみます。

サーバのファイル構成

  • eg/proserver -- サーバ本体
  • eg/proserver.ini -- 設定ファイル

ここでは、これらを ~/Desktop にコピーします。

$ sudo rsync -a ~/.cpan/build/Bio-Das-ProServer-2.070-vReRo1/eg ~/Desktop/
Password:
$ cd ~/Desktop/eg
$ ls 
proserver			proserver.guest207.wtgc.org.log	proserver.pagoda.psyphi.net.err
proserver.cgi			proserver.guest207.wtgc.org.pid	proserver.pagoda.psyphi.net.log
proserver.guest207.wtgc.org.err	proserver.ini			proserver.pagoda.psyphi.net.pid

サーバの起動をする

proserver はウェブサーバ機能をもっているので、cgi としてではなく DAS サーバを構築することができます。

$ /opt/local/bin/perl proserver -x -c proserver.ini 
##############################################################################
#  ProServer DAS Server v2.070 (c) GRL 2007                                  #
#  http://www.sanger.ac.uk/proserver/                                        #
#                                                                            #
#  Please cite:                                                              #
#   ProServer: A simple, extensible Perl DAS server.                         #
#   Finn RD, Stalker JW, Jackson DK, Kulesha E, Clements J, Pettett R.       #
#   Bioinformatics 2007; doi: 10.1093/bioinformatics/btl650; PMID: 17237073  #
##############################################################################

hostname             => localhost
port                 => 9000
response_hostname    => das.example.com
response_port        => 80
response_protocol    => 
response_baseuri     => 
interface            => 
prefork              => 
maxclients           => 10
pidfile              => 
logfile              => 
ensemblhome          => 
oraclehome           => 
bioperlhome          => 
coordshome           => 
styleshome           => 
http_proxy           => 
serverroot           => 
maintainer           => das@example.com
logformat            => 
Configuring Adaptor mysimple on
Configuring Adaptor gensat off
Configuring Adaptor swissprot off
Configuring Adaptor image off
Configuring Adaptor interpro off
Configuring Adaptor ncbi33 off
Configuring Adaptor myembl off
Configuring Adaptor hydra001 off
Configuring Adaptor pfamAlign off
Configuring Adaptor pdbStructure off
Writing pidfile proserver.meta.local.pid
Server 20348 has begun listening on :9000
 at /opt/local/lib/perl5/site_perl/5.8.8/POE/Session.pm line 465
Exited fork at /opt/local/lib/perl5/site_perl/5.8.8/POE/Session.pm line 465

http://localhost:9000/das をブラウザで開くと Welcome to ProServer v2.070 というページがみえるはず。見えないときはどこかおかしいです。

[mysimple] という Source のリンクがみえていますが、これは正常には利用できません。proserver.ini の [mysimple] の state = on を state = off にして消しましょう。

変更前

[mysimple]
adaptor       = simple
state         = on
transport     = file
;mapmaster     = http://foo.com/mysimple_reference
description   = Simple example source
doc_href      = http://my.homepage.com
filename      = /path/to/genelist.txt
baseurl       = http://www.example.org/datascript?id=
type          = gene
feature_query = field0 lceq "%s"
unique        = 1
; Coordinate system and test range:
coordinates   = Ensembl,Gene_ID -> ENSG00000139618

変更後

[mysimple]
adaptor       = simple
state         = off
transport     = file
;mapmaster     = http://foo.com/mysimple_reference
description   = Simple example source
doc_href      = http://my.homepage.com
filename      = /path/to/genelist.txt
baseurl       = http://www.example.org/datascript?id=
type          = gene
feature_query = field0 lceq "%s"
unique        = 1
; Coordinate system and test range:
coordinates   = Ensembl,Gene_ID -> ENSG00000139618

このあとは、no title を実際にやってみるとよいでしょう。



ProServer の SVN HEAD をインストールする

|  ProServer の SVN HEAD をインストールする - KazusaAPI開発日誌 を含むブックマーク はてなブックマーク -  ProServer の SVN HEAD をインストールする - KazusaAPI開発日誌  ProServer の SVN HEAD をインストールする - KazusaAPI開発日誌 のブックマークコメント

screenshot

ソースは http://sf.net/projects/proserver から取得できます。つぎのレポジトリにもあります。SVN には最新のコードがありますが、拡張モジュールについてはまだ CVS にしかないものもあるようです。

依存モジュールは次の通りです。

  1. Perl (>5.6.1)
  2. DBI
  3. Getopt::Long
  4. POSIX
  5. Sys::Hostname
  6. CGI
  7. POE
  8. HTTP::Request
  9. HTTP::Response
  10. Config::InFiles
  11. Compress::Zlib

ソースの取得

$ mkdir ProServer
$ cd ProServer
$ svn co https://proserver.svn.sf.net/svnroot/proserver/trunk
...
Checked out revision 425.
$ cd trunk
$ ls
Changes		README		eg/		stylesheets/
MANIFEST	coordinates/	homepages/	t/
Makefile.PL	doc/		lib/

とりあえずビルド

$ /opt/local/bin/perl Makefile.PL 
Warning: prerequisite Bio::EnsEMBL::DBSQL::DBAdaptor 0 not found.
Warning: prerequisite Bio::EnsEMBL::Registry 0 not found.
Warning: prerequisite Bio::Pfam::Structure::Chainset 0 not found.
Warning: prerequisite Bio::SeqIO 1.0050021 not found. We have unknown version.
Writing Makefile for Bio::Das::ProServer

いろいろインストールする必要があるようです。このマシンには gbrowse 1.69 が既にインストールされているので、これくらいですが、素の Mac OS X の場合はさらに多くのモジュールをインストールする必要があるようです。。

それぞれのモジュールがなにに依存しているのかが Makefile.PL のコメントに記載されいていました。

30     'Bio::SeqIO'                     => 1.0050021, # Optional, for Transpotr::bioseqio
31     'Bio::EnsEMBL::DBSQL::DBAdaptor' => 0,         # Optional, for SourceAdaptor::ensembl
32     'Bio::EnsEMBL::Registry'         => 0,         # Optional, for SourceAdaptor::ensembl
33     'Bio::Pfam::Structure::Chainset' => 0,         # Optional, for Transport::pdbStructure

Optional なのでとりあえずここでは放置します。

なお、Bio::EnsEMBLhttp://www.ensembl.org/info/using/api/api_installation.html からインストールできるはずです。試してはいない。

ビルド

$ /opt/local/bin/perl Makefile.PL
$ make

サーバの起動

Bio-Das-ProServer を事前にインストールしているので、モジュールのパスを指定して起動します。

$ /opt/local/bin/perl -Ilib eg/proserver -x -c eg/proserver.ini 

つづく

トラックバック - http://kdri.g.hatena.ne.jp/nakao_mitsuteru/20080310