macでインフォマティクス

macでインフォマティクス

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

メタゲノム解析のための自動化されたワークフロー MAGNETO

2022/06/17 誤字修正

 

 メタゲノム-アセンブルゲノム(MAG)は、メタゲノムデータから回収された個々のゲノムを表す。MAGは、未培養微生物のゲノム多様性の解析や、自然環境における機能・代謝の可能性を明らかにするために非常に有用である。近年の計算機開発により、MAGの再構成は大幅に改善されたが、繰り返し配列や異なるヌクレオチド組成を持つ配列領域がビン化されないなど、いくつかの制限も強調されている。しかし、どのようなアセンブリ戦略とどのようなビニング手法を組み合わせれば、MAGsの再構成に最適なパフォーマンスが得られるかは、いまだ不明である。MAGs再構成のためのワークフローがいくつか提案されているが、通常、ユーザーはシングルメタゲノムのアセンブリに制限されるか、またはゲノムのビニングの前に手動でアセンブリするメタゲノムのセットを定義する必要がある。本発表では、MAGの再構成に特化した自動化ワークフローMAGNETOを紹介する。MAGNETOは、メタゲノム距離の最適クラスタリングに基づく全自動協調アセンブリステップと、補完的なゲノムビニング戦略を実装し、MAGの回復を向上させることを目的としている。MAGNETO は Snakemake ワークフローとして実装されており、https://gitlab.univ-nantes.fr/bird_pipeline_registry/magneto で公開されている。

 ゲノムresolvedメタゲノム解析により、これまで未開拓であった微生物界の生物多様性が発見された。メタゲノムからゲノムを復元するための計算手法の開発が進む中、既存の手法を評価・比較し、最終的に標準的な計算ワークフローを導き出す必要がある。本研究では、一般的に用いられているアセンブリおよびビニング戦略を比較し、シミュレーションおよび実際のメタゲノムデータセットを用いてその性能を評価した。メタゲノム情報を組み合わせるために必要な先験的知識を必要としない、コ・アセンブリングを自動化するための新しいアプローチを提案する。また、従来のアセンブリ手法との比較から、このステップがゲノムビニング結果に強い影響を与えるだけでなく、回収したゲノムの品質を向上させるために、コ・アセンブリの情報を提供することの利点も実証された。MAGNETOは、ゲノム再構成を最適化するための補完的なアセンブリビニング戦略を統合し、拡大するマイクロバイオーム研究コミュニティに完全なreads-to-genomesワークフローを提供する。

(一部略)

微生物の遺伝的距離は、いくつかの生息地で地理的距離と共変動することが多いため(ref.27)、メタゲノムの地理的座標に基づいて共アセンブリを行った、つまり、同じ海洋地域に属するメタゲノムを一緒にアセンブルしたのである。しかし、他の環境要因(例えば、海流)が集団間の遺伝的近接性を変化させる可能性があるため、地域起源による分離は不明である(28)。その結果、地理的に近い2つのメタゲノムが必ずしも同じゲノムを共有しているとは限らず、同じ海域に属する2つのメタゲノムが他の海域のメタゲノムに近いとは限らない。共アセンブリの主な目的は、ある菌株や生物種に属するリードの割合を増やすことであることから、メタゲノム距離を用いて共アセンブリを行うサンプル群を特定することを提案する。

 

 

 

インストール

ubuntu18にて、condaで環境を作ってテストした(*1)。

依存

  • python 3.7+
  • python 2.7
  • snakemake 6.3.0
  • mamba 0.15.3
  • conda 4.10.3
  • click 8.01

GitLab

#環境を作成
mamba create -n magneto python=3.7 -y
conda activate magneto

git clone https://gitlab.univ-nantes.fr/bird_pipeline_registry/magneto.git
pip install magneto/

> magneto --help

Usage: magneto [OPTIONS] COMMAND [ARGS]...

 

  pipeline description here

 

Options:

  --help  Show this message and exit.

 

Commands:

  init

  run

 

 

 

実行方法

1、初期化。作業ディレクトリを作成する。

magneto init --wd ./

./

./config/

config.yaml: ワークフロー内のプログラムに対するすべてのパラメータを設定。
cluster.yaml:ワークフローをクラスタ上で実行するためのファイル。SGE用とSlurm用の2種類がある。
SGE/Slurmのプロファイルは<working_directory>/config/下のsge/とslurm/にある。

working_dir/config/config.yaml

5行目がサンプル情報のYAMLファイルのパス。

working_dir/config/samples.yaml

 

Magnetoはシングルエンドリードとペアエンドリードの両方をサポートしている。fastqかfastq.gzフォーマットを認識する。リードファイルをリストアップしたファイルを上の画像のように YAMLフォーマットで提供する。現在は自動で生成されるようにはなっていない(link)。

(レポジトリより)

 

 

2、magneto を実行する。選べるステップは'all', 'qc', 'motus', 'simka', 'assembly', 'single-assembly', 'co-assembly', 'binning', 'genes', 'checkm', 'dereplicate', 'genomes', 'none'、となっている。全ステップを実行するにはallを選ぶ。

magneto run qc --rerun-incomplete --cores 40
  • --rerun-incomplete   Re-run all jobs the output of which is recognized as incomplete. Default: False
  • --cores    Use at most N cores in parallel (default: 1). If N is omitted, the limit is set to the number of available cores.

snakemakeの他のオプション(リンク

初回ランではデータベースのダウンロードも行われるため、tiny datasetでも時間がかかる。

 

2022/06/19 

fastq_sqreen(紹介)のデータベースのダウンロードに失敗する。改善できたら追記します。

 

 

感想

一言でメタゲノムと言っても、環境によってゲノムの再構成が難しいシークエンシングデータと比較的容易なシークエンシングデータがあります。アセンブルが容易なのは、一般に菌の多様性が低いサンプルのシークエンシングデータと言えます。模擬サンプルでのアセンブリ性能が高いのはこれが理由です(CAMI challengeのような難しいものもあります)。アセンブルが難しいのは、菌叢が複雑な土壌のような環境からのシークエンシングデータで、悪い時は全体のリードの10-20%程度しかコンティグとして表現されない事もあります。アセンブルが上手くいかないのは、アバンダンスが少ない菌が多数存在していることが要因になっている可能性があります。

co-assembly(共アセンブリ)は、アバンダンスが少ない菌ゲノムのリードを増やすことでメタゲノムアセンブリの連続性を改善しようとする試みです。しかし一方で、遺伝的距離が遠いサンプル同士をまとめることで、よく似ているものの進化的な距離がある菌のリードを混合する可能性も高められることになります。つまり、コンティグの連続性が伸びるかもしくは低下するのかは、混ぜ合わせるサンプル次第の類似性次第という事です。この難しさから、co-assemblyはそれ自体が度々議論の対象になっています(最近の論文)。

MAGNETOが興味深いのは、メタゲノムの距離を調べて用いてco-assemblyを行うサンプル群を自動で特定しようとする点にあります(Simka)。これまでは、この判断を主観的に決めていた研究もあったのではないかと思います。土壌を例に出すと、好気的な5cmの土壌サンプルだから30㎝の深さの酸素が少ないサンプルとは別にしよう、これは同じ畑由来だからco-assemblyも試そう、といった感じでしょうか。MAGNETOが取り組んている点の1つは、右往左往して計算資源を浪費していた現在の状況を合理的に判断する事と言えますね。詳細は論文に書いてあるので読んでみて下さい(2022年6月現在はプレプリント)。全ワークフローは時間がかかるのでまた追記していきます。

引用

MAGNETO: an automated workflow for genome-resolved metagenomics
Benjamin Churcheward, Maxime Millet, Audrey Bihouée, Guillaume Fertin, Samuel Chaffron

bioRxiv, Posted May 09, 2022

 

関連


*1

CreateCondaEnvironmentException:
Your conda installation is not configured to use strict channel priorities. が起きたため、以下のコマンドを実行して厳密な優先順位を設定した。

> conda config --set channel_priority strict