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.
This could be of use perhaps: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.HthP
Verstuurd vanaf mijn iPhoneHi 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 sgtbxsg = 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 haveto 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 intocctbx.Ralf
From: David Waterman <dgwaterman@gmail.com>
To: cctbxbb@phenix-online.org
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
cctbxbb@phenix-online.org
http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________
cctbxbb mailing list
cctbxbb@phenix-online.org
http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________
cctbxbb mailing list
cctbxbb@phenix-online.org
http://phenix-online.org/mailman/listinfo/cctbxbb