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-test python=3.11 -y

  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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pycpet-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pycpet-0.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (172.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pycpet-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pycpet-0.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (172.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pycpet-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pycpet-0.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (172.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pycpet-0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pycpet-0.0.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (172.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

File details

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 784f0ba5711034bd8352f995ff88dda677008553ab6ac6fb0fea300384aac448
MD5 57e211771048638a4da62a0908f5875c
BLAKE2b-256 55f87beb785ffc4a52e2732abdf50eefb148c834a5c5adefdf7fdda558306ba5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a3eb799d80fe5b1878e202c88dcff08adb61f396b4c914232f12e2b6556bddd3
MD5 a4e1d026fa1b2422a3d32fa6f6fffe38
BLAKE2b-256 ea0a90f1cfd20fa3d0e9ae3fe7a4ef953604e69448a20e33a3af25d493fcb00d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c602b11cf72a7d68cb1bcb0882ab6b7494fd469cd47794ca032e1f7e5915535
MD5 c0676f4001dd31f0faacb09d7f51601f
BLAKE2b-256 f343183dfe184aeefb5617e9983d05878e9fe51b8f6f6bbf457f8dfb11b088d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7766150f4174fac91bf4afff413ff93eb6f1e36ab6ef6375887b6964d93e3d3e
MD5 5685bb94d63fb2e82a2134c7b53597fc
BLAKE2b-256 e3ea0ec0d87a597a857baf341aa04b6bd03852150d25aa4152e70dec4279352c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a929eddf9cf387e525fa18062a95aada7b3e2b41b27759aaa837785c570f2c30
MD5 d3bad97adddd40ddef60c87e4d39846e
BLAKE2b-256 fbb14da4f71e87b1ccbae35149431c958a8b69f7bf273c81bc8c9141d8b2da33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 22e5544f8d92d4f9672aaf74ebfe9c26c1e92a43e14240991bf6532b19ff47b0
MD5 85cf0500296534f58618c780ddf41da5
BLAKE2b-256 982d6ecae95b5c86be70fba242d6f174ff006745d295d7536af559e858093d45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85566ff19777b4c17a498a2c1ddd01a0456d4a34713332847a0711d3b062c24e
MD5 369cd6b2a60aa2c0620b02a919346fad
BLAKE2b-256 8076a77ab66e4bec233c107d6ed2667446435028baaa3dbfc1ab4bc79be0dd68

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pycpet-0.0.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bcd09fa6c8e5ec8cfa9328f7ceb09c7ef5abb3947cf4fd88370819be08a2f7a5
MD5 899c7c60771bd1712339aeaa68d8d4ae
BLAKE2b-256 f09e0cf693e2d74bf32315e1352b69a626ee6b74854cfd05d3d147b5e0fca60d

See more details on using hashes here.

Provenance

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