Tuesday, August 14, 2012

The Molecule Calculator

What is MolCalc?
MolCalc is a web interface that allows anyone to build (small*) molecules and estimate** molecular properties such as molecular structure, heats of formation, vibrational frequencies and vibrational modes, and molecular orbitals and orbital energies in a matter of seconds or minutes - depending on the size.  

MolCalc is designed for teaching as opposed to research - specifically for assignments in which students build their own molecules and estimate their own molecular properties.  (**MolCalc is therefore designed to run fast and the estimated molecular properties will not match experimental values exactly, and in some cases be quite different.)  The idea is to have students develop a “chemical intuition” about how molecular structure affects molecular properties, without performing the underlying calculations by hand (which would be near impossible for all but the simplest chemical systems).

How can I use MolCalc in teaching?
Just like a pocket calculator or a symbolic math program (such as Mathematica or MAPLE), MolCalc allows one to assign “higher level” chemical problems that are not practically possible to solve otherwise.  

For example, one might now ask students to compute the effect of a substituent on a particular vibration, and then rationalize the effect using molecular orbitals.  Or one might ask more open ended questions such as “build a molecule with an unusually long C-C single bond”.

How does MolCalc work?
In the Molecule Editor page the molecular structure is build using Jmol and energy minimized using the UFF force field as implemented in Jmol.

In the Molecule Calculator page the structure is re-optimized at the PM3 level of theory for a maximum of 50 steps.  This structure is then used to compute the heat of formation or vibrational frequencies at the PM3 level of theory, or the molecular orbitals using the RHF/STO-3G level of theory.  These calculations are performed with the GAMESS program. OpenBabel is used to manage input files and coordinate files.

*MolCalc 1.0 allows calculations on (closed shell) molecules with only doubly occupied molecular orbitals and with less than 11 non-hydrogen atoms.

Can I modify and/or install MolCalc on my own server?
Yes, MolCalc is distributed through github under the GPL license (

). You must obtain a copy of the GAMESS code separately from http://www.msg.ameslab.gov/gamess/download.html

The interface code uses PHP5, jQuery, HTML5, and CSS3 and is very modular.  It therefore quite easy to add new capabilities to MolCalc.

What if I find a bug in MolCalc?
Please report it here.
Who is involved with MolCalc?
MolCalc 1.0 is written by Jimmy Charnley Kromann based on an idea by Jan Jensen. Toke Fritzemeier wrote an early prototype.  The Molecule Editor was inspired, in part, by the Virtual Molecular Modeling Kit.

The development of MolCalc is supported by the University of Copenhagen through the Education at its Best initiative (Den gode uddannelse).

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.  


Geoff Hutchison said...

This is fantastic, great! One thing that would be very interesting is to save the calculations for re-use. For example, compute the InChI or Canonical SMILES using Open Babel and detect if the calculation has been run before.

But I'd love to see a start on an open database of quantum calculations for teaching, etc.

Unknown said...

Right now calculation is saved under a molecule ID (md5 hash of the molecule), so if the user submits a molecule already calculated, the results will just show up. Which also means the results can be 'saved' by bookmarking the specific calculation page (fx http://dgu.ki.ku.dk/molcalc/calculation?m=856d9fc722ba5d192c690e5b9dfdda2c ).