POST ga4gh/variantannotations/search

Return variant annotation information in GA4GH format for a region on a reference sequence

Parameters

Required

NameTypeDescriptionDefaultExample Values
variantAnnotationSetId String Return variant annotations data for a specific annotationSet (Ensembl is an alias for the current default annotation set) - Ensembl

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
effects [OntologyTerm] Return variant annotation filtering on effects - [ {"sourceName":"SO", "term":"missense_variant", "id":"SO:0001583", "sourceVersion": ""}]
end Int End position of region (zero-based, exclusive) - 25221500
pageSize Int Number of variants to show per page 10 -
pageToken Int Identifier showing which page of data to retrieve next null -
referenceId String Reference sequence id - 9489ae7581e14efcad134f02afafe26c
referenceName String Reference sequence name - 22
start Int Start position of region (zero-based, inclusive) - 25221400

Message

Content-typeFormatExample
application/json{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }

Example Requests

/ga4gh/variantannotations/search


{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }
        
use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://rest.ensembl.org';
my $ext = '/ga4gh/variantannotations/search';
my $response = $http->request('POST', $server.$ext, {
  headers => { 
  	'Content-type' => 'application/json',
  	'Accept' => 'application/json'
  },
  content => '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }'
});

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.ensembl.org"
ext = "/ga4gh/variantannotations/search"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }')

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

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

import requests, sys

server = "http://rest.ensembl.org"
ext = "/ga4gh/variantannotations/search"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }')

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

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

require 'net/http'
require 'uri'

server='http://rest.ensembl.org'
path = '/ga4gh/variantannotations/search'

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 = '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }'

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.ensembl.org";
    String ext = "/ga4gh/variantannotations/search";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    String postBody = "{\"pageSize\": 2, \"variantAnnotationSetId\": \"Ensembl\", \"referenceId\": \"9489ae7581e14efcad134f02afafe26c\", \"start\": 25221400 , \"end\": 25221500 }";
    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.ensembl.org/ga4gh/variantannotations/search' -H 'Content-type:application/json' \
-H 'Accept:application/json' -X POST -d '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }'

wget -q --header='Content-type:application/json' --header='Accept:application/json' \
--post-data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceId": "9489ae7581e14efcad134f02afafe26c", "start": 25221400 , "end": 25221500 }' \
'http://rest.ensembl.org/ga4gh/variantannotations/search'  -O -

/ga4gh/variantannotations/search


{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }
        
use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'http://rest.ensembl.org';
my $ext = '/ga4gh/variantannotations/search';
my $response = $http->request('POST', $server.$ext, {
  headers => { 
  	'Content-type' => 'application/json',
  	'Accept' => 'application/json'
  },
  content => '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }'
});

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.ensembl.org"
ext = "/ga4gh/variantannotations/search"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }')

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

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

import requests, sys

server = "http://rest.ensembl.org"
ext = "/ga4gh/variantannotations/search"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }')

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

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

require 'net/http'
require 'uri'

server='http://rest.ensembl.org'
path = '/ga4gh/variantannotations/search'

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 = '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }'

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.ensembl.org";
    String ext = "/ga4gh/variantannotations/search";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    String postBody = "{\"pageSize\": 2, \"variantAnnotationSetId\": \"Ensembl\", \"referenceName\": \"22\", \"start\": 25000000 , \"end\": 25194457 }";
    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.ensembl.org/ga4gh/variantannotations/search' -H 'Content-type:application/json' \
-H 'Accept:application/json' -X POST -d '{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }'

wget -q --header='Content-type:application/json' --header='Accept:application/json' \
--post-data='{"pageSize": 2, "variantAnnotationSetId": "Ensembl", "referenceName": "22", "start": 25000000 , "end": 25194457 }' \
'http://rest.ensembl.org/ga4gh/variantannotations/search'  -O -

Resource Information

MethodsPOST
Response formatsjson
jsonp