PyTom: 3D reconstruction of subtomograms from aligned projections

Overview

This section deals with the reconstruction of subtomograms according to the positions stored in a particle list, which can be the result of template matching (see Localization Tutorial) or of interactive localization using a tool like EMAN2. The reconstruction is performed by weighted backprojection with different reconstruction centers (= centers of particles).

Things you should know to avoid desaster

Take care during the reconstruction process for three things:

Reconstruct tutorial subtomograms using reconstructWB.py

Using the bin/reconstructWB.py script, you can reconstruct a set of subtomograms (or a single tomogram) from weighted and aligned projections by backprojection. As explained above you need to specify the correct parameters to ensure that the coordinates of your particle list and the projections correspond.

The script reconstructWB.py takes the following parameters:

In our tutorial data-set you will find a directory reconstructParticles where you can perform reconstruction of individual particles. The respective function call can be found in the reconstruct.sh script:

reconstructWB.py -p pl_first252.xml --projectionDirectory ../reconstructTomo/alignedProjections/ -s 25 -b 1 -o 0,0,192

Here, we reconstruct the first 252 particles from the 1000 particles localized in the previous step (-p pl_first252.xml). All particles will be reconstructed into the ../particles folder. Their cube size will be 25 pixels in each dimension. In the previous tomogram reconstruction step, the tomogram was reconstructed to a size of 512,512,128 pixels. The projections stored in ../reconstructTomo/alignedProjections have a size of 512,512, hence the coordinateBinning parameter is set to 1. However, the only realy complicated parameter here is the reconstruction offset determined to -o 0,0,192.

A preliminary average

After successfull reconstruction of all particles, the firstAverage.py stores the commands required to generate a preliminary average from all particles. The average should contain a ribosome. If not, please forward us a bug report through our mailing list.

#!/usr/bin/env pytom

from pytom.basic.structures import ParticleList

pl = ParticleList()
pl.fromXMLFile('pl_first252.xml')
pl.average('preliminaryAverage.em',progressBar=True)


Setting up reconstruction using a web browser

The PyTom user interface supports setting up a job for reconstruction of subtomograms using the coordinates stored in a particle list. A single tomogram can also be reconstructed this way. The file generated by the interface, job.sh (or whichever name you choose in the GUI) contains the call of the reconstructWB.py script with the specified parameters.