#はじめに
Augustusは真核生物の遺伝子モデル構築に良く使われます。多くの種について、それぞれに対応した遺伝子モデルパラメーターを提供していますが、まだモデルが十分でない生物群もあります。そのような種についてモデリングをする場合は、自前で遺伝子モデルを構築する必要があります。Augustusはそのためのスクリプトを提供してくれているので、それらを使ったモデリングの方法について書いておきます.
以下のスクリプトやBRAKER1 を使ってトレーニングをすることも出来るようです。
/augustus-3.2.3/scripts/autoAug.pl
#使用ソフト
Augustus (3.2.1)
#参考サイト
本家解説サイト
#手順1.信頼出来る遺伝子モデル(200-1000遺伝子)を準備
RNAseqデータなどを元に、信頼出来る遺伝子モデルを200個以上準備する。
私は、偏りが生じない様に、最長コンティグなどについて、全モデルを目でピックアップしています。
遺伝子モデルはgenbank形式で準備する。GFFなどの場合は以下のスクリプトなどをつかってgenbankへ変換しておく。
/augustus-3.2.3/scripts/gff2gbSmallDNA.pl
上流下流に200bpの余分を取って遺伝子を抜き出す
perl /home/maedat/opt/augustus-3.2.3/scripts/gff2gbSmallDNA.pl all.gff all.fa 200 all.gb
注意点
- スプライシングバリアントは含めない(1遺伝子について1モデルだけ)
- イントロンが入っている遺伝子をいれる(当然)
- UTRにも対応しているが、それ用のデータ(完全長mRNA解析など)がないならモデルに含めない方がよい(と思う)。
#手順2.遺伝子モデルをテスト用とトレーニング用に分ける
トレーニングの結果どれだけモデルが改善されたかを検証するためのテスト用遺伝子をあらかじめ取っておきそれはトレーニングには用いない (当てはまりではなく”予測性のよさ”を問題にするため)
~/opt/augustus-3.2.3/scripts/randomSplit.pl genes.gb 100
以上のスクリプト実行すると
テスト用のデータセット(100遺伝子):myspecies.gb.test
と
トレーニング用のデータセット(残り遺伝子): myspecies.gb.train
が作られる。
これらは元データからランダムに選ばれたもので、単に頭から100遺伝子取ってくるのではデータとして不適切である。
なので必ずtraining_extract.shスクリプトを使って遺伝子を分けよう。
#手順3.新しく作るモデル用にファイルやディレクトリを作成する。
##モデルディレクトリの作成
以下のスクリプトによってAugustusディレクトリの中に、新しいモデル用のファイルが作成される
~/opt/augustus-3.2.3/scripts/new_species.pl --species=my_new_species
作られる場所は、Augustusのインストール時にAUGUSTUS_CONFIG_PATHとして指定した場所である
デフォルトなら以下など
/augustus-3.2.3/config/species/
##stopCodonExcludedFromCDSを変更
以下の様なファイル(他にも色々あるが、、)が作られる。
/augustus-3.2.3/config/species/my_species/my_species_parameters.cfg
このファイルで出力データなどの変更ができる
#手順4.1回目のトレーニング
まず1回トレーニングを行う。
etraining --species=my_species genes.gb.train
/augustus-3.2.3/config/species/species/my_species ディレクトリに
新しく
my_species_(intron|exon|igenic).pbl
が出来ているので確認する
試しにab initio予測をして予測精度を確認する。
augustus --species=my_species genes.gb.test | tee firsttest.out
firsttest.outにlogが出ているのでそこから統計量を取り出して概観する
grep -A 22 Evaluation firsttest.out
同様に既存の augustusについてきたモデルを使って予測を行い
統計量をみて、実際に良くなっているか確認するのもよいだろう
#手順4.2回目のトレーニング
一日くらいかかる。上だけで終わることも出来るが、こっちをやっておいた方がよいだろう
まずaugustusのメタパラメータを最適化する
~/opt/augustus-3.2.3/scripts/optimize_augustus.pl --species=my_species myspecies.gb.train --cpus=20
再度モデルのトレーニングを行う
etraining --species=my_species genes.gb.train
上記の様にab initioに予測をして、精度が上がったか確認する。