2023/09/01 論文引用
アース・バイオゲノムプロジェクトによって、利用可能な真核生物ゲノムの数は急速に増加しているが、公開されたゲノムのほとんどは、タンパク質をコードする遺伝子のアノテーションが不足している。さらに、いくつかのゲノムではトランスクリプトームデータが利用できない。様々な遺伝子アノテーションツールが開発されているが、それぞれに限界がある。ここでは、迅速なタンパク質-ゲノムアライナーであるminiprotとAUGUSTUSを組み合わせて、高精度で遺伝子を予測する完全自動化パイプラインであるGALBAを紹介する。精度の結果から、GALBAは特に大型脊椎動物ゲノムのアノテーションに強いことが示された。また、昆虫、脊椎動物、未アノテーションの陸上植物での使用例も紹介する。GALBAは完全にオープンソースであり、ハイパフォーマンス・コンピューティング環境においてSingularityで簡単に実行できるDockerイメージとして利用可能である。本パイプラインは、新しく配列決定されたゲノムの正確な遺伝子アノテーションの重要なニーズに対応しており、GALBAが多様な生物のゲノムアノテーションを大幅に促進すると信じている。
Automated and Accurate Genome Annotation with BRAKER, GALBA, & TSEBRA
https://evomics.org/wp-content/uploads/2023/05/slides_genome_annotation_cesky_krumlov_2023.pdf
レポジトリより
ゲノム配列の数が急速に増加しているため、正確な遺伝子構造アノテーションのための完全自動化手法が必要とされている。GALBAは、新規な生物種に対してAUGUSTUSをトレーニングし、その後その生物種のゲノム中のAUGUSTUSを持つ遺伝子を予測する完全自動遺伝子パイプラインを提供する。GALBAは近縁種のタンパク質配列を使用して、miniprotまたはGenomeThreaderでAUGUSTUSのトレーニング遺伝子セットを生成する。トレーニング後、GALBAは遺伝子予測時にタンパク質とゲノムのアライメントから得られた証拠を使用する。
なお、中小サイズのゲノム(線虫、A. thaliana、D. melanogasterなど)では、一般的なBRAKERRパイプラインの方がGALBAよりも正確な結果が得られる可能性が高い。BRAKERは、1つの近縁種のタンパク質配列のみを使用する代わりに、大規模な配列データベースのタンパク質を使用出来る。BRAKERはRNA-Seqデータも取り込むことができる。GALBAとは対照的に、BRAKERは非常に近縁な生物種のアノテーションがなくても(RNA-Seqデータがなくても)、高い遺伝子予測精度を達成する。しかし、近縁種からのタンパク質を使用する場合、大規模ゲノム(Mus musculus、Gallus gallusなど)ではGALBAの方が明らかに有利である。GALBAの使用を決定する前に、精度のセクションを読んでください(リンク)。
インストール
(簡単なので)singuarlityを使って実行することが推奨されている。レポジトリの説明に従って導入した。
#権限ないならsudoで実行
singularity build galba.sif docker://katharinahoff/galba-notebook:latest
=>カレントにgalba.sifができる。
#実行
singularity exec galba.sif galba.pl
> singularity exec galba.sif galba.pl
$ singularity exec galba.sif galba.pl
DESCRIPTION
galba.pl Pipeline for for de novo gene prediction with AUGUSTUS using Miniprot
or GenomeThreader
SYNOPSIS
galba.pl [OPTIONS] --genome=genome.fa -prot_seq=prot.fa
INPUT FILE OPTIONS
--genome=genome.fa fasta file with DNA sequences
--prot_seq=prot.fa A protein sequence file in multi-fasta
format used to generate protein hints.
--hints=hints.gff Alternatively to calling galba.pl with a
protein fasta file, it is possible to
call it with a .gff file that contains
hints that were previously generated by
GALBA or the scripts within GALBA.
This flag also allows the usage of hints
from additional extrinsic sources for gene
prediction with AUGUSTUS. To consider such
additional extrinsic information, you need
to use the flag --extrinsicCfgFiles to
specify parameters for all sources in the
hints file (including the source "P" for
GALBA protein hints)
FREQUENTLY USED OPTIONS
--species=sname Species name. Existing species will not be
overwritten. Uses Sp_1 etc., if no species
is assigned
--AUGUSTUS_ab_initio output ab initio predictions by AUGUSTUS
in addition to predictions with hints by
AUGUSTUS
--gff3 Output in GFF3 format (default is gtf
format)
--threads Specifies the maximum number of threads that
can be used during computation. Be aware:
optimize_augustus.pl will use max. 8
threads; augustus will use max. nContigs in
--genome=file threads.
--workingdir=/path/to/wd/ Set path to working directory. In the
working directory results and temporary
files are stored
--nice Execute all system calls within galba.pl
and its submodules with bash "nice"
(default nice value)
--alternatives-from-evidence=true Output alternative transcripts based on
explicit evidence from hints (default is
true).
--crf Execute CRF training for AUGUSTUS;
resulting parameters are only kept for
final predictions if they show higher
accuracy than HMM parameters.
--keepCrf keep CRF parameters even if they are not
better than HMM parameters
--prg=miniprot|gth Specify either miniprot or gth
(GenomeThreader); default is miniprot.
--makehub Create track data hub with make_hub.py
for visualizing GALBA results with the
UCSC GenomeBrowser
--email E-mail address for creating track data hub
--version Print version number of galba.pl
--help Print this help message
CONFIGURATION OPTIONS (TOOLS CALLED BY GALBA)
--AUGUSTUS_CONFIG_PATH=/path/ Set path to config directory of AUGUSTUS
(if not specified as environment
variable). GALBA1 will assume that the
directories ../bin and ../scripts of
AUGUSTUS are located relative to the
AUGUSTUS_CONFIG_PATH. If this is not the
case, please specify AUGUSTUS_BIN_PATH
(and AUGUSTUS_SCRIPTS_PATH if required).
The galba.pl commandline argument
--AUGUSTUS_CONFIG_PATH has higher priority
than the environment variable with the
same name.
--AUGUSTUS_BIN_PATH=/path/ Set path to the AUGUSTUS directory that
contains binaries, i.e. augustus and
etraining. This variable must only be set
if AUGUSTUS_CONFIG_PATH does not have
../bin and ../scripts of AUGUSTUS relative
to its location i.e. for global AUGUSTUS
installations. GALBA1 will assume that
the directory ../scripts of AUGUSTUS is
located relative to the AUGUSTUS_BIN_PATH.
If this is not the case, please specify
--AUGUSTUS_SCRIPTS_PATH.
--AUGUSTUS_SCRIPTS_PATH=/path/ Set path to AUGUSTUS directory that
contains scripts, i.e. splitMfasta.pl.
This variable must only be set if
AUGUSTUS_CONFIG_PATH or AUGUSTUS_BIN_PATH
do not contains the ../scripts directory
of AUGUSTUS relative to their location,
i.e. for special cases of a global
AUGUSTUS installation.
--MINIPROT_PATH=/path/to/tool Set path to Miniprot binary
if not specified as environment
MINIPROT_PATH variable. Has higher
priority than environment variable. Only
required if --prg="gth" is not set.
--SCORER_PATH=/path/to/tool Set path to Miniprot
miniprot_boundary_scorer
if not specified as environment
SCORER_PATH variable. Has higher
priority than environment variable. Only
required if --prg="gth" is not set.
--MINIPROTHINT_PATH=/path/to/tool Set path to miniprothint.py
if not specified as environment
MINIPROTHINT_PATH variable. Has higher
priority than environment variable. Only
required if --prg="gth" is not set.
--GENOMETHREADER_PATH=/path/to/tool Set path to GenomeThreader binary
if not specified as environment
GENOMETHREADER_PATH variable. Has higher
priority than environment variable. Only
required if --prg="gth"
--DIAMOND_PATH=/path/to/diamond Set path to diamond, this is an alternative
to NCIB blast; you only need to specify one
out of DIAMOND_PATH.
--PYTHON3_PATH=/path/to Set path to python3 executable (if not
specified as envirnonment variable and if
executable is not in your $PATH).
--MAKEHUB_PATH=/path/to Set path to make_hub.py (if option --makehub
is used).
--CDBTOOLS_PATH=/path/to cdbfasta/cdbyank are required for running
fix_in_frame_stop_codon_genes.py.
EXPERT OPTIONS
--augustus_args="--some_arg=bla" One or several command line arguments to
be passed to AUGUSTUS, if several
arguments are given, separate them by
whitespace, i.e.
"--first_arg=sth --second_arg=sth".
--rounds The number of optimization rounds used in
optimize_augustus.pl (default 5)
--skipAllTraining Skip AUGUSTUS training, only
runs AUGUSTUS with pre-trained and already
existing parameters.
Hints from input are still generated.
--skipOptimize Skip optimize parameter step (not
recommended).
--skipGetAnnoFromFasta Skip calling the python3 script
getAnnoFastaFromJoingenes.py from the
AUGUSTUS tool suite. This script requires
python3, biopython and re (regular
expressions) to be installed. It produces
coding sequence and protein FASTA files
from AUGUSTUS gene predictions and provides
information about genes with in-frame stop
codons. If you enable this flag, these files
will not be produced and python3 and
the required modules will not be necessary
for running galba.pl.
--eval=reference.gtf Reference set to evaluate predictions
against (using evaluation scripts
from GaTech)
--eval_pseudo=pseudo.gff3 File with pseudogenes that will be excluded
from accuracy evaluation (may be empty file)
--verbosity=n 0 -> run galba.pl quiet (no log)
1 -> only log warnings
2 -> also log configuration
3 -> log all major steps
4 -> very verbose, log also small steps
--checkSoftware Only check whether all required software
is installed, no execution of GALBA
--nocleanup Skip deletion of all files that
are typically not
used in an annotation project after
running galba.pl. (For tracking any
problems with a galba.pl run, you
might want to keep these files, therefore
nocleanup can be activated.)
DEVELOPMENT OPTIONS (PROBABLY STILL DYSFUNCTIONAL)
--CfgFiles=file.cfg Specify custom extrinsic.cfg file
unless you know what you are doing!
--translation_table=INT Change translation table from non-standard
to something else.
DOES NOT WORK YET
--traingenes=file.gtf instead of using Miniprot or GTH to generate
traingenes, provide a gtf file.
EXAMPLE
galba.pl [OPTIONS] --genome=genome.fa --species=speciesname \
--prot_seq=proteins.fa
実行方法
ゲノムとタンパク質配列を指定する。ここでは*1の順で実行した。
git clone https://github.com/Gaius-Augustus/GALBA.git
cd GALBA/example/
galba.pl --species=yourSpecies --genome=genome.fa --prot_seq=proteins.fa
デフォルトではMiniprotが使用される。GenomeThreaderに切り替えるには--prg=gthを指定する(GenomeThreaderはSingularityイメージに含まれていない)。
出力例
GALBA.logを開いて、"FINISHED"まで表示されていることを確認する。
出力(レポジトリより)
- galba.gtf: AUGUSTUSによって予測された遺伝子。遺伝子間領域のサイズが大きい(>40,000 nt)ゲノムでは、TSEBRAを用いてこの遺伝子セットのノイズを減らしている。
- augustus.ab_initio.gtf: AUGUSTUSによりab initioモードで予測された遺伝子のGTFフォーマット。AUGUSTUSが--esmodeオプション付きで実行された場合、このファイルは常に存在する。そうでない場合は、GALBAが--AUGUSTUS_ab_initioオプション付きで実行された場合のみ存在する。
- hintsfile.gff: タンパク質データから抽出された外部証拠データ。
- GTF形式は常に生成される。
- GALBAに--gff3フラグが指定されている場合は、GFF3-formatが生成される。
その他
- -makehubオプションが使用されている場合(MakeHubが利用可能であること)、hub_という名前で始まるhubディレクトリが作成される。hub.txtファイルがこのディレクトリに含まれる。このファイルをUCSC Genome Browserに提供してアノテーション結果を可視化することが出来る(MakeHubはSingularityイメージに含まれている)。
引用
GALBA: Genome Annotation with Miniprot and AUGUSTUS
Tomáš Brůna, Heng Li, Joseph Guhlin, Daniel Honsel, Steffen Herbold, Mario Stanke, Natalia Nenasheva, Matthis Ebel, Lars Gabriel, Katharina J. Hoff
bioRxiv, Posted April 10, 2023
2023/09/01追記
Galba: genome annotation with miniprot and AUGUSTUS
Tomáš Brůna, Heng Li, Joseph Guhlin, Daniel Honsel, Steffen Herbold, Mario Stanke, Natalia Nenasheva, Matthis Ebel, Lars Gabriel & Katharina J. Hoff
BMC Bioinformatics volume 24, Article number: 327 (2023)
関連
*1
$ cd <change>/<to>/<data_dir>
$ singularity shell --bind $PWD:/root galba.sif #イメージを指定してラン、shellに入る。
#書き込み禁止のディレクトリを書き込み可能なディレクトリにコピー
> mkdir AUGUSTUS
> cp -r /usr/share/augustus/ AUGUSTUS/
#環境変数AUGUSTUS_CONFIG_PATHをコピーしたディレクトリのconfigに変更
> export AUGUSTUS_CONFIG_PATH=AUGUSTUS/augustus/config/
#GALBAの実行。--AUGUSTUS_CONFIG_PATHオプションでさきほどのパスを指定
> galba.pl --species=mygenome --genome=genome.fasta --prot_seq=protein.faa --AUGUSTUS_CONFIG_PATH=/root/AUGUSTUS/augustus/config/