From the Vcflib Home Page: vcflib is a C++ library for parsing and manipulating VCF files which provides methods to manipulate and interpret sequence variation as it can be described by VCF. It is both:

  • an API for parsing and operating on records of genomic variation as it can be described by the VCF format,
  • and a collection of command-line utilities for executing complex manipulations on VCF files.

The API itself provides a quick and extremely permissive method to read and write VCF files. Extensions and applications of the library provided in the included utilities (*.cpp) comprise the vast bulk of the library’s utility for most users.


  • 1.0.0

Authorized Users

  • CIRCE account holders
  • SC account holders


  • CIRCE cluster
  • SC cluster


Vcflib requires the following module file to run:

  • apps/vcflib/1.0.0

Running Vcflib on CIRCE/SC

The Vcflib user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.

Interactive Mode

Next, use the following commands to open an SRUN Interactive Session, load the module for Vcflib, and execute the Vcflib binary:

[user@login0 ~]$ srun --time=48:00:00 --nodes=1 --ntasks-per-node=1 --pty /bin/bash
[user@wh-520-4-1 ~]$ module load apps/vcflib/1.0.0
[user@wh-520-4-1 ~]$ vcffilter -f "DP > 10" sample.vcf

Batch Job submission

To run batch jobs on the CIRCE/SC cluster, users will need to submit their jobs to the scheduling environment if their jobs take more than 20 minutes to run on a standard PC.

If, for example, you have wish to filter a VCF file, you would set up a submit script to use vcflib like this

#SBATCH --job-name=vcflib-test
#SBATCH --time=48:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --output=output.%j.vcflib-test

#### SLURM 1 processor vcflib test to run for 48 hours.

# Load the vcflib module:
module load apps/vcflib/1.0.0

# Start vcflib
vcffilter -f "DP > 10" sample.vcf

Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@login0 ~]$ cd my/jobdir
[user@login0 jobdir]$ sbatch ./
  • You can view the status of your job with the “squeue -u <username>” command


Home Page, User Guides, and Manuals

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with Vcflib to the IT Help Desk: