pacsomatic은(는) 무엇을 하나요?
개요
이 스킬은 단일 도우미 진입점을 중심으로 nf-core/pacsomatic의 재현 가능한 실행 워크플로우를 제공합니다. 검증, 아티팩트 생성 및 선택적 실행을 처리합니다.
주 진입점:
scripts/run_pacsomatic.py
도우미 스크립트는:
- 필수 식별자, 파일, 참조 모드 및 런타임 전제 조건을 검증합니다.
- pacsomatic 호환 샘플시트(
patient,sample,status,bam,pbi)를 생성합니다. - 재현 가능한 재실행을 위한 파라미터 YAML 및 실행 스크립트를 생성합니다.
- dry-run 검증 및 실행/제출 경로를 지원합니다.
이 스킬을 pacsomatic 작업의 기본 경로로 사용하십시오. 사용자가 명시적으로 수동 명령어 구성을 요청하지 않는 한, 수동으로 조합한 nextflow run nf-core/pacsomatic 명령어로 우회하지 마십시오.
이 스킬을 사용해야 하는 경우
사용자가 다음을 요청할 때 이 스킬을 호출하십시오:
- BAM 파일로 매칭 종양-정상 분석 실행
- pacsomatic 샘플시트 및 실행 아티팩트 생성 또는 수정
- 로컬 실행 또는 스케줄러(LSF/Slurm/PBS/SGE)에 제출
- 실행 전 dry-run 검증 수행
- 실행 실패 문제 해결 또는 실행 결과 요약
이 스킬을 사용하지 말아야 하는 경우:
- 런 수준의 온전성 검사를 넘어서는 심층 생물학적 해석
- 명시적으로 요청되지 않은 파이프라인 내부 편집
일반적인 트리거 문구:
- "이 종양-정상 쌍에 대해 nf-core/pacsomatic을 실행해"
- "pacsomatic 샘플시트와 실행 스크립트 준비해"
- "먼저 dry run 하고 무엇이 빠졌는지 알려줘"
- "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) - 파라미터 파일, 재개/보고서/DAG 플래그
--dry-run및/또는--run
워크플로우
- 신원 및 입력 제약 조건을 검증합니다.
- 필수 로컬 경로(BAM, 선택적 PBI, 선택적 FASTA)를 검증합니다.
- 런타임 및 종속성 검사를 확인합니다.
- 샘플시트 및 생성된 파라미터 YAML을 구축합니다.
- 선택한 실행기에 대한 실행 스크립트를 생성합니다.
--dry-run이고--run이 아닌 경우 아티팩트 생성 후 중지합니다.--run인 경우 로컬로 실행하거나 스케줄러에 제출합니다.- 명령어/스크립트 경로, 검증 상태 및 (감지된 경우) 작업 ID를 반환합니다.
에이전트 응답 계약
호출 후 모든 응답에는 다음이 포함되어야 합니다:
- 사용된 정확한 명령어 또는 생성된 스크립트 경로
- 검증 검사가 실행되었음을 확인
- 실행 유형(
dry-runvsrun) - 가능한 경우 스케줄러 작업 ID
- 검증/문제 해결을 위한 구체적인 다음 단계 하나
빠른 시작
Dry run:
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