Particle orientation refinement using GMM representation

Import existing refinement

Here we will need a .lst file with the location of all particles and their initial orientation assignment.

If imported from another software than EMAN2, it is better to do one round of reconstruction to make sure the results are correct. (probably should make this a part of the import program...)

mkdir r3d_00
e2proclst.py particles.lst --create r3d_00/ptcls_00.lst 
e2spa_make3d.py --input r3d_00/ptcls_00.lst --output r3d_00/threed_00_even.hdf --parallel thread:32 --clsid even
e2spa_make3d.py --input r3d_00/ptcls_00.lst --output r3d_00/threed_00_odd.hdf --parallel thread:32 --clsid odd
e2refine_postprocess.py --even r3d_00/threed_00_even.hdf --restarget 5 --tophat localwiener --thread 32

You should see the similar structure and FSC curves in the r3d_00 folder. Since EMAN2 may use different sharpening and masking approaches, the curve and structure may be slightly different. To use same sharpening, create a structure factor file with e2proc3d.py map.mrc map.mrc --calcsf sf.txt, and add --setsf sf.txt to the e2refine_postprocess command. To use the same mask, add --mask mask.hdf to the e2refine_postprocess command.

Global orientation refinement

e2gmm_refine_new.py r3d_XX/threed_XX.hdf --startres X --npt N

Here --startres should be set to the final resolution from the previous refinement, and --npt is the number of Gaussian in the model. For refinement at near atomic resolution, it is convenient to simply set N to the number of non-H atoms in the molecule. The number can also be estimated using e2gmm_guess_n.py given only a map and target resolution. The GMM can also be seeded from an existing PDB model using --initpts XXXX.pdb.

Focused refinement

Starting from a finished global refinement, run

e2gmm_refine_new.py gmm_XX/threed_XX.hdf --startres X --npt N --mask mask.hdf --masksigma

Here mask.hdf is a mask focusing on the target region. It is recommended to create this using Filtertool.

Patch-by-patch refinement

Starting from a finished global refinement, run

e2gmm_refine_patch.py gmm_XX/threed_XX.hdf --startres X --npatch N

Refine from a GMM heterogeneity analysis

e2gmm_heter_refine.py gmm_XX/threed_XX.hdf --maxres X --mask mask.hdf

Here we also start from the global refinement. --maxres defines the resolution for the heterogeneity analysis, and it is typically safer to use a lower resolution (7Å by default), since the flexible parts are often not well resolved in the first place. The target region is specified with mask.hdf.