
如何快速上手Cactus5分钟用Docker跑通第一次基因组多序列比对【免费下载链接】cactusOfficial home of genome aligner based upon notion of Cactus graphs项目地址: https://gitcode.com/gh_mirrors/cact/cactusCactus 是一款基于 Cactus 图的无参考基因组多序列比对Whole-Genome Alignment开源工具同时也是构建泛基因组图谱Pangenome Graph的主流工具箱。本文不编译、不配环境直接用 Docker 带你在 5 分钟内跑通 Cactus 的第一次基因组多序列比对亲眼看到 HAL 比对结果。Cactus 是什么两种核心玩法Cactus 有两个主打场景覆盖了比较基因组学的两大需求场景输入输出适用渐进式比对 Progressive Cactus多个物种的基因组 系统发育树HAL 多序列比对文件跨物种比较基因组学泛基因组构建 Minigraph-Cactus同一物种的多个个体基因组泛基因组图谱 VCF 变异群体变异分析比对结果是带索引的 HAL 文件内置工具链可进一步导出 MAF、Chains、phyloP 保守性分数等无缝对接主流下游流程。下面就是 Cactus 为一批酵母基因组构建的泛基因组图谱chrI可视化效果Cactus 还有一个很实用的能力支持在已有比对上增量添加新物种。把新基因组挂到系统的分支或节点上时只需重算极少量子比对而不是从零重跑准备工作克隆仓库拿到官方示例数据前提只有一个机器上安装了 Docker。Cactus 官方自带 evolverMammals 示例5 个模拟哺乳动物基因组每个约 600kb几分钟即可跑完是第一次验证环境的最佳选择。1️⃣ 克隆 Cactus 仓库示例数据就在仓库里git clone https://gitcode.com/gh_mirrors/cact/cactus cd cactus2️⃣ 看看示例输入文件examples/evolverMammals.txt格式非常简单# 第一行NEWICK 格式的系统发育树叶子节点必须唯一命名单行 ((simHuman_chr6:0.144018,(simMouse_chr6:0.084509,simRat_chr6:0.091589)mr:0.271974):0.020593,(simCow_chr6:0.18908,simDog_chr6:0.16303):0.032898); # 后续每行基因组名称 该基因组的 FASTA 路径也支持 URL / 目录 simCow_chr6 path/to/simCow.fasta simDog_chr6 path/to/simDog.fasta simHuman_chr6 path/to/simHuman.fasta simMouse_chr6 path/to/simMouse.fasta simRat_chr6 path/to/simRat.fasta 分支长度冒号后面的数字会驱动 lastz 比对参数物种越近参数越快。不确定时直接省略Cactus 默认按 1 处理。5 分钟 Docker 快速开始一条命令跑通第一次比对Cactus 的标准命令只有 3 个参数cactus jobStore路径 seqFile输入文件 输出HAL文件参数含义jobStore中间文件与任务元数据目录由 Toil 管理支持断点续跑seqFile上文的examples/evolverMammals.txt输出HAL比对结果文件如evolverMammals.hal把当前目录挂载进容器的/data一条命令启动比对docker run --user $(id -u):$(id -g) -v $(pwd):/data --rm -it \ quay.io/comparative-genomics-toolkit/cactus:v3.2.1 \ cactus /data/jobStore /data/examples/evolverMammals.txt /data/evolverMammals.hal为什么推荐 Docker 方式官方镜像内置 Python 环境以及 lastz、hal、abPOA、red、minigraph、paffy 等全部 C 语言二进制依赖构建过程见Dockerfile镜像发布前还会执行cactus --help自检——本地零配置、零依赖冲突这是新手最省心的上手方式。运行期间Cactus 会自动经历预处理打掩码 → 两两比对blast→ 渐进式多序列比对align三个阶段控制台持续滚动任务日志。如何验证比对成功用 halStats 查看 HAL 结果运行结束后当前目录会多出一个evolverMammals.hal和jobStore/目录。用镜像内置的 HAL 工具链验证一下docker run --user $(id -u):$(id -g) -v $(pwd):/data --rm -it \ quay.io/comparative-genomics-toolkit/cactus:v3.2.1 \ halStats /data/evolverMammals.hal输出节选如下((simHuman_chr6:0.144018,((simMouse_chr6:0.084509,simRat_chr6:0.091589)mr:0.171974,simGorilla:0.075)AncGorilla:0.1)Anc1:0.020593,(simCow_chr6:0.18908,simDog_chr6:0.16303)Anc2:0.032898)Anc0; GenomeName, NumChildren, Length, NumSequences, NumTopSegments, NumBottomSegments Anc0, 2, 535128, 13, 0, 17165 simHuman_chr6, 0, 601863, 1, 25791, 0 simMouse_chr6, 0, 636262, 1, 62021, 0能看到每个输入基因组、重建祖先Anc0/Anc1/Anc2的长度与比对块统计——说明你的第一次 Cactus 基因组多序列比对已经成功 如果更喜欢边跑边看可以进入交互式容器更灵活docker run -v $(pwd):/data --rm -it quay.io/comparative-genomics-toolkit/cactus:v3.2.1 bash # 进入容器后依次执行 cactus /data/jobStore /data/examples/evolverMammals.txt /data/evolverMammals.hal halStats /data/evolverMammals.hal进阶把 HAL 比对结果导出为 MAF 格式当下游工具Phast、UCSC 浏览器等需要列式比对时用镜像内置的cactus-hal2maf在交互式容器中执行cactus-hal2maf /data/jobStore /data/evolverMammals.hal /data/evolverMammals.maf.gz \ --refGenome simHuman_chr6 --chunkSize 1000000 --outType single--outType single保证每个基因组每块至多出现一行兼容性最好更多选项并行、过滤旁系同源见doc/progressive.md的 MAF Export 一节。举一反三同一物种试试泛基因组图谱如果你的输入是同一物种的多个个体而非不同物种应改用 Minigraph-Cactus 流程用examples/yeastPangenome.txt一批酵母基因组作为输入一条cactus-pangenome命令即可产出泛基因组图谱和 VCF完整参数说明在doc/pangenome.md。酵母 chrI 图谱用二维布局odgi draw画出来是这样的新手避坑小贴士断点续跑重跑相同命令并复用同一个 jobStoreCactus底层是 Toil会自动跳过已完成的任务大项目不必从头再来。真实基因组要更多资源示例只有 ~600kb比对哺乳动物全基因组通常需要 64 核 / 数百 GB 内存Slurm 集群加--batchSystem slurm --doubleMem true必要时用--maxMemory/--consMemory控制内存申请。打掩码是硬需求真实基因组请先做 soft-mask如 RepeatMasker未打掩码的比对可能慢几十倍重复序列过多还会让 blast 阶段内存爆炸。想调参数复制src/cactus/cactus_progressive_config.xml编辑后用--configFile传入即可覆盖默认值注意配置文件版本要与 Cactus 版本一致。进阶文档doc/progressive.md跨物种比对、doc/pangenome.md泛基因组、ReleaseNotes.md版本动态是最好的进阶材料。总结Cactus 无参考基因组多序列比对 泛基因组图谱构建二合一核心命令仅 3 个参数cactus jobStore seqFile outputHalDocker 镜像当前 v3.2.1开箱即用-v $(pwd):/data挂载 --user $(id -u):$(id -g)是标准姿势用halStats验证 HAL 输出用cactus-hal2maf导出 MAF 下游格式5 个模拟基因组跑通后把 seqfile 换成你自己的基因组和系统树就是一次真正的生产级比对【免费下载链接】cactusOfficial home of genome aligner based upon notion of Cactus graphs项目地址: https://gitcode.com/gh_mirrors/cact/cactus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考