Cppxfel Installation: Difference between revisions

From cctbx_xfel
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
This details the installation instructions for [[Cppxfel|''cppxfel'']] on Linux and Mac OS X. '''These installation instructions are not finished and will not currently result in a working version of ''cppxfel''.'''
This details the installation instructions for [[Cppxfel|''cppxfel'']] on Linux and Mac OS X. '''These installation instructions are not finished and will not currently result in a working version of ''cppxfel''.'''
 
<br/>
= Installing the boost libraries =
= Installing the boost libraries =



Revision as of 22:00, 25 November 2015

This details the installation instructions for cppxfel on Linux and Mac OS X. These installation instructions are not finished and will not currently result in a working version of cppxfel.

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 brew, 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 /absolute/path/to/dials/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.