Merge pull request #1368 from RosettaCommons/jadolfbr/carbohydrates/glycan_relax
This PR covers some general code, bug fixes, and new code for antibodies, carbohydrates, and GlycanRelax.
General
======
- _NeighborhoodResidueSelector_ completely refactored. Cleaned up. Simplifiied. Code that loop modeling used for getting neighbor residues, generalized and moved to core/select/util. This is now integrated with the _NeighborhoodResidueSelector_ to speed up neighbor calculation immensely (if scoring).
- _ResidueSelector_ code_template cleaned up, fixed where needed.
- Can now set a _ResidueSubset_ (```vector1<bool>```) in addition to a _ResidueSelector_ for the _OperateOnResidueSubset_ TaskOp
- Can set an option in _OperateOnResidueSubset_ to flip the subset. So, for example, if your Selector chooses neighbor residues on each apply, you can operate on everything else.
Bug Fixes
========
Disulfide link records properly skipped during read-in if output. This was causing a number of issues in being able to re-read in PDBs with disulfides that were output by Rosetta when using -write_pdb_link_records, which we use for carbohydrates
Carbohydrates
===========
- Adds a _GlycanResidueSelector_ to core. This can be used to both get ALL carbohydrates in a pose, or the glycans from specific root residues, like the carbohydrates given a particular ASN, or the branching residues from a particular carbohydrate residue in a tree.
- Adds support for Side-Chain packing to GlycanRelax, with the default to pack all glycan residues and neighbors within the MC protocol, and at our final optimization step. Resfile support also given, as well as TF support through RosettaScripts. This enables OH group packing now that @JWLabonte has optimized this, as well as design of protein side-chains during the protocol.
Antibodies
========
- Adds a _CDRResidueSelector_ for selecting residues of particular CDRs. @aleaverfay
- Adds an _AntibodyRegionSelector_ for selecting residues of particular antibody regions, such as the antigen, framework, or CDRs
Unit Tests
=======
Added for all new _ResidueSelectors_