Methods
Methods overview.
算法流程
有一个参考的基因组集合。
这个集合选出可能用来指导样本组装的子集,一个基因组,它内部的marker gene 在样本的reads中越多,越优先被选择。
基于ANI 核苷酸一致性,对参考序列集合聚类去冗余
组装中,以cluster为单位进行,依照cluster和read的k-mer相似度的优先级进行
read比对到reference上,依照参考序列的覆盖范围提取contig
Pilon 生成consensus
最后,输出没有用到的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上继续这个步骤。
组装停止条件
所有read都组装了
cluster中的所有reference都组装了
组装后的contig长度累计达不到reference的5%
组装的最长的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.