Get Started with our Web API


Requests

Requests represent design requests, e.g. the objects to be processed by our service. To start designing a hammerhead ribozyme, one needs to create a request, and supply it with the necessary parameters.

Resource Description
POST /ribosoft/requests/ Creates a new design request using the given design parameters, and returns 201 on success.

Parameters

  • sequence : String

    When provided, the sequence will be used as the target of the Hammerhead ribozyme.
    Note that the sequence must not be more than 3000 nucleotides-long.

  • accessionNumber: String

    When provided, it will be used as the target of the Hammerhead ribozyme.
    For a list of possible accession number values, have a look at the NCBI database

  • foldShape : String

    Describes the shape of the ribozyme.
    Possible values are: "Basic" and "Wishbone"

  • temperature : Integer

    Represents the temperature of the target in Celsius.
    Default value is 37

  • naC : Integer

    Represents the Na⁺ concentration in the target environment.
    Default value is 0

  • mgC : Integer

    Represents the Mg2⁺ concentration in the target environment.
    Default value is 0

  • oligoC : Integer

    Represents the concentration of oligos in the target environment.
    Default value is 0

  • cutsites : Array

    Represents the list of cutsites that the ribozyme should target. The list should contain at least "GUC", plus another possible cutsite from the list below:

    • "AUC"
    • "UUC"
    • "AUA"
    • "UUC"
    • "GUA"
    • "CUA"
    • "GUU"
    • "CUU"
    • "AUU"
    • "UUU"
    • "CUC"

  • region : Array

    Represents the list of regions that will be targeted.
    Possible values are:

    • ["5\'"]
    • ["ORF'"]
    • ["3\'"]
    • ["ORF", "3\'"]
    • ["5\'", "ORF"]
    • ["5\'", "ORF", "3\'"]

  • left_arm_min : Integer

    Represents the minimum length of the helix I strand.
    Default value is 5

  • left_arm_max : Integer

    Represents the maximum length of the helix I strand.
    Default value is 10, max value is 23

  • right_arm_min : Integer

    Represents the minimum length of the helix III strand.
    Default value is 5

  • right_arm_max : Integer

    Represents the maximum length of the helix III strand.
    Default value is 10, max value is 23

  • promoter : Boolean

    Represents whether the T7 promoter should be used or not.
    Default value is false

  • specificity : String

    Represents what type of cleavage should be designed for.
    Possible values are "cleavage" or "hybrid".
    "cleavage" means that the algorithm will focus on hybridication that allows cleavage, while "hybrid" will focus on targets that can be annealed.
    Default value is "cleavage"

  • env : Object

    Represents the target environment.
    env.type can be either "vitro" or "vivo", for in-vitro and in-vivo respectively.
    env.target is the target environment if in-vivo.


Example input

This first example shows how to pass the accession number with no sequence information. cutsites refers to only one type of cutsites, and the emailUser is passed to allow reporting of the results by email.


This second example will show how to specify the actual sequence string in the request, as well as providing with a 'in-vivo' environment.
Note that, although emailUser was not provided, the request will still be executed.


Status code

  • 201

    Returned when the request has been successfully created.
    The location header points to the location of the newly created request. Refer to the Return Value section for more details

  • 400

    Returned when the request contains malformed, inconsistent or is missing data.


Returned Values

Apart from the status code, this resource returns the location of the newly created request. This value is found under the Location header of the response.
The location will be of the form: /ribosoft/requests/:id, where id is a 4 characters long UUID.
This UUID can be used with the rest of the API to retrieve the state and results of the request.

GET /ribosoft/requests/:id Returns the information for request for which "id" is provided

Parameters

None


Status code

  • 200

    Returned when the request has been found.

  • 404

    Returned when the request with the provided id cannot be found.

PUT /ribosoft/requests/:id Updates the request with additional information. This method is useful for setting the emailUser field for reporting the results by email.

Parameters

Same parameters as the POST method


Status code

  • 200

    Returned when the update was successful.

  • 404

    Returned when the request with the id provided cannot be found.

  • 405

    Returned when the request can no longer be modified.

DELETE /ribosoft/requests/:id Deletes the request.

Parameters

None


Status code

  • 200

    Returned when the request has been successfully deleted.

  • 404

    Returned when the request with the id provided cannot be found.

  • 405

    Returned when the request can no longer be deleted.

Status

A status resource represents the status of a request. This can be used to retrieve the state of a request, its remaining time, and the location of the results.

Resource Description
GET /ribosoft/requests/:id/status Retrieves the status of a request. The status is a description of the remaining duration of the request, the location of the results if the request has finished processing.

Parameters

None

Status code

  • 200

    Returned when the request has finished processing.

  • 202

    Returned when the request is ready for processing or in-processing.

  • 404

    Returned when the request with the provided id cannot be found.


Returned Values

  • The request has finished processing:
  • The request is currently being processed:
  • The request is ready for processing:
  • .

Results

A Results resource represents the results of a request.

Resource Description
GET /ribosoft/requests/:id/results Retrieves the results of processing a request.

Parameters

None

Status code

  • 200

    Returned when the request processed successfully.

  • 202

    Returned when the request has not finished processing yet.

  • 204

    Returned when the request processed successfully, but no results were found.

  • 404

    Returned when the request with the provided id cannot be found.


Returned Values

When results are found, they are returned in a json object. This page shows an example returned results.