Rosetta FastRelax Protein Structure Optimization

FastRelax is an important module for optimizing the structure of Rosetta. It can be used to eliminate unreasonable conformations in the crystal structure, optimize the structure of point mutation design, and compare the energy of multiple different structures. Under the Rosetta force field, the FastRelax module searches for the optimal conformation of a given three-dimensional structure at the local energy barrier through multiple iterations of amino acid side chain rearrangement and energy minimization calculations. In each iteration, the program pulsatingly increases and decreases the weight of the van der Waals repulsive force, causing the side chain conformation to continuously collapse and expand, enabling it to escape from the local energy region and enter a new energy minimum point.

Calculation principle of FastRelax

Calculation principle of FastRelax

In fact, the essence of FastRelax is to execute the RelaxScript script we defined. The RelaxScript script consists of multi-step simulated annealing (Ramp_repack_min), and each annealing step contains three steps: weight climbing, amino acid side chain rearrangement, and energy minimization. Weight climbing includes adjusting the van der Waals force repulsion term, energy minimization threshold, and coordinate restriction weights. In addition, FastRelax supports user-defined additional restriction parameters and MoveMap to control the degree of freedom of the skeleton and side chains.

FastRelax basic parameter control

FastRelax can only accept a PDB file or a silent file containing multiple structures, and a relax parameter file is required during operation. Create a basic parameter file here and save it as general_relax_flags. At this time, FastRelax will optimize the structure according to the default setting parameters.

# Control output;

  • -nstruct 1000 # Number of generated models
  • -out:path:pdb ./tutorial_output # Path to output PDB file
  • -out:path:score ./expected_output # The path of the output score file

Control sampling

-relax:default_repeats 5 # Control the number of external loops, the default is 5, can be set to 15 loops, the search on the energy surface is more thorough.

-score:weights ref2015 # Use ref2015_cart when setting the scoring function/double space used

Format and meaning of RelaxScript

The default relax script is as follows:

  • repeat 15
  • ramp_repack_min 0.02 0.01 1.0
  • ramp_repack_min 0.250 0.01 0.5
  • ramp_repack_min 0.550 0.01 0.0
  • ramp_repack_min 1 0.00001 0.0
  • accept_to_best
  • endrepeat

Brief description of options:

reapeat: Set the number of simulated annealing cycles, override the -relax:default_repeats option;

ramp_repack_min: used to specify the proportion of ramp adjustment, energy minimization threshold, and coordinate limit intensity of each ramp_repack_min;

accept_to_best: Represents the best energy conformation (the step of full weight);

enrepeat: concluding remarks, no special meaning.

The specific meaning of the above example script: A total of 15 simulated annealing cycles are performed, and each simulated annealing includes 4 ramp_pack_min processes. During these 4 optimizations, the van der Waals repulsive force scores increased in turn: 2%, 25%, 55% and 100%. The threshold of energy minimization also increases successively: 0.01, 0.01, 0.01, 0.00001, and the intensity of the coordinate restriction is continuously attenuated from 1.0, 0.5, 0.0, and 0.0, with greater freedom of operation. Finally, output the lowest energy among all conformations.


  • Note 1: Energy minimization threshold: When the energy difference of each step in energy minimization is less than the threshold range, it is considered that the energy minimum point has been reached/approximately.
  • Note 2: The actual value of the Van der Waals repulsive force scoring item is related to the weight of the scoring function, so the adjustment is a percentage during Relax annealing.
  • Note 3: Under normal circumstances, there is no need to change the script content, this is only used to explain the meaning of script control.
* For Research Use Only.