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 <phzwart@lbl.gov> wrote:
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.

Hth
P



Verstuurd vanaf mijn iPhone

Op Jun 4, 2011 om 13:04 heeft "Ralf W. Grosse-Kunstleve" <rwgk@yahoo.com> 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 <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