I am relaxing a pdb using fastrelax of rosetta_2013_week51 and I found something strange.
my 1st command line is:
./relax.linuxgccreleas ../rosetta_database/ -relax:constrain_relax_to_start_coords -relax:coord_constrain_sidechains -relax:ramp_constraints false -s test.pdb -ex1 -ex2 -use_input_sc -flip_HNQ -no_optH false -ignore_zero_occupancy false -overwrite -constant_seed -jran 1111111 -relax:fast
the energy of relaxed structure is -56.1966
the 2nd command line is:
./relax.linuxgccrelease -database ../rosetta_database/ -relax:constrain_relax_to_start_coords -relax:coord_constrain_sidechains -relax:ramp_constraints false -s test.pdb -ex1 -ex2 -use_input_sc -flip_HNQ -no_optH false -ignore_zero_occupancy false -overwrite -constant_seed -jran 1111111 -relax:script relax.txt
The script of relax.txt is
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
This one is mentioned as "A typical FastRelax script is: (this in fact is the default command script)"
energy of relaxed structure is -174.878
I also tried rosetta3.5, it has the similar problem(-relax:fast has higher energy output than -relax:script relax.txt, -127.836 vs -245.253)
I am confused by the different energy. I thought the script which repeat repack_min 5 times is equal to relax:fast but the results are different.
It's hard to say without seeing the before and after PDBs in each case, but at this point I'd guess the issue is the last column of your script.
That last column sets the constraint ramping protocol. The "-relax:ramp_constraints false" setting is a convenience option for people using the default script. If you're using a custom script, it will be ignored.
I'm guessing that the with-script specified runs have more backbone movement. Also, they won't have any constraint energy listed in the total score. The run without the script will have less backbone movement (when compared to the starting structure), and it will also have positive constraint energy terms added to the total score.
You can try re-running with your script, but with the last column as all 1.0, to see how that changes things. My guess it will be much closer to the result you get with the default script with -relax:ramp_constraints false
You are correct. The different is caused by -relax:ramp_constraints false. Without this option, I got the same result as 2nd command（-174.878).
So my next question is which command is better for relaxing pdb structures?
I think the command with -relax:ramp_constraints false is recommended on https://www.rosettacommons.org/manuals/archive/rosetta3.5_user_guide/dd/.... But it looks like without -relax:ramp_constraints false gave lower score. However, the RMSD between wild-type structure and relaxed structure( with -relax:ramp_constraints false) is much smaller (0.08A) than (without -relax:ramp_constraints false, 1.8 A).
You've summarized the situation in a nutshell. With always-on constraints (-relax:ramp_constraints false) you get lower RMSDs, but at the cost of not getting as low an energy as you would if you relaxed the constraints. If you allow the constraints to ramp off during the relax procedure, you can potentially find a lower energy structure which might be further away in RMSD.
The situation is encapsulated somewhat by Figure 1 of Nivon et al. ( http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0059004 ) - RMSD and energy is a trade-off. You can get a lower energy, but at the expense of a higher RMSD, and vice versa. How much weight you give each consideration will determine where you fall on that Pareto front, but you really can't optimize both simultaneously.
Which is "better" depends on what you're looking for. The recommendation at the link you give is to have always-on constraints because the purpose of that particular protocol is to get structures which don't deviate too much from the starting coordinates. That is, having a low RMSD was deemed to be more important than having the absolute lowest energy.
You're considerations may be different, though. For what you're doing you may want a lower energy structure, and may not mind if the RMSD wanders further from the starting structure. In that case you might consider changing the constraint strength and ramping parameters.