use strict;
use warnings;
use HTTP::Tiny;
my $http = HTTP::Tiny->new();
my $server = 'http://grch37.rest.ensembl.org';
my $ext = '/ga4gh/beacon/query';
my $response = $http->request('POST', $server.$ext, {
  headers => { 
  	'Content-type' => 'application/json',
  	'Accept' => 'application/json'
  },
  content => '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }'
});
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://grch37.rest.ensembl.org"
ext = "/ga4gh/beacon/query"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }')
if not r.ok:
  r.raise_for_status()
  sys.exit()
decoded = r.json()
print repr(decoded)
 
import requests, sys
server = "http://grch37.rest.ensembl.org"
ext = "/ga4gh/beacon/query"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }')
if not r.ok:
  r.raise_for_status()
  sys.exit()
decoded = r.json()
print(repr(decoded))
 
require 'net/http'
require 'uri'
server='http://grch37.rest.ensembl.org'
path = '/ga4gh/beacon/query'
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 = '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }'
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://grch37.rest.ensembl.org";
    String ext = "/ga4gh/beacon/query";
    URL url = new URL(server + ext);
    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    String postBody = "{ \"referenceName\": \"9\", \"start\" : 22125503, \"referenceBases\": \"G\", \"alternateBases\": \"C\",\"assemblyId\" : \"GRCh37\" }";
    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://grch37.rest.ensembl.org"
ext <- "/ga4gh/beacon/query"
r <- POST(paste(server, ext, sep = ""), content_type("application/json"), accept("application/json"), body = '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }')
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://grch37.rest.ensembl.org/ga4gh/beacon/query' -H 'Content-type:application/json' \
-H 'Accept:application/json' -X POST -d '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }'
 
wget -q --header='Content-type:application/json' --header='Accept:application/json' \
--post-data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37" }' \
'http://grch37.rest.ensembl.org/ga4gh/beacon/query'  -O -
 
 
	
	
	
	
    
    
    
    
      
    
use strict;
use warnings;
use HTTP::Tiny;
my $http = HTTP::Tiny->new();
my $server = 'http://grch37.rest.ensembl.org';
my $ext = '/ga4gh/beacon/query';
my $response = $http->request('POST', $server.$ext, {
  headers => { 
  	'Content-type' => 'application/json',
  	'Accept' => 'application/json'
  },
  content => '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }'
});
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://grch37.rest.ensembl.org"
ext = "/ga4gh/beacon/query"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }')
if not r.ok:
  r.raise_for_status()
  sys.exit()
decoded = r.json()
print repr(decoded)
 
import requests, sys
server = "http://grch37.rest.ensembl.org"
ext = "/ga4gh/beacon/query"
headers={ "Content-Type" : "application/json", "Accept" : "application/json"}
r = requests.post(server+ext, headers=headers, data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }')
if not r.ok:
  r.raise_for_status()
  sys.exit()
decoded = r.json()
print(repr(decoded))
 
require 'net/http'
require 'uri'
server='http://grch37.rest.ensembl.org'
path = '/ga4gh/beacon/query'
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 = '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }'
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://grch37.rest.ensembl.org";
    String ext = "/ga4gh/beacon/query";
    URL url = new URL(server + ext);
    URLConnection connection = url.openConnection();
    HttpURLConnection httpConnection = (HttpURLConnection)connection;
    
    String postBody = "{ \"referenceName\": \"9\", \"start\" : 22125503, \"referenceBases\": \"G\", \"alternateBases\": \"C\",\"assemblyId\" : \"GRCh37\",\"includeResultsetResponses\": \"NONE\"  }";
    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://grch37.rest.ensembl.org"
ext <- "/ga4gh/beacon/query"
r <- POST(paste(server, ext, sep = ""), content_type("application/json"), accept("application/json"), body = '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }')
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://grch37.rest.ensembl.org/ga4gh/beacon/query' -H 'Content-type:application/json' \
-H 'Accept:application/json' -X POST -d '{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }'
 
wget -q --header='Content-type:application/json' --header='Accept:application/json' \
--post-data='{ "referenceName": "9", "start" : 22125503, "referenceBases": "G", "alternateBases": "C","assemblyId" : "GRCh37","includeResultsetResponses": "NONE"  }' \
'http://grch37.rest.ensembl.org/ga4gh/beacon/query'  -O -