Software: Predict
Home › Facilities › Computer Resources › Software › Predict
Synopsis
The program PREDICT by Martin Noble is useful for finding an oscillation range to collect a most complete data set in the shortest time possible. Even in situations when not pressed for beam-time, it may be useful to run PREDICT because the crystal may not oriented for maximum completeness of data.
Prerequisite
Process one image file with DENZO to the point of generating an .X file.
Usage
Predict
Online help
Type "?" to get the options.
Scenarios
Q1: What is the quickest way to collect "W" percent complete data?
Q2: If I collect only "X" degrees of data about the spindle axis, what is the best starting value of phi?
Q3: If I am collecting at phi = "Y", what is the largest oscillation angle (delta phi) that I can use for a given permissable percentage of overlaps?
Q4: At which value of phi would I observe reflection h00 (or 0k0 or 00l)?
Q5: How do I display my predictions?
Q6: How do I collect data in small chunks, say, 10 degrees?
Answers
Q1: What is the quickest way to collect "W" percent complete data?
To answer this question, the program needs to read the cell dimensions, crystal orientation, and camera parameters from an integrated DENZO ".x" file.
It then does a search finding the optimal completeness available for a varying total oscillation scan, and finding the minimum scan necessary to exceed the completeness specified by the user.
The input stream looks like this:
>predict
>readdenzo test_001.x
>toget 95
>exit
If the cell is large, or the resolution is high, then this may be a little slow. The same information about percentage completeness would be true for a cell with halved cell lengths: hence for a faster calculation you might try:
>predict
>readdenzo test_001.x
>halfcell
>toget 95
>exit
If you already have data collected which you would like to complete, you can read it into the "external observation arrays". Either ascii files from MTZDUMP, or DENZO ".sca" files can be read:
>predict
>readdenzo test_001.x
>readmtzdump sofar.mtzdump
>toget 95
>exit
or
>predict
>readdenzo test_001.x
>readscafile sofar.sca
>toget 95
>exit
Question 1 can be made to take into account data which has already been collected, through either reading a DENZO .sca file, a dumped mtz file, or from a previous run of the program.
Q2: If I collect only "X" degrees of data about the spindle axis, what is the best starting value of phi?
To answer question 2, the program needs to read the cell dimensions, crystal orientation, and camera parameters from an integrated DENZO ".x" file.
It then generates a list of unique and non-unique reflections, and for each possible starting value of phi, calculates the percentage compelteness that would be achieved for a given total oscillation angle.
The input stream looks like this:
>predict
>readdenzo test_001.x
>best 60
>exit
If the cell is large, or the resolution is high, then this may be a little slow.
The same information about percentage completeness would be true for a cell with halved cell lengths: hence for a faster calculation you might try:
>predict
>readdenzo test_001.x
>halfcell
>best 60
>exit
If you already have data collected which you would like to complete, you can read it into the "external observation arrays".
Either ascii files from MTZDUMP, or DENZO ".sca" files can be read:
>predict
>readdenzo test_001.x
>readmtzdump sofar.mtzdump
>best 60
>exit
or
>predict
>readdenzo test_001.x
>readscafile sofar.sca
>best 60
>exit
Q3: If I am collecting at phi = "Y", what is the largest oscillation angle (delta phi) that I can use for a given permissable percentage of overlaps?
To answer question 3, the program needs to read the cell dimensions, crystal orientation, and camera parameters from an integrated DENZO ".x" file.
It then calculates the percentage overlaps that would be expected for increasing values of "delta phi", starting from 0.1, up to the value which exceeds a given percentage of overlaps.
Note, a sensible estimate of mosaicity in the .x file is of course required:
>predict
>readdenzo test_001.x
>maxdelta 0 10
>exit
| |
| ------- Maximum allowable percentage of overlaps
|
---------- Starting value of phi
Q4: At which value of phi would I observe reflection h00 (or 0k0 or 00l)?
To answer question 4, the program needs to read the cell dimensions, crystal orientation, and camera parameters from an integrated DENZO ".x" file.
It then generates all possible reflections, predicts the value of spindle angle at which the reflections are brought throught the Ewald sphere, and prints the value for the appropriate axial set:
>predict
>readdenzo test_001.x
>zone 1 0 0 (for h axis)
>zone 0 1 0 (for k axis)
>zone 0 0 1 (for l axis)
Q5: How do I display my predictions?
In order to allow you to check that the program is making a sensible guess at the predictions, you can display a set of predictions on an image file with the display command e.g.
>predict
>readdenzo test_001.x
>display 0 1 test_001.image
....predicts the reflections falling on a frame between 0 and one degree and display them on top of the image stored in file test_001.image.
Left hand mouse button picks will cause the identity and resolution of the nearest prediction to be printed to the terminal.
A right hand mouse button pick will return control to the terminal.
Display of the image is liable to be confused if the image was not collected on a unix system.
Q6: How do I collect data in small chunks, say, 10 degrees?
More complex data collection strategies can be designed with a more thorough understanding of the progrem.
For example for a strategy involving optimal collection of ten degree chunks of data, the route would be as follows:
>predict
>readdenzo test_001.x
>halfcell
>best 10
(now say that the answer was to start at phi = 50, you can calculate the reflections which would be covered in this range, and transfer them into the external observation array as follows:)
>complete 50 60
>transfer
(you are now in a position to ask what is the best "next batch" of ten degrees to collect as follows:)
best 10
(....this process can be repeated ad nauseam or until the beam dumps, or you have all the data you want.)
>complete 23 33
transfer
best 10
...