Skip to content
Tools to work with variant call format files
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
R updated gt2popsum deprecation documentation Mar 21, 2019
data added vep.RData Jan 7, 2018
man updated gt2popsum deprecation documentation Mar 21, 2019
src extract.haps() counts variants correctly Apr 29, 2019
tests extract.haps() counts variants correctly Apr 29, 2019
tools worked on hex badge Jul 5, 2018
.Rbuildignore used devtools::use_appveyor() Nov 17, 2017
.gitignore updated chromoqc Nov 30, 2015
NAMESPACE created is.indel May 15, 2018 extract.haps() counts variants correctly Apr 29, 2019 Removed Rdocumentation Apr 16, 2019
appveyor.yml used devtools::use_appveyor() Nov 17, 2017
cleanup created src/Makevars to enable zlib and C++11 Apr 2, 2015 accepted to CRAN Apr 17, 2018
vcfR.Rproj added unit tests and edits to pairwise_genetic_diff May 22, 2017

VcfR: a package to manipulate and visualize VCF data in R

On CRAN: CRAN_Status_Badge

Depsy: Research software impact

Travis-CI (Ubuntu Linux): Travis-CI Build Status

Appveyor (Windows): AppVeyor Build Status

Coveralls: Coverage Status


VcfR is an R package intended to allow easy manipulation and visualization of variant call format (VCF) data. Functions are provided to rapidly read from and write to VCF files. Once VCF data is read into R a parser function extracts matrices from the VCF data for use with typical R functions. This information can then be used for quality control or other purposes. Additional functions provide visualization of genomic data. Once processing is complete data may be written to a VCF file or converted into other popular R objects (e.g., genlight, DNAbin). VcfR provides a link between VCF data and the R environment connecting familiar software with genomic data.

VcfR is built upon two data structures.

vcfR - S4 class to contain data from a VCF file.

chromR - S4 class to contain variant information (VCF) and optional sequence (FASTA) and annotation (GFF) information.

Functions in vcfR provide the ability to subset VCF data as well as to extract and parse the data. For example, individual genotypes, sequence depths or genotype likelihoods (when provided in the VCF file) can easily be accessed. These tools are provided to aid researchers in rapidly surveying the quality and other characteristics of data provided as VCF data. With this information in hand, researchers should be able to determine criteria for hard filtering in order to attempt to maximize biological variation and minimize technical variation.


Documentation for vcfR can now be found here: vcfR_documentation.

We also have Population genetics and genomics in R which is more general and provides examples of analyses.

If you think you've found a bug, please see reporting an issue.


vcfR articles

Knaus, Brian J., and Niklaus J. Grunwald. 2017. VCFR: a package to manipulate and visualize variant call format data in R. Molecular Ecology Resources 17(1):44-53.

Knaus, Brian J., and Niklaus J. Grunwald. 2016. VcfR: an R package to manipulate and visualize VCF format data. bioRxiv: 041277.

Copy number variation article

Knaus, Brian, and Niklaus J. Grünwald. 2018. Inferring variation in copy number using high throughput sequencing data in R. Frontiers in Genetics 9: 123.


vcfR is available at CRAN. To install use:


The development version can be installed through github:


If you would like the vignettes use:

devtools::install_github(repo="knausb/vcfR", build_vignettes=TRUE)

If you've built the vignettes, you can browse them with:


If you've installed this package with devtools you will probably need to run:

devtools::install(build_vignettes = TRUE)

Devel branch

The devel branch (which may not be stable) can also be installed:


And to build the vignettes:

devtools::install_github(repo="knausb/vcfR@devel", build_vignettes=TRUE)

Software that produce VCF files

A fun part of this project has been learning about how people use vcfR. One facet of this is learning about the software that create VCF files. So I've decided to make a list of these software. If you know of a software that I have not included on this list, particularly if you can report that vcfR works with its files, feel free to let me know!

Genomic variant callers:

Restriction site associated DNA markers (e.g., RADseq, GBS):

Manipulation of VCF data:

  • Beagle v4.1 Inputs VCF genotypes and outputs phased genotypes to VCF format
  • pegas::read.vcf Population and Evolutionary Genetics Analysis System
  • PyVCF
  • SnpEff Genetic variant annotation and effect prediction toolbox
  • Picard A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF
  • VCF-kit VCF-kit is a command-line based collection of utilities for performing analysis on Variant Call Format (VCF) files.
  • VCFtools General manipulation and analysis
  • VariantAnnotation::readVcf Bioconductor package for annotating variants

R packages that read VCF data


You can’t perform that action at this time.