> ## Documentation Index
> Fetch the complete documentation index at: https://proto.evodesign.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# FreeBindCraft Binder Design

> PyRosetta-free de novo protein binder design against a target (FreeBindCraft).

<div class="page-hero">
  <img class="page-hero-banner" src="https://proto-bio.github.io/proto-assets/images/generator/freebindcraft/hero.png" alt="FreeBindCraft Binder Design" />
</div>

<Note>
  **License:** FreeBindCraft uses MIT for code and CC-BY-4.0 for model weights and may require explicit attribution when utilized. Please refer to the [code license](https://github.com/cytokineking/FreeBindCraft/blob/master/LICENSE) and [model weights license](https://github.com/google-deepmind/alphafold#model-parameters-license) for full terms.
</Note>

<p class="entity-disclaimer">This generator 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.</p>

<hr class="entity-rule" />

<input type="radio" name="tab-generator-freebindcraft" id="none-generator-freebindcraft" class="tab-radio-input" />

<input type="radio" name="tab-generator-freebindcraft" id="tools-generator-freebindcraft" class="tab-radio-input" defaultChecked />

<input type="radio" name="tab-generator-freebindcraft" id="source-generator-freebindcraft" class="tab-radio-input" />

<input type="radio" name="tab-generator-freebindcraft" id="cite-generator-freebindcraft" class="tab-radio-input" />

<div class="tool-tab-bar"><span class="tool-tab-wrap"><label for="tools-generator-freebindcraft" class="tool-tab tab-open badge-tools"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="7" height="7" x="3" y="3" rx="1" /><rect width="7" height="7" x="14" y="3" rx="1" /><rect width="7" height="7" x="14" y="14" rx="1" /><rect width="7" height="7" x="3" y="14" rx="1" /></svg> Tools Used</label><label for="none-generator-freebindcraft" class="tool-tab tab-close badge-tools"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="7" height="7" x="3" y="3" rx="1" /><rect width="7" height="7" x="14" y="3" rx="1" /><rect width="7" height="7" x="14" y="14" rx="1" /><rect width="7" height="7" x="3" y="14" rx="1" /></svg> Tools Used</label></span> <span class="tool-tab-wrap"><label for="source-generator-freebindcraft" class="tool-tab tab-open badge-source"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</label><label for="none-generator-freebindcraft" class="tool-tab tab-close badge-source"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</label></span> <span class="tool-tab-wrap"><label for="cite-generator-freebindcraft" class="tool-tab tab-open badge-cite"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Cite</label><label for="none-generator-freebindcraft" class="tool-tab tab-close badge-cite"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Cite</label></span></div>

<a href="/docs/tools/binder-design/freebindcraft" class="tab-panel tools-panel tools-panel-single" data-tab="tools-generator-freebindcraft">
  <div class="tools-single-card">
    <img noZoom src="https://proto-bio.github.io/proto-assets/images/tool/freebindcraft/social.png" alt="" loading="lazy" />
  </div>

  <span class="panel-goto-btn tools-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg> Go to Tool Page</span></span>
</a>

<a href="https://github.com/evo-design/proto-language/blob/d3b7822f74ea64747cc751a3b2ab1aa6b799ac47/proto_language/generator/freebindcraft_generator.py#L97" target="_blank" class="tab-panel source-panel" data-tab="source-generator-freebindcraft">
  <div class="source-info">
    <img noZoom src="https://github.com/evo-design.png?size=40" class="source-avatar" width="36" height="36" />

    <span class="source-path">evo-design/proto-language<span class="source-subpath">/proto\_language/generator/freebindcraft\_generator.py</span></span>
  </div>

  <span class="panel-goto-btn source-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> View source</span></span>
</a>

<div class="tab-panel cite-panel" data-tab="cite-generator-freebindcraft">
  <div class="cite-code-wrap">
    ```bibtex theme={null}
    @article{pacesa2025bindcraft,
      title={One-shot design of functional protein binders with BindCraft},
      author={Pacesa, Martin and Nickel, Lennart and Schellhaas, Christian and Schmidt, Joseph and Pyatova, Ekaterina and Kissling, Lucas and Barendse, Patrick and Choudhury, Jagrity and Kapoor, Srajan and Alcaraz-Serna, Ana and Cho, Yehlin and Ghamary, Kourosh H. and Vinu{\'e}, Laura and Yachnin, Brahm J. and Wollacott, Andrew M. and Buckley, Stephen and Westphal, Adrie H. and Lindhoud, Simon and Georgeon, Sandrine and Goverde, Casper A. and Hatzopoulos, Georgios N. and G{\"o}nczy, Pierre and Muller, Yannick D. and Schwank, Gerald and Swarts, Daan C. and Vecchio, Alex J. and Schneider, Bernard L. and Ovchinnikov, Sergey and Correia, Bruno E.},
      journal={Nature},
      volume={646},
      number={8084},
      pages={483--492},
      year={2025},
      month={Aug},
      publisher={Springer Science and Business Media LLC},
      doi={10.1038/s41586-025-09429-6},
      issn={1476-4687}
    }

    @misc{freebindcraft2025,
      title={FreeBindCraft: BindCraft with optional, PyRosetta-free scoring and relaxation},
      author={{cytokineking} and {FreeBindCraft contributors}},
      year={2025},
      howpublished={\url{https://github.com/cytokineking/FreeBindCraft}},
      note={MIT-licensed fork of BindCraft replacing PyRosetta with OpenMM, FreeSASA, and sc-rs}
    }
    ```
  </div>

  <span class="panel-goto-btn cite-copy-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Copy citation</span></span>
</div>

<div class="entity-contributors"><span class="entity-contributors-label">Generator contributors</span><span class="entity-contributors-people"><a class="entity-contributor" href="https://github.com/dguo8412" target="_blank" rel="noopener" title="dguo8412: 2 commits"><img noZoom class="entity-contributor-avatar" src="https://avatars.githubusercontent.com/u/46211285?v=4&s=64" alt="" loading="lazy" /><span class="entity-contributor-login">dguo8412</span></a></span></div>
De novo protein binder generator using the PyRosetta-free FreeBindCraft pipeline.

Hallucinates a binder against a frozen target with AlphaFold2, refines it with ProteinMPNN,
re-validates with AlphaFold2, and scores the interface with OpenMM/FreeSASA/sc-rs. The assigned
segment's length is the binder length, and its proposal count is the number of designs requested.
Each accepted design's sequence, predicted complex, and metrics are written onto a proposal; if
the pipeline returns fewer designs than requested, the proposal pool is truncated to what it
produced, and an empty result raises.

## API Reference

<div class="api-model-section api-model-static api-config-section">
  <div class="api-model-header"><span class="api-model-badge api-config-badge">Config</span><span class="api-model-name">FreeBindCraftGeneratorConfig</span><a href="https://github.com/evo-design/proto-language/blob/d3b7822f74ea64747cc751a3b2ab1aa6b799ac47/proto_language/generator/freebindcraft_generator.py#L42" target="_blank" class="func-table-btn func-source-btn api-model-source"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</a></div>

  Configuration object for FreeBindCraftGenerator.

  Bundles the target specification with the full FreeBindCraft pipeline settings. The binder
  length and the number of designs are NOT set here — they are derived from the assigned segment
  (length = the segment's length; one design per proposal slot) at sample time.

  <ParamField path="target_structure" type="Structure | string" required>
    Target to design a binder against (file path, PDB/CIF content, or Structure).
  </ParamField>

  <ParamField path="target_chain" type="string" default="A">
    Chain ID(s) of the frozen target (comma-separated for multi-chain).
  </ParamField>

  <ParamField path="target_hotspot_residues" type="string">
    Comma-separated 1-indexed target residues the binder must contact (e.g. '1-10,56').
  </ParamField>

  <ParamField path="binder_name" type="string" default="binder">
    Filename prefix recorded on each accepted design.
  </ParamField>

  <ParamField path="design_config" type="FreeBindCraftConfig">
    FreeBindCraft pipeline settings; the program seed overrides its seed field.
  </ParamField>
</div>

## Usage

```python python icon="python" theme={null}
>>> from proto_language.core import Segment
>>> from proto_language.generator import FreeBindCraftGenerator, FreeBindCraftGeneratorConfig
>>> config = FreeBindCraftGeneratorConfig(target_structure="/path/to/target.pdb", target_chain="A")
>>> gen = FreeBindCraftGenerator(config)
>>> segment = Segment(length=80, sequence_type="protein")
>>> gen.assign(segment)
>>> gen.sample()  # writes one accepted binder design per proposal
```

## Metadata

| Property                 | Value                    |
| ------------------------ | ------------------------ |
| Key                      | `freebindcraft`          |
| Class                    | `FreeBindCraftGenerator` |
| Category                 | `mutation`               |
| Input Type               | `starting_sequence`      |
| Uses GPU                 | `True`                   |
| Supported Sequence Types | `protein`                |
| Allows Empty Start       | `True`                   |
