pacsomatic 是做什麼的?
概述
此技能提供一個可重現的 nf-core/pacsomatic 執行工作流程,以一個統一的輔助入口點為核心,負責驗證、工件生成和選擇性執行。
主要入口點:
scripts/run_pacsomatic.py
輔助腳本:
- 驗證所需的標識符、檔案、參考模式及執行環境先決條件
- 寫入 pacsomatic 相容的樣本表(
patient,sample,status,bam,pbi) - 生成一個參數 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。
- 若執行失敗,請報告第一個失敗點及下一個要排查的目標(
.nextflow.log、pipeline_info、失敗的任務日誌)。
所需輸入
必要:
- 腫瘤 BAM 路徑
- 正常 BAM 路徑
- 患者 ID
- 腫瘤樣本 ID
- 正常樣本 ID
- 輸出目錄
- 選擇一種參考模式:
--fasta或--genome
選擇性:
- 設定檔、資源、排程器帳號/佇列
- 管線版本(
-r) - 參數檔案、resume/report/dag 旗標
--dry-run和/或--run
工作流程
- 驗證身分和輸入限制。
- 驗證所需的本地路徑(BAM、可選的 PBI、可選的 FASTA)。
- 解析執行環境與相依性檢查。
- 建立樣本表和生成的參數 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/pacsomatic -v
參考資料
references/agent-playbook.mdreferences/config-and-output.mdreferences/pacsomatic_guide.mdscripts/run_pacsomatic.py