关于 pacsomatic
pacsomatic 是用于准备匹配的 PacBio HiFi 肿瘤/正常样本对并启动 nf-core/pacsomatic Nextflow 流程的辅助工具。它生成可复现的启动文件,支持本地运行或提交至调度器;该流程并非临床验证检测。
主要功能
- 01准备肿瘤/正常样本表
- 02生成启动文件与参数
- 03试运行文件检查
- 04本地启动流程
- 05向调度器提交 Nextflow 驱动程序
适用场景
- 01准备匹配的 PacBio HiFi 样本对
- 02执行前检查生成的流程输入
- 03在本地启动分析
- 04向 HPC 调度器提交流程驱动程序
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill pacsomatic安装后在 Claude Code 中输入/pacsomatic确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
config.yamlLICENSEreferences/agent-playbook.mdconfig-and-output.mdpacsomatic_guide.mdscripts/run_pacsomatic.py详细介绍
pacsomatic
何时使用
使用 scripts/run_pacsomatic.py 准备一对匹配的
PacBio HiFi 肿瘤/正常样本,生成 samplesheet 和可复现的启动产物,并在本地启动,或将 Nextflow driver 提交到调度器。
该流程会重新比对输入 BAM;此辅助脚本面向未比对的 HiFi BAM 以及可选的 PacBio .pbi 索引。不要用短读长替代,也不要把 BAM 文件名当作平台、匹配身份或甲基化信息的证据。
经过审查的上游 dev 提交为
24c84cb371b0339c1d65a4de9451671945e19772。尽管内部清单写着 1.0.0,GitHub 在
2026-10-01 时没有任何 release 或 tag。该辅助脚本默认将 nf-core/pacsomatic 固定到该
提交;它不会凭空捏造一个 release tag。
这是一个经过源代码审查的开发工作流,不是经过临床验证的检测方法。
来源和科学检查请参见 references/pacsomatic_guide.md。
工作流
- 获取不同的肿瘤和正常 BAM 路径、患者 ID、不同的样本 ID、
输出目录,以及恰好一种参考模式:
--fasta或--genome。 ID 和 BAM/PBI/FASTA 路径不得包含空白字符。本地输入必须是非空的常规文件。远程 BAM/PBI/FASTA URI 会直接传递,不会下载或认证;请使用托管文件系统/云凭据, 切勿在生成的文件中嵌入密钥或签名 URL。 - 根据采集元数据确认 PacBio HiFi 读段组和样本身份; 确认甲基化所需的 MM/ML 修饰标签已被保留。 验证每个注释资源的参考序列/contig 兼容性。
- 使用
--dry-run生成产物。这会执行辅助检查并写入 文件,但不会调用流程、验证 BAM 内容、检查远程 可用性、解析每个流程参数或验证生物学适用性。 此处缺少运行时工具只是警告。--dry-run不能与--run/--submit、克隆或环境创建同时使用。 - 检查 samplesheet、生成的 params YAML、脚本、流程版本、profiles,
以及分支特定的资源/skips。已存在的产物需要显式
--overwrite;输入文件永远不能作为产物目标。config.yaml是 操作者参考,不是自动加载的配置文件。 - 执行时,使用
--use-current-path或已有的--conda-env选择实际运行时。在调用辅助脚本之前加载集群模块;--module-load只会在生成的脚本中重复这些命令。没有捆绑任何 Conda YAML;创建环境需要显式指定--conda-env-file。 - 仅在请求执行时使用
--run。对于 HPC,区分外层 启动器调度器(--executor)与 Nextflow 的每任务process.executor, 后者由站点 profile 或--nextflow-config配置。Driver CPU/内存请求 不会约束任务资源。请阅读 references/config-and-output.md。 - 报告产物路径、版本、检查/警告、运行类型、提交 ID(如果
存在),以及具体的下一步 QC 或故障排查步骤。调度器接受
并不等于流程完成。保持输出目录和 work/cache 状态
稳定,以便
--resume;脚本以输出目录作为其 cwd 运行。
示例
请从仓库根目录运行这些命令。路径和站点设置仅为示例; 本地测试仅使用合成的占位符,而非人类基因组数据。
python skills/pacsomatic/scripts/run_pacsomatic.py \
--tumor-bam /data/P001_T.bam --normal-bam /data/P001_N.bam \
--patient-id P001 --tumor-sample-id P001_T --normal-sample-id P001_N \
--outdir /results/P001 --fasta /refs/GRCh38.fa \
--profile apptainer --use-current-path --dry-run
查看产物后,Slurm 启动可以使用相同的输入,再加上
以下选项(将 --dry-run 替换为 --run):
--executor slurm --queue compute --project my_account
--cpus 2 --memory-gb 8 --walltime 48:00
--nextflow-config /configs/slurm.config --overwrite --run
这些资源是给驱动程序的,前提是已审查的基础设施配置
设置了 process.executor = 'slurm' 以及合适的任务队列/资源。该辅助脚本
会将 48:00 规范化为 Slurm 的 48:00:00(48 小时)。除非确实在使用该机构的 LSF 基础设施,
否则不要添加 sanger profile。
自定义流水线参数放在 --params-file 中;基础设施配置放在
--nextflow-config(-c)中。辅助脚本显式的 input/outdir/reference 选项
优先于 params-file 中的值。--extra-args 会进行分词并进行 shell 引号处理,但
不能覆盖这些受管理的输入/配置选项。请确保外部 params/config 文件中的路径为绝对路径,
因为启动器的工作目录是 outdir。
验证与参考
uv run skills-ref validate skills/pacsomatic
python tests/run_all.py --isolated pacsomatic
标准库测试套件检查本地产物行为、路径保护、 CLI 模式、运行时故障以及模拟的调度器提交。原生 Nextflow 检查使用一个极小的本地工作流;它们并不能证明 pacsomatic 完整的 容器化科学流水线在给定数据集或集群上能够成功。