ClinVar Variant Classification with ACMG/AMP Terms
Classify variants in igv.js with five ACMG/AMP terms and tick evidence criteria. The ten cases are illustrative, beside a live ClinVar track, and not a diagnosis.
Get This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/science/genomics/clinvar-variant-classification-acmg
potato start config.yamlAbout this dataset
ClinVar is NCBI's public archive of interpretations of clinically relevant variants (Landrum et al., 2016). Laboratories and other submitters report a classification for each variant, and the archive publishes the reports. The joint recommendation of the American College of Medical Genetics and Genomics and the Association for Molecular Pathology (Richards et al., 2015) sets the standard behind most of the terms. The recommendation names the terms 'pathogenic', 'likely pathogenic', 'uncertain significance', 'likely benign', and 'benign' for variants in genes that cause Mendelian disorders.
This design is a training and review exercise and is not clinical diagnosis. The ten cases are invented. Each case pairs a short evidence summary with an invented position inside a real gene. The genes are BRCA1, BRCA2, CFTR, MSH2, MYH7, and TP53, with spans from Ensembl GRCh38. No ClinVar record, identifier, or classification is copied. NCBI's policies page says NCBI places no restrictions on the data and that some submitters may claim rights. ClinVar's own data-use page returned a bot check and was not read. The items therefore stay illustrative. The genome_locus display opens igv.js on hg38 and reads NCBI's ClinVar VCF over HTTP range requests. The annotator sees whatever ClinVar holds near the position, and an invented position may show a ClinVar record or none.
The annotator picks one of the five terms with a radio scheme and ticks the evidence criteria used from the 28 codes in Tables 3 and 4 of the standard. The codes are PVS1, PS1 to PS4, PM1 to PM6, PP1 to PP5, BA1, BS1 to BS4, and BP1 to BP7. A viewer_selection scheme lets the annotator click a track feature as evidence. Potato does not apply the standard's rules for combining criteria (Table 5) and does not check that the verdict follows from the ticked criteria. The two answers are therefore recorded independently. The config has no model_training block because none of Potato's trainers reads a genome locus.
- Classification terms
- 5
- Evidence criteria codes (Tables 3 and 4)
- 28
- Pathogenic criteria codes
- 16
- Benign criteria codes
- 12
- Sample cases (illustrative)
- 10
Configuration File
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# ClinVar variant classification with the ACMG/AMP five terms (training exercise)
#
# THIS IS A TRAINING AND REVIEW EXERCISE, NOT CLINICAL DIAGNOSIS. Nothing here
# is a clinical interpretation, and the cases must not be used for patient care.
# Per the abstract of Richards et al., clinical testing "should be performed in
# a CLIA-approved laboratory with results interpreted by a board-certified
# clinical molecular geneticist or molecular genetic pathologist or equivalent."
#
# Standard: Richards et al., Standards and guidelines for the interpretation
# of sequence variants: a joint consensus recommendation of the
# American College of Medical Genetics and Genomics and the
# Association for Molecular Pathology. Genetics in Medicine 17(5),
# 405-424, 2015.
# DOI: 10.1038/gim.2015.30
# PMC: https://pmc.ncbi.nlm.nih.gov/articles/PMC4544753/
# BibTeX (Crossref):
# @article{Richards_2015,
# title = {Standards and guidelines for the interpretation of sequence variants: a joint consensus recommendation of the American College of Medical Genetics and Genomics and the Association for Molecular Pathology},
# volume = {17},
# ISSN = {1098-3600},
# url = {http://dx.doi.org/10.1038/gim.2015.30},
# DOI = {10.1038/gim.2015.30},
# number = {5},
# journal = {Genetics in Medicine},
# publisher = {Elsevier BV},
# author = {Richards, Sue and Aziz, Nazneen and Bale, Sherri and Bick, David and Das, Soma and Gastier-Foster, Julie and Grody, Wayne W. and Hegde, Madhuri and Lyon, Elaine and Spector, Elaine and Voelkerding, Karl and Rehm, Heidi L.},
# year = {2015},
# month = May,
# pages = {405--424}
# }
# Archive: ClinVar. Landrum et al., ClinVar: public archive of interpretations
# of clinically relevant variants. Nucleic Acids Research 44(D1),
# D862-D868, 2016. DOI 10.1093/nar/gkv1222
# Data: https://www.ncbi.nlm.nih.gov/clinvar/
# The ClinVar track below is read by the browser from NCBI's FTP site
# (https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz,
# with its .tbi index). Nothing from ClinVar is copied into this folder.
# Licence: NCBI's policies page (https://www.ncbi.nlm.nih.gov/home/about/policies/)
# says "NCBI itself places no restrictions on the use or distribution
# of the data contained therein" and adds that "some submitters of the
# original data" may claim rights. ClinVar's own data-use page returned
# a bot check and was not read, so the sample items below are
# illustrative. They are invented cases at invented positions inside
# real gene spans (Ensembl GRCh38 gene coordinates), with no ClinVar
# record, variant identifier or classification copied. A position may
# show a ClinVar record in the track or none.
# Reference: the hg38 genome and its gene annotation are igv.js's built-in genome,
# fetched from the internet, which is why allow_remote is true.
#
# The five terms (abstract of Richards et al.): 'pathogenic', 'likely
# pathogenic', 'uncertain significance', 'likely benign', and 'benign'.
#
# Evidence criteria. The multiselect lists the 28 criteria codes of Tables 3
# (PVS1, PS1-PS4, PM1-PM6, PP1-PP5) and 4 (BA1, BS1-BS4, BP1-BP7), with the
# wording of each table row. The tables' caveats and notes are left out.
#
# Adaptations (this design differs from the original standard here):
# - Potato records the criteria an annotator ticks and the verdict they pick.
# It does NOT apply Table 5, the rules for combining criteria into a
# classification, and it does not check that the verdict follows from the
# ticked criteria. The ticked list and the verdict are independent answers.
# - The standard weights criteria as very strong, strong, moderate,
# supporting or stand-alone, and a laboratory may adjust a weight. This
# design records only which criteria are present.
# - The cases are invented summaries, so no criterion can be confirmed from
# real patient, family or functional data. The note and the tracks are the
# only evidence. A real review would use data this design does not carry.
# - ClinVar review statuses are out of scope. Their wording was not read.
#
# No model_training block. Potato's trainers consume text, images, audio and
# similar data, and none reads a genome locus. This design only collects labels.
#
# Run from this folder:
# potato start config.yaml -p 8000
annotation_task_name: "ClinVar variant classification (ACMG/AMP training exercise)"
task_dir: "."
data_files:
- "sample-data.json"
item_properties:
id_key: id
text_key: note
output_annotation_dir: "annotation_output"
export_annotation_format: jsonl
instance_display:
fields:
- key: note
type: text
label: "Illustrative case (not a real patient)"
- key: locus
type: genome_locus
label: "Locus (GRCh38)"
display_options:
genome: hg38
allow_remote: true
flank: 100
select_features: true
tracks:
- name: "ClinVar (NCBI, GRCh38)"
url: "https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz"
format: vcf
user_config:
allow_all_users: true
annotation_instructions: |
This is a training exercise, not a clinical diagnosis. Read the illustrative
case note, look at the locus in the browser, and classify the variant with
the five terms of the ACMG/AMP standard (Richards et al., 2015). Then tick
the evidence criteria you relied on. The criteria are a record of your
reasoning. Potato does not combine them or check them against your verdict.
annotation_schemes:
- annotation_type: radio
name: acmg_classification
description: "Classify the variant with the ACMG/AMP terms"
humanize_labels: false
labels:
- name: "pathogenic"
key_value: "1"
- name: "likely pathogenic"
key_value: "2"
- name: "uncertain significance"
key_value: "3"
- name: "likely benign"
key_value: "4"
- name: "benign"
key_value: "5"
label_requirement:
required: true
- annotation_type: multiselect
name: acmg_criteria
description: "Which ACMG/AMP evidence criteria apply? (select all that apply)"
humanize_labels: false
labels:
- "PVS1: Null variant (nonsense, frameshift, canonical +/−1 or 2 splice sites, initiation codon, single or multi-exon deletion) in a gene where loss of function (LOF) is a known mechanism of disease"
- "PS1: Same amino acid change as a previously established pathogenic variant regardless of nucleotide change"
- "PS2: De novo (both maternity and paternity confirmed) in a patient with the disease and no family history"
- "PS3: Well-established in vitro or in vivo functional studies supportive of a damaging effect on the gene or gene product"
- "PS4: The prevalence of the variant in affected individuals is significantly increased compared to the prevalence in controls"
- "PM1: Located in a mutational hot spot and/or critical and well-established functional domain (e.g. active site of an enzyme) without benign variation"
- "PM2: Absent from controls (or at extremely low frequency if recessive) (see Table 6) in Exome Sequencing Project, 1000 Genomes or ExAC"
- "PM3: For recessive disorders, detected in trans with a pathogenic variant"
- "PM4: Protein length changes due to in-frame deletions/insertions in a non-repeat region or stop-loss variants"
- "PM5: Novel missense change at an amino acid residue where a different missense change determined to be pathogenic has been seen before"
- "PM6: Assumed de novo, but without confirmation of paternity and maternity"
- "PP1: Co-segregation with disease in multiple affected family members in a gene definitively known to cause the disease"
- "PP2: Missense variant in a gene that has a low rate of benign missense variation and where missense variants are a common mechanism of disease"
- "PP3: Multiple lines of computational evidence support a deleterious effect on the gene or gene product (conservation, evolutionary, splicing impact, etc)"
- "PP4: Patient’s phenotype or family history is highly specific for a disease with a single genetic etiology"
- "PP5: Reputable source recently reports variant as pathogenic but the evidence is not available to the laboratory to perform an independent evaluation"
- "BA1: Allele frequency is above 5% in Exome Sequencing Project, 1000 Genomes, or ExAC"
- "BS1: Allele frequency is greater than expected for disorder (see table 6)"
- "BS2: Observed in a healthy adult individual for a recessive (homozygous), dominant (heterozygous), or X-linked (hemizygous) disorder with full penetrance expected at an early age"
- "BS3: Well-established in vitro or in vivo functional studies shows no damaging effect on protein function or splicing"
- "BS4: Lack of segregation in affected members of a family"
- "BP1: Missense variant in a gene for which primarily truncating variants are known to cause disease"
- "BP2: Observed in trans with a pathogenic variant for a fully penetrant dominant gene/disorder; or observed in cis with a pathogenic variant in any inheritance pattern"
- "BP3: In-frame deletions/insertions in a repetitive region without a known function"
- "BP4: Multiple lines of computational evidence suggest no impact on gene or gene product (conservation, evolutionary, splicing impact, etc)"
- "BP5: Variant found in a case with an alternate molecular basis for disease"
- "BP6: Reputable source recently reports variant as benign but the evidence is not available to the laboratory to perform an independent evaluation"
- "BP7: A synonymous (silent) variant for which splicing prediction algorithms predict no impact to the splice consensus sequence nor the creation of a new splice site AND the nucleotide is not highly conserved"
- annotation_type: viewer_selection
name: evidence_feature
description: "Evidence (optional): click the ClinVar record or gene you based this on"
viewer_field: locus
max_selections: 4
Sample Data
[
{
"id": "acmg_001",
"gene": "BRCA1",
"locus": "chr17:43,094,000",
"note": "Illustrative case 1. Invented variant at an invented position inside BRCA1 (GRCh38). Evidence summary: absent from population databases and reported in several unrelated affected individuals."
},
{
"id": "acmg_002",
"gene": "BRCA1",
"locus": "chr17:43,124,000",
"note": "Illustrative case 2. Invented variant at an invented position inside BRCA1 (GRCh38). Evidence summary: seen in a healthy adult and at a frequency higher than the disorder allows."
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/science/genomics/clinvar-variant-classification-acmg
potato start config.yamlDataset & paper
Richards et al., Genetics in Medicine 2015
- Paper DOI
- 10.1038/gim.2015.30
Citation (BibTeX)
@article{Richards_2015,
title = {Standards and guidelines for the interpretation of sequence variants: a joint consensus recommendation of the American College of Medical Genetics and Genomics and the Association for Molecular Pathology},
volume = {17},
ISSN = {1098-3600},
url = {http://dx.doi.org/10.1038/gim.2015.30},
DOI = {10.1038/gim.2015.30},
number = {5},
journal = {Genetics in Medicine},
publisher = {Elsevier BV},
author = {Richards, Sue and Aziz, Nazneen and Bale, Sherri and Bick, David and Das, Soma and Gastier-Foster, Julie and Grody, Wayne W. and Hegde, Madhuri and Lyon, Elaine and Spector, Elaine and Voelkerding, Karl and Rehm, Heidi L.},
year = {2015},
month = May,
pages = {405--424}
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an Issue(opens in a new tab)Related Designs
BioLiP2 Ligand Relevance and Binding Residues on PDB Structures
View a ligand-bound PDB structure in 3D, mark the residues that touch a named ligand, and judge whether the ligand is biologically relevant.
ADE20K: Scene Parsing and Semantic Segmentation Dataset
ADE20K is a scene parsing dataset from MIT CSAIL (Zhou et al., CVPR 2017) with dense pixel labels for objects, stuff, and parts. This Potato config adapts it to an image-level category-tagging task over a curated subset of common ADE20K categories.
AfriHate - Hate and Abusive Language for African Languages
Multilingual content-moderation annotation following the AfriHate scheme (Muhammad et al., NAACL 2025), a collection of hate speech and abusive language datasets for 15 African languages including Amharic, Hausa, Igbo, Yoruba, Swahili, Somali and isiZulu. Native speakers familiar with the regional culture assign each tweet a three-way label - hate, abusive, or neutral - and, when the tweet is hateful, mark the targeted attribute (e.g. ethnicity, religion, politics, gender). Sample items are mild, constructed illustrations that avoid real slurs or targeting of real groups; an English gloss is provided for reference only.