Fetch variant consequences based on a variant identifier
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
id | String | Query ID. Supports dbSNP, COSMIC and HGMD identifiers | - |
rs56116432 COSM476 |
species | String | Species name/alias | - |
homo_sapiens human |
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
AncestralAllele | Boolean | Retrieves the ancestral allele for variants inferred from the Ensembl Compara Enredo-Pecan-Ortheus (EPO) pipeline (plugin details) | 0 | - |
Blosum62 | Boolean | Include BLOSUM62 amino acid conservation score (plugin details) | 0 | - |
CADD | Boolean | Include CADD (Combined Annotation Dependent Depletion) deleteriousness scores for single nucleotide variants. See license. (plugin details) | 0 | - |
Conservation | Boolean | Retrieves a conservation score from the Ensembl Compara databases for variant positions (plugin details) | 0 | - |
DisGeNET | Boolean | Retrieves Variant-Disease-PMID associations from the DisGeNET database (plugin details) | 0 | - |
EVE | Boolean | EVE (evolutionary model of variant effect) is a computational method for the classification of human genetic variants trained solely on evolutionary sequences. See license. (plugin details) | 0 | - |
GO | Boolean | Retrieves Gene Ontology terms associated with transcripts/translations | 0 | - |
GeneSplicer | Boolean | Detects splice sites in genomic DNA (plugin details) | 0 | - |
IntAct | Boolean | Provides molecular interaction data for variants as reported by IntAct database. (plugin details) | - | - |
LoF | Boolean | LOFTEE identifies LoF (loss-of-function) variation. See README for more details. | 0 | - |
Mastermind | Boolean | Variants that have clinical evidence cited in the medical literature reported by Mastermind Genomic Search Engine (plugin details) | 0 | - |
MaxEntScan | Boolean | Sequence motif and maximum entropy based splice site consensus predictions (plugin details) | 0 | - |
Phenotypes | Boolean | Retrieves overlapping phenotype information (plugin details) | 0 | - |
SpliceAI | Integer | Retrieves pre-calculated annotations from SpliceAI a deep neural network, developed by Illumina, Inc that predicts splice junctions from an arbitrary pre-mRNA transcript sequence. Used for non-commercial purposes. (plugin details) The pre-calculated annotations for all possible single nucleotide substitutions can be retrieved from: value 1) Ensembl/GENCODE v24 canonical transcripts (masked scores); value 2) Ensembl/GENCODE v37 MANE transcripts (raw scores). Note: The pre-calculated annotations for 1 base insertions, and 1-4 base deletions are only available for Ensembl/GENCODE v24 canonical transcripts. |
0 |
2 |
appris | Boolean | Include APPRIS isoform annotation | 0 | - |
callback | String | Name of the callback subroutine to be returned by the requested JSONP response. Required ONLY when using JSONP as the serialisation method. Please see the user guide. | - |
randomlygeneratedname |
canonical | Boolean | Include a flag indicating the canonical transcript for a gene | 0 | - |
ccds | Boolean | Include CCDS transcript identifiers | 0 | - |
dbNSFP | String | Include fields from dbNSFP, a database of pathogenicity predictions for missense variants. Multiple fields should be separated by commas. See dbNSFP README for field list. (plugin details) | Not used |
LRT_pred,MutationTaster_pred |
dbscSNV | Boolean | Predictions for splicing variants from dbscSNV. (plugin details) | 0 | - |
distance | Integer | Change the distance to transcript for which VEP assigns upstream and downstream consequences | 5000 | - |
domains | Boolean | Include names of overlapping protein domains | 0 | - |
failed | Boolean | When checking for co-located variants, by default variants flagged as failed by Ensembl's QC pipeline will be excluded. Set this flag to 1 to include such variants | 0 | - |
hgvs | Boolean | Include HGVS nomenclature based on Ensembl stable identifiers | 0 | - |
mane | Boolean | Include MANE Select annotations (GRCh38 only) | 0 | - |
merged | Boolean | Use merged Ensembl and RefSeq transcript set to report consequences (human only) | 0 | - |
miRNA | Boolean | Determines where in the secondary structure of a miRNA a variant falls (plugin details) | 0 | - |
minimal | Boolean | Convert alleles to their most minimal representation before consequence calculation i.e. sequence that is identical between each pair of reference and alternate alleles is trimmed off from both ends, with coordinates adjusted accordingly. Note this may lead to discrepancies between input coordinates and coordinates reported by VEP relative to transcript sequences | 0 | - |
mutfunc | Boolean | Predicts destabilization effect of protein structure, interaction, regulatory region etc. caused by a variant as reported by mutfunc database. (plugin details) | 0 | - |
numbers | Boolean | Include affected exon and intron positions within the transcript | 0 | - |
protein | Boolean | Include Ensembl protein identifiers | 0 | - |
refseq | Boolean | Use RefSeq transcript set to report consequences (human only) | 0 | - |
shift_3prime | Boolean | Shift transcript-overlapping variants as far as possible in the 3' direction before providing consequences | 0 | - |
shift_genomic | Boolean | Shift all variants as far as possible in the 3' direction before providing consequences | 0 | - |
transcript_id | String | Filter results by Transcript ID | Not Used | - |
transcript_version | Boolean | Add version numbers to Ensembl transcript identifiers | 0 | - |
tsl | Boolean | Include transcript support level (TSL) annotation | 0 | - |
uniprot | Boolean | Include best match accessions for translated protein products from three UniProt-related databases (SWISSPROT, TREMBL and UniParc) | 0 | - |
variant_class | Boolean | Output the Sequence Ontology variant class for the input variant | 0 | - |
vcf_string | Boolean | Include alleles in VCF format | 0 | - |
xref_refseq | Boolean | Include aligned RefSeq mRNA identifiers for transcript. NB: theRefSeq and Ensembl transcripts aligned in this way MAY NOT, AND FREQUENTLY WILL NOT, match exactly in sequence, exon structure and protein product | 0 | - |
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/vep/human/id/COSM476?'; my $response = $http->get($server.$ext, { headers => { 'Content-type' => 'application/json' } }); die "Failed!\n" unless $response->{success}; use JSON; use Data::Dumper; if(length $response->{content}) { my $hash = decode_json($response->{content}); local $Data::Dumper::Terse = 1; local $Data::Dumper::Indent = 1; print Dumper $hash; print "\n"; }
import requests, sys server = "https://jan2020.rest.ensembl.org" ext = "/vep/human/id/COSM476?" r = requests.get(server+ext, headers={ "Content-Type" : "application/json"}) if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print repr(decoded)
import requests, sys server = "https://jan2020.rest.ensembl.org" ext = "/vep/human/id/COSM476?" r = requests.get(server+ext, headers={ "Content-Type" : "application/json"}) if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print(repr(decoded))
require 'net/http' require 'uri' server='https://jan2020.rest.ensembl.org' path = '/vep/human/id/COSM476?' url = URI.parse(server) http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(path, {'Content-Type' => 'application/json'}) response = http.request(request) if response.code != "200" puts "Invalid response: #{response.code}" puts response.body exit end require 'rubygems' require 'json' require 'yaml' result = JSON.parse(response.body) puts YAML::dump(result)
import java.net.URL; import java.net.URLConnection; import java.net.HttpURLConnection; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; public class EnsemblRest { public static void main(String[] args) throws Exception { String server = "https://jan2020.rest.ensembl.org"; String ext = "/vep/human/id/COSM476?"; URL url = new URL(server + ext); URLConnection connection = url.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection)connection; httpConnection.setRequestProperty("Content-Type", "application/json"); InputStream response = connection.getInputStream(); int responseCode = httpConnection.getResponseCode(); if(responseCode != 200) { throw new RuntimeException("Response code was not 200. Detected response was "+responseCode); } String output; Reader reader = null; try { reader = new BufferedReader(new InputStreamReader(response, "UTF-8")); StringBuilder builder = new StringBuilder(); char[] buffer = new char[8192]; int read; while ((read = reader.read(buffer, 0, buffer.length)) > 0) { builder.append(buffer, 0, read); } output = builder.toString(); } finally { if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) { logOrIgnore.printStackTrace(); } } System.out.println(output); } }
library(httr) library(jsonlite) library(xml2) server <- "https://jan2020.rest.ensembl.org" ext <- "/vep/human/id/COSM476?" r <- GET(paste(server, ext, sep = ""), content_type("application/json")) stop_for_status(r) # use this if you get a simple nested list back, otherwise inspect its structure # head(data.frame(t(sapply(content(r),c)))) head(fromJSON(toJSON(content(r))))
curl 'https://jan2020.rest.ensembl.org/vep/human/id/COSM476?' -H 'Content-type:application/json'
wget -q --header='Content-type:application/json' 'https://jan2020.rest.ensembl.org/vep/human/id/COSM476?' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/vep/human/id/rs56116432?'; my $response = $http->get($server.$ext, { headers => { 'Content-type' => 'application/json' } }); die "Failed!\n" unless $response->{success}; use JSON; use Data::Dumper; if(length $response->{content}) { my $hash = decode_json($response->{content}); local $Data::Dumper::Terse = 1; local $Data::Dumper::Indent = 1; print Dumper $hash; print "\n"; }
import requests, sys server = "https://jan2020.rest.ensembl.org" ext = "/vep/human/id/rs56116432?" r = requests.get(server+ext, headers={ "Content-Type" : "application/json"}) if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print repr(decoded)
import requests, sys server = "https://jan2020.rest.ensembl.org" ext = "/vep/human/id/rs56116432?" r = requests.get(server+ext, headers={ "Content-Type" : "application/json"}) if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print(repr(decoded))
require 'net/http' require 'uri' server='https://jan2020.rest.ensembl.org' path = '/vep/human/id/rs56116432?' url = URI.parse(server) http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(path, {'Content-Type' => 'application/json'}) response = http.request(request) if response.code != "200" puts "Invalid response: #{response.code}" puts response.body exit end require 'rubygems' require 'json' require 'yaml' result = JSON.parse(response.body) puts YAML::dump(result)
import java.net.URL; import java.net.URLConnection; import java.net.HttpURLConnection; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; public class EnsemblRest { public static void main(String[] args) throws Exception { String server = "https://jan2020.rest.ensembl.org"; String ext = "/vep/human/id/rs56116432?"; URL url = new URL(server + ext); URLConnection connection = url.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection)connection; httpConnection.setRequestProperty("Content-Type", "application/json"); InputStream response = connection.getInputStream(); int responseCode = httpConnection.getResponseCode(); if(responseCode != 200) { throw new RuntimeException("Response code was not 200. Detected response was "+responseCode); } String output; Reader reader = null; try { reader = new BufferedReader(new InputStreamReader(response, "UTF-8")); StringBuilder builder = new StringBuilder(); char[] buffer = new char[8192]; int read; while ((read = reader.read(buffer, 0, buffer.length)) > 0) { builder.append(buffer, 0, read); } output = builder.toString(); } finally { if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) { logOrIgnore.printStackTrace(); } } System.out.println(output); } }
library(httr) library(jsonlite) library(xml2) server <- "https://jan2020.rest.ensembl.org" ext <- "/vep/human/id/rs56116432?" r <- GET(paste(server, ext, sep = ""), content_type("application/json")) stop_for_status(r) # use this if you get a simple nested list back, otherwise inspect its structure # head(data.frame(t(sapply(content(r),c)))) head(fromJSON(toJSON(content(r))))
curl 'https://jan2020.rest.ensembl.org/vep/human/id/rs56116432?' -H 'Content-type:application/json'
wget -q --header='Content-type:application/json' 'https://jan2020.rest.ensembl.org/vep/human/id/rs56116432?' -O -
Methods | GET |
Response formats | json xml jsonp |