{
"fields": [
{
"name": "job_name",
"label": "Job name",
"kind": "text",
"default": "proteinmpnn-demo",
"required": false,
"help": "A label for this run and its results.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Inputs"
},
{
"name": "pdb_path",
"label": "Backbone structure",
"kind": "file",
"default": "",
"required": true,
"help": "A single protein backbone to design or score. Leave chains blank to use every chain.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".pdb,.ent,.cif,.mmcif",
"task": "",
"group": "Inputs",
"help_note": "Upload a PDB or mmCIF, or choose a preset with an included structure. The first model is used for multi-model structures. mmCIF is converted to PDB and requires single-character chain IDs."
},
{
"name": "pdb_path_chains",
"label": "Chains to design or score",
"kind": "text",
"default": "",
"required": false,
"help": "Space-separated chain IDs, e.g. A C. Other chains supply fixed sequence and structural context. Blank selects all chains.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Inputs"
},
{
"name": "path_to_fasta",
"label": "Sequences to score (FASTA)",
"kind": "file",
"default": "",
"required": false,
"help": "Optional sequences for score-only mode. The native sequence is also scored.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".fa,.fasta,.faa",
"task": "score_only",
"group": "Inputs",
"help_note": "Supply one sequence per FASTA record, with designed chains in alphabetical order separated by /. Each chain must match its parsed backbone length."
},
{
"name": "model_name",
"label": "Model checkpoint",
"kind": "select",
"default": "v_48_020",
"required": false,
"help": "48-neighbor models trained with backbone noise of 0.02, 0.10, 0.20 or 0.30 angstroms. CA-only weights are available through v_48_020.",
"options": [
{
"value": "v_48_002",
"label": "v_48_002 (0.02 Ă… training noise)"
},
{
"value": "v_48_010",
"label": "v_48_010 (0.10 Ă… training noise)"
},
{
"value": "v_48_020",
"label": "v_48_020 (0.20 Ă… training noise)"
},
{
"value": "v_48_030",
"label": "v_48_030 (0.30 Ă… training noise)"
}
],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "use_soluble_model",
"label": "Use soluble-protein weights",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Use weights trained on soluble proteins. Cannot be combined with CA-only mode.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "ca_only",
"label": "Use CA-only structures and weights",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Use only alpha-carbon coordinates. Requires a CA-only checkpoint; v_48_030 is unavailable.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "num_seq_per_target",
"label": "Samples per target",
"kind": "number",
"default": 1,
"required": false,
"help": "Sequences per temperature in design mode; repeated evaluations in score/probability modes. Must be a multiple of batch size.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 1000,
"step": 1,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling",
"help_note": "This service accepts up to 1,000 samples per target."
},
{
"name": "batch_size",
"label": "Batch size",
"kind": "number",
"default": 1,
"required": false,
"help": "Samples processed together. Reduce if GPU memory runs out. Must divide the sample count exactly.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 1000,
"step": 1,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "sampling_temp",
"label": "Sampling temperatures",
"kind": "text",
"default": "0.1",
"required": false,
"help": "One or more positive temperatures separated by spaces, e.g. 0.1 0.2 0.3. Higher values give more sequence diversity.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Model and sampling"
},
{
"name": "seed",
"label": "Random seed",
"kind": "number",
"default": 0,
"required": false,
"help": "Zero chooses a random seed. Set a nonzero seed for reproducible sampling in the same runtime.",
"options": [],
"rows": null,
"minimum": 0,
"maximum": 2147483647,
"step": 1,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "backbone_noise",
"label": "Inference backbone noise",
"kind": "number",
"default": 0.0,
"required": false,
"help": "Standard deviation in angstroms of Gaussian noise added to backbone coordinates during inference; separate from checkpoint training noise.",
"options": [],
"rows": null,
"minimum": 0,
"maximum": null,
"step": "any",
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "max_length",
"label": "Maximum total sequence length",
"kind": "number",
"default": 200000,
"required": false,
"help": "Maximum parsed sequence length across all chains. Longer inputs are rejected before running.",
"options": [],
"rows": null,
"minimum": 1,
"maximum": 200000,
"step": 1,
"maxlength": null,
"accept": "",
"task": "",
"group": "Model and sampling"
},
{
"name": "fixed_positions_jsonl",
"label": "Fixed positions (JSON)",
"kind": "textarea",
"default": "",
"required": false,
"help": "Positions whose native amino acids are retained, e.g. {\"A\": [1, 2, 3], \"C\": [10]}. Omitted chains are designed in full.",
"options": [],
"rows": 4,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Position constraints",
"help_note": "Positions are 1-based indices in each parsed chain, including gaps and insertion-code residues, not PDB residue numbers. Enter the chain dictionary or the upstream dictionary keyed by structure name."
},
{
"name": "tied_positions_jsonl",
"label": "Tied positions (JSON)",
"kind": "textarea",
"default": "",
"required": false,
"help": "Groups sampled as the same amino acid, e.g. [{\"A\": [1], \"C\": [1]}, {\"A\": [2], \"C\": [2]}].",
"options": [],
"rows": 4,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Position constraints",
"help_note": "Uses the same 1-based parsed positions. Weighted groups also accept {\"A\": [[1], [0.5]], \"C\": [[1], [0.5]]}."
},
{
"name": "homo_oligomer",
"label": "Tie all designed chains as a homo-oligomer",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Tie matching positions across the designed chains. Requires at least two chains of equal parsed length.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Position constraints",
"help_note": "Convenience equivalent of the official homooligomer helper. Use either this option or custom tied positions."
},
{
"name": "omit_AAs",
"label": "Omit amino acids",
"kind": "text",
"default": "X",
"required": false,
"help": "One-letter amino-acid codes excluded from sampling everywhere, e.g. AC excludes alanine and cysteine. X excludes the unknown residue.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Amino-acid preferences"
},
{
"name": "bias_AA_jsonl",
"label": "Global amino-acid bias (JSON)",
"kind": "textarea",
"default": "",
"required": false,
"help": "Bias for each amino acid, e.g. {\"A\": -1.1, \"F\": 0.7}. Positive values favor an amino acid; negative values discourage it.",
"options": [],
"rows": 3,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Amino-acid preferences"
},
{
"name": "omit_AA_jsonl",
"label": "Per-position omitted amino acids (JSON)",
"kind": "textarea",
"default": "",
"required": false,
"help": "Chain-specific exclusions, e.g. {\"A\": [[[1, 2], \"CP\"], [[3], \"W\"]]}. Uses 1-based parsed positions.",
"options": [],
"rows": 4,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Amino-acid preferences",
"help_note": "Enter a chain dictionary or an upstream dictionary keyed by structure name. Missing chains have no local exclusions."
},
{
"name": "bias_by_res_jsonl",
"label": "Per-position amino-acid bias (JSON)",
"kind": "file",
"default": "",
"required": false,
"help": "Chain dictionary of L Ă— 21 numeric bias matrices in alphabet order ACDEFGHIKLMNPQRSTVWYX. L is the parsed chain length.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".json,.jsonl",
"task": "design",
"group": "Amino-acid preferences",
"help_note": "Upload JSON or provide an object through the API. An upstream dictionary keyed by structure name is also accepted. Missing chains receive zero bias."
},
{
"name": "pssm_jsonl",
"label": "PSSM guidance (JSON)",
"kind": "file",
"default": "",
"required": false,
"help": "Chain dictionaries containing pssm_coef (L), pssm_bias (L Ă— 21 probability distributions), and pssm_log_odds (L Ă— 21). Alphabet: ACDEFGHIKLMNPQRSTVWYX.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": ".json,.jsonl",
"task": "design",
"group": "PSSM guidance",
"help_note": "Use the output of the official make_pssm_input_dict.py helper, or a chain dictionary. The PSSM presets include converted official inputs."
},
{
"name": "pssm_multi",
"label": "PSSM mixing weight",
"kind": "number",
"default": 0.0,
"required": false,
"help": "Global PSSM weight from 0 to 1, multiplied by each position’s pssm_coef. Zero uses ProteinMPNN alone; one with coefficient one uses PSSM alone.",
"options": [],
"rows": null,
"minimum": 0,
"maximum": 1,
"step": "any",
"maxlength": null,
"accept": "",
"task": "design",
"group": "PSSM guidance"
},
{
"name": "pssm_bias_flag",
"label": "Mix in PSSM probabilities",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Enable probability mixing using pssm_multi and per-position pssm_coef.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "PSSM guidance"
},
{
"name": "pssm_log_odds_flag",
"label": "Restrict amino acids using PSSM log odds",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Apply the PSSM log-odds mask to sampling.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "PSSM guidance"
},
{
"name": "pssm_threshold",
"label": "PSSM log-odds threshold",
"kind": "number",
"default": 0.0,
"required": false,
"help": "Keep amino acids whose PSSM log odds are greater than this threshold when the log-odds option is enabled.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": "any",
"maxlength": null,
"accept": "",
"task": "design",
"group": "PSSM guidance"
},
{
"name": "conditional_probs_only_backbone",
"label": "Condition only on the backbone",
"kind": "checkbox",
"default": false,
"required": false,
"help": "For conditional probabilities, compute p(amino acid | backbone) instead of also conditioning on the other residues.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "conditional_probs_only",
"group": "Outputs"
},
{
"name": "save_score",
"label": "Save sampled sequence scores",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Save negative log probabilities for designed residues and global scores as NumPy .npz files.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Outputs"
},
{
"name": "save_probs",
"label": "Save sampled sequence probabilities",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Save per-position probabilities, log probabilities, sequences, masks and chain order as NumPy .npz files.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "design",
"group": "Outputs"
},
{
"name": "suppress_print",
"label": "Suppress progress output",
"kind": "checkbox",
"default": false,
"required": false,
"help": "Suppress ProteinMPNN’s progress messages. Result files are still saved.",
"options": [],
"rows": null,
"minimum": null,
"maximum": null,
"step": null,
"maxlength": null,
"accept": "",
"task": "",
"group": "Outputs"
}
],
"tasks": [
{
"value": "design",
"label": "Design sequences"
},
{
"value": "score_only",
"label": "Score sequences"
},
{
"value": "conditional_probs_only",
"label": "Conditional probabilities"
},
{
"value": "unconditional_probs_only",
"label": "Unconditional probabilities"
}
],
"task_group": "Inputs",
"field_groups": [
{
"label": "Inputs",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
},
{
"label": "Model and sampling",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
},
{
"label": "Position constraints",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
},
{
"label": "Amino-acid preferences",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
},
{
"label": "PSSM guidance",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
},
{
"label": "Outputs",
"docs_url": "https://github.com/dauparas/ProteinMPNN/blob/8907e6671bfbfc92303b5f79c4b5e6ce47cdef57/README.md"
}
]
}