htpolynet
High-Throughput Polymer Network Atomistic Simulations
htpolynet is a Python utility for generating atomistic models of cross-linked polymer networks together with appropriate topology and parameter files required for molecular dynamics simulations using Gromacs. It is intended as a fully automated system builder requiring as inputs only the molecular structures of any monomer species, a description of the polymerization chemistry, and a handful of options describing desired system size and composition. htpolynet uses the Generalized Amber Force Field for atom-typing and parameter generation.
Installation
From PyPI:
pip install htpolynet
From conda-forge:
conda install -c conda-forge htpolynet
From source:
git clone git@github.com:cameronabrams/htpolynet.git
cd htpolynet
pip install -e .
Once installed, the user has access to the main htpolynet command.
If you drive htpolynet with Claude Code, install the bundled skill so the agent knows how to use it:
htpolynet setup-claude
This writes ~/.claude/skills/htpolynet/SKILL.md; nothing is installed there unless you run it.
IMPORTANT NOTES: The programs antechamber, parmchk2 and tleap from AmberTools must be in your path. These can be installed using the ambertools package from conda-forge or compiled from source. You also need Gromacs installed so gmx is in your path. The examples show how to build input monomer structures using OpenBabel, so to use them you need obabel in your path as well.
Docker
As an alternative to a local installation, a prebuilt container image is published at ghcr.io/cameronabrams/htpolynet. It bundles htpolynet together with Gromacs, AmberTools, and OpenBabel, so no additional dependencies are required on the host beyond Docker.
Run htpolynet against a configuration file in the current directory:
docker run --rm -v $(pwd):/work ghcr.io/cameronabrams/htpolynet run config.yaml
The image cannot use a GPU. Its Gromacs comes from conda-forge, built against OpenCL rather than CUDA, and Gromacs no longer drives NVIDIA devices through OpenCL. Passing --gpus all starts the container and changes nothing about how it computes; on a cluster, target CPU partitions and do not request --gres=gpu or pass --nv. If you need GPU-accelerated Gromacs, install htpolynet natively against a CUDA-enabled Gromacs.
A Docker Compose file is also provided in docker/compose.yml for a shorter invocation (docker compose run --rm htpolynet run config.yaml). See docs/source/user-guide/container-usage.rst for the full story, including Singularity/Apptainer use on HPC systems.
Documentation
Please consult documentation at htpolynet.readthedocs.io.
Repository relocation
This repository formerly lived at AbramsGroup/HTPolyNet and now lives at
cameronabrams/htpolynet. GitHub redirects
the old URLs, so existing clones and forks continue to work; if you prefer, you can
update your remote explicitly:
git remote set-url origin git@github.com:cameronabrams/htpolynet.git
Acknowledgments
htpolynet grew out of the original HTPolyNet prototype begun by Ming Huang in 2020. Ketan S. Khare contributed early LAMMPS-related utilities, and S. Alexis Paz contributed a bug fix. The current package is a full rewrite, but the project owes its origins and its published description to that earlier work. When using htpolynet in published work, please cite Huang and Abrams, SoftwareX 21, 101303 (2023), doi:10.1016/j.softx.2022.101303, along with the GAFF and Gromacs papers listed in the documentation.
Meta
Cameron F. Abrams – cfa22@drexel.edu
Distributed under the MIT license. See LICENSE for more information.
https://github.com/cameronabrams
Contributing
- Fork it (https://github.com/cameronabrams/htpolynet/fork)
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
Metadata
Release files for htpolynet 2.10.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| htpolynet-2.10.2.tar.gz | 13.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| htpolynet-2.10.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 MB
Release files / htpolynet-2.10.2.tar.gz
| Download URL | htpolynet-2.10.2.tar.gz |
|---|---|
| Size | 13.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9c6a7b203081fe6ed02a37eb7708926581478b2f33efebd181e9a6df1e0cfb2
|
|
BLAKE2b-256 checksum How to use checksums |
fd79e30bf1396e25cb4dcb06d0ead4cfd8fd29ae1aca78e04e89c2e702a3b3d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / htpolynet-2.10.2-py3-none-any.whl
| Download URL | htpolynet-2.10.2-py3-none-any.whl |
|---|---|
| Size | 375.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc4da877a94ac47a09fff09d5df52f8595f8a4e8405b396a8c48f62bee3403b7
|
|
BLAKE2b-256 checksum How to use checksums |
6360dab50f53694a1427e6ca8142f072ad698588ca4928b1e62f27743c2964df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log