YADDA
Installation
YADDA is still currently a work in progress, but here is the way that you can install it and use the program.
First, go to the GitHub page
and click on the green Code
button at the top right of the page. This
will allow you to copy the ssh link which will allow you to clone the
repository to a computer. Copy this link (will start with git@github.com:)
and return to your computer, where you will type
git clone <ssh link>
This line will copy the current GitHub repository to your computer, including all the scripts you need to run it.
Warning
One thing to note, this will not work if you do not have a GitHub ssh key set up already for the computer you are working on. You can find more information here.
Once you have the package cloned to your computer, you can add it to your PYTHONPATH variable to allow YADDA to be run as a module.
For example, if you cloned YADDA into your home directory (/home/username/
),
you will add this line to your .bashrc
:
PYTHONPATH="${PYTHONPATH}:/home/username/yadda"
and source
your .bashrc
, then you will be able to run the
script easily.
Preparation
For this script to work, there are a few files that you'll need.
Additionally, this only currently works on the local linux machines,
such as Buzzsaw
or Fireball
. You could likely put the command
into a submision file, but this hasn't been tested yet (and it would
require the long queue on ACME).
IRC Output File
First, you need an IRC calculation that shows that path from the reactants to the transition state structure. Often, this is done only for the lowest energy conformation of the transition state. Additionally, this calculation should show a fairly smooth IRC with a lot of points to ensure that you'll be able to draw meaningful conclusions from the results.
Example Input File
One thing you'll need is an example input file (or at least the bones of one) for the program to use when formatting the inputs for the calculations that will be run along the IRC. Here is an example for qchem:
$rem
jobtype eda
eda2 2
unrestricted false
scf_algorithm diis
scf_convergence 8
max_scf_cycles 200
thresh 14
symmetry false
sym_ignore true
PURECART 1112
FRGM_METHOD GIA
FRGM_LPCORR RS_EXACT_SCF
XC_GRID 000099000590
MEM_TOTAL 8000
MEM_STATIC 4000
$end
Warning
This example file does not include solvation, so if you want that in your EDA calculations you'll have to include it.
YADDA Input File
The last required file for these calculations is the actual YADDA input file. This file includes all the flags that you plan on using, and it's also where you specify the file names that you will be calling during the calculation. Here is an example for this file:
## REQUIRED
-i dats_irc.log ## name of the IRC output back to reactants (required)
-f 1-10,32-44:11-31 ## atom numbering for the two fragments (required)
-l M062X/6-31G* ## level of theory and basis set (required; doesn't need to match IRC)
-e ALMO ## EDA type (required: QM/ONIOM/ALMO)
-x qchem.inp ## example input file for QCHEM
## OPTIONAL
-q /usr/local/qchem ## path to qchem executable
-d dats ## directory containing IRC and ground state outputs (defaults to ./)
-o almo ## directory to perform new calculations (defaults to ./calc)
-a diene.log ## filename of optimized fragment A
-b dienophile.log ## filename of optimized fragment B
-n 16 ## nCPUs used in jobs
--coord 1:12/4:11 ## measure distance(s) along reaction coordinate
-v ## turn on verbose printing
This file has noted a few things that are optional and required for the calculation and can serve as a guide for a few of the things you can do.
Warning
Make sure you are directing to the correct version of QChem for this!
Note
This input file has a section where you can define the bond(s) that are forming/breaking in your transition state so that you can plot/analyze the data along a physical coordinate of the reaction (such as bond length).
(optional) Optimized Reactant Files
These aren't required, but can help in the distortion-interaction calculations by giving an optimized baseline for the reactants. If these are not specified, the program will use the endpoint of the IRC as the optimized reactant structures.
ALMO-EDA Calculations
This program currently works with QChem to perform
ALMO-EDA calculations at each point along an IRC calculation. The
files I've included earlier are examples for this kind of calculation,
and with small adjustments they can be altered to fit your particular
system. The main thing distinguishing this type of calculations from
others is the inclusion of ALMO
in the input file.
If you have all the required (and optional) files in the same folder, you can run this program with:
python -m yadda -i input_file.inp > output_file.out
Hint
I would recommend running this in the background with
nohup python -m yadda -i input_file.inp > output_file.out &
since you're running a lot of single point/EDA calculations and
it's going to take a while.
Once the calculations are finished, you will be left with a CSV file with all the calculated data, which you can use to plot the results. An example Jupyter Notebook which plots the data after the input of a CSV file can be found on the GitHub Page.
QM Calculations
If you do this, please add a section about how it works!
ONIOM-EDA Calculations
If you do this, please add a section about how it works!