Thin Python wrapper for NextGenPB
Project description
ngpb4py
ngpb4py is a Python wrapper for running NextGenPB
through a containerized workflow.
It provides:
- a typed configuration object for
.prmfiles - a high-level runner that stages inputs and executes NextGenPB
- structured parsing of key log sections and supported output files
Installation
If Apptainer is already installed on your system, install the package normally:
pip install ngpb4py
If Apptainer is not installed, prefer the Conda-based setup provided by this
repository so both ngpb4py and apptainer are installed together:
wget https://raw.githubusercontent.com/pedrishi/ngpb4py/refs/heads/main/environment.yml
conda env create -f environment.yml
conda activate ngpb4py
For development or local docs/testing, install the project with its development dependencies:
uv sync --group dev
ngpb4py expects an Apptainer runtime to be available locally.
Quick Start
Using an existing .prm file:
from ngpb4py import NgpbConfig, NgpbRunner
config = NgpbConfig.from_prm("examples/exercise1/options.prm")
result = NgpbRunner(nproc=4).run(config=config, verbose=1)
print(result.log.energies.total_electrostatic_energy_kt)
Or running with defaults directly on a new .pdb file:
from ngpb4py import NgpbRunner
result = NgpbRunner(nproc=4).run(config={"filetype": "pdb", "filename": "examples/simple_4LZT/4LZT.pdb"})
print(result.log.energies.total_electrostatic_energy_kt)
Documentation
Documentation can be found here
License
This project is licensed under the GNU GPL v3.0.
ngpb4py is a separate Python wrapper project. It is not the NextGenPB solver itself, and its license statement applies to the wrapper code in this repository.
NextGenPB is the upstream solver project. That project is distributed separately, includes its own copyright notices, and is also marked there as GPL-3.0 licensed.
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
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 ngpb4py-0.5.3.tar.gz.
File metadata
- Download URL: ngpb4py-0.5.3.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f126ecd8bc79309845ae1f8e7183cb226e0ce1385ee4d1c074d62e8f3f8b0b8f
|
|
| MD5 |
bfae649596f5c3e36c76dd9c9c354aac
|
|
| BLAKE2b-256 |
235761479975f12141ddaad23ac2dd15640b1c88c5257c33881579c8caa13989
|
File details
Details for the file ngpb4py-0.5.3-py3-none-any.whl.
File metadata
- Download URL: ngpb4py-0.5.3-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c274c9ac63ecf26c777efdaf73f7cd87f10e41d8dd49bfa42807dc824d7574c
|
|
| MD5 |
00e5c0ebf449b84a3eec37e45f456eae
|
|
| BLAKE2b-256 |
40853a3384405bc357793ae7817fdbd95688fde17c98d8c5d5d3bdcedf0acb55
|