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

Revisions №60264

branch: master 「№60264」
Commited by: Rocco Moretti
GitHub commit link: 「0d056a2e35ffe67b」 「№3277」
Difference from previous tested commit:  code diff
Commit date: 2018-06-21 15:40:04

Merge pull request #3277 from RosettaCommons/roccomoretti/PDB_xyzvector_fix Fixes for xyzVector normalization in PDB loading There's two main issues here, both related to Stub::from_four_points(). * With the PDB components, there's a number of (perfectly) colinear residues. These fail in Icoor assignment, as we attempt to grab a cross-product of two colinear vectors * I fixed this by tweaking Stub::from_four_points() itself. The docs just guarantee that the second stub coordinate is within the a/b/c plane. When a/b/c are colinear, any arbitrary orthogonal vector will satisfy this requirement, so I pull out an arbitrary one. * When there are co-incident adjacent atoms, fill_missing_atoms can choke when it tries to build based on a zero length vector. * I fixed this by altering AtomICoor::build() -- we're already tweaking things slightly here, and I'm of the opinion that an arbitrarily build atom is better than a hard crash. Note that in both cases I've taken the approach of applying arbitrary (small) tweaks to the vectors, rather than crashing with a zero-length error.