What’s new?

Release 3.1

Aberration corrections and optics groups

One of the major new features in relion-3.1 is a correction for higher-order aberrations in the data, i.e. besides the beamtilt correction already present in relion-3.0, the current version can also estimate and correct for trefoil and tetrafoil, as well as deviations from the nominal spherical aberration (Cs). The corresponding paper can be found on bioRxiv [ZNS20]. The signal to estimate these aberrations is calculated by averaging over particles from multiple micrographs. To allow for multiple subsets of a data set having different Zernike coefficients, relion-3.1 implements the new concept of optics groups. Optics groups are defined in a separate table called data_optics at the top of a STAR file, which will also contain a table called data_movies, data_micrographs or data_particles, depending on what type of images it refers to. The second table is similar to the content of STAR files in previous releases, but contains a new column called rlnOpticsGroup, which is also present in the data_optics table. Common CTF-parameters, like rlnVoltage and _`rlnSphericalAberration, but also the new rlnOddZernike and rlnEvenZernike, can be stored once for each optics group in the data_optics table, without the need to store them for each particle/micrograph in the second table.

The same program that handles higher-order aberrations can also be used to refine differences in (anisotropic) magnification between the reference and (groups of) the particles. Besides correcting for anisotropic magnification in the data, this is also useful when combining data from different scopes. As of release 3.1, the program that does 2D/3D classification and 3D refinement (relion_refine) can combine particles with different box sizes and pixel sizes in a single refinement, and the magnification refinement can be used to correct small errors in the (calibrated) pixel sizes. The box and pixel size of the input reference (or the first optics group in 2D classification) will be used for the reconstructions/class averages. You may want to check they are on the desired scale before running classifications or refinements!

Upon reading STAR files that were generated in older releases of relion, relion-3.1 will attempt to convert these automatically into the relion-3.1-style STAR files. Therefore, moving a project from an older release to relion-3.1 should be easy.

The External job-type

relion-3.1 allows execution of third-party software within the relion pipeline through the new External job-type. See this section for details on how to use this.

*Schedules* for on-the-fly processing

The python script relion_it.py in relion-3.0 has been replaced by a new framework of Schedules, which implement decision-based scheduling and execution of relion jobs. This comes with its own GUI interface. See Schedules for details on how to use this.

General tweaks

Several tweaks have been made to enhance user experience:

  • The pipeliner no longer looks for output files to see whether a job has finished. Instead, upon successful exit, all programs that are launched from within the relion pipeline will write out a file called RELION_EXIT_SUCCESS in the job directory. This avoids problems with subsequent execution of scheduled jobs with slow disc I/O.

  • Likewise, when encountering an error, all programs will write out a file called RELION_EXIT_FAILURE. The GUI will recognise these jobs and use a red font in the Finished jobs list. Note that incorrectly labeled jobs can be changed using the ‘Mask as finished’ or ‘Mark as failed’ options from the Job actions pull-down menu.

  • There is an ‘Abort running’ option on the Job actions pull-down menu, which will trigger the currently selected job to abort. This works because all jobs that are executed from within the relion pipeline will be on the lookout for a file called RELION_JOB_ABORT_NOW in their output directory. When this file is detected, the job will exit prematurely and write out a RELION_EXIT_ABORTED file in the job directory. Thereby, users no longer need to kill undesired processes through the queuing or operating system. The GUI will display aborted jobs with a strike-through red font in the Finished jobs list.

  • When a job execution has given an error, in previous releases the user would need to fix the error through the input parameters, and then launch a new job. They would then typically delete the old job. relion-3.1 allows to directly overwrite the old job. This is accessible on Linux systems through ALT+o or through the Overwrite continue option from the ‘File menu’. Note that the run.out and run.err files will be deleted upon a job overwrite.

Tweaks to helical processing

Several new functionalities were implemented for helical processing:

  • The relion_helix_inimodel2d program can be used to generate initial 3D reference maps for helices, in particular for amyloids, from 2D classes that span an entire cross-over (see this section).

  • The translational offsets along the direction of the helical axis can now be restricted to a single rise in 2D-classification.

  • The 3D refinement and 3D classification now can use a prior on the first Euler angle, (rlnAngleRotPrior), which was implemented by Kent Thurber from the Tycko lab at the NIH.