De novo 3D model generation

relion-4.0 uses a gradient-driven algorithm to generate a de novo 3D initial model from the 2D particles. As of release 4.0, this algorithm is different from the SGD algorithm in the CryoSPARC program [PRFB17]. Provided you have a reasonable distribution of viewing directions, and your data were good enough to yield detailed class averages in 2D classification, this algorithm is likely to yield a suitable, low-resolution model that can subsequently be used for 3D classification or 3D auto-refine.

Running the job

Select the Select/job014/ file on the I/O tab of the 3D initial model jobtype. Everything is aready in order on the CTF. Fill in the Optimisation tab as follows (leave the defaults for the angular and offset sampling):

Number of iterations


(The algorithm will loop over mini-batches, which contain only hundreds to thousands of particles.)

Number of classes


(Sometimes, using more than one class may help in providing a ‘sink’ for sub-optimal particles that may still exist in the data set. In this case, which is quite homogeneous, a single class should work just fine.)

Mask diameter (A)


(The same as before).

Flatten and enforce non-negative solvent




(The actual refinement will be run in C1, which has been observed to converge better than performing it in higher symmetry groups. After the refinement, the relion_align_symmetry program is run to automatically detect the symmetry axes and the symmetry will be applied.)

Initial angular sampling:

15 degrees

(The default angular and offset samplings should be fine for most cases, perhaps with the exception of highly symmetric particles like viruses, which may require finer samplings.)

Offset search range (pix):


Offset search step (pix):


On the Compute tab, set:

Use parallel disc I/O?


Number of pooled particles:


Skip gridding?


Pre-read all particles into RAM?


(Again, this is only possible here because the data set is small. For your own data, you would like write the particles to a scratch disk instead, see below.)

Copy particles to scratch directory

Combine iterations through disc?


Use GPU acceleration?


Which GPUs to use


On the Running tab, set:

Number of MPI procs


(Remember that the gradient-driven algorithm does not scale well with MPI.)

Number of threads


Using the settings above, this job took 2 minutes on our system.

Analysing the results

You could look at the output map from the gradient-driven algorithm (InitialModel/job015/run_it100_class001.mrc) with a 3D viewer like UCSF chimera. You should probably conform that the symmetry point group was correct and that the symmetry axes were identified correctly. If so, the symmetrised output map (InitialModel/job015/initial_model.mrc) should look similar to the output map from the gradient-driven algorithm.