macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

遺伝子アノテーションをフィルタリング、解析、変換する gFACs

 

 公開されたゲノムには、オープンリーディングフレーム、開始点、スプライスサイト、および関連する構造的特徴の同定に関連する問題を表す誤った遺伝子モデルが含まれていることが多い。これらの矛盾の原因は、ロングリードのアラインメントと予測された遺伝子構造を記述するためにデザインされたテキストファイルフォーマット間の統合に起因することが多い。さらに、遺伝子予測フレームワークの大部分は、問題のある遺伝子アノテーションを除去するロバストなダウンストリームフィルタリングを提供しておらず、これらのアノテーションを現在のファイル標準と一致するフォーマットで表現していない。また、これらのフレームワークには、遺伝子モデルの検証に使用できるタンパク質ドメインの有無などの機能的属性に対する考慮が欠けている。ゲノムアノテーションの公開数が増加する中、予測された遺伝子モデルとアラインメントをフィルタリング、解析、変換するソフトウェアパッケージ、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固有の遺伝子テーブルファイルを使うこともできる。

run_sample.shの例

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

 

関連