diff options
author | Thomas White <taw@physics.org> | 2010-08-26 16:58:32 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2012-02-22 15:26:56 +0100 |
commit | 554a74fc0214c3fe4cc042526bad858ee730fc8c (patch) | |
tree | 07ffab496968d03b23c54d150a25dfe6bd93f44d /doc | |
parent | d45677c6b6c671676c5487cb25fb01d7f7d02702 (diff) |
Update docs a bit
Diffstat (limited to 'doc')
-rw-r--r-- | doc/process_hkl | 6 | ||||
-rw-r--r-- | doc/symmetry | 48 |
2 files changed, 34 insertions, 20 deletions
diff --git a/doc/process_hkl b/doc/process_hkl index e69de29b..b6411285 100644 --- a/doc/process_hkl +++ b/doc/process_hkl @@ -0,0 +1,6 @@ +process_hkl - data scaling and merging program +---------------------------------------------- + +This program takes as input the data stream from "indexamajig". It merges the +many individual intensities together to form a single list of reflection +intensities which are useful for crystallography. diff --git a/doc/symmetry b/doc/symmetry index 41ea3272..3b3ee124 100644 --- a/doc/symmetry +++ b/doc/symmetry @@ -2,17 +2,7 @@ How CrystFEL handles symmetry ----------------------------- Currently, only process_hkl and render_hkl understand symmetry (and render_hkl -only understands it when plotting a zone axis pattern). get_hkl does NOT -currently understand symmetry, which means you'll have to expand any molecular -model (the PDB) out to P1 to get the correct results. You can achieve that, for -example, by loading it into Mercury, turning on "Packing", and re-saving. -Alternatively, using CCP4: - -$ echo symgen P63 | pdbset xyzin model.pdb xyzout model-P1.pdb - -[ While on this subject, you'll probably also want to include hydrogens in the -model using something like: -$ echo HYDROGENS APPEND | hgen xyzin model.pdb xyzout model-with-H.pdb ] +only understands it when plotting a zone axis pattern). Symmetry definitions are included in src/symmetry.c. Point group definitions are required for merging and the display of merged results, but space groups are @@ -22,13 +12,16 @@ which happen to have values of zero. Each space group belongs to exactly one point group, which you can look up in the International Tables for X-Ray Crystallography. -Space groups would only be needed to make get_hkl handle symmetry properly, but -that hasn't been done yet, so symmetry.c just handles point groups for now. The -method used in symmetry.c is general to both point groups and space groups, even -though the code currently is not. +Please read doc/process_hkl for important information on how symmetry is used +during the indexing and merging procedures. + + +Adding a new point group +------------------------ Point groups are being added here as they are required, so it's likely that the -exact one you want hasn't been added yet. Here's how to add a new one: +exact one you want hasn't been added yet. Here's how to add a new one by +editing src/symmetry.c. First, expand the check_cond() function to include a description of the asymmetric reciprocal unit cell for the point group. Every reflection in the @@ -36,12 +29,12 @@ whole of reciprocal space must map onto exactly one reflection in the asymmetric unit cell so defined. The asymmetric cell is usually defined with positive h, k and l, but it doesn't really matter. Working out the required condition means visualising the cell and taking care to properly handle situations such as the -(000) reflection. Get this right, otherwise you'll go crazy when your symmetry -breaks in weird ways. +(000) reflection. Get this right, otherwise you'll go crazy when it breaks in +weird ways. -Now, expand the num_general_equivs() function. Given a point group, this +Next, expand the num_general_equivs() function. Given a point group, this function must return the number of equivalent reflections for a general -reflection, including the given reflection. High-symmetry reflections (usually +reflection, including the input reflection. High-symmetry reflections (usually ones with zeroes in their indices) have fewer equivalents, but the num_equivs() function will work this out for you. @@ -51,3 +44,18 @@ returns (by reference) the indices of the "n"th equivalent reflection. You just have to worry about the general position, because get_equiv() will work out the special positions for you. get_general_equiv() must return the original indices when idx=0. + + +The symmetry of the molecular model (the space group) +----------------------------------------------------- + +get_hkl does not currently understand symmetry, which means you'll have to +expand any molecular model (the PDB) out to P1 to get the correct results. You +can achieve that, for example, by loading it into Mercury, turning on "Packing" +and re-saving. Alternatively, you can do this using CCP4 with a command like: + +$ echo symgen P63 | pdbset xyzin model.pdb xyzout model-P1.pdb + +While on this subject, you might also want to include hydrogens in the model +using something like: +$ echo HYDROGENS APPEND | hgen xyzin model.pdb xyzout model-with-H.pdb |