AutoIO

A Package of the AutoMech Suite

Andreas V. Copan, Kevin B. Moore III, Sarah N. Elliott, and Stephen J. Klippenstein



Overview

An essential feature of the AutoMech suite is its seamless workflow through many types of calculations including electronic structure, transport, master-equation, and modeling. The AutoIO library manages the input and output operations and the interfaces to non-python codes to make this workflow possible. The AutoIO library contains two conda packages: autoio-base and autoio-interfaces. AutoIO-base is the lowest-level package in the AutoMech suite, whereas AutoIO interfaces in dependent on AutoChem.

Base

The base input/output operations for AutoMech are:

  • autoparse: a set of wrappers for python.re that allow for more intelligible regular expressions syntax.

  • autoread: reads files and converts strings into AutoMech obects

  • autowrite: converts AutoMech objects into strings and writes them

  • ioformat: formats strings

Interfaces

We have built interfaces to the following codes:

Internal Codes

External Codes

MESS

chemkin

onedmin

pac99

projrot?

polyrate

intder

thermp

varecof

The AutoIO-Interfaces package also houses the autorun module which, after creating input for codes listed above, proceeds to execute the requested task and parse its output.

A highlight of the AutoIO-interfaces package is elstruct module which, itself, has many interfaces to electronic structure codes. It can automatedly run the following calculations on the following external quantum chemistry softwares:

  • Single point calculation: CFOUR(v2), Gaussian(v09, v16), Molpro(v2015), Orca(v4), PSI4

  • Geometry calculation: CFOUR(v2), Gaussian(v09, v16), Molpro(v2015), Orca(v4), PSI4

  • Gradients calculation: CFOUR(v2), Gaussian(v09, v16), Molpro(v2015), Orca(v4), PSI4

  • Frequency calculation: CFOUR(v2), Gaussian(v09, v16), Molpro(v2015), Orca(v4), PSI4

  • VPT2 anharmonic analysis: Gaussian(v09, v16)

  • IRC: Gaussian(v09, v16), PSI4

Getting Started

Installation

We have conda packages on the anaconda cloud for all of our packages. To install them, set up an environment for AutoMech. You can use the environment we have prepared for the suite auto-mech-env. Then activate your environment and install the autoio packages.

>>> conda env create auto-mech/auto-mech-env
>>> conda activate auto-mech-env

>>> conda install autoio-base -c auto-mech
>>> conda install autoio-interfaces -c auto-mech

For users new to conda, we have conda-instructions. Each AutoMech package is also available on GitHub.

Tutorial

The first step is to make sure the installation was successful by importing some of the modules in each package

>>> import autoread
>>> import elstruct

Then we can move on to using the autoio modules:

Documentation