software

Canu 实跑|主组装里找不到的 18 kb,为什么还能在三个未组装片段里全部找回?

作者:发布于 2026-11-15约 6 分钟阅读
18 kb 去了哪里。一个低覆盖模板被分到三个未组装片段,用区间并集核对丢失与重叠。主组装,80000 bp,420 条长模板读段形成一个完整片段。未组装文件,3 段 · 26123 bp,各含 5、1、1 条读段,三个区间部分重叠。去重叠计数,18000 bp,短模板每一位都找得到,尚无单条全长片段。

一份组装交付物有两个 FASTA。主结果只有八万碱基,而输入样本明明还有一段一万八千碱基的模板。另一个文件标着未组装,里面三段长度相加却有两万六千多。单看任何一个数字都很难解释。我们实际运行 Canu 的高准确长读段模式,追踪每个片段用了多少条读段,取得共识前后的两阶段报告,并把结果比回已知模板。原来“这段序列有证据”“这段被组装成一个连续分子”和“这段被纳入主结果”能有三个不同答案。Canu 官方分析教程

让同一样本里同时出现深覆盖和浅覆盖

生成两条线性随机序列,大的一条长八万,小的一条长一万八千。长模板抽取四百二十条无错长读段,除少量读段固定触及两端,其余起点随机。短模板只取七条,每条仍有五千到六千八百个碱基,起点沿模板分开摆放,首尾都有人覆盖,中间片段有重叠。两份读段合并后一起组装,程序没有得到模板身份或序列。这个模型故意把小模板放在很低的局部深度,研究的是覆盖不足时产物如何分类。它没有模拟噪声、复杂重复和混样,不能直接回答实际群落里稀有成员的检出率。

Canu 2.2 使用高准确模式、相同的最短读长和最小重叠设置运行。设定的基因组大小是两条模板的长度之和。任务成功结束后,先保存阶段报告、主共识、未组装文件和片段布局表,再看是否出现目标序列。如果只交接主 FASTA,稀少模板的证据会整个退出后续检索。如果顺手把两份 FASTA 拼起来重新报总长度,又会把重复覆盖同一位置的三个片段当成互不重叠的区域。选择交付哪个文件取决于问题是准备注释主组装,还是寻找低覆盖目标的线索。Canu 快速上手与输入类型

三个片段怎样覆盖同一个短模板

主文件得到一条八万碱基的片段,标题记录用了四百二十条读段。比回长模板时八万个对齐列全部一致,布局表给出的覆盖值约为三十一点五九。短模板没有出现在主文件,却在未组装文件中产生三个条目。最长者为一万四千零四十五个碱基,标题标明五条读段。另两条各只有一条读段,各长六千七百零九和五千三百六十九。由此可以先做一次计数核对,五加一加一恰好对应给短模板设计的七条读段。但一个文件被称为未组装,并不意味着里面每一行序列都只由一条读段构成。

把三段都对回短模板,按零基左闭右开区间分别得到 1995 至 16040、0 至 6709、12631 至 18000。先按起点排序再合并区间,首尾相接覆盖从零到一万八千的全部位置。原始长度直接相加却是二万六千一百二十三,多出的八千一百二十三来自区间之间的重叠。即使每段在对应模板上的碱基都完全正确,也只能说已知模板上的每个位置在至少一个片段中找得到,并没有一条实际输出的序列独立覆盖全长。在没有真值的样本里,这个区别更重要,尤其不能根据某个近缘参考擅自填补两个片段之间的连接。

未组装文件里的片段 长度 读段数 短模板零基区间
中段 14045 bp 5 [1995, 16040)
左端 6709 bp 1 [0, 6709)
右端 5369 bp 1 [12631, 18000)
18 kb 去了哪里。一个低覆盖模板被分到三个未组装片段,用区间并集核对丢失与重叠。主组装,80000 bp,420 条长模板读段形成一个完整片段。未组装文件,3 段 · 26123 bp,各含 5、1、1 条读段,三个区间部分重叠。去重叠计数,18000 bp,短模板每一位都找得到,尚无单条全长片段。
一个低覆盖模板被分到三个未组装片段,用区间并集核对丢失与重叠。

实际制作统计表时最好单列片段覆盖模板的比例、模板被所有片段覆盖的比例及最长连续片段长度。第一项对每条输出计算,第二项先合并重叠,最后一项直接从单条序列读取。三个指标放在一行,就能解释为什么一个模板可以覆盖百分之百,同时仍缺少一条全长组装。

实跑经验|同一份报告也可能有两种长度单位背景

canu -p mini -d asm genomeSize=98k useGrid=false maxThreads=4 maxMemory=8 minReadLength=1000 minOverlapLength=1000 -pacbio-hifi reads.fa
grep '^>' asm/mini.contigs.fasta asm/mini.unassembled.fasta
minimap2 -x asm5 -c --secondary=no ref.fa asm/mini.unassembled.fasta > short.paf
cut -f1,6,8,9,10,11 short.paf

阶段报告中还有一个值得单独核对的差异。主片段在构建完成、生成最终共识之前长五万九千八百七十九,共识之后长八万。未组装部分也由一万九千六百六十变为二万六千一百二十三,两轮的记录数却都相同。官方文档特别指出,高准确读段模式在共识之前以同聚物压缩后的序列空间报告统计。多个连续相同的字母可以临时表示成一个单位。拿早期阶段的数字直接和最终产物作差,再把差值解释成后续找回的基因区段,会混淆坐标空间。验收时要抄下阶段标题,并尽量从最终 FASTA 直接复算一次长度。Canu 对阶段统计与同聚物压缩的说明

我们也遇到了一个与生物学结果无关的早期退出。起初授权任务使用两线程,而这一版流程在检查配置时为校正任务请求四线程,输出明确指出没有可用的任务配置组合。改成四线程并给足本例内存预算,才开始得到实际组装结果。下一次见到程序刚启动就退出,先区分它停止在配置阶段,还是已经读到数据并生成了重叠文件。查输出目录、最后一个有数据的阶段和真正的首条报错,可以少做一次毫无必要的数据清理。Canu 参数说明

如果短模板代表样本中关心的低丰度区域,可以把未组装片段当作定位线索,回到原始读段检查两侧接头是否有多条独立分子跨过,并观察这里是否有近似拷贝可供误配。针对主组装完整性,只计通过标准纳入主输出的序列。针对目标有无证据,则同时交付匹配的原始片段、覆盖区间并集以及独立读段数。让同一个样本保留这两种统计,后续研究者既能继续查候选,也能判断目前的数据允许把结论说到哪一步。

当多个长读长样本需要统一保留布局文件、主组装和未组装证据时,可使用云生信的生物信息分析服务器复核各样本的结果。

把知识用于当前任务

下一步可以直接开始分析

按研究目标查找在线工具、课程、计算资源或完整分析服务。

按目标找方案仍有疑问,联系客服 ↗