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.
From PyPI:
pip install htpolynetFrom conda-forge:
conda install -c conda-forge htpolynetFrom 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.
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.
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 (and, optionally, the NVIDIA Container Toolkit for GPU runs).
Run htpolynet against a configuration file in the current directory:
docker run --rm -v $(pwd):/work ghcr.io/cameronabrams/htpolynet run config.yamlWith GPU support:
docker run --rm --gpus all -v $(pwd):/work ghcr.io/cameronabrams/htpolynet run config.yamlA 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.
Please consult documentation at htpolynet.readthedocs.io.
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.githtpolynet 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.
Cameron F. Abrams – cfa22@drexel.edu
Distributed under the MIT license. See LICENSE for more information.
https://github.com/cameronabrams
- 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