mcpField
P
pacsomatic

pacsomatic

github.com/crazymsn数据与数据库2335 次安装22 周前更新
代码仓库

关于 pacsomatic

pacsomatic 技能为 nf-core/pacsomatic 提供可复现的运行流程,使用单一脚本完成输入验证、样本表和启动文件生成,并可选择本地执行或提交调度器。适用于处理 BAM 文件的肿瘤—正常配对分析。

主要功能

  1. 01检查标识、文件与运行环境
  2. 02生成兼容格式的样本表
  3. 03生成参数 YAML 和启动脚本
  4. 04支持干跑验证
  5. 05本地运行或提交调度器

适用场景

  1. 01验证肿瘤与正常 BAM 输入
  2. 02为 pacsomatic 生成样本表和启动文件
  3. 03执行调度器提交前的干跑检查
  4. 04排查运行或提交失败

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill pacsomatic

安装后在 Claude Code 中输入/pacsomatic确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

config.yaml
LICENSE
references/
agent-playbook.md
config-and-output.md
pacsomatic_guide.md
scripts/
run_pacsomatic.py
tests/
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 为什么提交失败了”

路由和执行规则

  1. 始终先收集所需的运行输入。
  2. 始终通过 scripts/run_pacsomatic.py 进行验证和产物生成。
  3. 用户仅要求检查/验证时,默认使用 --dry-run。
  4. 仅当用户要求执行/提交时才使用 --run。
  5. 对于调度器模式,加入特定执行器的资源参数,并在可以检测到作业 ID 时返回该 ID。
  6. 如果执行失败,请报告首次失败的位置和下一步排查目标(.nextflow.log、pipeline_info、失败任务日志)。

所需输入

必需:

  • 肿瘤 BAM 路径
  • 正常样本 BAM 路径
  • 患者 ID
  • 肿瘤样本 ID
  • 正常样本 ID
  • 输出目录
  • 恰好一种参考模式:--fasta 或 --genome

可选:

  • 配置文件、资源、调度器账户/队列
  • 流水线版本(-r)
  • 参数文件、resume/report/dag 标志
  • --dry-run 和/或 --run

工作流

  1. 验证身份信息和输入约束。
  2. 验证所需的本地路径(BAM、可选 PBI、可选 FASTA)。
  3. 检查运行时和依赖项。
  4. 构建样本表并生成 params YAML。
  5. 为所选执行器生成启动脚本。
  6. 如果使用 --dry-run 且未使用 --run,则在生成产物后停止。
  7. 如果使用 --run,则在本地执行或提交到调度器。
  8. 返回命令/脚本路径、验证状态和作业 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.md
  • references/config-and-output.md
  • references/pacsomatic_guide.md
  • scripts/run_pacsomatic.py

评论

支持 Markdown