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.7.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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7.tar.gz.

File metadata

  • Download URL: pycpet-0.0.7.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.7.tar.gz
Algorithm Hash digest
SHA256 852ff7facfc909ef773c3b41e795f31fced2826652860959b89366c98ec346c2
MD5 69daa38f5c99c62ae45bf1324784bc33
BLAKE2b-256 dc2ef628c1053f81eab26ce00bf46f269c3b7ff8c66527243b39fcd4bcb92eaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7.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.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea85c58ea8e6c38813abd6390411565e13e885c6d0d27dd5f3797af4829bf621
MD5 27e2a684dc8966e1fc665205f104e3d3
BLAKE2b-256 6cb98d7120fbe62bda10035fff8925912358c97854f4a78e93fb352e07337b69

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 69ad250780c44d4ddb93a44641faaffda255a37bf184b09c0331048d71a3f092
MD5 6cb84418283247bc2ed7cd7990322ec0
BLAKE2b-256 54b90e192463930c2a347acf00891fae9cb463b3287c200c772d234f88389cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b5d4dfdd43865f0d51dd036dc420bb198f1c5f3e79a3f7e405aa0efac8d1c9e
MD5 630beeb0086133d3256deaa3ec863ba9
BLAKE2b-256 8312ad2251d90f1f330dfc97ba32bf421d38dccc8071fa194d0f088aa4bce5e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e1ffcda4198b55c4603f8d81a8cda2cdd9cf5fc97c1d341043b926f34667f4a7
MD5 fd3a1e30d1b5686d553f274a08ef66d2
BLAKE2b-256 86d04eb1481bbbf6f5e96b349409754ae5a5c583e340d7998d0793ffaaa8f05e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de10a37c1d37751154bd03370b83f71df74511ec8dd5c1f33298a8cffa684d3e
MD5 dd38b80218cfdd2b3754db975cd59174
BLAKE2b-256 be55e92a2521df8aab3baf39cbb087b255dcc83ec5ac5020ae809ecccdbaae98

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8053fadc8eb8441fac5c4b961cbc71e3eb6d9f8616da9ccaff18b53aa3e4c493
MD5 607812a49af3d54c22571a3faa43986e
BLAKE2b-256 a9bed5165d267d8ba41d07f1b92c2ac4055a013d43fc369b67a2c08601db0544

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95454f9fb3ab1f3cf1b5c900c4d3242d79a3f9b480940ba738467d59443d28c3
MD5 af4bc5cff15ce2ed8516d9a79ecb839b
BLAKE2b-256 902deba5eb06510a4fb6499519581fce8a17000676e573153d87283d335932ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycpet-0.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8376b1760de0fbab252996f382142297689a80f1e9e8e7028500b65b4f087916
MD5 24f7a1a0565df72911418f99eee39f5a
BLAKE2b-256 6408e0fd2a3c3321701a73101ec0fb6d8bd52463c1f7935f7cbe881ebe325fbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycpet-0.0.7-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