POST vep/:species/region

Fetch variant consequences for multiple regions

Parameters

Required

NameTypeDescriptionDefaultExample Values
species String Species name/alias - arabidopsis_thaliana
Arabidopsis thaliana

Optional

NameTypeDescriptionDefaultExample Values
Blosum62 Boolean Include BLOSUM62 amino acid conservation score (plugin details) 0 -
CSN Boolean Reports Clinical Sequencing Nomenclature (CSN) for variants (plugin details) 0 -
ExAC Boolean Reports allele frequencies from the Exome Aggregation Consortium (plugin details) 0 -
GeneSplicer Boolean Detects splice sites in genomic DNA (plugin details) 0 -
MaxEntScan Boolean Sequence motif and maximum entropy based splice site consensus predictions (plugin details) 0 -
UpDownDistance Integer Change the distance to transcript for which VEP assigns upstream and downstream consequences (plugin details) 5000 -
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 -
domains Boolean Include names of overlapping protein domains 0 -
hgvs Boolean Include HGVS nomenclature based on Ensembl stable identifiers 0 -
miRNA Boolean Determines where in the secondary structure of a miRNA a variant falls (plugin details) 0 -
numbers Boolean Include affected exon and intron positions within the transcript 0 -
protein Boolean Include Ensembl protein identifiers 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 -

Message

Content-typeFormatExample
application/json{ "variants": array }{ "variants" : ["4 16056694 ENSVATH00550254 C - . . .", "4 16056290 ENSVATH00550249 A G . . ." ] }

Example Requests

/vep/arabidopsis_thaliana/region


{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }
        
use strict;
use warnings;

use HTTP::Tiny;

my $http = HTTP::Tiny->new();

my $server = 'http://rest.ensemblgenomes.org';
my $ext = '/vep/arabidopsis_thaliana/region';
my $response = $http->request('POST', $server.$ext, {
  headers => { 
  	'Content-type' => 'application/json',
  	'Accept' => 'application/json'
  },
  content => '{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }'
});

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 = "http://rest.ensemblgenomes.org"
ext = "/vep/arabidopsis_thaliana/region"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }')

if not r.ok:
  r.raise_for_status()
  sys.exit()

decoded = r.json()
print repr(decoded)

import requests, sys

server = "http://rest.ensemblgenomes.org"
ext = "/vep/arabidopsis_thaliana/region"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }')

if not r.ok:
  r.raise_for_status()
  sys.exit()

decoded = r.json()
print(repr(decoded))

require 'net/http'
require 'uri'

server='http://rest.ensemblgenomes.org'
path = '/vep/arabidopsis_thaliana/region'

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 = '{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }'

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 = "http://rest.ensemblgenomes.org";
    String ext = "/vep/arabidopsis_thaliana/region";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    String postBody = "{ \"variants\" : [\"4  16056694  ENSVATH00550254  C - . . .\", \"4  16056290  ENSVATH00550249 A G . . .\" ] }";
    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);
  }
}

curl 'http://rest.ensemblgenomes.org/vep/arabidopsis_thaliana/region' -H 'Content-type:application/json' \
-H 'Accept:application/json' -X POST -d '{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }'

wget -q --header='Content-type:application/json' --header='Accept:application/json' \
--post-data='{ "variants" : ["4  16056694  ENSVATH00550254  C - . . .", "4  16056290  ENSVATH00550249 A G . . ." ] }' \
'http://rest.ensemblgenomes.org/vep/arabidopsis_thaliana/region'  -O -

Resource Information

MethodsPOST
Response formatsjson
xml
jsonp
Maximum POST size1000