Skip to content

Latest commit

 

History

History
141 lines (119 loc) · 8.53 KB

README.md

File metadata and controls

141 lines (119 loc) · 8.53 KB

AutoGVP: Automated Germline Variant Pathogenicity

DOI

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

AutoGVP Workflow

For more detailed instructions, please visit the user guide on our wiki.

Clone the AutoGVP repository

git clone git@github.com:diskin-lab-chop/AutoGVP.git

Docker set-up

  1. Pull the docker image.
docker pull pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.3
  1. Navigate to the AutoGVP root directory
cd AutoGVP
  1. 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
  1. Navigate to AutoGVP directory within the docker image
cd /home/rstudio/AutoGVP
  1. Run AutoGVP (see example commands below).

Dependencies

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.

How to Run 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].tsv generated by resolve-clinvar-intepretations.R)
  • ClinVar hgvs4variation file (hgvsv4variation-YYYY-MM.txt.gz if running update_intervar.R, which is executed by default)

Custom workflow example run

  1. Prepare input files by running VEP, ANNOVAR, InterVar, and AutoPVS1.
  2. Download database files:
bash scripts/download_db_files.sh
  1. 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_res argument ("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"
  1. 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"

CAVATICA workflow example run

  1. Download database files:
bash scripts/download_db_files.sh
  1. 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"
  1. 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 Output

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.

Abridged output example:

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).

Code Authors

Ammar S. Naqvi (@naqvia), Ryan J. Corbett (@rjcorb), and Patricia J. Sullivan (@pj-sullivan).

Contact

For questions, please submit an issue