
MUMmer4 基因组比对入门从安装到看懂第一个比对结果【免费下载链接】mummerMummer alignment tool项目地址: https://gitcode.com/gh_mirrors/mu/mummer你手里有两个基因组——一个参考基因组一个新组装出来的 contigs 文件。想知道它们差在哪多少 SNP、哪里发生了倒位或缺失、组装质量如何。MUMmer4 就是为这类两份 DNA 序列找不同的工作设计的它是基于精确匹配锚点的基因组比对工具先找出所有完全相同的锚点再用 Smith-Waterman 把锚点延伸成完整比对。它不是单条命令而是一条流水线nucmer负责比对show-coords、show-snps、show-diff、delta-filter负责从结果里提取不同粒度的信息mummerplot负责画出来。下面按装→跑→读懂输出→调参的顺序过一遍。从源码安装 MUMmer4MUMmer4 需要 g 4.7 以上运行 perl 脚本mummerplot、dnadiff等还需要 perl 5.6要出图的话再装一个 gnuplot4.0 以上。Debian/Ubuntu 上先装build-essentials。执行以下命令从源码克隆并安装到默认路径/usr/localgit clone https://gitcode.com/gh_mirrors/mu/mummer cd mummer ./configure make sudo make install装完后which nucmer能找到可执行文件即成功。注意nucmer会覆盖同名输出文件每次跑完记得换输出前缀。第一个比对命令nucmerMUMmer 自带的示例数据是最快的上手材料鼠疫杆菌的参考序列片段和它的 contigs 片段真实序列但经过裁剪几秒内就能跑完。执行这条命令输入两个 multi-FASTA 文件nucmer -p anthrax docs/web/examples/data/B_anthracis_Mslice.fasta \ docs/web/examples/data/B_anthracis_contigs.fasta运行结束后你会得到anthrax.delta这就是整个工具的中间产物——所有后续分析坐标、SNP、结构变异、画图都只依赖这一个文件。所以它不是跑完看一眼就扔的输出建议留存。想看人类可读的比对列表再执行show-coords -T anthrax.delta anthrax.coords输出是一张制表符分隔的表。官方示例的输出 docs/web/examples/data/nucmer.coords 长这样节选[S1] [E1] | [S2] [E2] | [LEN 1] [LEN 2] | [% IDY] | [COV R] [COV Q] | [TAGS] 19959 52829 | 32872 1 | 32871 32872 | 99.98 | 10.52 100.00 | B_anthracis_Mslice 138291 52816 75314 | 22500 1 | 22499 22500 | 99.99 | 7.20 100.00 | B_anthracis_Mslice 138388三个读法要点[S1]/[E1]是参考序列上的起止坐标[S2]/[E2]是查询序列上的。若[S2] [E2]如第一行的 32872→1说明这段比对在查询序列的反向互补链上。[% IDY]是这段比对区的同一性百分比这里 99.98 说明该片段几乎完全一致。[COV Q]是查询 contig 被覆盖的比例100.00 表示整条 contig 都落到了参考基因组上低于 100% 说明这条 contig 有片段找不到归属值得留意。从 delta 文件里挖 SNP 和结构差异.delta文件本身用delta 编码记录插入和缺失每行一个有符号整数正数是参考序列上到下一个插入的距离负数代表删除。README 里的例子可以帮你建立直觉A acgtagctgag B cggtagtgag Delta (1, -3, 4, 0) A acg.tagctgag B .cggtag.tgag你不需要手算这些直接用配套工具。执行以下命令先用delta-filter做 1-to-1 全局过滤去掉重复区引起的冗余比对再提取 SNPdelta-filter -1 anthrax.delta anthrax.1delta show-snps -rlTHC anthrax.1delta-1保证每条序列只取一个最优位置是找 SNP 时的推荐模式-C让 SNP 只报在唯一比对区避免重复区里的假阳性。每行输出一个 SNP 或 indel含参考/查询两侧的坐标和碱基。想知道更大的尺度——哪里断了、哪里倒位了——用show-diffshow-diff -rH anthrax.1delta它把比对断点分类成六种事件GAP插入/缺失、DUP重复拷贝数差异、BRK参考侧来源不明的插入、JMP片段换位、INV倒位会在倒位两端各报一条断点、SEQ跨 contig/染色体易位。比如你在参考侧连续看到两条 INV基本可以确认中间是一段倒位区。如果懒得一个个敲dnadiff脚本一条命令跑完上面全部流程输出.report汇总文件和 SNP、断点、未比对区等一整套结果适合对比同一物种的两个组装。用 mummerplot 画点图数据是表格式的最好但基因组比对的共线性结构画出来才直观。mummerplot会生成 gnuplot 脚本并直接出图需要系统里装了 gnuplot。执行mummerplot -l anthrax.delta -p plot-l表示同时生成点图和覆盖图-p指定输出前缀最终得到plot.ps或-p配合 png 终端的位图。效果类似官方文档里这张对角线是最关键的信息落在主对角线上的段代表正向共线性区域从对角线折向另一方向的线段就是倒位或易位平行于主对角线的多条线通常对应重复序列。覆盖图则直接告诉你参考序列哪些区间没被覆盖到。多 contig 比对时官方教程里的 mapview 输出长这样contig 在参考序列上的平铺定位MUMmer4 mapview 基因组 contig 平铺比对图显示 contig 在参考序列上的位置图里每根竖线代表一条 contig 的比对位置线的长短和断口能直接暴露组装缺口和错位。调参4 个常用参数及其默认值默认参数为同物种或同源序列设计。遇到大基因组、富重复基因组或跑得太慢时重点调这 4 个参数默认值作用调大/调小的影响-l, --minmatch20锚点最短长度调小更敏感但引入噪声匹配运行时间显著增加大基因组建议调大-c, --mincluster65簇的最小长度簇内匹配总长调大减少碎片比对结果更确信-g, --maxgap90同一簇内相邻匹配的最大间隔调大 → 更大但更少的簇调小 → 更碎-b, --breaklen200延伸时愿意跨越的最低分区域长度调大容忍更多错误但内存和时间开销上升另一个常问的是为什么有比对结果却没看到某条 contig默认情况下nucmer只用在参考序列中唯一的锚点重复区里的匹配会被跳过。富重复的基因组可以加--mumreference仅要求参考侧唯一或--maxmatch全部最大精确匹配都用上来换回灵敏度代价是输出里多出重复区间的影子比对记得接delta-filter过滤。性能预期参考 README 的说法细菌或小型真核基因组在秒到分钟级两个哺乳动物基因组约 3 小时32 核以上、64GB 内存的工作站。比对整个基因组前文档建议先用nseg或dust屏蔽低复杂度区能明显减少无效匹配。DNA 差异太大时换 promer当两条 DNA 序列的同一性已经低到锚点找不齐但蛋白层面还相似比如远缘物种、古老基因家族的共线性分析换promerpromer -p pro_out ref.fa qry.fa它把两侧序列在 6 个阅读框下全部翻译在蛋白水平找锚点再用和nucmer相同的方式聚类延伸输出的.delta同样能被show-coords、show-snps、mummerplot解析。注意两点delta整数单位是氨基酸1 个 delta 整数 3 个核苷酸坐标仍按核苷酸计show-coords会多出一列阅读框[FRM]。典型分工同物种组装比对、SNP 挖掘用nucmer跨属、跨科甚至更远物种的共线性分析、比较注释用promer。拿不准时可以先用nucmer跑一遍看[% IDY]普遍低于 70-80% 再考虑切换。下一步跑一遍官方示例仓库自带完整示例数据都在 docs/web/examples/ 下包含参考序列、contigs 序列以及预先生成的.delta、.coords、.snps等全套输出可以直接对照自己跑的结果检查是否正确。建议现在就执行nucmer -p anthrax docs/web/examples/data/B_anthracis_Mslice.fasta \ docs/web/examples/data/B_anthracis_contigs.fasta show-coords -T anthrax.delta | head -20把输出的前 20 行和仓库里的 nucmer.coords 对比一遍——坐标、同一性、覆盖率三列能对得上说明你的安装和用法都没问题可以放手跑自己的数据了。更详细的参数语义在 docs/nucmer.README 里逐条写清楚了。【免费下载链接】mummerMummer alignment tool项目地址: https://gitcode.com/gh_mirrors/mu/mummer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考