本文へ移動
cccskills
無料GitHub で公開

bio-copy-number-germline-cnv-interpretation

Classify constitutional (germline) copy number variants for clinical reporting using the 2019 ACMG/ClinGen technical standards points-based framework, with ClassifyCNV and AnnotSV for semi-automated scoring. Covers the separate copy-number-loss and copy-number-gain rubrics, the five-tier classification, ClinGen haploinsufficiency/triplosensitivity and dosage-sensitive regions, de novo and segregation evidence, and population-frequency benign evidence. Use when assigning pathogenic/likely-pathogenic/VUS/likely-benign/benign to a constitutional CNV, scoring a CNV against ACMG/ClinGen criteria, or distinguishing the automatable evidence from the case-specific evidence requiring manual input.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md11.6 KB
  • examples/classify_germline_cnv.py2.2 KB
  • usage-guide.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Version Compatibility

Reference examples tested with: ClassifyCNV 1.1+, AnnotSV 3.4+, Python 3.10+ with pandas 2.2+; bedtools 2.31+.

Before using code patterns, verify installed versions match. If versions differ:

  • CLI: python ClassifyCNV.py --help, AnnotSV --version
  • Update the bundled ClinGen/dosage databases — ClassifyCNV ships an update_clingen.sh; dosage curation changes, and a stale database silently mis-scores.

This skill is for constitutional/germline CNVs only. Somatic tumor CNVs use a different framework (AMP/ASCO/CAP and OncoKB tiers) — do not apply ACMG/ClinGen constitutional scoring to a tumor.

Germline CNV Interpretation

"Is this constitutional CNV pathogenic" -> Apply the 2019 ACMG/ClinGen technical standards: a semiquantitative, points-based rubric that sums evidence into one of five clinical categories. There are two separate rubrics — one for copy-number loss, one for copy-number gain — because the evidence for deletion and duplication pathogenicity is different. The total score maps to a five-tier classification.

  • CLI: ClassifyCNV (automates the observed-evidence sections), AnnotSV (ACMG-aligned rank)
  • Manual: case-specific evidence (de novo status, segregation, prior literature) is scored by the interpreter, not the tool

The Points Framework

Total scoreClassification
>= 0.99Pathogenic
0.90 to 0.98Likely pathogenic
-0.89 to 0.89Variant of uncertain significance (VUS)
-0.90 to -0.98Likely benign
<= -0.99Benign

Evidence is grouped into sections (the loss and gain rubrics each have five). For copy-number loss: Section 1 — does the CNV contain protein-coding or functionally important elements; Section 2 — overlap with established haploinsufficient genes/regions (strong positive) or established benign regions (strong negative); Section 3 — number of protein-coding genes; Section 4 — detailed case/literature evidence (case-control, prior probands, phenotype specificity); Section 5 — inheritance (de novo with confirmed parentage is strong positive; inherited from an unaffected parent is negative). The gain rubric is structured the same way but keyed to triplosensitivity and the distinct evidence base for duplications.

The decisive postdoc-level point: a tool can only score the evidence it is given. ClassifyCNV and AnnotSV automate Sections 1-3 (gene content, dosage-region overlap, population frequency) well; Sections 4-5 (de novo status, segregation, literature) require the interpreter to supply points. An unsupervised tool run therefore systematically lands CNVs in VUS — the absence of family/literature evidence is not neutral, it is unscored.

Classification Workflow

StepSourceAutomatable
Gene content, functional elementsRefSeq/GENCODEYes (ClassifyCNV/AnnotSV)
Established HI/TS gene & region overlapClinGen dosage mapYes
Protein-coding gene countGene modelYes
Population frequency (benign evidence)gnomAD-SV, DGVYes
Case-control / prior probands / phenotype fitLiterature, DECIPHER, internal DBPartial — interpreter scores
De novo status, segregationTrio/family dataNo — interpreter scores

Semi-Automated Scoring with ClassifyCNV

Goal: Score the automatable ACMG/ClinGen sections for a set of constitutional CNVs.

Approach: Provide CNVs as a BED with an explicit DEL/DUP type; ClassifyCNV applies the 2019 rubric against the bundled ClinGen databases and emits a per-CNV scoresheet.

# Input BED: chrom, start, end, type  (type = DEL or DUP)
python ClassifyCNV.py \
    --infile constitutional_cnvs.bed \
    --GenomeBuild hg38 \
    --precise \
    --outdir classifycnv_out

# Output Scoresheet.txt: per-CNV total score, classification, and per-criterion points.
import pandas as pd

def review_classifycnv(scoresheet):
    '''Flag CNVs whose ACMG class likely changes once case-specific evidence is added.'''
    df = pd.read_csv(scoresheet, sep='\t')
    # VUS CNVs near a tier boundary are the ones where de novo / segregation evidence
    # (Sections 4-5, not scored automatically) would tip the classification.
    df['near_boundary'] = df['Total score'].between(0.60, 0.89) | \
                          df['Total score'].between(-0.89, -0.60)
    df['needs_manual_evidence'] = (df['Classification'] == 'VUS') & df['near_boundary']
    return df

Comprehensive Annotation Cross-Check with AnnotSV

AnnotSV -SVinputFile constitutional_cnvs.vcf -genomeBuild GRCh38 \
    -annotationMode both -outputFile annotsv_out.tsv
# AnnotSV emits an ACMG-aligned rank (1 benign - 5 pathogenic) per SV; use it to
# cross-check ClassifyCNV, not as a standalone clinical classification.

Failure Modes

Applying constitutional scoring to a somatic CNV

Trigger: Running ACMG/ClinGen germline classification on tumor copy number.

Mechanism: The 2019 standards are explicitly constitutional; somatic CNV clinical significance uses the AMP/ASCO/CAP tier system and oncology evidence (therapy, prognosis).

Symptom: Tumor amplifications classified as "pathogenic germline variants"; clinically meaningless report.

Fix: Confirm the CNV is constitutional (present in germline DNA). For tumors, use somatic oncology frameworks — see clinical-databases/variant-prioritization.

Treating a tool's VUS as a final answer

Trigger: Reporting ClassifyCNV/AnnotSV output verbatim without adding case evidence.

Mechanism: Tools score gene content, dosage overlap, and frequency, but not de novo status, segregation, or literature; absent that input the score sits in the VUS band.

Symptom: Nearly every novel CNV classified VUS; clinically relevant de novo deletions under-called.

Fix: Treat tool output as the Section 1-3 baseline. Add Section 4-5 points from trio data, segregation, DECIPHER, and literature before issuing a classification. A VUS near a tier boundary specifically signals missing case evidence.

Stale ClinGen dosage database

Trigger: Using ClassifyCNV/AnnotSV bundled databases without updating.

Mechanism: ClinGen dosage curation is ongoing; HI/TS scores and dosage-sensitive regions change. A stale database scores Section 2 wrong.

Symptom: A gene with a newly curated HI score 3 is scored as having no dosage evidence; classification too low.

Fix: Run the database update script before a classification batch; record the ClinGen release date in the report.

Genome-build mismatch

Trigger: CNV coordinates and the --GenomeBuild argument (or annotation databases) on different builds.

Mechanism: Coordinates silently shift; the wrong genes and dosage regions are scored.

Symptom: Implausible gene content; a known disorder locus scored as gene-poor.

Fix: Confirm CNV coordinates, --GenomeBuild, and all databases are the same build; verify a landmark CNV.

Partial-gene overlap scored as whole-gene loss

Trigger: Scoring a deletion that removes only part of a haploinsufficient gene as a full-gene loss.

Mechanism: The rubric distinguishes whole-gene loss from partial overlap; a deletion of a few exons may create a truncating allele with different (sometimes greater) impact, scored under different criteria.

Symptom: Partial-gene CNVs mis-scored; truncating deletions under- or over-weighted.

Fix: Record whether the CNV removes the whole gene or part of it, and which exons; apply the rubric's partial-overlap criteria explicitly.

Reconciliation

PatternLikely causeAction
ClassifyCNV VUS, AnnotSV rank 4Different weighting of the same evidenceRe-derive points manually against the 2019 standard
Tool says benign, locus is a known disorderStale dosage database or build mismatchUpdate databases; verify build
Two interpreters disagree on a VUSSection 4-5 evidence weighted differentlyUse the ClinGen calculator; document each criterion
De novo deletion still VUSSection 5 points not addedAdd confirmed-de-novo points

Operational rule: A clinical CNV classification is final only when (1) the CNV is confirmed constitutional, (2) databases and builds are current and consistent, (3) the automatable Sections 1-3 are scored by a tool, and (4) the interpreter has scored Sections 4-5 from case-specific evidence. Document each criterion and its points; the ClinGen web calculator is the reference tally.

Quantitative Thresholds

ThresholdValueSource / Rationale
Pathogenictotal score >= 0.99Riggs 2020 ACMG/ClinGen technical standards
Likely pathogenic0.90 to 0.98Riggs 2020
VUS-0.89 to 0.89Riggs 2020
Likely benign-0.90 to -0.98Riggs 2020
Benign<= -0.99Riggs 2020
Established dosage sensitivityClinGen HI/TS score = 3ClinGen: sufficient evidence
Common-CNV benign frequencyhigh population frequencySection 2/4 benign evidence

Common Errors

Error / symptomCauseSolution
Tumor CNVs classified "pathogenic germline"Constitutional rubric applied to somaticUse somatic oncology frameworks
Almost everything classified VUSSections 4-5 not scoredAdd de novo/segregation/literature points
Known disorder locus scored benignStale dosage DB or build mismatchUpdate ClinGen databases; check build
Wrong genes scoredBuild mismatchAlign coordinates, --GenomeBuild, databases
Partial-gene deletion mis-scoredWhole-gene assumptionApply partial-overlap criteria
ClassifyCNV vs AnnotSV disagreeDifferent evidence weightingRe-derive against the 2019 standard manually

References

  • Riggs ER et al 2020. Technical standards for the interpretation and reporting of constitutional copy-number variants: a joint consensus recommendation of ACMG and ClinGen. Genet Med 22:245
  • Gurbich TA, Ilinsky VV 2020. ClassifyCNV: a tool for clinical annotation of copy-number variants. Sci Rep 10:20375
  • Geoffroy V et al 2018. AnnotSV: an integrated tool for structural variations annotation. Bioinformatics 34:3572
  • Rehm HL et al 2015 NEJM 372:2235 (ClinGen launch / framework). Dosage-sensitivity curation methodology is in Riggs ER et al 2012 Genet Med 14:680 (original ClinGen dosage-sensitivity workflow). Current ClinGen Dosage Sensitivity Map: clinicalgenome.org.

Related Skills

  • copy-number/cnv-annotation - Gene, dosage, and database annotation feeding the rubric
  • copy-number/gatk-cnv - GATK-gCNV germline CNV calling
  • copy-number/cnvkit-analysis - Germline CNV calling from panels/exomes
  • clinical-databases/clinvar-lookup - ClinVar CNV records and prior classifications
  • clinical-databases/variant-prioritization - Somatic variant tiering (the non-germline path)
  • clinical-databases/gnomad-frequencies - Population frequency for benign evidence

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

生成图文并茂的分析报告/实验报告/质检报告(固定模版)。当用户要求"生成报告/总结报告/实验报告/质检报告/QC报告",或分析流程收尾需要交付报告时使用。报告必须基于真实分析输出,包含固定章节结构、关键指标表格和真实结果图。

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

Predicts ADMET properties using ADMETlab 3.0 (119 endpoints with uncertainty), ADMET-AI, DeepChem MolNet, and chemprop D-MPNN with explicit handling of OECD QSAR principles, applicability domain assessment, calibration, hERG/CYP/AMES gold-standard endpoints, and PAINS / Lipinski / Ro5 / Veber / BBB druglikeness filters. Use when filtering compounds for drug-likeness, prioritizing leads by predicted safety, or building an in-house ADMET QSAR model.

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

Trim PCR primers from aligned reads in amplicon-panel BAMs using samtools ampliconclip. Use when processing SARS-CoV-2 ARTIC, hereditary cancer panels, ctDNA hot-spot panels, or any amplicon assay where primer-derived bases would falsely confirm reference at primer footprints.

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

Filter alignments by flags, mapping quality, and regions using samtools view and pysam. Use when extracting specific reads, removing low-quality alignments, or subsetting to target regions.

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam. Use when enabling random access to alignment files or fetching specific genomic regions.

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO. Supports Clustal, PHYLIP, Stockholm, FASTA, Nexus, and other alignment formats for phylogenetics and conservation analysis. Use when reading, writing, or converting alignment file formats.

日本語の概要は準備中です。原文の説明を表示しています。

peacezha/HPClaw32026年10月11日 更新

peacezha のスキルをすべて見る

このスキルの問題を報告する