公開されたゲノムには、オープンリーディングフレーム、開始点、スプライスサイト、および関連する構造的特徴の同定に関連する問題を表す誤った遺伝子モデルが含まれていることが多い。これらの矛盾の原因は、ロングリードのアラインメントと予測された遺伝子構造を記述するためにデザインされたテキストファイルフォーマット間の統合に起因することが多い。さらに、遺伝子予測フレームワークの大部分は、問題のある遺伝子アノテーションを除去するロバストなダウンストリームフィルタリングを提供しておらず、これらのアノテーションを現在のファイル標準と一致するフォーマットで表現していない。また、これらのフレームワークには、遺伝子モデルの検証に使用できるタンパク質ドメインの有無などの機能的属性に対する考慮が欠けている。ゲノムアノテーションの公開数が増加する中、予測された遺伝子モデルとアラインメントをフィルタリング、解析、変換するソフトウェアパッケージ、Gene Filtering, Analysis, and Conversion (gFACs)を紹介する。gFACsはゲノムブラウザを含む一般的な下流アプリケーションをサポートし、提案された遺伝子空間をさらに評価するために可視化可能な分布を含むフィルタリングプロセスに関する広範な詳細を生成する。gFACsは自由に利用可能で、BioPerlライブラリ(https://gitlab.com/PlantGenomicsLab/gFACs)のサポートによりPerlで実装されている。
Documentation
Introduction to gFACs — gFACs 1.0.0 documentation
Supported Input Formats
https://gfacs.readthedocs.io/en/latest/Getting_Started/Formats.html
(braker2、prokka、EVM、stringtie、genomethreader、gffread、exonerate、gmap、coge、makerなど)
マニュアルより
gFACsは、loblolly pine megagenomeのアノテーション中に作成された。異なるソフトウェアやアラインメントツールから作成された遺伝子モデルを扱うにあたり、これらのモデルをフィルタリングし、マージする方法が必要であった。残念ながらそのようなシステムは存在しなかったので、gFACsはこのニッチを埋めるために設計・開発された。遺伝子モデルのエビデンスを生成するアプリケーションには、アライナーやab initio遺伝子予測ソフトウェアがある。これらのプログラムは類似の構造化されたgene transfer format (gtf)またはgeneral file format (gff)で予測やアラインメントを報告するが、これらの標準にはほとんど一貫性がない。gFACsは最終的な遺伝子モデルを、構造属性に関するユーザー提供のフィルターに基づいてフィルタリングし、選択する。さらに、gFACsは真のモデルを定義するための追加フィルターとして、オプションでEnTAPアプリケーションからの機能的アノテーションを考慮することができる。
インストール
#conda(link)
mamba install -c bioconda perl-gfacs -y
> gFACs.pl
$ gFACs.pl
gFACs.pl
Contact: Madison.Caballero@uconn.edu
Version: 1.1.2 (07/17/2020)
-------------------------------------------------------------GFACS MANUAL-------------------------------------------------------------
Welcome to gFACs, the one stop destination to understand what your annotation or alignment is secretly telling you. The script gFACs.pl
is a task-assigning script that calls upon many different scripts to analyze your .gff3, .gff, or .gtf files by creating a median format
called gene_table.txt. From here, statisitcs can be calculated and distribution tables created. Mutliple filter paramteters can be used to
create an annotation or alignment you can be proud of.
To run this script:
gFACs.pl -f <format> [options] -O <output directory> <input_file>
Mandatory inputs:
-f <format>
-O <output directory>
<input_file> .gff3, .gtf, or .gff as the LAST argument.
Default output files:
gFACs_log.txt
gene_table.txt
Supported formats:
-f [format] Specifying a format: A mandatory step to call upon the right script.
Available formats:
Braker format augustus.gff/gff3/gft:
braker_2.0_gtf
braker_2.0_gff
braker_2.0_gff3
braker_2.05_gff3
braker_2.05_gff
braker_2.05_gtf
braker_2.1.2_gtf - Works for 2.1.0-2.1.5
Braker format braker.gtf:
braker_2.1.5_gtf
maker_2.31.9_gff
prokka_1.11_gff
gmap_2017_03_17_gff3
genomethreader_1.6.6_gff3
stringtie_1.3.4_gtf
gffread_0.9.12_gff3
exonerate_2.4.0_gff
EVM_1.1.1_gff3
CoGe_1.0_gff
gFACs_gene_table
gFACs_gtf
refseq_gff
Additional parameters you can include:
Flag descriptions: https://gfacs.readthedocs.io/en/latest/
-p [prefix]
--false-run
--statistics
--statistics-at-every-step
--no-processing
--no-gene-redefining
--rem-5prime-incompletes
--rem-3prime-incompletes
--rem-5prime-3prime-incompletes
--rem-all-incompletes
--rem-monoexonics
--rem-multiexonics
--min-exon-size [nt number]
--min-intron-size [nt number]
--min-CDS-size [nt number]
--unique-genes-only
--sort-by-chromosome
Flags that require that you input an entap tsv file:
--entap-annotation [/path/to/your/entap/annotation.tsv]
Flags you can include once entap table is specified:
--annotated-ss-genes-only
--annotated-all-genes-only
Flags that require that you input a fasta file because seqeunce is being involved:
***NOTE: DO NOT RUN FASTA FLAGS WITH --no-processing. Genetic coordinates may disrupt bioperl commands!***
--fasta [/path/to/your/nucleotide/fasta.fasta]
Flags you can include once fasta is specified:
--splice-table
--canonical-only
--rem-genes-without-start-codon
--allow-alternate-starts
--rem-genes-without-stop-codon
--rem-genes-without-start-and-stop-codon
--allowed-inframe-stop-codons [number]
--nt-content
--get-fasta
--get-protein-fasta
--create-gtf
--create-simple-gtf
--create-gff3
Output compatibility options (requires fasta):
Things compatible by default with --create-gtf : Jbrowse
--compatibility [option] [option] etc...
SnpEff
EVM_1.1.1_gene_prediction
EVM_1.1.1_alignment
stringtie_1.3.6_gtf
Distribution table creation:
--distributions [option] [option] etc...
Available distribution options are:
exon_lengths
intron_lengths
CDS_lengths
gene_lengths
exon_position
exon_position_data
intron_position
intron_position_data
Advanced: To control step level on distributions after exon_lengths, intron_lengths, CDS_lengths, and gene_lengths can be added.
Example: exon_lengths 10
###
2018 Madison Caballero - University of Connecticut. This file is part of gFACs.
gFACs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at your option) any later version. gFACs is distributed in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with gFACs.
If not, see <https://www.gnu.org/licenses/>.
実行方法
使用方法についての説明があまりないが、主な入力はアノテーションファイルで、gene transfer format (gtf)またはgeneral feature format (gff/gff3)のいずれかを指定する。また、gFACs固有の遺伝子テーブルファイルを使うこともできる。
gFACs.pl \
-f braker_2.05_gff \
-p FULL_TEST \
--statistics \
--statistics-at-every-step \
--rem-5prime-3prime-incompletes \
--rem-all-incompletes \
--min-exon-size 100 \
--min-intron-size 200 \
--min-CDS-size 100 \
--unique-genes-only \
--fasta hg19.fa \
--splice-table \
--canonical-only \
--rem-genes-without-start-codon \
--allow-alternate-starts \
--rem-genes-without-stop-codon \
--rem-genes-without-start-and-stop-codon \
--allowed-inframe-stop-codons 0 \
--nt-content \
--get-fasta-with-introns \
--get-fasta-without-introns \
--get-protein-fasta \
--create-gtf \
--create-simple-gtf
--create-gff3 \
--entap-annotation /my/entap/outfiles/final_annotations_lvl4_no_contam.tsv \
--annotated-all-genes-only \
--distributions \
exon_lengths 10 \
intron_lengths 15 \
CDS_lengths 20 \
gene_lengths 100 \
exon_position \
exon_position_data \
intron_position \
intron_position_data \
--compatibility \
SnpEff \
EVM_1.1.1_gene_prediction \
EVM_1.1.1_alignment \
-O . \
augustus.hints.gff
--fastaはアノテーションの配列のfastaファイルで必須。--entap-annotationはアノテーションの最終出力。gFACsを使用してオリジナルのアノテーションをフィルタリングし、EnTAPで機能アノテーションを行い、gFACsで再度フィルタリングを行うことを想定している。
--distributionsはアノテーションをディストリビューション用のフォーマットに再フォーマットするためのオプション。--distributionsフラグを立て、それ続いてオプションを指定する。--compatibilityは出力アノテーションを特定のプログラム向けに微修正するために使用する。例えばEVidence Modeler v1.1の遺伝子フォーマットのgffとして使用するには--compatibilityに続いてEVM_1.1.1_gene_predictionを付ける。
- dry-runに似た”--false-run”というフラグがある。立てるとgFACsは正常に実行されるが、フィルタリングは実行されず、logに何が除去され、何が保持されているか書き込まれる。
引用
gFACs: Gene Filtering, Analysis, and Conversion to Unify Genome Annotations Across Alignment and Gene Prediction Frameworks
Madison Caballero, Jill Wegrzyn
Genomics Proteomics Bioinformatics. 2019 Jun; 17(3): 305–310
関連