Bandage
定义
Bandage 是一款桌面图形界面程序,用于打开并交互式查看从头组装产生的组装图(assembly graph)[1]。组装图由代表序列片段的节点和代表片段之间连接关系的边组成,contig 只是其中的节点部分,边所携带的信息通常不会出现在 contig 文件里[3]。Bandage 把这些边画出来,使用户能在整张图上缩放、平移和点击,直接观察片段如何相连。
该软件的全称是「Bioinformatics Application for Navigating De novo Assembly Graphs Easily」,缩写正好拼成 Bandage 一词,名称本身说明了它的用途:在组装图中导航[1]。软件以 C++ 实现,可运行于 Linux、macOS 和 Windows,源代码公开在 GitHub 上[2]。
原理
从头组装器在工作时会构建一张图:节点是组装出的连续序列,边表示序列之间可重叠或相连的关系[3]。不同组装器描述这张图的方式不同,Bandage 因此需要先解析各自的文件格式,再转换为内部的图结构[4]。读取完成后,软件用图布局算法自动计算各节点的位置,把拓扑关系铺展到二维平面上,避免节点大面积重叠。
绘制阶段,节点被画成线段,线段的长度可与序列长度按比例对应,粗细可反映覆盖深度(coverage);边的线宽、颜色和箭头方向也可配置,双节点模式下正链与反链分别绘制并用箭头标示方向[5]。节点可以按编号、长度、深度或自定义文字打标签,并可用内置或自定义配色方案着色[3]。
软件提供图形界面与命令行两种使用方式。命令行子命令包括 info、image、querypaths 和 reduce,分别用于输出图的统计信息、生成图像文件、为 BLAST 查询输出图路径以及从大图中截取子图[5]。绘图范围的常用控制参数包括整体、围绕指定节点、围绕 BLAST 命中以及按深度区间限定 4 种,便于在超大图中只显示感兴趣的区域[5]。
flowchart LR
A[组装器输出图文件] --> B[解析格式 LastGraph/FASTG/GFA 等]
B --> C[构建内部节点与边]
C --> D[图布局算法计算坐标]
D --> E[绘制节点与边]
E --> F[缩放/着色/标签/BLAST 高亮]
F --> G[导出图像或子图/提取序列]
发展历程
Bandage 由墨尔本大学生物化学与分子生物学系及计算与信息系统系的 Ryan R. Wick、Mark B. Schultz、Justin Zobel 和 Kathryn E. Holt 共同开发[3]。相关论文 2015 年发表在《Bioinformatics》第 31 卷第 20 期,介绍了软件的功能、安装方式与示例[2]。
此后软件持续迭代:0.4.0 版本加入了内嵌 BLAST 搜索与按覆盖度着色的更多选项,0.5.x 系列陆续修正了 BLAST 命中的显示问题并增加了搜索超时参数,0.8.0 版本发布于 2016 年 4 月 30 日[6]。2022 年 1 月发布的 0.9.0 版本改用较新的 Qt 库编译,并可在采用 Apple Silicon 的 Mac 上原生运行[7]。
作者在 2022 年的说明中表示,Bandage 已历经约 7 年,代码库规模较大而其本人无暇继续投入大量开发与支持,但仍会保证其在现代系统上可运行;部分用户对其进行了分支开发,其中较活跃的分支名为 BandageNG[7]。Galaxy 平台的 Bandage 工具自 2022.09 版起即基于 BandageNG 构建[8]。
应用
最常见的用途是快速评估组装质量:在图上观察 contig 之间有无线索断裂、有无大量短片段纠缠,并比较同一数据在不同参数或不同组装器下的结果[3]。以 SPAdes 为例,同一细菌分离株用不同 k-mer 长度组装,图会呈现从密集纠缠到断裂成多块的不同形态,可直接据此判断参数是否合适[3]。
在质粒与长读长组装流程中,Bandage 常被用来检查组装出的 contig 是否呈环状,从而判断质粒是否被完整解析[9]。纳米孔测序的教学与实操课程也把它列为组装流程中的标准步骤:用 Flye 等工具完成组装后,载入其输出的图文件并绘制,即可查看 contig 数量与连接情况[10]。
软件的 BLAST 检索功能可用于在图中定位特定序列:命中结果在图上以高亮显示,并可把绘图范围收缩到仅包含命中的节点,便于提取目标区域的上下文序列[3]。命令行子命令配合脚本使用时,还能批量生成多张图像或将图裁剪为子图,适合集成到自动化分析流程中[5]。
局限
Bandage 只负责展示,本身不改变组装结果,图的走向仍取决于上游组装器给出的节点与边,软件无法判定哪条路径才是真实序列[3]。推测可能的连接、判断重复序列的结构,仍需要结合读长、覆盖度以及基因组大小等外部信息[3]。
对超大图而言,载入与布局都可能耗时,说明书也提示超大组装图的打开需要等待,并对布局迭代次数等参数设定了上限以控制计算量[4]。此外,作者已说明不再投入较多精力开发与支持,新功能需求可能需要依赖 BandageNG 等分支[7]。
参见
参考资料
- europepmc.org 上的网页 [引用日期2026-10-29]
- lshtm.ac.uk 上的网页 [引用日期2026-10-29]
- BIOINFORMATICS APPLICATIONS NOTE [引用日期2026-10-29]
- Getting started - rrwick/Bandage GitHub Wiki [引用日期2026-10-29]
- Bandage [引用日期2026-10-29]
- Releases · rrwick/Bandage - Skip to content [引用日期2026-10-29]
- README [引用日期2026-10-29]
- display_tool [引用日期2026-10-29]
- tutorial [引用日期2026-10-29]
- hands-on [引用日期2026-10-29]