Ndirax: find lattice using dirax
Ndirax is a GUI around the DIRAX program.
Usage:
ndirax [drx-file]
A window will come up that allows you to access the most frequently used
dirax options at the click of a button. The layout of this window is
top to bottom.
Pull-down menus
The file menu contains the options:
- Load .drx
-
Loads reflection or peaks from a ".drx" file, replacing all reflections that
were already loaded.
- Merge .drx
-
Loads reflection or peaks from a ".drx" file, adding them to the reflections that
were already loaded.
- Load .rmat
-
Load the unit cell from a ".rmat" file and reindex all reflections based
on this lattice.
- Quit
-
Quit the "ndirax" program
The "Option menu" contains 6 commands:
- Balloon help
-
Toggles the status of the balloon help in the program.
- Modify dirax settings...
-
Changes some of the parameters used by the "dirax" program to find the
unit cell.
- List reflections
-
Pops up a window listing all reflections with their assigned h/k/l's.
- Show kept cells
-
Pop's up a window showing all cells that were saved in this and previous
sessions of "ndirax" in the same project directory.
- Modify cellcompare settings
-
Allows you to edit the cell-comparison criteria used by "ndirax"'s kept
cells window.
- Remove fitting reflections
-
This option only works with recent (2000/08/16 or newer) versions
of dirax. It provides a new approach for finding twin lattices. The
standard approach tries to find a unit cell fitting the remaining
reflections, but it will use all reflections to make the final least
squares refinement of the unit cell found. Using this new option, one
can remove all fitting reflections from the set in dirax, and continue
using only the non-fitting reflections.
This option will ask you whether you want to go on to find a cell
using the remaining reflections. This is normally what you'd want.
The parameters used by dirax are:
- Level fit criterion
-
This number expresses how tightly a reflection must fit a specific
lattice direction before it is taken as contributor. The default value
of 1000 (reflections must fit the lattice to 1 in 1000) normally works
for good KappaCCD data of a well calibrated detector. Problematic data
might need increase (more accurate) or decrease (less accurate) of
this parameter to find the cell.
- Index fit leniency
-
Expresses how much worse than the "Level fit" a reflection can fit the
final lattice to be still assigned a "H" status and be used in unit
cell refinement. E.g. a reflection with an error of 1/300 will not be
considered fitting at level fit 1000, index fit 2 (1000/2=500 is more
tight than 1 in 300). If there are strange effects in the data that
make it difficult to get accurate peak positions, this value might
need to be raised above the default value of 2. But be careful,
because increasing it too much might result in fractioned crystals
being described by one average lattice. This may not be what you
want (see below).
- Longest cell axis
-
The longest axis considered. This number should be set to
approximately 2 times the longest axis expected in the unit
cell. Lowering this number to the appropriate value increases the
efficiency of the algorithm (speed and accuracy). Even though this
limit exists, unit cells with longer axes might appear in the result
list.
- Number of triangles to use
-
The "dirax" algorithm uses triangles of 3 reflection positions to
calculate direct vectors. The number of triangles used in the
calculation is selected by this parameter. The default (2600 =
26*25*24/6) is to use all triangles for up to 25 reflections. If you
have many more reflections, you can increase this number to increase
the chance to find the unit cell, at approximately linear cost in CPU
time.
- Axis equal criterion
-
To transform a cell to standard setting, axis lengths are considered
identical if their difference is smaller than this number.
- Angle equal criterion
-
To transform a cell to standard setting, unit cell angles are considered
identical if their difference is smaller than this number.
The cellcompare settings comprise:
- Length criterion
-
Two axes are considered identical by the comparison algorithm if their
relative difference is less than this number.
- Angle criterion
-
Two axes are considered identical by the comparison algorithm if their
relative difference is less than this number.
- Matrix criterion
-
Two cells are considered to have the same volume by the comparison
algorithm if the relative difference of the two volumes is less than
this number.
The main window
Below the menu bar there are three buttons that start the lattice
finding algorithm in different ways:
- Use all reflections read from the file. This is the normal start.
- Use all currently fitting reflections. This can be used to
"refine" the unit cell found at an earlier stage.
- Use all non-fitting reflections. This can be done to find a twin
lattice.
The resulting potential cells are displayed in a scrollable list in
the "Index solutions" panel. Marked with a green button is the
solution with the highest figure of merit from 'dirax'. This solution
is automatically selected. Some statistics are shown in the "Chosen
solution" panel. The chosen solution is further searched for lattice
symmetry: this is shown in the "Cell Reduction" panel. The 'coinciding
axis criterion' determining what is considered lattice symmetry can be
changed just above.
Once you are happy with the unit cell, it can be written to an rmat file
using the "Save as .rmat" button at the bottom. The "Keep for later"
button adds the cell to the bottom of the "Kept cells" window.
Kept Cells
The "Kept cells" window shows a list of all unit cells that were "kept"
using ndirax.
This can be used to compare unit cells found by
"ndirax" using the comparecell
algorithms. Just select any 2 cells from the list using the checkboxes,
and press the "compare" button. If only 1 cell is selected, the cell is
compared with itself (useful to detect possible twinning relationships).
When ndirax terminates, the kept cells are automatically saved in a
file named "keptcells.dat"; this file is automatically reloaded when
ndirax is restarted.
If you have any ideas on how to improve the functionality of the Kept
Cells, please send mail to collect@bruker-axs.nl.
Dirax is especially a very powerful indexing program if the sample
contains more than one lattice. This is even more so in combination
with the phi/chi experiment and
an accurate machine calibration.
As a group, all samples containing more than a single lattice are commonly
referred to as "twins". Actually, there are at least four different
common cases of multiple-lattice samples.
- Fragmented crystals
-
A "single crystal" that is broken into two or more fragments. Every
reflection is thus split into multiple different spots on the
detector. If such a sample is run through dirax, a unit cell is found
that fits only part of the reflections. Relaxing the "levelfit" and
"indexfit" conditions will result in more reflections fitting the
lattice, but the lattice itself does not change very much. At very
relaxed values, you will get a sort of "average" lattice, whereas
strict parameters will home in to a single fragment crystal. Using
strict values, a second fragment lattice might be found using the
twinning options in dirax; a comparison of the two lattices will show
a small rotation of 0.2--2.0 degrees. This rotation is very small, so
the rotation axis is not very well defined. Since the partially
overlapping diffraction spots come from the same h,k,l it is possible
to integrate the data set by adding everything together as if it were
a single spot. If the fragmenting pattern is a "bundle of misaligned
needles" or a "stack of misaligned disks", the Anisotropic Mosaicity
can be used when integrating in EvalCCD. If the rotation angle between
the fragments is a bit larger, the two lattices may be better
integrated as separate entities.
- Plane rotations
-
If one of the layers in the crystal is "almost centrosymmetrical",
sometimes a mistake can be made in the buildup of the crystal. If
e.g. in the a,c direction such a plane exists, the next layer may be
mis-built as -a,-c. The b axis for the two parts of the crystal will
then point in two different directions, whereas the a and c directions
coincide. In reciprocal space, the h0l planes of the two different
crystals coincide, and the other planes will have more or less overlap
depending on the k index. The reflections that are close together do
not have the same h,k,l index in the two lattices, so it is essential
that they are separated as much as possible. Reflections that are too
close to be separated will need to be de-twinned at a later stage.
The same misfitting process can happen once (the two crystals might even be
visible separately under the microscope) or multiple times, depending
how close to centro-symmetric the a,c plane is.
- False fits
-
If one of the diagonals of the unit cells has a length comparable to
one of the unit cell axes, twinning can sometimes occur where this
diagonal is used instead of the cell axes in the buildup of the unit
cell. This will result in a similar situation as for the "plane
rotations", but with a different pattern of overlapping and
non-overlapping reflections.
- Merohedrical twins
-
These are the easiest. The diffraction pattern from a merohedrical
twin looks like a single crystal in every aspect. Cell determination
and integration can proceed following single crystal
procedures. However, unless the twin law is known, there is no way to
solve/refine the structure.
Twins in dirax
Twins may be recognized and treated in dirax in different ways:
- Only part of the reflections (half?) fit the lattice. In such a case,
it might be worth to relax the fit-conditions a bit (raise
indexfit). If that causes more reflections to fit, you are either
dealing with a fragmented crystal, or with a badly aligned
system. A fragmented crystal might reveal itself further from the
diffraction images, especially split peaks in a phi/chi image are
a very good indication of crystal fragmentation. If the
fragmentation is into 2 well-separated crystals, you can find the
second component by using the "start using non-fitting
reflections" button in ndirax. If this doesn't work, you should try
to tighten the "levelfit" a bit on the first cell before looking for
the twin lattice.
- Approximately half of the reflections fit the lattice, and the other half
fits another, comparable lattice in the cell
listing. Congratulations, you have found the two components of
your twin crystal.
- All of the reflections fit a much-too-large lattice. In such a case, look
through the list for smaller unit cells that fit a reasonable
amount of reflections. If necessary, lower "indexfit" or raise "levelfit"
and re-try to find the lattice. Once you have found a good lattice, see if
the remaining reflections fit a twin lattice using the "start using non-fitting reflections"
button
In all of these cases (more in the first and the third cases, and a
bit less in the second case), one of the cells is likely to be more
accurate than the other one. The relation between the unit cells can
be established using the comparecell
program. If the twin-relation looks like an approximation of a
recognizable transformation, the ntrans
program can be used to apply the exact transformation to the best of
the two unit cells, generating a better approximation of the lattice
for the second component.