Installation and Prerequisites

Software Prequisites

The following commands should be in your path:

  1. antechamber, parmchk2, and tleap (AmberTools, version 22 or higher); preferred installation via conda.

  2. gmx or gmx_mpi (Gromacs, version 2022.1 or higher); preferred installation via compiling from source.

  3. obabel (OpenBabel); preferred installation via Linux distribution package.

Installation

If you use conda/anaconda, we recommended that you create a separate Python environment running HTPolyNet:

$ conda create --name mol-env python
$ conda activate mol-env

Once this environment is created and activated, you can install both ambertools and HTPolyNet from conda-forge:

$ conda install -c conda-forge ambertools
$ conda install -c conda-forge htpolynet

If you are not a conda user, you can install HTPolyNet from PyPI.

$ pip install htpolynet

Note that you will have to install ambertools some other way.

To install a development version of HTPolyNet you can instal from a freshly cloned Github repository:

$ git clone git@github.com:AbramsGroup/HTPolyNet.git
$ cd HTPolyNet
$ pip install -e .

Notes

If you prefer to use more recent versions of AmberTools, Gromacs, or OpenBabel than your system currently provides, you can compile the latest versions from source. It is recommended that you deactivate any conda environment before performing any of these compilations.

Compilation of AmberTools

Compilation of AmberTools requires csh, flex, and bison:

$ tar jxf AmberTools21.tar.bz2
$ cd amber_src
$ ./configure --no-X11 --skip-python gnu
$ source amber.sh
$ make install

Compilation of Gromacs

You can also compile Gromacs from source, if your Linux distibution doesn’t include it in its package management, or you are on a big supercomputer. The example below builds Gromacs with CUDA but without MPI (assuming you have CUDA installed):

$ tar xfz gromacs-2022.1.tar.gz
$ cd gromacs-2022.1
$ mkdir build
$ cd build
$ cmake ..  -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs
$ make
$ make check
$ sudo make install

And add to your ~/.bashrc:

source /usr/local/gromacs/bin/GMXRC

This should provide access to the gmx command. If you additionally compiled an MPI version (using -DGMX_MPI=on in the cmake command), you will also have access to gmx_mpi; either of these commands can be used by HTPolyNet. Note that Gromacs 2016 and below have a version of gmx distance that limits the number of distances that can be calculated, so we (always) recommend using the latest Gromacs.

Compilation of obabel

If your system does not have obabel installed and your Linux distribution doesn’t offer a package for it (or you are not root!), you can compile it from source. Be sure to unpack Eigen first so that the conformer plug-in for obabel will work. Below I demonstrate a session in which both the Eigen and OpenBabel source packages are downloaded to ~/Downloads and are unpacked in the directory ~/build/, and the OpenBabel installation directory is ~/opt/obabel.

$ cd ~/build
$ tar jxf ~/Downloads/eigen-3.4.0.tar.bz2  # unpack only -- no need to compile
$ tar jxf ~/Downloads/openbabel-3.1.1.tar.bz2
$ cd openbabel-3.1.1
$ mkdir build
$ cd build
$ cmake .. -DEIGEN3_INCLUDE_DIR=${HOME}/build/eigen-3.4.0/ -DCMAKE_INSTALL_PREFIX=${HOME}/opt/obabel
$ make
$ make test
$ make install

You will need to ensure that ${HOME}/opt/babel/bin is in your PATH, ${HOME}/opt/babel/lib is in your LD_LIBRARY_PATH, and that the environment variable BABEL_LIBDIR is set to ${HOME}/opt/babel/lib.

Other Prequisites

In order to use HTPolyNet effectively, it is recommended that you have good working knowledge of the following:

  1. MD simulation in general and Gromacs specifically;

  2. the General Amber Force Field (GAFF), including in particular

    1. how to use antechamber, tleap, and parmchk2 to generate GAFF parameterizations; and

    2. how to use these parameterizations inside Gromacs; and

  3. Polymer chemistry, at least for the systems you are interested in simulating.