This work has now been published: AutoGVP: a dockerized workflow integrating ClinVar and InterVar germline sequence variant classification.
Kim J^, Naqvi AS^, Corbett RJ, Kaufman RS, Vaksman Z, Brown MA, Miller DP, Phul S, Geng Z, Storm PB, Resnick AC, Stewart DR, Rokita JL+, Diskin SJ+. AutoGVP: a dockerized workflow integrating ClinVar and InterVar germline sequence variant classification. Bioinformatics. 2024 Mar 4;40(3):btae114. doi: 10.1093/bioinformatics/btae114. PMID: 38426335; PMCID: PMC10955249.
^Equal first authorship +Equal senior authorship
For more detailed instructions, please visit the user guide on our wiki.
git clone git@github.com:diskin-lab-chop/AutoGVP.git- Pull the docker image.
docker pull pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.3- Navigate to the
AutoGVProot directory
cd AutoGVP- Start a docker image. Replace <CONTAINER_NAME> with any name and run the commands below:
docker run --platform linux/amd64 --name <CONTAINER_NAME> -d -v $PWD:/home/rstudio/AutoGVP pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.3
docker exec -ti <CONTAINER_NAME> bash- Navigate to AutoGVP directory within the docker image
cd /home/rstudio/AutoGVP- Run AutoGVP (see example commands below).
VEP (v104)
InterVar
ANNOVAR
AutoPVS1 (v2.0)
bcftools (v1.17)
AutoGVP was developed and tested with ANNOVAR (database pulled 2024-05-06), InterVar v2.2.1 and AutoPVS1 v2.0.0. Other ANNOVAR builds can be used. update_intervar.R updates InterVar's PS1 and PM5 evidence for missense variants from P/LP ClinVar missense records at the same residue of the same RefSeq transcript, using the protein change VEP reports on each RefSeq transcript in the VCF. Transcripts are matched by accession regardless of version, and the reference amino acid must also match. Variants that cannot be compared on any transcript (no VEP RefSeq missense annotation, or none of their transcripts present in ClinVar) keep InterVar's PS1/PM5 values, and the script reports them by gene. Note that InterVar's own gene-list and frequency-based evidence (e.g. PM1, PP2, BP1, BA1/BS1/PM2) is not refreshed by AutoGVP.
AutoGVP Requirements (recommended to place all in the data/ folder):
- VEP-annotated VCF file (
*VEP.vcf) - ANNOVAR multianno file (
*hg38_multianno.txt) - InterVar file (
*intervar.hg38_multianno.txt.intervar) - AutoPVS1 file (
*autopvs1.txt) - ClinVar variant summary file (
variant_summary_YYYY-MM.txt.gz) - ClinVar submission summary file (
submission_summary_YYYY-MM.txt.gz) - Variant submissions file (
resolved-clinvar-YYYY-MM[-concept-conflict_res].tsvgenerated byresolve-clinvar-intepretations.R) - ClinVar hgvs4variation file (
hgvsv4variation-YYYY-MM.txt.gzif runningupdate_intervar.R, which is executed by default)
- Prepare input files by running VEP, ANNOVAR, InterVar, and AutoPVS1.
- Download database files:
bash scripts/download_db_files.sh
- Run
resolve-clinvar-intepretations.R. To customize conflicting interpretation resolution, users can provide a ClinGen Concept ID list to filter submissions against (--conceptID_list). When a list is provided, users can also determine how unsettled conflicts are resolved with the--conflict_resargument ("latest"or"most_severe"). For more details, see the FAQ. Example command:
Rscript scripts/resolve-clinvar-intepretations.R --variant_summary data/variant_summary_YYYY-MM.txt.gz --submission_summary data/submission_summary_YYYY-MM.txt.gz --outdir refs --conceptID_list refs/clinvar_<concept_cat>_concept_ids_YYYYMMDD.txt --conflict_res "latest"
- Run AutoGVP; if output of scripts/resolve-clinvar-intepretations.R is not provided, the script will be run prior to starting pathogenicity assessment
bash run_autogvp.sh \
--vcf=data/test_VEP.vcf \
--filter_criteria=<filter criteria> \
--intervar=data/test_VEP.hg38_multianno.txt.intervar \
--multianno=data/test_VEP.vcf.hg38_multianno.txt \
--autopvs1=data/test_autopvs1.txt \
--hgvs4variation_file=data/hgvsv4variation-YYYY-MM.txt.gz \
--outdir=results \
--out="test_custom" \
--resolved_clinvar=refs/resolved-clinvar-YYYY-MM.tsv \
--variant_summary=data/variant_summary_YYYY-MM.txt.gz \
--submission_summary=data/submission_summary_YYYY-MM.txt.gz \
--conceptIDs=refs/clinvar_<concept_cat>_concept_ids_YYYYMMDD.txt \
--conflict_res="latest"- Download database files:
bash scripts/download_db_files.sh
- Run
resolve-clinvar-intepretations.R(See custom workflow step 3 for optional conflict resolution parameters). For more details, see the FAQ. Example command:
Rscript scripts/resolve-clinvar-intepretations.R --variant_summary data/variant_summary_YYYY-MM.txt.gz --submission_summary data/submission_summary_YYYY-MM.txt.gz --outdir refs --conceptID_list refs/clinvar_<concept_cat>_concept_ids_YYYYMMDD.txt --conflict_res "latest"
- Run AutoGVP; if output of scripts/resolve-clinvar-intepretations.R is not provided, the script will be run prior to starting pathogenicity assessment
bash run_autogvp.sh \
--vcf=data/test_pbta.single.vqsr.filtered.vep_105.vcf \
--filter_criteria=<filter criteria> \
--intervar=data/test_pbta.hg38_multianno.txt.intervar \
--multianno=data/test_pbta.hg38_multianno.txt \
--autopvs1=data/test_pbta.autopvs1.tsv \
--hgvs4variation_file=data/hgvsv4variation-2026-07.txt.gz \
--outdir=results \
--out="test_pbta" \
--resolved_clinvar=refs/resolved-clinvar-YYYY-MM.tsv \
--variant_summary=data/variant_summary_YYYY-MM.txt.gz \
--submission_summary=data/submission_summary_YYYY-MM.txt.gz \
--conceptIDs=refs/clinvar_<concept_cat>_concept_ids_YYYYMMDD.txt \
--conflict_res="latest"AutoGVP produces an abridged output file with minimal information needed to interpret variant pathogenicity, as well as a full output with >100 variant annotation columns.
| chr | start | ref | alt | rs_id | gene_symbol_vep | variant_classification_vep | HGVSg | HGVSc | HGVSp | autogvp_call | autogvp_call_reason | clinvar_stars | clinvar_clinsig | intervar_evidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| chr1 | 1332490 | C | T | rs201607183 | TAS1R3 | missense_variant | chr1:g.1332490C>T | c.959C>T | p.Thr320Met | Uncertain_significance | ClinVar | 1 | Uncertain_significance | InterVar: Uncertain significance PVS1=0 PS=[0, 0, 0, 0, 0] PM=[1, 0, 0, 0, 0, 0, 0] PP=[0, 0, 1, 0, 0, 0] BA1=0 BS=[0, 0, 0, 0, 0] BP=[0, 0, 0, 0, 0, 0, 0, 0] |
| chr1 | 1390349 | C | T | rs769726291 | CCNL2 | missense_variant | chr1:g.1390349C>T | c.887G>A | p.Gly296Asp | Uncertain_significance | InterVar | NA | NA | InterVar: Uncertain significance PVS1=0 PS=[0, 0, 0, 0, 0] PM=[1, 1, 0, 0, 0, 0, 0] PP=[0, 0, 0, 0, 0, 0] BA1=0 BS=[0, 0, 0, 0, 0] BP=[0, 0, 0, 0, 0, 0, 0, 0] |
See here for list of columns included in full output.
Users can provide their own file specifying column names to include in final output with the --output_colnames argument (please use same formatting as output_colnames_default.tsv).
Ammar S. Naqvi (@naqvia), Ryan J. Corbett (@rjcorb), and Patricia J. Sullivan (@pj-sullivan).
For questions, please submit an issue
