Merge pull request #3393 from RosettaCommons/jadolfbr/glycan_benchmarking
Symmetry and Glycan QOL improvements
General
======
- Made symmetry finally work with Glycans properly
- Keep the `GlycanTreeSet` up-to-date with the symmetric state of the pose.
- Made symmetric minimization work with Branched torsions (thanks @fdimaio for help tracking this down!)
- Added serialization routines to `SymmetricEnergies`
- Added `update_noncannonical_connection` function to `SymmetricConformation`
- Added a version of `get_score_function()` that takes a pose in order to give the correct `ScoreFunction` for non-global symmetry setup.
- Cleaned up `MinMover` to not edit the movemap based on omega in the `inner_minimization` call and instead take a const `MoveMap`
- Make the `MoveMapFactory` give a movemap based on the symmetric state of the pose
Bug Fixes
=======
- Fix `DensityFitMetric` and `DensityFitSelector`
- Update noncannonical connections after the virtual to real transition for a residue
New Classes (with unit tests)
==================
- `PerResidueGlycanLayerMetric` outputs the layer number of each glycan residue selected
- `MasterSubunitSelector` selects the master subunit in a symmetric pose. If the pose is not symmetric, returns all residues.
New options
=========
- Added `-output_only_asymmetric_subunit` option that extracts the asymmetric unit during PoseToStructFileRep conversion. No this does not work for silent files
- Added options to RMSD SimpleMetrics to allow a superposition on the subset of residues being calculated.