2,684
edits
No edit summary |
|||
Line 96: | Line 96: | ||
Another example: by defining STARTING_DOSE=-78.* one would tell the program to calculate, by interpolation, those intensity values that correspond to those that would be obtained near frame 78. | Another example: by defining STARTING_DOSE=-78.* one would tell the program to calculate, by interpolation, those intensity values that correspond to those that would be obtained near frame 78. | ||
== Scaling many datasets == | |||
The program has no internal limit for the number of datasets. However, many items are calculated for ''each pair of datasets''. This results in some component of the CPU time being quadratic in the number of datasets. Beyond about 100 datasets, this component dominates, and calculation times become ''really long'' (hours to days). However, it is possible to approach the problem in an ''incremental'' way: | |||
# Scale the first (say) 100 datasets together, including any low-resolution datasets | |||
# For the next step, use the OUTPUT_FILE from the previous step as the first INPUT_FILE (with WFAC1=2), and the next (say) 99 datasets as further INPUT_FILEs. | |||
# Go to step 2. as long as you have more datasets | |||
This should keep the wallclock requirements reasonable, and simply keeps adding datasets to an ever-growing merged dataset. The nice thing is that you can monitor how the completeness keeps growing with each step, and once good completeness is obtained, CC1/2 should start growing. | |||
Example showing the principle: | |||
<nowiki> | |||
# first step | |||
cat <<EOF>XSCALE.INP | |||
OUTPUT_FILE=1to100.ahkl | |||
INPUT_FILE=../1/XDS_ASCII.HKL | |||
INPUT_FILE=../2/XDS_ASCII.HKL | |||
! insert lines for INPUT_FILEs 3..100 | |||
EOF | |||
xscale_par | |||
mv XSCALE.LP XSCALE_1to100.LP | |||
# second step | |||
cat <<EOF>XSCALE.INP | |||
OUTPUT_FILE=1to200.ahkl | |||
INPUT_FILE=1to100.ahkl | |||
WFAC1=2 ! avoid rejecting more outliers | |||
INPUT_FILE=../101/XDS_ASCII.HKL | |||
INPUT_FILE=../102/XDS_ASCII.HKL | |||
! insert lines for INPUT_FILEs 103..200 | |||
EOF | |||
xscale_par | |||
mv XSCALE.LP XSCALE_1to200.LP | |||
# third step | |||
cat <<EOF>XSCALE.INP | |||
OUTPUT_FILE=1to300.ahkl | |||
INPUT_FILE=1to200.ahkl | |||
WFAC1=2 ! avoid rejecting more outliers | |||
INPUT_FILE=../201/XDS_ASCII.HKL | |||
INPUT_FILE=../202/XDS_ASCII.HKL | |||
! insert lines for INPUT_FILEs 203..300 | |||
EOF | |||
xscale_par | |||
mv XSCALE.LP XSCALE_1to300.LP | |||
... | |||
</nowiki> | |||
== A hint for long-time XSCALE users == | == A hint for long-time XSCALE users == |