School of Physics Huazhong University of Science and Technology |
|
Welcome to Huang Lab |
About EMReadyImproving the quality and interpretability of cryo-EM maps by local and non-local deep learningCopyright © 2022 Jiahua He, Tao Li, Sheng-You Huang and Huazhong University of Science and Technology Released under GNU General Public License Version 3 EMReady is freely available for academic or commercial users. If you have any questions regarding EMReady, please don't hesitate to contact us via huangsy@hust.edu.cn Reference:He J, Li T, Huang S-Y.* Improvement of cryo-EM maps by simultaneous local and non-local deep learning. Nature Communications, 2023;14:3217. [link] Click here to download the data supporting the findings of EMReady paper. Download EMReadyClick here to download EMReady v1.2 Click here to download EMReady v1.1 Click here to download EMReady v1.0
Release notes:
List of files      EMReady.sh: the main program of EMReady      pred.py: Python prediction program of EMReady      frn.py: Pytorch implementation of Filter Response Normalization Layer used in EMReady      interp3d.f90: Fortran source code for the interpolation of EM grid      scunet.py: Pytorch implementation of 3D Swin-Conv-UNet used in EMReady      utils.py: Python utilities used in EMReady      interp_back.py: Python script for inverse interpolation      model_state_dicts/:              model_state_dicts/model_grid_size_1.0.pth: the trained EMReady model with 1.0 Angstrom grid size              model_state_dicts/model_grid_size_0.5.pth: the trained EMReady model with 0.5 Angstrom grid size      environment.yml: Required packages for Python virtual environment of EMReady
Install EMReadyQuick installation of required online packages$ conda env create -f environment.yml Details of required online packagesPython (3.8.8) (https://www.python.org)      Python package requirements:          pytorch (1.8.1+cuda11.1) (https://pytorch.org)          torchvision (0.9.1+cuda11.1) (https://pytorch.org)          cudatoolkit (11.1) (https://developer.nvidia.com/cuda-toolkit)          numpy (1.19.2) (https://www.numpy.org)          einops (0.3.2) (https://einops.rocks/)          mrcfile (1.3.0) (https://github.com/ccpem/mrcfile)          timm(0.4.12) (https://github.com/rwightman/pytorch-image-models)          tqdm (4.60.0) (https://github.com/tqdm/tqdm)NOTE: In order to run Python scripts properly, users should properly set the variables in EMReady.sh:     1. Set "EMReady_home" to the root directory of EMReady, for example, if EMReady is unzipped to "/home/jhe/data/EMReady", setEMReady_home="/home/jhe/data/EMReady"
     2. Set "activate" to path of conda activator, for example
activate="/home/jhe/data/anaconda3/bin/activate" EMReady_env="emready_env" . If the environment is built with a different name, users should modify "EMReady_env" accordingly
In addition to online packages, the interpolation program "interp3d.f90" should be built as a python package 'interp3d' using f2py in the conda virtual environment of EMReady$ conda activate emready_env
$ f2py -c ./interp3d.f90 -m interp3d $ sudo apt-get install gfortran
How to Run EMReady$ ./EMReady.sh in_map.mrc out_map.mrc [Options] Notes:1. Users can specify a larger STRIDE of sliding window (default=12) to reduce the number of overlapping boxes to calculate. If users run out of memory, they may set it to a larger value. Howerver, since the size of the overlapping boxes is 48×48×48, the value of STRIDE should not exceed 48. 2. By default, EMReady will run on GPU(s). Users can adjust the BATCH_SIZE according to the VRAM of their GPU. Empirically, an NVIDIA A100 with 40 GB VRAM can afford a BATCH_SIZE of 30. Users can run EMReady on CPUs by setting --use_cpu. But this may take very long time for large density maps.Examplesor download one of the examples listed in the following to test EMReady. |