mcpField
P
pacsomatic

pacsomatic

github.com/crazymsnデータ・データベース2335 回インストール22 週間前に更新
リポジトリ

pacsomatic について

pacsomaticスキルは、nf-core/pacsomaticの再現可能な実行手順を提供します。補助スクリプトで入力検証、サンプルシートと起動用ファイルの生成を行い、ローカル実行またはスケジューラーへの投入に対応します。BAMファイルを使う腫瘍・正常ペア解析向けです。

主な機能

  1. 01識別情報・ファイル・実行環境の検証
  2. 02互換形式のサンプルシート生成
  3. 03params YAMLと起動スクリプトの生成
  4. 04ドライラン検証
  5. 05ローカル実行またはスケジューラー投入

活用シーン

  1. 01腫瘍・正常のBAM入力を検証
  2. 02pacsomatic用サンプルシートと起動ファイルを生成
  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 を返します。
  6. 実行に失敗した場合は、最初の失敗箇所と次のトリアージ対象(.nextflow.log、pipeline_info、失敗したタスクのログ)を報告します。

必須入力

必須:

  • 腫瘍 BAM のパス
  • 正常 BAM のパス
  • 患者 ID
  • 腫瘍サンプル ID
  • 正常サンプル ID
  • 出力ディレクトリ
  • リファレンスモードを必ず 1 つ指定:--fasta または --genome

任意:

  • プロファイル、リソース、スケジューラーのアカウント/キュー
  • パイプラインのバージョン(-r)
  • params ファイル、resume/report/dag フラグ
  • --dry-run および/または --run

ワークフロー

  1. ID と入力の制約を検証します。
  2. 必須のローカルパス(BAM、任意の PBI、任意の FASTA)を検証します。
  3. 実行環境と依存関係を確認します。
  4. サンプルシートと生成する params YAML を作成します。
  5. 選択したエグゼキューター用の起動スクリプトを生成します。
  6. --dry-run が指定され、--run が指定されていない場合は、成果物の生成後に終了します。
  7. --run が指定されている場合は、ローカルで実行するか、スケジューラーに送信します。
  8. コマンド/スクリプトのパス、検証ステータス、ジョブ ID(検出できた場合)を返します。

エージェントの応答要件

呼び出し後のすべての応答に、次の内容を含めてください。

  • 実際に使用したコマンド、または生成したスクリプトのパス
  • 検証チェックを実行したことの確認
  • 実行タイプ(dry-run または run)
  • 取得できた場合はスケジューラーのジョブ ID
  • 検証またはトリアージの具体的な次の手順を 1 つ

クイックスタート

ドライラン:

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

コメント