Recently I use not only chemoinformatics tools but also quantum chemistry tool, my favorite is Psi4. Psi4 has many options and plug-ins for quantum calculation. Most setting of calculation is vacuum, but it actually true. So considering the solvent around the molecules is important.
Can psi4 perform calculation with solvent effect?
Yes!
PCMSolver is plugin for PCM calculation. It can be installed via conda.
$ conda install -c psi4 pcmsolver
PCM means ‘polarizable continuum model’. PCM describes solute-solvent interactions only by means of electrostatics and polarization between the solute molecule and solvent. The solvent is modeled as a dielectric continuum with a given permittivity ε.
To use PCMsolver in psi4, user need to make specific input file for the calculation which should has kind of solvent, basis function, CPCM or IEFPCM, etc.
I made to input file from toulene.mol file which is retrieved from ChEMBL.
input files are below. PCMsolver can not call from python interpreter so I need to make input.dat.
# toluene in water
#! pcm
molecule mol {
0 1
C -2.0705902285428452 0.09342117730391691 0.21438842743524625
C 0.06881622580040792 1.2107631870687914 0.004377262725162135
C -0.043709196272760036 -1.211640074147377 -0.026831077837745607
C -1.3202142335884217 1.271231179761799 0.15648583022799556
C 0.714364020910022 -0.03184758851751915 -0.10370200526939809
C 2.2076605753403253 -0.0996279156897954 -0.22684462930707974
C -1.4325455046382927 -1.1469904802166477 0.1253309895373383
H -3.1452716192643337 0.14180771794289201 0.3335057008466673
H 0.6396267675023236 2.1305648085368674 -0.0295934787763336
H 0.4394292831589224 -2.1792111515476216 -0.08511724686650844
H -1.8144108252945523 2.2311166905139106 0.23329105314598383
H 2.59680405039162 0.7889905119305699 -0.7681174009541791
H 2.5134086150024317 -1.0062726983460601 -0.7912601501934461
H 2.660308829389096 -0.1337122631434785 0.78606242092797
H -2.013676759894258 -2.058593101450173 0.17802430435839692
no_reorient
no_com
units angstrom
}
set {
basis 6-31G**
scf_type pk
pcm true
pcm_scf_type total
}
pcm = {
Units = Angstrom
Medium {
SolverType = IEFPCM
Solvent = Water
}
Cavity {
RadiiSet = UFF
Type = GePol
Scaling = false
Area = 0.3
Mode = Implicit
}
}
energy_pte, wfn = energy(‘scf’, return_wfn=True)
# toluene in benzene
#! pcm
molecule mol {
0 1
C -2.0705902285428452 0.09342117730391691 0.21438842743524625
C 0.06881622580040792 1.2107631870687914 0.004377262725162135
C -0.043709196272760036 -1.211640074147377 -0.026831077837745607
C -1.3202142335884217 1.271231179761799 0.15648583022799556
C 0.714364020910022 -0.03184758851751915 -0.10370200526939809
C 2.2076605753403253 -0.0996279156897954 -0.22684462930707974
C -1.4325455046382927 -1.1469904802166477 0.1253309895373383
H -3.1452716192643337 0.14180771794289201 0.3335057008466673
H 0.6396267675023236 2.1305648085368674 -0.0295934787763336
H 0.4394292831589224 -2.1792111515476216 -0.08511724686650844
H -1.8144108252945523 2.2311166905139106 0.23329105314598383
H 2.59680405039162 0.7889905119305699 -0.7681174009541791
H 2.5134086150024317 -1.0062726983460601 -0.7912601501934461
H 2.660308829389096 -0.1337122631434785 0.78606242092797
H -2.013676759894258 -2.058593101450173 0.17802430435839692
no_reorient
no_com
units angstrom
}
set {
basis 6-31G**
scf_type pk
pcm true
pcm_scf_type total
}
pcm = {
Units = Angstrom
Medium {
SolverType = IEFPCM
Solvent = Benzene
}
Cavity {
RadiiSet = UFF
Type = GePol
Scaling = false
Area = 0.3
Mode = Implicit
}
}
energy_pte, wfn = energy(‘scf’, return_wfn=True)
PCMsolver can has many kinds of solvents listed below.
1:'Water',
2:'Propylene Carbonate',
3:'Dimethylsulfoxide',
4:'Nitromethane',
5:'Acetonitrile',
6:'Methanol',
7:'Ethanol',
8:'Acetone',
9:'1,2-Dichloroethane',
10:'Methylenechloride',
11:'Tetrahydrofurane',
12:'Aniline',
13:'Chlorobenzene',
14:'Chloroform',
15:'Toluene',
16:'1,4-Dioxane',
17:'Benzene',
18:'Carbon Tetrachloride',
19:'Cyclohexane',
20:'N-heptane',
21:'Explicit'
After making the input files, following step is as same as default psi4 calculation.
$ psi4 input.dat -o output.dat
After waiting few seconds, I could get two output results. Picked up line 355-363.
## toulene in water
@RHF Final Energy: -269.75544369636918
=> Energetics Energetics <=
Nuclear Repulsion Energy = 268.6733324038011688
One-Electron Energy = -895.7789138809855558
Two-Electron Energy = 357.3548941675961714
PCM Polarization Energy = -0.0019460266422257
Total Energy = -269.7526333362304172
Computation Completed
There is difference in PCM Polarization Energy between in water and in toluene, in water it is -0.0052558561183017A.U.(-3.298kcal/mol) and in tolunene, it is -0.0019460266422257A.U.(-1.22kcal/mol)
*1 a.u. =627.50 kcal/mol
I would like to test some molecules. Are there freely available experimental data set? I’ll try to find them.