3D Reconstruction Protocol

Three-Dimensional Reconstruction Protocol
July 5
, 2007


1.  Scan images (or obtained digitized images)

2.  Check digital images, compute Power Spectrum
-Trim bad areas of micrograph (label, edges, etc.) in Adobe Photoshop or other program
-Run Bshow (bshow or bshowX from the command line)
-Open micrograph file (e.g. *.tif)
-Select "Image", "Power spectrum"
-Check "Average multiple power spectra" and "Tiles" boxes, "Logarithm" box should be unchecked, set "Tiles" to 512, 512, 1
-Select "OK"
-Check power spectrum (click on "Autoscale" to improve contrast). Be sure that rings are found 360 deg.  If not, the original micrograph has drift (particles moved as image was taken).
-Save file as *_ps.pif
-On command line set sampling with bhead "bhead -verbose 7 -sampling X.XX *_ps.pif *_ps.pif"

3.  "Box" particles in scanned images
-use programs (X3DPREPROCESS and jmap)
-Box particles only if there is no drift (step 2)
-Select identical particles in focal or tilt series
-to use jmap,
        *select 16 or more identical features in each micrograph
        *use script jmap.sh
        *select all particles in farthest-from-focus micrograph
        *use jmap to get coordinates in closer-to-focus micrograph
        *deselect particles that are off the image in the closer-to-focus micrograph
-to automatically select particles in X3DPREPROCESS
        *Click on "Preprocess", "Auto-pick origins"
        *Enter:  Center = 25 angs., Width = 2 angs., Pixel Size = ( scanner_step_size / magnification ) [change to angs.], Bin = 3
        *Click on "Ok"
        *Enter Inner and Outer Radius (e.g. for HBV try 60, 80)
        *Enter Bin Factor (e.g. 3-5)
        *Click "Transform"
        *After selection completes, slide bar to see peak count and particles selected
        *If selection is satisfactory, click "Ok".  Otherwise continue with new settings.
        *Be sure to browse through the selected particles to eliminate bad selections and select unselected particles
-to automatically select particles with jautopick, try the following
        *Enter "jautopick -verb 7 -bandpass 125,600 -feature 2 -threshold -10 -outparam *.star *.tif"
        *Use crd_to_star to convert to CRD format, enter "crd_to_star -s *.star -x *.crd -y"
        *Check selected particles to eliminate bad selections and select unselected particles
-Parameter settings:
        *Radius, the final radius should be set to include as much of the particle as necessary to include all features.  This may include
         more than you can see in the noisy image.  However, to center more accurately, you may wish to use a smaller radius when
         selecting particles.
        *Bad Radius, set one radius that includes all visible features in the particle of interest.  It can be smaller than the final "good"
 radius.  Don't worry about excluding barely visible extensions from the particle surface--even if those are included in the
 "good" radius.  It is best not to change this parameter because you will need to go back through the micrograph and readjust.
        *Fade Ring ("Fade"), typically set this at 3 pixels
        *Final Box Size = 2*(Final_Good_Radius + Fade_Ring) + 1
        *Initial Box Size = Final_Box_Size + A  (A = 35-60, 50 is an appropriate value).  Set this value early in the boxing process so
         you know what areas to exclude from the area used in the statistical calculations (between the circle and the square).
        *Normalization, mean = 127, standard deviation = 40
        *Filename, "[micrograph number]_particles", e.g. 2536_particles, this is the prefix only, suffix will be added based on format
        *File Type, select "PIF-Purdue", this will add ".pif" to output filename
        *Replace Background, masking should be turned on
        *Linear Gradient, correction should be turned on
        *OD should be OFF
-After all particles in a series have been selected, output particles to PIF-format file.  Use X3D "Preprocess","Run" command.


4.  Make Images Have Positive Contrast and Set Sampling
-Sampling is the size of each pixel step of one (also called "pixel size" or "voxel size").  Estimate the sampling:
        Determine the sampling size of the scanner used to scan the negative or image plate (e.g. 7.0 or 25.0 microns)
        Get the nominal magnification value used in the microscope
        Sampling (angs.) = (Scanner sampling, angstroms) / magnification
     The sampling will be calibrated later.
-Images from TEM will most likely have highest density features black.  This is "negative contrast" and will result in the highest densities being negative in the 3D reconstruction.  Contrast needs to be inverted to "positive contrast".
-Set sampling and invert contrast via the following command:
        bimg -invert -verbose 3 -sampling X.XX *_particles.pif *_particles.pif
     (older image files are overwritten)
-If you have many particle image files, you can make a script:
        #!/bin/tcsh
        bimg -invert -verbose 3 -sampling X.XX 6504_particles.pif 6504_particles.pif
        bimg -invert -verbose 3 -sampling X.XX 6505_particles.pif 6505_particles.pif
        . . .


5.  Determine parameters of the contrast transfer function and decay
-Run Bshow (bshow or bshowX from the command line)
-Calculate Power Spectrum from boxed particle images:
        *Open particle images file (*_particles.pif)
        *Select "Image", "Power spectrum"
        *Check "Average multiple power spectra" and "Tiles" boxes, "Logarithm" box should be unchecked
        *Select "OK"
        *Save file as *_particles_ps.pif
        *On command line set sampling with bhead "bhead -verbose 7 -sampling X.XX *_particles_ps.pif *_particles_ps.pif"
-Open *_ps.pif file
-Click on "Autoscale", expand view if you wish
-Check that pixel size is correct, if not, set the pixel size (use box, then resave or use bhead command above)
-Select "Micrograph", "Fit CTF" (Click "Proceed anyway" if a message warns that "No power spectrum was found".)
-Expand view: Scale (10-15, 50-5000), Origin settings can be used to shift x and y axes
-Click on "Quick"
-Click on "Baseline" and "updateCTF"
-Click on "Subtract", curve should now follow the x-axis
-Adjust resolution limits to just before the first valley (usually 25-35 angs.) and 8-10 angs.
-Optional:  click on "Baseline" again, click on "Envelope"
-Optional:  click on "Defocus"
-Determine astigmatism by either clicking on the "Astigmatism" button, or fitting by eye. For "by eye" fits, adjust "Defocus deviation"
 and "Astigmatism angle".  Try to match the peaks and valleys.  It is more important to match peaks and valleys along the x-axis
 than to match the y values.
-There is no way to "undo" a step if one of the automatic fitting buttons is pressed.  To avoid having to redo several steps, you may want to save the CTF parameters periodically:
        *Go to main Bshow window
        *Click "Micrograph", then "Write parameters"
        *Save as *.star (* = micrograph number)
-If the fit is messed up, do one of the following:
        *Read in a saved *.star file (in main Bshow window, click "Micrograph", then "Read parameters"
        *click on "Quick" (you may want to reset the resolution values to 50 and 4.6 first).
        *If neither of these options works, start over by reading in the power-spectrum file.
-After you have a satisfactory fit, save parameters as described above
    *Note:  It may be helpful to do the fitting of CTF defocus average, defocus deviation, and astigmatism angle on the power spectrum
     computed from the micrograph.  These values should be the same for power spectra computed from the micrograph or boxed set
     of particles.  However, your final CTF parameters should be based on the power spectrum computed from the particles because
     the baseline may be different.


6.  Organize Data
-Combine all *.star files into a single [project_name]_00.star file
-Be sure that each data block in the *_00.star file (each block begins with "data_") contains values for the following parameters.  Note that the program bmg can be used to set general parameters (e.g. Cs, voltage, amp_contrast, pixel size):

        _micrograph.id                        should be the number found on the micrograph (e.g. 2487)
        _micrograph.field_id                    should match with any other micrographs in series (e.g. 2487_2488)
        _micrograph.file_name                 should be present and be a local reference, as in ../micrographs/2487.tif
        _micrograph_particle.file_name            should be present and be a local reference as in ../particles/2487_particles.pif
        _micrograph_powerspectrum.file_name    should be present and be a local reference as in../ctf/2487_particles_ps.pif
        _micrograph.magnification                set value (e.g. 38000.0)
        _micrograph.pixel_size                should be set to correct value (e.g. 1.84)
        _micrograph.tilt_axis                    set for tilt experiments, value given in degrees (e.g. 23.0)
        _micrograph.tilt_angle                    set for tilt experiments, value given in degrees (e.g. -5.0)
        _micrograph.rotation_angle            set for farthest-from-focus micrograph in defocal series, get from "input coordinates"                                                 angle in jmap_results.txt, if close = x' and far = x in jmap_results.txt, then enter -angle
        _micrograph.ctf.amp_contrast            should be 0.07
        _micrograph.voltage                    enter in volts (e.g. for 120 kV, enter 1.2000e+05 or 120000.0
        _micrograph.ctf.Cs                    enter in angstroms (e.g. for 2.0 mm, enter 2.0000e+07
        _micrograph.box_radius                enter value in pixels
        _micrograph.bad_radius                enter value in pixels
    
-Add micrograph coordinates from *.star file 1) computed from jmap.sh (see #3 above) or 2) recompute from *.crd file via the following command: 
    "crd_to_star -s*.star -x*.crd -a -y -v1"
Micrograph coordinates will look like the following ("good" particles
are in the first loop, "bad" areas selected in particle picking are in second loop):

        loop_
        _particle.id
        _particle.micrograph_x
        _particle.micrograph_y
           1   1355.0  12551.0
           2   4525.0  11388.0
           3   4389.0   2340.0
           4   8361.0   1719.0
            . . .

        loop_
        _micrograph.bad_x
        _micrograph.bad_y
          1598.0  13872.0
          1492.0  13874.0
           . . .

-Each data block should also contain values for _micrograph.ctf.defocus_average, _micrograph.ctf.defocus_deviation, _micrograph.ctf.astigmatism_angle, _micrograph.ctf.first_zero, _micrograph.ctf.baseline, and _micrograph.ctf.envelope
-Separate files into the following directories:
        Directory                File(s)                                
        boxing                *.crd
        boxing/alignment        *_XXp.crd, jmap_results.txt, jmap*.sh
        ctf                    *_ps.pif
        iterations            *.star
        particles                *_particles.pif
        micrographs            *.tif (micrograph files only)


7.  Calibrate Starting Model ("spherical" particles only)
-Make "calibration" and "maps" directories.
-Retrieve starting model and put it in the "maps" directory
-Check that highest densities are positive (these densities should be white in Bshow), if not invert via commands in #6
-Retrieve circularly averaged image or averaged image from starting model data set, if none exists, then create one from the starting model via the following commands (in “maps” directory):
        pft2 -outprjpft output.pif -map input.map -symmetry 532
        delete output_pfts.pif file ("rm output_pfts.pif")
        jcircavg -verbose 1 -image model_circavg.map output_prjs.pif  (you may wish to give the output "circavg.map" a different
        name)
     keep model_circavg_avg.map (a sum of all the output_prjs.pif images) and model_circavg_circ.map (circular symmetrization of model_circavg_avg.map)
     files, the others can be deleted (including the output_prjs.pif file)
-In “iterations” directory, run the following command and note the highest numerical value:
        grep “_micrograph.ctf.first_zero” [project_name]_00.star
-Compute circularly averaged density from your data set (x should be greater than or equal to highest numerical value from
     previous step), in “iterations” directory:
        jcircavg -verbose 1 -image [project_name]_avg.map -lowhigh 0,x [project_name]_00.star
     keep [project_name]_avg.map and [project_name]_circ.map, either one can be used for calibration
-Move circularly averaged density files (output from jcircavg) to calibration directory
-Check and correct the following with bhead:
        *Be sure that the sampling is set correctly for each circular average, check with bhead
        *Be sure that the origins are set correctly for each circular average, they should be in center of image
        *Check:  "bhead -verbose 7 -information *.img"
        *Correct:  "bhead -verbose 3 -sampling X.XX -origin x,y,0 *.img *.img"
-Compute circularly averaged density (CAD) for each circular average:
        bradial -verbose 7 -radial 0,max_radius *.img > *_cad.txt
        (max_radius is in angs = sampling*max_radius[pixels], round to next highest whole number)
-Plot CAD
-Look for regions of similarity in the two plots, select continuous regions to use in the calibration
-Calibrations, run bradial twice, inverting two circular average files for second run.  Here are two examples:
        bradial -verbose 7 -radial 101,172 -fit standard.img circavg_avg.img > calib1.txt
        bradial -verbose 7 -radial 101,173 -fit circavg_avg.img standard.img > calib2.txt
      Important output is the following:
        Radial fit final parameters:
        Dimension scale:                1.97621
        Amplitude scale and shift:        3.0869 1.35983
        R:                            1.51361
     Dimension scale is radial scaling (x-axis in CAD).  Amplitude is y-axis scaling in CAD.
-Use parameters from calibration to adjust one plot to the other
-Adjust radial min. and max. if poor fit or if you want to do more fittings
-After you are satisfied with the fit, adjust size of starting model appropriately.  Use bint program to rescale 3D map:
       bint -verbose 7 -size t,t,t -scale u,u,u
-translate v,v,v input.img output.img
       where t = the box dimensions of the images in the new data set (number of pixels in each direction x,y,z), u = the scale factor needed to change the model size into the new size, and v = [ t(new) - t(model) ] / 2
-Check the central sections of the model and adjusted model (in Bshow) to be sure that the adj. model is centered correctly.


8.  Determine Orientations/Origins, Calculate Reconstruction
-Determine radial range.  (This task is probably most useful for spherical particles.)  Run pft2 with the following command:
        pft2 -bin 2 -mode sphere_search -map [rescaled_map.img] -resolution 90,25 -verbose 2 [project_name]_00.star
      after pft2 run is over, look at empft.rads file, last (average) table, choose an appropriate radial range.  Save last average
      table in a file empft_rads_00.txt (the 00 designates this as the first such test, you may wish to repeat this step later)
-Run iterations_01-09.sh, edit first to give parameter values for the project
-View reconstructions for each iteration in Bshow (to see sections) and in Chimera or Dino (to see surface rendering)
        to view in Dino, use "run script" option in File menu, use file dino_map.scr
-Plot resolution results (bresolve_*.txt), plot FSC vs. spatial freq. (FSC = Fourier shell correlation coefficient),
        plot only to the max. resolution of your map (or perhaps one step beyond if the values in the table aren't
        the same)
-Observe plots.  Does resolution improve, decline, or stay the same for successive iterations?  Select best iteration.


9.  Compute Final Reconstruction
-Determine relative scale factors for "best" iteration, use iterations_XXmag.sh (XX = iteration number).  Set parameters before running:
        ./iterations_XXmag.sh > iterations_XXmag.log &
-Apply a full CTF correction and then compute the final reconstruction, use recons_XX.sh (XX = iteration number).
-Plot bresolve output.  If resolution does not go below threshold before max. resolution of map, try computing reconstruction at higher resolution.


10.  Calibrate 3D Reconstruction
-Find a calibrated 3D density map that can be compared to your reconstruction.  In addition to it being similar or identical to your reconstruction, the standard map must have the CTF corrected in the same way.  In other words, both maps should have the CTF fully corrected, both maps should have only the CTF phases flipped, or both maps should not have any CTF correction.
-Check and correct the following with bhead:
        *Be sure that the sampling is set correctly for each map, check with bhead
        *Be sure that the origins are set correctly for each map, they should be in center of image
        *Check:  "bhead -verbose 7 -information *.img"
        *Correct:  "bhead -verbose 3 -sampling X.XX -origin x,y,z *.img *.img"
-Compute spherically averaged density (SAD) for each 3D map:
        bradial -verbose 7 -radial 0,max_radius *.img > *_sad.txt
        (max_radius is in angs = sampling*max_radius[pixels], round to next highest whole number)
-Plot SAD
-Look for regions of similarity in the two plots, select continuous regions to use in the calibration
-Calibrations, run bradial twice, inverting two 3D map files for second run.  Here are two examples:
        bradial -verbose 7 -radial 101,172 -fit standard.img your_recons.img > calib1.txt
        bradial -verbose 7 -radial 101,173 -fit your_recons.img standard.img > calib2.txt
      Important output is the following:
        Radial fit final parameters:
        Dimension scale:                1.97621
        Amplitude scale and shift:        3.0869 1.35983
        R:                            1.51361
     Dimension scale is radial scaling (x-axis in SAD).  Amplitude is y-axis scaling in SAD.
-Adjust radial min. and max. if poor fit or if you want to do more fittings
-After you are satisfied with the fit, use bhead to set the sampling of your reconstruction.

Document Actions
 

© Copyright 2008.