Difference between revisions of "Setup"

From cctbx_xfel
Jump to: navigation, search
(Reorganizend per-shell configuration into lists.)
(Prerequisities)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
LCLS provides several frameworks for data analysis, and also provides methods for translating collected data to HDF5, a general and portable container format for storage of large amounts of numerical data.  ''cctbx.xfel'' extends the LCLS analysis packages with a set of analysis modules.  In particular, the ''cctbx.xfel'' analysis modules are run through ''pyana'', the Python-implementation of LCLS's analysis framework.  Since analysis proceeds directly from the raw data, no intermediate conversion is necessary, and it can be done while an experiment is running.
+
<!-- XXX Should probably rename this page to "Set up ''cctbx.xfel''" or some such -->
  
''cctbx.xfel'' is installed at SLAC for general use.  Before it can be used, the following setup commands need to be run to configure the environment.
 
  
== One-time setup ==
+
== Prerequisities ==
  
These steps need only be performed once before using ''cctbx.xfel''.
+
The installation root directories of ''cctbx.xfel'' affect the absolute paths used in the following instructions and differ from site to site.  Some common installation root directories are listed below.
 +
{| class="wikitable sortable"
 +
|-
 +
! Site
 +
!class="unsortable"| Installation build directory
 +
!class="unsortable"| Installation source directory
 +
!class="unsortable"| Notes
 +
|-
 +
| BNL
 +
| <code>/usr/local/crys_test/cctbx/cctbx_build</code>
 +
| <code>/usr/local/crys_test/cctbx</code>
 +
|
 +
|-
 +
| CCI, LBNL
 +
|
 +
|
 +
| No central, shared installation available
 +
|-
 +
| NERSC
 +
|
 +
|
 +
| No central, shared installation available
 +
|-
 +
| SLAC
 +
| <code>/reg/g/cctbx/build</code>
 +
| <code>/reg/g/cctbx/sources</code>
 +
|
 +
|}
 +
''cctbx.xfel'' can be installed anywhere on the filesystem where write access is granted.  Developers will generally have ''cctbx.xfel'' installed in their home directory.  Even if ''cctbx.xfel'' is already installed, the environment must first be [[Set up PSDM software | prepared for the PSDM software distribution]].
  
=== LCLS release setup ===
+
== ''cctbx.xfel'' setup ==
  
A ''test release'', which refers to a particular release of the LCLS packages, is represented by a directory in the file system, often called <code>analysis-rel</code> or <code>myrelease</code>. An analysis package within the test release in turn refers to the files implementing the analysis modules of ''cctbx.xfel''. Installation of a "test release" and analysis packages is covered in [https://confluence.slac.stanford.edu/display/PCDS/Analysis+Workbook.+Quick+Tour Analysis WorkbookQuick Tour].  Linking the ''cctbx.xfel'' analysis modules to the analysis package is described in [[#Linking cctbx.xfel to pyana|Linking cctbx.xfel to pyana]].
+
To start using ''cctbx.xfel'', the environment has to be configured.  The details depend on the ''cctbx.xfel'' installation root directories and the user's shell.
 +
In what follows <code><b><i>/path/to/cctbx/build</i></b></code> and <code><b><i>/path/to/cctbx/sources</i></b></code> should be replaced with the actual build  and source directories of the ''cctbx.xfel'' installation.  bash-users can prepare the environment for ''cctbx.xfel'' using
 +
$ . <b><i>/path/to/cctbx/build</i></b>/setpaths.sh
 +
From a csh, the corresponding command is
 +
% source <b><i>/path/to/cctbx/build</i></b>/setpaths.csh
 +
Sourcing <code>setpaths</code> only modifies the environment of the <em>current shell</em>, and would have to be repeated every time a new shell is startedTo make the changes persistent, add
 +
test -r <b><i>/reg/g/cctbx/build</i></b>/setpaths.sh && \
 +
  . <b><i>/reg/g/cctbx/build</i></b>/setpaths.sh
 +
to <code>~/.bashrc</code>, or
 +
test -r <b><i>/reg/g/cctbx/build</i></b>/setpaths.csh && \
 +
  source <b><i>/reg/g/cctbx/build</i></b>/setpaths.csh
 +
to <code>~/.cshrc</code> as appropriate.
  
=== ''cctbx.xfel'' setup ===
+
To make the ''cctbx.xfel'' analysis modules available to PSDM's ''pyana'',
To start using an installation of ''cctbx.xfel'', the environment has to be configured. The details depend on the user's shell.
+
  $ cd <b><i>/path/to/test/release</i></b>
 
+
  $ sit_setup
<ul>
+
  $ cd <b><i>my_ana_pkg</i></b>
<li>
+
  $ ln -fns <b><i>/path/to/cctbx/sources</i></b>/cctbx_project/xfel/cxi/cspad_ana src
For a bash(1) shell, <code>setpaths.sh</code> should be sourced from the shell configuration files.  To do that, add
+
<pre>test -r "/reg/d/ffb/cxi/temp/cctbx/build/setpaths.sh" && \
+
  . "/reg/d/ffb/cxi/temp/cctbx/build/setpaths.sh"</pre>
+
to <code>~/.bashrc</code>. This ensures the environment is properly prepared for non-interactive shells, ''e.g.'' the shells that are used to run jobs on the cluster.  To also be able to use ''cctbx.xfel'' from interactive shells, ''e.g.'' the shell started after logging in to a host, it is recommended to put
+
<pre>test -r "${HOME}/.bashrc" && . "${HOME}/.bashrc"</pre>
+
near the top of <code>~/.bash_profile</code>. These changes will not take effect until a new shell is started.  To start using the ''cctbx.xfel'' environment from the running shell, source <code>setpaths.sh</code> on the command line,
+
<pre>. /reg/d/ffb/cxi/temp/cctbx/build/setpaths.sh</pre>
+
</li>
+
 
+
<li>
+
csh(1)-users should instead source <code>setpaths.csh</code>. Add
+
<pre>test -r "/reg/d/ffb/cxi/temp/cctbx/build/setpaths.csh" && \
+
  source "/reg/d/ffb/cxi/temp/cctbx/build/setpaths.csh"</pre>
+
to <code>~/.cshrc</code>. There is no need to edit any additional files for interactive shells.  To set up the environment for the running shell, execute
+
<pre>source /reg/d/ffb/cxi/temp/cctbx/build/setpaths.csh</pre>
+
on the command line.
+
</li>
+
</ul>
+
 
+
=== Linking ''cctbx.xfel'' to ''pyana'' ===
+
 
+
Run these commands to associate ''pyana'' and ''cctbx.xfel'':
+
$ cd ~/myrelease/my_ana_pkg
+
$ ln -s /reg/d/ffb/cxi/temp/cctbx/cctbx_xfel/sources/cctbx_project/xfel/cxi/cspad_ana src
+
 
  $ cd ..
 
  $ cd ..
 
  $ scons
 
  $ scons
The last step compiles the analysis modules just linked in.
+
where <code><b><i>/path/to/test/release</i></b></code> and <code><b><i>my_ana_pkg</i></b></code> are the path to the test release and the name of the analysis package chosen while [[Set up PSDM software | setting up the PSDM software distribution]].  The last step compiles the ''cctbx.xfel'' analysis modules. These steps need only be performed once.
 
+
== Run each time on logging on to SLAC ==
+
 
+
Whenever you log on to a fresh shell at SLAC, before you can use any portion of ''cctbx.xfel'' that uses pyana, you must run these commands:
+
  $ cd ~/myrelease
+
$ sit_setup
+
  
== Test the installation ==
+
<!--
At SLAC, test that it is working by e.g.
+
At SLAC, test that it is working by <i>e.g.</i>
$ cd ~/myrelease
+
  $ cxi.pyana -c /reg/g/cctbx/tutorials/setup/test.cfg /reg/d/ana11/cxi/data/Mar2013calib/xtc/e236-r0004-s00-c00.xtc
  $ cxi.pyana -c /reg/d/ffb/cxi/temp/cctbx/tutorials/setup/test.cfg /reg/d/ffb/cxi/temp/Feb2013calib/e290-r0069-s00-c00.xtc
+
This should start a viewer, displaying dark-subtracted averages from an XTC stream. Press the green run button to see the images.  This particular stream has a series of misses at its beginning; hits will appear presently.  More specifically, this command starts ''pyana'' with a configuration file (<code>-c</code>) and an XTC file.  For more information, see the [[Overview]] and other tutorial pages.
This should start a viewer, displaying dark-subtracted averages from an XTC stream.
+
-->

Latest revision as of 19:09, 5 March 2015


Prerequisities

The installation root directories of cctbx.xfel affect the absolute paths used in the following instructions and differ from site to site. Some common installation root directories are listed below.

Site Installation build directory Installation source directory Notes
BNL /usr/local/crys_test/cctbx/cctbx_build /usr/local/crys_test/cctbx
CCI, LBNL No central, shared installation available
NERSC No central, shared installation available
SLAC /reg/g/cctbx/build /reg/g/cctbx/sources

cctbx.xfel can be installed anywhere on the filesystem where write access is granted. Developers will generally have cctbx.xfel installed in their home directory. Even if cctbx.xfel is already installed, the environment must first be prepared for the PSDM software distribution.

cctbx.xfel setup

To start using cctbx.xfel, the environment has to be configured. The details depend on the cctbx.xfel installation root directories and the user's shell. In what follows /path/to/cctbx/build and /path/to/cctbx/sources should be replaced with the actual build and source directories of the cctbx.xfel installation. bash-users can prepare the environment for cctbx.xfel using

$ . /path/to/cctbx/build/setpaths.sh

From a csh, the corresponding command is

% source /path/to/cctbx/build/setpaths.csh

Sourcing setpaths only modifies the environment of the current shell, and would have to be repeated every time a new shell is started. To make the changes persistent, add

test -r /reg/g/cctbx/build/setpaths.sh && \
  . /reg/g/cctbx/build/setpaths.sh

to ~/.bashrc, or

test -r /reg/g/cctbx/build/setpaths.csh && \
  source /reg/g/cctbx/build/setpaths.csh

to ~/.cshrc as appropriate.

To make the cctbx.xfel analysis modules available to PSDM's pyana,

$ cd /path/to/test/release
$ sit_setup
$ cd my_ana_pkg
$ ln -fns /path/to/cctbx/sources/cctbx_project/xfel/cxi/cspad_ana src
$ cd ..
$ scons

where /path/to/test/release and my_ana_pkg are the path to the test release and the name of the analysis package chosen while setting up the PSDM software distribution. The last step compiles the cctbx.xfel analysis modules. These steps need only be performed once.