If you don’t want to analyse your variants on external servers or have more than 1000 or so to annotate, you probably want to use the VEP script. Setting it up might not always be straightforward as there are dependencies you need, but the installation script takes away a lot of the trouble.
Running the script requires a Unix environment, so it works well on Mac OS or Linux. If you’re using Windows, you may find it easier to use a Virtual machine, or you can use DWIMperl.
Once these are set up you can download the VEP, the easiest way is to clone it from GitHub. This will create a folder called ensembl-vep, which contains the VEP itself and all required modules, along with some sample data, the installation script and filtering script.
You’ll now need to install it, which you can do by cd-ing into the folder and running the INSTALL.pl script. If you don’t already have the Ensembl Perl API installed, the script will prompt you to install the modules it needs to run the VEP – if you do have it installed, make sure that it is the same version as the VEP. It will also ask if you want to install a cache and a FASTA file; we recommend downloading both as it means that the VEP can run its entire analysis in your machine, rather than having to communicate with our database, which makes it run much more quickly. Finally it will ask if you need any plugins, which can extend the function of the VEP; take a look at our full list to see if any will enhance your VEP output, then just pick them in the installation.
Your caches and plugins will all appear in a hidden folder called .vep. The caches will be organised into folders by species name, which contain the FASTA files and nested folders for each version number. You can have caches for different releases and assemblies, although they are quite large so you might want to delete them when you update. The plugins will appear in a folder called Plugins. This .vep folder is where the VEP expects to find its caches and plugins, so if you do move them to a different location, you need to give the path to the files in your VEP command.