I'm interested in seeing how the energies output by RosettaDock relate to other docking software, so I want to try to take a set of dimer complex PDBs of which I know the score from the other software, and see what the scores would be if produced in RosettaDock.
It seems I can use the scoring application (score.linuxgccrelease) to calculate the total Rosetta score of the complexes, which is a good start, but the important score for discriminating complexes in RosettaDock seems to be the interface score (I_sc), which doesn't appear to be provided by the scoring application.
Even the prepacking application (docking_prepack_protocol.linuxgccrelease) gives different energy terms, but not I_sc.
Is there a way to calculate I_sc of a complex without doing any docking? Thanks for your help.
David J. Rosenman
Postdoc at University of Delaware
Docking appears to calculate I_sc through a function src/protocols/docking/metrics.cc::calc_interaction_energy, which is not used much elsewhere. This implements a "pull-apart" calculation, where the two sides are pulled apart and rescored without packing.
The dG_separated field reported by InterfaceAnalyzer (https://www.rosettacommons.org/docs/latest/application_documentation/analysis/interface-analyzer) is spiritually the same calculation. Make sure you do NOT pack with InterfaceAnalyzer, as docking appears not to.
This sort of calculation may be futile. Energy functions are exquisitely sensitive to small atom position differences: they are sensitive to more digits than the PDB file lets you retain. Rosetta will often report different scores within a PDB file at the end of a run, versus just re-scoring the exact same PDB, because the file format isn't precise enough. Also, Rosetta will replace any atoms (usually hydrogens) whose names it does not like, and the new positions may affect scoring. The comparisons are valid, but you may need to be an expert in both peices of software to ensure you've compared exactly the same structures.
If you're interested in what Rosetta thinks about a protein-protein interface, I'd recommend the InterfaceAnalyzer (https://www.rosettacommons.org/docs/latest/application_documentation/analysis/interface-analyzer) , which will compute a number of statistics on the interface. The best equivalent to I_sc would be the dG_separated value output.
It's not *exactly* the same as the direct result of RosettaDock docking, but generally speaking people often do a final post-processing with InterfaceAnalyzer. If you want a more direct comparison with a particular protocol result, you may need to specify which particular protocol you're interested in, and how you're intending on post processing them.
One big caveat is that if you're starting with structures which haven't been optimized in Rosetta, the Rosetta scores won't necessarily be all that great. The Rosetta energy function is somewhat rugged, and small (sub-Angstrom) changes in atom positioning can have a large effect on the calculated energy. For this reason, I might suggest doing something like an all-heavy-atom constrained relax or a minimization to prepare the structure in the Rosetta energy function (https://www.rosettacommons.org/docs/wiki/rosetta_basics/preparation/preparing-structures). That will likely be a better guage of what the score will be from an actually Rosetta docking protocol.
Thank you both for your responses, this is very helpful.