2,684
edits
No edit summary |
|||
Line 2: | Line 2: | ||
# It is advisable to use the most recent 64bit version of XDS (since version Oct 15, 2015 the 32bit versions are no longer distributed anyway). The idea of the new framecache in XDS is that RAM is used to save on I/O. To this end, XDS tries to store NUMBER_OF_IMAGES_IN_CACHE=DELPHI/OSCILLATION_RANGE images in memory. Each frame is stored as (number of pixels)*(4 bytes) which means 72 MB in case of the Eiger 16M. As an example: if DELPHI=20 and OSCILLATION_RANGE=0.05 your computer has to have 400*72MB = 29GB of memory (plus some more for the program and the operating system). If it has not, the fallback is to the old behaviour of reading each frame three times. | # It is advisable to use the most recent 64bit version of XDS (since version Oct 15, 2015 the 32bit versions are no longer distributed anyway). The idea of the new framecache in XDS is that RAM is used to save on I/O. To this end, XDS tries to store NUMBER_OF_IMAGES_IN_CACHE=DELPHI/OSCILLATION_RANGE images in memory. Each frame is stored as (number of pixels)*(4 bytes) which means 72 MB in case of the Eiger 16M. As an example: if DELPHI=20 and OSCILLATION_RANGE=0.05 your computer has to have 400*72MB = 29GB of memory (plus some more for the program and the operating system). If it has not, the fallback is to the old behaviour of reading each frame three times. | ||
# Dectris provides [https://www.dectris.com/news.html?page=2 H5ToXds] (Linux only!) which is needed by XDS. H5ToXds should be copied to e.g. /usr/local/bin/H5ToXds.bin - note the .bin filename extension! As an alternative, one could use GlobalPhasing's | # Dectris provides [https://www.dectris.com/news.html?page=2 H5ToXds] (Linux only!) which is needed by XDS. H5ToXds should be copied to e.g. /usr/local/bin/H5ToXds.bin - note the .bin filename extension! As an alternative, one could use GlobalPhasing's hdf2mini-cbf program or, from http://www.mrc-lmb.cam.ac.uk/harry/imosflm/ver721/downloads, the miniCBF-OSX or miniCBF-Linux program. | ||
# For faster processing, the shell script below should be copied to /usr/local/bin/H5ToXds and made executable (<code>chmod a+rx /usr/local/bin/H5ToXds*</code>). This script ''also'' uses RAM to speed up processing; it uses it for fast storage of the temporary file that | # For faster processing, the shell script below should be copied to /usr/local/bin/H5ToXds and made executable (<code>chmod a+rx /usr/local/bin/H5ToXds*</code>). This script ''also'' uses RAM to speed up processing; it uses it for fast storage of the temporary file that H5ToXds/miniCBF/hdf2mini-cbf writes, and that each parallel thread ("processor") of XDS reads. The amount of additional RAM this requires is modest (about (number of pixels)*(number of threads) bytes). | ||
A suitable XDS.INP should normally be written by the beamline software; [[generate_XDS.INP]] does not (yet) write it. The XDS_from_H5.py script (below) can be used if XDS.INP is not available. | A suitable XDS.INP should normally be written by the beamline software; [[generate_XDS.INP]] does not (yet) write it. The XDS_from_H5.py script (below) can be used if XDS.INP is not available. | ||
Line 36: | Line 36: | ||
#!/bin/bash | #!/bin/bash | ||
# Kay Diederichs 10/2015 | # Kay Diederichs 10/2015 | ||
# | # 3/2016 adapt for miniCBF-Linux/miniCBF-OSX/hdf2min-cbf | ||
# for the latter see https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;58a4ee1.1603 and | |||
# https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;a048b4e8.1603 | |||
# | # | ||
# | # Idea: put temporary files into fast local directory, instead of NFS | ||
# | # | ||
# | # Installation: Rename Dectris' H5ToXds to H5ToXds.bin | ||
# | # This script should be called H5ToXds and reside in $PATH | ||
# Modify this script according to which binary you use - see comments below. | |||
# | # | ||
# Recommendation: | # Recommendation: | ||
Line 50: | Line 52: | ||
tempfile="/dev/shm/H5ToXds${PWD//\//_}.$3" | tempfile="/dev/shm/H5ToXds${PWD//\//_}.$3" | ||
# | # | ||
# the next | # comment out the next 2 lines when using hdf2mini-cbf or miniCBF; uncomment for H5ToXds.bin | ||
/usr/local/bin/H5ToXds.bin $1 $2 "$tempfile" | /usr/local/bin/H5ToXds.bin $1 $2 "$tempfile" | ||
ln -sf "$tempfile" $3 2>/dev/null | |||
# | # | ||
# | # comment out the next 2 lines when using H5ToXds.bin or hdf2mini-cbf; uncomment for miniCBF | ||
#/usr/local/bin/miniCBF-OSX $1 $2 "$tempfile" >& /dev/null | |||
#ln -sf "$tempfile" $3 2>/dev/null | |||
# | # | ||
ln -sf "$tempfile" $3 2>/dev/null | # comment out the next 3 lines when using H5ToXds.bin or miniCBF; uncomment for hdf2mini-cbf | ||
#/usr/local/bin/hdf2mini-cbf -image $2 -m $1 -o "$tempfile" >& /dev/null | |||
#mv "$tempfile"$2.cbf "$tempfile" | |||
#ln -sf "$tempfile" $3 2>/dev/null | |||
</pre> | </pre> | ||