macでインフォマティクス

macでインフォマティクス

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

パンゲノム解析によってアノテーション情報の改善を試みる panaroo

Preprintより

 原核生物のゲノム進化は、親から子への遺伝物質の垂直伝達と生物間の水平遺伝子伝達の両方によって引き起こされる(ref.1)。細菌の大規模なシーケンシング研究から、種内ゲノム含有量に大規模な違いが生じることが確認されている(ref.2)。これにより、種全体で発見されたすべての遺伝子のセットであるパンゲノム研究に至った(ref.3)。パンゲノム内では、遺伝子は「コア」ゲノムの一部、種のすべてのメンバーに存在する遺伝子のセット、または非コアゲノム(「アクセサリ」)に分けられる。細菌ゲノムデータセットのパンゲノムを推定する際の一般的な問題は、共有配列の同一性によって定義される相同遺伝子を、オルソログまたはパラログのクラスターに分類することである。オルソログは、共通の祖先の同じ祖先配列から割り当てられた相同な遺伝子であり、遺伝子の重複や獲得によるものではない。バクテリアのパンゲノムを分析するとき、遺伝子またはタンパク質の機能だけでなく、その場所にも関心があることがよくある。2つのほぼ同一の遺伝子がゲノムの異なる場所で異なる調節を受けている可能性があるからである。したがって、パンゲノム解析の多くのプログラムは、位置情報を使用してパラログをさらに識別する。これは、2つの遺伝子が遺伝子の重複により同じ祖先配列から外れた場合、またはホモログが水平に取得された場合に発生する。
 パンゲノムを推定するこれまでのアプローチには、Roary、OrthoMCL、PanOCT、PIRATE、PanX、PGAP、COG-soft、MultiParanoidが含まれる(ref.4〜10)。パンゲノムを決定する方法の大半は、2つの同様のアプローチのいずれかを使用する傾向がある(論文補足図1)。ほとんどの場合、CD-HIT、BLAST、DIAMONDなどの相同性検索ツールを使用して、定義済みの遺伝子配列間の類似性を推測することから始まる(ref.11–13)。この出力を使用して、ペアワイズ距離行列が作成され、一般的なマルコフクラスタリングアルゴリズム(MCL)を使用するか、ペアワイズベストヒット(BeTs)のトライアングルを調べることにより、遺伝子が直交グループにクラスター化される(ref.14、15)。これらの方法のサブセットは、各遺伝子の近傍またはゲノムコンテキストを使用して、オルソロガスクラスターをパラログにさらに分割することによって継続する。
 細菌ゲノム集団の研究が大きくなるにつれて、ゲノムアノテーションの正確さやゲノムアセンブリの連続性の対応する増加はなかった。したがって、これらのデータベースが成長するにつれて、誤った遺伝子アノテーションの数も増加した。これは、結果として生じるパンゲノムの推定値に大きな意味を持ち、それにより、より多くのゲノムがより多くのエラーにつながる(ref.16、17)。このようなエラーは、アクセサリーゲノムの遺伝子座を介して作用するNFDSのモデリングなど、パンゲノムの下流モデリングに問題を引き起こす可能性がある(ref.18、19)。断片化されたアセンブリ、誤ったアノテーション、汚染、および誤ったアセンブリにより、エラーがパンゲノム解析に導入される可能性がある。デントンらは、断片化されたアセンブリが真核生物のドラフトゲノムにおける遺伝子数の増加の主な原因であることを示した(ref.17)。エラーは、しばしばアクセサリーゲノムのサイズの推定にインフレーションをもたらすが、アノテーションソフトウェアが遺伝子を特定できない場合、または遺伝子がアセンブリの中断によって断片化された場合、推定サイズを縮小する場合、コアゲノム遺伝子の欠落につながる可能性がある。現在のパンゲノム推論アルゴリズムの多くは、シミュレートされたデータを使用した厳密な検証の対象ではない。その結果、初期のゲノムアノテーションで発生するエラーに対処する能力は限られた注目を集めた。ここでは、パンゲノムを推定する別のアプローチ、Panarooを提示する。これは、グラフベースのアルゴリズムを使用してゲノム間で情報を共有し、アノテーションエラーの多くの原因を修正できるようにする。panarooは、データセット内の各ゲノムによって提供される追加情報を活用して、アノテーションコールを改善し、その結果、パンゲノム内のオルソログとパラログのクラスタリングを改善する。また、提供する分析パッケージをさらに充実させ、統合されたデータ品質管理、遺伝子関連分析を可能にし、種間のパンゲノムの比較を可能にする多数の分析前および分析後スクリプトを提供する。 Panarooはパンゲノムの完全なグラフ表現を構築するので、結果のグラフ内に構造的変動を調査することができ、構造的変動と表現型との関連付けを呼び出すことができる。 Infinitely Many Genesモデル(ref.20)を使用した広範なシミュレーションと、Global Pneumococcal Sequencing(GPS)プロジェクトの主要なクレードを含む大規模な細菌ゲノムデータセットの多様な分析(ref.21)により、アルゴリズムの成功を実証する。 Panarooの出力を、パンゲノムを分析するための従来のゴールド標準法と比較し、Panarooが優れたオルソログクラスターを生成し、多くの場合、推定されるアクセサリーゲノムのサイズの大幅な減少とコアゲノムサイズの増加の両方をもたらすことを示す。
 Panarooはパンゲノムの完全なグラフィック表現を構築する。ノードはオルソロガス遺伝子(COG)のクラスターであり、2つのノードは母集団のサンプルのコンティグ上で隣接している場合、エッジで接続される。このグラフィカルな表現を使用して、Panarooは、アノテーション中に導入されたエラーを修正する。多様な遺伝子ファミリーの崩壊、汚染のフィルタリング、断片化された遺伝子セグメントのマージ、欠損遺伝子の再発見。 Panarooは、CD-HITを使用して初期遺伝子クラスターを生成し、すべてのサンプルのすべての遺伝子配列のコレクションをクラスター化する。パラログは、各クラスターに各ゲノムを1回だけ存在させることで分割される。断片化または誤って翻訳された遺伝子は、各ノードの近傍情報に基づいて識別およびマージされる。多様な遺伝子ファミリーは、緩和されたアライメントのしきい値と、グラフから得られた近傍情報。最後に、1つまたは複数のサンプルから潜在的に欠落している遺伝子がグラフで識別され、遺伝子の存在を確認するために隣接ノード近くのコンティグシーケンスが検索される。
 Panarooは入力としてGFF3形式のアノテーション付きアセンブリを取得し、Cytoscapeまたは他のグラフ視覚化ソフトウェアで表示するためのGML形式の完全なアノテーション付きグラフだけでなく、遺伝子存在/不在のマトリックス(Roaryなど)を含むさまざまな出力形式を生成する。 Panarooパッケージには、初期の品質管理や、パンゲノムサイズ、遺伝子の増加率と損失率の決定、および一致する遺伝子の特定に使用できる多数の前処理および後処理スクリプトが含まれている。 Panarooは、最新バージョンのpyseerを含む他の多くのパンゲノム解析パッケージと簡単に連携して、表現型と遺伝子の有無の関連付け、および調査対象のグラフの構造的変化を可能にする(ref.24)。パッケージはpythonで記述されており、https://github.com/gtonkinhill/panaroo/からオープンソースMITライセンスの下で入手できる。

 

 

manual

https://gtonkinhill.github.io/panaroo/#/gettingstarted/installation

 

インストール

 

Github

#bioconda(link
conda create -n panaroo -y
conda activate panaroo
conda install -c bioconda panaroo

> panaroo -h

$ panaroo -h

usage: panaroo [-h] -i INPUT_FILES [INPUT_FILES ...] -o OUTPUT_DIR [-c ID]

               [-f FAMILY_THRESHOLD] [--len_dif_percent LEN_DIF_PERCENT]

               [--merge_paralogs] [--search_radius SEARCH_RADIUS]

               [--refind_prop_match REFIND_PROP_MATCH]

               [--mode {strict,moderate,relaxed}]

               [--min_trailing_support MIN_TRAILING_SUPPORT]

               [--trailing_recursive TRAILING_RECURSIVE]

               [--edge_support_threshold EDGE_SUPPORT_THRESHOLD]

               [--remove_by_consensus {True,False}]

               [--high_var_flag CYCLE_THRESHOLD_MIN]

               [--min_edge_support_sv MIN_EDGE_SUPPORT_SV]

               [--all_seq_in_graph] [--no_clean_edges] [-a {core,pan}]

               [--aligner {prank,clustal,mafft}] [--core_threshold CORE]

               [-t N_CPU] [--verbose] [--version]

 

panaroo: an updated pipeline for pan-genome investigation

 

optional arguments:

  -h, --help            show this help message and exit

  -t N_CPU, --threads N_CPU

                        number of threads to use (default=1)

  --verbose             print additional output

  --version             show program's version number and exit

 

Input/output:

  -i INPUT_FILES [INPUT_FILES ...], --input INPUT_FILES [INPUT_FILES ...]

                        input GFF3 files (usually output from running Prokka).

                        Can also take a file listing each gff file line by

                        line.

  -o OUTPUT_DIR, --out_dir OUTPUT_DIR

                        location of an output directory

 

Matching:

  -c ID, --threshold ID

                        sequence identity threshold (default=0.95)

  -f FAMILY_THRESHOLD, --family_threshold FAMILY_THRESHOLD

                        protein family sequence identity threshold

                        (default=0.7)

  --len_dif_percent LEN_DIF_PERCENT

                        length difference cutoff (default=0.95)

  --merge_paralogs      don't split paralogs

 

Refind:

  --search_radius SEARCH_RADIUS

                        the distance in nucleotides surronding the neighbour

                        of an accessory gene in which to search for it

  --refind_prop_match REFIND_PROP_MATCH

                        the proportion of an accessory gene that must be found

                        in order to consider it a match

 

Graph correction:

  --mode {strict,moderate,relaxed}

                        the stringency mode at which to run panaroo. One of

                        'strict', 'moderate' or 'relaxed' (default='strict')

  --min_trailing_support MIN_TRAILING_SUPPORT

                        minimum cluster size to keep a gene called at the end

                        of a contig

  --trailing_recursive TRAILING_RECURSIVE

                        number of times to perform recursive trimming of low

                        support nodes near the end of contigs

  --edge_support_threshold EDGE_SUPPORT_THRESHOLD

                        minimum support required to keep and edge that has

                        been flagged as a possible mis-assembly

  --remove_by_consensus {True,False}

                        if a gene is called in the same region with similar

                        sequence a minority of the time, remove it. One of

                        'True' or 'False'

  --high_var_flag CYCLE_THRESHOLD_MIN

                        minimum number of nested cycles to call a highly

                        variable gene region (default = 5).

  --min_edge_support_sv MIN_EDGE_SUPPORT_SV

                        minimum edge support required to call structural

                        variants in the presence/absence sv file

  --all_seq_in_graph    Retains all DNA sequence for each gene cluster in the

                        graph output. Off by default as it uses a large amount

                        of space.

  --no_clean_edges      Turn off edge filtering in the final output graph.

 

Gene alignment:

  -a {core,pan}, --alignment {core,pan}

                        Output alignments of core genes or all genes. Options

                        are 'core' and 'pan'. Default: 'None'

  --aligner {prank,clustal,mafft}

                        Specify an aligner. Options:'prank', 'clustal', and

                        default: 'mafft'

  --core_threshold CORE

                        Core-genome sample threshold (default=0.95)

 

 

実行方法

 1、アノテーションの GFFファイルを作る。ユーティリティスクリプトを使うか、prokkaをループで回す(roary参照)。

mkdir reannotated
run_prokka -i *.fasta -o reannotated

 

2、pre-processing

任意でmash screenを使った入力配列のクオリティチェックを行う。

mkdir qcresults
panaroo-qc -t 3 --graph_type all -i *.gff --ref_db refseq.genomes.k21.s1000.msh -o qcresults

 

3、panarooの実行

mkdir results
panaroo -i *.gff -o results -t 8

 出力

f:id:kazumaxneo:20200307151907p:plain

 struct_presence_absence.Rtab

f:id:kazumaxneo:20200307152000p:plain

 

この後、独立した結果をマージしたり、ゲノムのリアレンジメントを探したり、潜在的な偽遺伝子、異常な長さの遺伝子、アセンブリアノテーションの過程で断片化された遺伝子をフィルタリングしたりすることができます。また、特定のゲノムにだけ見つかる構造を視覚化したり、パンゲノムのサイズや遺伝子の獲得・ロス率を推定するスクリプトも提供されています。マニュアルを確認して下さい。ここでも、余裕があれば追記したいと思います。

引用

Producing Polished Prokaryotic Pangenomes with the Panaroo Pipeline

Gerry Tonkin-Hill, Neil MacAlasdair, Christopher Ruis, Aaron Weimann, Gal Horesh, John A. Lees, Rebecca A Gladstone, Stephanie Lo, Christopher Beaudoin, R Andrés Floto, Simon D.W. Frost, Jukka Corander, Stephen D. Bentley1, Julian Parkhill

bioRxiv preprint first posted online Jan. 28, 2020

 

追記

Producing polished prokaryotic pangenomes with the Panaroo pipeline

Gerry Tonkin-Hill, Neil MacAlasdair, Christopher Ruis, Aaron Weimann, Gal Horesh, John A. Lees, Rebecca A. Gladstone, Stephanie Lo, Christopher Beaudoin, R. Andres Floto, Simon D.W. Frost, Jukka Corander, Stephen D. Bentley, Julian Parkhill 
Genome Biology volume 21, Article number: 180 (2020)