Relax

Relax is the main protocol for simple all-atom refinement of structures in the ROSETTA force-field. Relax does not do extensive refinement and only searches the local conformational space around the starting structure. Relax is thus mainly used in conjunction with more aggressive sampling protocols like fragment assembly (abinitio) and loop modelling. To evaluate different conformations based on their ROSETTA all-atom score one usually has to apply relax. It is further advisable to apply relax only to previously idealized structures. Idealization avoids that score differences arise due to non-ideal geometry (e.g., at the position of former chain-breaks introduced during an aggressive sampling stage and removed by loop closing).

Algorithm

The basic principle of the relax protocol is to interlace packing of sidechains with gradient based minimization of torsional degrees of freedom. A single relax cycle consist of 4 rounds of repacking followed by gradient base minimization in torsion space. The repulsive contribution to the total energy is scaled to 2%, 25%, 55% and 100% in the 1st, 2nd, 3rd and last round, respectively. Relax can be run with a different number of cycles (default is 5) and from all cycles performed the best scoring pose is selected.

Flags

-relax:fast Run 5 relax cycles and report best scoring pose.
-relax:thorough Run 15 relax cycles and report best scoring pose
-relax:default_repeats Set the number of relax cycles for relax:fast
-relax:script run the relax-script (see below) in this file and disregard all other cmd-line parameters (i.e., fast/thorough/default_repeats)

For Experts: Relax Script File

The cmd-line flags -relax:fast and -relax:thorough allow a coarse-grained control of the relax protocol, which is sufficient for most users. If more control is required, nevertheless, it can be implemented via a relax-script (-relax:script).
The relax script uses a simple script language defined in protocols/relax/FastRelax.cc. In this script language the standard relax protocol of 5 relax cycles is written as

 
repeat 5
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

A simple script that only places the sidechains in an optimal configuration without doing any further backbone minimization would be

repack
accept_to_best

Commands for relax script file

repeat <loopcount> starts a section to be repeated <loopcount> times - end the block with "endrepeat".
Nested loop are NOT supported.
endrepeat is the end marker of a loop. loops may *NOT* be nested! (this is not a programming language. well it is. but a very simple one.)
accept_to_best compares the energy of the current pose and the best_pose and replaces the best pose with the current pose if it's energy is lower.
load_best Load the best_pose into the current working pose, replacing it.
load_start Load the starting pose into the current working pose, replacing it.
scale:<scoretype> <scale> Scales the scoretype's default value by whatever the scale number is. For ex, scale:fa_rep 0.1 will take the original fa_rep weight and set it to 0.1 * original weight.
rscale:<scoretype&gt <lower limit> <upper limit> Like scale, but picks a random number between the limits to multiply by
weight:<scoretype&gt <weight> Sets the weight of the scoretype to whatever the weight number is. ALSO CHANGES DEFAULT WEIGHT. This is so in weight, scale, scale routines the scale will be using the user-defined weight, which seems to make more sense. For ex, weight:fa_rep 0.2 will take set fa_rep to 0.2
show_weights Outputs the current weights. If a parameter is not outputted, then its weight is 0. Most useful when redirecting stdout to a file, and only one input structure.
coord_cst_weight <scale> ets the coordinate_constraint weight to <scale>*start_weight. This is used when using the commandline options -constrain_relax_to_native_coords and
switch: torsion/cartesian Switches to the torsion minimizer (AtomTreeMinimzer, dfp minimizer) or the cartesian minimizer (CartesianMinimizer, lbfgs). Obviously ignores command line flags.
repack Triggers a full repack
min <tolerance> Triggers a dfp minimization with a given tolernace (0.001 is a decent value)
ramp_repack_min <scale:fa_rep> <min_tolerance> [ Causes a typical ramp, then repack then minimize cycle - i.e. bascially combines
the three commands scale:fa_rep, repack and min (and possible coord_cst_weight)

These two command scripts are equivalent:

scale:fa_rep 0.5
repack
min 0.001

and

ramp_repack_min 0.5 0.001

sampling protocol:

application: