最近在qiime2论坛发现有人发布了qiime2宏基因组的教程,这里分享一下,只是alpha版本,不成熟,大家谨慎了解。qiime2的专用格式对于折腾宏基因组还是有点不妥的,个人观点,但是好在他能让分析标准化,可追溯的话,我觉得还是利大于弊的。
地址在这:宏基因组学与QIIME 2 – 2024年春季莱顿和苏黎世教程 – 宏基因组分析与QIIME2
https://cap-lab.bio/q2-books/intro.html
警告 使用 QIIME 2 进行的宏基因组学分析目前处于 alpha 版本。这意味着您生成的结果应被视为初步结果,而不是发布质量。此外,接口可能会发生更改,并且这些更改可能向后不兼容(这意味着在 QIIME 2 Shotgun Metagenomics 发行版的一个版本中有效的命令或文件可能不适用于该发行版的下一个版本)
整体流程图
总的来说,还是比较全面的,和nf-meta的流程是类似的,是国外比较主流的流程,包含了基于reads的分析,组装和基于MAG的分析。
摘录下主要分析步骤
基于reads的分析
基于reads的物种注释,kraken2啦,适用范围更广泛。
qiime moshpit classify-kraken2
--i-seqs ./moshpit_tutorial/cache:workshop-reads
--i-kraken2-db ./moshpit_tutorial/cache:kracken_standard
--p-threads 40
--p-confidence 0.6
--p-minimum-base-quality 20
--o-hits ./moshpit_tutorial/cache:workshop_kraken_db_hits
--o-reports ./moshpit_tutorial/cache:workshop_kraken_db_reports
--p-report-minimizer-data
--use-cache ./moshpit_tutorial/cache
--parallel-config slurm_config.toml
--verbose
--p-memory-mapping False ##set to False to shorten runtime
qiime moshpit estimate-bracken
--i-bracken-db ./moshpit_tutorial/cache:bracken_standard
--p-read-len 100
--i-kraken-reports ./moshpit_tutorial/cache:workshop_kraken_db_reports
--o-reports ./moshpit_tutorial/kraken-outputs/bracken-reports.qza
--o-taxonomy ./moshpit_tutorial/kraken-outputs/taxonomy-bracken.qza
--o-table ~./moshpit_tutorial/kraken-outputs/table-bracken.qza
基于组装的分析
megahit,同样主流的软件啦!
恢复宏基因组组装基因组 (MAG) 的第一步是基因组组装本身。有许多基因组组装器可用,其中两个您可以通过我们的 QIIME 2 插件使用 – 在这里,我们将使用 MEGAHIT。MEGAHIT 采用短的 DNA 测序读数,构建简化的 De Bruijn 图,并生成更长的连续序列(称为重叠群),为我们下一步的分析提供有价值的遗传信息。
qiime assembly assemble-megahit
--i-seqs "./moshpit_tutorial/cache:reads_no_host"
--p-presets "meta-sensitive"
--p-num-cpu-threads 64
--p-num-partitions 4
--o-contigs "./moshpit_tutorial/cache:contigs"
--verbose
使用 QUAST 的 Contig QC
一旦读取片段被组装成重叠群,我们就可以使用 QUAST 来评估我们的组装质量。
qiime assembly evaluate-contigs
--i-contigs "./moshpit_tutorial/cache:contigs"
--p-threads 128
--p-memory-efficient
--o-visualization "./moshpit_tutorial/results/contigs.qzv"
--verbose
alpha多样性分析中,还可以使用线性混合效应模型来管理数据集中的重复测量。
qiime longitudinal linear-mixed-effects
--m-metadata-file sample-metadata.tsv ./contigs/obs-features-autofmt-contigs.qza
--p-state-column day-relative-to-fmt
--p-group-columns autoFmtGroup
--p-individual-id-column PatientID
--p-metric "observed_features"
--o-visualization ./contigs/lme-obs-features-treatmentVScontrol-contigs.qzv
基于 MAG 的分析
让我们开始使用各种工具和方法将重叠群分箱到 MAG 中! 读取映射 我们首先需要对组装步骤中获得的重叠群进行索引,并使用该索引将原始读数映射到这些重叠群。然后,重叠群 binner 可以使用这种读取映射来找出哪些重叠群来自同一基因组并将它们放在一起。
qiime assembly index-contigs
--i-contigs "./moshpit_tutorial/cache:contigs"
--p-seed 100
--p-threads 64
--p-verbose
--p-num-partitions 4
--o-index "./moshpit_tutorial/cache:contigs_index"
--verbose
qiime assembly map-reads-to-contigs
--i-indexed-contigs "./moshpit_tutorial/cache:contigs_index"
--i-reads "./moshpit_tutorial/cache:reads_no_host"
--p-seed 100
--p-threads 64
--p-num-partitions 4
--o-alignment-map "./moshpit_tutorial/cache:reads_to_contigs"
--verbose
分箱
最后,我们准备执行重叠群分箱。这个过程涉及根据重叠群可能来自混合群落内不同微生物物种或菌株的可能来源,将重叠群分类为不同的箱或组。在这里,我们将使用 MetaBAT 2 工具,该工具使用四核苷酸频率和丰度(覆盖率)信息将重叠群分配给各个 bin。
qiime moshpit bin-contigs-metabat
--i-contigs "./moshpit_tutorial/cache:contigs"
--i-alignment-maps "./moshpit_tutorial/cache:reads_to_contigs"
--p-seed 100
--p-num-threads 128
--p-verbose
--o-mags "./moshpit_tutorial/cache:mags"
--o-contig-map "./moshpit_tutorial/cache:contig_map"
--o-unbinned-contigs "./moshpit_tutorial/cache:unbinned_contigs"
--verbose
此步骤生成了几个项目:
-
mags.qza
:这些是我们每个样品的实际 MAGS。 -
contig-map.qza
:这是 MAG ID 与属于给定 MAG 的重叠群 ID 之间的映射。 -
unbinned-contigs.qza
:这些是无法分配给任何特定 MAG 的所有重叠群。从这里开始,我们将重点介绍 mags.qza 工件。
使用 BUSCO 进行 MAGs 质量控制
这里使用 BUSCO 通过搜索基因组内的单拷贝直系同源基因来评估 MAGs 的完整性和质量。
qiime moshpit evaluate-busco
--i-bins "./moshpit_tutorial/cache:mags"
--p-lineage-dataset bacteria_odb10
--p-cpu 196
--o-visualization "./moshpit_tutorial/results/mags.qzv"
--verbose```
### BUSCO QC[](https://cap-lab.bio/q2-books/80-leiden-tutorial.html#busco-qc "Permalink to this heading")
在这里,我们将查看我们的 BUSCO 结果,以评估 MAG 的完整性和质量!
1.wget -O busco-qc.qzv https://polybox.ethz.ch/index.php/s/fzAA003m6UVw5je/download
### 获取我们的 Kraken2 报告
https://cap-lab.bio/q2-books/80-leiden-tutorial.html#obtaining-our-kraken2-reports
QIIME 2 不会阻止您使用您最喜欢的工具及其输出!首先,让我们从此数据集中获取一个包含 Kraken 2 注释 MAG 的工件。我们将用 [pavian](https://fbreitwieser.shinyapps.io/pavian/) 可视化其中一些。
wget -O kraken2-reports-mags-derep.qza https://polybox.ethz.ch/index.php/s/n0L2vm16C1J6MHe/download
### Kraken2 注释报告导出[](https://cap-lab.bio/q2-books/80-leiden-tutorial.html#kraken2-annotation-reports-export "Permalink to this heading")
# 现在,让我们导出这个 QIIME 工件并进行探索!
qiime tools export
--input-path kraken2-reports-mags-derep.qza
--output-path kraken2-reports-mags-derep
## Provenance 复现
https://cap-lab.bio/q2-books/80-leiden-tutorial.html#provenance-replay "Permalink to this heading")
如果不回顾我们在本教程中运行的所有命令,你们中有多少人有信心从内存中重新运行我们的分析?如果你对此没有信心,你并不孤单!很难记住您为过去的分析运行的确切命令(或试图找出其他人从外部分析中运行的命令)是很常见的。即使你写下了你所采取的所有步骤,人类也会犯错,我们的记忆也不完美。
每个 QIIME 2 结果(即 Artifact 或 Visualization)都包含可参考的来源,这些来源可以用作参考来重建用于生成所述结果的命令。让我们以基于读取的分析中的可视化之一为例,看看与其中一个可视化相关联的来源!
虽然使用 Provenance 手动重建用于生成结果的命令对于一两个结果来说是一个合理的工作流程,但我们需要一个自动化程度更高的解决方案来重建命令以进行更大规模的分析,例如我们在本研讨会中运行的分析。幸运的是,Provenance Replay 可以帮我们处理这个问题!
首先,我们将对本教程中生成的所有基于读取的结果运行 provenance replay。我们可以在整个目录上运行 provenance replay。这将为我们提供一个重播补充,其中包含用于生成每个结果的所有上游命令、与使用的每个命令相关的任何相关引用(以 BibTex 格式)以及每个命令中使用的记录元数据。
qiime tools replay-supplement
--in-fp ./reads
--out-fp reads-replay-output
您可以自己尝试为所有基于 contig 的结果生成重播补充,并重建该分析中使用的一些命令!
由 Bokulich 和 Caporaso Labs© 版权所有 2024。
本篇文章来源于微信公众号:微因