A software for membrane analysis and subtraction in cryo-EM.
This software utilizes 2D averages and their corresponding alignment information, employing methods such as Radon transform, cross-correlation, L1 norm, Bezier curves, Monte Carlo simulations, and Genetic Algorithm. It analyzes and subtracts membranes of any shape in cryo-EM, ultimately producing particle stacks and micrographs with membrane signals removed, which are suitable for subsequent membrane protein analysis.
- Capable of analyzing biological membranes of any shape, including simple lines and arcs, as well as more complex shapes like S or W curves;
- Accurately locates and subtracts biological membrane signals;
- Utilizes GPU and CUDA acceleration to enhance computational speed;
- Features a user-friendly GUI for ease of use.
- This software requires a GPU and CUDA acceleration. So, the installation of CUDA drivers and libraries is necessary.
- pyem is also needed to convert cryoSPARC’s
.csfiles to Relion’s.starformat for processing.
This software has a very accessible wiki for better tutorial organization.
For specific installation methods, please refer to the wiki installation section.
This software has a user-friendly GUI. To use this software, simply type:
MemXTerminator gui &
For detailed usage tutorials, please refer to the wiki usage section.
This fork keeps the upstream workflow, with a few operational fixes for HPC use:
- The GUI configures Linux X11 sessions before importing Qt:
QT_X11_NO_MITSHM=1is set to avoid fragile shared-memory behavior over SSH forwarding. Matplotlib backend selection is left to the running Qt GUI framework. - RadonFit membrane analysis accepts
--procs/--cpufor template-level multiprocessing. Use--procs 96on a 96-core node to process up to 96 templates concurrently;0auto-detects CPU count and caps at the template count. - RadonFit particle membrane subtraction treats
--procsas GPU worker processes; the default0auto-detects visible CUDA devices. Each worker logs its assigned CUDA device at startup. --batch_sizeis now a progress/reporting window; real parallelism is controlled by--procs, avoiding minibatch barriers that can leave GPUs idle.- RadonFit particle and micrograph membrane subtraction accept
--output_dirname; use the same value for both steps so MMS finds the matching PMS stacks and.mxtsidecars. - On HPC systems where CUDA modules prepend their own Python, install/run from the conda env explicitly, e.g.
$CONDA_PREFIX/bin/python -m pip install -e .; GUI-launched jobs prefer$CONDA_PREFIX/bin/pythonwhen available. - Runtime startup filters the known
starfile/pkg_resourcesdeprecation warning.
This software is licensed under GPL v3.0.
Thanks to Jack(Kai) Zhang@Yale MBB for his guidance.
Always welcome! This software may still has room for improvement such as updating the usage documentation, improving the GUI design, and enhancing the software's usability.
I am still working on improving this software. More exciting features are on the way!
If you have any questions, please contact me: zhen.victor.huang@gmail.com
