A Chrome extension used in the ClinGen curation workflow to help curators evaluate and annotate ClinVar submission (SCV) records. The extension scrapes ClinVar variation pages, presents submission data in a structured form, and captures curation decisions to a secured Google Sheet for downstream processing.
- Data Extraction -- The extension's content script scrapes ClinVar variation pages to extract VCV-level and SCV-level submission data (submitter, interpretation, dates, review status).
- Annotation Capture -- Curators select an action and reason for each SCV through the extension popup, optionally adding notes.
- Data Persistence -- Annotations are appended to a secured Google Sheet via the Sheets API v4 with OAuth2 authentication.
- Downstream Processing -- The captured curations feed into QC reports, statistics, and submissions to NCBI ClinVar to support integration into the ClinVar dataset.
| Action | Purpose | Reason Required? |
|---|---|---|
| Flagging Candidate | Mark SCV submissions that may need re-assessment or removal | Yes |
| Remove Flagged Submission | Process SCV submissions that were previously flagged | Yes |
| No Change | Document that an SCV was reviewed and no action is needed | No |
- Submission errors -- Duplicate submissions, data entry mistakes
- Unnecessary Conflicting or Case-level Interpretation Submissions -- Case-level interpretations, artificial conflicts
- Old/Outlier/Unsupported Submissions -- Outdated, outlier, or insufficiently evidenced claims
- Miscellaneous -- Non-monogenic phenotype classifications, other
See the Curation Criteria Guide for detailed criteria on when to use each action and reason.
- Google Chrome browser
- Browser profile synced with a Google account (required for OAuth2 authentication)
- Access granted to the project's secured Google Sheet
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in the top right)
- Click Load unpacked and select the
scvc/directory - The ClinVar Curator extension will appear in Chrome's toolbar
- Navigate to a ClinVar variation page (e.g.,
https://www.ncbi.nlm.nih.gov/clinvar/variation/12345/) - Click the ClinVar Curator extension icon in the toolbar
- The popup will display extracted VCV and SCV data from the page
- Select an SCV submission to annotate
- Choose an Action and Reason from the dropdowns
- Add optional Notes for additional context
- Click Submit to append the annotation to the Google Sheet
This is a vanilla JavaScript Chrome extension with no build system or package manager. The extension code lives entirely in the scvc/ directory.
scvc/
manifest.json -- Chrome Extension Manifest v3 configuration
background.js -- Service worker for auth, Sheets API, message passing
content.js -- Content script that extracts data from ClinVar pages
popup.js -- Popup UI logic, form validation, user interactions
popup.html -- Extension popup interface
popup.css -- Popup styling
testing/ -- Unit testing infrastructure
docs/ -- Curation criteria documentation
cd testing
npm install
npm testTests use JSDOM to simulate the browser DOM and validate data extraction against saved ClinVar HTML samples in testing/html-samples/.
- ClinVar UI dependency -- The extension scrapes ClinVar page HTML using XPath selectors and regex patterns. When NCBI updates the ClinVar UI, the extension frequently breaks and requires updates to the extraction logic in
content.js. - No offline support -- Requires an active internet connection for both ClinVar page access and Google Sheets API calls.
- Single-page scope -- The extension only operates on ClinVar variation pages (
https://www.ncbi.nlm.nih.gov/clinvar/variation/*).
See Releases for version history and release notes.