reflection conditions for non-standard settings
Hi, I'm new to cctbx and to this mailing list, so please let me first apologise if the answer to this question should be obvious, or lies in the archive. I want a list of general reflection conditions for all space groups and settings listed in the CCP4 file syminfo.lib. At first I thought I could get this information from the online version of ITC vol A, but I soon realised that only certain standard settings are included. To avoid deriving them all by hand from the symop and cenop lines, I wonder if there is a foolproof way I can get this information from cctbx, but I don't know where to begin. Perhaps something in sgtbx? Many thanks -- David
I've probably got some of the relevant code buried in Pointless (using cctbx ultimately), but I'd have to look into it Phil On 4 Jun 2011, at 11:28, David Waterman wrote:
Hi,
I'm new to cctbx and to this mailing list, so please let me first apologise if the answer to this question should be obvious, or lies in the archive.
I want a list of general reflection conditions for all space groups and settings listed in the CCP4 file syminfo.lib. At first I thought I could get this information from the online version of ITC vol A, but I soon realised that only certain standard settings are included. To avoid deriving them all by hand from the symop and cenop lines, I wonder if there is a foolproof way I can get this information from cctbx, but I don't know where to begin. Perhaps something in sgtbx?
Many thanks
-- David _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi David, cctbx does not include lists of reflection conditions as you find them in the International Tables. It is very easy and fast to derive the reflection condition for a given hkl directly from the symmetry operations. See the code near the top of cctbx/sgtbx/miller.cpp. This is what we use for all practical applications. For example: from cctbx import sgtbx sg = sgtbx.space_group_info("19").group() print sg.is_sys_absent((1,2,3)) print sg.is_sys_absent((0,0,3)) I have C code given to me by Maxim Larine and Slava Klimkovich in 1997 which computes the conditions, but it involves inefficient grid searches. I think a good solution would be to tabulate the conditions for the 230 reference settings and figure out the transformation law to obtain the conditions for arbitrary settings via a change of basis. But I yet have to find a practical motivation for spending the effort implementing this. If you find that Phil has a solution, it would be nice to move it into cctbx. Ralf
________________________________ From: David Waterman
To: [email protected] Sent: Saturday, June 4, 2011 3:28 AM Subject: [cctbxbb] reflection conditions for non-standard settings Hi,
I'm new to cctbx and to this mailing list, so please let me first apologise if the answer to this question should be obvious, or lies in the archive.
I want a list of general reflection conditions for all space groups and settings listed in the CCP4 file syminfo.lib. At first I thought I could get this information from the online version of ITC vol A, but I soon realised that only certain standard settings are included. To avoid deriving them all by hand from the symop and cenop lines, I wonder if there is a foolproof way I can get this information from cctbx, but I don't know where to begin. Perhaps something in sgtbx?
Many thanks
-- David
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
This could be of use perhaps:
http://cci.lbl.gov/cctbx_sources/mmtbx/scaling/absences.py
I use it in xtriage for spacegroup determination. I'm not sure what your
application is you have in mind, it might nit be suitable of course.
Hth
P
Verstuurd vanaf mijn iPhone
Op Jun 4, 2011 om 13:04 heeft "Ralf W. Grosse-Kunstleve"
Thanks for the suggestions. The application is for selection of rows in a
table of reflections where particular reflections are systematically absent.
The catch is that this is in a language (R) that is "vector oriented" and is
much more efficient at applying a single subset condition (derived from the
ITvA reflection condition) over the entire table in a vectorised operation
rather than explicitly looping through and checking each hkl. Variety is the
spice of life, etc.
So, I would need absence conditions for every setting. I have all the
standard conditions already. As was suggested, it does seem like it would be
a manageable amount of work to use the change of basis operations in
syminfo.lib to figure out the mapping between h, k and l in the standard
setting with h, k, and l in other settings and adapt the absence conditions
accordingly.
I had a quick look through absences.py, but as I'm just starting out with
cctbx I need a strong coffee and a bit more time to achieve familiarity.
Best wishes
-- David
On 4 June 2011 21:12, Petrus Zwart
This could be of use perhaps:
http://cci.lbl.gov/cctbx_sources/mmtbx/scaling/absences.py
I use it in xtriage for spacegroup determination. I'm not sure what your application is you have in mind, it might nit be suitable of course.
Hth P
Verstuurd vanaf mijn iPhone
Op Jun 4, 2011 om 13:04 heeft "Ralf W. Grosse-Kunstleve"
het volgende geschreven: Hi David,
cctbx does not include lists of reflection conditions as you find them in the International Tables.
It is very easy and fast to derive the reflection condition for a given hkl directly from the symmetry operations. See the code near the top of cctbx/sgtbx/miller.cpp. This is what we use for all practical applications. For example:
from cctbx import sgtbx sg = sgtbx.space_group_info("19").group() print sg.is_sys_absent((1,2,3)) print sg.is_sys_absent((0,0,3))
I have C code given to me by Maxim Larine and Slava Klimkovich in 1997 which computes the conditions, but it involves inefficient grid searches.
I think a good solution would be to tabulate the conditions for the 230 reference settings and figure out the transformation law to obtain the conditions for arbitrary settings via a change of basis. But I yet have to find a practical motivation for spending the effort implementing this.
If you find that Phil has a solution, it would be nice to move it into cctbx.
Ralf
------------------------------ *From:* David Waterman
*To:* [email protected] *Sent:* Saturday, June 4, 2011 3:28 AM *Subject:* [cctbxbb] reflection conditions for non-standard settings Hi,
I'm new to cctbx and to this mailing list, so please let me first apologise if the answer to this question should be obvious, or lies in the archive.
I want a list of general reflection conditions for all space groups and settings listed in the CCP4 file syminfo.lib. At first I thought I could get this information from the online version of ITC vol A, but I soon realised that only certain standard settings are included. To avoid deriving them all by hand from the symop and cenop lines, I wonder if there is a foolproof way I can get this information from cctbx, but I don't know where to begin. Perhaps something in sgtbx?
Many thanks
-- David
_______________________________________________ cctbxbb mailing list
[email protected] http://phenix-online.org/mailman/listinfo/cctbxbb http://phenix-online.org/mailman/listinfo/cctbxbb _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
participants (4)
-
David Waterman
-
Petrus Zwart
-
Phil Evans
-
Ralf W. Grosse-Kunstleve