This is an old revision of the document!
Table of Contents
Preview of e3_make3d_point for better 3-D reconstructions
THE METHOD DESCRIBED ON THIS PAGE IS NOT YET PUBLISHED, IT IS PROVIDED TO GIVE PEOPLE THE OPPORTUNITY TO TRY IT OUT AS WE MAKE FINAL IMPROVEMENTS If you have any difficulties (or successes) with this method, please let us know, and feel free to ask questions (sludtke@bcm.edu).
The under-development e3make3d_point.py can be used to produce reconstructions which:
- dramatically improve reconstructions with anisotropic particle distributions
- may fill in some details missing with traditional reconstructions
- naturally denoises reconstructions (without deep learning), and provides better GSFSC resolutions (whether these improvements are real can be debated)
When you run the reconstruction you specify the number of points to generate in the first stage of a multi-stage process. The final number of points will currently be 32x the number specified. Note that the points being reconstructed are NOT atoms, but the number of atoms in the structure does put an upper limit on the useful number of points. We suggest the largest number of starting points you should consider when targeting high resolution is roughly the number of atoms divided by 16. At lower expected resolutions, the number of points can be much lower. For a typical CryoEM single particle reconstruction without symmetry (which replicates points) we suggest starting with 500 points, then if the results aren't what you hoped for, increase or decrease the starting number by a factor of 2-4, eg, maybe try 200 or 1000. Nothing magical about these specific values. In a future version, this number will probably become automatic.
It is very easy to give it a try and see what it produces. While you can run it on any machine with jax set up in your EMAN2 environment, it will run much faster with a GPU. It is more time consuming, but particularly when included in refinement loops, can produce significantly improved structures without any masking.
You can start with an EMAN2, Relion or CryoSparc refinements as a starting point.
If you are starting with an EMAN2/3 project
- Run a standard e2spa_refine.py on your phase-flipped particle data
- Run exactly the same command with the “–pointrecon 500” option added to the command-line, then compare the results of the 2 refinements.
- 500 is the number of first-stage points to use in the reconstruction as described above.
If you are starting with a Relion refinement
You will need to have your final refined STAR file along with the particle data (in an appropriate location in the filesystem so the STAR file is valid). If you have a completed Relion folder, you can just run the following commands in that location. We will create a new subfolder called eman3. None of your Relion files will be modified in any way.
- conda activate eman2
- cd <folder where your STAR file is>
- e3relion_convert.py <star file>
- This involves making a copy of your data (with compression). It is creating a complete EMAN2 project folder, so for a large project will take a little time.
- cd eman3
- e3make3d_point.py sets/fromstar__ctf_flip.lst –volout fromstar.hdf:12 –gaussout fromstar.txt –volfiltlp 3 –initpoints 500 -v 2
- volfiltlp is the resolution in Å the final map will be (Gaussian) filtered to. If you decide the map is over/under filtered the final volume can easily be recreated from the other output file.
- The output volume is fromstar.hdf, which can be opened with e2display.py or Chimera
- If you wish to generate even/odd maps for a GSFSC calculation, you can run the program twice with the –class 0 (even) option on the first run and the –class 1 (odd) option on the second run (with modified output filenames).
- Alternatively you could run an EMAN2 style iterative refinement with point-based reconstruction, eg:
- e2spa_refine.py –ptcl sets/fromstar__ctf_flip.lst –ref <starting model> –parallel thread:32:<fast scratch folder> –threads 32 –sym <symmetry> –res <start res> –niter 2 –tophat local –pointrecon 500 -v 1
- You may need to look at a full EMAN2 tutorial to pick specific options for your case. The only change is the addition of the –pointrecon option.
If you are starting with a CryoSparc refinement
You will need to export your metadata (as a .cs file) and corresponding particle stack from CryoSparc and have these stored together somewhere on your local computer.
- conda activate eman2
- cd <folder where your .cs file is>
- e3cryosparc_convert.py <exported.cs> –phaseflip -v 2
- This involves making a copy of your data (with compression). It is creating a complete EMAN2 project folder, so for a large project will take a little time.
- cd eman3
- e3make3d_point.py sets/fromcs__ctf_flip.lst –volout fromcs.hdf:12 –gaussout fromcs.txt –volfiltlp 3 –initpoints 500 -v 2
- volfiltlp is the resolution in Å the final map will be (Gaussian) filtered to. If you decide the map is over/under filtered the final volume can easily be recreated from the other output file.
- The output volume is fromcs.hdf, which can be opened with e2display.py or Chimera
- You can also test a standard EMAN2 style iterative refinement with point-based reconstruction, eg:
- e2spa_refine.py –ptcl sets/fromcs__ctf_flip.lst –ref <starting model> –parallel thread:32:<fast scratch folder> –threads 32 –sym <symmetry> –res <start res> –niter 2 –tophat local –pointrecon 500 -v 1
- You may need to look at a full EMAN2 tutorial to pick specific options for your case. The only change is the addition of the –pointrecon option.
