Merge pull request #2569 from RosettaCommons/aleaverfay/spades_performance_bugfix
Moving forward with a non-inner-loop-disrupting Spades implementation
Spades introduced a read into the options system in the inner-inner-innermost loop, looking at the options system billions of times. This is slow, yes, but it also disproportionately slowed down the multithreaded build.
The goal that spades is seeking is to have water not desolvate. That's actually easier to implement by adjusting the LK parameters of a new atom type used only by water: "OW". When the Spades flags are on the command line, OW's LK_DGFREE and LK_VOLUME are set to 0. This commit removes billions upon billions of read accesses into the options system -- but I understand from @jklai that there are others that ought to be removed. In particular, the reads in inline_atom_pair_energy.hh really need to be removed.
Be warned: if previously you looked for the atom whose atom-type was "OH" in a water residue, that atom's type is now "OW"
There are a lot of cosmetic integration test changes caused by the addition of a new atom type. There are two integration test changes where a full-atom pose is being scored by the centroid "vdw" term, and the addition of a new fullatom atom type causes this centroid score to change. These are weird tests.
There are two trajectory changes for the hydrate protocol that I can explain quite easily: before, the fa_sol term was turned off for water scoring, but now water derivatives. Oops! Now fa_sol is off for both scoring and derivatives.