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.
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");
- 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
An example of invoking every supported method is provided in the DemoClient
Please contact eoberortner (at) lbl (dot) gov