Ha14 installation

From cctbx_xfel
Revision as of 07:22, 7 February 2014 by Hattne (talk | contribs) (Typo.)
Jump to navigation Jump to search

This document aims to be a step-by-step installation guide for cctbx.xfel. Note that in this text $ denotes the prompt of any unprivileged user on the system. Certain shells may be configured to use % or > for that purpose. The user prompt is distinct from #, which denotes the prompt of the superuser. The prompt should not be included in the command typed to the shell. This installation can be performed by any regular user—no superuser privileges are required.

{{#invoke:Message box|mbox}}


Prerequisite: install and set up the PSDM suite

See Set up PSDM software. It is assumed that ana_env.sh or ana_env.csh has been sourced, a release directory has been configured in ~/myrelease or ~/analisys-rel, and that an empty analysis package has been set up in ~/myrelease/my_ana_pkg or ~/analisys-rel/my_ana_pkg


Download and extract cctbx and LABELIT source bundles

Note that developers should follow the instructions in Installation for developers instead. This step has to be performed on a host with Internet access. Not all hosts at SLAC have that, but the members of e.g. psexport pool do. In what follows, the absolute path /path/to/cctbx/directory should be replaced with something more appropriate. The directory should accessible everywhere cctbx.xfel is to be run.

$ mkdir -p /path/to/cctbx/directory
$ cd /path/to/cctbx/directory
$ wget http://cci.lbl.gov/cctbx_build/results/2013_08_13_0005/cctbx_bundle.tar.gz
$ wget http://cci.lbl.gov/~hattne/labelit/labelit_bundle_20130814.tar.gz

{{#invoke:Message box|mbox}}

Extract the sources:

$ mkdir cctbx_project
$ tar -xpvzf cctbx_bundle.tar.gz -C cctbx_project --strip-components=1
$ tar -xpvzf labelit_bundle_20130814.tar.gz

Add the cxi_user directory and its __init__.py module. This defines the default integration algorithm used by cctbx.xfel.

$ mkdir cxi_user
$ cat > cxi_user/__init__.py << EOF
from xfel.mono_simulation.mono_treatment import post_outlier_rejection
from xfel.mono_simulation.mono_treatment import pre_get_predictions
EOF

Configure the source tree

This next two steps require access to a C++ compiler and a Python interpreter. At SLAC, the members of the psexport pool do not have any compilers installed, but the interactive nodes, reachable via psanacs, do. The Python interpreter used to configure the source tree must be the same interpreter the PSDM suite uses. That interpreter can be located using find, e.g.

$ find $SIT_ROOT/sw/external/python -perm /0111 -type f -wholename "*/$SIT_ARCH/*/python" 2> /dev/null

At SLAC this interpreter is located somewhere under /reg/g/psdm/sw/external/python. Then create and initialize the build directory using the appropriate Python interpreter. Developers may want to use slightly different configuration options, see Installation for developers.

$ mkdir -p /path/to/cctbx_build
$ cd /path/to/cctbx_build
$ python /path/to/cctbx/directory/cctbx_project/libtbx/configure.py xfel

where python should be substituted with output of the previous find command. The name and location of the build directory is arbitrary; /path/to/cctbx/directory/cctbx_build is a common choice.

Now, initialise the running shell using the newly created configuration files. bash-users should do

$ . setpaths.sh

while csh-users should instead run

% source setpaths.csh


Compile the sources

If building at SLAC, log into one of the psanacs nodes. Then compile:

$ make

On SLAC's interactive nodes, this takes just over 6 minutes. To finalize the installation, see Setup.


External links