RFOptimization (RFO) takes a protein design you already have, such as a binder from RFdiffusion3 with a sequence from MPNN Sequence Design, and improves it through repeated sequence optimization and structure prediction. It does not generate designs from scratch; it makes a starting design better.
How it works
You give one starting complex and name the chain to optimize. Each cycle picks one of two structure steps at random. The RoseTTAFold3 step searches the designed sequence with gradients from the model's confidence scores, and keeps the structure of the best step. The Boltz-2 step predicts the complex as it stands. Then LigandMPNN redesigns the designed chain, keeping the residues next to the partner chain (RoseTTAFold3 cycles) or the confidently predicted stretches (Boltz-2 cycles) fixed, and the redesigned complex starts the next cycle. RFO is part of the RosettaCommons Foundry, released under a BSD license; Boltz-2 and LigandMPNN are MIT-licensed.
Inputs
- Starting complex: a PDB or mmCIF file, or a PDB entry fetched by its ID, with the designed chain (a standard protein with complete backbone atoms) and at least one partner chain, which can be a protein, DNA, RNA or a ligand. The first partner chain is the one the interface is scored against. Ions and ligands inside a chain are read as entities of their own. The complex may hold up to 500 residues and ligand atoms in all, until the tool has been benchmarked.
- Sequence for the designed chain (optional): written onto the chain's backbone before the first cycle, for example a sequence from MPNN Sequence Design for a generated backbone. In a workflow the optional
sequenceinput does this from an upstream sequence set. - Partner alignments (optional): an A3M or FASTA file for a partner protein chain, used by both predictors. Without one the chain is predicted from its sequence alone. The designed chain takes none, because its sequence changes every cycle.
- Cycling: the number of cycles (up to 20), the share of cycles that use RoseTTAFold3, its search steps per cycle (up to 20) and objective, the Boltz-2 samples (up to 3), the LigandMPNN model and temperature, and a seed. The cycles and the search steps are capped together.
Outputs
predictions/: the predicted structure of every completed cycle as mmCIF.designs/: the complex each cycle handed to the next, and the starting complex.scores.csv: one row per cycle with the method that scored it, the interface ipTM and, where the method reports them, pTM, interface PAE, pLDDT, the search loss, the Boltz-2 ranking score and RMSD.sequences.fasta: the sequence each cycle scored, and a lastfinalsequence.summary.json: the settings, the chain map, every cycle and any warnings.
A run that stops early, because a step failed repeatedly or the time limit passed, still returns the cycles it completed, with a warning. In a workflow the designs port carries each cycle's structure with the interface ipTM as confidence.
Reading the results
- The two methods score differently. RoseTTAFold3 and Boltz-2 are different models, so a RoseTTAFold3 cycle and a Boltz-2 cycle cannot be compared by their numbers. The method is recorded for every cycle.
- Each score belongs to the sequence of its own structure, not to the sequence LigandMPNN writes after it.
- The final sequence has not been scored by any model. Check it with RoseTTAFold3 or Boltz-2 before using it.
- Confidence is not accuracy. A high ipTM means the models are confident about the interface, not that the binder works. Test designs in the lab.
Limits
- Mutations are limited to the 20 standard amino acids. Cyclic peptides, RoseTTAFold3 templates and more than one LigandMPNN sample per cycle are not offered.
- Every cycle loads its models again, so the run is slower than the prediction steps alone. Gradients through RoseTTAFold3 need a GPU with a lot of memory, so only L40s and larger GPUs are offered.
Related tools
RFdiffusion3, BoltzGen and FreeBindCraft generate designs to optimize, MPNN Sequence Design writes their sequences, and RoseTTAFold3 and Boltz-2 check the result.