ZMPY3D Tensorflow version
Project description
ZMPY3D_TF
ZMPY3D: accelerating protein structure volume analysis through vectorized 3D Zernike Moments and Python-based GPU Integration
For CPU support only, please refer to the repository:
ZMPY3D supports NumPy
(https://github.com/tawssie/ZMPY3D)
For GPU support with TensorFlow and CuPy, please refer to the other two repositories:
ZMPY3D_TF supports Tensorflow
(https://github.com/tawssie/ZMPY3D_TF)
ZMPY3D_CP supports CuPy
(https://github.com/tawssie/ZMPY3D_CP)
Here presents a Python-based software package, ZMPY3D, to accelerate the moments computation by vectorizing the mathematical formulae, enabling their computation in graphical processing units (GPUs). The package offers popular GPU-supported libraries such as CuPy and TensorFlow along with NumPy implementations, aiming to improve computational efficiency, adaptability, and flexibility in future algorithmic development.
Installation
Prerequisites:
- ZMPY3D : Python >=3.9.16, NumPy >=1.23.5
- ZMPY3D_CP: Python >=3.9.16, NumPy, CuPy >=12.2.0
- ZMPY3D_TF: Python >=3.9.16, NumPy >=1.23.5, Tensorflow >=2.12.0, Tensorflow-Probability >=0.20.1
- Open the terminal
- Using pip to install the package through PyPI
- Run
pip install ZMPY3D_TFfor the installation
Usage
- 3D Zernike moments with Tensorflow:
- Shape similarity with CuPy:
- Structure superposition with NumPy:
- Runtime evaluation:
Performances
A voxel cube with dimensions of 100x100x100 was applied to perform 10,000 3D Zernike moment calculations, using 2 different maximum orders 20 and 40. Execution times for different hardware configurations using TensorFlow, CuPy, and NumPy libraries:
NumPy
| Order | CPU1 | CPU2 |
|---|---|---|
| 20 | 33m20s | 14m1s |
| 40 | 951m40s | 338m20s |
TensorFlow
| Order | T4 | RX3070Ti | V100 | L4 |
|---|---|---|---|---|
| 20 | 1m1s | 0m36s | 0m31s | 0m39s |
| 40 | 24m40s | 9m3s | 10m54s | 11m13s |
CuPy
| Order | T4 | RX3070Ti | V100 | L4 |
|---|---|---|---|---|
| 20 | 4m45s | 2m30s | 1m42s | 2m50s |
| 40 | 35m20s | 19m19s | 14m45s | 18m40s |
Note: m = minutes, s = seconds.
Cache data for order 40
Due to GitHub's file size limitations, follow these steps to download the cache data for order 40 (1.3G) in the ZMPY3D_TF package:
1. Locate Package Folder
- Open your terminal and execute the following command to find the folder of the ZMPY3D_TF package:
python -c "import ZMPY3D_TF; print(ZMPY3D_TF.__file__)"- Note the path, which ends with
/User/path/ptyhon/site-packages/ZMPY3D_TF/__init__.py.
2. Navigate to Cache Data Folder
- Go to the
cache_datafolder at the same level as__init__.pyfile, i.e.,/User/path/ptyhon/site-packages/ZMPY3D_TF/cache_data.
3. Download the Cache File:
- Download the 1.3 GB max order 40
.pklfile to thecache_datafolder from the link below. https://drive.google.com/uc?id=1RR1rF_5YJqaxNC5AK0Ie_8MswGb0Tttw
Contributing
Feel free to submit pull requests for improvements or bug fixes.
Citation
Lai, J. S., Burley, S. K., & Duarte, J. M. (2024). ZMPY3D: Accelerating protein structure volume analysis through vectorized 3D Zernike moments and Python-based GPU integration. (Submitted)
License
This project is licensed under the GNU General Public License v3.0. You can view the full license here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ZMPY3D_TF-0.0.2.tar.gz.
File metadata
- Download URL: ZMPY3D_TF-0.0.2.tar.gz
- Upload date:
- Size: 16.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
090d4ae929c65d29be1c4deb52892d15426e391d79b8dab51ddb15ecc3b07805
|
|
| MD5 |
cd5df273097e2e203d618a18f931da64
|
|
| BLAKE2b-256 |
9aa3810abac4a27d8672e41e80e9da5ebc00e80eebe685709a864faeedd6a818
|
File details
Details for the file ZMPY3D_TF-0.0.2-py3-none-any.whl.
File metadata
- Download URL: ZMPY3D_TF-0.0.2-py3-none-any.whl
- Upload date:
- Size: 16.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6410915c137b9238986f850c423822d999d3d0658efb97822fb0b889c197e94a
|
|
| MD5 |
6c529118fe5c1f55094a156e70773a5e
|
|
| BLAKE2b-256 |
0c03282ebdf4dbd860975fcd69b68fd34dc3c11605abc9b51176296c3342baba
|