Author: Harsh Bhatia, hbhatia@llnl.gov; Attila G Gyulassy
TopoMS is a computational tool for detailed topological analysis of molecular and condensed matter systems, including the computation of atomic volumes and charges through the quantum theory of atoms in molecules (also known as Bader analysis), as well as the complete molecular graph. With roots in techniques from computational topology, and using a shared-memory parallel approach, TopoMS provides scalable, numerically robust, and topologically consistent analysis.
If you use TopoMS, please cite the following publication.
- H Bhatia, A G Gyulassy, V Lordi, J E Pask, V Pascucci, and P-T Bremer, "TopoMS: Comprehensive Topological Exploration for Molecular and Condensed-Matter Systems," Journal of Computational Chemistry, vol. 39, issue 16, pp 936–952, June 2018. doi:10.1002/jcc.25181.
TopoMS can be used as a command-line tool (./topoms
) or with a GUI
(./topoms-ui
), where the latter also enables an interactive exploration of
the molecular graph.
TopoMS requires a configuration file to provide several important parameters
for analysis. Both applications take a single command-line input -- the
configuration file name. A detailed example of configuration file is
provided in the ./configs
folder.
-
TopoMS requires a
gnu
C++ compiler (preferablygcc 7.3
). Note that for Mac, the defaultgcc
is in factclang
. Unless you have it configured otherwise, you need to set the path ofgnu
compiler explicitly (see below). -
In addition,
TopoMS-UI
requires the following to support visualization and user interface. TopoMS assumes the following are available on your machine.Qt 5.7
: Note that Qt often changes the API substantially between versions; please use the recommended version. Qt is available through a number of package managers. For example, for Mac, you can usemacports
to get Qt:port install qt57
. Or you may install Qt from source. See here and here.OpenGL
: Comes pre-installed on your machine.GLEW 2.1.0
: Extension Wrangler for OpenGL. Also available through common package managers. For Mac,GLEW
is available viamacports
:port install glew
. You may also install it from source. See here.
-
Visualization Toolkit (VTK):
TopoMS
requires VTK in order to output molecular graphs. Although optional,VTK 7.1.1
is strongly suggested as a dependency. -
Finally,
TopoMS-UI
also usesQGLViewer 2.7
for visualization. See here.
To simplify installation, scripts have been provided to build TopoMS
as well
as TopoMS-UI
along with their dependencies (VTK
and QGLViewer
). Please see
the usage below. Additional instructions for individual installation are
provided separately in the respective folders, topoms
and topoms-ui
.
$ pwd
<your-path>/TopoMS
$ export GNU_CXX=/opt/local/bin/g++ # example path; needed only for Mac
$ sh install.topoms.sh
$ sh install.topoms-ui.sh
TopoMS
executables will be installed in <your-path>/TopoMS/build
, and
dependencies (VTK
and QGLViewer
) will be installed in
<your-path>/TopoMS/external
.
Note: The provided scripts have been tested on Mac OS 10.13 and Red Hat linux. Support for installation on Windows will be provided in the future.
- Bader volumes of the atoms in Ethylene molecule
- Complete molecular graph of a lithium salt (LiPF6) in Ethylene Carbonate solution
TopoMS is released under dual license.
- BSD
- The core functionality,
./topoms
, is released under BSD license by LLNL. - The MSC library,
./msc
, is released under BSD license by University of Utah.
- The core functionality,
- GPL
- The UI application,
./topoms-ui
, is released under GPL by LLNL.
- The UI application,
Please see the respective directories on more details about corresponding licenses.