QMForge
About
QMForge is a program used to analyze the results of quantum
chemistry (DFT) calculations. Gaussian 98/03, ADF, GAMESS (US), GAMESS
(UK), PC-GAMESS, Jaguar, and ORCA files are supported
(see below). The following
analyses are available:
- Mulliken Population Analysis (MPA)
- C-squared Population Analysis (SCPA)
- Overlap Population Analysis (OPA)
- Mayer's Bond Orders
- Charge Decomposition Analysis (CDA)
- Fragment Analysis
MPA, CSPA, and OPA require a user-defined set of fragments, and prints
the percent contributions those fragments make towards each molecular
orbital in the molecule. Mayer's bond orders calculates the bond orders
between each pair of atoms in the molecule. CDA and Fragment Analysis
require three or more calculations (one for the entire molecule, and
two fragment calculations), and provide information about the bonding
interactions between fragments.
QMForge is the direct descendent of PyMOlyze, which was inspired by
the console-based, (originally) Windows-only program
AOMix that has features
including (and in addition to) those listed above. I initially wrote PyMOlyze
because I wanted a user-friendly (ie. graphical) Linux program to do
MPA for each molecular orbital of Gaussian calculations. I extended it to handle
files from geometry optimizations because I found myself wishing I
could translate and rotate the optimized structure and save that as an
XYZ file. Now, it has been renamed QMForge, and I use it for almost
everything except making molecular orbital pictures and diagrams.
There are still some analyses that QMForge doesn't do, so if it
doesn't address your needs, check
out AOMix (or
shoot me an email
and we'll talk).
QMForge has been created using the Python
scripting language, the Qt4
toolkit and its python extensions PyQt4,
Numeric, and the cclib
compuational package parsing library. It has been tested on Windows
XP, Windows 2000, and Mac OS X; it should work just as well on any
GNU/Linux distribution, although I have not tested it yet.
QMForge can be cited however you feel appropriate, although I
recommend ONE of the following:
- Tenderholt, Adam L. QMForge,
Version 2.1, http://qmforge.sourceforge.net.
- Tenderholt, Adam L. "QMForge: A Program to Analyze
Quantum Chemistry Calculations", Version 2.1, http://qmforge.sourceforge.net.
- Tenderholt, Adam L. QMForge,
Version 2.1. Stanford University, Stanford, CA, USA.
Of course, citation requirements vary from journal to journal, so
adjust the above as necessary.
Screenshots

|

|
The main window with an opened calculation file
showing the different analyses available and the new cartesian
coordinate editor (Windows)
|
Mulliken Population Analysis of divinylbenzene (Mac)
|
 |
 |
| The Population Analysis pane, showing selected atoms
(Windows) |
The main window showing the new optimization viewer |
Download/Installation
Windows
Version: Download and unzip the file. There should be an executable (QMForge.exe) in the
resulting directory.
Mac
Version (Universal binary!): Download and open the image. There should be an application
bundle which you can drag to your Applications folder.
Sourceforge
Project Page
Notes
QMForge depends heavily on cclib for parsing files (and the calculation methods), so
check the wiki
for any options in your QM package you may need to include. If you
find a bug involving the parser or methods, please let me
know or post to one of the cclib mailing
lists.
Bugs and New Features
QMForge depends on OpenBabel which doesn't always load correctly on some Windows XP systems. If you get an error like "DLL load failed: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem." when trying to start QMForge on Windows, download and install the Microsoft Visual C++ 2005 Redistributable Package.
If you find any other bugs PLEASE let
me know. I'll try to fix it as soon as possible.
If you would like to contribute documentation, bug fixes, or new
features, I would love you forever (and you'd get your name added!).
If you have a suggestion for an improvement but coding isn't your
thing, let me know. I have lots of ideas
for features to add to QMForge, but there aren't nearly enough hours
in the day to work on all of the features I want and do my own
research.
Changelog
Version 2.1 (10/30/07)
- Name change to QMForge
- ORCA support
- Switch to numpy 1.0.2 and openbabel 2.1.1
- Uses cclib built from the 0.8 branch + unreleased ORCA parser
Version 2.0.1 (3/29/07)
- Better support for Jaguar if using cclib trunk
- If 6D cartesian functions are used for d orbitals are found, ask and convert to 5D spherical functions
- Add/Remove atoms from the cartesian coordinate editor
Version 2.0 (1/27/07)
- OpenGL 3D rendering
- Atom is highlighted in 3D when choosing an atom/orbital
for population analysis
- Observe structural changes during an optimization
- Cartesian coordinate editor (any step of the optimization)
- Functions for translating or rotating a molecule
- Center molecule on an atom
- Rotate molecule so that two atoms are along an axis
- Rotate moelcule so that three atoms lie in a plane
- Save structures as XYZ, PDB, internal coordinates, etc.
- Charge Decomposition Analysis (using the method developed
by Frenking et al.)
- Fragment Analysis to study bonding interactions by
determining contributions of fragment MOs to molecular MOs
Version 1.5.2 (11/1/06)
- Upgraded the interface to Qt4
- More consistent interface between the three supported
platforms
- Drag and Drop functionality in Windows along with Mac and
Linux
- Minor UI improvements
- Removed DOS support (temporarily)
- Switched to the cclib compuational parsing library
- Better
support for ADF files
- Support
for GAMESS and GAMESS-UK files
- Calculate
Mayer's Bond Orders
- Speed
improvments for the population methods
Version 1.1 (2/3/06):
- Support for ADF output files
- Introduction of classes for parsing calculation types, so
extending to another calculation program should be easier
- Better error detection and warnings for wrong job types and
missing info
License
QMForge is licensed under the GNU GPL. This means that you are allowed
to give or sell this program to your colleagues,
friends, roommates, random strangers, mortal enemies, etc.
It also means that you are allowed to modify the program as you see
fit, but if you distribute any of your changes (in binary or source
form) you must state in any altered file when it was altered, provide
the source code of your new version to anyone who requests it for a
charge of no more than it costs you to send it to them, and license
your work under the
terms of the GNU GPL. This applies to all of the code, so you also
can't include portions of QMForge in your own work without making your
work subject to the terms of the GPL. If you decide to distribute an
unmodified version, the recipients have the right to the source code so
either provide it to them or direct them to this website.
You may be wondering why I don't charge people for a copy of QMForge.
The main reason is that QMForge is mostly a hobby project I use to
make my research more efficient, and I usually work on it when I have a
bit of spare time. So I figure share it with the world and hope
other people use it. With that said, if you find QMForge useful in
your own research, you should consider
donating some money---I'm sure
you can spare $20 and it will encourage me to keep writing software.
Last
modified on 10/28/07
Adam Tenderholt
atenderholt at users dot sourceforge dot net
