Cppxfel Installation

From cctbx_xfel
Revision as of 21:32, 25 November 2015 by Helenginn (talk | contribs) (Created page with "This details the installation instructions for ''cppxfel'' on Linux and Mac OS X. = Installing the boost libraries = The boost library is a dependency of ''cppxf...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This details the installation instructions for cppxfel on Linux and Mac OS X.

Installing the boost libraries

The boost library is a dependency of cppxfel allowing it to run on multiple threads from within C++. Either download source and compile from boost website, or if you have user privileges, you can use a package manager.

With user privileges

On CentOS:

yum install boost boost-devel

On Ubuntu:

apt-get install libboost-all-dev

On Mac OS X, install brew, and then:

brew install boost
CentOS Ubuntu Mac OS X
yum install boost boost-devel apt-get install libboost-all-dev Install boost, then: brew install boost

We need to make sure the boost library is visible to the DIALS/cppxfel installation. To see where the boost library was installed:

locate libboost_thread-mt.so

This will show a directory e.g.

/usr/lib64/libboost_thread-mt.so

This should be set to the environment variable BOOST_LOCATION.

Bash shell Csh shell
export BOOST_LOCATION="/usr/lib64/" setenv BOOST_LOCATION /usr/lib64

Without user privileges

DIALS distribution

Download the DIALS distribution for your flavour of OS. Extract the dials-installer-dev to a new location. Navigate into this directory.

cd dials-installer-dev

Start the install command to a new directory to which you have write access.

./install --prefix=/absolute/path/to/dials

cppxfel distribution

The cppxfel source code must be downloaded into the modules directory.

cd modules

The repository can be cloned from the GitHub link for cppxfel.

git clone https://github.com/cppxfel/cppxfel.git

The DIALS distribution must be configured to compile the cppxfel code, and then the distribution must be compiled.

libtbx.configure cppxfel
cd ../build
make

Set the paths to the DIALS and cppxfel command line tools (bash):

. /absolute/path/to/dials/build/setpaths.sh

Bash shell Csh shell
. /absolute/path/to/dials/build/setpaths.sh source /absolute/path/to/dials/build/setpaths.csh

This needs to be repeated every time a new shell is started. Alternatively, place this in your appropriate file (bash)

Bash shell Csh shell
test -r /absolute/path/to/dials/build/setpaths.sh && \

. /absolute/path/to/dials/build/setpaths.sh

test -r /absolute/path/to/dials/build/setpaths.csh && \

source /absolute/path/to/dials/build/setpaths.csh

to ~/.bashrc to ~/.cshrc

}

Confirm that cppxfel runs:

cppxfel.run

The output should look something like this:

Welcome to cppxfel version 1.0!
Please refer to & cite paper in Journal of Applied Crystallography (unpublished)

Command order for regular structure solution:
	cppxfel.run_dials shot*.pickle
	cppxfel.input_gen
	cppxfel.run -i integrate.txt
	cppxfel.run -i refine.txt
	cppxfel.run -i merge.txt

Other functions for assessing data quality:

Correlation between two MTZ files:

	cppxfel.run -cc firstFile.mtz secondFile.mtz [ambiguity] [lowRes] [highRes] [bins]

ambiguity: 0, 1, 2 or 3 - will compare different indexing solutions where the Bravais lattice symmetry is higher than that of the point group for certain space groups. Default 0
lowRes and highRes: set to resolution in Angstroms to bound the results, or set to 0 to take lowest/highest resolution data. Default 0, 0
bins: number of bins to report correlation statistics. Default 20.

Partiality CSV files:

	cppxfel.run -partiality reference.mtz ref-img-shot-number.mtz [highRes]

highRes: 0, 1, 2 or 3 - highest resolution reflection to report results on. Default 1.4
This outputs partiality_[m].csv where m is bin number, which can be imported into other graphing softwares such as R.

Merging statistics:

	cppxfel.run -rpim unmerged_file.mtz [lowRes] [highRes] [bins]
	cppxfel.run -rmeas unmerged_file.mtz [lowRes] [highRes] [bins]
	cppxfel.run -rmerge unmerged_file.mtz [lowRes] [highRes] [bins]

lowRes and highRes: set to resolution in Angstroms to bound the results, or set to 0 to take lowest/highest resolution data. Default 0, 0
bins: number of bins to report correlation statistics. Default 20.

If you see this, cppxfel has been installed.