A MD/GCMC OpenMM/XML interface
Code reads CHARMM-formatted PSF/PRM (tested with CHARMM27, CHARMM36 and C36 CGENFF parameters) and runs MD and enhanced sampling techniques like aMD w/ dihedral boost potential and umbrella sampling. It has implementations of Generalized Born using CustomGBForces in OpenMM too (OBC2 model and GBn2 models) for implicit solvent simulation, and writes output trajectories in DCD format. The GCMC implementation currently requires updates to the OpenMM header (".h") files and is disabled by default, and relies on an MD integrator (Verlet) for NVT simulations between GCMC insertion/deletion moves. Some example programs are provided to build systems from a copy of a single molecule (PSF and PDB with parameters) to simulate increasing solute concentration for self-assembly. XML serialization provides a simple way to interface with CHARMM outside of the package.
The OpenGL visualization is shown in the picture and similar to the one provided in other programs here. Run "make" to compile simulation code (OpenMM path is just specified in the Makefile), and in visualizer folder run "make linux" or "make osx" for your platform and then run it with "visualizer 7001" in a spare terminal for the server to come up with the OpenGL display server on TCP port 7001. Hostname and port can be changed and are 'localhost' and 7001 by default in the simulation code right now.
It also makes a fun educational tool for watching simulations as they minimize and then run!
Simplest options right now are in runmd.cpp and the syntax is "runmd system.psf system.pdb par_file1.prm par_file2.prm par_file3.prm..." and it's mostly focused on infrastructure for building models to run with OpenMM and approaches that can interface with it and to add functionality needed for some of my work. CHARMM/OpenMM work is one potential application.
Additional codes as well as new developments for GCMC simulations using the OpenMM libraries, in preparation.