GET cafe/genetree/member/symbol/:species/:symbol

Retrieves the cafe tree of the gene tree that contains the gene identified by a symbol

Parameters

Required

NameTypeDescriptionDefaultExample Values
species String Species name/alias - homo_sapiens
human
symbol String Symbol or display name of a gene - BRCA2

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
compara String Name of the compara database to use. Multiple comparas exist on a server for separate species divisions vertebrates vertebrates
db_type String Restrict the search to a database other than the default. Useful if you need to use a DB other than core core core
otherfeatures
external_db String Filter by external database - HGNC
nh_format The format of a NH (New Hampshire) request. Available only with the default setting to allow us to return the cafe tree with Taxa names appended with number of members and the p_value. example : homo_sapiens_3_0.123 where 3 is the number of members and 0.123 is the p value Preset with default cafe parameters -
object_type String Filter by feature type - gene
transcript

Example Requests

/cafe/genetree/member/symbol/homo_sapiens/BRCA2?content-type=application/json


  1. use strict;
  2. use warnings;
  3.  
  4. use HTTP::Tiny;
  5.  
  6. my $http = HTTP::Tiny->new();
  7.  
  8. my $server = 'http://staging.rest.ensembl.org';
  9. my $ext = '/cafe/genetree/member/symbol/homo_sapiens/BRCA2?';
  10. my $response = $http->get($server.$ext, {
  11. headers => { 'Content-type' => 'application/json' }
  12. });
  13.  
  14. die "Failed!\n" unless $response->{success};
  15.  
  16.  
  17. use JSON;
  18. use Data::Dumper;
  19. if(length $response->{content}) {
  20. my $hash = decode_json($response->{content});
  21. local $Data::Dumper::Terse = 1;
  22. local $Data::Dumper::Indent = 1;
  23. print Dumper $hash;
  24. print "\n";
  25. }
  26.  
  1. import requests, sys
  2.  
  3. server = "http://staging.rest.ensembl.org"
  4. ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?"
  5.  
  6. r = requests.get(server+ext, headers={ "Content-Type" : "application/json"})
  7.  
  8. if not r.ok:
  9. r.raise_for_status()
  10. sys.exit()
  11.  
  12. decoded = r.json()
  13. print repr(decoded)
  14.  
  1. import requests, sys
  2.  
  3. server = "http://staging.rest.ensembl.org"
  4. ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?"
  5.  
  6. r = requests.get(server+ext, headers={ "Content-Type" : "application/json"})
  7.  
  8. if not r.ok:
  9. r.raise_for_status()
  10. sys.exit()
  11.  
  12. decoded = r.json()
  13. print(repr(decoded))
  14.  
  1. require 'net/http'
  2. require 'uri'
  3.  
  4. server='http://staging.rest.ensembl.org'
  5. path = '/cafe/genetree/member/symbol/homo_sapiens/BRCA2?'
  6.  
  7. url = URI.parse(server)
  8. http = Net::HTTP.new(url.host, url.port)
  9.  
  10. request = Net::HTTP::Get.new(path, {'Content-Type' => 'application/json'})
  11.  
  12. response = http.request(request)
  13.  
  14. if response.code != "200"
  15. puts "Invalid response: #{response.code}"
  16. puts response.body
  17. exit
  18. end
  19.  
  20.  
  21. require 'rubygems'
  22. require 'json'
  23. require 'yaml'
  24.  
  25. result = JSON.parse(response.body)
  26. puts YAML::dump(result)
  27.  
  1. import java.net.URL;
  2. import java.net.URLConnection;
  3. import java.net.HttpURLConnection;
  4. import java.io.BufferedReader;
  5. import java.io.InputStream;
  6. import java.io.InputStreamReader;
  7. import java.io.IOException;
  8. import java.io.Reader;
  9.  
  10.  
  11. public class EnsemblRest {
  12.  
  13. public static void main(String[] args) throws Exception {
  14. String server = "http://staging.rest.ensembl.org";
  15. String ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?";
  16. URL url = new URL(server + ext);
  17.  
  18. URLConnection connection = url.openConnection();
  19. HttpURLConnection httpConnection = (HttpURLConnection)connection;
  20. httpConnection.setRequestProperty("Content-Type", "application/json");
  21.  
  22. InputStream response = connection.getInputStream();
  23. int responseCode = httpConnection.getResponseCode();
  24.  
  25. if(responseCode != 200) {
  26. throw new RuntimeException("Response code was not 200. Detected response was "+responseCode);
  27. }
  28.  
  29. String output;
  30. Reader reader = null;
  31. try {
  32. reader = new BufferedReader(new InputStreamReader(response, "UTF-8"));
  33. StringBuilder builder = new StringBuilder();
  34. char[] buffer = new char[8192];
  35. int read;
  36. while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
  37. builder.append(buffer, 0, read);
  38. }
  39. output = builder.toString();
  40. }
  41. finally {
  42. if (reader != null) try {
  43. reader.close();
  44. } catch (IOException logOrIgnore) {
  45. logOrIgnore.printStackTrace();
  46. }
  47. }
  48.  
  49. System.out.println(output);
  50. }
  51. }
  52.  
  1. library(httr)
  2. library(jsonlite)
  3. library(xml2)
  4.  
  5. server <- "http://staging.rest.ensembl.org"
  6. ext <- "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?"
  7.  
  8. r <- GET(paste(server, ext, sep = ""), content_type("application/json"))
  9.  
  10. stop_for_status(r)
  11.  
  12. # use this if you get a simple nested list back, otherwise inspect its structure
  13. # head(data.frame(t(sapply(content(r),c))))
  14. head(fromJSON(toJSON(content(r))))
  15.  
  1.  
  2. curl 'http://staging.rest.ensembl.org/cafe/genetree/member/symbol/homo_sapiens/BRCA2?' -H 'Content-type:application/json'
  3.  
  1. wget -q --header='Content-type:application/json' 'http://staging.rest.ensembl.org/cafe/genetree/member/symbol/homo_sapiens/BRCA2?' -O -
  2.  

/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple;content-type=text/x-nh


  1. use strict;
  2. use warnings;
  3.  
  4. use HTTP::Tiny;
  5.  
  6. my $http = HTTP::Tiny->new();
  7.  
  8. my $server = 'http://staging.rest.ensembl.org';
  9. my $ext = '/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple';
  10. my $response = $http->get($server.$ext, {
  11. headers => { 'Content-type' => 'text/x-nh' }
  12. });
  13.  
  14. die "Failed!\n" unless $response->{success};
  15.  
  16.  
  17. print "$response->{content}\n";
  18.  
  1. import requests, sys
  2.  
  3. server = "http://staging.rest.ensembl.org"
  4. ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple"
  5.  
  6. r = requests.get(server+ext, headers={ "Content-Type" : "text/x-nh"})
  7.  
  8. if not r.ok:
  9. r.raise_for_status()
  10. sys.exit()
  11.  
  12.  
  13. print r.text
  14.  
  1. import requests, sys
  2.  
  3. server = "http://staging.rest.ensembl.org"
  4. ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple"
  5.  
  6. r = requests.get(server+ext, headers={ "Content-Type" : "text/x-nh"})
  7.  
  8. if not r.ok:
  9. r.raise_for_status()
  10. sys.exit()
  11.  
  12.  
  13. print(r.text)
  14.  
  1. require 'net/http'
  2. require 'uri'
  3.  
  4. server='http://staging.rest.ensembl.org'
  5. path = '/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple'
  6.  
  7. url = URI.parse(server)
  8. http = Net::HTTP.new(url.host, url.port)
  9.  
  10. request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-nh'})
  11.  
  12. response = http.request(request)
  13.  
  14. if response.code != "200"
  15. puts "Invalid response: #{response.code}"
  16. puts response.body
  17. exit
  18. end
  19.  
  20.  
  21. puts response.body
  22.  
  1. import java.net.URL;
  2. import java.net.URLConnection;
  3. import java.net.HttpURLConnection;
  4. import java.io.BufferedReader;
  5. import java.io.InputStream;
  6. import java.io.InputStreamReader;
  7. import java.io.IOException;
  8. import java.io.Reader;
  9.  
  10.  
  11. public class EnsemblRest {
  12.  
  13. public static void main(String[] args) throws Exception {
  14. String server = "http://staging.rest.ensembl.org";
  15. String ext = "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple";
  16. URL url = new URL(server + ext);
  17.  
  18. URLConnection connection = url.openConnection();
  19. HttpURLConnection httpConnection = (HttpURLConnection)connection;
  20. httpConnection.setRequestProperty("Content-Type", "text/x-nh");
  21.  
  22. InputStream response = connection.getInputStream();
  23. int responseCode = httpConnection.getResponseCode();
  24.  
  25. if(responseCode != 200) {
  26. throw new RuntimeException("Response code was not 200. Detected response was "+responseCode);
  27. }
  28.  
  29. String output;
  30. Reader reader = null;
  31. try {
  32. reader = new BufferedReader(new InputStreamReader(response, "UTF-8"));
  33. StringBuilder builder = new StringBuilder();
  34. char[] buffer = new char[8192];
  35. int read;
  36. while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
  37. builder.append(buffer, 0, read);
  38. }
  39. output = builder.toString();
  40. }
  41. finally {
  42. if (reader != null) try {
  43. reader.close();
  44. } catch (IOException logOrIgnore) {
  45. logOrIgnore.printStackTrace();
  46. }
  47. }
  48.  
  49. System.out.println(output);
  50. }
  51. }
  52.  
  1. library(httr)
  2. library(jsonlite)
  3. library(xml2)
  4.  
  5. server <- "http://staging.rest.ensembl.org"
  6. ext <- "/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple"
  7.  
  8. r <- GET(paste(server, ext, sep = ""), content_type("text/x-nh"))
  9.  
  10. stop_for_status(r)
  11.  
  12.  
  13. print(content(r))
  14.  
  1.  
  2. curl 'http://staging.rest.ensembl.org/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple' -H 'Content-type:text/x-nh'
  3.  
  1. wget -q --header='Content-type:text/x-nh' 'http://staging.rest.ensembl.org/cafe/genetree/member/symbol/homo_sapiens/BRCA2?nh_format=simple' -O -
  2.  

Resource Information

MethodsGET
Response formatsnh
json
jsonp