Running RELION

From Relion
Jump to navigation Jump to search

Using the GUI

The graphical user-interface (GUI) has been designed to provide an intuitive interaction with the user. It is strongly recommended to always run the GUI from the same directory for a given data set. The GUI may be launched from the command line by typing the command relion. A screenshot is given below.

Screenshot of RELION's GUI

RELION may be used to perform different tasks (run types). The following run-types may be selected from the drop-down menu at the top of the GUI:

  • 2D averaging: calculate reference-free 2D class averages
  • 3D reconstruction: perform 3D (multi/single-reference) refinements

The GUI consists of multiple tabs, each of which needs to be filled in by the user. Each line in these tabs corresponds to an option and has a yellow input field, in which the corresponding values may be typed directly. Filenames may also be selected using the Browse button, and numbers may be also be selected using a Slider bar. If there is a limited number of pre-defined values, a drop-down menu is provided. Documentation for each of the options is given by pressing the "?" button on the corresponding line. Some options become deactivated, depending on the setting of others. This is to provide the user with only the minimum amount of options needed. In addition, a drop-down menu is available to choose between starting a new run or continuing an previous run. Continuing from an old run typically requires only input for options that are to be changed (e.g. a higher number of iterations, or a finer angular sampling).

Jobs may be submitted using the Run! button in the Running tab. If the Submit to queue? option is set to No, the job will be launched locally. Otherwise, the job will be send to the queueing system (provided correct installation and setup, see here). Upon execution, a file with the current GUI settings is saved as output_rootname_gui3d.settings (or gui2d), where the output_rootname is controlled by the Output rootname: option in the I/O tab. The next time the GUI is launched these settings may be retrieved again using the Load settings entry in the File menu, or by presing LEFT_ALT-L. By default, the GUI will load the settings of the last run that was submitted previously from that directory.

Upon submitting a new run, the Run! button is deactivated. This prevents accidental submission of multiple identical runs. Re-activation of the run button may be done by the Reactivate Run entry in the File menu, or by presing LEFT_ALT-R

Using the command-line interface

RELION may also be run from the command line interface. A list of all available options may be printed to screen using the command: relion_refine. Warnings will be issued if undefined command-line options are being given. Note that the GUI (see above) comprises a button (print command) that may be used to generate command line arguments for you.

Parallelisation

MAP refinements may be costly (in particular the 3D ones), so one typically runs RELION using multiple CPUs in parallel. To this purpose a hybrid parallelisation scheme is implemented, consisting of MPI (Message Passing Interface) for distributed-memory parallelisation, and POSIX threads for shared-memory parallelisation. MPI is typically used to run on distinct computing nodes of a cluster, while the threads are used to make full use of the shared memory of modern multi-core processors. MPI execution requires installation of an MPI implementation, such as openMPI or MPICH, on your system. Please check with your system administrator for details. Running multiple threads does not require any additional installation and is controlled by the command-line argument --j. However, note that MPI-parallelisation is done on a higher level than threads-parallelisation, which means that MPI is typically more efficient. Therefore, the use of threads is recommended only in cases where MPI is unavailable and/or memory limitations form a problem (e.g. for very large images, or many classes). Running jobs that use both MPI and threads (e.g. on a cluster of multiple multi-core nodes) is straightforward, but may require changes to the setup of your queueing system: again ask the system administrator of your cluster for more details.

Continuing an old run

If after completion of a run one decides the refinement had not yet converged, or if one wants to perform additional iterations with for example a finer angular sampling, one can continue an old run by selecting the corresponding option from the drop-down menu at the top of the GUI. The number of iterations of the new run should be higher than the iteration from which to continue, as the iteration numbering will continue from the latter. Note that some options cannot be changed upon continuing an old run, and these are deactivated in the GUI. The GUI will add an extension "_ctX" (with X being the iteration from which to continue the old run) to the output rootname.