11. DeepEMhancer Sharpening protocol
Protocol designed to apply DeepEMhancer, the automatic map postprocessing method that sharpens and masks part of the noise at medium/high resolution [Sanchez-Garcia et al., 2020], in Scipion. Detailed information of this method can be also obtained here.
- Requirements to run this protocol and visualize results:
- Scipion plugin: scipion-em
- Scipion plugin: scipion-em-xmipp
- Scipion plugin: scipion-em-chimera
- Scipion menu:Model building -> Preprocess map (Fig. 11.18 (A))
- Protocol form parameters (Fig. 11.18 (B)):
- Would you like to use half maps?: Although the result will be the same if you decide to use half maps or a non-sharpened non-masked map, a way to ensure that you have selected the right input map is providing half maps. Then, using half maps is the preferred option over a non-sharpened non-masked map. In addition, the algorithm has been trained with half maps. The first step performed by the protocol is to compute the average map. Then, select Yes whenever you can provide half maps, otherwise be sure you have the right average map, usually generated during the reconstruction process (map refinement). However, the algorithm does not work correctly using post-processed maps. So try to not use postprocessed maps. Since the two half maps can be obtained directly as independent maps or being associated to the average map, if you select Yes a new question will appear:
- Are the half maps included in the volume?: Select Yes if your input average map has the two half maps associated. If this is the case, complete the next form param. Otherwise, you should provide both half maps as independent preexisting objects. To add those half maps a couple of form params will apper to fill in with each half map:
- Volume Half 1
- Volume Half 2
- Input Volume: Unsharpened unmasked electron density map previously downloaded or generated in Scipion.
- Input normalization: We need apply normalization to accomodate the intensity values of the map to the specific range of values of the trained neural network. Three possible normalization methods are suggested:
- Automatic normalization: Default normalization mode that forces the noise average to be zero and the standard deviation 0.1 in an spheric shell around the specimen. Since then noise always displays a similar distribution, the network gets easier to distinguish noise from signal. This method usually works correctly in almost any case. Exceptions could be very long specimens (fiber proteins) or those having big empty spaces (big viruses).
- Normalization from statistics: Similar to the first one, though in this case users provide their own statistics of the noise (average and standard deviation). Using ChimeraX could be a good option to compute statistics of the noise such as min and max values, mean, standard deviation from the mean (SD) and root-mean-square deviation from zero (RMS) (Chimera command line
measure mapstatswith the option
subregionas indicated in CHIMERAX commands.
- Normalization from binary mask: Select this option only if your input map is a masked map, which otherwise is not recomendable when this algorithm is used. The binary mask assigns 1 to the specimen and 0 to the remaining density.
- Model power: Deep learning model to use, three options are available:
- tight target: This default model is a equidistant balanced solution that works properly for maps that show resolution areas between 3.8 and 6 Å (wide range of resolution values).
- highRes: This model allows a deep sharpening and it is recommended for high resolution maps (lower than 4 Å).(
NOTE:In case your map shows a high heterogeneity with parts of high resolution, as well as areas of low resolution, using tight target and highRes is recommendable, studying which areas are better sharpened by each model).
- wide target: This is the most conservative model. It is recommended when you have areas in which signal and noise are almost identical. Whereas tight target and highRes might delete those regions considering them only noise, wide target will surely preserve them.
- Remove small CC after processing: Advanced param that improves the sharpening result by removing small connected components (usually noise). The default value of this param is No because the improvement usually does not make up for the additional time and computational resources invested.
- Batch size: Since DeepEMhancer processes maps by dividing them in portions or smaller cubes that will be sent to GPUs, the value of batch size indicates the number of cubes that GPUs can simoultaneously process. Increase or reduce the default number according to the performance of the GPUs.
- Protocol execution:Adding specific map/structure label is recommended in Run name section, at the form top. To add the label, open the protocol form, press the pencil symbol at the right side of Run name box, complete the label in the new opened window, press OK and, finally, close the protocol. This label will be shown in the output summary content (see below). If you want to run again this protocol, do not forget to set to Restart the Run mode.
REMARK:In this case you have the option GPU IDs that you have to complete according to your GPU core indexes.Press the Execute red button at the form bottom.
- Visualization of protocol results:After executing the protocol, press Analyze Results and ChimeraX graphics window will be opened by default. Both the input map(s) and the sharpened map generated by DeepEMhancer (deepPostProcess.mrc) are referred to the origin of coordinates in ChimeraX. To show the relative position of atomic structure and electron density volume, the three coordinate axes are represented; X axis (red), Y axis (yellow), and Z axis (blue). Coordinate axes, input volume, and sharpened map are model numbers #1, #2 , and #3, respectively, in ChimeraX Model Panel. In case that half maps have been included, the respective additional model numbers will be applied.The possibility of visualizing the sharpened map by slices with ShowJ is also opened as commonly in Scipion, selecting in the Output of the Summary box, black arrow xmipp3 - deepEMhancer -> Volume, the right mouse option Open with DataViewer.
- Protocol output (below Scipion framework):xmipp3 - deepEMhancer -> Volume;Volume (x, y, and z dimensions, sampling rate).
- SUMMARY box:Input: type of mapNormalization: normalization method.