Skip to content

Commit 906a4af

Browse files
committed
Added aqme/templates/basis_sets.csv and aqme/templates/functionals.csv to the repository. These files are used by the aqme/qprep.py script to generate the input files for the quantum chemistry calculations. Also added aqme/.DS_Store to the repository. This file is a hidden file that is created by the MacOS operating system. It is not used by the aqme package, but it is added to the repository to keep the directory structure consistent with the local directory structure on the development machine.
1 parent bedec93 commit 906a4af

File tree

6 files changed

+278
-0
lines changed

6 files changed

+278
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

aqme/.DS_Store

6 KB
Binary file not shown.

aqme/qprep.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@
6262
import glob
6363
import time
6464
import json
65+
import pandas as pd
66+
from pkg_resources import resource_filename
67+
6568
from aqme.utils import (
6669
cclib_atoms_coords,
6770
QM_coords,
@@ -73,10 +76,12 @@
7376
add_prefix_suffix,
7477
check_files
7578
)
79+
7680
from aqme.csearch.crest import xyzall_2_xyz
7781
from pathlib import Path
7882
from rdkit import Chem
7983

84+
TEMPLATES_PATH = Path(resource_filename("aqme", "templates"))
8085

8186
class qprep:
8287
"""
@@ -531,3 +536,36 @@ def qprep_coords(self, file, mol, file_format):
531536
mult = 1
532537

533538
return atom_types, cartesians, charge, mult, found_coords
539+
540+
def check_level_of_theory(functional, basis, program):
541+
"""
542+
Cross check a chosen functional and basis set against a precompiled list of available options.
543+
Not necessarily a definitive list!
544+
"""
545+
546+
found = True # assume that they exist
547+
548+
functional_csv = TEMPLATES_PATH / Path('functionals.csv')
549+
basis_set_csv = TEMPLATES_PATH / Path('basis_sets.csv')
550+
551+
functional_data = pd.read_csv(functional_csv)
552+
functional_data.drop_duplicates(inplace=True)
553+
554+
basis_set_data = pd.read_csv(basis_set_csv)
555+
basis_set_data.drop_duplicates(inplace=True)
556+
557+
if program == 'orca':
558+
functional_list = functional_data['orca'].to_numpy().flatten()
559+
functional_list = [x for x in functional_list if str(x) != 'nan'] # remove NaN
560+
basis_set_list = basis_set_data['orca'].to_numpy().flatten()
561+
basis_set_list = [x for x in basis_set_list if str(x) != 'nan'] # remove NaN
562+
563+
if functional.upper() not in (func.upper() for func in functional_list):
564+
print('\n! {} functional requested but unknown in {}!\n'.format(functional, program))
565+
found = False
566+
567+
if basis.upper() not in (bs.upper() for bs in basis_set_list):
568+
print('\n! {} basis set requested but unknown in {}!\n'.format(basis, program))
569+
found = False
570+
571+
return found

aqme/templates/basis_sets.csv

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
basis set,orca
2+
,STO-3G
3+
,3-21G
4+
,3-21GSP
5+
,4-22GSP
6+
,6-31G
7+
,6-31G*
8+
,6-31G**
9+
,6-31+G
10+
,6-31+G*
11+
,6-31+G**
12+
,6-31++G
13+
,6-31++G*
14+
,6-31++G**
15+
,m6-31G
16+
,6-311G
17+
,6-311G*
18+
,6-311G**
19+
,6-311+G
20+
,6-311+G*
21+
,6-311+G**
22+
,6-311++G
23+
,6-311++G*
24+
,6-311++G**
25+
,def2-SVP
26+
,def2-SV(P)
27+
,def2-TZVP
28+
,def2-TZVP(-f)
29+
,def2-TZVPP
30+
,def2-QZVP
31+
,def2-QZVPP
32+
,SV
33+
,SV(P)
34+
,SVP
35+
,TZV
36+
,TZV(P)
37+
,TZVP
38+
,TZVPP
39+
,QZVP
40+
,QZVPP
41+
,ma-def2-SVP
42+
,ma-def2-SV(P)
43+
,ma-def2-TZVP
44+
,ma-def2-TZVP(-f)
45+
,ma-def2-TZVPP
46+
,ma-def2-QZVPP
47+
,def2-SVPD
48+
,def2-TZVPD
49+
,def2-TZVPPD
50+
,def2-QZVPD
51+
,def2-QZVPPD
52+
,cc-pVDZ
53+
,cc-pVTZ
54+
,cc-pVQZ
55+
,cc-pV5Z
56+
,cc-pV6Z
57+
,aug-cc-pVDZ
58+
,aug-cc-pVTZ
59+
,aug-cc-pVQZ
60+
,aug-cc-pV5Z
61+
,aug-cc-pV6Z

aqme/templates/functionals.csv

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
functional,orca,gaussian,,,
2+
Local and GGA,,,,,
3+
B97-D3,B97-D3,B97D3,,,
4+
B97D,,B97D,,,
5+
BLYP,BLYP,BLYP,,,
6+
BP86,BP86,BP86,,,
7+
BPBE,BPBE,BPBE,,,
8+
GLYP,GLYP,,,,
9+
HCTH,,HCTH,,,
10+
HCTH147,,HCTH147,,,
11+
HCTH407,,HCTH407,,,
12+
HCTH93,,HCTH93,,,
13+
HFS,HFS,HFS,,,
14+
LDA,LDA,,,,
15+
mPWLYP,mPWLYP,mPWLYP,,,
16+
mPWPW,mPWPW,,,,
17+
mPWPW91,,mPWPW91,,,
18+
N12,,N12,,,
19+
OLYP,OLYP,OLYP,,,
20+
OPBE,OPBE,OPBE,,,
21+
PBE,PBE,PBEPBE,,,
22+
PBEhPBE,,PBEh1PBE,,,
23+
PW91,PW91,PW91PW91,,,
24+
PW91P86,,PW91P86,,,
25+
PWP,PWP,,,,
26+
revPBE,revPBE,,,,
27+
RPBE,RPBE,,,,
28+
RPW86PBE,RPW86PBE,,,,
29+
VSXC,,VSXC,,,
30+
VV10,,,,,
31+
XLYP,XLYP,,,,
32+
Meta-GGA,,,,,
33+
M06L,M06L,M06L,,,
34+
M11L,,M11L,,,
35+
MN12L,,MN12L,,,
36+
MN15L,,MN15L,,,
37+
PKZB,,PKZBPKZB,,,
38+
revTPSS,revTPSS,revTPSSrevTPSS,,,
39+
SCAN,SCANfunc ,,,,
40+
SOGGA11,,SOGGA11,,,
41+
tHCTH,,tHCTH,,,
42+
TPSS,TPSS,TPSSTPSS,,,
43+
Hybrid,,,,,
44+
APF,,APF,,,
45+
APFD,,APFD,,,
46+
B1B95,,B1B95,,,
47+
B1LYP,B1LYP,B1LYP,,,
48+
B1P,B1P,,,,
49+
B1P86,B1P86,,,,
50+
B3LYP,B3LYP,B3LYP,,,
51+
B3LYP-NL,B3LYP NL,,,,
52+
B3P,B3P,,,,
53+
B3P86,B3P86,B3P86,,,
54+
B3PW,B3PW,,,,
55+
B3PW91,B3PW91,B3PW91,,,
56+
B97-1,,B971,,,
57+
B97-2,,B972,,,
58+
B98,,B98,,,
59+
BHandH,,BHandH,,,
60+
BHandHLYP,BHANDHLYP,BHandHLYP,,,
61+
BHLYP,BHLYP,,,,
62+
BMK,,BMK,,,
63+
HISS,,HISSbPBE,,,
64+
HSE03,,,,,
65+
HSE06,,,,,
66+
LC-whPBE,,LC-wHPBE,,,
67+
M05,,M05,,,
68+
M052X,,M052X,,,
69+
M06,M06,M06,,,
70+
M062X,M062X,M062X,,,
71+
M06HF,,M06HF,,,
72+
M08HX,,M08HX,,,
73+
MN15,,MN15,,,
74+
MPW1B95,,,,,
75+
MPW1KCIS,,,,,
76+
mPW1LYP,mPW1LYP,mPW1LYP,,,
77+
mPW1PBE,,mPW1PBE,,,
78+
mPW1PW,mPW1PW,,,,
79+
mPW1PW91,,mPW1PW91,,,
80+
mPW3PBE,,mPW3PBE,,,
81+
MPWB1K,,,,,
82+
MPWKCIS1K,,,,,
83+
O3LYP,O3LYP,O3LYP,,,
84+
PBE0,PBE0,PBE1PBE,,,
85+
PBE1KCIS,,,,,
86+
PBEh1PBE,,PBEh1PBE,,,
87+
PW1PW,PW1PW,,,,
88+
PW6B95,PW6B95,PW6B95,,,
89+
PW6B95D3,,PW6B95D3,,,
90+
REVPBE0,REVPBE0,,,,
91+
REVPBE38,REVPBE38,,,,
92+
revTPSS0,,,,,
93+
revTPSSh,,,,,
94+
SOGGA11X,,SOGGA11X,,,
95+
tHCTHhyb,,tHCTHhyb,,,
96+
TPSS0,TPSS0,,,,
97+
TPSS1KCIS,,,,,
98+
TPSSh,TPSSh,TPSSh,,,
99+
wB97X-D3,wB97X-D3,,,,
100+
wB97X-V,wB97X-V,,,,
101+
X3LYP,X3LYP,X3LYP,,,
102+
range-separated,,,,,
103+
CAM-B3LYP,CAM-B3LYP,CAM-B3LYP,,,
104+
HISSbPBE,,HISSbPBE,,,
105+
HSEH1PBE,,HSEH1PBE,,,
106+
LC-BLYP,LC-BLYP,LC-BLYP,,,
107+
LC-PBE,LC-PBE,LC-PBEPBE,,,
108+
LC-wPBE,,LC-wPBE,,,
109+
LC-wHPBE,,LC-wHPBE,,,
110+
M11,,M11,,,
111+
MN12SX,,MN12SX,,,
112+
N12SX,,N12SX,,,
113+
OHSE1PBE,,OHSE1PBE,,,
114+
OHSE2PBE,,OHSE2PBE,,,
115+
wB97,wB97,wB97,,,
116+
wB97M-D3BJ,wB97M-D3BJ,,,,
117+
wB97M-D4,wB97M-D4,,,,
118+
wB97M-V,wB97M-V,,,,
119+
wB97X,wB97X,wB97X,,,
120+
wB97X-D,,wB97XD,,,
121+
wB97X-D3,wB97X-D3,,,,
122+
wB97X-D3BJ,wB97X-D3BJ,,,,
123+
wB97X-D4,wB97X-D4,,,,
124+
wB97X-V,wB97X-V,,,,
125+
Double hybrid,,,,,
126+
B2GP-PLYP,B2GP-PLYP,,,,
127+
B2K-PLYP,B2K-PLYP,,,,
128+
B2PLYP,B2PLYP,B2PLYP,,,
129+
B2PLYP-D,,B2PLYPD,,,
130+
B2PLYP-D3,,B2PLYPD3,,,
131+
B2T-PLYP,B2T-PLYP,,,,
132+
DSD-BLYP,DSD-BLYP,,,,
133+
DSD-PBEB95,DSD-PBEB95,,,,
134+
DSD-PBEP86,DSD-PBEP86,DSDPBEP86,,,
135+
mPW2PLYP,mPW2PLYP,mPW2PLYP,,,
136+
mPW2PLYPD,,mPW2PLYPD,,,
137+
PBE-QIDH,PBE-QIDH,PBEQIDH,,,
138+
PBE0-DH,PBE0-DH,PBE0DH,,,
139+
PWPB95,PWPB95,,,,
140+
composite DFT methods,,,,,
141+
B97-3c,B97-3c,,,,
142+
HF-3c,HF-3c,,,,
143+
PBEh-3c,PBEh-3c,,,,
144+
r2SCAN-3c,r2SCAN-3c,,,,
145+
Range-separated double-hybrid,,,,,
146+
RSX-0DH,RSX-0DH,,,,
147+
RSX-QIDH,RSX-QIDH,,,,
148+
wB2GP-PLYP ,wB2GP-PLYP ,,,,
149+
wB2PLYP ,wB2PLYP ,,,,
150+
wB88PP86,wB88PP86,,,,
151+
wPBEPP86 ,wPBEPP86 ,,,,
152+
Global double hybrids,,,,,
153+
SCS-B2GP-PLYP21,SCS-B2GP-PLYP21,,,,
154+
SCS-PBE-QIDH,SCS-PBE-QIDH,,,,
155+
SCS-RSX-QIDH,SCS-RSX-QIDH,,,,
156+
SCS-wB2GP-PLYP,SCS-wB2GP-PLYP,,,,
157+
SCS-wB88PP86,SCS-wB88PP86,,,,
158+
SCS-wPBEPP86,SCS-wPBEPP86,,,,
159+
SOS-B2GP-PLYP21,SOS-B2GP-PLYP21,,,,
160+
SOS-PBE-QIDH,SOS-PBE-QIDH,,,,
161+
SOS-RSX-QIDH,SOS-RSX-QIDH,,,,
162+
SOS-wB2GP-PLYP,SOS-wB2GP-PLYP,,,,
163+
SOS-wB88PP86,SOS-wB88PP86,,,,
164+
SOS-wPBEPP86,SOS-wPBEPP86,,,,
165+
wB97X-2,wB97X-2,,,,

timer.dat

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
Host: Roberts-MacBook-Pro-5.local
3+
4+
Timers On : Sun Apr 14 16:48:33 2024
5+
Timers Off: Sun Apr 14 16:48:45 2024
6+
7+
Wall Time: 11.66 seconds
8+
9+
Time (seconds)
10+
Module User System Wall Calls
11+
12+
--------------------------------------------------------------------------------------
13+
14+
**************************************************************************************

0 commit comments

Comments
 (0)