README.md 2.06 KB
Newer Older
Marina Nikolova's avatar
Marina Nikolova committed
1
2
# xds-zcbf

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
**XDS plugin for fast reading of cbf.gz files.**


The plugin eliminates the need for multiple file system accesses by way of direct calls to zlib.

Please, note that XDS itself does read cbf.gz files also without this plugin.

To run a March, 2019 or a later XDS version is required.

To use a LIB=/path-to-lib/xds-zcbf.so line is needed in XDS.INP.





# **Prerequisites:**


cmake 2.8 or higher

g++ 5.4.0 or higher



**zlib**  (https://www.zlib.net/)

        Ubuntu:
        
                apt-get install zlib1g-dev
                
        CentOS:
        
                yum install zlib-devel
                
                

**cbflib**  (http://zoomadmin.com/HowToInstall/UbuntuPackage/libcbf-dev)

        Ubuntu:
        
                apt-get install libcbf-dev
                
        CentOS:
        
                yum install CBFlib-devel
                




# **To build:**


mkdir build

cd build

cmake ..

make


The xds-zcbf plugin can be found in the build directory.

To force debug printouts during run, in cmake step above use instead:


cmake -DCMAKE_BUILD_TYPE=Debug ..




# **Platforms:**


Ubuntu


CentOS



# **Possible problems:**


CBFlib might need libhdf5 depending on platform/version. To make sure no dependencies are missing run:


ldd xds-zcbf.so


No 'not found' should be there. An update to the shared library cache (ldconfig) or to LD_LIBRARY_PATH 
might be needed if something shown as dependency is installed but nevertheless 'not found'.



# **Acknowledgements:**


I wish to acknowledge google and its address sanitizer for infallibly saving from armagedon the poor 
souls lacking the propensity to write bug-free code!

Gleb Bourenkov is credited with extensively testing the software, crashing it, and providing indispensable 
insights along every step of the way. The idea to speed up XDS reading of gzipped files is also his.

The XDS 'plugin' method of reading 'random' file formats was started by DECTRIS and the XDS authors. 
The latter were incredibly helpful in updating XDS to make this method usable also for non-hdf5 files.