BioDesignBench-Leaderboard / mcp_tool_schemas.json
Jasonkim8652's picture
feat: add submission & scoring infrastructure (eval_scorer, dispatcher, boltz, queue, tasks) + fix gradio 5.x for Python 3.13
6205b94 verified
[
{
"name": "design_binder",
"description": "Design protein binders for a target protein. Runs RFdiffusion -> ProteinMPNN -> ESMFold pipeline.",
"parameters": {
"type": "object",
"properties": {
"target_pdb": {
"type": "string",
"description": "Path to target protein PDB file"
},
"hotspot_residues": {
"type": "array",
"items": {
"type": "string"
},
"description": "Target residues for binder interface, e.g. ['A45', 'A46']"
},
"num_designs": {
"type": "integer",
"description": "Number of designs to generate (default: 10)",
"default": 10
},
"binder_length": {
"type": "integer",
"description": "Binder length in residues (default: 80)",
"default": 80
}
},
"required": [
"target_pdb",
"hotspot_residues"
]
}
},
{
"name": "analyze_interface",
"description": "Analyze protein-protein interface: buried surface area, H-bonds, salt bridges, hydrophobic contacts.",
"parameters": {
"type": "object",
"properties": {
"complex_pdb": {
"type": "string",
"description": "Path to complex PDB file"
},
"chain_a": {
"type": "string",
"description": "Chain ID of first protein"
},
"chain_b": {
"type": "string",
"description": "Chain ID of second protein"
}
},
"required": [
"complex_pdb",
"chain_a",
"chain_b"
]
}
},
{
"name": "validate_design",
"description": "Validate a designed sequence by predicting its structure (ESMFold/AlphaFold2) and computing pLDDT, pTM.",
"parameters": {
"type": "object",
"properties": {
"sequence": {
"type": "string",
"description": "Amino acid sequence to validate"
},
"expected_structure": {
"type": "string",
"description": "Optional PDB path for RMSD comparison"
},
"predictor": {
"type": "string",
"enum": [
"esmfold",
"alphafold2"
],
"default": "esmfold",
"description": "Structure predictor to use"
}
},
"required": [
"sequence"
]
}
},
{
"name": "optimize_sequence",
"description": "Optimize binder sequence for improved stability and/or binding affinity.",
"parameters": {
"type": "object",
"properties": {
"current_sequence": {
"type": "string",
"description": "Starting amino acid sequence"
},
"target_pdb": {
"type": "string",
"description": "Path to target protein PDB"
},
"optimization_target": {
"type": "string",
"enum": [
"stability",
"affinity",
"both"
],
"default": "both"
},
"fixed_positions": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Positions to keep fixed (1-indexed)"
}
},
"required": [
"current_sequence",
"target_pdb"
]
}
},
{
"name": "suggest_hotspots",
"description": "Analyze target protein and suggest binding hotspots using structure, conservation, and literature.",
"parameters": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "Protein name, UniProt ID, PDB ID, or local PDB path"
},
"chain_id": {
"type": "string",
"description": "Chain to analyze (default: first)"
},
"criteria": {
"type": "string",
"enum": [
"druggable",
"exposed",
"conserved"
],
"default": "exposed"
},
"include_literature": {
"type": "boolean",
"default": false,
"description": "Search PubMed for known binders"
}
},
"required": [
"target"
]
}
},
{
"name": "get_design_status",
"description": "Check status of running design jobs.",
"parameters": {
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Job ID from design_binder call"
}
},
"required": [
"job_id"
]
}
},
{
"name": "predict_complex",
"description": "Predict protein complex structure using AlphaFold2-Multimer.",
"parameters": {
"type": "object",
"properties": {
"sequences": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of sequences, one per chain"
},
"chain_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional chain identifiers"
}
},
"required": [
"sequences"
]
}
},
{
"name": "predict_structure",
"description": "Predict the 3D structure of a single protein chain using ESMFold or AlphaFold2. Returns predicted PDB, pLDDT, and pTM scores.",
"parameters": {
"type": "object",
"properties": {
"sequence": {
"type": "string",
"description": "Amino acid sequence to predict structure for"
},
"predictor": {
"type": "string",
"enum": [
"esmfold",
"alphafold2"
],
"default": "esmfold",
"description": "Structure predictor to use"
}
},
"required": [
"sequence"
]
}
},
{
"name": "score_stability",
"description": "Score protein stability using ESM2 pseudo-log-likelihood. Optionally compute per-mutation effects (delta log-likelihood).",
"parameters": {
"type": "object",
"properties": {
"sequence": {
"type": "string",
"description": "Amino acid sequence to score"
},
"mutations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional mutations in 'X42Y' format for delta scoring"
},
"reference_sequence": {
"type": "string",
"description": "Optional wild-type sequence for mutation scoring"
}
},
"required": [
"sequence"
]
}
},
{
"name": "energy_minimize",
"description": "Energy-minimize a protein structure using OpenMM with AMBER14 force field. Returns minimized PDB, energy change, and RMSD from initial structure.",
"parameters": {
"type": "object",
"properties": {
"pdb_path": {
"type": "string",
"description": "Path to input PDB file"
},
"force_field": {
"type": "string",
"default": "amber14-all.xml",
"description": "OpenMM force field XML"
},
"num_steps": {
"type": "integer",
"default": 500,
"description": "Maximum minimization iterations"
},
"solvent": {
"type": "string",
"enum": [
"implicit",
"none"
],
"default": "implicit",
"description": "Solvent model: implicit (GBn2) or none (vacuum)"
}
},
"required": [
"pdb_path"
]
}
},
{
"name": "generate_backbone",
"description": "Generate de novo protein backbones using RFdiffusion unconditional generation. No target protein required.",
"parameters": {
"type": "object",
"properties": {
"length": {
"type": "integer",
"description": "Backbone length in residues"
},
"num_designs": {
"type": "integer",
"default": 10,
"description": "Number of designs to generate"
}
},
"required": [
"length"
]
}
},
{
"name": "rosetta_score",
"description": "Score a protein structure using Rosetta energy function (ref2015). Returns total score, per-residue energies, and energy breakdown.",
"parameters": {
"type": "object",
"properties": {
"pdb_path": {
"type": "string",
"description": "Path to input PDB file"
},
"score_function": {
"type": "string",
"default": "ref2015",
"description": "Rosetta score function name"
}
},
"required": [
"pdb_path"
]
}
},
{
"name": "rosetta_relax",
"description": "Relax a protein structure using Rosetta FastRelax. Returns relaxed PDB, energy change, and CA-RMSD.",
"parameters": {
"type": "object",
"properties": {
"pdb_path": {
"type": "string",
"description": "Path to input PDB file"
},
"nstruct": {
"type": "integer",
"default": 1,
"description": "Number of relaxation trajectories"
},
"score_function": {
"type": "string",
"default": "ref2015",
"description": "Rosetta score function name"
}
},
"required": [
"pdb_path"
]
}
},
{
"name": "rosetta_interface_score",
"description": "Compute interface energy metrics for a protein complex using Rosetta. Returns dG_separated, dSASA, interface hbonds, and packing stats.",
"parameters": {
"type": "object",
"properties": {
"pdb_path": {
"type": "string",
"description": "Path to complex PDB file"
},
"chains": {
"type": "string",
"default": "A_B",
"description": "Chain grouping, e.g. 'A_B' or 'AB_C'"
},
"score_function": {
"type": "string",
"default": "ref2015",
"description": "Rosetta score function name"
}
},
"required": [
"pdb_path"
]
}
},
{
"name": "rosetta_design",
"description": "Fixed-backbone sequence design using Rosetta PackRotamers + MinMover. Composite convenience tool (hidden in benchmark mode).",
"parameters": {
"type": "object",
"properties": {
"pdb_path": {
"type": "string",
"description": "Path to input PDB file"
},
"chains": {
"type": "string",
"default": "A_B",
"description": "Chain grouping for interface detection"
},
"fixed_positions": {
"type": "array",
"items": {
"type": "integer"
},
"description": "1-indexed positions to keep fixed"
},
"score_function": {
"type": "string",
"default": "ref2015",
"description": "Rosetta score function name"
}
},
"required": [
"pdb_path"
]
}
},
{
"name": "predict_structure_boltz",
"description": "Predict protein structure using Boltz (fast alternative to AF2/ESMFold). Returns predicted PDB, pLDDT, and pTM scores.",
"parameters": {
"type": "object",
"properties": {
"sequence": {
"type": "string",
"description": "Amino acid sequence to predict structure for"
},
"model": {
"type": "string",
"default": "boltz2",
"description": "Model name (default: boltz2)"
},
"num_samples": {
"type": "integer",
"default": 1,
"description": "Number of structure samples"
}
},
"required": [
"sequence"
]
}
},
{
"name": "predict_affinity_boltz",
"description": "Predict binding affinity for a protein complex using Boltz. Returns affinity score, predicted structure, and confidence metrics.",
"parameters": {
"type": "object",
"properties": {
"sequences": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of amino acid sequences, one per chain"
},
"model": {
"type": "string",
"default": "boltz2",
"description": "Model name (default: boltz2)"
}
},
"required": [
"sequences"
]
}
}
]