VEP setup instructions

The online Variant Effect Predictor uses the same script as the offline version, with the limitation that you can't use VEP plugins with the web tool.

Installation and setup

  1. Ensure that you have the core, variation and regulation databases set up for all the relevant species.
  2. In the same directory that contains your other Ensembl code, clone the ensembl-tools repository, which contains the VEP script.
  3. Download the VEP cache files from our FTP site and unzip them in your vep data directory (see below).
  4. Download the toplevel DNA FASTA files for each species from our FTP site. For example, for human you would go to and scroll down to the bottom of the page to find Homo_sapiens.GRCh38.dna.toplevel.fa.gz. Unzip these files into the same species subdirectories as the cache files.

    Your completed data structure should look something like this:

    `-- /usr/local/ensembl/tools_data/vep
          |-- homo_sapiens
            |-- 1
            |-- 10
                ... (lots more chromosome/seq region directories)
            |-- Homo_sapiens.GRCh38.dna.toplevel.fa
            |-- Homo_sapiens.GRCh38.dna.toplevel.fa.index
            |-- info.txt
            |-- KI270442.1
                ... (lots more chromosome/seq region directories)
          |-- mus_musculus
            |-- 1
            |-- 10
                ... (lots more chromosome/seq region directories)
            |-- Mus_musculus.GRCm38.dna.toplevel.fa
            |-- Mus_musculus.GRCm38.dna.toplevel.fa.index
                ... (lots more chromosome/seq region directories)

  5. In public-plugins/mirror/, configure the location for your cache and FASTA files, e.g.

        $SiteDefs::ENSEMBL_VEP_CACHE_DIR  = '/usr/local/ensembl/tools_data/vep';

  6. The VEP checks the genomic databases for available options, so the following parameters need configuring with the location of your database server:

        '-host'         => 'mysqlhost',
        '-port'         => '3306',
        '-user'         => 'mysqluser',
        '-pass'         => 'password'
        '--host'        => 'mysqlhost',
        '--port'        => '3306',
        '--user'        => 'mysqluser',
        '--pass'        => 'password',
        '--fork'        => 4,

  7. You should now restart -r your webserver to pick up the configuration changes.