agentsclimarketplace

Bio clinical databases acmg classification

Skill bg-szy/TOP-SKILLS/skills/awesome-skills/bio-clinical-databases-acmg-classification

全球最大的 Claude Code 技能聚合库 · 收录 3900+ 来自 12+ 来源的技能,提供在线搜索与趋势分析看板 / The world's largest Claude Code skill aggregation hub — 3900+ skills from 12+ sources with online search and trend dashboard

Install
npx -y skills add bg-szy/TOP-SKILLS --skill bio-clinical-databases-acmg-classification

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Applies ACMG/AMP 2015 framework with ClinGen SVI specifications, Tavtigian 2018/2020 Bayesian point system, Abou Tayoun 2018 PVS1 decision tree, Pejaver 2022 and Bergquist 2025 calibrated PP3/BP4 thresholds for REVEL/BayesDel/AlphaMissense, Brnich 2020 PS3/BS3 OddsPath, Walker 2023 SpliceAI splicing framework, and AMP/ASCO/CAP 2017 tumor tiers. Use when classifying germline variants P / LP / VUS / LB / B, applying VCEP-specific CSpec rules, computing Whiffin BS1, or assigning cancer Tier I-IV per Li 2017.

SKILL.md

27.2 KB, as published. Nobody here has run it

Version Compatibility

Reference examples tested with: requests 2.31+, pandas 2.2+, AutoPVS1 (Xiang 2020), InterVar 2.2+, GeneBe 1.0+ (Stawiński 2024 Clin Genet). ACMG/AMP Bayesian point system is Tavtigian 2018 Genet Med / 2020 Hum Mutat. Pejaver 2022 AJHG PP3/BP4 calibrated thresholds. ClinGen Splicing Subgroup 2023 (Walker AJHG). v3.2 ACMG SF list (Miller 2023). The ACMG 2.0 framework is in development as of May 2026; not yet published.

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

  • Python: pip show <package> then help(module.function) to check signatures
  • CLI: <tool> --version

If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying. VCEP-specific CSpec rules override default ACMG application; the authoritative directory is https://cspec.genome.network/cspec/ui/svi/all.

ACMG/AMP Variant Classification Framework

'Classify this variant per ACMG/AMP' -> Apply 28-criterion framework using Tavtigian point system; gate on ClinGen SVI specifications and VCEP-specific overrides; assign P / LP / VUS / LB / B classification with evidence trail.

  • Python (automated): GeneBe API https://api.genebe.net/cloud/api-public/v1/variant
  • Python (rule-based): InterVar -> python InterVar.py -i input.vcf -b hg38 --table_annovar table_annovar.pl
  • Web tools: VarSome (commercial), Franklin/Genoox (commercial), ClinGen VCI (gold standard for SVI)
  • Citation: Richards 2015 Genet Med 17:405 (original framework); Tavtigian 2020 Hum Mutat 41:1734 (point system)

The Tavtigian Bayesian Point System: The Engine Inside All Modern Classifiers

Richards 2015 specified 28 criteria with strength labels (Supporting / Moderate / Strong / Very Strong); combination rules produced P / LP / VUS / LB / B. Tavtigian 2018/2020 demonstrated this framework is mathematically a Bayesian classifier and proposed the naturally-scaled point system that every modern automated classifier implements:

StrengthPointsOdds of pathogenicity
Supporting12.08:1
Moderate24.33:1
Strong418.7:1
Very Strong8350:1

Benign codes are negative-signed. Final classification:

Sum of pointsCategory
>= 10Pathogenic
6-9Likely Pathogenic
0-5VUS
-1 to -6Likely Benign
<= -7Benign

InterVar / GeneBe / VarSome / Franklin all implement Tavtigian point summation under the hood. Combinations never appearing in the 2015 combining rules (e.g., PVS1_VeryStrong + PM2_Supporting -> LP) emerge naturally from point arithmetic.

PVS1 Decision Tree (Abou Tayoun 2018 Hum Mutat 39:1517)

PVS1 is the most consequential code: pathogenic Very Strong (8 points) for predicted loss-of-function in a gene where LoF is established disease mechanism. The 2018 decision tree refined PVS1 from a binary into a graded code based on:

  1. Variant type: nonsense / frameshift / canonical +-1,2 splice / initiation codon / single-exon deletion / multi-exon deletion.
  2. NMD prediction: variant in 5'-most exon OR >50bp upstream of last exon-exon junction -> NMD-triggered. Else truncated protein.
  3. Critical region: removal of >10% of coding sequence OR removal of a critical functional domain.
  4. Alternative isoform: does the variant affect a transcript expressed in disease-relevant tissue?

Output strengths:

OutputOriginal Strength
PVS1_VeryStrongStrongest (Very Strong)
PVS1_StrongStrong
PVS1_ModerateModerate
PVS1_SupportingSupporting

Subsumption rule (Abou Tayoun 2018): PVS1 + PP3 -> only PVS1 counts (PP3 is subsumed). Same for PVS1 + PM4.

>15 VCEP-specific PVS1 trees exist as of 2024 (CDH1, ENIGMA BRCA1/2, FH LDLR/APOB/PCSK9, InSiGHT MMR, RASopathies, hearing loss, hypertrophic cardiomyopathy, Rett/Angelman, etc.). The automated implementation is AutoPVS1 (Xiang 2020).

Pejaver 2022 PP3/BP4 Calibrated Thresholds (the load-bearing 2024+ calibration)

Pejaver 2022 AJHG 109:2163 Bayesian-calibrated 13 missense predictors to PP3/BP4 strength levels using ClinVar P/B variants with leave-one-gene-out cross-validation.

PredictorBP4_StrongBP4_ModerateBP4_SupportingPP3_SupportingPP3_ModeratePP3_StrongFails when
REVEL<= 0.016<= 0.183<= 0.290>= 0.644>= 0.773>= 0.932Stacked with BayesDel/VEST4 (training overlap; double-counting)
BayesDel (no AF)n/a<= -0.36<= -0.18>= 0.13>= 0.27>= 0.50No BP4_Strong reached; combine no-AF version with PM2_Supporting
VEST4n/a<= 0.302<= 0.449>= 0.764>= 0.861>= 0.965No BP4_Strong reached; indels (missense-trained); regulatory variants
MutPred2(Pejaver 2022)----------Genes with sparse MAVE training data
AlphaMissenseNOT ClinGen-endorsed----Use as supporting only--NOT ClinGen-endorsedDeveloper threshold 0.564 misapplied as PP3

The numbers to memorize: REVEL >= 0.932 = PP3_Strong; REVEL <= 0.016 = BP4_Strong (<= 0.003 BP4_VeryStrong); the 0.290-0.644 band is indeterminate (no criterion).

AlphaMissense calibration (Bergquist 2025 Genet Med 27:101402, ClinGen SVI; originally Bergquist et al. bioRxiv 2024.09.17): this ClinGen SVI calibration extends the graded PP3/BP4 options to AlphaMissense, reaching PP3_Strong and at least BP4_Moderate. Critical: the developer-recommended 0.564 threshold is NOT the calibrated PP3 threshold; verify the current ClinGen SVI recommendation for the exact score cutoffs before applying.

Do not stack predictors. REVEL, BayesDel, VEST4 share ClinVar/HGMD training data; using REVEL >= 0.773 AND BayesDel >= 0.27 to claim "two independent moderate hits" is double-counting. Pejaver 2022 explicitly recommends using ONE predictor per variant.

PM2_Supporting (ClinGen SVI 2020)

The original PM2 ("absent from controls") was over-weighted. SVI 2020 downgraded to PM2_Supporting (1 point, not 2). Mechanism: most rare variants are benign. Empirical recalibration showed ~6 variants per gene downgrade from LP to VUS when PM2 -> Supporting. Many 2017-2019 LP curations require re-classification post-SVI 2020 update.

PS3/BS3 Functional Evidence (Brnich 2020 Genome Med 12:3)

OddsPath framework; the four-step SOP:

  1. Define disease mechanism for the gene.
  2. Evaluate assay class (e.g., MAVE, biochemical, animal model).
  3. Evaluate specific assay instance (controls, replicate consistency).
  4. Apply per-variant.

OddsPath calibration mapping to ACMG strengths:

OddsPathPathogenic strengthBenign strength
> 18.7Very Strongn/a
4.3 - 18.7Strong--
2.1 - 4.3Moderate--
1.2 - 2.1Supporting(mirror)

MAVEdb deep-mutational scans with >=11 controls (>=5 P/LP + >=5 B/LB) can yield up to PS3_Strong/BS3_Strong via OddsPath calibration. This is the entry point for MAVE/saturation-mutagenesis evidence into ACMG.

Default-Strong PS3 application is increasingly over-strengthening without OddsPath calibration; ClinGen SVI recommends moving toward PS3_Moderate as default unless OddsPath > 4.3.

ClinGen SVI Splicing Subgroup 2023 (Walker AJHG 110:1046)

SpliceAI is the recommended primary splicing tool. Calibrated thresholds:

SpliceAI DS_maxStrength (Walker 2023: computational splice codes applied at Supporting weight)
>= 0.2PP3_Supporting (minimum threshold for ANY splicing PP3)
0.1 - 0.2Indeterminate (no criterion)
<= 0.1BP4_Supporting

SpliceAI prediction alone does NOT reach PP3_Strong; strength escalation requires experimental/RNA splicing evidence (PS3) or the repurposed PVS1 route.

SpliceVault / 300K-RNA (Dawes 2023 Nat Genet 55:324): does NOT predict whether a variant is splice-altering; predicts WHAT the aberrant transcript will be (which exon skips, which cryptic site activates). 96% sensitivity for exon-skipping; 86% for cryptic site activation in 140 clinical RNA-tested cases. Critical for PVS1 application to splice variants because PVS1 depends on whether the aberrant transcript triggers NMD.

Pangolin (Zeng 2022 Genome Biol 23:103): SpliceAI improvement for cryptic donor sites; not yet ClinGen-endorsed but increasingly used as tiebreaker.

BS1 / BA1 (Whiffin Max-Credible-AF)

BA1 default: AF > 5% in non-bottleneck group per ClinGen SVI; VCEP-specific overrides (Hearing Loss VCEP uses 0.5% AR).

BS1 gene-specific: (prevalence x heterogeneity x allelic-contribution) / (penetrance x 2) from Whiffin 2017 Genet Med 19:1151. Compare against gnomAD grpmax_faf95.

See clinical-databases/gnomad-frequencies for FAF95 details.

ClinGen VCEP CSpec Hierarchy

LayerAuthorityApplication
Generic ACMG/AMP 2015Richards 2015Default fallback
ClinGen SVI specificationsSVI Working GroupOverrides generic for all genes (PM2 -> Supporting; AutoPVS1 trees; etc.)
VCEP-specific CSpecGene/disease-specific expert panelOverrides SVI for that gene-disease

ClinGen VCEP CSpec authoritative registry: https://cspec.genome.network/cspec/ui/svi/all. ~80-90 VCEPs as of 2025. Examples:

  • Hearing Loss VCEP: PM2 -> supporting default; PS3 thresholds upgraded for OTOF; BA1 lowered to 0.5% AR.
  • ENIGMA BRCA1/2 VCEP: gene-specific PVS1 trees with NMD escape rules; PS4 case-control thresholds.
  • Inherited Cardiac Conditions VCEP: gene-specific PS4 (5+ unrelated probands for PS4_Supporting).

Apply VCEP CSpec when one exists. Generic ACMG with no VCEP awareness is unreliable for many genes.

Cancer Somatic Framework (Li 2017 J Mol Diagn 19:4)

AMP/ASCO/CAP somatic variant interpretation; four tiers:

TierDefinitionAction
Tier I-AFDA-approved drug for same tumor type with this biomarkerOn-label therapy
Tier I-BProfessional guidelines (NCCN, ESMO)Standard-of-care
Tier II-CFDA drug in different tumor type (off-label)Basket trials
Tier II-DPreclinical / investigationalResearch
Tier IIIVUS-somaticWatch list
Tier IVBenign-somaticFilter out

Knowledgebases: OncoKB (MSKCC; Chakravarty 2017), CIViC (Griffith 2017 Nat Genet 49:170), CGI (Tamborero 2018), JAX-CKB, COSMIC. OncoKB Levels (1-4 therapeutic) map to AMP tiers loosely.

The Variant Interpretation for Cancer Consortium (VICC) Meta-Knowledgebase standards (2024-2025) harmonize across knowledgebases. ClinGen Somatic VCEPs are emerging (started 2022).

Decision Tree by Variant Type

Variant typeRecommended workflow
Predicted LoF in known LoF-mechanism geneAutoPVS1 decision tree -> PVS1_VeryStrong/Strong/Moderate/Supporting; check VCEP-specific PVS1
Missense in known missense-pathogenic geneApply Pejaver 2022 PP3/BP4 calibrated thresholds; ONE predictor only
Splice variantSpliceAI DS_max + SpliceVault for aberrant-transcript prediction; PP3_Supporting if DS_max >=0.2 (strength escalation needs RNA/experimental evidence)
SynonymousSpliceAI for cryptic splice effect; synVep / PrimateAI synonymous extension
Variant in ACMG SF v3.2 geneApply full classification; flag P/LP for opt-in disclosure
Cancer somatic variantAMP/ASCO/CAP 2017 Tier I-IV; cross-check OncoKB / CIViC
Variant in Limited gene-disease validityClinGen Strong/Definitive required for clinical action
Functional evidence availableBrnich 2020 PS3/BS3 OddsPath framework
Family segregationPP1 / BS4 LOD score per Biesecker 2024
In-trans observations (AR)PM3 with ClinGen tabular scoring system
HGVS-c on alternative transcriptRe-evaluate on MANE Select

Standard Workflow: ACMG Classification

Goal: Apply ACMG/AMP framework to a candidate variant with proper SVI specifications and VCEP overrides.

Approach: Pull aggregated evidence; apply Pejaver-calibrated in-silico thresholds; check VCEP-specific CSpec; sum Tavtigian points.

import requests
import pandas as pd


# Pejaver 2022 calibrated REVEL thresholds (one-predictor rule applies)
REVEL_THRESHOLDS = {
    'BP4_VeryStrong': (-float('inf'), 0.003),
    'BP4_Strong': (0.003, 0.016),
    'BP4_Moderate': (0.016, 0.183),
    'BP4_Supporting': (0.183, 0.290),
    # (0.290, 0.644) = indeterminate zone, no criterion applied
    'PP3_Supporting': (0.644, 0.773),
    'PP3_Moderate': (0.773, 0.932),
    'PP3_Strong': (0.932, float('inf'))
}

# Tavtigian point assignments (Tavtigian 2020 Hum Mutat)
STRENGTH_POINTS = {
    'PVS1_VeryStrong': 8, 'PVS1_Strong': 4, 'PVS1_Moderate': 2, 'PVS1_Supporting': 1,
    'PS1': 4, 'PS2': 4, 'PS3': 4, 'PS3_Moderate': 2, 'PS3_Supporting': 1, 'PS4': 4,
    'PM1': 2, 'PM2_Supporting': 1, 'PM3': 2, 'PM3_Strong': 4, 'PM3_VeryStrong': 8,
    'PM4': 2, 'PM5': 2, 'PM6': 2,
    'PP1': 1, 'PP1_Moderate': 2, 'PP1_Strong': 4,
    'PP2': 1, 'PP3_Supporting': 1, 'PP3_Moderate': 2, 'PP3_Strong': 4, 'PP4': 1, 'PP5': 1,
    # Benign codes (negative)
    'BA1': -100,  # Standalone benign
    'BS1': -4, 'BS2': -4, 'BS3': -4, 'BS3_Moderate': -2, 'BS3_Supporting': -1, 'BS4': -4,
    'BP1': -1, 'BP2': -1, 'BP3': -1,
    'BP4_Supporting': -1, 'BP4_Moderate': -2, 'BP4_Strong': -4, 'BP4_VeryStrong': -8,
    'BP5': -1, 'BP6': -1, 'BP7': -1
}


def classify_revel_pp3_bp4(revel_score):
    '''Map REVEL score to PP3/BP4 strength per Pejaver 2022.'''
    if revel_score is None:
        return None
    for code, (lo, hi) in REVEL_THRESHOLDS.items():
        if lo <= revel_score < hi:
            return code
    return None


def classify_alphamissense_supporting_only(am_score):
    '''AlphaMissense is currently supporting-only; ClinGen has not endorsed PP3 calibration.

    Cheng 2023 developer threshold 0.564 is NOT the Pejaver-style PP3 calibration.
    '''
    if am_score is None:
        return None
    if am_score >= 0.7:
        return 'PP3_Supporting'   # Tentative; ClinGen not endorsed
    if am_score <= 0.2:
        return 'BP4_Supporting'   # Tentative
    return None


def spliceai_to_acmg(ds_max):
    '''Walker 2023 SVI Splicing Subgroup framework.

    Computational SpliceAI codes are applied at Supporting weight.
    SpliceAI >= 0.20 -> PP3_Supporting (minimum for ANY splicing PP3).
    SpliceAI <= 0.1 -> BP4_Supporting.
    Prediction alone does not reach PP3_Strong; escalation needs RNA/experimental evidence.
    '''
    if ds_max is None:
        return None
    if ds_max >= 0.20:
        return 'PP3_Supporting'
    if ds_max <= 0.1:
        return 'BP4_Supporting'
    return None


def tavtigian_classify(criteria_assigned):
    '''Sum Tavtigian points and classify P / LP / VUS / LB / B.

    criteria_assigned: list of criterion strings (e.g., ['PVS1_VeryStrong', 'PM2_Supporting'])
    '''
    points = sum(STRENGTH_POINTS.get(c, 0) for c in criteria_assigned)
    if any(c == 'BA1' for c in criteria_assigned):
        return {'classification': 'Benign', 'points': points, 'rationale': 'BA1 standalone'}
    if points >= 10:
        category = 'Pathogenic'
    elif points >= 6:
        category = 'Likely Pathogenic'
    elif points >= 0:
        category = 'VUS'
    elif points >= -6:
        category = 'Likely Benign'
    else:
        category = 'Benign'
    return {'classification': category, 'points': points, 'criteria': criteria_assigned}


def genebe_classify(hgvs):
    '''Query GeneBe API (Stawiński 2024) for automated ACMG classification.

    GeneBe is open-source, Tavtigian-point-system-based, and performs comparably to
    VarSome (which is commercial, 82% ACMG criteria auto-application rate).
    '''
    r = requests.get(f'https://api.genebe.net/cloud/api-public/v1/variant',
                     params={'variant': hgvs, 'genome': 'hg38'},
                     timeout=30)
    r.raise_for_status()
    return r.json()


def whiffin_max_credible_af(prevalence, max_allelic_contribution=1.0,
                              max_genetic_contribution=1.0, penetrance=1.0):
    '''Compute gene-specific BS1 max-credible-AF (Whiffin 2017 Genet Med).

    Returns: max-credible per-allele frequency under dominant inheritance.
    For autosomal recessive, transform appropriately.
    '''
    return (prevalence * max_genetic_contribution * max_allelic_contribution) / (penetrance * 2)


def apply_bs1_ba1(grpmax_faf95, max_credible_af, ba1_threshold=0.05):
    '''Apply ClinGen SVI BS1/BA1 from gnomAD grpmax FAF95.'''
    if grpmax_faf95 is None or grpmax_faf95 == 0.0:
        return 'PM2_Supporting'
    if grpmax_faf95 > ba1_threshold:
        return 'BA1'
    if grpmax_faf95 > max_credible_af:
        return 'BS1'
    return None

Per-Operation Failure Modes

1. Stacking REVEL + BayesDel + VEST4 as independent evidence

  • Trigger: Apply PP3 from multiple predictors.
  • Mechanism: Predictors share training data; double-counting.
  • Symptom: Inflated PP3 strength; over-classified LP.
  • Fix: Use ONE predictor per variant (Pejaver 2022).

2. AlphaMissense PP3_Strong with developer 0.564 threshold

  • Trigger: Apply AlphaMissense >0.564 -> PP3_Strong.
  • Mechanism: 0.564 is the developer-recommended likely-pathogenic threshold, NOT a calibrated PP3 cutoff; use the ClinGen SVI calibration (Bergquist 2025) score thresholds instead.
  • Symptom: Over-application of PP3.
  • Fix: Use AlphaMissense as supporting evidence only; defer to Pejaver-calibrated REVEL.

3. PVS1 applied to nonsense variant in GoF gene

  • Trigger: Nonsense variant in SCN5A reported as PVS1 for LQT3.
  • Mechanism: SCN5A has both LoF (Brugada) and GoF (LQT3) mechanisms. PVS1 should NOT apply if LoF is not the established mechanism.
  • Symptom: Wrong classification; clinical action mis-directed.
  • Fix: Check ClinGen gene-disease mechanism; apply PVS1 only when LoF is established.

4. Generic ACMG instead of VCEP CSpec

  • Trigger: Apply default ACMG to a variant in a gene with VCEP-specific CSpec.
  • Mechanism: VCEP CSpec overrides for the gene; e.g., Hearing Loss VCEP PM2 default = supporting, BA1 = 0.5%.
  • Symptom: Wrong strength applied; misclassification.
  • Fix: Check https://cspec.genome.network/cspec/ui/svi/all for active VCEP; apply gene-specific CSpec.

5. PM2 at Moderate (pre-2020 SVI)

  • Trigger: Apply PM2 = Moderate (2 points) per 2015 rules.
  • Mechanism: SVI 2020 downgraded to PM2_Supporting (1 point).
  • Symptom: ~6 variants per gene over-strengthened LP.
  • Fix: Use PM2_Supporting per current SVI.

6. PS3 default Strong without OddsPath

  • Trigger: Apply PS3 = Strong without OddsPath calibration.
  • Mechanism: Default PS3 = Strong over-strengthens; Brnich 2020 SOP requires OddsPath > 4.3 for Strong.
  • Symptom: PS3-driven over-classification.
  • Fix: Apply Brnich 2020 four-step OddsPath; default move to PS3_Moderate without OddsPath > 4.3.

7. Synonymous treated as no impact

  • Trigger: Filter out synonymous variants from classification pipeline.
  • Mechanism: Synonymous can disrupt splicing; SpliceAI captures this.
  • Symptom: Pathogenic splice-disrupting synonymous missed.
  • Fix: Always run SpliceAI on synonymous variants in disease genes; PP3_Supporting if DS_max >= 0.2.

8. ClinVar P + ClinGen Limited validity

  • Trigger: Report variant P in gene with Limited gene-disease validity.
  • Mechanism: ClinVar P is variant-level; gene-disease validity is upstream.
  • Symptom: Mis-attribution to a non-disease gene.
  • Fix: Apply ClinGen gene-disease validity gate (Moderate+ for clinical action); for Limited genes, require VCEP curation.

9. Variant on wrong transcript

  • Trigger: HGVS-c on alt transcript; functional impact different on MANE Select.
  • Mechanism: Tissue-specific isoform considerations; MANE Select 2024+ is clinical standard.
  • Symptom: Wrong consequence prediction.
  • Fix: Re-evaluate on MANE Select transcript; cross-check with VEP --mane_select.

Reconciliation: When Tools Disagree

PatternLikely causeAction
GeneBe LP vs VarSome PDifferent VCEP-specific applicationCheck VCEP CSpec; apply gene-specific rules
ClinVar P vs my classification VUSSubmission stale OR my evidence incompleteRe-curate with current evidence; check ClinVar star + freshness
REVEL PP3_Strong vs SpliceAI BP4Variant has missense impact but no splice impactApply ONE predictor; if splice-altering, PVS1 trumps
PVS1 applies but ClinGen Limited validityVariant-level vs gene-disease tensionTreat as candidate; require VCEP or strong functional evidence
ClinGen VCI vs automated toolVCI is gold standard for expert curationTrust VCI; automated tools approximate
AlphaMissense 0.564 dev call vs calibrated strengthDeveloper threshold not calibratedUse the ClinGen SVI calibrated cutoffs (Bergquist 2025)

Quantitative Thresholds and Conventions

ThresholdConventionSource
Tavtigian P>= 10 pointsTavtigian 2020
Tavtigian LP6-9 pointsTavtigian 2020
Tavtigian VUS0-5 pointsTavtigian 2020
Tavtigian LB-1 to -6Tavtigian 2020
Tavtigian B<= -7Tavtigian 2020
REVEL PP3_Strong>= 0.932Pejaver 2022
REVEL BP4_Strong<= 0.016Pejaver 2022
SpliceAI PP3 (Supporting)>= 0.2Walker 2023
SpliceAI BP4 (Supporting)<= 0.1Walker 2023
BA1 defaultgrpmax_faf95 > 5%ClinGen SVI
BS1grpmax_faf95 > gene-specific max-credible-AFWhiffin 2017
PM2 -> PM2_SupportingAlways (post-SVI 2020)SVI 2020
PS3 OddsPath Strong> 4.3Brnich 2020
PVS1 LoF mechanism checkRequired (do not apply if GoF)Abou Tayoun 2018
ACMG SF v3.281 genesMiller 2023
Cancer Tier I-AFDA drug + same tumor + this biomarkerLi 2017

Common Errors

SymptomCauseSolution
Over-application of PP3Multiple predictors stackedONE predictor only
AlphaMissense PP3_Strong from dev threshold0.564 not calibratedUse Pejaver-style REVEL
LP variant in gene with Limited validityNo gene-disease gateApply ClinGen gene-disease validity
PVS1 in GoF geneWrong mechanismCheck ClinGen gene-disease mechanism
Non-VCEP rule for VCEP-covered geneGeneric ACMGApply VCEP CSpec
PM2 = ModeratePre-SVI 2020Use PM2_Supporting
PS3 = Strong defaultNo OddsPathApply Brnich 2020 OddsPath

Anticipated Reviewer Pushback

PushbackStandard response
"Why Tavtigian point system?"Every modern automated classifier implements it (InterVar, GeneBe, VarSome, Franklin). The 2015 combining rules are subsumed; many P/LP combinations only emerge from points.
"Why ONE predictor and not REVEL + BayesDel?"Pejaver 2022 explicit recommendation; predictors share training data.
"AlphaMissense PP3_Strong?"ClinGen SVI calibrated AlphaMissense to graded PP3/BP4 (Bergquist 2025); use the calibrated cutoffs, not the developer 0.564 threshold.
"PVS1 for nonsense in SCN5A LQT3"LQT3 is GoF; LoF mechanism not established; PVS1 does not apply.
"Generic ACMG vs VCEP"VCEP CSpec overrides generic; we check cspec.genome.network for active VCEP.
"Splice variant PP3 from SpliceAI"Walker 2023 SVI Splicing Subgroup: DS_max >= 0.2 applies PP3 at Supporting weight; prediction alone does not reach PP3_Strong (needs RNA/experimental evidence).
"PM2 Moderate or Supporting?"SVI 2020 downgraded to Supporting; we use Supporting for all classification post-2020.

References

  • Richards S et al. 2015. Standards and guidelines for the interpretation of sequence variants. Genet Med 17:405. (Original ACMG/AMP)
  • Tavtigian SV et al. 2018. Modeling the ACMG/AMP variant classification guidelines as a Bayesian classification framework. Genet Med 20:1054.
  • Tavtigian SV et al. 2020. Fitting a naturally scaled point system to the ACMG/AMP variant classification guidelines. Hum Mutat 41:1734.
  • Abou Tayoun AN et al. 2018. Recommendations for interpreting the loss of function PVS1 ACMG/AMP variant criterion. Hum Mutat 39:1517.
  • Pejaver V et al. 2022. Calibration of computational tools for missense variant pathogenicity classification. Am J Hum Genet 109:2163.
  • Bergquist T et al. 2025. Calibration of additional computational tools expands ClinGen recommendation options for variant classification with PP3/BP4 criteria. Genet Med 27:101402.
  • Brnich SE et al. 2020. Recommendations for application of the functional evidence PS3/BS3 criterion using the ACMG/AMP sequence variant interpretation framework. Genome Med 12:3.
  • Walker LC et al. 2023. ClinGen SVI Splicing Subgroup recommendations. Am J Hum Genet 110:1046.
  • Biesecker LG et al. 2024. ClinGen guidance for use of the PP1/BS4 co-segregation and PP4 phenotype specificity criteria for sequence variant pathogenicity classification. Am J Hum Genet 111:24. (PP1/BS4 co-segregation)
  • Cheng J et al. 2023. Accurate proteome-wide missense variant effect prediction with AlphaMissense. Science 381:eadg7492.
  • Jaganathan K et al. 2019. Predicting splicing from primary sequence with deep learning. Cell 176:535. (SpliceAI)
  • Zeng T et al. 2022. Predicting RNA splicing from DNA sequence using Pangolin. Genome Biol 23:103.
  • Dawes R et al. 2023. SpliceVault predicts the precise nature of variant-associated mis-splicing. Nat Genet 55:324.
  • Whiffin N et al. 2017. Using high-resolution variant frequencies to empower clinical genome interpretation. Genet Med 19:1151.
  • Li MM et al. 2017. Standards and guidelines for the interpretation and reporting of sequence variants in cancer. J Mol Diagn 19:4. (AMP/ASCO/CAP)
  • Miller DT et al. 2023. ACMG SF v3.2 list. Genet Med 25:100866.
  • Stawiński P, Płoski R. 2024. Genebe.net: implementation and validation of an automatic ACMG variant pathogenicity criteria assignment. Clin Genet 106:119.
  • Kopanos C et al. 2019. VarSome: the human genomic variant search engine. Bioinformatics 35:1978.
  • Li Q, Wang K. 2017. InterVar: clinical interpretation of genetic variants. Am J Hum Genet 100:267.
  • Xiang J et al. 2020. AutoPVS1 -- automated PVS1 decision-tree implementation (verify exact venue/year against the published code/release).
  • ClinGen CSpec Registry: https://cspec.genome.network/cspec/ui/svi/all
  • ClinGen VCI (Variant Curation Interface): https://curation.clinicalgenome.org/

Related Skills

  • clinical-databases/variant-prioritization - Rare-disease pipeline (filters variants; this skill classifies)
  • clinical-databases/clinvar-lookup - ClinVar evidence aggregation
  • clinical-databases/gnomad-frequencies - BS1/BA1 with Whiffin FAF95
  • clinical-databases/myvariant-queries - Aggregated annotation pull
  • variant-calling/clinical-interpretation - Clinical reporting workflow

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.