Skip to main content

Computing Electric Field Topologies and Other Features in High-Throughput

Project description



DOI:10.1021/acs.jctc.5c00138 PyPI version Python Versions Documentation Status

PyCPET

Python-based Computation of Protein Electric Field Topology, built for high-throughput accelerated calculations of several electrostatic properties of enzyme active sites from simulations. This program is incredibly flexible and scriptable for virtually any analysis of classical electric fields and electrostatic potentials.

Cite

To cite your use of PyCPET, please use the following: Ajmera, P., Vargas, S., Chaturvedi, S., Hennefarth, M. & Alexandrova, A. PyCPET - Computing Heterogeneous 3D Protein Electric Fields and Their Dynamics. Journal of Chemical Theory and Computation (2025). doi:10.1021/acs.jctc.5c00138

Requirements and Installation

System requirements:

  • gcc (to compile C-shared libraries)
  • anaconda (preferred, not required)

Follow these steps to install PyCPET. I recommend installing the latest version from GitHub by cloning and "pip install -e .", but these are simpler steps:

  1. Make a clean conda environment (recommended, not required)

conda create -n pycpet-env python=3.12 pip -c conda-forge -y conda activate pycpet-env

  1. Run pip install in the conda environment

pip install pycpet

  1. When running, we advise you set the following:

CPU multithreading (available for topologies): export OMP_NUM_THREADS=1 GPU-accelerated code (available for topologies, fields in dev): export CUDA_VISIBILE_DEVICES=N (where N is the GPU number, only needed for non-HPC setups)

Documentation

Almost all use of PyCPET is either scripting with the objects provided (requires in-depth knowledge of the code) or using the cpet.py script with an options file. We are developing in-depth documentation of how to format and use the options file, examples, and cookbooks at (), but key features and explanation of example files are noted below.

Features

These are the following available features, and their corresponding options file 'method' keywords:

  • Computing point electric fields: 'point_field'
  • Computing point electric field magnitudes: 'point_mag'
  • Computing 3-D electric fields: 'volume'
  • Computing 3-D electrostatic potentials: 'volume_ESP'
  • Computing 3-D distribution of streamlines: 'topo' (CPU, default) and 'topo_GPU' (GPU)
  • Clustering by distribution of streamlines: 'cluster'
  • Clustering by 3-D electric field (tensor decomp): 'cluster_volume_tensor'
  • Clustering by 3-D electrostatic potential: 'cluster_volume_ESP_tensor' IN BETA
  • Visualizing 3-D fields: 'visualize_fields'
  • PCA on 3-D fields, for a single set of data: 'pca' IN BETA
  • PCA on 3-D fields, for a full comparative analysis between multiple sets of field data (e.g. variants): 'pca_compare' IN BETA
  • Finding if any atoms are intruding the field volume: 'box_check'

Examples

Several examples are in the examples directory. Most of these are designed for single calculations, but can be extended to high-throughput with almost no changes.

Specialized Scripts

For features unavailable from the cpet.py script mentioned above, we offer scripts in source/scripts for the following. Please note that these are not rigorously tested for all cases, but showcase the scripting ability of the pycpet library:

  • electrostatic_interaction_QM.py: Electrostatic interaction energy and residue-breakdown for QM/MM calculations
  • residue_breakdown_analysis.py: Residue contribution to topology over dynamics, ranked. Requires completed topology calculations for an MD IN BETA
  • tensor_based_cluster_double.py: Electrostatic potential/electric field-based clustering for two sets of electric fields/electrostatic potentials. Assumes that all field calculations have been completed for both sets of directories. IN BETA
  • field_topology_dipoel.py: Electric field streamline distributions from a given set of dipoles IN BETA

Note: Formatting of PDB/PQR files

Most of the code here requires well-formated PDB or PQR files. The formatting is as follows (see io.py for more details):

PDB:

PQR:

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

pycpet-0.1.0.tar.gz (74.7 kB view details)

Uploaded Source

Built Distributions

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

pycpet-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pycpet-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pycpet-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (87.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pycpet-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pycpet-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pycpet-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (87.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pycpet-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pycpet-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pycpet-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (87.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pycpet-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pycpet-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pycpet-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (87.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pycpet-0.1.0.tar.gz.

File metadata

  • Download URL: pycpet-0.1.0.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pycpet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 291c438ab0f41771f0ec24e8b0d8510af68489fa1caa737190a7fafb85e1a800
MD5 50ac230acd5affa58b083053440c8f30
BLAKE2b-256 ac554930bf5adea33e973e0d2086d8a520822b1da7faee158bfe15f1eb9a40d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0.tar.gz:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb5f499e4f7c3787d89eee2629dc5f38438b60f2663752545e8afa9b3b1915c1
MD5 47dbc14f9cba14f410c77c6fb2c0bdd8
BLAKE2b-256 f64daefc24efb5cbf6e584f4f82a7bb1460034110581a0671b77a01d53b83a15

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9b2d16df87fd1266fc580ee9e6d3cd8fdb155ca7bb12dfd6477d8797c77cb701
MD5 864877c108e9d15a429390a40f62d032
BLAKE2b-256 89dda28790f0ab4e0b8ae9d70137c477e0edbe98aa0c5c76ace08510bdf01c47

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09de57130ce582e5c8b0016adb0dde62508dac4507de4d2d49cf68c8ca8862ab
MD5 8cdb2355f6ebcf484838b50d038625f3
BLAKE2b-256 fc939c9341442f0a0ac7f2bac3e19104f07112110dc69bbbe92f2d8d069953b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 656030bfe5fd8d3e2073abb569dbe87bf645a845615092fc20dd94a7feb8f91a
MD5 988d2ed9d12c1a7fb91df87e0ad23725
BLAKE2b-256 4652a8f12bc2b60f46e47e0912b2273eab974f90726f06a5f911be62fb48c6c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a890cc809acaa7bab43faa0e4c20fd12a55fa19aa36062acd94cefd98cf12232
MD5 35df3810f90dc03eefe5d0a0a8fa56d8
BLAKE2b-256 7d2ded41f902bf15df0a8305f39a2b86c00688b534d5f2ca1f7958519d59a22d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af00e1c8a5f915094c430447b5f6298f84aa42c683894ed600ab3b0b7f22c401
MD5 5b6b1f49e12d15fb1e65f4bd8c57eee0
BLAKE2b-256 82a92af84135ffeeeff2c025610640775393aa0dae59e706d9ec2240f54df468

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18591b0b143a37885d7250201599c040d10707e5194835502e80a6c859ffd28a
MD5 b0557f28b7c381aaa14987b1943b270d
BLAKE2b-256 c71bb31d3d70fc7f2126140eba4c9aded65c7eec648405463bb0f259c4166f58

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3a76b92aa348ca8607165244bc9ec2bd20bf9ab805de23cfce2309192cb39e53
MD5 5b5d71a037bb0cb10cd0723d1376ebef
BLAKE2b-256 7956a710fbe3cb3a91338def5b42ac1227512ad47ef9f849b1fbfe0e62968f26

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92f39d74a6c948e54c3133ba63ca2300882aa1eaa5a358557b76439e073a242d
MD5 1e2471049162e5030b5dd5eca08bbdd7
BLAKE2b-256 78cb43c446d3eae02fdf19a592982dd4044e734c95698f0f1b1093b585b8d13e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13e2f7f08b8fd4f39c7fce380efac811512e28b374f373c8f1ce35e90db26155
MD5 13788a072cc468111a5130b295d718e4
BLAKE2b-256 1a256fea39dfc80db69529c2fe2cbeed2cad1d0e6e600564ea09d581fd8e7344

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8d13b569d1a30fe516620060630dd51067c89f5cad12f402b2826cf533595dfe
MD5 f7ffa427c7ac4a8c040d67752464d4f2
BLAKE2b-256 8bd1070bdd08d2da9962e5436a844c555842359d0bfc6ec432b31dfba809b74d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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

File details

Details for the file pycpet-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycpet-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7879991a356c29d6bb1eb7ee4ea967dd0f261d0f7456cd7abfcfaddd7e82709a
MD5 73691cefd81d66d3128af81237cd593d
BLAKE2b-256 24d2a47bfb2cc1519abbcdf023a90d393e1300a97d712651d7922e3b1ffb044d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.1.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: pypi-release.yml on pujanajmera/pycpet

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