シーケンスリードからメタゲノムアセンブリゲノム(MAGs)を回収することで、微生物群集とその構成員に関するさらなる洞察が可能になり、場合によっては単一分離ゲノム用に設計されたツールでそのような配列を解析することもできる。結果の質は配列の質に依存するため、単一分離ゲノム用のツールの性能をMAG上で事前にテストする必要がある。バイオインフォマティクスをレバレッジして、この目的のために、構成が既知の様々な合成テストセットを迅速に作成することができる。
本著者らは、MAGのシミュレーションのための柔軟でユーザーフレンドリーなパイプラインであるMAGICIANを発表する。MAGICIANは、合成メタゲノムシミュレータとメタゲノム解析およびビニングパイプラインを組み合わせ、ユーザーが提供した入力ゲノムに基づいてMAGをシミュレートする。MAGICIANを使用することで、カバレッジの深さがごくわずか(1%)変化するだけでも、ゲノムを回収できるかどうかに大きく影響することが分かった。また、MAGICIANの現在のデフォルトパイプラインで得られたゲノムを抗菌薬耐性遺伝子同定ツールResFinderで解析する際の適合性を評価することで、シミュレートされたMAGの利用を実証した。
MAGICIANを用いることで、一般的に高品質でありながら、実データで発生する問題を反映したMAGをシミュレートすることができ、現実的なベストケースデータを提供することができる。これらのゲノムをResFinderで解析した結果を評価したところ、最も妥当なルッキングのリスクが明らかになった。
インストール
https://github.com/KatSteinke/magician
#本体
git clone https://github.com/KatSteinke/magician.git
cd magician/
mamba env create --file requirements.yml
conda activate magician_base
#CAMISIM
#CAMISIMのcustom error profilesが必要。CAMISIMのfolkをクローンしておく
git clone https://github.com/KatSteinke/CAMISIM
default_config.ymlを開いて、クローンしたCAMISIMのパスを指定する
vi default_config.yml
> python run_magician.py -h
usage: run_magician.py [-h] [--target TARGET]
[--profile_type {mbarc,hi,mi,hi150,own}]
[--profile_name PROFILE_NAME]
[--profile_readlength PROFILE_READLENGTH]
[--insert_size INSERT_SIZE] [--cluster CLUSTER]
[--cores CORES] [--config_file CONFIG_FILE]
[--snake_flags [SNAKE_FLAGS [SNAKE_FLAGS ...]]]
community_file
Run MAGICIAN to simulate MAGs for a specified community or set of communities.
Run without arguments for a test run.
positional arguments:
community_file File with paths to source genomes, sequence type
(plasmid/chromosome) and their desired relative copy
number in each community to simulate (one column with
organisms' copy numbers per community)
optional arguments:
-h, --help show this help message and exit
--target TARGET Desired output file or rule (default: MAGs, statistics
and summary files for all communities)
--profile_type {mbarc,hi,mi,hi150,own}
Type of ART error profile to use for CAMISIM: mbarc,
hi, mi, hi150, own (default: mbarc)
--profile_name PROFILE_NAME
Base name of custom error profile, if given (name of
files without '[1/2].txt'); required with 'own' error
profile
--profile_readlength PROFILE_READLENGTH
Read length of custom error profile; required with
'own' error profile
--insert_size INSERT_SIZE
Mean insert size for read simulation (default: 270)
--cluster CLUSTER For use with snakemake's cluster mode; supply command
for submitting jobs as you would with snakemake.
--cores CORES Amount of cores Snakemake should use (default: 6)
--config_file CONFIG_FILE
Config file for run
--snake_flags [SNAKE_FLAGS [SNAKE_FLAGS ...]]
Flags to be passed to snakemake, enclosed in quotes
テストラン
オプションなしで実行すると、テストランできる。"y"を選択。
python run_magician.py community.tsv
snakemakeのランのためにcondaを使って仮想環境が作られるが、依存関係が解決できず失敗した。
実行方法
MAGICIANの実行には、シミュレーションの対象となる生物のゲノム配列(genbankまたはfasta形式)と、タブ区切りのサンプル分布ファイルが必要。タブ区切りファイルの最初の列はゲノムファイルのパス、2番目は配列の種類(chromosomeまたはプラスミド)、それに続く列はコミュニティの構成名とコミュニティ内の配列の相対的な存在量。
https://github.com/KatSteinke/magician/blob/master/test/data/test_genomes/sample_distributions.tsv
TSVファイルを指定して実行する。また、--snake_flagsでSnakemakeに渡すフラグを二重引用符で囲んで指定する必要がある。ドライランには"-n "を使用する。
python run_magician.py community.tsv
最後に以下のようなサマリーレポートもできる。
https://github.com/KatSteinke/magician/tree/master/test/data/sample_summaries
論文より
- MAGICIANは、ユーザーが定義した合成コミュニティからのメタゲノムリードとMAGをインシリコでシミュレートし、これらのコミュニティの組成を簡単に変化させ、大量の実験をシミュレートすることができる。
- 機能を実証するために、関連する生物やプラスミドを導入し、シークエンシングパラメーターを変化させた。その結果、プラスミドは一般的に回収できず、近縁の生物の再構築は困難であった。また、ほとんどのケースで近縁な生物の配列を含むビンは非常に断片化された。
引用
MAGICIAN: MAG simulation for investigating criteria for bioinformatic analysis
Kat Steinke, Sünje J. Pamp & Patrick Munk
BMC Genomics volume 25, Article number: 55 (2024)
関連
https://kazumaxneo.hatenablog.com/entry/2018/08/10/123830