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:
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:
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):
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 manufacturabilitypseudoyield: The predicted pseudoyield valueattention: 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 manufacturabilitypseudoyield: The predicted pseudoyield valueattention: 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
/loginendpoint to obtain an access token. - Include the token in the
Authorizationheader of your requests:
This documentation is automatically updated with every repository commit via GitHub Actions.