Returns the genomic sequence of the specified region of the given species. Supports feature masking and expand options.
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
region | String | Query region. A maximum of 10Mb is allowed to be requested at any one time | - |
X:1000000..1000100:1 X:1000000..1000100:-1 X:1000000..1000100 |
species | String | Species name/alias | - |
homo_sapiens human |
Name | Type | Description | Default | Example 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 |
coord_system | String | Filter by coordinate system name | - |
contig seqlevel |
coord_system_version | String | Filter by coordinate system version | - |
GRCh37 |
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 lower cased 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 |
1 |
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/X:1000000..1000100:1?'; 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/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?' 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/region/human/X:1000000..1000100:1?"; 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/region/human/X:1000000..1000100:1?" r <- GET(paste(server, ext, sep = ""), content_type("text/plain")) stop_for_status(r) print(content(r))
curl 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?' -H 'Content-type:text/plain'
wget -q --header='Content-type:text/plain' 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/ABBA01004489.1:1..100?coord_system=seqlevel'; 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel" 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel" 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel' 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel"; 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel" 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/region/human/ABBA01004489.1:1..100?coord_system=seqlevel' -H 'Content-type:text/x-fasta'
wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/region/human/ABBA01004489.1:1..100?coord_system=seqlevel' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60'; 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60" 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60" 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60' 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60"; 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60" 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/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60' -H 'Content-type:text/x-fasta'
wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?expand_3prime=60;expand_5prime=60' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/X:1000000..1000100: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 = "https://jan2020.rest.ensembl.org" ext = "/sequence/region/human/X:1000000..1000100: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 = "https://jan2020.rest.ensembl.org" ext = "/sequence/region/human/X:1000000..1000100: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='https://jan2020.rest.ensembl.org' path = '/sequence/region/human/X:1000000..1000100: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 = "https://jan2020.rest.ensembl.org"; String ext = "/sequence/region/human/X:1000000..1000100: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); } }
library(httr) library(jsonlite) library(xml2) server <- "https://jan2020.rest.ensembl.org" ext <- "/sequence/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?' -H 'Content-type:application/json'
wget -q --header='Content-type:application/json' 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/X:1000000..1000100:1?mask=soft'; 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/region/human/X:1000000..1000100:1?mask=soft" 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/region/human/X:1000000..1000100:1?mask=soft" 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/region/human/X:1000000..1000100:1?mask=soft' 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/region/human/X:1000000..1000100:1?mask=soft"; 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/region/human/X:1000000..1000100:1?mask=soft" 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/region/human/X:1000000..1000100:1?mask=soft' -H 'Content-type:text/x-fasta'
wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?mask=soft' -O -
use strict; use warnings; use HTTP::Tiny; my $http = HTTP::Tiny->new(); my $server = 'https://jan2020.rest.ensembl.org'; my $ext = '/sequence/region/human/X:1000000..1000100:1?'; 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/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?' 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/region/human/X:1000000..1000100:1?"; 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/region/human/X:1000000..1000100:1?" 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/region/human/X:1000000..1000100:1?' -H 'Content-type:text/x-fasta'
wget -q --header='Content-type:text/x-fasta' 'https://jan2020.rest.ensembl.org/sequence/region/human/X:1000000..1000100:1?' -O -
Methods | GET |
Response formats | fasta json seqxml text yaml jsonp |
Slice length | 1e7 |