Genome Nexus VEP is a small REST wrapper around the Ensembl Variant Effect Predictor (VEP) command line interface. It exposes the following endpoints to interface with VEP:
GET /vep/human/hgvs/{variant}
POST /vep/human/hgvs
Each endpoint expects variant(s) to be in HGVS format. See the implementation here.
Make sure you fave the following installed
- Java version: 21
- Maven version: >= 3.6.3
- Docker
- Download the core database for the ensembl data version you wish to install. The URL containing the data files should be of the format
https://ftp.ensembl.org/pub/release-112/mysql/homo_sapiens_core_XXX_<ASSEMBLY_VERSION>/
. - Follow the installation instructions to set up your database.
- Point the VEP at your database in your application properties.
- Download the SQLite database corresponding to the data version pointed to by your application properties. The URL containing the database should be of the format
https://ftp.ensembl.org/pub/release-XXX/
. - Download the PolyPhen_SIFT Perl Module corresponding to the data version pointed to by your application properties. The URL containing the file should be of the format
https://github.com/Ensembl/VEP_plugins/blob/release/XXX/PolyPhen_SIFT.pm
. - Place both your installed database and the PolyPhen_SIFT Perl Module in the plugin-data directory.
- Set the
polyphen-sift-filename
property in your application properties to the name of the installed database file.
- Download the prediction score file corresponding to your assembly version (
AlphaMissense_hg19.tsv.gz
for GRCh37 orAlphaMissense_hg38.tsv.gz
for GRCh38). - Place the file in the plugin-data directory.
- Run
tabix -s 1 -b 2 -e 2 -f <PREDICTION_SCORE_FILE>
. - Set the
alpha-missense-filename
property in your application properties to the name of the installed file (not the generated tabix file).
- Run
./scripts/init_vep.sh <ensemblorg/ensembl-vep:tag>
to install and run a VEP docker image, specifying the tag you wish to use. This will also generate a script to be used by the application,./scripts/vep
, which should not be modified. - Set your VEP configuration in application-dev.yaml.
- Run
mvn spring-boot:run -Dspring-boot.run.profiles=dev
- Make sure the VEP version is correct in the Dockerfile.
- Set your VEP configuration in application-prod.yaml.
IMPORTANT: Make surevep.version
is the same as the version used in the Dockerfile. This version will be attached to all responses from the server. - Run
docker build <DOCKER_ARGS> .
to build the production image.