Relion is a CryoEM software suite mainly targeted to single particle analysis.
Loading the environment
Relion is installed using Environment Modules.
To use it at CSSB/DESY call:
For advanced users we have the following different versions installed:
- relion/3.0: a generic version for GPU and CPU analysis (default).
- relion/3.0-intel-cpuonly: a highly optimized CPU version for INTEL processors which works best when using mixed MPIs and threads.
- To avoid environment settings interference it might be best if you start the Relion user interface with the same module as you intend to run the analysis on the cluster.
- For performance analysis and optimal settings at the CSSB nodes have a look at the Relion benchmark section below.
Each computing cluster can be configured in various ways. Since Relion offers various run-time options (e.g. GPU, CPU, MPI, threading), we have extended the Relion user interface in combination with predefined submission templates to fit to the DESY Maxwell cluster.
The following entries in the Relion Running tab are added for DESY/CSSB Maxwell cluster support:
- CPUs per task: do not use every core so that the remaining tasks have more main memory per task on each node.
- Constraints: specify which type of CPU or GPU you want to have. The run performs best if all used nodes have the same hardware configuration (CPU/GPU-type, amount of cores, main memory).
- Nodes: used mainly for GPU or CPU with hybrid MPI/threading usage.
Relion3 Wizard Howto
When the CSSB nodes are all occupied, you can use the DESY all partition (queue) for computing. This will give you free nodes until the owners need their resources. Since the nodes in the all partition have different hardware specifications it can get quite tricky to calculate good performance settings. Therefore we provide a simple shell script to fill out the Relion GUI Running tab.
First look for free resources with the sinfo_detailed alias:
The output should be interpreted as follows:
- NODELIST: name of the computing node
- PARTITION: name of the partition (queue)
- CPUS: amount of cores per node
- NODES: amount of nodes with this configuration
- NODES (A/I): amount of nodes which are allocated or idle
- AVAIL_FEATURES: name tags of constraints used for specifying dedicated node features
Now you see that 5 of the CSSB nodes are idle and can be used. So you copy&paste the AVAIL_FEATURES information to the relion3_wizard.sh script. You can play with the options to experiment with settings. The wizard just prints information on the screen which you have to put in the Relion GUI by yourself!
Example 1: 5 CSSB nodes with the default relion/3.0 module
Example 2: 5 CSSB nodes with advanced socket bindings and the relion/3.0-intel-cpuonly module
Example 3: 2 CSSB GPU nodes
Calling the external programs MotionCor2 or Gctf works different compared to the other Relion MPI implementations (means the MPI master is also an MPI slave). Since both programs run very fast and do not need much GPU resources you can submit without MPI and to the old K40X GPUs which are most likely free all the time.
Tips & Tricks
Q: What do the Relion starfile meta data labels means (e.g. rlnAngleRot)?
You can get a list of all meta data with a short explanation by calling:
Or for a subset: