关于 pacsomatic
pacsomatic 技能为 nf-core/pacsomatic 提供可复现的运行流程,使用单一脚本完成输入验证、样本表和启动文件生成,并可选择本地执行或提交调度器。适用于处理 BAM 文件的肿瘤—正常配对分析。
主要功能
- 01检查标识、文件与运行环境
- 02生成兼容格式的样本表
- 03生成参数 YAML 和启动脚本
- 04支持干跑验证
- 05本地运行或提交调度器
适用场景
- 01验证肿瘤与正常 BAM 输入
- 02为 pacsomatic 生成样本表和启动文件
- 03执行调度器提交前的干跑检查
- 04排查运行或提交失败
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ crazymsn/ academic-skills --skill pacsomatic安装后在 Claude Code 中输入/pacsomatic确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
config.yamlLICENSEreferences/agent-playbook.mdconfig-and-output.mdpacsomatic_guide.mdscripts/run_pacsomatic.pytests/test_run_pacsomatic.py详细介绍
pacsomatic
概述
此技能为 nf-core/pacsomatic 提供可复现的执行工作流,核心是一个统一的辅助入口,用于处理验证、生成产物和可选执行。
主要入口:
scripts/run_pacsomatic.py
辅助脚本会:
- 验证必需标识符、文件、参考模式和运行时前提条件
- 写入兼容 pacsomatic 的样本表(
patient,sample,status,bam,pbi) - 生成 params YAML 和启动脚本,以便可复现地重新运行
- 支持试运行验证,以及运行/提交执行路径
将此技能用作 pacsomatic 操作的默认路径。除非用户明确要求手动构造命令,否则不要绕过此技能,手动组装 nextflow run nf-core/pacsomatic 命令。
何时使用此技能
用户提出以下请求时,请调用此技能:
- 使用 BAM 文件运行肿瘤-正常配对分析
- 生成或修复 pacsomatic 样本表和启动产物
- 在本地执行或提交到调度器(LSF/Slurm/PBS/SGE)
- 执行试运行验证后再运行
- 排查启动失败问题或汇总运行输出
以下情况请勿使用此技能:
- 超出运行级别合理性检查范围的深入生物学解读
- 除非用户明确要求,否则不要编辑流水线内部代码
典型触发语句:
- “为这个肿瘤-正常配对运行 nf-core/pacsomatic”
- “准备 pacsomatic 样本表和启动脚本”
- “先做一次试运行,并告诉我缺少什么”
- “将 pacsomatic 提交到 slurm/lsf,并返回作业 ID”
- “pacsomatic 为什么提交失败了”
路由和执行规则
- 始终先收集所需的运行输入。
- 始终通过
scripts/run_pacsomatic.py进行验证和产物生成。 - 用户仅要求检查/验证时,默认使用
--dry-run。 - 仅当用户要求执行/提交时才使用
--run。 - 对于调度器模式,加入特定执行器的资源参数,并在可以检测到作业 ID 时返回该 ID。
- 如果执行失败,请报告首次失败的位置和下一步排查目标(
.nextflow.log、pipeline_info、失败任务日志)。
所需输入
必需:
- 肿瘤 BAM 路径
- 正常样本 BAM 路径
- 患者 ID
- 肿瘤样本 ID
- 正常样本 ID
- 输出目录
- 恰好一种参考模式:
--fasta或--genome
可选:
- 配置文件、资源、调度器账户/队列
- 流水线版本(
-r) - 参数文件、resume/report/dag 标志
--dry-run和/或--run
工作流
- 验证身份信息和输入约束。
- 验证所需的本地路径(BAM、可选 PBI、可选 FASTA)。
- 检查运行时和依赖项。
- 构建样本表并生成 params YAML。
- 为所选执行器生成启动脚本。
- 如果使用
--dry-run且未使用--run,则在生成产物后停止。 - 如果使用
--run,则在本地执行或提交到调度器。 - 返回命令/脚本路径、验证状态和作业 ID(如果检测到)。
Agent 响应约定
每次调用后,响应都应包含:
- 使用的确切命令或生成的脚本路径
- 确认已运行验证检查
- 运行类型(
dry-run或run) - 调度器作业 ID(如果有)
- 一个具体的验证/排查后续步骤
快速开始
试运行:
python scripts/run_pacsomatic.py \
--tumor-bam /path/to/tumor.bam \
--normal-bam /path/to/normal.bam \
--patient-id P001 \
--tumor-sample-id P001_T \
--normal-sample-id P001_N \
--outdir /path/to/output \
--genome GRCh38 \
--profile singularity,sanger \
--dry-run
调度器执行示例(Slurm):
python scripts/run_pacsomatic.py \
--tumor-bam /path/to/tumor.bam \
--normal-bam /path/to/normal.bam \
--patient-id P001 \
--tumor-sample-id P001_T \
--normal-sample-id P001_N \
--outdir /path/to/output \
--genome GRCh38 \
--profile singularity,sanger \
--executor slurm \
--queue compute \
--project my_account \
--cpus 16 \
--memory-gb 64 \
--walltime 48:00 \
--run
配置
使用 config.yaml 作为配置文件/执行器/运行时默认值的基准。若用户需求不同,请在调用时覆盖。
测试
从技能根目录运行单元测试:
python -m unittest discover -s tests -v
参考资料
references/agent-playbook.mdreferences/config-and-output.mdreferences/pacsomatic_guide.mdscripts/run_pacsomatic.py
评论
支持 Markdown