AUGUSTUS 実行と学習手順(Conda 環境)
導入
Conda 環境で AUGUSTUS を導入し、GFF とゲノム FASTA から学習・評価まで再現します。コマンドは Linux を想定しています。
インストール・設定
1. インストール
# 環境作成
mamba create -n ENV_NAME -c conda-forge -c bioconda augustus -y
mamba activate ENV_NAME
# boost依存関係の修正(py-boostが競合する場合)
mamba remove py-boost -y
mamba install -c conda-forge libboost=LIBBOOST_VERSION -y
凡例: ENV_NAME=Conda 環境名 / LIBBOOST_VERSION=libboost のバージョン(例: 1.83.*)
補足: Bioconda パッケージは実行ファイル一式と config
を $CONDA_PREFIX
に展開します。
2. 設定ディレクトリの準備
# AUGUSTUS が参照する設定パスを環境変数に設定
export AUGUSTUS_CONFIG_PATH="$CONDA_PREFIX/config"
注: カスタマイズしたい場合のみ、作業用に config
をコピーしてからそのパスを設定します。
# 任意(設定差分を管理したい場合)
mkdir -p WORKDIR/augustus
cp -r "$CONDA_PREFIX/config" WORKDIR/augustus/config
export AUGUSTUS_CONFIG_PATH="WORKDIR/augustus/config"
凡例: WORKDIR=作業ディレクトリのパス
3. 動作確認
augustus --version
augustus --help # ヘルプ表示で確認
学習の実行例
1. データ準備(GFF3 + FASTA → GenBank)
gff2gbSmallDNA.pl
は、注釈 GFF3 とゲノム FASTA から、遺伝子本体と前後の余白 DNA(フランキング)を切り出して GenBank を生成します。
# 第3引数 = フランキング長(bp)※必須(デフォルトなし)
gff2gbSmallDNA.pl ANNOTATION.gff3 GENOME.fa FLANK_BP OUTPUT.gb
凡例: ANNOTATION.gff3=注釈GFF3 / GENOME.fa=ゲノムFASTA / FLANK_BP=フランキング長(例: 1000)/ OUTPUT.gb=出力GenBank
注:
- 第3引数(max-size-of-gene-flanking-DNA)は必須。デフォルトはありません(例では 1000 を明示)。
- 隣接遺伝子が 2×指定値より近い場合、自動的に両側へ按分して短縮されます。
- GFF の
seqid
と FASTA のヘッダは一致している必要があります。
2. 新規種テンプレートの作成
学習先となるパラメータ置き場(種)を作成します。
new_species.pl --species=MY_SPECIES --AUGUSTUS_CONFIG_PATH="$AUGUSTUS_CONFIG_PATH"
凡例: MY_SPECIES=学習用パラメータの種名(作成するディレクトリ名)
注: $AUGUSTUS_CONFIG_PATH/species
が書き込み可能であることを確認してください。
3. データ分割(評価用の確保)
randomSplit.pl TRAIN.gb TEST_COUNT
# 生成物: TRAIN.gb.test / TRAIN.gb.train
凡例: TRAIN.gb=学習データGenBank / TEST_COUNT=テストに回す遺伝子数(例: 100)
4. 基本学習(etraining)
etraining --species=MY_SPECIES --AUGUSTUS_CONFIG_PATH="$AUGUSTUS_CONFIG_PATH" TRAIN_GB_TRAIN
凡例: TRAIN_GB_TRAIN=学習用GenBank(例: TRAIN.gb.train)
完了すると species/myspecies/
に *_exon_probs.pbl
などの学習済みファイルが生成されます。
5. 初期評価(ab initio 予測の確認)
augustus --species=MY_SPECIES --AUGUSTUS_CONFIG_PATH="$AUGUSTUS_CONFIG_PATH" \
TRAIN_GB_TEST | tee FIRSTTEST_OUT
grep -A 22 "Evaluation of gene prediction" FIRSTTEST_OUT
凡例: TRAIN_GB_TEST=評価用GenBank(例: TRAIN.gb.test)/ FIRSTTEST_OUT=出力ログ(例: firsttest.out) 感度・精度(nucleotide/exon/gene レベル)の見方を把握し、改善余地を判断します。
6. メタパラメータ最適化(任意)
より高精度を狙う場合は、交差検証でメタパラメータを最適化します。
optimize_augustus.pl --species=MY_SPECIES --AUGUSTUS_CONFIG_PATH="$AUGUSTUS_CONFIG_PATH" \
--cpus=CPU_COUNT TRAIN_GB_TRAIN
凡例: CPU_COUNT=並列数(例: 4) 違い:
etraining
: コア確率モデル(exon/intron/igenic)を推定。optimize_augustus.pl
: 交差検証でメタパラメータを自動探索し精度最大化。
新規配列での予測
augustus --species=MY_SPECIES --gff3=on --AUGUSTUS_CONFIG_PATH="$AUGUSTUS_CONFIG_PATH" \
GENOME.fa > PREDICTION.gff3
凡例: GENOME.fa=予測対象のFASTA / PREDICTION.gff3=出力GFF3
典型的なつまずきと対処
- 依存競合(boost):
mamba remove py-boost -y
後にmamba install -c conda-forge libboost=LIBBOOST_VERSION -y
を実行します。 - 設定未検出:
AUGUSTUS_CONFIG_PATH
を設定し、species/myspecies
の存在と書込権限を確認します。 - GFF と FASTA のID不一致: GFF3 の seqid のエスケープや FASTA ヘッダの簡素化(
simplifyFastaHeaders.pl
)を検討します。 - UTR を予測したい: 種により
--UTR=on
が有効な場合があります(対応種限定)。