Cool stuff the Ensembl VEP can do: easy installation and annotation using Docker and Singularity

Here we will highlight how to get the most out of containers, enabling you to quickly start running any version of Ensembl VEP on a computer with Docker/Singularity installed. We have improved the Ensembl VEP Docker build process and updated our instructions on how to use Docker and Singularity.


Docker is a platform that enables software to be delivered in containers, instead of as standalone applications. Rather than having to install Ensembl VEP and all of its software dependencies, these are all packaged together in a convenient single container which you can download and use directly. You can find Ensembl VEP Docker images freely available at ensemblorg/ensembl-vep.

The reference data used by Ensembl VEP is not part of the Docker image, so you will still need to download the cache (or GTF) and FASTA files, either manually or via the script, to run Ensembl VEP in offline mode.

Some good news for plugin enthusiasts: since release 109, Ensembl VEP plugins and their dependencies are bundled in the Docker images. Any plugin that does not require data or that automatically downloads data can be directly run simply by calling them (such as the GO and NMD plugins). If a plugin requires external data, you can download the data to your computer and then make it available to the Ensembl VEP Docker container.

Instructions on using Ensembl VEP with Docker, covering the aforementioned use cases, are detailed in our documentation.

Other improvements to Docker images include:

  • Change default working directory to /data, a symbolic link to /opt/vep/.vep, abstracting the folder structure.
  • Add support for environmental variables in Ensembl VEP to make running the Docker images smoother.
  • Support both ARM and x86 platforms for the Ensembl VEP Docker image since release 110. Now the Docker image can be run on any ARM machine without emulation.


High-performance computing (HPC) environments tend to use an alternative containerisation platform, called Singularity (recently renamed to Apptainer). Docker images generally require root permissions, unlike Singularity images. The good news is that all images from Docker Hub (including the Ensembl VEP image) can be easily downloaded by Singularity and run in a similar way.

We improved our Docker image to be compatible with Singularity out-of-the-box and added instructions on how to use the Ensembl VEP Docker image in Singularity.

We hope you like the new improvements and if you have any issues/suggestions, feel free to contact us via the Ensembl Helpdesk.