Direct detector lm-bfgs

Please see: Rubinstein JL and Brubaker MA (2015). Alignment of cryo-EM movies of individual particles by optimization of image translations. J Struct Biol 192, 188-95 for information on how these algorithms work.
The manuscript can also be found on ArXiv: http://arxiv.org/abs/1409.6789
Note: This software is still under development. Please email John Rubinstein or subscribe to changes on this page if you want to find out about (possibly critical) updates.

INSTRUCTIONS

1) Download from the links below: Makefile, Lbfgsb.3.0.tar.gz
you will also need the image2010 libraries (a simplified copy is available under "Compile scripts/libraries" on this website) and GNUplot is extremely helpful for optimizing conditions. Uncompress
Lbfgsb.3.0.tar.gz and edit the Makefile so that it has the correct paths for the required image2010 and lbfgs libraries.
2) For aligning whole frames, download: alignframes_lmbfgs.f90, alignframes_lmbfgs.csh, shiftframes_list.f90, shiftframes_list.csh, gnuplotframeshifts.csh
3) For aligning particles, download: alignparts_lmbfgs.f90, alignparts_lmbfgs.csh, gnuplotvectorfield.script
4) For working with Relion, download: alignparts_lmbfgs_relion.csh, alignparts_starfilehandler.f90
5) Compile all of the .f90 files with "make -f Makefile program-name" (NB: program-name does not include ".f90"
7) Align entire frames (this can be done with alignframes_lmbfgs in combination with shiftframes_list provded here)
- The movie frame defined as unshifted (i.e. the "zeroframe" in alignframes_lmfgs) must match the frame defined as unshifted (the zeroframe) in alignpart_lmbfgs or else particles will appear shifted after alignparts_lmbfgs. Often it is best to choose the middle frame in the movie as the unshifted frame.
- The boxsize (ftsize) used in alignframes must be smaller than the smallest dimension of the frames being aligned
8) Determine CTF parameters (e.g. from the average of aligned frames)
9) Pick particles from the average of aligned frames (e.g. with Ximdisp or Relion)
10) Use alignparts_lmbfgs to extract and align individual particles from the unaligned movies.
- If the previous steps have been done with Relion, alignparts_lmbfgs_relion.csh can be used to run alignparts_lmbfgs (and alignparts_starfilehandler) using the starfile after particle picking to give the necessary information to alignparts_lmbfgs (i.e. particle coordinates, filenames, etc). Do not use a starfile after extracting particles from movies for Relion polishing; alignparts_lmbfgs requires only one starfile line per particle. The parameters provided to alignparts_lmbfgs_relion.csh tell the starfilehandler where to find the unaligned movies given the names of the frame averages used to pick particles.
11) After performing step 10 for a single typical movie, inspect the trajectories of particles. Alignparts_lmbfgs produces a .vec file that contains the trajectories of all particles in each image. Edit gnuplotvectorfield.script so that file1="nameofyourimage.vec". Execute the gnuplot script by typing "gnuplot gnuplotvectorfield.script". Adjust the "smooth" constant (1.0d4 means 1x104; making the number bigger, e.g. 1.0d5, increases smoothing) and "localsigma" (bigger enforces more local correlation) and repeat step 10 until trajectories look smooth and have some local correlation.
12) Run alignparts_lmbfgs on your entire dataset before proceeding with further image processing.

SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
ċ

View Download
Least-squares frame alignment (CPU equivalent of Motioncorr), not LMFGS method, just for demonstration (not usually used in the lab anymore). Use f90c_lapackblas.csh from compile scripts folder to compile. (execute script)   1k v. 1 Jun 8, 2016, 7:19 AM John Rubinstein
ċ

Download
Least-squares frame alignment (CPU equivalent of Motioncorr), not LMFGS method, just for demonstration (not usually used in the lab anymore). Use f90c_lapackblas.csh from compile scripts folder to compile. (execute script)   20k v. 1 Jun 8, 2016, 7:19 AM John Rubinstein
ċ

View Download
Whole frame alignment by LM-BFGS optimization. Now includes second order smoothing as an option [Nov 2015]. (execute script)   1k v. 8 Feb 24, 2016, 8:10 AM John Rubinstein
ċ

Download
Whole frame alignment by LM-BFGS optimization. Now includes second order smoothing as an option [Nov 2015]. (to compile use the Makefile provided on this page)   27k v. 4 Feb 24, 2016, 8:11 AM John Rubinstein
ċ

View Download
Gradient based alignment of individual particle images from movie. Apply to unaligned movies. (execute script)  4k v. 10 Feb 24, 2016, 8:10 AM John Rubinstein
ċ

Download
Gradient based alignment of individual particle images from movie. Apply to unaligned or aligned movies. (compile use the Makefile provided on this page)    41k v. 14 Jul 14, 2017, 1:11 PM John Rubinstein
ċ

View Download
Runs alignparts_starfilehandler followed by alignparts_lmbfgs to allow a single Relion star file to be used as input to alignparts_lmbfgs  5k v. 8 Feb 24, 2016, 8:10 AM John Rubinstein
ċ

Download
Works with alignparts_lmbfgs to use a Relion star file as input for the program (compile with "make -f Makefile alignparts_starfilehandler")   13k v. 3 Jul 21, 2016, 11:32 AM John Rubinstein
ċ

View Download
Works with alignparts_lmbfgs to use a Relion star file as input for the program (standalone Python version)  5k v. 1 Jul 21, 2016, 11:32 AM John Rubinstein
ċ

View Download
Samir Benlekbir's script to examine all of the frame shifts for a dataset (uses gnuplot)  1k v. 1 Mar 13, 2015, 12:51 PM John Rubinstein
ċ

Download
gnuplot script for plotting particle trajectories. Use as "gnuplot gnuplotvectorfield.script".  1k v. 2 Feb 5, 2016, 7:43 AM John Rubinstein
ċ

Download
Library for limited memory BFGS optimization. From: http://www.ece.northwestern.edu/~nocedal/lbfgsb.html Authors: Ciyou Zhu, Richard Byrd, Jorge Nocedal and Jose Luis Morales.   818k v. 1 Nov 12, 2014, 4:15 PM John Rubinstein
ċ

Download
Makefile for alignparts_lmbfgs.f90 and alignframes_lmbfgs.f90. Use with "make -f Makefile alignparts_lmbfgs" and "make -f Makefile alignframes_lmbfgs"  3k v. 8 Feb 24, 2016, 8:22 AM John Rubinstein
ċ

Download
Sample of coordinate file used by alignparts_lmbfgs. These files are created for you if a .star file input is used by alignparts_starfilehandler. The coordinates indicate the center of particle (Ximdisp style)  16k v. 1 Jun 30, 2015, 2:57 PM John Rubinstein
ċ

View Download
Apply shifts from alignframes_lmbfgs.exe (execute script)  1k v. 2 Feb 9, 2015, 11:40 AM John Rubinstein
ċ

Download
Apply shifts from alignframes_lmbfgs.exe  12k v. 2 Feb 9, 2015, 11:40 AM John Rubinstein
Comments