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 &quot;vector oriented&quot; 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.<div>

<br></div><div>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.</div>

<div><br></div><div>I had a quick look through absences.py, but as I&#39;m just starting out with cctbx I need a strong coffee and a bit more time to achieve familiarity.</div><div><br></div><div>Best wishes</div><div><div>

<br>-- David<br>
<br><br><div class="gmail_quote">On 4 June 2011 21:12, Petrus Zwart <span dir="ltr">&lt;<a href="mailto:phzwart@lbl.gov">phzwart@lbl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div bgcolor="#FFFFFF"><div>This could be of use perhaps:</div><div><br></div><div><a href="http://cci.lbl.gov/cctbx_sources/mmtbx/scaling/absences.py" target="_blank">http://cci.lbl.gov/cctbx_sources/mmtbx/scaling/absences.py</a></div>


<div><br></div><div>I use it in xtriage for spacegroup determination. I&#39;m not sure what your application is you have in mind, it might nit be suitable of course.</div><div><br></div><div>Hth</div><div>P</div><div><br>


</div><div><br><br>Verstuurd vanaf mijn iPhone</div><div><br>Op Jun 4, 2011 om 13:04 heeft &quot;Ralf W. Grosse-Kunstleve&quot; &lt;<a href="mailto:rwgk@yahoo.com" target="_blank">rwgk@yahoo.com</a>&gt; het volgende geschreven:<br>

<br></div><div><div></div><div class="h5">
<div></div><blockquote type="cite"><div><div style="color:#000;background-color:#fff;font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt"><div><span>Hi David,</span></div><div><span><br></span></div>


<div><span>cctbx does not include lists of reflection conditions as you find them in the International Tables.<br></span></div><div><span><br></span></div><div><span>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:</span></div>


<div><br><span></span></div><div><span>� from cctbx import sgtbx</span></div><div><span>� sg = sgtbx.space_group_info(&quot;19&quot;).group()</span></div><div><span>� print <a href="http://sg.is" target="_blank">sg.is</a>_sys_absent((1,2,3))<br>


</span></div><div><span>� print <a href="http://sg.is" target="_blank">sg.is</a>_sys_absent((0,0,3))<br>
  </span></div>
<div><span><br>
  </span></div>
<div><span>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.</span></div><div><br><span></span></div><div><span>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</span></div>


<div><span>to find a practical motivation for spending the effort implementing this.</span></div><div><br></div><div>If you find that Phil has a solution, it would be nice to move it into</div><div>cctbx.</div><div><br></div>


<div>Ralf</div><div><br><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px"><div style="font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:10pt"><div style="font-family:times new roman, new york, times, serif;font-size:12pt">


<font face="Arial" size="2"><hr size="1"><b><span style="font-weight:bold">From:</span></b> David Waterman &lt;<a href="mailto:dgwaterman@gmail.com" target="_blank">dgwaterman@gmail.com</a>&gt;<br><b><span style="font-weight:bold">To:</span></b> <a href="mailto:cctbxbb@phenix-online.org" target="_blank"></a><a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>


<b><span style="font-weight:bold">Sent:</span></b> Saturday, June 4, 2011 3:28 AM<br><b><span style="font-weight:bold">Subject:</span></b> [cctbxbb] reflection conditions for non-standard settings<br></font><br>
<div>Hi,<div><br></div><div>I&#39;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.</div><div><br></div>
<div>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&#39;t know where to begin. Perhaps something in sgtbx?</div>




<div><br></div><div>Many thanks<br clear="all"><br>-- David<br>
</div>
</div><br>_______________________________________________<br>cctbxbb mailing list<br><a href="mailto:cctbxbb@phenix-online.org" target="_blank"></a><a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>

<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank"></a><a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
<br><br></div></div></blockquote></div></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>cctbxbb mailing list</span><br><span><a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a></span><br>


<span><a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a></span><br></div></blockquote></div></div></div>
<br>_______________________________________________<br>
cctbxbb mailing list<br>
<a href="mailto:cctbxbb@phenix-online.org">cctbxbb@phenix-online.org</a><br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
<br></blockquote></div><br></div></div>