API Documentation
Overview
Python SDK Reference
End to End example
List custom tools
Get a custom tool
Create a custom tool
Update a custom tool
Delete a custom tool
Create a source upload
Build a custom tool
List build logs
Cancel a custom tool build
Run a custom tool
Publish a custom tool version
List custom tool versions
Create New Pipelines
/api/submit-pipelineCreate 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 code | Description |
|---|---|
| 200 | Pipeline submitted successfully |
| 400 | Bad request |
| 403 | Forbidden - Budget Exceeded |
| 500 | Internal 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
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 }