Cryo-EM is a rapidly developing method to investigate the three dimensional structure of large macromolecular complexes. In spite of all the advances in the field, the resolution of most cryo-EM density maps is too low for <em>de novo</em> model building. Therefore, the data are often complemented by fitting high-resolution subunits in the density to allow for an atomic interpretation. Typically, the first step in the modeling process is placing the subunits in the density as a rigid body. An objective method for automatic placement is full-exhaustive six dimensional cross correlation search between the model and the cryo-EM data, where the three translational and three rotational degrees of freedom are systematically sampled. In this article we present PowerFit, a Python package and program for fast and sensitive rigid body fitting. We introduce a novel, more sensitive scoring function, the core-weighted local cross correlation, and show how it can be calculated using FFTs for fast translational cross correlation scans. We further improved the search algorithm by using optimized rotational sets to reduce rotational redundancy and by limiting the cryo-EM data size through resampling and trimming the density. We demonstrate the superior scoring sensitivity of our scoring function on simulated data of the 80S D. melanogaster ribosome and on experimental data for four different cases. Through these advances, a fine-grained rotational search can now be performed within minutes on a CPU and seconds on a GPU. PowerFit is free software and can be downloaded from https://github.com/haddocking/powerfit.
Read full abstract