Merge pull request #4368 from RosettaCommons/jadolfbr/glycan_benchmarking2
General
=====
- Fix `Or_combine` and `And_combine` functions
- Fix `get_score_function` to correctly use the local options collection
- Fix `set_weight_if_zero` by comparing the 0 delta instead of actual 0.
- Fix `extract_asymmetric_unit` to be much more robust, using `create_subpose` as a guide but keeping the additional functionality.
- Fix `RMSDMetric` to extract the asymmetric unit if the pose is symmetric and the ref/native is not. This works fine for RMSD but failed for superposition. The fixes here and with `extract_asymmetric_unit` now allow glycans poses to be properly extracted and superimposed.
- Add options to allow RMSDMetrics to use a different set of residue_selectors for superposition vs RMSD.
- Add a warning to `superimpose_pose` that warns when a user is trying to superimpose a symmetric pose with an asymmetric pose (even with a correct `AtomID_map`). It won't crash, but it will give you a garbage superposition.
- Fix flip of HNQ for residues across a side-chain branch point
Glycans
=====
- Add option to force `sugar_bb` 0 (if using get_score_function)
- Add ability to control `kT` properly
- Add conformer probability option for root of glycan only
- Allow `sugar_bb` to be set on cmd-line or through score functions without overriding to 1.0 - only set to 1.0 if it had not been set manually
- Add `match_window_one` option for glycans that is used for benchmarking so that the total number of rounds is the same for various sampling techniques.
Beta Scorefunction
==============
- Make -beta score function work for JD3 apps
- Add serialization methods to core beta energy classes that are stored in the pose