Skip to content

nrnb/gsoc2018prem_prakash_singh-2

master
Switch branches/tags
Code
This branch is 1 commit behind eoberortner:master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 

BOOST REST API Client

The Build-OptimizatiOn Software Tools (BOOST) provide a REST API to access the following functionalities programmatically:

  • Reverse-translation of protein sequences into DNA sequences
  • Codon juggling of protein coding regions within DNA sequences
  • Verification of DNA sequences against DNA synthesis constraints
  • Modification of protein coding regions that violate DNA synthesis constraints
  • Partitioning of DNA sequences into synthesizable building blocks

The data exchanged between a client and the BOOST REST API is represented in JavaScript Object Notation (JSON). After a successful login, every request from a client to the BOOST REST API requires a JSON Web Token (JWT) in the message header.

We have developed a simple Java client that abstracts JSON data representation and the JWT-based authentication mechanism by providing a method for each functionality of the BOOST REST API.

Utilization of the BOOST Client

Instantiating the BOOST Client

As a first step, you have to instantiate the BOOSTClient class using one of the following alternatives:

  • providing your BOOST username and password.
BOOSTClient client = new BOOSTClient("your-username", "your-password");
  • providing your BOOST JSON Web Token (JWT)
BOOSTClient client = new BOOSTClient("your-BOOST-JWT");

Supported methods of the BOOST Client

  • reverseTranslate
client.reverseTranslate(
	"./protein_sequences.fasta",    // a FASTA file containing the input sequences 
	Strategy.MostlyUsed,            // the codon selection strategy
	"./data/Ecoli.cudb",            // the codon usage table of the target host
	FileFormat.GENBANK);            // the desired output format
  • codonJuggle
client.codonJuggle(
	"./dna_sequence.fasta",        // a FASTA file containing the input sequences 
	true,                          // are all sequences 5'-3' protein coding sequencese exclusively  
	Strategy.MostlyUsed,           // the codon replacement strategy
	"./data/Ecoli.cudb",           // the codon usage table of the target host
	FileFormat.GENBANK);           // the desired output format

Examples

An example of invoking every supported method is provided in the DemoClient

Questions, Feature Requests, or Bug-Report?

Please contact eoberortner (at) lbl (dot) gov

About

A Java client to invoke the BOOST REST API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%