I was wondering does the gnomad genome data that is downloaded in the vcf format on variants contain information on what is the nearest gene and is the genomic location available exome/intron?

if yes then what are the columns that contain this data? Is it the INFO column?

I have a list of SNPs with chromosome position and the reference and alternative allele information and for each, I would like to know what is he nearest gene and the location:exome/intron.

example data

enter image description here

  • $\begingroup$ We would need to see all the columns of the gnomad VCF, see e.g. here the mtDNA VCF (the smallest file), the information you are looking for should be described in the header. As stated on the other question, if you want to know the nearest gene, the intersect operation via bedtools is pretty trivial to combine this VCF with a human genome GFF3 file (of the appropriate genome build). $\endgroup$ Commented Dec 27, 2022 at 7:49

1 Answer 1


This question has gone through some iterations and commentary, so I've decided to just answer it, though it's more of a "homework" question. What you need to do is to look at the VCF file, the main thing you want is already in there.

Go to the VCF of interest. I chose the mtDNA because it's smaller and more convenient. You can zless into the bgz file to see what it looks like, but if you want uncompressed you can run this (head -1000 just to be a tractable example):

gzip -dc gnomad.genomes.v3.1.sites.chrM.vcf.bgz | grep -v intergenic | head -1000 > mt.vcf

I grep -v intergenic because one of the first things that pops up is that most of the first variants in the file are specifically annotated as intergenic_variant, so that answers part of your question. For those variants you can just run a bedtools closest against the right GFF3 version, if you think the nearest gene will be informative.

For variants in genes, what you want is already in the VCF. See the entry for this variant:

chrM    1492    .       A       C       .       npg     filters=npg;variant_colla
_AC_hom=0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0;hap_AF_hom=0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00;hap_AF_het=0.00000e+00|0.00000e+00|0.00 ...
# this is of course a very long line!!! it goes on but all the interesting stuff already happened.

You can see that this variant lies within the RNR1 rRNA gene of the mitochondrial genome (MT-RNR1 in the file). Granted it mangles it a little bit by describing a variant in a non-protein-coding gene as a non_coding_transcript_exon_variant, but that's the kind of thing that you can work around.

Indeed, if you look at the header of the file, you can see that quite extensive annotations are included (where available):

##INFO=<ID=vep,Number=.,Type=String,Description="Consequence annotations from Ensembl VEP; note that the SINGLE_EXON flag and END_TRUNC filters have been removed from the LOFTEE annotations to avoid misinterpretation in context of the mitochondrial genome. Format: Allele|Consequence|IMPACT|SYMBOL|Gene|Feature_type|Feature|BIOTYPE|EXON|INTRON|HGVSc|HGVSp|cDNA_position|CDS_position|Protein_position|Amino_acids|Codons|ALLELE_NUM|DISTANCE|STRAND|VARIANT_CLASS|MINIMISED|SYMBOL_SOURCE|HGNC_ID|CANONICAL|TSL|APPRIS|CCDS|ENSP|SWISSPROT|TREMBL|UNIPARC|GENE_PHENO|SIFT|PolyPhen|DOMAINS|HGVS_OFFSET|MOTIF_NAME|MOTIF_POS|HIGH_INF_POS|MOTIF_SCORE_CHANGE|LoF|LoF_filter|LoF_flags|LoF_info">

In conclusion, look at your data!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.