Request multiple types of sequence by a list of regions.
Name | Type | Description | Default | Example Values |
---|---|---|---|---|
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 |
Content-type | Format | Example |
application/json | { "regions": array } | { "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] } |
{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }
- use strict;
- use warnings;
- use HTTP::Tiny;
- my $http = HTTP::Tiny->new();
- my $server = 'http://jan2020.rest.ensembl.org';
- my $ext = '/sequence/region/human';
- my $response = $http->request('POST', $server.$ext, {
- headers => {
- 'Content-type' => 'application/json',
- 'Accept' => 'application/json'
- },
- content => '{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }'
- });
- 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://jan2020.rest.ensembl.org"
- ext = "/sequence/region/human"
- headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
- r = requests.post(server+ext, headers=headers, data='{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }')
- if not r.ok:
- r.raise_for_status()
- sys.exit()
- decoded = r.json()
- print repr(decoded)
- import requests, sys
- server = "http://jan2020.rest.ensembl.org"
- ext = "/sequence/region/human"
- headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
- r = requests.post(server+ext, headers=headers, data='{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }')
- if not r.ok:
- r.raise_for_status()
- sys.exit()
- decoded = r.json()
- print(repr(decoded))
- require 'net/http'
- require 'uri'
- server='http://jan2020.rest.ensembl.org'
- path = '/sequence/region/human'
- 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 = '{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }'
- 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://jan2020.rest.ensembl.org";
- String ext = "/sequence/region/human";
- URL url = new URL(server + ext);
- URLConnection connection = url.openConnection();
- HttpURLConnection httpConnection = (HttpURLConnection)connection;
- String postBody = "{ \"regions\" : [\"X:1000000..1000100:1\", \"ABBA01004489.1:1..100\"] }";
- 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);
- }
- }
- library(httr)
- library(jsonlite)
- library(xml2)
- server <- "http://jan2020.rest.ensembl.org"
- ext <- "/sequence/region/human"
- r <- POST(paste(server, ext, sep = ""), content_type("application/json"), accept("application/json"), body = '{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }')
- 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 'http://jan2020.rest.ensembl.org/sequence/region/human' -H 'Content-type:application/json' \
- -H 'Accept:application/json' -X POST -d '{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }'
- wget -q --header='Content-type:application/json' --header='Accept:application/json' \
- --post-data='{ "regions" : ["X:1000000..1000100:1", "ABBA01004489.1:1..100"] }' \
- 'http://jan2020.rest.ensembl.org/sequence/region/human' -O -
Methods | POST |
Response formats | json jsonp |
Maximum POST size | 50 |
Slice length | 1e7 |