Skip to content

Repository files navigation

nf-binder-design

DOI | Documentation

Nextflow pipelines for de novo protein binder design.

RFdiffusion workflow

  • RFdiffusion → ProteinMPNN → AlphaFold2 initial guess → Boltz-2 refolding
  • RFdiffusion3 → MPNN → RosettaFold3 → Boltz-2 refolding
  • RFdiffusion Partial Diffusion → Boltz-2 refolding
  • BindCraft (in parallel across multiple GPUs)
  • Germinal (antibody/nanobody design in parallel across multiple GPUs)
  • BoltzGen (design proteins and peptides binders, in parallel across multiple GPUs)
  • "Boltz Pulldown" (an AlphaPulldown-like protocol using Boltz-2)

⚠️ Note: Components of these workflows use RFdiffusion and BindCraft, which depend on PyRosetta/Rosetta, which is free for non-commercial use. Commercial use requires a paid license agreement with University of Washington: https://github.com/RosettaCommons/rosetta/blob/main/LICENSE.md and https://rosettacommons.org/software/licensing-faq/


⚠️ NOTE: Major change in v0.2.0 - individual workflows have been shifted into workflows/, all launched via a single main.nf entry point with the --method flag. To modify any existing wrapper scripts, you should be able to simply use nextflow run Australian-Protein-Design-Initiative/nf-binder-design --method <method>. and keep other arguments the same. ⚠️


Documentation


Full documentation at: https://australian-protein-design-initiative.github.io/nf-binder-design/

An agent skill is included for AI-assisted setup, configuration, and execution of the pipeline workflows.


Quickstart

Setup

Install Nextflow.

Pull the workflow:

nextflow pull Australian-Protein-Design-Initiative/nf-binder-design

AI Agent Skill

An agent skill is included at .agents/skills/nf-binder-design/ to help AI coding agents set up, configure, and run the pipeline. Install it into your project with skills:

npx skills add Australian-Protein-Design-Initiative/nf-binder-design --skill nf-binder-design

Running on a local GPU workstation

A minimal RFdiffusion binder design run against the PD-L1 example target (requires a local GPU and Apptainer):

# Make a working directory and download a target PDB
mkdir -p pdl1-rfd/input
cd pdl1-rfd
wget -O input/PDL1.pdb https://raw.githubusercontent.com/Australian-Protein-Design-Initiative/nf-binder-design/refs/heads/main/examples/pdl1-rfd/input/PDL1.pdb

# Run the workflow
nextflow run Australian-Protein-Design-Initiative/nf-binder-design \
  --method rfd \
  --input_pdb 'input/*.pdb' \
  --contigs "[A18-132/0 65-120]" \
  --hotspot_res "A56" \
  --rfd_n_designs=4 \
  -profile local \
  -resume

Running on an HPC cluster

mkdir -p pdl1-rfd/input
cd pdl1-rfd
wget -O input/PDL1.pdb https://raw.githubusercontent.com/Australian-Protein-Design-Initiative/nf-binder-design/refs/heads/main/examples/pdl1-rfd/input/PDL1.pdb

nextflow run Australian-Protein-Design-Initiative/nf-binder-design \
  --method rfd \
  --input_pdb 'input/*.pdb' \
  --contigs "[A18-132/0 65-120]" \
  --hotspot_res "A56" \
  --rfd_n_designs=4 \
  -profile slurm \
  -resume

You'll almost certainly need to create a custom configuration file for your HPC cluster. See conf/platforms/ for specific HPC platform configuration examples, eg -profile slurm,m3.

Commandline options

For any workflow, list available options with --help:

nextflow run Australian-Protein-Design-Initiative/nf-binder-design \
  --method rfd --help

Available methods: rfd, rfd3, rfd_partial, bindcraft, germinal, boltzgen, boltz_pulldown, foldseek

Any --params option can alternatively be defined in a params.json file and passed with -params-file params.json.

For running tests and other contributor notes, see Development.

More examples

See the examples directory and workflow documentation for other methods (including Germinal), HPC configs, and production-scale runs.

License

MIT

Note that some software dependencies of the pipeline are under less permissive licenses - in particular, RFdiffusion and BindCraft use Rosetta/PyRosetta which is only free for Non-Commercial use.

Releases

Packages

Contributors

Languages