Setup: Difference between revisions

From cctbx_xfel
Jump to navigation Jump to search
m (Bug fix for csh)
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''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.
{{Archived}}


== One-time setup ==
<!-- XXX Should probably rename this page to "Set up ''cctbx.xfel''" or some such -->


These steps need only be performed once before using ''cctbx.xfel''.


=== LCLS quick start ===
== Prerequisities ==


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 the package. Details about installing of a test release and analysis packages are covered in [https://confluence.slac.stanford.edu/display/PCDS/Analysis+Workbook.+Quick+Tour Analysis Workbook.  Quick Tour].  Assuming the LCLS software is installed at <code>/reg/d/psdm</code>, the LCLS environment is prepared in a bash(1) shell using
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.
<pre>
{| class="wikitable sortable"
$ . /reg/g/psdm/etc/ana_env.sh
|-
</pre>
! Site
or
!class="unsortable"| Installation build directory
<pre>
!class="unsortable"| Installation source directory
% source /reg/g/psdm/etc/ana_env.csh
!class="unsortable"| Notes
</pre>
|-
for a csh(1).  These settings may be made persistent by adding
| BNL
<pre>
| <code>/usr/local/crys_test/cctbx/cctbx_build</code>
test -r /reg/g/psdm/etc/ana_env.sh && . /reg/g/psdm/etc/ana_env.sh
| <code>/usr/local/crys_test/cctbx</code>
</pre>
|
to <code>~/.bashrc</code>, or
|-
<pre>
| CCI, LBNL
test -r /reg/g/psdm/etc/ana_env.csh && source /reg/g/psdm/etc/ana_env.csh
|
</pre>
|
to <code>~/.cshrc</code> as appropriate.  A test released based on the most current LCLS software is then set up using
| No central, shared installation available
<pre>
|-
$ newrel ana-current myrelease
| NERSC
$ cd myrelease
|
$ newpkg my_ana_pkg
|
</pre>
| No central, shared installation available
Linking the ''cctbx.xfel'' analysis modules to the analysis package is described in [[#Linking cctbx.xfel to pyana|Linking cctbx.xfel to pyana]].
|-
| 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]].


=== ''cctbx.xfel'' setup ===
== ''cctbx.xfel'' setup ==
To start using an installation of ''cctbx.xfel'', the environment has to be configured.  The details depend on the user's shell.


<ul>
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.
<li>
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'' installationbash-users can prepare the environment for ''cctbx.xfel'' using
For a bash(1) shell, <code>setpaths.sh</code> should be sourced from the shell configuration files.  To do that, add
$ . <b><i>/path/to/cctbx/build</i></b>/setpaths.sh
<pre>test -r "/reg/g/cctbx/build/setpaths.sh" && \
From a csh, the corresponding command is
  . "/reg/g/cctbx/build/setpaths.sh"</pre>
% source <b><i>/path/to/cctbx/build</i></b>/setpaths.csh
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 clusterTo 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
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
<pre>test -r "${HOME}/.bashrc" && . "${HOME}/.bashrc"</pre>
test -r <b><i>/reg/g/cctbx/build</i></b>/setpaths.sh && \
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,
  . <b><i>/reg/g/cctbx/build</i></b>/setpaths.sh
<pre>. /reg/g/cctbx/build/setpaths.sh</pre>
to <code>~/.bashrc</code>, or
</li>
test -r <b><i>/reg/g/cctbx/build</i></b>/setpaths.csh && \
 
  source <b><i>/reg/g/cctbx/build</i></b>/setpaths.csh
<li>
to <code>~/.cshrc</code> as appropriate.
csh(1)-users should instead source <code>setpaths.csh</code>.  Add
<pre>test -r "/reg/g/cctbx/build/setpaths.csh" && \
source "/reg/g/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/g/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'':
To make the ''cctbx.xfel'' analysis modules available to PSDM's ''pyana'',
  $ cd ~/myrelease
  $ cd <b><i>/path/to/test/release</i></b>
  $ sit_setup
  $ sit_setup
  $ cd ~/myrelease/my_ana_pkg
  $ cd <b><i>my_ana_pkg</i></b>
  $ ln -s /reg/g/cctbx/sources/cctbx_project/xfel/cxi/cspad_ana src
  $ ln -fns <b><i>/path/to/cctbx/sources</i></b>/cctbx_project/xfel/cxi/cspad_ana src
  $ cd ..
  $ cd ..
$ ln -s /reg/g/cctbx/sources/cctbx_project/xfel/cxi/lsf.sh .
  $ 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.


=== Setup your scratch area ===
<!--
 
At SLAC, test that it is working by <i>e.g.</i>
Create a scratch folder and populate it with some directories that will be used during this tutorial, changing <username> to your SLAC account name:
 
$ cd /reg/g/cctbx/tutorials/scratch/
$ mkdir <username>
$ cd <username>
$ mkdir darks
$ mkdir averages
$ mkdir results
 
== 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.
$ 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/g/cctbx/tutorials/setup/test.cfg /reg/d/ana11/cxi/data/Mar2013calib/xtc/e236-r0004-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.
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.
 
-->
More specifically, this command starts pyana with a configuration file (-c) and an XTC file.  For more information, see the [[Overview]] and other tutorial pages.

Latest revision as of 18:34, 19 August 2026

This page has been archived


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.