You are here

Total Rama Score

2 posts / 0 new
Last post
Total Rama Score

Can anyone point to how the rama score is evaluated for ALL residues in a given run by a Rosetta application?

I have been looking through the src/core/scoring/Ramachandran* and src/core/scoring/methods/Ramachandran* code pieces and see in most places only the individual residue measurements ( eval_rama_score_residue() ). There is a void function in that goes through all residues (eval_rama_score_all() ), but this function is not called in any of the protocols or applications in Rosetta.

Is there a function within ScoringManager, ScoreTypeManager, or code further up in the hierarchy that that takes single (or double) residue energy methods and loops through all residues to apply the given ScoreType?

Or is there another way by which the rama scoretype is evaluated over the whole protein?

Post Situation: 
Thu, 2018-05-10 07:19

I think this was answered in an internal discussion, but for archival purposes:

See Leaver-Fay et al. Methods Enzymol ( for broad scale details on how the Rosetta scorefunction works.

The key thing is that the Rama energy term isn't responsible for iterating across the Pose in order to calculate the total score. Instead it's the ScoreFunction object (in the operator() method) which is responsible for iterating through the residues in the Pose and calling the scorefunction on each.

This makes things easier because when you do protocols like packing, the Packer can cache the residue energies and residue pair energies, and reuse them if the residue doesn't change. If all the scorefunction got was a lump sum for the entire protein, the energy terms would be doing a bunch of repeated work, recalculating scores for residues which didn't really change.

Thu, 2018-06-28 14:28