GET /phenotype/term/:species/:term

Return phenotype annotations for genomic features given a phenotype ontology term

Parameters

Required

NameTypeDescriptionDefaultExample Values
species String Species name/alias - homo_sapiens
human
term String phenotype ontology term - coffee consumption

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
include_children Boolean(0,1) Include annotations attached to child terms 0 -
include_pubmed_id Boolean(0,1) Include the pubmed_ids 0 -
include_review_status Boolean(0,1) Include the review_status information 0 -
source String Restrict to annotations from a specific source. undef -

Example Requests

/phenotype/term/homo_sapiens/coffee consumption?content-type=application/json


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://rest.ensembl.org';
my $ext = '/phenotype/term/homo_sapiens/coffee%20consumption?';
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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/coffee consumption?"

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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/coffee consumption?"

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='https://rest.ensembl.org'
path = '/phenotype/term/homo_sapiens/coffee%20consumption?'

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 = "https://rest.ensembl.org";
    String ext = "/phenotype/term/homo_sapiens/coffee%20consumption?";
    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);
  }
}

library(httr)
library(jsonlite)
library(xml2)

server <- "https://rest.ensembl.org"
ext <- "/phenotype/term/homo_sapiens/coffee consumption?"

r <- GET(paste(server, ext, sep = ""), content_type("application/json"))

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://rest.ensembl.org/phenotype/term/homo_sapiens/coffee%20consumption?' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'https://rest.ensembl.org/phenotype/term/homo_sapiens/coffee consumption?'  -O -

/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet;content-type=application/json


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://rest.ensembl.org';
my $ext = '/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet';
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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet"

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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet"

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='https://rest.ensembl.org'
path = '/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet'

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 = "https://rest.ensembl.org";
    String ext = "/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet";
    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);
  }
}

library(httr)
library(jsonlite)
library(xml2)

server <- "https://rest.ensembl.org"
ext <- "/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet"

r <- GET(paste(server, ext, sep = ""), content_type("application/json"))

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://rest.ensembl.org/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'https://rest.ensembl.org/phenotype/term/homo_sapiens/Glaucoma?include_children=1;source=Orphanet'  -O -

/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI GWAS catalog;content-type=application/json


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://rest.ensembl.org';
my $ext = '/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI%20GWAS%20catalog';
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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI GWAS catalog"

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 = "https://rest.ensembl.org"
ext = "/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI GWAS catalog"

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='https://rest.ensembl.org'
path = '/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI%20GWAS%20catalog'

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 = "https://rest.ensembl.org";
    String ext = "/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI%20GWAS%20catalog";
    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);
  }
}

library(httr)
library(jsonlite)
library(xml2)

server <- "https://rest.ensembl.org"
ext <- "/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI GWAS catalog"

r <- GET(paste(server, ext, sep = ""), content_type("application/json"))

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://rest.ensembl.org/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI%20GWAS%20catalog' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'https://rest.ensembl.org/phenotype/term/homo_sapiens/Preeclampsia?source=NHGRI-EBI GWAS catalog'  -O -

Resource Information

MethodsGET
Response formatsjson
xml
jsonp