Translate a list of variant identifiers, HGVS notations or genomic SPDI notations to all possible variant IDs, HGVS and genomic SPDI
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
species | String | Species name/alias | - |
homo_sapiens human |
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
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 |
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 | - |
fields | String | Comma-separated list of identifiers/notations to include from the following types: id (variant ID), hgvsg (HGVS genomic), hgvsc (HGVS coding), hgvsp (HGVS protein), spdi (SPDI genomic) | id,hgvsg,hgvsc,hgvsp,spdi | - |
ga4gh_vrs | Boolean | Add GA4GH Variation Representation Specification (VRS) notation | 0 | - |
gencode_basic | Boolean(0,1) | Limit your analysis to transcripts belonging to the GENCODE basic set. This set has fragmented or problematic transcripts removed. | 0 | - |
gencode_primary | Boolean(0,1) | Limit your analysis to transcripts belonging to the GENCODE primary set. | 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 | - |
var_synonyms | Boolean(0,1) | Known variation synonyms and their sources | 0 | - |
vcf_string | Boolean(0,1) | VCF represented in a string | 0 | - |
Content-type | Format | Example |
application/json | { "ids": array } | { "ids" : ["rs116035550", "rs1042779" ] } |
{ "ids" : ["rs116035550", "rs1042779" ] }
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://grch37.rest.ensembl.org'; my $ext = '/variant_recoder/homo_sapiens'; my $response = $http->request('POST', $server.$ext, { headers => { 'Content-type' => 'application/json', 'Accept' => 'application/json' }, content => '{ "ids" : ["rs116035550", "rs1042779" ] }' }); 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://grch37.rest.ensembl.org" ext = "/variant_recoder/homo_sapiens" headers={ "Content-Type" : "application/json", "Accept" : "application/json"} r = requests.post(server+ext, headers=headers, data='{ "ids" : ["rs116035550", "rs1042779" ] }') if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print repr(decoded)
import requests, sys server = "https://grch37.rest.ensembl.org" ext = "/variant_recoder/homo_sapiens" headers={ "Content-Type" : "application/json", "Accept" : "application/json"} r = requests.post(server+ext, headers=headers, data='{ "ids" : ["rs116035550", "rs1042779" ] }') if not r.ok: r.raise_for_status() sys.exit() decoded = r.json() print(repr(decoded))
require 'net/http' require 'uri' server='https://grch37.rest.ensembl.org' path = '/variant_recoder/homo_sapiens' url = URI.parse(server) http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(path, {'Content-Type' => 'application/json', 'Accept' => 'application/json'}) request.body = '{ "ids" : ["rs116035550", "rs1042779" ] }' 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; import java.io.DataOutputStream; public class EnsemblRest { public static void main(String[] args) throws Exception { String server = "https://grch37.rest.ensembl.org"; String ext = "/variant_recoder/homo_sapiens"; URL url = new URL(server + ext); URLConnection connection = url.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection)connection; String postBody = "{ \"ids\" : [\"rs116035550\", \"rs1042779\" ] }"; httpConnection.setRequestMethod("POST"); httpConnection.setRequestProperty("Content-Type", "application/json"); httpConnection.setRequestProperty("Accept", "application/json"); httpConnection.setRequestProperty("Content-Length", Integer.toString(postBody.getBytes().length)); httpConnection.setUseCaches(false); httpConnection.setDoInput(true); httpConnection.setDoOutput(true); DataOutputStream wr = new DataOutputStream(httpConnection.getOutputStream()); wr.writeBytes(postBody); wr.flush(); wr.close(); 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://grch37.rest.ensembl.org" ext <- "/variant_recoder/homo_sapiens" r <- POST(paste(server, ext, sep = ""), content_type("application/json"), accept("application/json"), body = '{ "ids" : ["rs116035550", "rs1042779" ] }') 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://grch37.rest.ensembl.org/variant_recoder/homo_sapiens' -H 'Content-type:application/json' \ -H 'Accept:application/json' -X POST -d '{ "ids" : ["rs116035550", "rs1042779" ] }'
wget -q --header='Content-type:application/json' --header='Accept:application/json' \ --post-data='{ "ids" : ["rs116035550", "rs1042779" ] }' \ 'https://grch37.rest.ensembl.org/variant_recoder/homo_sapiens' -O -
Methods | POST |
Response formats | json xml jsonp |
Maximum POST size | 200 |