Difference between revisions of "Cppxfel Installation"

From cctbx_xfel
Jump to: navigation, search
(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...")
 
Line 27: Line 27:
 
| <code>yum install boost boost-devel</code>
 
| <code>yum install boost boost-devel</code>
 
| <code>apt-get install libboost-all-dev</code>
 
| <code>apt-get install libboost-all-dev</code>
| Install boost, then: <code>brew install boost</code>
+
| Install brew, then: <code>brew install boost</code>
 
|}
 
|}
  
Line 69: Line 69:
 
The ''cppxfel'' source code must be downloaded into the <code>modules</code> directory.
 
The ''cppxfel'' source code must be downloaded into the <code>modules</code> directory.
  
<pre>cd modules</pre>
+
<pre>cd /absolute/path/to/dials/modules</pre>
  
 
The repository can be cloned from the GitHub link for cppxfel.
 
The repository can be cloned from the GitHub link for cppxfel.
Line 109: Line 109:
 
| to <code>~/.bashrc</code>
 
| to <code>~/.bashrc</code>
 
| to <code>~/.cshrc</code>
 
| to <code>~/.cshrc</code>
}
+
|}
  
 
Confirm that ''cppxfel'' runs:
 
Confirm that ''cppxfel'' runs:

Revision as of 21:42, 25 November 2015

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 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.