MetaCompass: Reference-guided Assembly of Metagenomes

编辑 / 发布于2025-05-13 / 更新于2025-05-14 / 阅读 14

Methods

Methods overview.

算法流程

  1. 有一个参考的基因组集合。

  1. 这个集合选出可能用来指导样本组装的子集,一个基因组,它内部的marker gene 在样本的reads中越多,越优先被选择。

  2. 基于ANI 核苷酸一致性,对参考序列集合聚类去冗余

  3. 组装中,以cluster为单位进行,依照cluster和read的k-mer相似度的优先级进行

  4. read比对到reference上,依照参考序列的覆盖范围提取contig

  5. Pilon 生成consensus

  6. 最后,输出没有用到的read,可用来进行下游任务。

Reference databases.

来自NCBI 截至2022.03 有251288条genome。

从RefSeq选择reference or representative 标签的序列,期望每个物种只有一条或者几条genome,对参考序列通过聚类进行剔除,最后包括11061条genome。

Reference selection.


在宏基因组中,需要选择样本特定的参考序列,所以单基因组组装的软件就不太适用了。而且这个步骤对于比对软件来说非常消耗资源。

本文利用 marker gene set 作为索引,只保留能输入reads的覆盖大部分gene的genome。

用FetchMG识别40个 universal single copy marker gene。将每个marker gene分组,并按照相似度99%去聚类genome,用CD-HIT识别代表序列。用minimap2 将输入reads 比对到提取的reference序列。对于一个能够选来用作组装的genome,它上面的 universal marker gene 必须有超过75%的被read覆盖,如果一个gene的alignment部分超过90%,就认为这个gene被cover了。这个步骤将候选reference 从 251288削减到几千个。

Reference culling.

上面的步骤选择的genome set是冗余的,如果样本有一个 E.coli strain,公共数据库中有很多E coli genomes都会被选择。如果保留所有的比对结果,允许一个read比对到多个 reference,最后的结果会是冗余的,会构建同源 genomic region 多个复制。如果对于某个read只是随机选择一个,可能会没有genome有足够的read去组装。根据样本中估计的基因组占比(例如,基于唯一比对到每个基因组的 reads 数量来确定)将 reads 分配给基因组,可能会使重建偏向于差异更大的参考基因组,这可能导致跨相关基因组共享的基因组区域重建效果整体较差。

本文,基于平均核苷酸相似性(Skani, 95%,定义原核生物边界常用)将之前选出来的reference genome 聚类。MetaCompass优先基于reads和cluster的overlap 来组装。分配给cluster的read后续不会被再用。用KMC计算未分配的read 和 cluster之间的kmer交集,按照大小迭代处理cluster(每次cluster选择都会重新计算kmer交集,因为 cluster经过组装后,reference 会变?),并使用cluster 的 reference genome进行基于reference的组装。

Cluster-based assembly.

一个ANI cluster内的genome非常相似,reads很可能会同时比对到多个reference。为了避免冗余,根据read和reference的overlap排序处理,read只在组装中用一次。迭代选取能比对到未分配read大部分序列的reference genome。实际上是在查找能够匹配绝大部分read的reference genome。通过Mash 计算二者的k-mer 相似性来确定是否匹配。识别到一个最匹配的reference genome,将read比对到这个reference上,按照下面的步骤组装。这次组装用的reads之后就不用了,然后在没有组装的reads上继续这个步骤。

组装停止条件

  1. 所有read都组装了

  2. cluster中的所有reference都组装了

  3. 组装后的contig长度累计达不到reference的5%

  4. 组装的最长的contig不到2000bp

Contig assembly.

reads用minimap2比对到选择的reference上,reference上有read 覆盖的生成contig,移除短于500bp的contig,记录contig在reference上的位置,然后经过下面步骤优化

Contig polishing.

用 Pilon对每个contig 根据read生成 consensus。

MetaCompass output.

fasta 包含所有contigs

NCBI accessions of reference

AGP-formated file 记录contig在reference上的位置

输出剩下没用到的read,可以用来进行后续分析,例如 de novo assembly.