FASTA形式のDNA配列からrRNA遺伝子を探してくるRNAmmer、元論文は2000回近く引用されていて、広く利用されているソフトだ。少量のシーケンス(1万配列、1000万塩基まで)であれば、ブラウザ上から直接配列を投げてサイト上で解析することもできて便利。
で、今回、大量のデータを分析しようと手元のLinuxにこれを入れようとして、色々と細かいところでハマったので備忘メモ。基本的には、開発者のブログに書いてある通りなのだけど、古いバージョンのソフトが必要だったり、手作業のステップもあったりして、結構ややこしい作業が必要。
- ダウンロードページの注意を読み、必要事項を入力して、tar.Zを一式をダウンロードして解凍
- RNAmmerを動かすのに必要なソフト、HMMERをインストールする。最新バージョンは3.1だけど、RNAmmerはv3以降では動かないので、ダウンロードページからv2.3.2を手に入れる。
- HMMERのマニュアルに従ってファイル一式を展開する。
- 必要なのは"hmmsearch"というバイナリファイルなので、これの場所を覚えておくか、任意の場所に移動させる。☆
- RNAmmerを解凍したフォルダに"core-rnammer"というスクリプトファイルがあるのを確認する。★
- RNAmmerを解凍したフォルダにある"rnammer"をテキストエディタで開き、
# the path of the program
の下にある、my $INSTALL_PATH =
以降のパスを、RNAmmerを解凍したフォルダ★に書き換える。- 同じく、
$HMMSEARCH_BINARY =
以降のパスをhmmsearchがある場所☆に書き換える。2か所あるが、Linuxを使っている場合はLinuxに関する部分だけ書き換えればOK。- rnammerを閉じ、保存。
- これで動くらしいのだけど、
FATAL: POSIX threads support is not compiled into HMMER; --cpu doesn't have any effectというエラーが出ることがあって(自分は出た)、その場合は"core-rnammer"をテキストエディタで開き、スクリプト内にある
--cpu 1
という記述(2か所)を削除し、保存。
と、これでようやく使えるようになる。
アウトプットは様々な形式で出せるけど、見つかったrRNAの場所を記載したGFFと、その配列を抽出したFASTAを出したい場合は、作業フォルダに移動して、
perl RNAmmer解凍フォルダ/rnammer -S bac -m lsu,ssu,tsu -gff output.gff -f output.fasta input.fasta
とすればOK。-S
がどのドメインの生物を検索するか、-m
がどのサブユニットのrRNAを検索するかというオプション。マルチスレッドには非対応だけど、そこそこ大きなFASTAファイル(10 MB)でも数分で分析できた。
開発者ブログによるとバージョンアップを進めているらしいので、今後に期待です。