Useful input/output tools

These tools were written for Gaussian.1 They work for me; they may not work for you. Since using this scripts can have a HUGE impact on your research, please have a look at each of them to fully understand the implications of utilizing them in your work flow. That being said, I use them personally and have tested them to the best of my ability/experience. Of course, if you find a better way to do things then by all means share by opening an issue! I currently use them to extract data from output files and to tweak input files of larger jobs.

These scripts may be used individually or with one another. For example, if you are interested in the lowest imaginary frequency, you would run

g09-lowest-imaginary-frequency.zsh "foo.out"

and the pertinent data point would be output to the command line. Alternatively, if you wish to aggregate data into a csv file for further analysis with a spreadsheet program you could utilize several of the scripts together (for an example of how to integrate the individual scripts with one another, see g09-make-data and g09-generate-supporting-information). All scripts generally work in format of

g09-foo.zsh "bar.out"

with the exception of g09-mulliken-charges.zsh, which can take a second argument of the atom whose Mulliken charge you wish to obtain.


g09-cartesiansXYZ cartesian coordinates of converged geometry
g09-check-point-file-nameCheck point file name
g09-converged-point-groupFull point group
g09-data-testUsed to format the null result of each of these tests
g09-electronic-energy-after-SDF-is-doneElectronic energy after SDF is done
g09-generate-supporting-informationGeneration of supporting information into a hybrid HTML/MultMarkdown document
g09-lowest-imaginary-frequencyLowest converged imaginary frequency
g09-make-dataGeneration of all of this information into a csv file for further analysis
g09-mean-of-alpha-and-beta-electronsMean of the alpha and beta electrons
g09-mulliken-chargesGrab the Mulliken charges of a molecule
g09-mm-sanity-check--sum-of-all-chargesMolecular Mechanics sanity Check: sum of all charges
g09-mm-sanity-check--sum-of-atom-chargesMolecular Mechanics sanity Check: sum of all atom charges
g09-number-of-basis-functionsNumber of basis functions
g09-number-of-imaginary-frequenciesNumber of imaginary frequencies in converged geometry
g09-oniom-extrapolated-energyONIOM extrapolated energy
g09-organize-dataOrganize the completed jobs on a server into those that terminated correctly and those that haven’t
g09-revisionGrab the revision of Gaussian used to run the job
g09-route-sectionRoute information of input file
g09-spin-contamination-after-annihilationSpin contamination after annihilation
g09-spin-contamination-before-annihilationSpin contamination before annihilation
g09-sum-of-electronic-and-thermal-energiesSum of electronic and thermal energies
g09-sum-of-electronic-and-thermal-enthalpiesSum of electronic and thermal enthalpies
g09-sum-of-electronic-and-thermal-free-energiesSum of electronic and thermal free energies
g09-sum-of-electronic-and-zero-point-energiesSum of electronic and zero-point energies
g09-title-cardTitle Card of input file


I typically stay on the bleeding edge of computing. I created these on OS X 10.9 and have tested them using the following:

zsh>= 5.0.2
python== 2.7.5
GNU awk>= 4.1.0
Gaussian== Gaussian 09, Revision C.01 (there is β support for Rev. D.01)

Future work

There are currently plans to incorporate the above abilities to output from the formchk utility Gaussian provides. The rationale is that the output from that utility will not change between revisions of Gaussian, making the scripts far more reliable, faster to use and easier to maintain.

Like it?

Add it to your toolbox; If not, open an issue!


The author(s) of this toolset should be contacted via the issue tracker.

  1. an electronic structure program for computational chemistry