Giter Club home page Giter Club logo

aaron's Introduction

Aaron

AARON 1.0, An Automated Reaction Optimizer for New catalysts

We are currently merging several development branches of AARON and AaronTools, to be released soon as along with accompanying documentation.

Installation instructions and basic tutorials are available here.

AARON is a computational toolkit to automate the QM-based geometry optimization of transition state and intermediate structures for homogeneous catalytic reactions. It is built using AaronTools.

AARON does not implement new electronic structure methods or geometry optimization algorithms. Instead, it is essentially an interface to Gaussian (G09 or G16) that automates computations. Briefly, given a set of TS and intermediate geometries for a given catalytic reaction, AARON can automatically compute analogous structures for similar catalysts/ligands and substrates. In this way, users can screen potential catalysts and substrates for a given reaction by predicting the activity and selectivity of a given catalyst/substrate combination.

TS Library

Information about the TS library packaged with AARON is available here.

Citation

If you use AARON, please cite the following papers:

  1. "AARON: An Automated Reaction Optimizer for New Catalysts", J. Chem. Theory Comput. 14, 5249 (2018)

  2. "QChASM: Quantum Chemistry Automation and Structure Manipulation" WIREs Comp. Mol. Sci. (in press, 2021)

Contact

If you have any questions, feel free to contact us at [email protected]

aaron's People

Contributors

ajs99778 avatar swheele2 avatar vingman avatar violettevanadium avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aaron's Issues

Repeated status printing

When there are 2 or more ligands, AARON prints the status of the first ligand twice:

================================================================================
Status for all jobs...(Fri Aug 10 12:38:01 2018)

Status for Cat1 jobs......

Pending jobs:
Cat1/R/ts2 step 1 attempt 1: No msg recorded
Cat1/S/ts1 step 1 attempt 1: No msg recorded
Cat1/S/ts2 step 1 attempt 1: No msg recorded
Cat1/S/ts3 step 1 attempt 1: No msg recorded

================================================================================
Status for all jobs...(Fri Aug 10 12:38:01 2018)

Status for Cat1 jobs......

Pending jobs:
Cat1/R/ts2 step 1 attempt 1: No msg recorded
Cat1/S/ts1 step 1 attempt 1: No msg recorded
Cat1/S/ts2 step 1 attempt 1: No msg recorded
Cat1/S/ts3 step 1 attempt 1: No msg recorded

Status for Cat2 jobs......

Pending jobs:
Cat2/R/ts2 step 1 attempt 1: No msg recorded
Cat2/S/ts1 step 1 attempt 1: No msg recorded
Cat2/S/ts2 step 1 attempt 1: No msg recorded
Cat2/S/ts3 step 1 attempt 1: No msg recorded

how to implement TZV(2d, 2p) basis in Gaussian 09

I noticed that in this Paper "Prospects for the Computational Design of Bipyridine N,N′‑Dioxide
Catalysts for Asymmetric Propargylation Reactions"
(dx.doi.org/10.1021/cs5012553), calculations were performed in B97D/TZV(2d, 2p) level. And I found that the keyword "TZV(2d, 2p)" in Gaussian is invalid, so I'm curious about the exact command to implement this basis in Gaussian, is it "TZV" or "TZVP" ?

Printing of com file names when initializing

When initilizing, AARON sometimes prints the name of .com files to the screen. We need to clean up all of the printing of AARON. My guess is that this was added for debugging but just never removed.

[swheele2@ada4 Example2]$ Aaron example2.in
Checking for required Perl modules...
Necessary Perl modules found. Starting AARON...
Preparing to run transition state searches...
Aaron job started on Fri Aug 10 12:36:59 2018

Preparing data structures for Cat1/R/ts2...
Preparing data structures for Cat1/S/ts1...
Preparing data structures for Cat1/S/ts2...
Preparing data structures for Cat1/S/ts3...
Cat1/R/ts2/Cat1.R.ts2.1.com
Cat1/S/ts3/Cat1.S.ts3.1.com
Cat1/S/ts1/Cat1.S.ts1.1.com
Cat1/S/ts2/Cat1.S.ts2.1.com
Preparing data structures for Cat2/R/ts2...

print_SI

print_SI doesn't seem to actually do anything

(try running it in /home/swheele2/Aaron_examples/new_Example1 on Ada)

cat_screen input problem

I think the cat_screen command line script can be improved.

The current cat_screen script cannot take into number but not name of substituent, for example:
If you do cat_screen ts1.xyz -l Ph=Me It will rise an error for the input Ph substitute.

Second, the current cat_screen script cannot screen multiple subs meanwhile. That is in the original screen_subs perl function, if you do
$cata->screen_subs('ligand', 35,56=>Me, Ph), it will just give you two structures (35,56=Me and 35,56=Ph) not four structures. I think this should be useful and we should keep that in the cat_screen script.

com files written to wrong directory

In some cases, AARON will write a .com file the main catalyst/ligand directory. In these cases, AARON essentially stalls for that geometry.

For example, look in /home/swheele2/Aaron_bugs/Cat2:

[swheele2@ada4 Cat2]$ pwd
/home/swheele2/Aaron_bugs/Cat2
[swheele2@ada4 Cat2]$ ls
total 0
drwxr-s---+ 4 swheele2 wheeler 4.0K Aug 5 15:32 Cat2
-rw-r----- 1 swheele2 wheeler 3.1K Aug 6 04:06 Cat2.R.ts2.Cf2.2.com
drwxr-s---+ 4 swheele2 wheeler 4.0K Aug 6 00:15 Cat2_XYZ

[swheele2@ada4 Cf2]$ pwd
/home/swheele2/Aaron_bugs/Cat2/Cat2/R/ts2/Cf2
[swheele2@ada4 Cf2]$ ls
total 128K
-rw-r----- 1 swheele2 wheeler 547 Aug 6 04:06 Cat2.R.ts2.Cf2.2.job
-rw-r----- 1 swheele2 wheeler 1.9K Aug 6 04:38 Cat2.R.ts2.Cf2.2.job.7679661
-rw-r----- 1 swheele2 wheeler 7.3K Aug 6 06:03 Cat2.R.ts2.Cf2.2.job.7679750

We had one case where there were 3 or 4 com files located in that main directory rather than the appropriate subdirectory (unfortunately I didn't take a snapshot of that one).

grab_thermo

Use G09Out to grab thermo from a .log file

Aaron finishes but still says there are jobs awaiting other jobs

Perhaps this is a case where conformations are eliminated, but the status is not being updated properly.

See /home/swheele2/chem/Tony/Example on Ada

For example, here's the end of It-indole.log
Lig1-Sub7/ts3/Cf1 finished normally
Lig1-Sub7/ts3/Cf2 finished normally

Repeated conformers:
Lig1-Sub3/ts2/Cf3
Lig1-Sub3/ts3/Cf2
Lig1-Sub6/ts2/Cf4
Lig1-Sub6/ts3/Cf4
Lig1-Sub7/ts2/Cf3
Lig1-Sub7/ts3/Cf7
Lig1-Sub7/ts3/Cf3

Jobs that have not been started and are awaiting other jobs to finish:
Lig1-Sub7/ts2/Cf4
Lig1-Sub7/ts3/Cf8
Lig1-Sub7/ts3/Cf4

Aaron finished, terminated normally
AARON stopped Fri Aug 10 06:16:13 2018

Geometry::substitute cannot call new AaronTools::Substituent

line 759 in Geometry::substitute definition:
my $sub_object = new AaronTools::Substituent( name => $sub, end => $end );
Results in error when calling bin/substitute command line tool:
Undefined subroutine &AaronTools::Substituent called at /home/deo/Aaron/AaronTools/Geometry.pm line 759.

Changing line 759 to
my $sub_object = AaronTools::Substituent->new( name => $sub, end => $end );
resolves this issue

Using Pod Usage for AARON input

Inspired by Victoria, using Pod::Usage along with the GetOpt is good idea to input parameters. The AaronInit.pm should be changed to make the input consistent with the command line scripts in bin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.