In Foldit, "score" usually refers to the score for a protein when it's in a certain position or pose. The higher the score, the better the pose.
Players also have a "global score", a either as a soloist or an evolver. This is different than a protein score.
Protein scoreEditThe score of a protein reflects how well-folded the protein is. Scoring in Foldit is based on Rosetta, protein modeling software originally developed at the University of Washington.
The score for each segment is a combination of scoring for these score parts, also called subscores:
- Clashing: the infrequency of 2 electrons trying to occupy the same energy state
- Packing: how well-hidden the backbone is, compared to its environment
- Hiding: how well-hidden hydrophilic / hydrophobic sidechains are, appropriate to designated behavior
- Bonding: whether the sidechain has achieved its optimal bonding angle
- Backbone: correct peptide linkages, allowing the sidechain to achieve its lowest energy
- Sidechain: correct sidechain / sidechain snap position
- Reference: reference energy; based on the amino acid; see also get segment score part
- Disulfides: correct disulfide couplings
- Ideality: based on bond lengths, angles, and torsions of a residue
- Density: alignment to the electron density guide
- Other: minor terms not included in any of the other scores.
You can find the scores for each of these, without fractions, by hovering the mouse over a segment and pressing the tab key. This will bring up a dialog showing the segment score. Scores with a value of zero are not shown.
Some recipes can give you all the partial scores.
The term "global score" is also used for the points used to rank players and groups. See Foldit rankings for more on how these points are assigned.
The score for a segment can be broken down the "score parts" or "subscores" listed above. The score parts are described in more detail below.
The clashing score part is related to atom distance. If atoms are too close, their electron clouds repel each other.
Refers to the extent that atoms are surrounded by other atoms. This is related to van der Waals interactions (see van der Waals force).
Hiding is related to the hydrophobicity of the side chain. In general, hydrophobic (orange) side chains need to point inward, while hydrophilic (blue) side chains need to point outward. The general trend is roughly consistent with the size of the side chain, so you're better off burying a tryptophan and leaving an arginine on the outside.
Backbone Refers to the configuration of backbone atoms. Directly affected by dihedral angles (see Dihedral angle ).
The Related to the statistical distribution of side chain configurations based on the backbone configuration. A more negative score means that the configuration is rarer in nature, and thus less likely to be correct.
The reference score part is the "reference energy" of each amino acid. This is perhaps the least intuitive part of the score function; its main use is for design puzzles as a "normalization" factor, to correct for the bias for larger side chains (which are not necessarily more stable in nature).
The reference score part can't be changed.
The ideality score part is based on how close the bond lengths, angles, and torsions of the peptide bond bonds between residues are to ideal values. Torsion angles depend on atoms of preceding and following residues, so the ideality subscores of neighboring residues affect each other.
The density score part is present in electron density puzzles. It measures how well the segment is covered by the electron density cloud.
Foldit recipes written in Lua can get the overall score, a segment's score, and a segment's individual score parts.
In the Lua v2 interface, the functions [Foldit_Lua_Functions#current.GetEnergyScore|current.GetEnergyScore]] and current.GetScore return the overall score for the "current" pose. (The two functions return different results only if current.GetExplorationMultiplier returns a value other than zero.)
The function current.GetSegmentEnergyScore returns the score of a particular segment in the "current" pose. The function current.GetSegmentEnergySubscore returns the value of a specific score part (subscore) for a specific segment in the "current" pose. The score parts are referenced by name. The function puzzle.GetPuzzleSubscoreNames returns a table containing the names of the possible score parts for the puzzle.
In the Foldit Lua v2 interface, the "current" functions work with the current position of the protein. Other poses accessed this way include "recentbest", "creditbest", and "absolutebest". These poses have the same scoring functions as "current".
There's no way to determine the impact of any filter bonus or penalty on an individual segment. The GetScore and GetEnergyScore results depend on whether filters are enabled or disabled at the moment. The behavior.GetFiltersDisabled can be used to determine whether all filters are enabled or disabled. The function behavior.SetFiltersDisabled can be used to enable or disable all filters. Individual filters can also be enabled or disabled in the Foldit user interface.
In the original Foldit Lua "v1" interface, score functions only worked on the current pose. The functions get_score, get_segment_score, and get_segment_score_part are available in the Lua v1 interface.