GET variation/:species/:id

Uses a variant identifier (e.g. rsID) to return the variation features including optional genotype, phenotype and population data

Parameters

Required

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

Optional

NameTypeDescriptionDefaultExample 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
genotypes Boolean(0,1) Include individual genotypes 0 -
phenotypes Boolean(0,1) Include phenotypes 0 -
pops Boolean(0,1) Include population allele frequencies 0 -
population_genotypes Boolean(0,1) Include population genotype frequencies 0 -

Example Requests

/variation/Arabidopsis thaliana/ENSVATH12367453?content-type=application/json


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://test.rest.ensemblgenomes.org';
my $ext = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?';
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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?"

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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?"

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='http://test.rest.ensemblgenomes.org'
path = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?'

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 = "http://test.rest.ensemblgenomes.org";
    String ext = "/variation/Arabidopsis%20thaliana/ENSVATH12367453?";
    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);
  }
}


curl 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis%20thaliana/ENSVATH12367453?' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis thaliana/ENSVATH12367453?'  -O -

/variation/Arabidopsis thaliana/ENSVATH12367453?content-type=application/json;genotypes=1


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://test.rest.ensemblgenomes.org';
my $ext = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?genotypes=1';
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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?genotypes=1"

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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?genotypes=1"

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='http://test.rest.ensemblgenomes.org'
path = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?genotypes=1'

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 = "http://test.rest.ensemblgenomes.org";
    String ext = "/variation/Arabidopsis%20thaliana/ENSVATH12367453?genotypes=1";
    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);
  }
}


curl 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis%20thaliana/ENSVATH12367453?genotypes=1' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis thaliana/ENSVATH12367453?genotypes=1'  -O -

/variation/Arabidopsis thaliana/__VAR(variation_id_four)__?content-type=application/json;phenotypes=1


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://test.rest.ensemblgenomes.org';
my $ext = '/variation/Arabidopsis%20thaliana/__VAR(variation_id_four)__?phenotypes=1';
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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/__VAR(variation_id_four)__?phenotypes=1"

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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/__VAR(variation_id_four)__?phenotypes=1"

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='http://test.rest.ensemblgenomes.org'
path = '/variation/Arabidopsis%20thaliana/__VAR(variation_id_four)__?phenotypes=1'

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 = "http://test.rest.ensemblgenomes.org";
    String ext = "/variation/Arabidopsis%20thaliana/__VAR(variation_id_four)__?phenotypes=1";
    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);
  }
}


curl 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis%20thaliana/__VAR(variation_id_four)__?phenotypes=1' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis thaliana/__VAR(variation_id_four)__?phenotypes=1'  -O -

/variation/Arabidopsis thaliana/ENSVATH12367453?content-type=application/json;pops=1


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://test.rest.ensemblgenomes.org';
my $ext = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?pops=1';
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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?pops=1"

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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?pops=1"

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='http://test.rest.ensemblgenomes.org'
path = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?pops=1'

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 = "http://test.rest.ensemblgenomes.org";
    String ext = "/variation/Arabidopsis%20thaliana/ENSVATH12367453?pops=1";
    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);
  }
}


curl 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis%20thaliana/ENSVATH12367453?pops=1' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis thaliana/ENSVATH12367453?pops=1'  -O -

/variation/Arabidopsis thaliana/ENSVATH12367453?content-type=application/json;population_genotypes=1


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://test.rest.ensemblgenomes.org';
my $ext = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?population_genotypes=1';
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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?population_genotypes=1"

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 = "http://test.rest.ensemblgenomes.org"
ext = "/variation/Arabidopsis thaliana/ENSVATH12367453?population_genotypes=1"

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='http://test.rest.ensemblgenomes.org'
path = '/variation/Arabidopsis%20thaliana/ENSVATH12367453?population_genotypes=1'

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 = "http://test.rest.ensemblgenomes.org";
    String ext = "/variation/Arabidopsis%20thaliana/ENSVATH12367453?population_genotypes=1";
    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);
  }
}


curl 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis%20thaliana/ENSVATH12367453?population_genotypes=1' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'http://test.rest.ensemblgenomes.org/variation/Arabidopsis thaliana/ENSVATH12367453?population_genotypes=1'  -O -

Resource Information

MethodsGET
Response formatsjson
xml
jsonp