「view this page in B3 βῆτα server」

Revisions №58451

branch: master 「№58451」
Commited by: Andrew Leaver-Fay
GitHub commit link: 「cdd128a4fbe90dfa」 「№1085」
Difference from previous tested commit:  code diff
Commit date: 2016-02-11 22:41:51

Merge pull request #1085 from RosettaCommons/aleaverfay/fix_matcher_chi_building_bug Fixing a problem in the matcher that assumes that the chi dihedrals are right next to each other along the sidechain. It could not handle sidechains where there were rigid segments (e.g. a benzene ring) between two chi dihedrals. The matcher would incorrectly try to build the chitip atom for chi i directly off of chi i-1, instead of off the rigid segment separating them. The fix is to simply add another HT between chitip atom i and chitip atom i+1 (where these HTs are the identify matrix if there are no rigid segments betwen chi dihedrals), and these HTs can be easily extraced from the ideal RT geometry at the construction of the UpstreamRestypeGeometry class. New unit test to ensure that the construction of an example "PBF" molecule is correct. Thanks, Sophia, for finding this bug. The other thing this pull request does it enforce the idea that the user has given a proper bin width for the euler angles -- and that is, that the bin width must evenly divide 180 degrees. So, for example, 10 degrees, and 9 degrees are fine bin widths, but 8 degrees is not. The math for finding neighbors in rotation space near the poles (theta near 180, or 0) requires an even binning. Perhaps this could be made to accommodate other bin sizes, but it seems hardly worth the effort. By "enforce", I mean that the matcher will throw an exception if the euler angle bin width does not evenly divide 180. So, perhaps, previously acceptable command lines will no longer work. At least the error message instructs the user how to modify their inputs.

...