Python utilities supporting the FOCUS package and cryo-EM data processing tasks.
FOCUSTOOLS offers Python functions and scripts for performing common tasks in cryogenic electron microscopy (cryo-EM) data processing such as postprocessing 3D maps, filtering, masking, computing FSC curves, cropping/padding in real and Fourier space, CTF correction, among others. Some of the scripts and functions contained here were developed to support the FOCUS package. Others were written for the developer's own studies or mere convenience, and are made available here in the hope they can be useful to someone else.
The I/O of MRC files (with or without compression) is based on the MRCZ library.
Where possible, tasks are accelerated by the NumExpr engine.
FOCUSTOOLS can be installed from PyPI using pip
:
pip install focustools
If not using sudo
(like above), it will be installed locally in the user $HOME
. In this case, make sure you have the following location in your $PATH
environment variable in order to be able to call the scripts directly:
~/.local/bin/
Please see the release notes.
Once installed, the scripts can be called directly from your shell, for example:
focus.postprocess half1.mrc half2.mrc --angpix 0.639 --automask --auto_bfac -1,-1 --mtf data_mtf_k2_300kv.star --out postprocessed
Use the --help
flag to obtain a comprehensive list of options to the desired script, e.g.
focus.postprocess --help
For more details, see our Jupyter notebook tutorials:
focus.postprocess
scriptfocus.mrcz
scriptfocus.ctf
scriptfocustools
module: a brief guide to using the Python functions implemented in FOCUSTOOLS
If FOCUSTOOLS in general is useful in your work, please cite:
- Biyani, N., Righetto, R.D., McLeod, R., Caujolle-Bert, D., Castano-Diez, D., Goldie, K.N., Stahlberg, H., 2017. Focus: The interface between data collection and data processing in cryo-EM. J. Struct. Biol. 198, 124–133. https://doi.org/10.1016/j.jsb.2017.03.007
If focus.postprocess
is useful in your work, please cite:
- Righetto, R.D., Biyani, N., Kowal, J., Chami, M., Stahlberg, H., 2019. Retrieving high-resolution information from disordered 2D crystals by single-particle cryo-EM. Nat. Commun. 10, 1722. https://doi.org/10.1038/s41467-019-09661-5
If focus.mrcz
or the MRCZ library are useful in your work, please cite:
- McLeod, R.A., Diogo Righetto, R., Stewart, A., Stahlberg, H., 2018. MRCZ – A file format for cryo-TEM data with fast compression. J. Struct. Biol. 201, 252–257. https://doi.org/10.1016/j.jsb.2017.11.012
References for specific methods implemented in FOCUSTOOLS that are published elsewhere can be obtained by calling the scripts with the --help
option or from the source code directly.
Please use the issue tracker to report bugs or ask for help, suggest features, etc.
FOCUSTOOLS was initially developed by Ricardo Righetto at the Stahlberg lab.
The FCC()
function was written by Robert A. McLeod.