AUGUSTUS 実行と学習手順(Conda 環境)

読了目安: 約5

導入

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 が有効な場合があります(対応種限定)。

参考