Dirax Commands
You may also visit the explanation of
internal commands: aliases, flowcontrol etc.
Alphabetical
By Function
- Input files
-
example
read
readappend
readp4p
ri
rifile
- Select Reflections
-
kill
killh
killn
lch
lchh
lchi
lchmin
lchn
- Calculations
-
dmax
indexfit
go
go2
levelfit
maxcell
maxtrio
nosigma
randomize
seed
sigma
streak
- Solutions
-
acl
angletest
anglezero
autowarning
autonowarning
axistest
axiszero
extra
nhtest
sort
voltest
- Screen Output
-
cell
hklc
list
lo
loe
loh
lon
longacl
margin
output
shortacl
show
- Output files
-
cad4file
ccd
ccdsig
denzofile
fastfile
pymol
output
rmatrix
streakfile
wmat
write
writep4p
- Comparing Solutions
-
compare
compareangle
compareaxis
comparefactor
compareminfit
correlate
correlateratio
twin
- Saving solutions
-
remove
restore
save
savelist
store
- Incommensurate
-
qvallow
qvector
qvectorpos
qvfommin
qvforbid
qvorder
qvtest
sethklm
unsethklm
- Expert user
-
debug
dict
dictname
debug
finalcell
l.s.
reind
- Miscellaneous
-
author
cd
conditions
correct
default
exit
help
output
reference
setdefault
show
version
GETTING STARTED
For a minimal run:
! comment, do not type
dirax [file_name] ! file_name is either given here OR after READ
read [file_name] ! read data from specified free file
go ! do calculations with default parameters
cell ! show cell parameters
lo ! show reflections
end ! exit dirax
See also the examples.
Syntax: abort state
Default: abort off.
If set to on, the program will abort when a warning
message is given.
If set to off, warnings will be displayed and
the program continues.
Select Acceptance Level
Syntax:
Note acl auto may be not the solution
you are looking for,
see Example 5.
Solutions with a questionmark contain a
warning (see margin).
Solutions with a Q have possible qvectors.
If dict is on, some keyword/value
pairs will be printed.
!!dirax-nrefl 25
!!dirax-acl 25
!!dirax-nh 25
Related commands:
angletest,
axistest,
extra,
nhtest,
sort,
voltest.
Syntax: angletest r
Default: angletest -1.0
If set to a positive value, the list of solutions given by the
acl command is restricted to cell parameters
with at least 2 angles close to 90°. The tolerance
is given by r. To disable the test, specify
a negative value.
Syntax: anglezero r
Default: anglezero 0.1
Tolerance for angles (in degrees) to present cell as triclinic, or as
monoclinic, orthorhombic, tetragonal, cubic or hexagonal.
Is used in combination with axiszero.
Show names and addresses of authors.
Some solutions in the acl list contain a warning. These
solutions have a question mark in the output
(see margin).
If qvallow is set, the acl list may also
contain reflections with a possible qvector. These solutions are
flagged with a Q if qvfom > qvfommin.
If autowarning is set, the warning and Q-flag are ignored in the
selection of the best solution (so the solution that fits most
reflections will be selected). See acl and
autonowarning.
Some solutions in the acl list contain a warning. These
solutions have a question mark in the output
(see margin).
If qvallow is set, the acl list may also
contain reflections with a possible qvector. These solutions are
flagged with a Q if qvfom > qvfommin.
If autonowarning is set, reflections with a warning and reflections
with a possible
qvector (see qvallow) are not selected in the
automatic solution. See acl and
autowarning.
Syntax: axistest f1 f2
Default: axistest -1.0 -1.0
If f1 is set to a positive value, the list of
solutions given by the acl command is restricted
to cell parameters with all the axes at least
f1 Å
If f2 is set to a positive value, the list of
solutions given by the acl command is restricted
to cell parameters with all the axes at most
f2 Å
To disable the test, specify two negative values.
Syntax: axiszero r
Deafault: axiszero 0.05
Tolerance for axes (in Å) to present cell as triclinic, or as
monoclinic, orthorhombic, tetragonal, cubic or hexagonal.
Is used in combination with anglezero.
Create dirax_Xcode.cat file to transfer dirax results to CAD4
later.
dirax_Xcode.cat is created in the current (possibly not intended!)
directory (but see cd).
In the file name dirax_Xcode.cat the 'crystal code'
Xcode is the same as in the input file Xcode.drx used by dirax.
Syntax: ccd name
Creates the rmatfile name.rmat
to save dirax results.
If sigma has been called for the current
lattice, the standard deviations are also written to the file.
If you specify # in name, # will be translated into the current drx filename.
savermat is an alias for ccd
Syntax: ccdsig name
Creates the rmatfile name.rmat
to save dirax results.
The default for name is the same as the
drx file used for input.
Also creates a file name.sigma containing the sigma's of the
cell parameters.
A sequence of commands (defined in dirax.init).
The commands are:
- restore A
restores saved solution A
- ccd #a
create rmat file
- restore B
restores saved solution B
- ccd #b
create rmat file
Specifies cad4 number.
Syntax: cdn
Default: cd?
The cad4file writes a resulting file in
the current directory. If you have specified
n, the file will be written
in the directory can$data:.
Show cell parameters.
Primitive Bravais cell within tolerances given by
anglezero and axiszero
Syntax: compare N1/C1 N2/C2
Syntax: compare all
Syntax: compare table
Syntax: compare save
If the cell volumes are equal but the cells are not congruent, or if the
larger cell volume is a multiple of the smaller, they are made congruent
by a linear transformation.
N1,N2: acl number or * for latest selected acl
C1,C2: character indicating previous
saved solution
Examples
See also save, compareangle
and compareaxis.
The output is rather self-explanatory:
If necessary A and B are swapped and made congruent first, by transforming
the cell B to B'. The transformation is expressed by relations between
(a',b',c') and (a,b,c).
The rotation axis connecting A and B' is given as components in XYZ, as
HKL (reciprocal space, a*b*c*) and as uvw (direct space, abc), the
rotation angle in degrees.
The correlation between the index status of
the compared cells is also calculated.
Sometimes more solutions are found (particularly from symmetry within the
cell), all geometrically possible, and the crystallographer must interpret
them and decide. Rotation angles of (almost) 180° may indicate
twinning with a common axis, small rotations may originate from two
fragments, but from twinning too, and to complicate things: both values
may be obtained from the same data. The solution with the smallest
rotation is the most interesting, in general.
Syntax: compareangle f
Default: compareangle 1.0
Two angles are considered equal if their difference is less than
f (in degrees). See compare.
Syntax: compareaxis f
Default: compareaxis 0.5
Two axes are considered equal if their difference is less than
f (in Å). See compare.
Syntax: comparefactor f
Default: comparefactor 100
Only compare two matrices if Vol(a)/Vol(b) is less than f.
See compare.
Syntax: compareminfit n
Default: compareminfit 10
Sets the minimum number of 'fitting' reflections for
the variants of compare working on the list of solutions
Syntax: comparesmallest state
Default: comparesmallest off
Determines which solution to select when comparing two lattices.
- off: select the solution with the best
Figure-Of-Merit.
- on: select the solution with the smallest
angle.
Conditions for use
- You may not copy DirAx neither the auxiliary files except for use by
yourself or for use in your laboratory, institute, office and the like.
- You may not hand over DirAx in any form to third parties without
provable permission from the author.
- You use DirAx at your own responsibility completely.
Syntax: correct none/normal/full/debug
Default: correct normal
Allows command and option corrections. Commands and options
are only corrected if input originates from the keyboard, and output
is sent to the screen.
- none
No correction will be applied
- normal
Commands and options will be corrected.
- full
As before plus possible corrections are printed
- debug
As before plus all available commands/options are printed
Correlates the index status of two possible unit cells.
A correlation of 1.0 signals two similar sets, a correlation of -1.0
points to complementary (possible twin) sets.
The correlation is only calculated if the ratio of the volumes
lies between 1.0/correlateratio and
correlateratio.
The syntax is similar to the compare command.
Syntax: correlate
N1/C1/all/save
N2/C2/all/save
N1,N2: acl number or * for latest selected acl
C1,C2: character indicating previous saved solution
Examples
See also save.
Syntax: correlateratio f
Default: correlateratio 10.0
This limits the calculation of correlations between two unit cells.
Syntax: debug reduce/primitive/finalcell/twoview/qv/all/none
Default: debug none
To inspect intermediate results, you may increase the amount of
output.
- reduce: cell reduction
- primitive: determination of primitive cell
- finalcell: refinement of final cell
- twoview: extra output from compare
- qv: extra output from qvtest
Set default values for
levelfit,
indexfit,
dmax,
anglezero,
axiszero,
compareaxis,
compareangle,
comparefactor and
correlateratio.
Use setdefault to save the
current values as default values.
default is implicitly executed by then
example command.
Create dirax_Xcode.dat file to transfer dirax results to DENZO
later. The file is created in the current directory.
In the file name dirax_Xcode.dat the 'crystal code' Xcode is the
same as in the input file Xcode.drx used by dirax.
Syntax: dict state
Default: dict off
If on, the output of acl
will contain a list of
keyword/value pairs.
The keywords start with dictname.
Syntax: dictname label
Default: dictname !!dirax-
Sets the leading part of keywords of dictionary output
(if dict=on).
Syntax: dmax r
Default: dmax 80
r should be set to about the expected
maximum axis length (in Å).
See Remark Page for details.
Exit dirax
Syntax: example n
Load one of the 12 examples. Have a look at the
example page for a summary and full
output of the examples. The example command
implicitly executes default to reset all
variables to their default values.
Syntax: extra on/off
Default: extra off
If set to on, the listing created by the
acl command will contain extra columns
- V/H volume divided by the number of fitting
reflections.
- wH weighted number of fitting reflections.
The weight is
the sum of the intensities of the fitting reflections divided by the sum of
intensities of all (fitting and nonfitting) reflections.
- V/wH volume divided by the weighted number of
fitting reflections.
- nq number of extra fitting reflections if qvector
would be set.
- tot total number of extra fitting reflections if
qvector would be set.
Create dirax_Xcode.dat file to transfer dirax results to FAST later.
dirax_Xcode.cat is created in the current Directory.
In the file name dirax_Xcode.cat the 'crystal code' Xcode is the
same as in the input file Xcode.drx used by dirax.
Activate MADNESS ENDEX level
ENDEX> use LCH to select reflections. Only 'H' reflections will be used
ENDEX> DIRAXF ! create endex.drx
ENDEX> $DIRAX ! start dirax
Dirax> read endex ! read data
do what you think you have to do
Dirax> exit ! go back to ENDEX
ENDEX> @DIRAX_ENDEX ! get dirax results
Syntax: finalcell
This is an expert command. Normally there is no use for this
command. But in special cases it can be helpful (in combination
with ri, rifile,
l.s. and reind).
- set-up triplets
- set-up triplet vectors
(The number of triplets is dependent on the number of reflections
and is limited by the value of maxtrio.
- calculate t-vectors
- display all acl's that give a solution
If the IndexStatus before and after te previous go
command did change
go2 is similar to go. If IndexStatus remained the same, go2 is idle.
Try to display some help about the program. How this is done
is explained elsewhere.
Displays the list of reflections (miller indices h,k,l and the c-vectors)
Syntax: indexfit r
Default: indexfit 2.0
indexfit is a factor applied to levelfit for
establishing whether a reflection fits (code 'H') or not (code 'n').
A reflection fits if the distance (in reciprocal space) between
the observed and calculated reflection position is less than
indexfit*levelfit reciprocal Å.
See Remark Page for details
Syntax: kill n
Removes one reflection from the list. The reflection is really removed
(in contrast to lch where a reflection with index
status 'N' may join a lattice later).
See killh,
killn,
lch,
lchi and
lchn.
Syntax: killh
Removes all reflection with index status H from the list.
The reflections are really removed
(in contrast to lchi where a reflection with index
status 'N' may join a lattice later).
See kill,
killn,
lch,
lchi and
lchn.
Syntax: killn
Removes all reflection with index status N from the list.
The reflections are really removed
(in contrast to lch where a reflection with index
status 'N' may join a lattice later).
See kill,
killh,
lch,
lchi and
lchn.
Syntax: l.s.
This is an expert command. Normally there is no use for this
command. But in special cases it can be helpful (in combination
with ri, rifile,
finalcell and reind).
Syntax:
Can be used to change IndexStatus before a next go.
See also lchh,
lchn,
lchmin and
lchi.
The remove a reflection from the list use
kill,
killh or
killn.
Example:
Dirax> lch
Nfit:10 123456789 123456789 12345
Nonfit:7 HnHHHHnnnHnHHHHHHnnHHHHHH
invert/status ------------nnn---------- >>>entered by you<<<
Nfit:7 123456789 123456789 12345
Nonfit:10 HnHHHHnnnHnHnnnHHnnHHHHHH
To enable a reflection use code H. To disable a reflection use code N.
Use any other character to keep the current status
Set IndexStatus for all reflections to H.
Inverts the current indexstatus.
(Equivalent to lch invert).
Syntax: lchmin CHLIST
CHLIST is a string of saved matrices.
In the current indexstatus, set H to N for those reflections
which have status H in CHLIST. Use this command to disable
reflections fitting in more lattices.
The remove a reflection from the list use
kill,
killh or
killn.
Set IndexStatus for all reflections to N.
The remove a reflection from the list use
kill,
killh or
killn.
Syntax: levelfit n
Default: levelfit 1000
The parameter levelfit is set to 1/n
Default n = 1000, so
default levelfit = 1/1000 reciprocal Å.
It should indicate more or less the experimental precision,
but it is not very critical and 1/1000 is adequate for most cases.
See Remark Page for details
Syntax: list
Show input reflection list.
If no list was read no output appears.
See also: read
Display index status and indices for all reflections,
fitting or not.
Display the error ranges for the fitting and non fitting
reflections. The line of output is also printed at the end
of a acl listing.
Display indices for fitting (code 'H') reflections only.
See also: indexfit
Display indices for not fitting (code 'n') reflections only.
See also: indexfit
Show indexstatus for all acl solutions. Use shortacl
to disable indexstatus display.
See file dirax.init for examples of macros.
Macro commands are
ccdtwin,
store and
twin.
You may also visit the explanation of
internal commands: aliases, flowcontrol etc.
Syntax: margin n
Default: margin 1
The program will give WARNINGS if a solution has
suspect indices (e.g. all h-indices equal to zero or one).
The program will also issue WARNINGS if
e.g. only one reflection has an even index.
By changing the value of n
you can control these WARNINGS.
In the acl solutionlist, solutions with a
warning will be presented with a questionmark.
Syntax: maxcell n
Default: maxcell 20000
Sets the maximum number of calculations to determine the sigma's
of the unit cell. See sigma,
ccd and ccdsig,
Syntax: maxtrio n
Default: maxtrio 2600
The maximum number of triplets used in the cell determination calculation.
Every triplet is build from 3 (non-linear) reflections from the input
file. If you have a large number of reflections, you may increase
the value of maxtrio at the cost of some computing time.
If the number of actual triplets exceeds n,
a random generator is used the fill the list of triplets. You may
set the seed of the random generator with seed
or use randomize to calculate a seed
The maximum value of n is 100000.
Syntax: nhtest f
Default: nhtest -1
Limit the number of acl solutions. The number
of fitting reflections should be larger than f*Nrefl
(actually all calculations are still performed, but the output will
be filtered).
To disable the test, specify a negative value.
Disable calculation of standard deviations before creating output
files with the commands ccd and
writep4p.
Use sigma to enable the calculation.
Syntax: output
filename/screen
Default: output screen
Redirects the (screen) output of the program to filename.
Syntax: pymol name
Create name.pdb (containing the cvectors) and
name.pml.
The default for name is the same as the
drx file used for input.
Allow calculation of possible qvectors. Solutions with a possible
qvector are flagged with a Q in the acl-list
if their fom (see qvtest) exceeds
qvfommin.
Use qvforbid to disable the calculation of
possible qvectors.
Syntax: qvector f1 f2 f3
Inputs a q-vector.
See also
qvtest,
qvorder,
sethklm and
unsethklm.
Syntax: qvectorpos
Invert the components of the qvector if they are all three negative
Syntax: qvfommin f
Default: qvfommin 0.5
Only active if qvallow is on.
Sets a minimum threshold on qvfom (see qvtest).
If qvfom > qvfommin, the solution will
be flagged with a Q in the acl-list.
Disable the calculation of possible qvectors.
Use qvallow to enable calculation of possible
qvectors. Solutions with a possible qvector are flagged with a Q
in the acl-list.
Syntax: qvorder n
Default: qvorder 1
Sets the maximum order of q-vectors.
See also
qvector,
qvtest,
sethklm and
unsethklm.
Syntax: qvtest
Tries to find one of more q-vectors if you think the nonfitting
reflections could be part of a incommensurate lattice.
The program will print a list of possible qvectors with the number
of reflections that change from nonfit to fit. The printed fom
is this number of reflections divided by the total number of nonfitting
reflections.
See also
qvector,
qvfommin,
qvorder,
sethklm and
unsethklm.
Syntax: randomize
If the number of actual triplets exceeds maxtrio,
a random generator is used to fill the list of triplets.
Also if the number of reflections in an input file exceeds 1000,
a random generator is used to read up to 1000 reflections.
With the randomize command, you can calculate
a seed for the random generator.
You can also set the seed with the seed command
if you want to reproduce previous runs.
Syntax: read Xcode
If no extension is given Xcode.drx is supposed.
Read an ASCII file (mostly Xcode.drx).
Format:
wavelength (Å) |
5 to 1000 lines with: Theta PhiB ChiB Netint |
Note Bisecting angles
or
wavelength (Å) |
5 to 1000 lines with: c1 c2 c3 Netint |
Note c-vectors
All input in FORTRAN free format (see example in
Dirax Page).
Netint (for Net Intensity) is just for the record
(see list and
lo) and it is not used as such, you may fill
in any number or 0.
Use readappend to add reflections to an existing
list.
If the number of reflections exceeds 1000, a random generator will be used
to read the 1000 reflections.
You may set the seed of the random generator with seed
or use randomize to calculate a seed.
Syntax: readappend n filename
Read n reflections from filename
and add them to the reflection list.
If the total number of reflections exceeds 1000, a random generator will be used
to read up to 1000 reflections.
You may set the seed of the random generator with seed
or use randomize to calculate a seed.
Syntax: readp4p Xcode
If no extension is given Xcode.p4p is supposed.
Read a p4p file. The wavelength is extracted from the SOURCE record.
Reflections are extracted from records starting with REF.
If the number of reflections exceeds 1000, a random generator will be used
to read the 1000 reflections.
You may set the seed of the random generator with seed
or use randomize to calculate a seed.
Reference: DirAx is described in: "Indexing in Single-Crystal
Diffractometry with an Obstinate List of Reflections", by
Albert J.M. Duisenberg,
J.Appl.Cryst. (1992). 25, 92-96
(IUCR journal webpage).
NOTE: As a consequence of minor improvements and modifications in
the program and machine dissimilarities you may get slightly
different results than published here or in the paper.
Syntax: reind
This is an expert command. Normally there is no use for this
command. But in special cases it can be helpful (in combination
with ri, rifile,
finalcell and l.s.).
remove a previous saved matrix
See also save,
savelist
and restore
restore a previous saved matrix
Syntax: restore CH
See also save,
savelist,
compare and
correlate.
This is an expert command.
The 9 components of the orientation matrix can be input here.
You have to use the commands
reind,
l.s. and/or
finalcell to
apply the matrix on the reflection list.
This is an expert command.
Read the orientation matrix from an existing
rmatfile.
You have to use the commands
reind,
l.s. and/or
finalcell to
apply the matrix on the reflection list.
Syntax: rmatrix name
Runs the program rmatrix and creates the
rmatfile name.rmat
to save dirax results.
The default for name is the same as the
drx file used for input.
save one or all matrices for later use in the same dirax session
Use remove to clear the list.
See also restore,
savelist,
store,
compare and
correlate.
Prints all saved solutions.
See also restore,
save,
compare and
correlate.
Syntax: savermat name
Creates the rmatfile name.rmat
to save dirax results.
The default for name is the same as the
drx file used for input.
If sigma has been called for the current
lattice, the standard deviations are also written to the file.
If you specify # in name, # will be translated into the current drx filename.
savermat is an alias for ccd
Syntax: savestore prefix
Create rmatfiles for all stored
solutions.
The filenames are prefix plus the letter of the store.
Syntax: seed n
n should be a large odd number.
If the number of actual triplets exceeds maxtrio,
a random generator is used to fill the list of triplets.
Also if the number of reflections in an input file exceeds 1000,
a random generator is used to read up to 1000 reflections.
With the seed command,
you can set the seed for the random generator. This
can be useful if you want to reproduce previous runs.
You can also use randomize to calculate a seed.
Save the current values of
levelfit,
indexfit,
dmax,
anglezero,
axiszero,
compareaxis,
compareangle,
comparefactor and
correlateratio.
Use default to restore these values.
Syntax: sethklm
Once the q-vector is set (via qvector or
qvtest) this command will calculate the
the m index for non fitting reflections (upto the maximum
order defined by qvorder.
Use unsethklm to undefine these m-indices.
Disable the display of indexstatus for acl solutions. Use longacl
to show the index status.
Show actual parameter values.
Calculate standard deviations for the current lattice.
Change the value of maxcell to limit the
amount of calculation.
The standard deviations are also calculated if output files are created
with the ccd and writep4p
commands, unless nosigma has been set.
Syntax: sort a/b/c/alpha/beta/gamma/vol/nh/volperh/vwh/wh/nq/tot/none
Default: sort none
Sorts the solution list by the selected variable.
- a: a-axis
- b: b-axis
- c: c-axis
- alpha: alpha angle
- beta: beta angle
- gamma: gamma angle
- volume: volume
- nh: number of fitting reflections
- volperh: volume per fitting reflection
- vwh: volume per weighted number of fitting
reflections
- wh: weighted number of reflections
- nq: nr of extra fitting reflections if qvector
would be set.
- tot: total nr of fitting reflections if
qvector would be set.
- none: solution order
Use acl to redisplay the new sorted list.
volperh,
vwh,
wh,
nq,
tot
will set extra on.
Syntax: store CH
Equivalent to save *
This macro stores the current matrix.
Check all non-fitting reflections for a common factor.
Example:
h,k,l = 1.13 3.40 -4.50
The common factor is 1.129
calculated Observed
1 * 1.129 = 1.129 1.13
3 * 1.129 = 3.387 3.40
-4 * 1.129 = -4.516 -4.50
So this reflection could be a streak of 1 3 -4.
The common factor for all non-fitting reflections is displayed.
Create a CAD4 readable instructionsfile (dirax_code_streak.cat)
to change those non-fitting reflections where the common factor
results in a fitting reflection. Those reflections need recentering.
A sequence of commands (defined in dirax.init).
The commands are:
- remove all
Clears the saved matrices
- save * A
saves current solution in A
- lch invert
interchanges H and n status
- go
second run with 'n' reflections
- save * B
save second solution
- compare A B
compares both solutions
Syntax: unsethklm
Removes q-vector indices from the reflection list after they
are set by sethklm.
show version number and date of dirax program
Syntax: voltest f1 f2
Default: voltest 3.6 99999999.9
Limit the number of acl solutions. All resulting
volumes should lie within the range of f1
and f2. (actually all
calculations are still performed, but the output will be filtered).
Syntax: wmat filename
Creates a file with the current r-matrix only.
If filename is omitted it is set to dirax.mat
in the current directory.
You may include a path in filename.
Syntax: write filename
Creates a file with final results, for print out.
If filename is omitted it is set to dirax.out
in the current directory.
You may include a path in filename.
Syntax: writep4p name
Create namec.p4p to save dirax results.
The file name.p4p must exist.
It will be copied to namec.p4p
with new CELL, CELLSD, ORT1, ORT2 and ORT3 records.
If sigma has been called for the current
lattice, the calculated standard deviations are written to the file.
If you specify # in name, # will be translated into the current p4p filename.
DirAx
DirAx examples
EVPY Suite Overview