Molecular Dynamics

RELION 3.1.2 Release

March 4, 2021
7 min read
blog-relion-v3.1.2.jpg

RELION 3.1.2 Now Available

RELION 3.1.2 was released on March 4, 2021.

You can download the newest release here.

This is a minor update from RELION 3.1.1. Everyone using RELION 3.1.1 or earlier should upgrade to this version.

Changes since RELION 3.1.1 include:

  • We are migrating documentation from RELION wiki to ReadTheDocs.
  • libtiff is no longer optional; it is necessary for compilation
  • Switch to FFTW 3.3.8 from 3.3.4 (earlier versions are broken for GCC 8: http://www.fftw.org/release-notes.html)
  • Support the AMD-optimized version of FFTW with the -DAMDFFTW ONoption in CMake
  • 3DCTF: fix a bug reported by @dtegunov (#710)
  • relion_image_handler: do not add image index to filenames in STAR file if an image file is not a stack (#705)
  • CTFFIND wrapper: support (non-movie) TIFF images (#728, thanks to @gruchalla)
  • GUI: do not add --sigma_rot, --sigma_tilt, --sigma_psi for local search in Refine3D
  • Suppress warnings about private TIFF tags in EER (#735)
  • Multibody: support SIDESPLITTER (please use the latest wrapper)
  • Fix issues with undefined labels in STAR files (#641)
  • Replace controversial technical terms regarding MPI (#739)

Unfortunately, there are several remaining issues to be fixed in later updates. Frequent problems include:

  • Reboxing in a subtract job consumes a huge amount of RAM. This is actually a GLIBC, not RELION, issue. A workaround is described in #673.
  • It might fail to compile with GCC and Intel MKL on some Linux distributions. A patch (58bffcb) is described in #731.

See https://github.com/3dem/relion/issues for details.

What is RELION?

RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone, open source computer program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM). It is developed in the group of Sjors Scheres at the MRC Laboratory of Molecular Biology. Whereas alternative approaches often rely on user expertise for the tuning of parameters, RELION uses a Bayesian approach to infer parameters of a statistical model from the data.


Interested in getting faster cryo-EM results?
Learn more about RELION GPU Accelerated Systems for Cryo-EM


Options for accelerated versions

Parts of the cryo-EM processing pipeline can be very computationally demanding, and in some cases special hardware can be used to make these faster. There are two such cases at the moment;

  • GPU acceleration: RELION only supports CUDA-capable GPUs of compute capability 3.5 or higher.
  • Vectorized CPU code path: RELION only supports GCC and ICC 2018.3 or later.

Note that you cannot have both acceleration in the same binary at the moment.

There are more benefits than speed; the accelerated versions also have a decreased memory footprint. Details about how to enable either of these options is listed below.

GPU-acceleration

Tools that are GPU-accelerated:

  • relion_refine (i.e. Class2D, Class3D, Refine3D, Multibody refinement)
  • relion_autopick

Classification without alignment is not accelerated.

When CUDA SDK is available, GPU support is automatically compiled.

Use

If you run relion_refine with a the “--gpu” flag, you will run the accelerated CUDA version of the kernels. If you leave out the “--gpu” flag, it will run the original CPU version.

CPU-acceleration

Tools that are CPU-accelerated (vectorized):

  • relion_refine (i.e. Class2D, Class3D, Refine3D, Multibody refinement)

Classification without alignment is not accelerated.

To build with support for CPU-accelerated kernels in addition to the original CPU version, build by setting ALTCPU=ON

cd build
rm -r *
cmake -DALTCPU=ON ..
make
make install

This will require the Intel TBB (Threading Building Blocks) library. RELION will look for TBB, and fetch and install it when it is missing on your system. You can force this behavior (and make sure you are using the latest version) by adding:

-DFORCE_OWN_TBB=ON

In addition, you can make use the Intel Math Kernel Library (Intel MKL). This is optional (but will scale better with increased threads). Add this by:

-DMKLFFT=ON

Use

If you run relion_refine with a the “--cpu” flag, you will run the accelerated version. If you leave it the original CPU version will be run. You should use this flag if you can, unless you want to verify old runs or behavior.

For details on how to compile with Intel compilers and optimal runtime configurations, please look at their wiki.


Have any questions about RELION or other applications for molecular dynamics?
Contact Exxact Today


blog-relion-v3.1.2.jpg
Molecular Dynamics

RELION 3.1.2 Release

March 4, 20217 min read

RELION 3.1.2 Now Available

RELION 3.1.2 was released on March 4, 2021.

You can download the newest release here.

This is a minor update from RELION 3.1.1. Everyone using RELION 3.1.1 or earlier should upgrade to this version.

Changes since RELION 3.1.1 include:

  • We are migrating documentation from RELION wiki to ReadTheDocs.
  • libtiff is no longer optional; it is necessary for compilation
  • Switch to FFTW 3.3.8 from 3.3.4 (earlier versions are broken for GCC 8: http://www.fftw.org/release-notes.html)
  • Support the AMD-optimized version of FFTW with the -DAMDFFTW ONoption in CMake
  • 3DCTF: fix a bug reported by @dtegunov (#710)
  • relion_image_handler: do not add image index to filenames in STAR file if an image file is not a stack (#705)
  • CTFFIND wrapper: support (non-movie) TIFF images (#728, thanks to @gruchalla)
  • GUI: do not add --sigma_rot, --sigma_tilt, --sigma_psi for local search in Refine3D
  • Suppress warnings about private TIFF tags in EER (#735)
  • Multibody: support SIDESPLITTER (please use the latest wrapper)
  • Fix issues with undefined labels in STAR files (#641)
  • Replace controversial technical terms regarding MPI (#739)

Unfortunately, there are several remaining issues to be fixed in later updates. Frequent problems include:

  • Reboxing in a subtract job consumes a huge amount of RAM. This is actually a GLIBC, not RELION, issue. A workaround is described in #673.
  • It might fail to compile with GCC and Intel MKL on some Linux distributions. A patch (58bffcb) is described in #731.

See https://github.com/3dem/relion/issues for details.

What is RELION?

RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone, open source computer program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM). It is developed in the group of Sjors Scheres at the MRC Laboratory of Molecular Biology. Whereas alternative approaches often rely on user expertise for the tuning of parameters, RELION uses a Bayesian approach to infer parameters of a statistical model from the data.


Interested in getting faster cryo-EM results?
Learn more about RELION GPU Accelerated Systems for Cryo-EM


Options for accelerated versions

Parts of the cryo-EM processing pipeline can be very computationally demanding, and in some cases special hardware can be used to make these faster. There are two such cases at the moment;

  • GPU acceleration: RELION only supports CUDA-capable GPUs of compute capability 3.5 or higher.
  • Vectorized CPU code path: RELION only supports GCC and ICC 2018.3 or later.

Note that you cannot have both acceleration in the same binary at the moment.

There are more benefits than speed; the accelerated versions also have a decreased memory footprint. Details about how to enable either of these options is listed below.

GPU-acceleration

Tools that are GPU-accelerated:

  • relion_refine (i.e. Class2D, Class3D, Refine3D, Multibody refinement)
  • relion_autopick

Classification without alignment is not accelerated.

When CUDA SDK is available, GPU support is automatically compiled.

Use

If you run relion_refine with a the “--gpu” flag, you will run the accelerated CUDA version of the kernels. If you leave out the “--gpu” flag, it will run the original CPU version.

CPU-acceleration

Tools that are CPU-accelerated (vectorized):

  • relion_refine (i.e. Class2D, Class3D, Refine3D, Multibody refinement)

Classification without alignment is not accelerated.

To build with support for CPU-accelerated kernels in addition to the original CPU version, build by setting ALTCPU=ON

cd build
rm -r *
cmake -DALTCPU=ON ..
make
make install

This will require the Intel TBB (Threading Building Blocks) library. RELION will look for TBB, and fetch and install it when it is missing on your system. You can force this behavior (and make sure you are using the latest version) by adding:

-DFORCE_OWN_TBB=ON

In addition, you can make use the Intel Math Kernel Library (Intel MKL). This is optional (but will scale better with increased threads). Add this by:

-DMKLFFT=ON

Use

If you run relion_refine with a the “--cpu” flag, you will run the accelerated version. If you leave it the original CPU version will be run. You should use this flag if you can, unless you want to verify old runs or behavior.

For details on how to compile with Intel compilers and optimal runtime configurations, please look at their wiki.


Have any questions about RELION or other applications for molecular dynamics?
Contact Exxact Today