简介
Miniasm 是一款基于 OLC 算法、运行速度极快的长读长杂合序列从头组装软件。该软件以序列两两之间的比对重叠结果(通常由 minimap2 生成)作为输入文件,输出 GFA 格式的组装图。 与主流组装软件不同,Miniasm无碱基一致性校正步骤,仅直接拼接测序读长片段生成最终的重叠群序列,因此组装序列的单碱基错误率与原始输入测序数据基本持平。
目前 Miniasm 仍处于早期开发阶段,仅在十余组 PacBio 与牛津纳米孔(ONT)细菌基因组测序数据中完成测试。包含序列比对步骤在内,组装一份细菌基因组仅需约 3 分钟。在默认参数下,12 组 PacBio 测试数据中有 9 组、4 组纳米孔测试数据中有 3 组均可组装得到单条完整重叠群。 所用 12 组 PacBio 数据集包含大肠杆菌 PacBio 测试数据、ERS473430、ERS544009、ERS554120、ERS605484、ERS617393、ERS646601、ERS659581、ERS670327、ERS685285、ERS743109 以及一组已废弃的大肠杆菌 PacBio 测序数据;纳米孔测序数据均取自罗曼实验室。
以秀丽隐杆线虫 PacBio 数据为例(仅使用 40 倍测序深度数据,未使用全部数据),使用 16 核线程完成序列重叠比对与全程组装仅需约 10 分钟,组装总长度 105 Mb,Contig N50 长度达 1.94 Mb。 作为对比,HGAP3 组装流程组装得到 104 Mb 基因组,Contig N50 为 1.61 Mb。点阵比对图可直观对比二者组装结果,整体组装连续性水平相近,但 HGAP3 产出的一致性序列碱基准确度远高于 Miniasm。 若使用全部测序数据组装(耗时约 30 分钟),Miniasm 组装结果的 N50 会降至 1.79 Mb,该软件仍存在较大优化空间。
Miniasm 验证了一项可行性:针对高测序深度细菌基因组,无需提前纠错,直接利用原始 PacBio 或纳米孔长读长数据即可组装获得长片段重叠群。 同时也证实 minimap2 可作为序列重叠比对工具使用,尽管其比对灵敏度略低于 MHAP、DALIGNER 等专业高精度比对软件。 搭配长读长纠错软件与碱基一致性校正工具联合使用,Miniasm 也可用于构建高质量基因组组装结果。
算法原理概述
- 粗筛选测序序列:遍历每条测序读长,筛选出被三组优质比对区域共同覆盖的最长连续片段,初步估算测序深度。
- 精细筛选测序序列:结合测序深度信息,设置更严格筛选阈值二次筛选有效序列区域,剔除完全被其他序列包裹的冗余读长。
- 构建字符串图结构:修剪图结构末端冗余分支、剔除低可信度序列重叠关系、合并小型序列气泡结构,流程与二代短读长组装软件思路相近。
- 合并确定无歧义的序列重叠区域,最终生成重叠群序列。
软件局限性
- 组装序列碱基准确度与原始测序数据一致,需搭配一致性校正工具优化碱基质量。
- 仅完成少量高深度 PacBio、纳米孔数据集测试,适配性仍需大量数据验证。
- 易将长度超过测序读长的重复序列、片段重复区域错误合并,无提前纠错前提下难以解决该问题。
https://github.com/lh3/miniasm #官网从 PBcR 官网下载 PacBio 测试数据集
wget -O- http://www.cbcb.umd.edu/software/PBcR/data/selfSampleData.tar.gz | tar zxf - ln -s selfSampleData/pacbio_filtered.fastq reads.fq
安装 minimap2 与 miniasm(依赖 gcc 编译器和 zlib 库)
git clone https://github.com/lh3/minimap2 && (cd minimap2 && make) git clone https://github.com/lh3/miniasm && (cd miniasm && make)
对 PacBio 测序读长进行序列重叠比对(纳米孔测序读长重叠比对改用参数 -x ava-ont)
minimap2/minimap2 -x ava-pb -t8 pb-reads.fq pb-reads.fq | gzip -1 > reads.paf.gz
序列骨架构建组装
miniasm/miniasm -f reads.fq reads.paf.gz > reads.gfa