macでインフォマティクス

macでインフォマティクス

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

大規模な細菌の系統推定パイプライン OrthoPhyl

 

 一般に公開されている細菌ゲノム配列の数は驚くほど多く(NCBIGenBankだけでも200万アセンブル)、その数は増え続けている。このような豊富なデータから、これらの配列を進化の文脈の中で位置づける系統解析が求められている。系統的な配置は分類学的な分類を助けるだけでなく、新しい表現型の進化、選択の標的、水平的な遺伝子転移の情報を提供する。多遺伝子コドンのアラインメントから系統樹を構築するのは、バイオインフォマティクスの専門知識、オルソログの厳密なキュレーション、重い計算を必要とする骨の折れる作業である。この問題をさらに深刻にしているのは、大規模なゲノムデータからツリーを構築するために、これらのプロセスを効率化できるツールがないことである。OrthoPhylは、細菌ゲノムをアセンブリし、全ゲノムコドンアラインメントからツリーを再構成する。この解析パイプラインは、アセンブリの多様性にまたがるサブセットを同定し、これらのゲノムを用いて遺伝子モデルを構築し、全データセットのオルソログを推定することで、任意の数の入力ゲノム(ここでテストしたのは1200以上)を解析することができる。OrthoPhylの汎用性を説明するために、3つの使用例を示す:大腸菌赤痢菌、ブルセラ菌/オクロバクトラム、リケッチア目である。OrthoPhylで生成された系統樹を、kSNP3やGToTreeで生成された系統樹、および別の手法で公開されている系統樹と比較した。OrthoPhylの樹形は、より多くのデータを取り込み、より多くの入力ゲノムを可能にし、より柔軟な解析を可能にしながら、他の手法と一貫していることを示す。

本原稿で使用したコードは、https://github.com/eamiddlebrook/OrthoPhyl/blob/OrthoPhyl_1.0/から利用できる。インストールと実行方法は、関連するgithubのREADME.mdファイルに記載されている。サードパーティのソフトウェアのバージョンとOrthoPhylの実行ファイルは、OrthoPhyl_1.0ブランチに固定され、メインブランチは現在の開発を収容する。依存するソフトウェアのバージョンについては、補足表1を参照。使い勝手を良くするために、Singularityコンテナがhttps://cloud.sylabs.io/library/earlyevol/default/orthophyl、またはsingularity pull library://earlyevol/default/orthophyl:1.0_msコマンドで利用できる。また、Singularity使用ガイドのGitHubページも参照。本原稿で使用したアセンブリは、https://www.ncbi.nlm.nih.gov/assembly/、Supplemental table 2-4のアクセッションから入手できる。

 

OrthoPhylは、細菌ゲノムを入力とし、アノテーションを行い、オルソログを同定し、タンパク質をヌクレオチドアラインメントに変換し、種を融和的に推定するために連結アラインメントと遺伝子ツリーの両方からから種のツリーを組み立てるパイプラインである。ワークフローは任意の数の入力ゲノムを受け入れる(ここでは1200までテスト)。解析を高速化するために、データセット全体の多様性を代表するサンプルのサブセットを同定し、それらのプロテオームを使ってオルソログを同定し、隠れマルコフモデルを構築する。この戦略により、689のBrucellaアセンブリについて、30CPUと58.3GBのメモリーを使用して、約48時間でツリーを生成することができ、ハンズオンの時間は必要ない。このパイプラインは、インストールが簡単で、スケーラブルな、ターンキーソリューションとして設計されている。

インストール

依存関係が多く、R関係はインストールでトラブルも起きやすいため、著者らからsingularityのイメージが提供されている。ここではこれを使用する。

Github

#singularityイメージのpull。レポジトリではhome下にimageのディレクトリを作り、そこにsingularityのイメージを配置することを推奨している。

singularity_images=~/singularity_images/
mkdir ${singularity_images}
cd ${singularity_images}
singularity pull library://earlyevol/default/orthophyl:0.9.3

singularity run orthophyl_0.9.3.sif -h

Container was created Wed Dec  6 00:17:14 UTC 2023

Arguments received: -h

Loading required files...

 

USAGE: OrthoPhyl.sh -g Path_to_directory_of_assemblies -s directory_to_store_output

# ALL arguments are optional if set with "-c control_file.your_args"

#   Many default parameters are set in control_file.defaults

#   I will work to expose the more useful ones in later versions of OP

Required:

-g path to genomes directiory

or

-a paths to protien and transcript directories.

       They should be delared as "-a path_to_transcript_dir,path_to_prot_dir"

-s path to the main directory for output

Optional:

-t threads to use [4]

-p  phylogenetic tree software to use fasttree, raxml, and/or iqtree ["fasttree iqtree"]

i.e. -p "fasttree iqtree"

-c path to a control file with required variables and any optional ones to override defaults.

Will override values set on command line! [NULL]

-x trimal paramerter string (in double "quotes")

-r flag to rerun orthofinder on the ANI_shorlist (true/[false])

-n Max number of proteomes to run through OrthoFinder.

If more than this many assemblies are provided, a subset of proteomes (based on genomes/transcripts ANI) will be chosen for OrthoFinder to chew on [20]

-m Minimum fraction of total taxa per orthogroup to consider it for the relaxed SCO dataset.

        Expects a float from 0-1

        A value of 0 or 1 will lead to only estimating trees for the SCO_stict dataset.

        [0.30]

-d  Force ANI subsetting to run on transcript or genome Datasets. ([genome],transcript)

Using "-a" implies "-d transcript".

If "-a" is declared but you want to use the assemblies you have also provided, set "-d genome"

If "-a" not used but you want to use transcripts (annotated within OrthoPhyl by Prodigal) for ANI subsetting, set "-d transcript"

-T run test dataset, incompatable with -g|s|a (TESTER,TESTER_chloroplast)

-h display a description and a super useful usage message

###############################################################\n

To run test datasets:

# Test of full bacterial genomes

bash OrthoPhyl.sh -T TESTER -t #threads

# Big test with ~100 orchid chloroplasts

bash OrthoPhyl.sh -T TESTER_chloroplast -t #threads

# reduced chloroplast dataset

bash OrthoPhyl.sh -T TESTER_fasttest -t #threads

# When running through Singularity an output directory is required:

singularity run ${singularity_images}/OrthoPhyl.XXX.sif -T TESTER -s output_dir -t #threads

 

 

 

テストラン

singularity_images=~/singularity_images/
singularity run ${singularity_images}/orthophyl_0.9.3.sif -T TESTER_chloroplast -s ./tester_chloroplast_output -t 4

 

実行方法

ランするには、ゲノム配列を含むディレクトリを指定する。

singularity_images=~/singularity_images/
singularity run ${singularity_images}/orthophyl_0.9.3.sif -T TESTER_chloroplast -s ./tester_chloroplast_output -t 4

-aオプションでタンパク質と転写産物のディレクトリをカンマ区切りで指定することで、ユーザーが所有している遺伝子予測産物を使用することもできる。

 

出力例

outdir/

phylo_current/

FINAL_SPECIES_TREES/

 

その他(レポジトリと論文より部分的に改変して抜粋)

  • 予測されたコード配列やタンパク質配列を使ってツリーを作る場合、トレードオフが生じる。つまり、コード配列(CDS)はコドンの縮退により最も系統学的な情報を持つが、分岐度が高い場合にはアラインメントが難しい(States et al.、1991)。タンパク質は高い乖離度でもアラインメント可能であるが、CDSアラインメントの情報量には欠ける。これは、タンパク質のアラインメントを対応するコドンのアラインメントに変換し、塩基の系統的情報とタンパク質のアラインメント精度を活用することで対処できる。OrthoPhylは、オルソログを同定し、タンパク質をヌクレオチドアラインメントに変換して使用する。
  • ワークフローは主に4つのタスクに分けられる(論文図1)。 A) アセンブリアノテーションをつけ、同一のCDSを削除する。N "以上のアセンブリを解析する場合、多様性があるアセンブリのサブセットを特定し、OrthoFinderに通してオルソグループを生成し、OrthoFinderが特定したオルソグループを反復HMM検索によってアセンブリの全データセットに拡張する。完全なオルソグループタンパク質セットを整列させ、一致するコドンアラインメントを生成し、トリミングし、次に分類群によってオルソグループをフィルターする。最後に、複数の遺伝子のコドンアラインメントを連結してスーパーマトリックスを生成し、そのデータを使用して系統樹トポロジーを推定し、さらにコンセンサス法(補足;複数の遺伝子ツリーの情報を統合して、最も支持される種のツリーを推定する)によって複数の遺伝子ツリーを統合して信頼性の高い種の系統樹を推定する。
  • OrthoPhylから最良の結果を得るためには、アセンブリをクリーンアップすることが絶対不可欠である。例えば、Brucellaの全アクセッションの出力を見ると、checkMの出力は、多くのアセンブリーが重複した「マーカー遺伝子」を持っていることを示している。もしこれらが誤って重複したコンティグによるものであれば、OrthoPhyloワークフローの中で、厳密なsingle-copy orthologs (SCOs)セットと緩和なSCO遺伝子セットの両方からオルソロググループを削除することになる。

  • (bbmapの)dedupe.shは多くの重複コンティグやコンティグを特定できる。その中には100kbを超える長さのものもある。この場合も、重複コンティグにSCOが含まれていれば、SCOは削除される。要するに、重複コンティグがあると、下流の解析に必要なオルソログの数が極端に減少し、解析が台無しになる。この問題は、1)キュレーションされたアセンブリGenBank)数が少ない、2)解析パイプラインに供給されるアセンブリ総数が多い(確率的に品質の低いアセンブリが紛れ込むため)、などによって悪化する。

引用

OrthoPhyl – Streamlining large scale, orthology-based phylogenomic studies of bacteria at broad evolutionary scales

Earl A Middlebrook, Robab Katani, Jeanne M Fair

bioRxiv, Posted April 12, 2024.