TEMPy documentation

TEMPy is an object-oriented Python library designed to help the user in the analysis of structures of macromolecular assemblies, especially in the context of 3D electron microscopy density maps. It is designed with a set of functionalities that assess the goodness-of-fit between a given atomic model and a density map or between two maps using a variety of different scoring functions.It can also generate various ensembles of alternative fits, which has been shown to be useful in assessing a model fit and find other models with good density fit. TEMPy also includes a genetic algorithm based multi-component fitting method, gamma-TEMPy.

TEMPy also enables integration of data from cross-linking coupled to mass-spectrometry. Methods to calculate solvant accessible distances between crosslinked residues and evaluate models based on the agreement with expected distance distribution, are currently implemented.

TEMPy makes use of open source python libraries including NumPy, SciPy and Biopython. TEMPy is flexible, allowing users to build their own functions for specific purposes.

For the use of plotting TEMPy uses matplotlib.


This software is made available under GPL V3, together with some additional documentation.

Download the latest version here.


If you use TEMPy, please cite:

Farabella, I., Vasishtan, D., Joseph, A.P., Pandurangan, A.P., Sahota, H. & Topf, M. TEMPy: a Python library for assessment of three-dimensional electron microscopy density fits. (2015). J. Appl. Cryst. 48, 1314-1323, link.

Other references:

  1. Joseph et al (2017) Improved metrics for comparing structures of macromolecular assemblies determined by 3D electron-microscopy. J Struct Biol 99(1): 12–26
  2. Joseph et al (2016) Refinement of atomic models in high resolution EM reconstructions using Flex-EM and local assessment. Methods. 1;100:42-9
  3. Vasishtan and Topf (2011) Scoring functions for cryoEM density fitting. J Struct Biol 174:333-343.
  4. Pandurangan AP, Vasishtan D, Alber F, Topf M. (2015) γ-TEMPy: Simultaneous Fitting of Components in 3D-EM Maps of Their Assembly Using a Genetic Algorithm. Structure. 23(12), 2365–2376.
  5. Bullock JMA, Schwab J, Thalassinos K, Topf M. (2016). The importance of non-accessible crosslinks and solvent accessible surface distance in modelling proteins with restraints from crosslinking mass spectrometry. MCP. 5(7):2491-500.

Indices and tables