GET sequence/id/:id

Request multiple types of sequence by stable identifier. Supports feature masking and expand options.

Parameters

Required

NameTypeDescriptionDefaultExample Values
id String An Ensembl stable ID - ENSG00000157764
ENSG00000157764.fasta (supported on some deployments)

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
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
end Int Trim the end of the sequence by this many basepairs. Trimming is relative to reading direction and in the coordinate system of the stable identifier. Parameter can not be used in conjunction with expand_5prime or expand_3prime. - 1000
expand_3prime Int Expand the sequence downstream of the sequence by this many basepairs. Only available when using genomic sequence type. - 1000
expand_5prime Int Expand the sequence upstream of the sequence by this many basepairs. Only available when using genomic sequence type. - 1000
format Enum(fasta) Format of the data - fasta
mask Enum(hard,soft) Request the sequence masked for repeat sequences. Hard will mask all repeats as N's and soft will mask repeats as lowercased characters. Only available when using genomic sequence type. - hard
mask_feature Boolean Mask features on the sequence. If sequence is genomic, mask introns. If sequence is cDNA, mask UTRs. Incompatible with the 'mask' option 0 -
multiple_sequences Boolean Allow the service to return more than 1 sequence per identifier. This is useful when querying for a gene but using a type such as protein. 0 -
object_type String Filter by feature type - gene
species String Species name/alias - homo_sapiens
start Int Trim the start of the sequence by this many basepairs. Trimming is relative to reading direction and in the coordinate system of the stable identifier. Parameter can not be used in conjunction with expand_5prime or expand_3prime. - 1000
type Enum(genomic,cds,cdna,protein) Type of sequence. Defaults to genomic where applicable, i.e. not translations. cdna refers to the spliced transcript sequence with UTR; cds refers to the spliced transcript sequence without UTR. genomic cds

Example Requests

/sequence/id/ENSG00000157764?content-type=text/plain


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENSG00000157764?';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/plain' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSG00000157764?"

r = requests.get(server+ext, headers={ "Content-Type" : "text/plain"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSG00000157764?"

r = requests.get(server+ext, headers={ "Content-Type" : "text/plain"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENSG00000157764?'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/plain'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENSG00000157764?";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/plain");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENSG00000157764?"

r <- GET(paste(server, ext, sep = ""), content_type("text/plain"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENSG00000157764?' -H 'Content-type:text/plain'

wget -q --header='Content-type:text/plain' 'https://jan2020.rest.ensembl.org/sequence/id/ENSG00000157764?'  -O -

/sequence/id/CCDS5863.1?object_type=transcript;type=cds;content-type=text/x-fasta;species=human;db_type=otherfeatures


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-fasta' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-fasta'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-fasta");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-fasta"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript' -H 'Content-type:text/x-fasta'

wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/id/CCDS5863.1?type=cds;species=human;db_type=otherfeatures;object_type=transcript'  -O -

/sequence/id/ENST00000288602?type=cdna;content-type=text/x-fasta


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENST00000288602?type=cdna';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-fasta' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENST00000288602?type=cdna"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENST00000288602?type=cdna"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENST00000288602?type=cdna'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-fasta'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENST00000288602?type=cdna";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-fasta");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENST00000288602?type=cdna"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-fasta"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENST00000288602?type=cdna' -H 'Content-type:text/x-fasta'

wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/id/ENST00000288602?type=cdna'  -O -

/sequence/id/ENST00000288602?type=cds;content-type=text/x-fasta


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENST00000288602?type=cds';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-fasta' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENST00000288602?type=cds"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENST00000288602?type=cds"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENST00000288602?type=cds'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-fasta'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENST00000288602?type=cds";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-fasta");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENST00000288602?type=cds"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-fasta"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENST00000288602?type=cds' -H 'Content-type:text/x-fasta'

wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/id/ENST00000288602?type=cds'  -O -

/sequence/id/ENSE00001154485?type=genomic;content-type=text/x-fasta


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENSE00001154485?type=genomic';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-fasta' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSE00001154485?type=genomic"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSE00001154485?type=genomic"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENSE00001154485?type=genomic'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-fasta'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENSE00001154485?type=genomic";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-fasta");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENSE00001154485?type=genomic"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-fasta"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENSE00001154485?type=genomic' -H 'Content-type:text/x-fasta'

wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/id/ENSE00001154485?type=genomic'  -O -

/sequence/id/ENSE00001154485?type=genomic;content-type=text/x-fasta;expand_5prime=10


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-fasta' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-fasta"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-fasta'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-fasta");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-fasta"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic' -H 'Content-type:text/x-fasta'

wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/id/ENSE00001154485?expand_5prime=10;type=genomic'  -O -

/sequence/id/ENSG00000157764?multiple_sequences=1;type=protein;content-type=text/x-seqxml%2Bxml


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1';
my $response = $http->get($server.$ext, {
  headers => { 'Content-type' => 'text/x-seqxml+xml' }
});

die "Failed!\n" unless $response->{success};


print "$response->{status} $response->{reason}\n";

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-seqxml+xml"})

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


print r.text

import requests, sys

server = "https://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1"

r = requests.get(server+ext, headers={ "Content-Type" : "text/x-seqxml+xml"})

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


print(r.text)

require 'net/http'
require 'uri'

server='https://jan2020.rest.ensembl.org'
path = '/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1'

url = URI.parse(server)
http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(path, {'Content-Type' => 'text/x-seqxml+xml'})

response = http.request(request)

if response.code != "200"
  puts "Invalid response: #{response.code}"
  puts response.body
  exit
end


puts response.body

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1";
    URL url = new URL(server + ext);

    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    httpConnection.setRequestProperty("Content-Type", "text/x-seqxml+xml");
    

    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1"

r <- GET(paste(server, ext, sep = ""), content_type("text/x-seqxml+xml"))

stop_for_status(r)


print(content(r))


curl 'https://jan2020.rest.ensembl.org/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1' -H 'Content-type:text/x-seqxml+xml'

wget -q --header='Content-type:text/x-seqxml+xml' 'https://jan2020.rest.ensembl.org/sequence/id/ENSG00000157764?type=protein;multiple_sequences=1'  -O -

/sequence/id/GENSCAN00000000001?species=homo_sapiens;content-type=application/json;db_type=core;type=protein;object_type=predictiontranscript


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core';
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://jan2020.rest.ensembl.org"
ext = "/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core"

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://jan2020.rest.ensembl.org"
ext = "/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core"

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://jan2020.rest.ensembl.org'
path = '/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core'

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core";
    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core"

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://jan2020.rest.ensembl.org/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'https://jan2020.rest.ensembl.org/sequence/id/GENSCAN00000000001?object_type=predictiontranscript;type=protein;species=homo_sapiens;db_type=core'  -O -

/sequence/id/ENSP00000288602?content-type=application/json


use strict;
use warnings;

use HTTP::Tiny;

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

my $server = 'https://jan2020.rest.ensembl.org';
my $ext = '/sequence/id/ENSP00000288602?';
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://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSP00000288602?"

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://jan2020.rest.ensembl.org"
ext = "/sequence/id/ENSP00000288602?"

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://jan2020.rest.ensembl.org'
path = '/sequence/id/ENSP00000288602?'

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://jan2020.rest.ensembl.org";
    String ext = "/sequence/id/ENSP00000288602?";
    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://jan2020.rest.ensembl.org"
ext <- "/sequence/id/ENSP00000288602?"

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://jan2020.rest.ensembl.org/sequence/id/ENSP00000288602?' -H 'Content-type:application/json'

wget -q --header='Content-type:application/json' 'https://jan2020.rest.ensembl.org/sequence/id/ENSP00000288602?'  -O -

Resource Information

MethodsGET
Response formatsfasta
json
seqxml
text
yaml
jsonp
Slice length1e7