-
Notifications
You must be signed in to change notification settings - Fork 2
Introduction to AaronTools: Command Line Scripts
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.
The grab_coords script can be used to extract the geometry from Gaussian input files (Cartesian Coordinates only), Gaussian output files, pdb files, and 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
Note: Substituent names are case sensitive! 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
Notice that atom numbers are preserved to as great an extent as possible. That is, the atom being replaced is replaced with the first atom of the substituent, whereas the remainder of the substituent atoms are appended to the end of the coordinates.
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
No -m flag:
With -m flag:
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:
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