Skip to main content

Computing Electric Field Topologies and Other Features in High-Throughput

Project description

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 recommended steps to install PyCPET

  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' IN BETA
  • 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:

  • 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

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.0.6.tar.gz (70.0 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.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (104.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pycpet-0.0.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (104.1 kB view details)

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

pycpet-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (104.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pycpet-0.0.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (104.1 kB view details)

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

pycpet-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (104.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pycpet-0.0.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (104.1 kB view details)

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

pycpet-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (104.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pycpet-0.0.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (104.1 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pycpet-0.0.6.tar.gz
Algorithm Hash digest
SHA256 805a9aa8ab175c8f027fd76cc74500b8c59c1d82c39f9126db7ab00abb03629a
MD5 73aa16f301bdd8792b7caf0ee589d311
BLAKE2b-256 573cbff29c16384e8ca9f2f65bcea621a3d889e5e851ee8be2b1d7085e74a19c

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 362a624221bdc37f198a1805f10dfc0256e12379cf287ca92e0980a37e695cf1
MD5 715bd5fe4a34e1469804699212747bf2
BLAKE2b-256 131a0238f3dd42901257060fca5078133391f32dec501270ba3f866ad3d1261c

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 047dab28c47b9651ebdd869698e6e4add62ba24120b2fb7c05c50263669e5cdc
MD5 534e0ca7c122e699465fc23b8948c19f
BLAKE2b-256 8a33aedbf39b5abe5642fde8468ac3136135d90ee126e2fc20ef2dd3893af760

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2f98e4b75abf46e2bbc77e1ed36fc99f4fcdec62728488884045afaa51f1e06
MD5 a7b1f2459b996d25702e3302a794e898
BLAKE2b-256 7b70bc4da93ed94d574ef21b543d6eb75fafec33349ef0f2f470ba166673a9f9

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f6efac5240be1c95f1e492afddcf23031f96d4ca0c4025011070e2b8e236405d
MD5 1b8c3c7fedb1cb8dabc23bd3f76ba29f
BLAKE2b-256 580e0e3528d79f8c650989d8bf4819494d6cc4aeaddf8a695ecfbcfb3baff597

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5576c48170d30a9e7108ce0407a934a405674d0679da7e82b22a550cfe6b826a
MD5 8324e5e34ceca498b9f4e9a2bfb7e3a1
BLAKE2b-256 c8cfda03fb50db54593a9d13729c8f4c0249502c4333d4d1b89d3e85e766ee51

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5f4ad728e66aecfc7a9e4948c12c39b24e382e02f5a52446b153ed964672fb6b
MD5 2baa792ab9be54f07e5c51bb610a9415
BLAKE2b-256 543601bff7aefc5c7c8e4ea897247cf400e12ddd6d555071aa4ed64f8b2f1d3f

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fa65d45d747eaef64f368dc79e22a52b0bcc32b993fe86c5a96f463108c023c
MD5 72a1ed1f3cb98a28c0c2761a64430ef3
BLAKE2b-256 daab585ad444bc5bceb0bcbf926504a7f942c62a00eaaea476ebce7fce025ae1

See more details on using hashes here.

Provenance

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

Publisher: workflow.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.0.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 948e57b6dcd809691803b8e16a963257ec184d9984c73d96bd89da78a1d76efc
MD5 2b79c27c06c8e41714144f22bfc44a26
BLAKE2b-256 277c12d48a2b08b99bfcef52877b95cb666c41488c271a1bf39ebd64fca57ba1

See more details on using hashes here.

Provenance

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

Publisher: workflow.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