pacsomatic は何をしますか?
概要
このスキルは、nf-core/pacsomaticの再現性ある実行ワークフローを提供します。1つのヘルパーエントリポイントを中心に、バリデーション、アーティファクト生成、オプションの実行を処理します。
主なエントリポイント:
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を使用します。 - スケジューラモードの場合は、executor固有のリソース引数を含め、利用可能な場合は検出されたジョブIDを返します。
- 実行が失敗した場合は、最初の障害点と次のトリアージ対象(
.nextflow.log、pipeline_info、失敗したタスクログ)を報告します。
必要な入力
必須:
- 腫瘍BAMパス
- 正常BAMパス
- 患者ID
- 腫瘍サンプルID
- 正常サンプルID
- 出力ディレクトリ
- 正確に1つのリファレンスモード:
--fastaまたは--genome
オプション:
- プロファイル、リソース、スケジューラアカウント/キュー
- パイプラインのバージョン(
-r) - paramsファイル、resume/report/dagフラグ
--dry-runおよび/または--run
ワークフロー
- 識別情報と入力制約を検証します。
- 必要なローカルパス(BAM、オプションのPBI、オプションのFASTA)を検証します。
- ランタイムと依存関係のチェックを解決します。
- サンプルシートと生成されたparams YAMLを構築します。
- 選択されたexecutor用の起動スクリプトを生成します。
--dry-runかつ--runでない場合、アーティファクト生成後に停止します。--runの場合、ローカルで実行するかスケジューラに投入します。- 使用されたコマンド/スクリプトパス、バリデーションステータス、およびジョブID(検出された場合)を返します。
エージェント応答コントラクト
呼び出し後のすべての応答には以下を含める必要があります:
- 使用された正確なコマンド、または生成されたスクリプトのパス
- バリデーションチェックが実行されたことの確認
- 実行タイプ(
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 をプロファイル/executor/ランタイムデフォルトのベースラインとして使用します。ユーザーの要件が異なる場合は、呼び出し時にオーバーライドします。
テスト
スキルルートから単体テストを実行:
python -m unittest discover -s tests/pacsomatic -v
参照
references/agent-playbook.mdreferences/config-and-output.mdreferences/pacsomatic_guide.mdscripts/run_pacsomatic.py