{
"fields": [
{
"name": "job_name",
"label": "Job name",
"kind": "text",
"default": "rfantibody-demo",
"required": false,
"help": "",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "framework",
"label": "Framework",
"kind": "select",
"default": "hu-4D5-8_Fv",
"required": false,
"help": "The HLT-formatted scaffold whose CDR loops and dock are designed. The two bundled frameworks are the ones used in the RFantibody preprint; pick the one that matches the task. \"Custom\" converts the Chothia-numbered antibody PDB below into HLT format instead.",
"options": [
{
"value": "hu-4D5-8_Fv",
"label": "hu-4D5-8_Fv (bundled scFv, Antibody task)"
},
{
"value": "h-NbBCII10",
"label": "h-NbBCII10 (bundled VHH, Nanobody task)"
},
{
"value": "custom",
"label": "Custom (from the antibody PDB below)"
}
],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "target_file",
"label": "Target antigen PDB",
"kind": "file",
"default": "HEADER PASTE A TARGET ANTIGEN PDB HERE",
"required": true,
"help": "The antigen structure. Crop it to the region around the epitope: RFdiffusion and RF2 both scale as O(N^2) in residue count.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".pdb,.ent",
"task": ""
},
{
"name": "antigen_chains",
"label": "Antigen chains",
"kind": "text",
"default": "A",
"required": true,
"help": "Comma-separated chain IDs to keep from the target PDB, for example A or A,B. Everything else in the file is dropped before the run.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 60,
"accept": "",
"task": ""
},
{
"name": "antibody_file",
"label": "Antibody PDB",
"kind": "file",
"default": "",
"required": false,
"help": "Read only when the framework is \"Custom\": a Chothia-numbered antibody structure, such as one downloaded from SAbDab. It is converted to HLT format using the chain IDs below.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".pdb,.ent",
"task": ""
},
{
"name": "heavy_chain",
"label": "Heavy chain",
"kind": "text",
"default": "H",
"required": false,
"help": "Chain ID of the heavy chain in the antibody PDB.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 4,
"accept": "",
"task": ""
},
{
"name": "light_chain",
"label": "Light chain",
"kind": "text",
"default": "L",
"required": false,
"help": "Chain ID of the light chain in the antibody PDB.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 4,
"accept": "",
"task": "antibody"
},
{
"name": "hotspots",
"label": "Epitope hotspots",
"kind": "text",
"default": "A305,A456",
"required": false,
"help": "Comma-separated target residues that define the epitope, written as a chain ID then a residue number: A305,A456. These use the target PDB's own chain IDs and numbering. RFantibody is sensitive to the choice; pilot a few designs first.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 500,
"accept": "",
"task": ""
},
{
"name": "regions",
"label": "CDR loops to design",
"kind": "text",
"default": "hcdr1,hcdr2,hcdr3",
"required": true,
"help": "Comma-separated loops: hcdr1, hcdr2, hcdr3, and in the Antibody task lcdr1, lcdr2, lcdr3. A loop left out keeps the framework's own sequence and structure through both the diffusion and the sequence-design stages.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 60,
"accept": "",
"task": ""
},
{
"name": "hcdr1_length",
"label": "HCDR1 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": ""
},
{
"name": "hcdr2_length",
"label": "HCDR2 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": ""
},
{
"name": "hcdr3_length",
"label": "HCDR3 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": ""
},
{
"name": "lcdr1_length",
"label": "LCDR1 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": "antibody"
},
{
"name": "lcdr2_length",
"label": "LCDR2 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": "antibody"
},
{
"name": "lcdr3_length",
"label": "LCDR3 length",
"kind": "text",
"default": "auto",
"required": false,
"help": "\"auto\" lets the model keep the framework loop's own length, or give a fixed length (7) or a range sampled per design (5-13).",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 20,
"accept": "",
"task": "antibody"
},
{
"name": "select_cdr_indices",
"label": "Select CDR indices",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Replace the framework's own CDR annotations with the residue indices below, rather than trusting the Chothia ranges it was labelled with.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "hcdr1_residues",
"label": "HCDR1 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": ""
},
{
"name": "hcdr2_residues",
"label": "HCDR2 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": ""
},
{
"name": "hcdr3_residues",
"label": "HCDR3 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": ""
},
{
"name": "lcdr1_residues",
"label": "LCDR1 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": "antibody"
},
{
"name": "lcdr2_residues",
"label": "LCDR2 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": "antibody"
},
{
"name": "lcdr3_residues",
"label": "LCDR3 residues",
"kind": "text",
"default": "",
"required": false,
"help": "1-indexed absolute residue numbers in the HLT framework (heavy chain first, then light), as 26-32 or 26,27,28. Used only when \"Select CDR indices\" is on; an empty box leaves that loop's existing annotation alone.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 200,
"accept": "",
"task": "antibody"
},
{
"name": "abmpnn_weights",
"label": "Use AbMPNN weights",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Run the sequence-design stage against antibody-specific AbMPNN weights instead of the ProteinMPNN checkpoint RFantibody ships. Requires ABMPNN_MODEL_PATH to be configured on the host.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "calculate_epitope_distance",
"label": "Report epitope distance",
"kind": "checkbox",
"default": true,
"required": false,
"help": "Include RFdiffusion's per-design C-beta distance from each hotspot to the nearest designed CDR residue, as the closest and the mean over hotspots. Needs hotspots to be set.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "num_designs",
"label": "Backbone designs",
"kind": "number",
"default": 1,
"required": false,
"help": "How many docked backbones the diffusion stage generates.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 1000,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "temperature",
"label": "Sampling temperature",
"kind": "number",
"default": 0.1,
"required": false,
"help": "ProteinMPNN sampling temperature; higher is more diverse and less confident.",
"options": [],
"rows": null,
"minimum": 0.0001,
"maximum": 1.0,
"step": 0.01,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "seqs_per_struct",
"label": "Sequences per backbone",
"kind": "number",
"default": 1,
"required": false,
"help": "How many CDR sequences ProteinMPNN designs onto each backbone.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 100,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "omit_AAs",
"label": "Omitted amino acids",
"kind": "text",
"default": "CX",
"required": false,
"help": "One-letter codes ProteinMPNN may not place. X is always omitted; C is omitted by default to avoid unpaired cysteines.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": 21,
"accept": "",
"task": ""
},
{
"name": "augment_eps",
"label": "Backbone noise",
"kind": "number",
"default": 0.05,
"required": false,
"help": "Gaussian noise added to backbone coordinates before sequence design.",
"options": [],
"rows": null,
"minimum": 0.0,
"maximum": 1.0,
"step": 0.01,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "num_connections",
"label": "Neighbours per residue",
"kind": "number",
"default": 48,
"required": false,
"help": "Size of ProteinMPNN's k-nearest-neighbour graph.",
"options": [],
"rows": null,
"minimum": 8,
"maximum": 64,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "n_recycles",
"label": "RF2 recycles",
"kind": "number",
"default": 3,
"required": false,
"help": "Recycling iterations in the RF2 filtering stage. RFantibody's own examples use 10; fewer is faster and less confident.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 20,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "hotspot_percentage",
"label": "Hotspots shown to RF2",
"kind": "number",
"default": 0.1,
"required": false,
"help": "Proportion of the hotspot residues revealed to RF2 when it predicts the designed complex. Showing all of them makes the prediction less independent of the design.",
"options": [],
"rows": null,
"minimum": 0.0,
"maximum": 1.0,
"step": 0.05,
"maxlength": null,
"accept": "",
"task": ""
},
{
"name": "save_trajectories",
"label": "Keep diffusion trajectories",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Write RFdiffusion's per-step trajectory PDBs alongside the designs.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": ""
}
],
"tasks": [
{
"value": "antibody",
"label": "Antibody"
},
{
"value": "nanobody",
"label": "Nanobody"
}
]
}