molUP is a free VMD extension that allows you to open and save Gaussian files. This tool can be used to analyze results from Gaussian output files and prepare Gaussian input files.

molUP provides also a set of tools to adjust bond lengths, rotate angles and dihedral angles directly on VMD. With molUP, it is possible to add and remove atoms or molecules using VMD. 

H. S. Fernandes, M. J. Ramos, N. M. F. S. A. Cerqueira J. Comput. Chem. 2018, 39, 1344–1353. DOI: 10.1002/jcc.25189


molUP can be easily installed through the VMD Store.
Please, install the VMD Store and then this extension.
Available for macOS, Linux, and Windows

Download vmdStore

For manual installation check the instructions below. 


molUP is a VMD extension that provides a simple manner for loading and saving Gaussian files, and analyze related results. molUP provides a graphical interface for VMD where the users can load and save chemical structures in the Gaussian file formats. This extension includes a set of tools to set up any calculation supported by Gaussian, including ONIOM; analyze energies through interactive plots; animate vibrational frequencies; draw the vectors associated with those frequencies; modify bonds, angles, and dihedrals; and collect bibliographic information on the employed methods.


Open Files

molUP open Gaussian input and output files on VMD. In the case of calculations of structure optimizations, molUP allows the user to choose which structure or structures must be loaded.

Moreover, molUP can handle structures from any type of file supported by VMD such as PDB, XYZ, AMBER…

Save Files

The structures can be saved as a new Gaussian input file, PDB, XYZ or an ORCA input  NEW  file. 

ONIOM Layers

molUP is prepared to handle with ONIOM calculation with 2 or 3 layers (High, Medium, and Low Layers).

This is an interactive interface to choose which atoms must be assigned to each layer.

molUP will automatically fill the valence across the boundary of adjacent layers with hydrogens as link atoms.

Fix the position of some atoms

A similar interface is used to select atoms that must be fixed during the structure optimization calculations.

The atoms can be selected using the table interface or through the atom selection style of VMD. 


molUP provides a table containing information about the Molecular Mechanics charge of all atoms in the system. 

The charges can be manually edited in this interface.

Update charges from a Gaussian output file. NEW 

Prepare a Gaussian input file

This tab on molUP’s interface allows the preparation of every section of a Gaussian Input file:

    • Job Title
    • Calculations keywords (Using default or custom inputs)
    • Charge and Spin Multiplicity of the System
    • Connectivity (can be imported from VMD, Gaussian input files or assigned manually)
  • Parameters and Other Information (Useful to provide MM parameters, which can be imported from PRMTOP files, use pseudo-potentials or set up a scan using the embedded modredundant assistant)
Show charged molecules

molUP quickly identifies the positive and negatively charged molecules in the system (blue and red surfaces)

After the assigning of ONIOM layers, this interface can also be used to estimate the charge of each layer (required for any QM/MM calculation).

Modify bonds, angles, and dihedral angles

molUP provides a set of three tools to modify bond lengths, angle amplitudes, and dihedral angle torsions

Use the mouse to pick the atoms and the pop-up window to move the atoms that can be custom selected

Add and Remove Atoms/Molecules  NEW 

molUP introduces a new tool to add atoms and molecules to your system. You can add molecules from the fault molecule or picking each atom from the periodic table.

Simply choose the atom/molecule and pick an atom of your initial system. The new atom/molecule will be placed in relation to that picked atom. You can adjust the position and orientation of the new atom/molecule. 

Moreover, you can now delete atoms on VMD simply picking them. 

Scans of reaction coordinates

When a reaction coordinate scan is performed, we are interested in the energy profile of a certain reaction or conformational rearrangement. Therefore, molUP plots the energy of each optimized structure to easily study the energy profile and analyze the structures of each step. 

The energy plot is interactive so each point can be selected to see the related structure. 

Several options are available to zoom, change the energy units, and split the ONIOM energy.

Frequency calculations

Every transition state (TS) must be validated through a frequency calculation that must result in a single imaginary frequency (negative value) assigned to the atoms involved in the reaction. 

This task becomes easier with molUP that collects all the frequencies and shows the vectors associated with that vibrational profile.

molUP also provides an animation of the vibration of the atom involved in each frequency.

This frequency calculation is also important to provide Thermal Corrections that are needed to estimate the Gibbs free energy. 

What publications should I cite?

molUP evaluated the type of calculations that were performed to collect a list of publications that must be cited according to the methods and software used.

If you notice that a particular citation is missing, please contact us:



How to start a QM/MM study from a Molecular Dynamics (MD) simulation? [See Tutorial]

Detailed tutorials:

molUP Tutorial 1 – Start a QM/MM study

molUP Tutorial 2 – Load a Gaussian output and prepare a scan

Minimum Requirements

Operating System: macOS, Linux, or Windows.

Visual Molecular Dynamics (VMD) 1.9.3 (Free Download) or later.


Automatic Installation

You could easily install molUP through the VMD Store.   Download vmdStore

Manual Installation

Alternatively, you could install molUP manually:

  1. Download or Clone the repository.
  2. Copy the molUP directory to a location on your computer. (Get that location!)
  3. Copy the text inside “install.txt” file and paste on your .vmdrc file (macOS and Linux ) or vmd.rc file (Windows).
  4. Replace the string “$::vmdStorePath/plugins/molUP” by your installation location (Step 2).
  5. Save the .vmdrc or vmd.rc file.
  6. Restart VMD.

(Optional) Run molUP from bash

molUP supports now the loading of Gaussian files directly from your command line (available for macOS and Linux).


  1. Add the following line to your .bashrc (Linux) or .bash_profile (macOS) file. (This file is located in the HOME directory) You have to edit the “path of the bashScript.tcl file” field by the complete path of this file that is located in the molUP installation directory: “molUP/lib/bashScript.tcl”
alias molUP='vmd -e "path of the bashScript.tcl file" -args'
  1. Call molUP from the command line:

Open a Gaussian file using the standard procedure:

molUP "Gaussian file"

Open a Gaussian output file reading all available structures:

molUP "Gaussian file" -all

Report Bugs/Suggestions

If you experienced any type of issue, please contact us to fix it as soon as possible. (Provide the error message and the file that causes it.)

If you have any idea of new features, please let us know to try the implementation in a future version.



macOS sed and gsed

On macOS, the sed command needs to point to GNU-sed (gsed). Using brew, you can easily install GNU-sed a native sed on macOS:

brew uninstall gnu-sed && brew install gnu-sed --with-default-names

Examples of errors that occur in this situation:

sed: 1: "5 {p; :loop n; q; b loop}": unexpected EOF (pending }'s)
sed: 1: "5 {p; :loop n; q; b loop}": unexpected EOF (pending }'s)
while executing
"exec $molUP::sed -n "$lineNumberTitle {p; :loop n; q; b loop}" $molUP::path"
(procedure "molUP::loadGaussianInputFile" line 5)
invoked from within
(procedure "molUP::loadButton" line 9)
invoked from within
"molUP::loadButton $molUP::fileExtension"
invoked from within
".molUP.openFile.frame.back.buttonLoad invoke "
invoked from within
".molUP.openFile.frame.back.buttonLoad instate {pressed !disabled} { .molUP.openFile.frame.back.buttonLoad state !pressed; .molUP.openFile.frame.back.b..."
(command bound to event)
list element in quotes followed by ":" instead of space
list element in quotes followed by ":" instead of space
while executing
"llength [lindex $molUP::structureGaussian 0]"
(procedure "molUP::loadGaussianOutputFile" line 79)
invoked from within
"molUP::loadGaussianOutputFile lastStructure"
(procedure "molUP::loadButton" line 19)
invoked from within
"molUP::loadButton $molUP::fileExtension"
invoked from within
".molUP.openFile.frame.back.buttonLoad invoke "
invoked from within
".molUP.openFile.frame.back.buttonLoad instate {pressed !disabled} { .molUP.openFile.frame.back.buttonLoad state !pressed; .molUP.openFile.frame.back.b..."
(command bound to event)

Internet connection causing VMD Store installation issues

If you cannot install molUP through VMD Store, please check if you are able to access Some countries/networks could block access to specific domains as GitHub, precluding the installation process.

Paths on Windows OS

If you experienced some kind of error loading files, please check the vmdStore.rc or vmd.rc files. Sometimes, Windows OS provides different types of paths for the some directory, causing issues. For example, the following line:

variable vmdStorePath "/users/name/vmdStore"

should be changed to:

variable vmdStorePath "C:/Users/name/vmdStore"

Examples of errors that occur in this situation:

unknown color name "/users/eddie/vmdStore/plugins/molUP/user/references.txt:"
unknown color name "/users/eddie/vmdStore/plugins/molUP/user/references.txt:"
(processing "-foreground" option)
invoked from within
"$pathName tag configure "[subst $color]" -foreground "$color""
(procedure "molUP::checkTags" line 8)
invoked from within
"molUP::checkTags .molUP.frame0.major.mol$mol.tabs.tabInput.keywordsText"
(procedure "molUP::updateStructures" line 27)
invoked from within
(procedure "molUP::loadButton" line 21)
invoked from within
"molUP::loadButton $molUP::fileExtension"
invoked from within
".molUP.openFile.frame.back.buttonLoad invoke "
invoked from within
".molUP.openFile.frame.back.buttonLoad instate {pressed !disabled} { .molUP.openFile.frame.back.buttonLoad state !pressed; .molUP.openFile.frame.back.b..."
(command bound to event)

If you used molUP, please cite

H. S. Fernandes, M. J. Ramos, N. M. F. S. A. Cerqueira J. Comput. Chem. 2018, 39, 1344–1353. DOI: 10.1002/jcc.25189

Download citation


See here.

Leave a comment