LoginSignup
1
0

More than 1 year has passed since last update.

BRAKER2 のインストール

Last updated at Posted at 2022-05-02

BRAKER1 が RNA-seq ベースのアノテーションだったのに対して、BRAKER2はタンパク質配列のアラインメントをもとにアノテーションを行う。そしてこの BRAKER2 による予測の精度はかなり高い。もちろん、RNA-seqとタンパク質配列の両方を同時に使ってアノテーションを行うこともできるが、20万遺伝子座くらいが予測されてしまって後のフィルタリングが大変なことになるので私は全くオススメしない。

1. BRAKER のインストール

BRAKER (https://github.com/Gaius-Augustus/BRAKER)

mamba create -n braker braker2 python=3.8
conda activate braker 

これで必要なツール類のインストールや、ややこしい環境変数の設定などは全て済ませられる(自力で Braker をインストールするのは大変)のだが、GeneMark-ES/ET/EPだけは自分で設定しないといけない。

2. GeneMark-ES/ET/EPのインストール

↓のサイトに行って、
http://exon.gatech.edu/GeneMark/license_download.cgi
Software の項目は GeneMark-ES/ET/EP をチェック。
Operation System の項目は余程のことじゃない限りは LINUX 64 kernel 4 - 5 の方をチェックするのが正解。
さらに下段にある住所氏名や連絡先を登録して、I agree to the terms of this license agreement をクリック。
ページが切り替わるので、Please download program here の "here" をクリック。gmes_linux_64_4.tar.gz というファイルがダウンロードされる。
なお、ライセンスは200日限りなので、200日経ったらまた上記のサイトに行って、登録情報を入力し直し、ライセンスに同意し、Please download key 32_bit or 64_bit のリンクからライセンスキー (gm_key_64.gz または gm_key_32.gz) をダウンロード。今なら 64 bit が多数派だろう。ライセンスキーは gunzip で解凍して、ホームディレクトリに .gm_key という名前に変更して保存する。
さて、プログラムはどこに保存してもよいが、私は Anaconda で管理できないツール類はホームディレクトリ(~ あるいは /home/アカウント名) の下に local というディレクトリを作って、そこに置くようにしている。以下は、 Windows でダウンロードフォルダにプログラムファイルを落とした場合。

cd ~ ( ~ を省略してもホームディレクトリに飛ぶが)
mkdir local
cd local
mv /mnt/c/Users/アカウント名/Downloads/gmes_linux_64_4.tar.gz .
tar xzf gmes_linux_64_4.tar.gz
cd gmes_linux_64_4
cp gm_key_64 ~/.gm_key

さらに、GENMARK_PATH という BRAKER 用の環境変数を設定するコマンドを、ホームディレクトリの .bash_profile に追記する。

echo "export GENEMARK_PATH=/home/アカウント名/local/gmes_linux_64_4" >> ~/.bash_profile
echo "export PROTHINT_PATH=/home/アカウント名/local/gmes_linux_64_4/ProtHint/bin" >> ~/.bash_profile
source ~/.bash_profile

多くのサイトはこれでインストール完了、となっていることが多いが、Anaconda で BRAKER をインストールした我々にとってはまだ終わりではない。

3. GeneMark の Perl/Python スクリプトの編集

gmes_linux_64_4の中身を見ると、.pl や .py というエクステンションのついたスクリプトファイルが沢山あるはずだ。これらはそれぞれ Perl や Python で書かれたスクリプトファイルなのだが、これらを 「Anaconda 側の Perl や Python を使う」よう、スクリプトの一部を書き換える必要がある。
というのも、デフォルトのままだと GeneMark の Perl スクリプト (.pl) や Python スクリプト (.py) が、Linux に最初からインストールされているシステム側の Perl (/usr/bin/perl) や Python (usr/bin/python) を使うことを前提に書かれているからだ。さっき BRAKER をインストールしたときに、braker 以外にもかなり沢山のソフトウェアやライブラリがインストールされたと思うが、その中に perl-file-spec などの Perl モジュール(アドオンみたいなもん)も含まれていたはずだ。しかしこのモジュール群は飽くまでも Anaconda 側の Perl にアドオンされたのであって、システム側の Perl は裸のままだ。なので、何も知らずに BRAKER を実行してしまうと "Perl モジュールの XXX が見つかりません" というエラーが出て止まってしまう。「そのモジュールなら入れたはずなのに、ないってどういうこと??」と迷子になってしまいがちなポイントだ。

で、具体的に何をするかだが、試しに gmes_linus_64_4 の中にある .pl や .py ファイルを開いてみよう。less でも nano でもよい。

  • .pl ファイルの1行目は#!/usr/bin/perl
  • .py ファイルの1行目は#!/usr/bin/python python3

となっているはずだ。この1行目の内容こそが、スクリプトにどこのperlやpythonを参照すべきかを指定する指示となっているのである。これを、それぞれ Anaconda の braker 環境のデフォルトとなっている perl と python に置き換える。確認の仕方は、
まず、Perl と Python のコマンドパスを確認しておこう。

conda activate braker

とした上で、

which perl

あるいは

which python

とすれば確認できる。多分、それぞれ/home/アカウント名/anaconda3/envs/braker/bin/perl /home/アカウント名/anaconda3/envs/braker/bin/python という出力が表示されるはずだ。これらこそが、GeneMark のスクリプト群が使うべき perl や python のパスである。したがって、先に出てきたスクリプトファイルの1行目の内容を、それぞれ
#!/home/アカウント名/anaconda3/envs/braker/bin/perl
#!/home/アカウント名/anaconda3/envs/braker/bin/python
に変更するのである。nano や GUI のテキストエディタでコピペを繰り返してもよいが、それなりに数が多いのでループで一括処理する方法もある。

for FILE in *.pl;
do sed -ie 's/\/usr\/bin\/perl/\/home\/アカウント名\/anaconda3\/envs\/braker\/bin\/perl/g' $FILE
done
for FILE in *.py;
do sed -ie 's/\/usr\/bin\/python python3/\/home\/アカウント名\/anaconda3\/envs\/braker\/bin\/python/g' $FILE
done

ProtHints などさらに下層のディレクトリにもスクリプトファイルがあるので、それらも漏れなく書き換えよう。
なお、sed の -i オプションは置換前の中身を置換後で上書きしてしまうオプションなので、スペルミスは禁物。いちおうファイル名の末尾にeがついたバックアプファイルも生成されるが、やらかしたと思ったときには.tar.gz を解凍し直す方が早いだろう。
これで、インストール完了だ。

4. OrthoDBのタンパク質配列をダウンロードする

↓から、自分に必要なタンパク質配列のアーカイブをダウンロードする。

私は植物を使うので、

cd ~/local
mkdir PROTEINS
cd PROTEINS
wget https://v100.orthodb.org/download/odb10_plants_fasta.tar.gz
tar xzf odb10_plants_fasta.tar.gz
cd plants
cat Rawdata/* > proteins.fasta

これで BRAKER の準備は完了である。

関連

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0