Re: [cctbxbb] coordinates -> space group + matrices
Hi Kris, your questions isn't simple and the solution isn't straightforward. The functionality you are looking for isn't implemented in the cctbx. You are right in your assumption that most of what you need is already available, but there are missing pieces. Given a unit cell (your primitive vectors), the cctbx can give you the corresponding highest point-group symmetry (lattice symmetry) in a very robust way, but there is nothing to loop over the compatible space groups and to check if the symmetry operations are compatible with the coordinates. There are some programs out there which do this. I think Ton Spek's PLATON for example. The Superflip program (google) determines the symmetry from a P1 map. There is also J. Appl. Cryst. (2005). 38, 237-238 and J. Appl. Cryst. (1998). 31, 922-928. There may be more. I haven't followed the developments very closely. An idea that has been floating around in my mind for a long time is to use the fast translation function. Make a map given your coordinates, loop over all space group, use the fast translation function to find the origin. This is implemented in phenix.hyss. It should be relatively easy to adapt this implementation for your purpose. You'd get scores (correlation coefficients) instead of yes/no answers. This could be useful to uncover approximate symmetry, but I'm just guessing. If you want to try implementations yourself, I'd be happy to answer specific questions. Ralf ____________________________________________________________________________________ Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545469
Ralf, thanks for your reply as well. Let me see if I understand. Since I can get the lattice symmetry easily, I assume cctbx can give me the point group symmetry operations for the lattice. Then I "just" need to cycle through at most 48 matrices to see which are compatible with my coordinates. Assuming I can find that subset, cctbx can easily tell me the final space group, right? (The answer may be along the lines of correlation coefficients, but that's alright.) The problems then are, 1. What basis are the point group symmetry matrices for the lattice in? 2. What about translations? Am I right in thinking that the P1 map solves the second problem? If I find all the space groups, down to P1, that contain a subset of my point group symmetry operations and try all the space group operations in them again my coordinates, that solves the problem right?. Can cctbx help me with that? I'm still not sure about the first issue. I guess one of the crystallography tomes must define a unique way to represent my coordinates for a given space group such that the group operations are also in that basis? How about cctbx helping me with that? Thanks again for all the help. I am happy to do some coding work on this myself, but first I need to understand things better. Best regards. On Sep 17, 2007, at 11:53 PM, Ralf W. Grosse-Kunstleve wrote:
Hi Kris, your questions isn't simple and the solution isn't straightforward. The functionality you are looking for isn't implemented in the cctbx. You are right in your assumption that most of what you need is already available, but there are missing pieces. Given a unit cell (your primitive vectors), the cctbx can give you the corresponding highest point-group symmetry (lattice symmetry) in a very robust way, but there is nothing to loop over the compatible space groups and to check if the symmetry operations are compatible with the coordinates. There are some programs out there which do this. I think Ton Spek's PLATON for example. The Superflip program (google) determines the symmetry from a P1 map. There is also J. Appl. Cryst. (2005). 38, 237-238 and J. Appl. Cryst. (1998). 31, 922-928. There may be more. I haven't followed the developments very closely. An idea that has been floating around in my mind for a long time is to use the fast translation function. Make a map given your coordinates, loop over all space group, use the fast translation function to find the origin. This is implemented in phenix.hyss. It should be relatively easy to adapt this implementation for your purpose. You'd get scores (correlation coefficients) instead of yes/no answers. This could be useful to uncover approximate symmetry, but I'm just guessing. If you want to try implementations yourself, I'd be happy to answer specific questions. Ralf
Tonight's top picks. What will you watch tonight? Preview the hottest shows on Yahoo! TV. _______________________________________________ cctbxbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/cctbxbb
participants (2)
-
Kris Andersen
-
Ralf W. Grosse-Kunstleve