構造解析ことはじめ/03 プログラムのインストール
#floatcontents
* SHARP 2.6.0のインストール &Vine5; [#z0444bad]
#anno1(2009-11-26)
ようやく使う機会を得ましたので、Experimental PhasingプログラムであるSHARP/autoSHARPをインストールしてみます。
** 必要なプログラム [#g6355204]
SHARPを実行するためには以下のプログラムが必要です。
- CCP4 6.1.1以上
- Perl
- SHELXCおよびSHELXD
- ARP/wARP 7.0.1
- MAPMAN
** ライセンスの取得 [#z5efda57]
[[SHARPライセンスのページ>http://www.globalphasing.com/sharp/licence/index.html]]から適切なライセンス形態を選択しリクエストフォームに必要事項を記入してサブミットします。なお''Interface type(s)''の項目はNote 4にある''keyinfo.sh''をPC上で実行することで得られます。
The required information for licencing is:
System type: linux
Interface:
eth0-00:30:1b:xx:xx:xx
こんな感じで出力されますので、System typeとInterfaceの部分をコピーしました。結局のトコロ、MACアドレスですね。
#br
2-3日程度で登録したメールアドレスにライセンスファイルおよびダウンロード情報が記載されたメールが届きますので記述に従ってSHARPアーカイブをダウンロードします。
** インストール [#de057d54]
ライセンスを取得したら適当なディレクトリに以下のファイルを配置します。なお、これら以外のファイルがあるとインストールができないので空のディレクトリを用意して必要なファイルをコピーしましょう。~
なお、インストールドキュメントによるとrootユーザーによるインストールは推奨しないと書いてありますので一般ユーザーでインストールする方がよさそうです。私はとりあえずホームディレクトリの下に適当なディレクトリを作成しインストールしました(例:/home/nobrin/xray/sharp-2.6.0/)。標準的な設定ではインストールディレクトリ以下にプロジェクトファイル(SHARPでの処理ファイルなど)が配置されるようです。
- GPhL_SHARP.linux.tar -- SHARPアーカイブ
- GPhL_SHARP_install.sh -- SHARPインストーラ
- .licence -- 送られてきたライセンスファイル
ファイルの配置ができたらインストールスクリプトを実行します。
% chmod +x GPhL_SHARP_install.sh <-- 実行属性を付けます
% ./GPhL_SHARP_install.sh
インストールスクリプトを実行すると自動でプログラムのチェックなどを行い、ディフォルト設定でインストールが始まります。~
数分間、進捗状況が流れた後インストールが完了します。簡単!~
&color(red){''スクリプト出力の末尾のIMPORTANT information for SHARP !!!より少し上にControl Panelを使うための注意書きがあるので確認しておきましょう。''};とりあえず、'''SHARPインストールディレクトリ'''/users/nobrin/email.newuser-sharpという部分。
** 実行環境のセットアップ [#w593cec0]
CCP4からautoSHARPを使用する場合は.cshrcまたは.bashrcでセットアップファイルを読み込むようにしておきます。
:.cshrc|
source SHARPインストールディレクトリ/setup.csh
:.bashrc|
. SHARPインストールディレクトリ/setup.sh
セットアップファイルを読み込んでautoSHARPが利用可能な状態になっているとCCP4iのメニューの[Experimental Phasing]->[Automated Search & Phasing]->[autoSHARP]が表示されます(使用できない場合は空白になっています)。
> The recommended (default) way of running SHARP/autoSHARP is through the httpd-based interface (using a normal webbrowser like firefox, mozilla, safari etc).~
autoSHARP can also be run through the CCP4 interface (found in CCP4 6.1.1 and later): for that one needs to setup the environment according to the above instructions though.
ってことらしいです。
** SHARP Control Panelへのログイン [#u3fd4e3c]
セットアップができたらWebインタフェースであるSHARP Control Panelへログインしてみましょう。~
'''''SHARPインストールディレクトリ'''/users/'''セットアップしたユーザーID'''/email.newuser-sharp''に新規ユーザーへのメッセージが出力されているのでアクセスするアドレス、ユーザー名、パスワードを確認します。確認したらWebブラウザで接続し(http://サーバ名:8080/のはず)、ユーザー名、パスワードを使ってログインします。ログインできればとりあえずOK。~
メッセージ中に''useSHARP''というスクリプトを実行しろと書いてありますが、初期ユーザーは不要です。ユーザーを追加したときにはおそらく必要になるのでしょう。
*** Webサーバの起動 [#f60e397b]
SHARPのWebインタフェースであるSUSHIを動作させるWebサーバはインストール後は起動していますが、PC起動時に自動起動しません。~
ドキュメントによるとApache 1.3系列および2.0系列には対応しているようですが、とりあえずはセットアップされたサーバを使用するのが無難でしょう。サーバの起動スクリプトは、''adm/bin/restart_server''です。SHARPのインストールディレクトリあたりで、
% adm/bin/restart_server
で起動します。起動状況は、
% ps aux | grep httpd
で、確認できます。サーバを停止する場合は''kill_server''を使います。PC起動時に自動で起動するようにしたい場合は/etc/rc.localあたりに記述するとよいと思います。
*** ファイルがアップロードできない! [#j28b7c0c]
なぜそんな設定になっているのかわかりませんが、SUSHIのアップロードスクリプトはアップロードファイルサイズの上限が5MBになっています。そのためインストール後の状態でファイルをアップロードすると、
なぜそんな設定になっているのかわかりませんが、SUSHIのアップロードスクリプトはアップロードファイルサイズの上限が5MBになっています。そのためインストール後の状態で大きなファイルをアップロードすると、
cgi-lib.pl: Request to receive too much data: 18881259 bytes
というようなエラーが発生してファイルがアップロードできません。仕方がないので''sushi/cgi-bin/upload.cgi''で設定されているファイルサイズの上限を修正します。
:sushi/cgi-bin/upload.cgi|
36: require "$BDG_lib/cgi-lib.pl";
37: if ( defined $ENV{'BDG_scr'} ) {
38: $cgi_lib'writefiles = $ENV{'BDG_scr'};
39: # $cgi_lib'maxdata = 5242880; # 5Mb <-- コメントアウト
40: $cgi_lib'maxdata = 100000000; # 100Mb <-- とりあえず100MBほどにしておく
41: }
このようにファイルを修正すれば問題は解決します。この場合、サーバの再起動は必要ありません。~
このようにファイルを修正すれば問題は解決します。修正後のサーバの再起動は必要ありません。~
私の環境ではこの場所でしたが環境変数''BDG_scr''が設定されていない場合(そんなことがあるのかどうかはわかりませんが)、''lib/cgi-lib.pl''中の''$cgi_lib'maxdata''が使用されるのでそちらを修正してみて下さい。参考までに以下の場所です(通常は修正しなくてもいいと思います。上記の修正では解決しなかった場合に試してみて下さい)。
19 # Parameters affecting cgi-lib behavior
20 # User-configurable parameters affecting file upload.
21 $cgi_lib'maxdata = 131072; # maximum bytes to accept via POST - 2^17 <-- この行
22 $cgi_lib'writefiles = 0; # directory to which to write files, or