Protein Design · Binder design
RFdiffusion API
Generate protein backbones unconditionally, around a motif, or against a target.
Runs the official RFdiffusion inference script. Custom Contigs exposes the raw contig map directly; the other tasks build one for you from a target/binder/motif description.
Tasks
Pick a mode with task
Fields belonging to another task are ignored, so send only the ones for the task you chose.
| task | Mode |
|---|---|
contigs default |
Custom contigs |
binder_design |
Binder design |
binder_redesign |
Binder redesign |
motif_scaffolding |
Motif scaffolding |
partial_diffusion |
Partial diffusion |
fold_conditioning |
Fold conditioning |
symmetric_oligomer |
Symmetric oligomer |
symmetric_motif |
Symmetric motif scaffolding |
Request body
Fields
The same names the web form posts. See the field type table for what each kind means over HTTP.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
job_name
|
string text | no | rfdiffusion-demo |
Job name |
num_designs
|
number number | no | 2 |
Backbone designs minimum 1, maximum 1000. |
diffusion_steps
|
number number | no | 50 |
Diffusion steps minimum 15, maximum 200. |
contigs
contigs
|
string text | yes | 150-150 |
Contig map RFdiffusion contig string without the brackets. For example 150-150 for an unconditional monomer, 5-15/A10-25/30-40 to scaffold a motif, or B1-100/0 100-100 for a binder. |
input_pdb
contigs
|
string file | no | — |
Input PDB (optional) Required by any contig that references chains of a structure. file types .pdb,.ent. |
hotspot_chain
contigs
|
string text | no | — |
Hotspot chain (optional) |
hotspots
contigs
|
string text | no | — |
Hotspot residues (optional) Comma- or space-separated residue numbers on hotspot_chain, e.g. 100,101,102. |
binder_design_input_pdb
binder_design
|
string file | yes | HEADER PASTE A TARGET STRUCTURE PDB HERE |
Target PDB file types .pdb,.ent. |
target_chains
binder_design
|
string text | yes | A |
Target chains Comma-separated chain IDs from the target PDB to keep as context. |
binder_length
binder_design
|
string text | yes | 70-100 |
Binder length range e.g. 70-100. |
binder_hotspots
binder_design
|
string textarea | no | — |
Target hotspots (optional) One "chain: residues" per line, e.g. "A: 20 21 23". |
binder_redesign_input_pdb
binder_redesign
|
string file | yes | HEADER PASTE A TARGET-BINDER COMPLEX PDB HERE |
Target-binder complex PDB file types .pdb,.ent. |
redesign_hotspot_chain
binder_redesign
|
string text | no | — |
Hotspot chain (optional) |
redesign_hotspots
binder_redesign
|
string text | no | — |
Hotspot residues (optional) Comma- or space-separated residue numbers. |
binder_chain
binder_redesign
|
string text | yes | B |
Binder chain |
designed_residues
binder_redesign
|
string text | yes | 26-32,52-57,99-110 |
Designed residues Comma-separated ranges on binder_chain to regenerate; everything else on it stays fixed. |
designed_lengths
binder_redesign
|
string text | no | — |
Designed lengths (optional) One length range per designed_residues range, e.g. 5-9,3-8,10-25. Blank keeps each span's original length. |
motif_input_pdb
motif_scaffolding
|
string file | yes | HEADER PASTE A STRUCTURE CONTAINING THE MOTIF HERE |
Motif source PDB file types .pdb,.ent. |
interface_chain
motif_scaffolding
|
string text | yes | A |
Motif chain |
interface_residues
motif_scaffolding
|
string text | yes | 30-40, 60-70 |
Motif residues Comma-separated ranges of the motif to preserve. |
motif_designed_lengths
motif_scaffolding
|
string text | no | — |
Scaffold gap lengths (optional) One range per gap (one more than the number of motif ranges), e.g. 10-40,10-40,10-40. Blank defaults every gap to 10-40. |
partial_input_pdb
partial_diffusion
|
string file | yes | HEADER PASTE A STARTING STRUCTURE PDB HERE |
Starting structure PDB file types .pdb,.ent. |
designed_chain
partial_diffusion
|
string text | yes | A |
Chain to partially diffuse |
diffused_residues
partial_diffusion
|
string text | yes | 1-79 |
Diffused residues Comma-separated ranges on designed_chain to noise; other residues (and other chains) stay fixed. |
provide_seq
partial_diffusion
|
string text | no | — |
Keep sequence fixed at (optional) Comma-separated ranges, in designed_chain's own residue numbering, to hold sequence identity constant even while noised. |
partial_t
partial_diffusion
|
number number | no | 20 |
Partial noising steps minimum 1, maximum 199. |
fold_conditioning_target_file
fold_conditioning
|
string file | yes | HEADER PASTE A TARGET STRUCTURE PDB HERE |
Target PDB file types .pdb,.ent. |
fold_conditioning_binder_file
fold_conditioning
|
string file | yes | HEADER PASTE A STRUCTURE WITH THE DESIRED BINDER FOLD HERE |
Desired binder fold PDB A structure whose secondary-structure/block-adjacency pattern the new binder should follow. file types .pdb,.ent. |
fold_hotspot_chain
fold_conditioning
|
string text | no | — |
Hotspot chain (optional) |
fold_hotspots
fold_conditioning
|
string text | no | — |
Hotspot residues (optional) |
symmetry_type
symmetric_oligomer
|
string text | yes | C4 |
Symmetry e.g. C2, C4, C6, D2, tetrahedral, octahedral, icosahedral. |
oligomer_length
symmetric_oligomer
|
number number | no | 480 |
Total oligomer length Divided evenly across the symmetric copies by RFdiffusion. minimum 10, maximum 10000. |
oligomer_use_contacts
symmetric_oligomer
|
boolean checkbox | no | true |
Guide with an inter/intra-chain contact potential |
symmetric_motif_input_pdb
symmetric_motif
|
string file | yes | HEADER PASTE A STRUCTURE WITH SYMMETRIC MOTIF COPIES HERE |
Structure containing the symmetric motif copies file types .pdb,.ent. |
motif_symmetry_type
symmetric_motif
|
string text | yes | C4 |
Symmetry |
motif_residues
symmetric_motif
|
string text | yes | A2-4, A7-9, A12-14, A17-19 |
Motif copies Comma-separated per-copy residue ranges, one per symmetric unit. |
scaffold_length_before
symmetric_motif
|
number number | no | 50 |
Scaffold residues before each copy minimum 0, maximum 500. |
scaffold_length_after
symmetric_motif
|
number number | no | 50 |
Scaffold residues after each copy minimum 0, maximum 500. |
motif_use_contacts
symmetric_motif
|
boolean checkbox | no | true |
Guide with an inter/intra-chain contact potential |
checkpoint
|
string select | no | — |
Model checkpoint override (optional)
One of:
(empty), active_site, complex_base, complex_fold_base, inpaint_seq, inpaint_seq_fold, base_epoch8.
|
noise_scale_ca
|
number number | no | 1 |
CA noise scale minimum 0, maximum 2, step 0.05. |
noise_scale_frame
|
number number | no | 1 |
Frame noise scale minimum 0, maximum 2, step 0.05. |
potentials
|
string text | no | — |
Custom guiding potential (optional) Raw potential spec, e.g. "type:substrate_contacts,s:1,r_0:8,rep_r_0:5.0,rep_s:2,rep_r_min:1". |
substrate
|
string text | no | — |
Substrate CCD code (optional) Only used with a substrate_contacts potential, e.g. LLK. |
guide_scale
|
number number | no | 10 |
Guide scale minimum 0, maximum 50. |
guide_decay
|
string select | no | constant |
Guide decay
One of:
constant, linear, quadratic.
|
Example
A request that runs
These are the defaults, exactly as the web form would post them.
curl -X POST https://www.athanortools.com/api/rfdiffusion/ \
-H 'Content-Type: application/json' \
-d '{
"task": "contigs",
"job_name": "rfdiffusion-demo",
"num_designs": 2,
"diffusion_steps": 50,
"contigs": "150-150",
"input_pdb": "",
"hotspot_chain": "",
"hotspots": "",
"checkpoint": "",
"noise_scale_ca": 1,
"noise_scale_frame": 1,
"potentials": "",
"substrate": "",
"guide_scale": 10,
"guide_decay": "constant"
}'
The reply is 202 with a queued job; poll its
status_url until status is
succeeded or failed. See
the quick start for the
whole exchange.
Responses
What comes back
| status | Meaning |
|---|---|
queued |
Accepted, waiting for the jobs ahead of it. `position` counts how many those are. |
running |
The tool is executing now. |
succeeded |
Finished; `result` holds the tool's output and `license` the terms it came under. |
failed |
Finished; `error` holds a code and a message. |
Errors
| code | Meaning |
|---|---|
invalid_input |
The client supplied invalid or incomplete input. |
tool_unavailable |
The requested third-party dependency is not available on this host. |
execution_failed |
A configured third-party process exited unsuccessfully. |
internal_error |
An adapter failed in a way it does not describe. The detail is in the server log, not the response. |
not_found |
No job has that id. Finished jobs are dropped eventually. |