Skip to content

Introduction to AaronTools: Command Line Scripts

Victoria Ingman edited this page Aug 3, 2018 · 19 revisions

AaronTools provides a collection of Command-line Scripts for automating routine tasks encountered when running quantum chemistry computations.

These scripts can be used on the command-line or incorporated into other workflows.

Table of Contents

Examples

Extracting the geometry from a G09 output file

The grab_coords script can be used to extract the geometry from Gaussian input com files, Gaussian output log files, pdb files, or other xyz files.

The following will save the geometry from output.log into the xyz-formatted geometry.xyz

 grab_coords output.log -o geometry.xyz

To prevent unintentional overwrite, if a file already exists, the user will be presented an interactive prompt asking permission to overwrite and giving the option of providing a new name. The use of the -of flag, instead of the -o flag, will force overwrite. This may be useful for scripting purposes in which the interactive prompt is undesirable. For example, the following will silently overwrite the geometry.xyx file we created in the previous example:

 grab_coords output2.log -of geometry.xyz

Finally, the omission of a save file will simply print the geometry to STDOUT of the terminal:

 grab_coords output.log

Adding substituents to a simple geometry

Substitutions are supplied at the command line using key=value pairs. The key is the target atom which will be replaced with our substituent— the value. To list the substituents available to AaronTools, and determine the name to supply as the value, the --available or -a flag is used:

 substitute -a

For the following examples, we will be starting with a methane molecule, with hydrogens at 1, 3, 4, and 5.

To generate methanol,

 substitute methane.xyz -s 1=OH -o methanol.xyz 

To generate t-butanol from our new methanol.xyz,

 substitute methanol.xyz -s 3,4,5=Me -o tBuOH.xyz

We can also substitute substituent groups, not just hydrogens, as well as make multiple substitutions at the same time. Simply identify the atom of the old substituent that connects to the rest of the molecule; this is our target.

 substitute tBuOH.xyz -s 4=Et 1,3=Cl

Additionally, the --minimize or -m flag will indicate that the new substituent should be rotated to minimize LJ potential— helpful when adding bulky substituents or the target atom is found in a crowded region:

 substitute tBuOH.xyz -s 3,5=tBu -m

In addition to the substitute script, we also provide the cat_substitute script. This is more powerful, allowing for named substituents (instead of using the target atom numbering) to be replaced. However, it is built for cataysis systems the atoms in the xyz file must be in the appropriate order. See Adding substituents to a catalysis object below.

Mapping a new ligand onto a previously computed structure

Starting from a set of coordinates following AaronTools conventions (substrate atoms, then metal center, then ligand), you can replace the ligand with any ligand in the Ligand Library.

For example, suppose the following structure, which is a TS for a Rh-catalyzed hydrogenation of an enamide using an achiral ZDMP ligand from [REF], saved as ts1.xyz.

The following will replace ZDMP with (R,R)-Me-BPE:

 map_ligand ts1.xyz –l RR-Me-BPE > ts2.xyz

This will write the coordinates for the following structure as ts2.xyz:

Adding substituents to a 'catalysis' object

Starting from a set of coordinates following AaronTools conventions (substrate atoms, then metal center, then ligand), you can replace hydrogens or substituents with substituents found in the Substituent Library. If these substitutions occur on the ligand, you can either specify the atom number of the first atom of the substituent (the atom connected to the rest of the ligand) or by name.

For instance, starting with ts2.xyz from above, you can replace all methyl groups on the ligand with Ph, replace the CN group starting with atom 5 by COOCH3, and replace hydrogens 7 and 8 with methyl groups:

 cat_substitute ts2.xyz –l Me=Ph -s 7,8=Me 5=COOCH3 > ts3.xyz

This will result in the following structure being written to ts3.xyz

Generating a library of substituted structures from a previously computed structure

Aligning two structures based on the RMSD

Clone this wiki locally