Difference: CemSingleParticle (9 vs. 10)

Revision 1010 Apr 2013 - Main.EdEng

 
META TOPICPARENT name="CemResearchProjects"
Single Particle Projects

Random Conical Tilt (RCT) procedure

methods used Oct 2012

Collect Data

  • Prepare grids - typically negative stain
  • Use SerialEM to collect tilt pairs : tilted then untilted at an angle ~50 degrees

Serial EM RCT script

RCT

# rct macro v2
# 05-21-12
# should have opened file for writing
# sould be eucentric on square
# should have set defocu target
# should be in low dose
# roll buffer limit set to M or less
# this one is for plain carbon -- no alignment to hole is done
# no pause if drift fails, continues macro 

MyAngle = 50  # set as desired
interval = 5 # set interval between photos for drift measurement
times = 8 # number of pictures
crit = 0.5  # drift must fall below this (nm/sec)
shot = Trial # type of image to take for drift measurement

T
copy A O # save current position
WalkUpTo $MyAngle

T   # to minimize image shift   
ResetImageShift
T
AlignTo B

Delay $interval
G
G  # autofocus twice

$shot
loop $times index
   $shot
   AlignTo B
   ReportAlignShift
   ClearAlignment
   dx = $reportedValue3
   dy = $reportedValue4
   dist = sqrt  $dx * $dx + $dy * $dy
   echo Distance = $dist nm
   if $dist < $crit
      echo drift is low enough after shot $index
      break
   endif
   if $index < $times
      echo warning drift is high in this image
   endif
EndLoop
R
S

WalkUpto 0
ResetImageShift
G
G
AlignTo O

$shot
loop $times index
   $shot
   AlignTo B
   ReportAlignShift
   ClearAlignment
   dx = $reportedValue3
   dy = $reportedValue4
   dist = sqrt  $dx * $dx + $dy * $dy
   echo Distance = $dist nm
   if $dist < $crit
      echo drift is low enough after shot $index
      break
   endif
   if $index < $times
      echo warning drift is high in this image
   endif
EndLoop
R
S

#

Processing

Make stack of particles for processing

Extract files from stack

  • If files were collected in SerialEM, they need to be exttracted to single files and converted to spider format
  • Command to extract all files to series of numbered MRC images:
    • /cryoem/script/extract.pl
  • Command to convert all .mrc files in current directory to spider files:
    • /cryoem/script/convert_mrc_spider (or use EmIP)
  • suggest to move the spider images to a micrographs/ subdirectory

Pick Particles

  • must use web or jweb (jweb recommended)
  • change to directory which contains the spider images, and type "jweb"
  • Best to choose option --> reduce 2-fold to start, otherwise there may not be enough room on screen to pick
  • Choose Open Image Series / Image Stacks
  • Choose the pair of images
  • Note that you may have to edit order, as the untilted image must be the FIRST image, but numerically it will probably be the second
  • In new Image Series window, choose the Markers_Tilt_Pair tab
  • Edit the Marker File number to match the image number of your untilted file
  • Click "Show/Edit Marker", and the pair of images should appear
  • Be sure that the images labeled "tilted" and "untilted" correspond to the right images
  • Find an untilted particle which is also easily visible in the tilted image
  • Left-click on the untilted particle
  • Focus will change to the tilted image. Left click on the corresponding tilted particle
  • Focus will move back to the untilted image. Repeat for around 5 particles
  • When several are picked, go back to the Markers/tilt pair tab
  • Click "Save Marker File" (this saves the particle locations)
  • Next click (in order) Determine Theta, Fit Anges, Draw Fitted Locations, and Save angles
  • Tilted image will now show the locations where you clicked (circles) and locations where it predicts particle should be (boxes)
  • Now, after clicking on untilted particle, mouse should jump to exact location of tilted particle, making the picking much easier
  • While working, occasionally click "Save Marker File" so as not not lose any work
  • When done, close the Image Series Viewer window.
  • Output files :
    • dcb000.spd (000 will be replaced by number entered in Marker File Number. Extension will be identical to image extension.)
    • dct000.spd
    • dcu000.spd
    • dft000.spd

Window particles

  • window_set.spi
    • need to make: "particles" and "doc" folders
    • edit fields : make sure odd / even files corresponds to untiled / tilted , etc...
    • spider spi/spd @window_set

Verify particle stack and eliminate any bad ones

  • delete bad particles:
    • open all of the untilted particles in jweb
    • choose pick particle/categorize
    • choose individual particles
    • click on all bad ones
    • default output file will be .ctg
    • Do the same for tilted set
    • Edit deletebad.pl -- need to edit input filenames (all particles, bad particles, output list of good ones)
    • run deletebad.pl

Make docfiles of particle lists

  • Calculate average angle of the particles
    • edit calculate_avg_angles.pl
    • results in file with theta/phi/gamma e.g. 53.621 -175.859 -176.286
  • Make database
    • spider spi/spd @makedatabase
    • edit the script make_database.spi so that the tilted image, untilted image, and spider docfiles correspond to the right numbers
    • uses numbers calculated from calculate_avg_angles

* normalize stack

    • proc2d untiltedimages.spd untiltedimages_norm.spd edgenorm spider

  • Center particles
    • login to cluster :
    • to cp files scp -r orpheus:/menelaus/****
    • Convert spd -> hdf : e2proc2d.py untiltedimages.spd untiltedimages.hdf
    • Change headers
      • sxheader.py -h
      • sxheader.py *.hdf --params='active' --one
      • sxheader.py *.hdf --params='xform.align2d' --zero
      • sxheader.py *.hdf --params='xform.align2d' --print
        • output should be 0.000 0.000 0.000 0 1.00
    • edit center.qsub
      • stack*.hdf search 3 ou 90 100 snr 1
      • submit job: qsub center.qsub
      • qstat - check on queue

*

#!/bin/sh
#PBS -l nodes=2:ncpus=4
#PBS -N shfali

cd $PBS_O_WORKDIR

/usr/apps/openmpi/bin/mpirun -np 8 -hostfile $PBS_NODEFILE sxshiftali.py /usr/data/eeng/untiltimages.hdf cen mask.hdf --search_rng=3 --ou=22 --maxit=100 --snr=1 --MPI
 
    • sxtranform2d.py *.hdf *_cen.hdf
    • e2display *_cen.hdf

* to start refinement - need:

    • start.hed
    • start.img
    • threed.0a.mrc - initial model

  • Generate model
    • refine 8 mask=45 proc=4 hard=30 ang=15 pad=220 classkeep=2 classiter=8 sym=C1 fscls

EMAN2
/cryoem/EMAN2/bin/e2refine.py --input=bdb:sets#set2_phase_flipped-hp --usefilt=bdb:sets#set2_phase_flipped --parallel=thread:8 --mass=1200.0 --apix=2.93 --automask3d=0.7,18,7,7,18 --iter=10 --sym=c1 --model=bdb:refine_04#initial_model --path=refine_04 --orientgen=eman:delta=5.0:inc_mirror=0 --projector=standard --simcmp=ccc --simalign=rotate_translate_flip --simaligncmp=ccc --simraligncmp=ccc --shrink=2 --classcmp=ccc --classalign=rotate_translate_flip --classaligncmp=ccc --classraligncmp=ccc --classiter=7 --classkeep=0.8 --classnormproc=normalize.edgemean --classaverager=mean --sep=1 --m3diter=3 --m3dkeep=0.8 --recon=fourier --m3dpreprocess=normalize.edgemean --classkeepsig --m3dkeepsig 


sxheader.py norm_win.hdf --params='active' --one

sxheader.py norm_win.hdf --params='xform.align2d' --zero

sxheader.py norm_win.hdf --params='xform.align2d' --print

mpirun -np 4 sxshiftali.py norm_win.hdf cen2 --search_rng=3 --maxit=100 --snr=1 --MPI

sxtransform2d.py  norm_win.hdf norm_win_cen_180.hdf


e2re&#64257;ne.py --iter=20 --input=norm_win_cen.spi --model=model_03_02-168.mrc --parallel=thread:4 --mass=1200.0 --apix=2.93 --automask3d=0.8,30,5,5,30 --iter=10 --sym=c2 --projector=standard --orientgen=eman:delta=2.0:inc_mirror=0:perturb=1 --simalign=rotate_translate_&#64258;ip --simaligncmp=ccc --simralign=re&#64257;ne --simraligncmp=ccc --shrink=2 --simcmp=frc:zeromask=1:snrweight=1 --twostage=0 --sep=1 --classkeep=1.5 --classkeepsig --classiter=7 --classalign=rotate_translate_&#64258;ip --classaligncmp=ccc --classralign=re&#64257;ne --classraligncmp=ccc --classaverager=ctfw.auto --classcmp=frc:snrweight=1 --classnormproc=normalize.edgemean --pad=196 --recon=wiener_fourier --m3dkeep=0.8 --m3dsetsf --m3diter=2 --m3dpreprocess=normalize.edgemean --m3dpostprocess=&#64257;lter.lowpass.gauss:cutoff_freq=.08
Changed:
<
<
d226 1
>
>
 
Deleted:
<
<
d234 1
 --classcmp=ccc --classalign=rotate_translate_flip --classaligncmp=ccc --classraligncmp=ccc --classiter=7 --classkeep=0.8 --classnormproc=normalize.edgemean --classaverager=mean --sep=1

-classcmp=frc:snrweight=1 --classalign=rotate_translate_flip --classaligncmp=ccc --classraligncmp=ccc --classiter=7 --classkeep=1.5 --classkeepsig --classaverager=mean --classnormproc=normalize.edgemean --pad=196 --sep=1

--orientgen=eman:delta=5.0:inc_mirror=0 --projector=standard --simcmp=ccc --simalign=rotate_translate_flip --simaligncmp=ccc --simraligncmp=ccc --shrink=2

--orientgen=eman:delta=2.0:inc_mirror=0:perturb=1 --simalign=rotate_translate_flip --simaligncmp=ccc --simralign=refine --simraligncmp=ccc --shrink=2 --simcmp=frc:zeromask=1:snrweight=1 --twostage=0


Changed:
<
<
>
>
 e2refine.py --iter=20 --input=norm_win_cen.spi --model=model_03_02-168.mrc --parallel=thread:4 --mass=1200.0 --apix=2.93 --automask3d=0.8,30,5,5,30 --sym=c2 --orientgen=eman:delta=2.0:inc_mirror=0 --projector=standard --simcmp=ccc --simalign=rotate_translate_flip --simaligncmp=ccc --simraligncmp=ccc --shrink=2 --classcmp=ccc --classalign=rotate_translate_flip --classaligncmp=ccc --classraligncmp=ccc --classiter=7 --classkeep=1.5 --classkeepsig --classaverager=mean --classnormproc=normalize.edgemean --pad=196 --sep=1 --recon=fourier --m3dkeep=0.8 --m3dsetsf --m3diter=10 --m3dpreprocess=normalize.edgemean --m3dpostprocess=filter.lowpass.gauss:cutoff_freq=.08

  • Set ALLOWTOPICVIEW =
 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this intranet, Send feedback