Installation and Prerequisites¶
Software Prequisites¶
The following commands should be in your path:
antechamber
,parmchk2
, andtleap
(AmberTools, version 22 or higher); preferred installation viaconda
.gmx
orgmx_mpi
(Gromacs, version 2022.1 or higher); preferred installation via compiling from source.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:
MD simulation in general and Gromacs specifically;
the General Amber Force Field (GAFF), including in particular
how to use
antechamber
,tleap
, andparmchk2
to generate GAFF parameterizations; andhow to use these parameterizations inside Gromacs; and
Polymer chemistry, at least for the systems you are interested in simulating.