Merge pull request #4787 from RosettaCommons/BYachnin/bonusmap_for_ResidueTypeLinkingConstraint
Allow more complex behaviour with ResidueTypeLinkingConstraints
This class previously applied a bonus/penalty to scoring if two residues were the same identity. Reviewing the code, it looks like the intention was to expand this to allow for alternative pairing options, but this was never implemented. There were constructors that appeared to be unused and untested in the code base that had behaviour that didn't seem to be working.
We've updated this class to allow apply a custom bonus/penalty applied for any of the 400 possible residue pairs. A fully customized option is obtained by passing a std::map. The "legacy" behaviour is maintained by constructing this map based on user-supplied options.
All existing tests pass, and new unit tests have been added to test the new (and previously untested) functionality. Getters and setters have also been added to improve PyRosetta interface.
Thanks to @roccomoretti for the review!