API Documentation

Create New Pipelines

POST/api/submit-pipeline

Create and submit new computational pipelines for execution.

The POST API endpoint /submit-pipeline allows users to create and submit new computational pipelines for execution.

Required Parameters:

jobName

(string)

The name of your job

initialInputs

(array)

Array of inputs for the pipeline:
• PDB/SDF input: list of files uploaded using the /upload endpoint
• Sequence input: list of sequence strings or fasta/fa files uploaded using the /upload endpoint
• SMILES input: list of SMILES strings

stages

(array)

Array of pipeline stages with tools and settings

HTTP Response Status Codes
Status codeDescription
200Pipeline submitted successfully
400Bad request
403Forbidden - Budget Exceeded
500Internal server error
Optional Parameters:

projectTag

"proj_..."

Assign all jobs in the pipeline to a project by its ProjectId

Pipeline Builder:

Use the interactive builder below to create your pipeline stages. Each stage can contain multiple tools that will run in parallel.

The pipelines tool allows you to configure stages to run in sequential order. Each stage is one of the following tasks:

  • Structure Design (pdb → pdb)
  • Structure Prediction (sequence → pdb)
  • Inverse Folding (pdb → sequence)
  • Sequence Design (sequence → sequence)
  • Scoring (pdb/sequence → end)

To start, select a task for your first stage, then the tools you'd like to use for that task. All valid tasks/tools for each stage will be shown, based on each tool's input and output types.

To specify that the field of a tool should be "piped" in from the previous tool's output, use the string value "pipe".

Starting inputs:

pdb

sequence

Initial Inputs (one per line)

1import requests 
2api_key = "***************"
3base_url = "https://app.tamarind.bio/api/"
4
5initialInputs = [
6    "5TPN.pdb"
7]  # PDB files (must be uploaded first) or protein sequences
8
9params = {
10    "jobName": "myPipelineJob",
11    "initialInputs": initialInputs, # your pdb files (must be uploaded to your account - see /upload endpoint)
12    "stages": [
13      
14    ]
15  }
16    
17response = requests.post(base_url + "submit-pipeline", headers={'x-api-key': api_key}, json=params)
18print(response.text)
Response Format
Pipeline myPipelineJob submitted to queue.
Example Pipeline:

The below example shows an example of a pipeline which uses rfdiffusion to design a protein backbone, proteinmpnn to design a sequence for the generated backbone, and alphafold verify the generated sequence. 3 stages will be submitted, and they will automatically run sequentially.

1initialInputs = [
2    "5TPN.pdb"
3]  # PDB files (must be uploaded first) or protein sequences
4
5params = {
6    "jobName": "myJobName",
7    "initialInputs": initialInputs,
8    "stages": [
9      {
10        "task": "Structure Design", 
11        "toolSettings": {
12          "rfdiffusion": {
13              "task":"Custom Contigs",
14              "pdbFile":"pipe", # input will be retrieved from initialInputs list
15              "contigs":"10-40/A163-181/10-40",
16              "numDesigns":"2",
17              }
18          }
19        }, {
20        "task": "Inverse Folding", 
21        "toolSettings": {
22          "proteinmpnn": {
23              "pdbFile":"pipe", # input will be inferred from rfdiffusion job outputs
24              "designedChains":["A"],
25              "numSequences":"2"
26              }
27          }
28        }, {
29        "task": "Structure Prediction", 
30        "toolSettings": {
31          "alphafold": {
32              "sequence":"pipe",
33              }
34          }
35	    }
36    ]
37  }