Designs¶
POST /v1/designs designs de-novo proteins against a target. Two engines share
the endpoint: BoltzGen takes a sequence or
ligand target and returns designs ranked by predicted confidence;
RFdiffusion3 takes a pasted structure plus a contig and returns them
unranked. Both return a job to poll, exactly like a
prediction.
The protocol implies the model. You may pass model explicitly
(boltzgen or rfd3 — the same vocabulary as the CLI's --model), but it
must match the protocol's model; a mismatch is a 400.
BoltzGen: binders against a sequence or ligand¶
curl -s -X POST https://api.japanfold.com/v1/designs \
-H 'Content-Type: application/json' \
-d '{
"protocol":"nanobody-anything",
"name":"my-nanobodies",
"spec":"sequences:\n - protein: {id: A, sequence: MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ}\n",
"params":{"num_designs":10,"budget":10,"fast":true}
}'
spec(required): a YAML design spec, the target plus the binder request. Same YAML dialect as the Boltz/BoltzGen inputs.protocol(required): what to design.params:num_designs,budget,fast. See Models & limits.name: optional label.
protocol |
Designs |
|---|---|
protein-anything |
De-novo mini-protein binder against any target. |
peptide-anything |
Short peptide binder. |
nanobody-anything |
Single-domain antibody / nanobody (VHH). |
antibody-anything |
Antibody binder. |
protein-small_molecule |
Protein binder with a binding-affinity step. |
protein-redesign |
Re-design residues of an existing binder. |
Submits accept the same Idempotency-Key and Prefer: wait headers as
predictions.
RFdiffusion3: all-atom design against a structure¶
RFdiffusion3 diffuses protein structure and sequence together, conditioned on a target structure you provide:
curl -s -X POST https://api.japanfold.com/v1/designs \
-H 'Content-Type: application/json' \
-d '{
"protocol":"rfd3-binder",
"name":"my-rfd3-binders",
"structure":"HEADER ...\nATOM 1 N ALA A 1 ...\n...",
"contig":"A1-150,60-80",
"params":{"num_designs":4,"num_timesteps":100}
}'
structure(required): the target as PDB or mmCIF text. Paste the file contents, up to 700,000 characters (about a 1,000-residue PDB).contig(required): comma-separated segments. A chain-range likeA1-150keeps those residues fixed; a bare number like60-80designs that many new residues. So"A1-150,60-80"keeps target chain A, then designs a 60 to 80 residue binder.params:num_designs,num_timesteps,seed. See Models & limits.
protocol |
Designs |
|---|---|
rfd3-binder |
Binder against a protein target structure. |
rfd3-scaffold |
Scaffold around a fixed functional motif: list the motif residues, design between them. |
rfd3-na-binder |
Binder against a fixed DNA or RNA structure. |
RFdiffusion3 designs are unranked: there is no refold-and-filter step, so you get
one mmCIF per design with no confidence scores. To check one, fold its sequence
back onto the target with a prediction and read the interface
confidence (iptm).
Reading designs¶
Poll GET /v1/jobs/{id} until succeeded, then read
GET /v1/jobs/{id}/results for the designs and their structure artifacts, or
GET /v1/jobs/{id}/archive for everything as one zip. See
Jobs → Results and
Examples.