Files
RFdiffusion/tutorials/protein_binder_design/README.md
2026-04-24 11:46:58 -07:00

6.8 KiB

Files for the Protein Binder Design with RFdiffusion Video Tutorial

This directory contains example outputs, helper scripts, and supporting materials for a video tutorial on how to use RFdiffusion to design de novo protein binders with motif scaffolding of an existing natural binder. In this tutorial, the design goal is to generate toxin-inspired pore-blocking binders for an ion channel while preserving key functional residues from a natural peptide toxin.

You can find the corresponding video tutorial on the Rosetta Commons YouTube channel.

This tutorial is based on research conducted by Diego Lopez Mateos in the Yarov-Yarovoy lab at UC Davis, as described in the following paper: Harnessing Deep Learning Methods for Voltage-Gated Ion Channel Drug Discovery.

Directory Contents

Part1-Diffusion

This subdirectory contains the shell script that was used in the video tutorial to generate the designed protein binder backbones. The configuration options in this script are discussed in the video. For additional details on the syntax and parameters available in RFdiffusion, see the RFdiffusion documentation.

Also included:

  • channel-toxin.pdb: the relaxed, trimmed and cleaned input PDB file used for the tutorial. See Input File Preparation below for more details.
  • outputs-test: a directory containing 10 example output PDB and TRB files.

Part2-Backbone-assessment

The subdirectory contains two analysis scripts, analyze_backbones.py and filter_backbones.py, that are used in the video to discern which generated backbones best satisfy the design criteria.

analyze_backbones.py computes backbone-level metrics such as:

  • compactness
  • terminus positioning relative to the interface
  • secondary-structure content

filter_backbones.py uses the above metrics to select only the designs that pass user-defined thresholds.

Also included:

  • metrics.csv: the data generated by analyze_backbones.py for the structures created in Part 1 of the tutorial.
  • outputs-test: a directory containing 10 example output PDB and TRB files.

This portion of the tutorial uses STRIDE for to analyze the backbones. See STRIDE Installation below to learn how to obtain it on your own computing system.

Input File Preparation

This section provides a brief overview of how the tutorial input structure was prepared. The specific example shown in the video is tailored to this ion channel-toxin system, but the overall logic is broadly useful for other RFdiffusion binder-design projects. At the same time, it is important to emphasize that input preparation is not a one-size-fits-all procedure. The exact decisions made during preparation depend strongly on the biological target, the target structure being used and the design objective.

1. Structural optimization/relaxation

As a first step, the starting experimental structure (PDB: 7SSZ) containing the ion channel Kv1.3 with the pore-blocking toxin Shk was optimized using Rosetta before being used as input for RFdiffusion. Because this was a cryo-EM structure, we used an electron-density refinement workflow based on this Rosetta tutorial to guide the relaxation step using the experimental density map. This is a useful strategy when working from cryo-EM models, since it can improve local geometry while still maintaining consistency with the experimental data.

2. Manual trimming of the structure

After refinement, the structure was manually trimmed in ChimeraX to retain only the regions relevant for the design task. In this specific case, this involved removing regions that were not needed for pore-blocking binder design, including the voltage-sensor domains, the intracellular portions of the channel, and the Fab attached to the toxin. The final trimmed model retained only the pore-domain region of the channel together with the toxin chain used for motif scaffolding.

This trimming step was done manually because it is highly target-dependent and requires some structural understanding of the system being designed against. In other applications, the exact regions to keep or remove may be very different depending on the architecture of the target, the intended binding site, and whether structural support regions need to be preserved.

3. Cleaning and renumbering the PDB

The final preparation step was cleaning and renumbering the PDB. This is generally useful for maintaining consistent residue numbering and removing heteroatoms or other records that may interfere with downstream tools. For this tutorial, we used the clean_pdb.py script distributed with Rosetta.

Example command:

python ~/Applications/rosetta.binary.m1.release-371/main/tools/protein_tools/scripts/clean_pdb.py 7SSV-relaxed.pdb ABCDH

In this example, ABCDH specifies the chains to retain in the cleaned structure. Running this command would generate an output file named 7SSV-relaxed_ABCDH.pdb containing the cleaned model. Chains A, B, C, and D correspond to the four channel subunits, since the ion channel is a homotetramer, and chain H corresponds to the toxin chain.

Together, these three steps produced the final tutorial input structure: a refined, trimmed, cleaned, and renumbered channel-toxin complex suitable for RFdiffusion motif-scaffolding runs.

STRIDE installation

The backbone-assessment part of the tutorial uses STRIDE to assign secondary structure and quantify helix, sheet, coil, and turn content in the generated backbone models. If STRIDE is not already installed on your system, one convenient option is to build it directly from the GitHub repository.

Example installation:

git clone https://github.com/heiniglab/stride
cd stride/
make stride

You can then test whether the program was built successfully by running:

./stride

If the installation completed correctly, STRIDE should print its usage information, indicating that the executable is ready to use. Depending on your system and workflow, you may also wish to add the executable to your PATH or call it explicitly using its full path from within your analysis scripts.

Authors

The materials in this directory were created by Diego Lopez Mateos, Matthew Hvasta, and Kush Narang for the Tutorial Hackathon track of the 2026 Megathon event hosted by Rosetta Commons. The video tutorial was edited by Austin Seamann.