aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2010-08-26 16:58:32 +0200
committerThomas White <taw@physics.org>2012-02-22 15:26:56 +0100
commit554a74fc0214c3fe4cc042526bad858ee730fc8c (patch)
tree07ffab496968d03b23c54d150a25dfe6bd93f44d /doc
parentd45677c6b6c671676c5487cb25fb01d7f7d02702 (diff)
Update docs a bit
Diffstat (limited to 'doc')
-rw-r--r--doc/process_hkl6
-rw-r--r--doc/symmetry48
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