For a description of the approach, please read our (open-access) paper in Structure.
In order to further facilitate the uptake of this method by the community, we also wrote a step-by-step protocol for Nature Protocols. While this draft is under review, you can already read it on bioRxiv. The ribosome data set described in that paper and all our intermediate results are also available from the EMDB's EMPIAR data base (accession number EMPIAR-10045). New users are recommended to replicate/follow these results on their own system in order to learn the approach.
As in single-particle projects, also sub-tomogram averaging is organized in a single ProjectDirectory for each structure/project (also see the recommended procedures). Inside this directory it is recommended to make a
Tomograms directory. Inside this directory, one should make a separate directory for each of the recorded tomograms (e.g.
Tomograms/tomo0001). (Optionally, the
Tomograms/ directory may contain sub-directories to group sets of tomograms, because for example they were collected on different days (e.g.
Tomograms/12Mar2015/tomo0001). You are free to choose whatever names for your directories and your tomograms. We have only tested this script for IMOD tomogram reconstructions, but there is no reason why other software packages could not be used. The important thing is to save the tomogram in MRC format, and with a
.mrc extension. In each of the individual tomogram directories you will need 5 files:
tomo.mrc : the actual reconstructed tomogram tomo.mrcs : the aligned tilt series in MRC-stack format (e.g. save this from IMOD) tomo.coords: a text file with 3 columns: the X, Y and Z coordinates of each subtomogram (e.g. save this from IMOD) tomo.order : a text file with 2 columns: the tilt angle of each image in tomo.mrcs and the accumulated dose in electron/A2 for that image. tomo.tlt : a text file with the final tilt angles from IMOD. If this is not provided then the extended header of the .mrcs will be read.
You are free to change the rootname of these files (in this case "tomo"), but the extensions have to be like the ones above.
Generating STAR files and a script for CTF-reconstruction
Tanmay Bharat wrote the relion_prepare_subtomograms.py script to run CTFFIND on all images of the tilt series stack. Please note that an extension of this script to include CTF-estimation from two neighbouring exposure areas is still pending. This script also generates the input
particles_subtomo.star file for sub-tomogram refinement, and the STAR files that are required for the reconstruction of the 3D CTF models for each subtomogram. In addition, this script generates a shell script (called
tomo_reconstruct_ctfs.sh) inside the directory for each tomogram.
Note that the relion_prepare_subtomograms.py script depends on python, IMOD, RELION and CTFFIND (version 3 or 4). The input for this script is a RELION-type STAR file with one line for each tomogram. It looks like this:
data_ loop_ _rlnMicrographName Tomograms/tomo001/tomo.mrc Tomograms/tomo002/tomo.mrc Tomograms/tomo003/tomo.mrc
One way to make it would be:
relion_star_loopheader rlnMicrographName > all_tomograms.star ls Tomograms/tomo???/*.mrc >> all_tomograms.star
After making this STAR file, edit the header of the relion_prepare_subtomograms.py script to provide information about the experimental setup and execute it using:
Generating 3D CTF models for sub-tomogram averaging
The relion_prepare_subtomograms.py script also generates a shell script called
do_all_reconstruct_ctfs.sh, which calls to each of the
tomo_reconstruct_ctfs.sh in the
Tomograms/ subdirectories. This script needs to be executed from the command line to perform the reconstructions for the 3D CTF models of all subtomograms from all tomograms. You may parallelise its execution as is most suited for your computer setup.
Extract sub-tomograms using RELION as you would do for 2D micrographs. Always launch the relion GUI from the ProjectDirectory. Use the
all_tomograms.star file generated above as the "micrograph STAR file" on the I/O tab of the particle extraction jobtype. The "Coordinate-file suffix" on that tab should be set to ".coords". The "Extract rootname" on the I/O tab and the "Particle box size" on the extract tab should be set to the same values as used in the header of the relion_prepare_subtomograms.py script. Do not forget to fill in the parameters of pixel size and particle diameter on the General jobtype of the GUI as well!
Executing this RELION job will extract and normalize all 3D subtomograms. Note that this job will generate a STAR file called
subtomo.star (assuming the "Extract rootname" was
subtomo). This STAR file should NOT be used for further processing. Instead, one should use the
particles_subtomo.star file that was generated as described above by the relion_prepare_subtomograms.py script.
Note that at the particle extraction step, one could also project each 3D subtomogram along the Z-direction to yield 2D particles by providing the additional argument
--project3d on the Running tab. In this case, you should use a different "Extract rootname" (e.g.
particles2d), and use the generated
particles2d.star file for standard single-particle processing in RELION. For example, you may want to run 2D class averaging to select good particles. The following relion_2Dto3D_star.py script may be helpful in converting the STAR file with selected 2D projections back into selected 3D sub-tomograms.
You can now run 3D Auto-Refine or 3D classification jobs using your 3D subtomogram particles by using the
particles_subtomo.star file as Input images STAR file on the I/O tab. From here on, everything is analogous to the single-particle cases, including all analyse results options.