Skip to content

API Documentation

Overview

This API provides functionalities for user authentication and maRt3 RNA manufacturability prediction. Some endpoints require authentication using an access token obtained after login.

Endpoints

1. API Status (/)

Method: GET

Description: Returns the status of the API, indicating whether the service is running.

Authentication: ❌ Not required

Response Example:

{
  "build": "5bae0bac9ae07cf515b1cd0687a6861c778b6601",
  "environment": "prod",
  "firebase": true
}

Output Parameters - build: The SHA-1 hash defining the version build of the API. - environment: The environment of the API - firebase: The status of the internal database


2. User Login (/login)

Method: POST

Description: Authenticates the user and returns an access token. The access token is valid for 60 minutes. Then it needs to be regenerated.

Authentication: ❌ Not required

Query Parameters: - username (string, required): Username - password (string, required): User password

Response Example:

{
  "token": "your_generated_token"
}

Output Parameters - token: The access token to be used for querying the API when authentication is required.


3. Predict Manufacturability (/predict)

Method: POST

Description:
This endpoint predicts the manufacturability of a given sequence. It requires authentication via a bearer token. You must provide both the sequence and a unique name identifier. The identifier is used to track the specific product and generate usage reports. Additionally, you may include the optional parameters start and end to specify the coding sequence region. If these parameters are not provided, the entire sequence is used by default.

Authentication: ✅ Required

Headers: - Authorization: Bearer <access_token>

Request Body (JSON):

{
  "sequence": "ATGCGTACGTA",
  "name": "sequence_id",
  "start": 10,
  "end": 613
}

Response Example:

{
  "name": "sequence_id",
  "sequence": "ATGCTAGCTAGC",
  "size": 12,
  "class": 1,
  "score": 0.92,
  "on-perturbation": 2.75057315826416,
  "pseudoyield": 1.3397354338548042,
  "attention": [0.2, 1.0, 0.23, 0.3, 0.8, 0.7, 0.9, 1.0, 0.8, 0.2, 0.1, 0.0]
}

Output Parameters

  • name: The unique identifier for the sequence, used for tracking and reporting purposes.
  • sequence: The nucleotide sequence that was analyzed.
  • size: The length of the sequence (number of nucleotides).
  • class: The binary classification of the sequence: high yield (1) or low yield (0)
  • score: A numeric value representing the manufacturability prediction. Higher scores indicate a higher likelihood that the sequence is manufacturable.
  • on-perturbation: The on-perturbation value describing the predicted manufacturability
  • pseudoyield: The predicted pseudoyield value
  • attention: An array of numerical weights indicating the contribution of each position in the sequence to the prediction. These values help identify which parts of the sequence were most influential in the analysis.

4. Ping Test (/ping)

Method: GET

Description: Returns a short DNA sequence prediction, useful for checking API functionality. The output is the same as for the prediction endpoint.

Authentication: ✅ Required

Headers: - Authorization: Bearer <access_token>

Response Example:

{
  "name": "MDJ1234",
  "sequence": "ATGCTAGCTAGC",
  "size": 12,
  "class": 1,
  "score": 0.92,
  "attention": [0.2,1.0,0.23,0.3,0.8,0.7,0.9,1.0,0.8,0.2,0.1,0.0]
}

Output Parameters

  • name: The unique identifier for the sequence, used for tracking and reporting purposes.
  • sequence: The nucleotide sequence that was analyzed.
  • size: The length of the sequence (number of nucleotides).
  • class: The binary classification of the sequence: high yield (1) or low yield (0)
  • score: A numeric value representing the manufacturability prediction. Higher scores indicate a higher likelihood that the sequence is manufacturable.
  • on-perturbation: The on-perturbation value describing the predicted manufacturability
  • pseudoyield: The predicted pseudoyield value
  • attention: An array of numerical weights indicating the contribution of each position in the sequence to the prediction. These values help identify which parts of the sequence were most influential in the analysis.

Endpoint Summary

Endpoint Method Public Description
/ GET API status check
/login GET Authenticate and obtain an access token
/predict POST Predict sequence manufacturability
/ping GET Check API functionality

Authentication

  • Endpoints marked as private require authentication.
  • Use the /login endpoint to obtain an access token.
  • Include the token in the Authorization header of your requests:
    Authorization: Bearer your_access_token
    

This documentation is automatically updated with every repository commit via GitHub Actions.