#!/bin/bash export PROJECT="$(gcloud config get-value project)" export VEP_CONFIG_PATH="$(/usr/share/google/get_metadata_value attributes/VEP_CONFIG_PATH)" export VEP_REPLICATE="$(/usr/share/google/get_metadata_value attributes/VEP_REPLICATE)" export VEP_BUCKET=hail-${VEP_REPLICATE}-vep export ASSEMBLY=GRCh38 export VEP_DOCKER_IMAGE=us-central1-docker.pkg.dev/broad-mpg-gnomad/images/vep105 mkdir -p /vep_data/loftee_data mkdir -p /vep_data/homo_sapiens # Install docker apt-get update apt-get -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common \ tabix curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" apt-get update apt-get install -y --allow-unauthenticated docker-ce gsutil -u ${PROJECT} cat gs://${VEP_BUCKET}/loftee-beta/${ASSEMBLY}.tar | tar -xf - -C /vep_data/ & docker pull ${VEP_DOCKER_IMAGE} & wait ################################################################ # Added stuff ################################################################ # GCS copy of ftp://ftp.ensembl.org/pub/release-105/variation/indexed_vep_cache/homo_sapiens_merged_vep_105_GRCh38.tar.gz gsutil -u $PROJECT cat gs://gcp-public-data--gnomad/resources/vep/v105/homo_sapiens_merged_vep_105_GRCh38.tar.gz | tar -xzf - -C /vep_data wait # FASTA file from Hail's VEP 95 data gsutil -u "$PROJECT" cp gs://gcp-public-data--gnomad/resources/vep/Homo_sapiens.GRCh38.dna.toplevel.fa.gz /vep_data/ gsutil -u $PROJECT cp gs://gcp-public-data--gnomad/resources/vep/Homo_sapiens.GRCh38.dna.toplevel.fa.gz.fai /vep_data/ gsutil -u $PROJECT cp gs://gcp-public-data--gnomad/resources/vep/Homo_sapiens.GRCh38.dna.toplevel.fa.gz.gzi /vep_data/ # Create config file. cat > /vep_data/vep105-GRCh38.json </vep.c < #include int main(int argc, char *const argv[]) { if (setuid(geteuid())) perror( "setuid" ); execv("/vep.sh", argv); return 0; } EOF gcc -Wall -Werror -O2 /vep.c -o /vep chmod u+s /vep cat >/vep.sh <