focustools

Python utilities supporting the FOCUS package and cryo-EM data processing in general.


Keywords
cryoEM, cryo-EM, focus, single-particle, tomography, subtomogram-averaging, electron-microscopy, 3d-reconstruction, compression-application, image-processing, signal-processing
License
GPL-3.0
Install
pip install focustools==0.2.3

Documentation

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:

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.