-
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 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
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.
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