-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reindex refls_for_sym to reference setting in dials.symmetry #2183
Reindex refls_for_sym to reference setting in dials.symmetry #2183
Conversation
Currently in dials.symmetry, if the Laue group is set to Auto, and the supplied data are not in the canonical setting for a given space group, they are not reindexed before being passed to `run_systematic_absences_checks`. This leads to a failure in identifying the appropriate screw axes. This commit adds an additional call to `_reindex_experiments_reflections` which should fix this (bug).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for spotting and fixing this. I had a look through the symmetry code and I don't think anything else needs changing for the other code paths, so this looks good to be merged in.
Thanks for this bug fix - I've managed to reproduce the bug (and demonstrate the fix) using the "x4wide" dataset in
The correct space group for this should be P 43 21 2, however dials.symmetry has incorrectly found P 42 21 2. After applying your bug fix, dials.symmetry does now find the correct space group (or rather, its enantiomorphic equivalent):
I'll look into adding a test for this bug fix. |
It seemed like a bug to me. Glad you all concur. Props to @dagewa for sharing that P 21 dataset. It was super helpful. |
This reverts commit 21c1e96.
@rjgildea It looks like changing procrunnner to subprocess caused issues for the windows test job, so I have reverted that commit. It would be great to get this PR in now, and I noticed we haven't started the procrunner -> subprocess conversion in dials tests (only xia2), so probably best to leave that for now and do that as a separate PR on the whole codebase another time. |
Currently in dials.symmetry, if the Laue group is set to Auto, and the supplied data are not in the canonical setting for a given space group, they are not reindexed before being passed to `run_systematic_absences_checks`. This leads to a failure in identifying the appropriate screw axes. This commit adds an additional call to `_reindex_experiments_reflections` which should fix this (bug). Test bugfix on x4wide dataset Co-authored-by: Kevin Dalton <kmdalton@pop-os.localdomain> Co-authored-by: Richard Gildea <rjgildea@users.noreply.github.com>
In #2042, @dagewa shared a data set which should index as
P 1 21 1
. However,dials.symmetry
reportsP 1 2 1
. Looking into this, I realized that the underlying cause is that the reflection table passed into the systematic absence search has not been reindexed to the canonical setting of this Laue group. This leads todials.symmetry
searching the wrong crystallographic basis for absent reflections. I believe this PR fixes the bug, but I need some more familiar eyes on the problem.I don't think I have the ability to assign reviewers. Can @jbeilstenedmands and perhaps @rjgildea have a look?