ResidueProperties: VariantTypes are now enums instead of strings
NEWS: Similar to what I did with properties, **`VariantType`s are now `enum`s
and the variant state of a given `ResidueType` is now stored in a vector of
Booleans indexed by said `enum`s.**
This is Part IIA of my refactoring of `ResidueType` properties in Rosetta.
**Done:**
- [x] Variant status stored in `ResidueProperties` as `vector1< bool >` and
indexed by `VariantType`.
- [x] Auto-code-generation script renamed and refactored to generate multiple
files.
- [x] String-look-ups removed from ~170 files.
- [x] ~90 topology and patch files modified to reflect name-changes to
`VariantType`s that would conflict with properties.
- [x] Added new unit tests.
- [x] Fixed any broken unit tests.
- [x] Fixed any broken integration tests.
- [x] Added way to handle on-the-fly `VariantType`s. (IMO, they should be
avoided, but it is allowed here for backward compatibility.)
- [x] Moved variant matching functions out of `ResidueType` and into `util.cc`
and thoroughly refactored them.
**Still To-Do:**
- [ ] Refactor more central code that still relies on string-look-ups. (Much
of the code involving switching from one variant to another involves
making a list of all the `VariantType` strings in the before and after
states and comparing them to select an appropriate `ResidueType`. I
will fix this shortly.)
Most of the "Still To-Do" is complete or nearly complete. I am trying to
confirm that numeric changes in SWA and SWM integration tests are not
something about which to worry. I thus decided to break this merge into two
parts. If you are curious as to the progress, see pull request #56 on GitHub.
----------------------------------------
Unit test status: Pass
Integration test status: 4 tests change
inverse_rotamer_remodel, enzdes, Enzrevert_xml: output changes explaining
custom VariantTypes
carbohydrates: output changes to ResidueType::show()