FOCUSTOOLS
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.
Installation
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/
Contents
Please see the release notes.
Usage
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
Tutorials
For more details, see our Jupyter notebook tutorials:
-
focus.postprocess
script -
focus.mrcz
script -
focus.ctf
script -
focustools
module: a brief guide to using the Python functions implemented in FOCUSTOOLS
Citing
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.
Reporting bugs & Troubleshooting
Please use the issue tracker to report bugs or ask for help, suggest features, etc.
Authors
FOCUSTOOLS was initially developed by Ricardo Righetto at the Stahlberg lab.
The FCC()
function was written by Robert A. McLeod.