Skip to main content

Rigid body fitting of high-resolution structures in low-resolution cryo-electron microscopy density maps

Project description

PowerFit

PyPI - Version DOI Research Software Directory Badge SBGrid Badge

About PowerFit

PowerFit is a Python package and simple command-line program to automatically fit high-resolution atomic structures in cryo-EM densities. To this end it performs a full-exhaustive 6-dimensional cross-correlation search between the atomic structure and the density. It takes as inputV an atomic structure in PDB-format and a cryo-EM density with its resolution; and outputs positions and rotations of the atomic structure corresponding to high correlation values. PowerFit uses the local cross-correlation function as its base score. The score is enhanced by a Laplace pre-filter and a core-weighted score to minimize overlapping densities from neighboring subunits. It can be hardware-accelerated by leveraging multi-core CPU machines out of the box or by GPU via the OpenCL framework or CUDA. PowerFit is Free Software and has been succesfully installed and used on Linux and MacOSX machines.

Powerfit Report

Requirements

Minimal requirements for the CPU version:

  • Python3.10 or greater

To offload computations to a discrete or integrated* GPU the following is also required

  • OpenCL1.1+ (for OpenCL backend)
  • CUDA toolkit/runtime (for CUDA backend)
  • GCC (or another C-compiler which is need to compile the pyvkfft package)

Recommended for installation

  • pip

* Integrated graphics on CPUs are able to signficantly outperform the native CPU implementation in some cases. This is mostly applicable to Intel devices, see the section tested platfoms.

Installation

If you want to run PowerFit on just the CPU, the installation should be as easy as opening up a shell and typing

# To run on CPU
pip install powerfit-em

If you want to offload the calculation to a GPU, please follow the instructions for your particular operating system described here, that should get you up and running in no time.

Usage

After installing PowerFit the command line tool powerfit should be at your disposal. The general pattern to invoke powerfit is

powerfit <map> <resolution> <pdb>

where <map> is a density map in CCP4 or MRC-format, <resolution> is the resolution of the map in ångstrom, and <pdb> is an atomic model in the PDB-format. This performs a 10° rotational search using the local cross-correlation score on a single CPU-core. During the search, powerfit will update you about the progress of the search if you are using it interactively in the shell.

Please refer to the PowerFit tutorial to learn how to use PowerFit in the command line.

Please refer to the PowerFit webserver tutorial to learn how to use PowerFit on the webserver.

For more information and details please look at the general manual.

Citing PowerFit

If this software was useful to your research, please cite us

G.C.P. van Zundert and A.M.J.J. Bonvin. Fast and sensitive rigid-body fitting into cryo-EM density maps with PowerFit. AIMS Biophysics 2, 73-87 (2015) https://doi.org/10.3934/biophy.2015.2.73.

For the use of image-pyramids and reliability measures for fitting, please cite

G.C.P van Zundert and A.M.J.J. Bonvin. Defining the limits and reliability of rigid-body fitting in cryo-EM maps using multi-scale image pyramids. J. Struct. Biol. 195, 252-258 (2016) https://doi.org/10.1016/j.jsb.2016.06.011.

If you used PowerFit v1, please cite software with https://doi.org/10.5281/zenodo.1037227. For version 2 or higher, please cite software with https://doi.org/10.5281/zenodo.14185749.

Licensing

Apache License Version 2.0

The elements.py module is licensed under MIT License (see header). Copyright (c) 2005-2015, Christoph Gohlke

Contributing

To contribute to PowerFit, see our Contribution guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

powerfit_em-5.0.2.tar.gz (5.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

powerfit_em-5.0.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl (5.9 MB view details)

Uploaded CPython 3.13PyEmscripten 2025.0 wasm32

powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

powerfit_em-5.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

powerfit_em-5.0.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

powerfit_em-5.0.2-cp313-cp313-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

powerfit_em-5.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

powerfit_em-5.0.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

powerfit_em-5.0.2-cp312-cp312-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

powerfit_em-5.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

powerfit_em-5.0.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

powerfit_em-5.0.2-cp311-cp311-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

powerfit_em-5.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

powerfit_em-5.0.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

powerfit_em-5.0.2-cp310-cp310-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file powerfit_em-5.0.2.tar.gz.

File metadata

  • Download URL: powerfit_em-5.0.2.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for powerfit_em-5.0.2.tar.gz
Algorithm Hash digest
SHA256 706e60d88d748381b4ad8ddbb7b5fa082c2e18fe5ab468044c530d6e71541b3b
MD5 5721cb040ced41dfe08c2a5da1fa5007
BLAKE2b-256 d51261e2c2adf5cd34483e806c004c00186bdc66a15d58d0d55cf5e81cc0254a

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2.tar.gz:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl
Algorithm Hash digest
SHA256 c8793346c54d59d97af73215d8f05a4d3714a6275ba62700b9ae59296f135f65
MD5 ade7dc84c6a75dc4256132a91a38931a
BLAKE2b-256 befe0e989d0b4c957b04fe1562270c80e4f6d250499942b7c68f29a3501b8f90

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dd90748c261b010070600e204e131970d401fe706d1581b5fb33faf43f56e018
MD5 eb88d9051a42fc19152316385b265488
BLAKE2b-256 ee794fe412dbaa8212031ba5f184cc122ca275794f32cb71d4aa20cf4be08fb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f107cd6d5d106007f070e8dd7aa13e85704800717d80691883d1d1e8b51e403
MD5 be4a74d3a75139ab46c35037b8a6a53f
BLAKE2b-256 babfa91123d875ad63196a3cffe7ad55cd9b9674a67abcd955b9550b41ff2438

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6c6a944e3083d915f1c079acd46c2596489bfcc27963f4c8863a7a4594737201
MD5 a799967650419c3f666efd1d933e55dc
BLAKE2b-256 26182afb6d1ddb8f364c7d83e0466bf794321556bb36b82535d808c9f03ca86b

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c7840ed0a7aaaf167688db42bc059dd04eacac710bf52d8f4c0099e85b9a052c
MD5 77323233e509f4fc9ec8be70d6cf4a9c
BLAKE2b-256 a9252364b3b215ce3b1fef3b25175b02f5583a8b0c66797b6901f4951366284e

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a9a4488459dcdcdb5f7ae544ff9617e93e25751655e8a0f27df2b1c3679e773
MD5 94ed8c7fe98464844a3c2ca7d3455412
BLAKE2b-256 c3fc7eb0596e383f51fac2fd04fed3c9dc70c5f76adb2b9b693ad4e994b0729e

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 875a2364d1e7cece6916fdc1d8cf918ce5ad05b5fcd51920b0e03805123eebeb
MD5 d28739e6cb4c5e1c70e8362357f4a462
BLAKE2b-256 0ecf7b6d9d0e63f88823d5dd9f3ab78fe428ed2d2e99b6036c9c594c5a4c6724

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ad9932e3248c3689596352ab63cbe7426654aa73e537f3ef4b0bf10b6a1f9d1d
MD5 4b531bc311eabfda73dcc6244750c229
BLAKE2b-256 e3d6cf2ba2850901260eb5014540dc1cf132166bb8396ff9b54e1d75d0dc4bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a37f8eef1fd8a4a30d0f6e15c643a93108e1f2d7801ef76d661ea4bbe757943
MD5 b19eb7dfec602fb343330a778f333684
BLAKE2b-256 4ab0317fc6febd135292126e369a2c624d08b63e78c1c27bd7757c7a885d9a39

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f81176409a634fb68a8392fda8435ed2f6602cf61639ca6309859a40b2aa0438
MD5 74b04657462987d6d9bee46150573825
BLAKE2b-256 0cce103e7d833d20599cdb7ed5c80210d84ceb7c54ffc1d2886fd0e2d31cfcab

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b40f3f889cf68972ce3c3e9db43da3abcc6da0fb1681fa94c973f286396b46e5
MD5 3db1c993fb40eb03ffd8151e977b01a6
BLAKE2b-256 40d2f72175cde8a5b285e18cb12bc8741ceb80fdd0ac961156b13685507da699

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9715914c6ea72f2eed0fa13ce64087d850716055c6b70c7c3329250c737930a
MD5 5b7a490c06a921e70533961be6b94fe5
BLAKE2b-256 154ae44cf90fead025e46be5f51d79be75126c61accb7efd6fcf69bef8154cbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8670cffda0d394d43597a959affcf6e0acc91e6189da04075549af2512139d96
MD5 4d4fed726c00a600ec52b4803082bf89
BLAKE2b-256 c30fedcf123e875ee3fbb602ed8dafe0fe8c4eab4c4ba66356e5cc70d05f922e

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 16f036bfb97baf898fa40e7eff43c41a8f755852a2b40bebe0a666e6643065d9
MD5 13d61ccd3014ba6d9b867d933cac34b0
BLAKE2b-256 76e9660be3b70a6305bb9e303064f0620aae2f93028d4f4bd0685d5b31106fa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file powerfit_em-5.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for powerfit_em-5.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a51604941c1c6b5ac795c18d2a93ae2d747b77881dbf49b65b00c381af84996e
MD5 3fa5eef50bbe6d371f16b459ec65bba2
BLAKE2b-256 c69607b0119b6405dbb9ca27bf9d2f2eb4587993c4ed0e21a6f2c9eed0fce790

See more details on using hashes here.

Provenance

The following attestation bundles were made for powerfit_em-5.0.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi-publish.yml on haddocking/powerfit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page