Averaging of subtomograms

From Dynamo
Revision as of 21:17, 3 December 2017 by Daniel Castaño (talk | contribs)

Jump to: navigation, search

Category:General steps

Averaging of subtomograms means applying an available set of alignment parameters onto a set of data particles and adding them together. Because of the missing wedge, a compensation in the Fourier space is operated during this step.

From the operative point of view, the particles are stored in a data folder, which are indexed by a table.

Through the command line

To operate manually averages of particles (given an available metadata), use the daverage command, or its GUI version dvarage_GUI. daverage, with the basic syntax:

 o = daverage( data,'t',table);  

in Matlab-like syntax, or

 o = daverage(data,'t',table);

in Linux-like syntax. In both cases, o is an output structure which includes as flags:

  • 'average_raw': the average of the particles, without any Fourier compensation.
  • 'fweight': count of contributions for each Fourier coefficient.
  • 'average': 'average_raw' compensated through 'fweight'.

The most important additional flags are:

  • 'mask': if a mask is provided and the normalization flag is tuned to 1 (as it is by default), each particle will be normalized to have zero mean and standard deviation 1 inside the passed mask before adding it to the average.
  • 'fcompensate' : if tuned to 1, a Fourier compensation step will be carried out.
  • 'fmin'  : minimum number of particles that need to contribute to a given Fourier component.
  • 'implicitRotationMask'. If tuned to 1, the contribution of the particle outside an interior sphere will be discarded to minimize rotation artifacts
    default value is one.

Inside an alignment project

At the end of each iteration, the refined table generated by Dynamo is used to produce an average, which will be used as starting template in the next iteration.

There are different project parameters that can be used to modify the default behaviour of the daverage command used inside an alignment project.

  • 'implicitRotationMask'
    default value is zero: this will introduce sharp edges contributing to the average, but will allow checking the features outside of the spherical mask.
  • 'fourierMinimumFractionForAverage'
    default value is -1: use all Fourier coefficients during missing wedge compensation.

Reproducing averaging steps of a project from the command line

It is possible to apply onto a set of particles exactly the same averaging flags that were using during the runtime of a project using the command dpkproject.pipeline.genericInput2Average.

o = dpkproject.pipeline.genericInput2Average(vpr,myTable,'ite',ite); 

Here, o would be the output of the daverage command as operated with the flags passed to it by in the project vpr. These flags can be obtained explicitely with a second left hand side:

 [o,flags] = dpkproject.pipeline.genericInput2Average(vpr,myTable,'ite',ite,'justFlags',1); 


It is possible to select the number of cores that will be used during the averaging. The project parameter is called matlab_workers_average (shortform mwa), and can be modified also in dcp GUI (in the section of environment variables).

This option is available for computations on a single server with several cores. It will not work for the current MPI implementation.