Ensembl Genomesのインストール

Ensembl Genomes Website Installation Instructions - Version 15に従ってEnsembl websiteのインストールを行う. ドキュメント作成時のEnsembl Genomesのバージョンは15である.

= Ensemblに必要なソフトウェアのインストール =
 * ここではEnsemblのインストールにてEnsemblのインストールを行った状態で、別ディレクトリ（/usr/local/ensembl_genomes）にEnsembl Genomesをインストールする. MySQL, perlモジュールはすでにインストールされているものとする.

apache2とmod_perlのインストール

 * Ensemblが使用するhttpdとは別にEnsembl Genomesで使用するhttpdを用意する. インストール先を/use/local/ensembl_genomesにしてソースからインストールしてもよいが、/usr/local/ensembl/apache2ディレクトリをコピーするだけでもよい.


 * /usr/local/ensembl/にインストールしたhttpdをEnsemblとEnsembl Genomesの両方で使用するのでもよい.

perlモジュールのインストール

 * インストールするperlモジュールのリスト（ここではEnsemblからの追加分のみ記述）
 * BioMartでのみ必要なモジュールがかなり入っているが、とりあえず入れておく.
 * XML::Simple
 * Bio::DB::Taxonomy
 * RTF::Writer
 * GraphViz
 * Lucy::Simple
 * Bio::Das::Lite
 * Cache::Memcached
 * CGI
 * CGI::Ajax
 * CGI::Session
 * Class::Accessor
 * Class::Data::Inheritable
 * Class::Std::Utils
 * Compress::Raw::Zlib
 * Config::IniFiles
 * DB_File
 * Devel::StackTrace
 * Digest::MD5
 * Exception::Class
 * File::Temp
 * HTML::Template
 * XML::LibXML
 * List::MoreUtils
 * Log::Log4perl
 * Number::Format
 * Cwd
 * File::Spec
 * Storable
 * Template::Plugin::Number::Format
 * Template::Toolkit
 * XML::DOM
 * XML::RSS

= Ensembl, BioMart, BioPerlモジュールのインストール =
 * Sanger CVS serverのパスワードはCVSUSER
 * BioPerl CVS serverのパスワードはcvs
 * ここではBioPerl最新版ではなく、バージョン1.2.3をインストールしている.

= Ensembl Genomesデータのインストール =
 * Ensembl Genomesはbacteria, fungi, metazoa, plants, protistsのカテゴリーに分かれているが、ここではbacteriaでEnsembl Genomes Websiteを構築する. とりあえず最小限のデータベースをインストールする.
 * bacillus_collection_core_15_68_4, ensembl_compara_bacteria_15_68, ensembl_compara_pan_homology_15_68ディレクトリそれぞれについて、以下の操作を行ってデータベースをインストールしていく. ensembl_web_user_dbについては、Ensemblとは別データベースにするために、データベース名をensembl_genomes_web_user_dbとしてインストールする.

= Ensembl Genomes Websiteの構成 =

conf/Plugins.pm

 * conf/Plugins.pmを作成する. コピーして、内容を編集する.

↓
 * Plugins.pmの以下の箇所を修正する.
 * bacteria以外のカテゴリーを使用する場合は、「'EnsEMBL::EnsemblBacteria' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-plugins/bacteria',」の行を適宜修正する.

public-plugins/mirror/conf/SiteDefs.pm

 * public-plugins/mirror/conf/SiteDefs.pmを作成する. コピーして、内容を編集する.

↓
 * SiteDefs.pmの以下の箇所を修正する.
 * Ensemblのファイルとは$SiteDefs::ENSEMBL_PORTと$SiteDefs::ENSEMBL_USERDB_NAMEの値が異なる. $SiteDefs::ENSEMBL_PORTの値は、Ensemblが80番ポートを使用する設定になっているため、8080番ポートを使用するように設定した.

public-plugins/mirror/conf/ini-files/DEFAULTS.ini

 * public-plugins/mirror/conf/ini-files/DEFAULTS.iniを作成する. コピーして、内容を編集する.

↓
 * DEFAULTS.iniの以下の箇所を修正する.
 * このファイルはEnsemblで作成したファイルと同じ内容になる.

ログ置き場を作成する

 * httpdのログが出力されるディレクトリを作成し、/usr/local/ensembl_genomes全体をhttpdの実行ユーザーが読み書きできるように設定する.

= Ensembl Genomes Websiteの起動 =
 * Ensembl Genomes Websiteは/usr/local/ensembl_genomesをサーバルートとしてhttpdを起動するが、/usr/local/ensembl_genomes/conf/httpd.confにはモジュールの位置の記述が/usr/local/ensembl_genomes/modulesになっているため、/usr/local/ensembl_genomes/apache2以下にインストールされたmod_perl.so, mod_headers.so, mod_expires.soを見つけられない. そのため、これらのシンボリックリンクを/usr/local/ensembl_genomes/modulesに作成する.
 * httpd.conf中のパスを書き換えるのでもよい.


 * httpdを起動すると、以下のエラーが表示される.

↓
 * ensembl_genomes/eg-plugins/common/conf/SiteDefs.pmの1行目にあるパッケージ宣言を修正する.

↓
 * ensembl_genomes/eg-plugins/bacteria/conf/SiteDefs.pmの1行目にあるパッケージ宣言を修正する.

↓
 * ensembl_genomes/eg-plugins/blast/conf/SiteDefs.pmの1行目にあるパッケージ宣言を修正する.


 * 改めて.

ウェブサーバの終了

 * 初回起動時にデータベース・設定ファイルを読み込んでconf/config.packedとconf/packed/*.packedが作成される. 設定を変更する場合はconf/config.packedを削除してからウェブサーバを起動する. 最初からやり直したい場合はconf/packed/*.packedも削除する.