Cppxfel Indexing: Difference between revisions

From cctbx_xfel
Jump to navigation Jump to search
(Removed reference to recycle_unindexed_reflections which has changed in the DIALS API.)
(Updating indexing options for recent DIALS distribution.)
Line 25: Line 25:
</pre>
</pre>


This should be similarly created for <code>index.options</code>:
This should be similarly created for <code>index.options</code>. This is an appropriate options file for a DIALS distribution built after 20th Feb:


<pre>
<pre>
cat > index.options << EOF
cat > index.options << EOF
outlier.algorithm=null indexing.method=fft3d unit_cell=106.1,106.1,106.1 space_group=I23 minimum_number_of_reflections=20 detector.fix=all beam.fix=all
unit_cell=106.1,106.1,106.1 space_group=I23 minimum_number_of_reflections=20 detector.fix=all beam.fix=all recycle_unindexed_reflections=1 refinement.reflections.outlier.algorithm=null refinement_protocol.n_macro_cycles=1 refinement.reflections.weighting_strategy.override=stills
EOF
EOF
</pre>
</pre>

Revision as of 16:53, 6 March 2016

This covers the generation of indexing solutions using DIALS within the cppxfel distribution. This assumes a successful installation of cppxfel including the DIALS dependency.

Downloading test data

Data can be downloaded as a [zip file] from the DIALS website and should be extracted to a new folder.

tar zxvf ginn_jac_cpv17.tgz

Running DIALS on the set of 1000 images

The scripts included in cppxfel to run DIALS uses four cores by default. If you have more cores available on the current machine, this can be edited by setting the environment variable NSLOTS:

export NSLOTS=16

DIALS uses the options found in the two files find_spots.options and index.options for spotfinding/indexing the data. These should be generated for find_spots.options with these parameters:

cat > find_spots.options << EOF
gain=14.0 min_spot_size=1 global_threshold=100
EOF

This should be similarly created for index.options. This is an appropriate options file for a DIALS distribution built after 20th Feb:

cat > index.options << EOF
unit_cell=106.1,106.1,106.1 space_group=I23 minimum_number_of_reflections=20 detector.fix=all beam.fix=all recycle_unindexed_reflections=1 refinement.reflections.outlier.algorithm=null refinement_protocol.n_macro_cycles=1 refinement.reflections.weighting_strategy.override=stills
EOF

The DIALS scripts can now be run as follows:

cppxfel.run_dials shot*.pickle

Assessing the output of DIALS indexing

The output from each DIALS find_spots and indexing event are stored in the *find_spots.log and *index.log files for each image name. The strong spots found in each individual image are stored in _*_strong.pickle for each respective image name. Any successfully indexed images follow the format _*_experiments.json. The number of indexed images can be roughly counted as so:

find _*_experiments.json | wc -l

Converting the results of DIALS indexing for cppxfel

The images and matrices indexed by DIALS should be converted to a new format for reading into cppxfel. This is achieved by running the command:

cppxfel.input_gen

This runs on the number of cores specified by the NSLOTS environment variable to extract the appropriate image data, and also generates several input files: panels.txt, integrate.txt, refine.txt, merge.txt, which will be explained in the following tutorials. The indexed images are extracted to .img files. This also produces a matrices.dat file which contains all the indexing solutions generated by DIALS.

Next step: Cppxfel Initial Orientation Matrix Refinement