{"id":7277,"plugin_id":"Plugin_271fcfe114788191b30908b85bd9ade6","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:50:15.009Z","digest":"43764c463f537c41c804759e71dca21e4824f9147fc2adb59062ae68a8e19acc","against":null,"payload":{"name":"ngs-dna-somatic-variants","description":"Run or plan tumor-normal, tumor-only, WGS, WES, or cancer-panel somatic variant workflows with pairing, contamination, panel-of-normals, purity, QC, and annotation checks.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":302}],"skill_md_contents":"---\nname: ngs-dna-somatic-variants\ndescription: Run or plan tumor-normal, tumor-only, WGS, WES, or cancer-panel somatic variant workflows with pairing, contamination, panel-of-normals, purity, QC, and annotation checks.\n---\n\n# Somatic DNA Variants\n\nUse this skill for tumor-normal or tumor-only somatic SNV/indel calling from FASTQ, BAM, or CRAM. If the request is inherited germline calling or family analysis, use `ngs-dna-germline-variants`.\n\n## Essential Inputs\n\nConfirm:\n\n- tumor-normal, tumor-only, relapse-baseline, or multi-tumor design\n- WGS, WES, or panel assay and target BED when applicable\n- input type and whether reads are already aligned\n- tumor/normal pairing table and sample identifiers\n- reference build, known-sites, germline resource, and annotation cache\n- panel-of-normals availability and matched-normal availability\n- tumor purity, contamination expectations, and minimum allele fraction goals\n- desired outputs: raw calls, filtered calls, VEP/SnpEff annotation, MAF, CNV/SV handoff\n\n## Route\n\nPrefer `nf-core/sarek` for an end-to-end public workflow when its supported callers fit the request. Use direct GATK Mutect2 or bcftools/samtools utilities for focused validation or prepared BAMs.\n\nPreflight command:\n\n```bash\npython plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline dna_somatic_variants --emit-install-plan\n```\n\nFor compact local checks from prepared tumor/normal BAM/CRAM files, use the dedicated Mutect2 runner:\n\n```bash\npython plugins/ngs-analysis/scripts/run_dna_somatic_variants.py \\\n  --sample-sheet somatic_pairs.tsv \\\n  --reference-fasta reference.fa \\\n  --germline-resource af-only-gnomad.vcf.gz \\\n  --panel-of-normals pon.vcf.gz \\\n  --execute\n```\n\nThis produces a tumor-normal/tumor-only pairing table, Mutect2 command plan, contamination/filtering artifacts, somatic QC summary, `qc/somatic_pair_review.{tsv,json}`, visualization index, and filtered VCF outputs when the local GATK resources are available. For nf-core execution, use `plugins/ngs-analysis/scripts/run_nfcore_pipeline.py --pipeline sarek`.\n\nThe direct runner also emits `resources/resource_plan.json`, `resource_manifest.tsv`, `resource_env.sh`, and `resource_readiness.md`. The resource check is advisory by default so custom or reduced references can still be planned; add `--genome-build`, `--bundle-root <bundle>=<path>`, and `--require-resource-plan` when missing registered reference bundles should block readiness.\n\n## Decision Points\n\n- Verify tumor-normal pair metadata before execution. A swapped or missing normal changes the biological meaning of the calls.\n- For tumor-only analysis, explicitly state the false-positive risk and require a germline resource plus careful filtering.\n- Use panel-of-normals when available and reference-matched; do not reuse a PON across incompatible capture kits or genome builds.\n- Track contamination, orientation bias, strand artifacts, mapping quality, coverage, tumor purity, and allele-fraction filters.\n- Keep germline filtering separate from somatic interpretation; avoid presenting tumor-only calls as confirmed somatic without supporting evidence.\n\n## Outputs\n\nProduce:\n\n- validated pairing/sample sheet\n- caller/filter settings and reference/resource manifest\n- QC summary: tumor/normal depth, contamination, duplication, insert size, on-target rate for panels/WES\n- per-pair review table covering matched-normal state, PON/germline-resource availability, contamination-table status, filtered VCF status, and parsed variant counts\n- VCF/MAF/annotation paths and a filtered-vs-raw call count summary\n- caveats for tumor-only calls, low-purity tumors, low-depth regions, or missing matched normals\n\nClinical actionability and treatment recommendations are out of scope unless the user supplies a validated clinical interpretation workflow.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}