
This toolkit is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.
Background
BindCraft (Pacesa et al., 2025) addresses the problem of generating protein binders against a target without high-throughput experimental screening or curated structural templates, reporting experimental success rates of 10 to 100 percent across diverse targets. FreeBindCraft preserves the identical AlphaFold2-hallucination and ProteinMPNN design logic — the hallucination losses, MPNN sampling, and AF2 validation are unchanged — while swapping out the proprietary scoring backend. The pipeline chains four stages per design trajectory. First, an AlphaFold2 hallucination step initialises a binder of randomly sampled length adjacent to the frozen target and optimises the binder logits by gradient descent against a weighted sum of structural losses (per-residue pLDDT, intra-binder and inter-chain PAE, intra-binder and interface contact counts, interface pTM, a helicity bias, and a radius-of-gyration term). Second, the hallucinated backbone is handed to ProteinMPNN (Dauparas et al., 2022), which samples foldable sequences while optionally holding interface residues fixed. Third, each refined complex is re-predicted from scratch with AlphaFold2 multimer (Jumper et al., 2021) as an independent validation. Fourth, the validated complex is relaxed and scored — where BindCraft uses PyRosetta, FreeBindCraft uses an OpenMM-based relaxation protocol (PDBFixer cleanup, FASPR side-chain packing, implicit solvation) and computes interface metrics with FreeSASA, Biopython, and the sc-rs shape-complementarity binary.PyRosetta-free metrics
FreeBindCraft computes the AlphaFold2 confidence metrics (pLDDT, pTM, interface pTM, ipSAE, PAE) and the geometry-based interface metrics — shape complementarity (sc-rs), buried surface area and SASA fractions (FreeSASA), interface-residue counts, secondary-structure composition, hotspot/target/binder RMSDs, and pre- and post-relaxation clash counts (geometric, Biopython) — for real. Metrics that depend on Rosetta’s energy function and lack an open-source equivalent (interface binding energydG, dG/dSASA, Binder_Energy_Score, PackStat, and hydrogen-bond counts) are emitted upstream as placeholders only to satisfy default filters; this toolkit does not surface them, so every metric returned by freebindcraft-design is a real measurement.
Learning Resources
- cytokineking/FreeBindCraft. The PyRosetta-free fork, its
--no-pyrosettainstall/runtime flag, and the technical overview of the open-source scoring replacements. - martinpacesa/BindCraft (Correia Lab, EPFL). The upstream BindCraft repository, command-line interface, and reference filter configurations.
Tools
FreeBindCraft Binder Design (freebindcraft-design)
Designs one or more de novo protein binders against a user-supplied target. The tool takes a target structure together with the target chain identifiers, an optional hotspot residue list, and a binder length range, and runs the FreeBindCraft pipeline until either the requested number of accepted designs has been produced or the configured trajectory limit has been reached. The output carries each accepted binder as an amino-acid sequence, an OpenMM-relaxed target-binder complex Structure with per-residue pLDDT in the B-factor column, and the per-design PyRosetta-free metrics used by the filter check.API Reference
Input: FreeBindCraftInput
Input: FreeBindCraftInput
Structure object, or a dict in the shape produced by Structure.model_dump(mode='json').chains."1-10,56,78"). None or empty = unrestricted.(min, max) binder length range. Maps to BindCraft’s lengths.max_trajectories attempts (whichever comes first).Config: FreeBindCraftConfig
Config: FreeBindCraftConfig
2stage, 3stage, 4stage, greedy, mcmc"C".omit_AAs.use_i_ptm_loss=True).use_rg_loss=True).use_termini_distance_loss=True).weights_helicity per trajectory.num_seqs / max_mpnn_sequences are inert.False (upstream default) = unlimited; positive int = cap."Average_pLDDT"); values are upstream filter dicts (e.g. {"threshold": 0.85, "higher": True}).True is coerced to 1 and False to 0.None (default) waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.Output: FreeBindCraftOutput
Output: FreeBindCraftOutput
FreeBindCraftInput.number_of_final_designs).max_trajectories).len(designs)).| Metric | Type | Range | Availability |
|---|---|---|---|
avg_plddt | float | 0.0 to 1.0 | |
avg_ptm | float | 0.0 to 1.0 | |
avg_iptm | float | 0.0 to 1.0 | |
avg_pae | float | ≥ 0.0 | |
avg_ipae | float | ≥ 0.0 | |
avg_ipsae | float | 0.0 to 1.0 | |
avg_iplddt | float | 0.0 to 1.0 | |
avg_ss_plddt | float | 0.0 to 1.0 | |
avg_binder_plddt | float | 0.0 to 1.0 | |
avg_binder_ptm | float | 0.0 to 1.0 | |
avg_binder_pae | float | ≥ 0.0 | |
dSASA | float | ≥ 0.0 | |
interface_sasa_pct | float | 0.0 to 100.0 | |
interface_hydrophobicity | float | 0.0 to 100.0 | |
surface_hydrophobicity | float | 0.0 to 1.0 | |
shape_complementarity | float | 0.0 to 1.0 | |
n_interface_residues | float | ≥ 0.0 | |
binder_helix_pct | float | 0.0 to 100.0 | |
binder_betasheet_pct | float | 0.0 to 100.0 | |
binder_loop_pct | float | 0.0 to 100.0 | |
interface_helix_pct | float | 0.0 to 100.0 | |
interface_betasheet_pct | float | 0.0 to 100.0 | |
interface_loop_pct | float | 0.0 to 100.0 | |
hotspot_rmsd | float | ≥ 0.0 | |
target_rmsd | float | ≥ 0.0 | |
binder_rmsd | float | ≥ 0.0 | |
unrelaxed_clashes | float | ≥ 0.0 | |
relaxed_clashes | float | ≥ 0.0 |
Applications
This tool is appropriate for de novo binder generation against a structurally characterised target where no curated antibody scaffold or pre-existing binder is available, and where a permissive license is required for hosting or commercial use. Representative applications include designing miniprotein binders against cell-surface receptors, generating binders that occlude a specific epitope or active site through hotspot targeting, and producing structurally diverse binder candidates for downstream therapeutic engineering.Usage Tips
- Provide a hotspot residue list when targeting a defined epitope. Set
target_hotspot_residuesto a comma-separated list of 1-indexed residue positions on the target structure, with ranges supported (for example"1-10,56,78"). Without hotspots the binder may land anywhere on the target surface. binder_lengthsdefaults to(65, 150)residues, matching the upstream default. Binders below approximately 50 residues are effectively peptides and the AlphaFold2 multimer signal weakens; binders above approximately 200 residues introduce significant GPU memory and runtime costs.weights_helicitycontrols the helix bias during hallucination. The default of-0.3is a mild anti-helix bias because AlphaFold2 tends to over-produce alpha-helical bundles. Set a positive value to encourage helices, or setrandom_helicity=Trueto randomise the sign per trajectory.optimise_beta=True(the default) adds extra hallucination iterations and AlphaFold2 recycles when a trajectory looks beta-heavy. Keep this enabled for any target that may favour beta-strand interfaces, such as immunoglobulin folds.filter_overrideslets you relax or tighten individual filter thresholds. Pass a dict keyed by upstream metric name (such as"Average_i_pTM") and valued as a filter dict ({"threshold": 0.45, "higher": True}). Lower the interface pTM or shape complementarity threshold first if zero designs are accepted on a hard target. Note that filters on PyRosetta-only metrics (Average_dG, H-bond counts,Average_PackStat) pass trivially against placeholder values, so design selection is driven by the AlphaFold2 confidence, shape-complementarity, SASA, and clash metrics.- Production runs use
number_of_final_designs=100andmax_trajectories=False. For a smoke test, set both to1together with reduced iteration counts (for examplesoft_iterations=10,temporary_iterations=5,hard_iterations=2,greedy_iterations=2). - The output is iterable. Iterating directly over the returned
FreeBindCraftOutputyields each acceptedFreeBindCraftDesignin turn, andlen(result)returns the number of accepted designs. - Complementary tools cover adjacent design tasks. Reach for
proteinmpnn-samplewhen an existing target-bound binder backbone only needs sequence redesign,rfdiffusion3-designwhen only a backbone is required without an accompanying sequence, andbindcraft-design(the PyRosetta variant) when Rosetta interface energetics are required for academic, non-commercial use.
Toolkit Notes
These apply to the FreeBindCraft tool in this toolkit (freebindcraft-design).
- The pipeline runs on a single GPU per trajectory and benefits from 32 to 80 GB of GPU memory. AlphaFold2 multimer dominates the memory footprint and scales with the combined target plus binder length. To parallelise across multiple GPUs, run multiple instances of
freebindcraft-designconcurrently through aToolPool. - OpenMM relaxation is GPU-accelerated and runs noticeably faster than PyRosetta’s CPU-bound FastRelax, so a FreeBindCraft trajectory typically completes faster than the equivalent BindCraft trajectory.
- The first run downloads approximately 5.5 GB of AlphaFold2 weights together with the ColabDesign and FreeBindCraft repositories. Subsequent runs reuse the cached weights, which are shared with the proto-tools
alphafold2toolkit.