模拟
单点能计算
对于给定的(一个或多个)几何构型或通用输入向量X(通常分子描述符代表一个分子)可以进行单点计算,也可以使用MLatom支持的 预训练模型 或用户训练的模型。
输入的参数
用户必须选择至少一个模型,要么用 MLmodelIn
,要么给出预训练模型的名称。
在 XYZfile
和 XfileIn
中至少选择一个参数。
useMLmodel MLmodelIn=[ML模型的文件]
或AIQM1
,ANI-1ccx
, …XYZfile=[XYZ坐标文件]
或XfileIn=[输入向量X文件]
在这两个选项中选择一个,无默认文件名。
XYZfile
:对文件中提供的一个或多个分子的XYZ坐标进行预测。坐标的单位取决于模型。对于预训练的模型,应该使用Å。XfileIn
:对提供的输入向量列表(文本文件中每行一个输入向量)进行预测,这些输入向量通常是分子描述符。
输出文件的参数
至少需要下列参数中的一个。
YestFile=[预测Y值的文件]
此参数可选,无默认值。
将预测值Y保存到相应的文件。如果存在同名文件,程序将终止,不做覆盖。如果使用预训练模型进行计算,能量的单位是Hartree。其他预测则依赖于模型。
YgradXYZestFile=[预测XYZ梯度的文件]
此参数可选,无默认值。
只与XYZfile选项一起使用。 将预测的XYZ梯度(一阶导数)保存到对应文件。如果存在同名文件,程序将终止,不做覆盖。如果使用预训练模型进行计算,XYZ梯度的单位是Hartree/Å。
YgradEstFile=[预测梯度的文件]
此参数可选,无默认值。
只与XfileIn选项一起使用。 将预测的梯度(一阶导数)wrt保存到元素的输入向量X的对应文件。如果存在同名文件,程序将终止,不做覆盖。
备注
使用基于AIQM1的模型进行计算还会生成额外的输出文件,如果用户想通过以上选项获取其他性质,应该使用单个的XYZ构型并且查看MNDO的输出文件 mndo.out
。
示例
电子基态闭壳层分子的单点能量计算(如果需要的话还有梯度)是最简单的任务,可以用3-4行MLatom输入文件运行,例如, sp.inp
:
AIQM1 # or useMLmodel MLmodelIn=CH3Cl.unf if you, e.g., want to use CH3Cl.unf model
xyzfile=sp.xyz
yestfile=enest.dat
ygradxyzestfile=xyzgradest.dat
这个输入文件需要一个含有分子XYZ构型的 sp.xyz
文件(用户也可以向MLatom提供多个分子),例如,氢气和甲烷的 sp.xyz
文件如下所示(单位是Å):
2
H 0.000000 0.000000 0.363008
H 0.000000 0.000000 -0.363008
5
C 0.000000 0.000000 0.000000
H 0.627580 0.627580 0.627580
H -0.627580 -0.627580 0.627580
H 0.627580 -0.627580 -0.627580
H -0.627580 0.627580 -0.627580
当准备好输入文件 sp.inp
和 sp.xyz
后,即可运行MLatom:
mlatom sp.inp > sp.out
计算完成后,MLatom的输出文件 sp.out
包含依赖于模型的信息,例如,对于AIQM1,文件将包含神经网络预测的标准差和AIQM1能量的分量:
Standard deviation of NN contribution : 0.00892407 Hartree 5.59994 kcal/mol
NN contribution : -0.00210898 Hartree
Sum of atomic self energies : -0.08587317 Hartree
ODM2* contribution : -1.09094119 Hartree
D4 contribution : -0.00000889 Hartree
Total energy : -1.17893224 Hartree
Standard deviation of NN contribution : 0.00025608 Hartree 0.16069 kcal/mol
NN contribution : 0.00958812 Hartree
Sum of atomic self energies : -33.60470494 Hartree
ODM2* contribution : -6.86968756 Hartree
D4 contribution : -0.00010193 Hartree
Total energy : -40.46490632 Hartree
MLatom会把预测值保存在文件 enest.dat
中,该文件在上述计算中会包含AIQM1能量(单位Hartree):
-1.178932238420
-40.464906315250
XYZ梯度(单位Hartree/Å)会保存在 xyzgradest.dat
文件中,如下所示:
2
0.000000000000 0.000000000000 0.000032023551
0.000000000000 0.000000000000 -0.000032023551
5
-0.000000000000 -0.000000000000 0.000000000000
0.000490470799 0.000490470714 0.000490470881
-0.000490470799 -0.000490470714 0.000490470881
0.000490470799 -0.000490470714 -0.000490470881
-0.000490470799 0.000490470714 -0.000490470881
备注
用户的输出可能会存在细微差异。
几何优化
用户可以使用MLatom支持的预训练模型或用户训练模型对给定的(一个或多个)几何构型进行几何优化。优化使用第三方软件(Gaussian或ASE)执行,第三方软件的安装请参见 Gaussian 和 ASE ;另外也可使用SciPy进行几何优化,但其仍在测试中。在MLatom@XACS云上,默认使用ASE。
输入和输出参数
用户必须选择一个任务类型(最小能量的几何优化或过渡态优化),提供初始构型,并选择一个模型或方法。
任务类型 (
geomopt
或TS
)-
初始的XYZ坐标 使用
xyzfile
参数用于几何优化的程序 使用
optprog
参数优化后的XYZ构型文件 使用
optxyz
参数
任务类型
选择任务类型,需要在这些参数中选择一个。
geomopt
: 进行最小能量的几何优化。
TS
: 进行过渡态优化。仅通过Gaussian接口运行。
方法或模型说明
通用的ML和QM/ML方法
如果需要使用已知的通用ML模型或混合QM/ML方法,请以
AIQM1
或ANI-1ccx
格式提供模型或方法的名称(参见 手册 ),例如,输入文件如下所示:geomopt AIQM1 xyzfile=ts_opt.xyz
量子力学方法
如果使用QM方法,请参考 手册 ,请使用
method
和qmprog
参数提供QM方法和程序,如下所示:geomopt method=B3LYP/6-31G* qmprog=gaussian xyzfile=ts_opt.xyz
机器学习模型
MLmodelIn=[ML模型文件] MLmodelType=[一种支持的模型类型]
: 请求读取支持类型的ML模型文件(请参阅 手册 )。请注意,模型预测能量的单位应为Hartree,以便成功进行几何优化。输入示例:geomopt MLmodelIn=ani.pt MLmodelType=ANI xyzfile=ts_opt.xyz
初始XYZ坐标
XYZfile=[XYZ坐标文件]
:这是必选的;没有提供默认参数。坐标的单位应为Å。请提供一个或多个分子的初始XYZ坐标文件。
进行优化的程序
optprog=[Gaussian、ASE或SciPy]
:选择一个第三方程序进行几何优化。MLatom默认使用Gaussian,如果没找到Gaussian则使用ASE。如果没找到ASE则使用SciPy。Gaussian、ASE和SciPy中的默认算法是Berny优化、LBFGS和BFTS。用户可以使用 第三方程序 的其他选项来更改优化设置。如果使用ASE,程序可能会在最大迭代次数后终止,而不通知用户几何优化未完成。
输出文件
optxyz=[已优化的XYZ坐标文件]
:将优化后的结构存入用户指定的文件中。默认的文件名是 optgeoms.xyz
。
此外,几何优化会输出多个有用的文件:
保存有优化后的构型的、由
optxyz=
定义的optgeoms.xyz
或其他名称的文件。每个分子的优化轨迹保存在XYZ格式的
opttraj1.xyz
文件、JSON格式的opttraj1.json
文件等。在使用Gaussian进行优化时,每优化一个分子还会生成相应的输入文件
gaussian1.com
和输出文件gaussian1.log
等。
如果你想选择性保存信息(例如,对于大分子和许多分子的情况):
printmin
将不会输出每次迭代中的信息。printall
将输出每次迭代中的详细信息。dumpopttrajs=False
将不会输出任何优化轨迹。
第三方程序的附加选项
参数 |
默认参数 |
---|---|
|
0.02 |
|
200 |
|
LBFGS |
示例
电子基态下闭壳分子的几何优化输入文件类似于单点能计算,仅需4行MLatom输入文件,例如, opt.inp
文件如下所示:
AIQM1 # or useMLmodel MLmodelIn=CH3Cl.unf if you, e.g., want to use CH3Cl.unf model
xyzfile=init.xyz
optxyz=opt.xyz
geomopt
这个输入需要提供含有待优化分子的初始XYZ坐标的文件 init.xyz
。(允许提供多个分子),例如氢气和甲烷的 init.xyz
文件如下所示(单位为Å):
2
Hydrogen molecule
H 0.0000000000 0.0000000000 0.0000000000
H 0.7414000000 0.0000000000 0.0000000000
5
Methane molecule
C 0.0000000000 0.0000000000 0.0000000000
H 1.0870000000 0.0000000000 0.0000000000
H -0.3623333220 -1.0248334322 -0.0000000000
H -0.3623333220 0.5124167161 -0.8875317869
H -0.3623333220 0.5124167161 0.8875317869
当准备好输入文件 opt.inp
和 init.xyz
后即可运行MLatom:
mlatom opt.inp > opt.out
MLatom的输出文件 opt.out
包含如下内容(使用Gaussian的接口进行优化):
******************************************************************************
optprog: Gaussian 16
Standard deviation of NN contribution : 0.00892062 Hartree 5.59777 kcal/mol
NN contribution : -0.00210740 Hartree
Sum of atomic self energies : -0.08587317 Hartree
ODM2* contribution : -1.09094281 Hartree
D4 contribution : -0.00000889 Hartree
Total energy : -1.17893227 Hartree
Standard deviation of NN contribution : 0.00025608 Hartree 0.16069 kcal/mol
NN contribution : 0.00958812 Hartree
Sum of atomic self energies : -33.60470494 Hartree
ODM2* contribution : -6.86968742 Hartree
D4 contribution : -0.00010193 Hartree
Total energy : -40.46490617 Hartree
==============================================================================
Wall-clock time: 21.60 s (0.36 min, 0.01 hours)
MLatom terminated on 11.11.2022 at 13:21:37
==============================================================================
计算完成后,优化的几何形状被保存在 opt.xyz
中,如下所示(单位为Å,根据设置的不同,可能会有轻微的数值差异):
2
H 0.00770082 0.00000000 0.00000000
H 0.73369918 0.00000000 0.00000000
5
C 0.00000000 0.00000000 0.00000000
H 1.08666998 -0.00000000 0.00000000
H -0.36222332 -1.02452229 -0.00000000
H -0.36222332 0.51226114 -0.88726233
H -0.36222332 0.51226114 0.88726233
频率和热化学
使用MLatom支持的预训练模型或用户训练的模型,可以对给定的一个或多个已优化的几何构型进行频率和热化学性质的计算。在执行这些计算之前,几何构型首先应进行 优化 。计算需要使用第三方软件(Gaussian,ASE或PySCF),请参见 安装说明 。在MLatom@XACS云计算平台上使用的是ASE和PySCF。
输入的参数
用户必须选择至少一个模型,要么用 MLmodelIn
,要么给出预训练模型的名称。
freq
此参数为必填项。
进行频率计算。
useMLmodel
MLmodelIn=[机器学习模型文件]
此参数可选,无默认值。
读取ML模型文件。此参数可选,无默认值。注意模型预测能量的单位为Hartree,否则频率计算可能出错。
ANI-1ccx
,AIQM1
等:XYZfile=[已优化的XYZ坐标文件]
此参数必选,无默认值。
一个或多个分子的已优化的XYZ坐标文件。单位为Å。
freqprog=[Gaussian,PySCF或ASE]
MLatom默认使用Gaussian,如果没找到Gaussian则尝试使用PySCF,然后是ASE。
该参数用于指定第三方程序进行频率计算。
备注
使用Gaussian进行频率计算还将输出Gaussian的输出文件 mol_1.log
, mol_2.log
等,其中包含额外的信息。
第三方程序的附加选项
ase.linear=N,…,N
可选值为0(默认)和1。
非线性分子选0,线性分子选1。顺序与XYZ文件中的顺序相同。
ase.symmetrynumber=N,…,N
可用参数为1(默认)。
各分子的旋转对称数见表10.1和附录B,摘自C. Cramer的《Essentials of Computational Chemistry》第二版。此数值仅影响熵和自由能的结果,且影响很小。顺序与XYZ文件中的顺序相同。
点群 |
对称数 |
---|---|
\(C_1\) |
\(1\) |
\(C_i\) |
\(1\) |
\(C_s\) |
\(1\) |
\(C_{{\infty}v}\) |
\(1\) |
\(D_{{\infty}h}\) |
\(2\) |
\(S_n,n=2,4,6,...\) |
\(n/2\) |
\(C_n,n=2,3,4,...\) |
\(n\) |
\(C_{nh},n=2,3,4,...\) |
\(n\) |
\(C_{nv},n=2,3,4,...\) |
\(n\) |
\(D_n,n=2,3,4,...\) |
\(2n\) |
\(D_{nh},n=2,3,4,...\) |
\(2n\) |
\(D_{nd},n=2,3,4,...\) |
\(2n\) |
\(T\) |
\(12\) |
\(T_d\) |
\(12\) |
\(O_h\) |
\(24\) |
\(I_h\) |
\(60\) |
这个数字只影响熵和自由能的结果,但这种影响通常很小。顺序与XYZ文件中相同。
示例
通过在MLatom输入文件中添加 freq
参数(例如 freq.inp
),可以在ANI-1ccx或AIQM1级别计算电子基态闭壳层分子的热化学性质,并且它们应该在使用相应模型优化的几何构型上运行。一个使用ANI-1ccx优化几何构型的MLatom输入文件示例:
ANI-1ccx
xyzfile=optgeoms.xyz
freq
freqprog=ASE # or freqprog=gaussian if you choose Gaussian
ase.linear=1,0
ase.symmetrynumber=2,12
当ASE用于计算热化学性质时,用户应指定 ase.linear
和 ase.symmetrynumber
这两个关键字。 ase.linear
为0表示非线性分子,为1表示线性分子。 ase.symmetrynumber
为每个分子的旋转对称数(见C. Cramer的Essentials of Computational Chemistry第二版中的表10.1和附录B)。例如,对于氢和甲烷这两个分子,你应该设置 ase.linear=1,0
和 ase.symmetrynumber=2,12
预先优化好的 optgeoms.xyz
文件(单位为Å):
2
hydrogen
H 0.15255733 0.00000000 0.00000000
H 0.58884267 0.00000000 0.00000000
5
methane
C 0.00000000 0.00000000 0.00000000
H 1.08733372 -0.00000000 0.00000000
H -0.36244456 -1.02514806 0.00000000
H -0.36244456 0.51257403 -0.88780426
H -0.36244456 0.51257403 0.88780426
准备好输入文件 freq.inp
和 optgeoms.xyz
后即可运行MLatom:
mlatom freq.inp > freq.out
计算完成后,MLatom的输出文件 freq.out
中包含每个分子0 K时的原子化焓,0 K时的ZPVE-独占原子化能,298.15 K时的生成热。如果使用ASE, MLatom输出将包含与上面相同的内容,但也包括熵和吉布斯自由能等附加数据:
......
Zero-point vibrational energy : 4.07528 kcal/mol
Atomization enthalpy at 0 K : 126.42974 kcal/mol
ZPE exclusive atomization energy at 0 K : 130.50502 kcal/mol
Heat of formation at 298.15 K : -23.11424 kcal/mol
* Warning * Heat of formation have high uncertainty!
......
Zero-point vibrational energy : 27.87144 kcal/mol
Atomization enthalpy at 0 K : 391.92513 kcal/mol
ZPE exclusive atomization energy at 0 K : 419.79657 kcal/mol
Heat of formation at 298.15 K : -17.63420 kcal/mol
如果使用Gaussian,每个分子的Gaussian频率计算的输出文件将会保存在 mol_1.log
, mol_2.log
等文件中;这些文件包含ZPVE能量和多种热化学数据,如熵和吉布斯自由能。
IRC
内禀反应坐标(IRC)可用于检查优化得到的过渡态的性质,它可以使用MLatom支持的预训练模型或用户训练模型对给定的一个或多个几何形状运行。IRC通过 Gaussian 接口运行。
输入和输出参数
用户必须选择一个任务类型(最小能量的几何优化、过渡态优化或IRC),并使用 MLmodelIn
参数或通过提供预训练模型的名称来选择至少一个模型。
IRC
: 进行内禀反应坐标计算,遵循TS结构的反应路径。仅通过Gaussian接口运行。-
过渡态优化后的XYZ坐标 使用
xyzfile
参数
方法或模型说明
通用的ML和QM/ML方法
如果需要使用已知的通用ML模型或混合QM/ML方法,请以
AIQM1
或ANI-1ccx
格式提供模型或方法的名称(参见 手册 ),例如,输入文件如下所示:IRC AIQM1 xyzfile=ts_opt.xyz
量子力学方法
如果使用QM方法,请参考 手册 ,请使用
method
和qmprog
参数提供QM方法和程序,如下所示:IRC method=B3LYP/6-31G* qmprog=gaussian xyzfile=ts_opt.xyz
机器学习模型
MLmodelIn=[ML模型文件] MLmodelType=[一种支持的模型类型]
: 请求读取支持类型的ML模型文件(请参阅 手册 )。请注意,模型预测能量的单位应为Hartree,以便成功进行几何优化。输入示例:IRC MLmodelIn=ani.pt MLmodelType=ANI xyzfile=ts_opt.xyz
初始XYZ坐标
XYZfile=[XYZ坐标文件]
:这是必选的;没有提供默认参数。坐标的单位应为Å。
示例
电子基态下闭壳分子的几何优化输入文件类似于单点能计算,仅需4行MLatom输入文件,例如, opt.inp
文件如下所示:
IRC
AIQM1 # or useMLmodel MLmodelIn=CH3Cl.unf if you, e.g., want to use CH3Cl.unf model
xyzfile=ts_opt.xyz
这个输入需要提供含有待优化分子的初始XYZ坐标的文件 ts_opt.xyz
。(允许提供多个分子),例如Diels-Alder反应的 ts_opt.xyz
文件如下所示(单位为Å):
16
C 0.48462430 -0.55755495 1.43729151
C 0.48462430 -0.55755495 -1.43729151
C -0.27595797 -1.44977527 0.70359025
C -0.27595797 -1.44977527 -0.70359025
C -0.27595797 1.45086377 0.69299925
C -0.27595797 1.45086377 -0.69299925
H 0.37292526 -0.50748993 2.51767690
H 1.44526264 -0.21636383 1.06867438
H 0.37292526 -0.50748993 -2.51767690
H 1.44526264 -0.21636383 -1.06867438
H -1.05536225 -2.01444047 1.21328943
H -1.05536225 -2.01444047 -1.21328943
H 0.51071931 1.96707995 1.23581344
H -1.20625330 1.32768072 1.23591744
H 0.51071931 1.96707995 -1.23581344
H -1.20625330 1.32768072 -1.23591744
当准备好输入文件 irc.inp
和 ts_opt.xyz
后即可运行MLatom:
mlatom irc.inp > irc.out
计算完成后,IRC的运行结果将保存在Gaussian的输出文件 gaussian.log
中。
分子动力学
MLatom有多种量子化学和机器学习软件包的接口,因此可以使用多种方法和模型进行分子动力学模拟。
输入和输出参数
参数 |
可用参数和默认参数 |
描述 |
---|---|---|
|
默认值0.1 |
时间步长;单位:fs |
|
默认值1000 |
轨迹长度;单位:fs |
|
必填 |
用户提供的初始构型(单位为Å) |
|
当 |
用户提供的初始速度(单位为Å/fs) |
|
默认选项为用户自定义,其他选项: |
生成初始条件的算法 |
|
默认值为300 |
初始温度;单位:K;当 |
|
初始构型的输出文件 |
|
|
初始速度的输出文件 |
|
|
默认为 |
MD恒温器 |
|
默认值为300 |
环境温度 |
|
默认值为0.2,当 |
碰撞频率;单位: fs-1 |
|
默认值为3,当 |
Nose-Hoover链长度 |
|
默认值为3,当 |
多时间步长 |
|
默认值为7,当 |
Yoshida-Suzuki步数,可填1,3,5,7 |
|
默认值为0.0625,当 |
Nose-Hoover链频率;单位: fs-1 |
|
默认为traj.h5 |
轨迹以H5MD格式保存 |
|
默认为traj |
轨迹以纯文本格式保存 |
示例
以下是如何使用MLatom进行分子动力学模拟的例子:
MD # Molecular dynamics
method=AIQM1 # Use AIQM1
initConditions=user-defined # Use user-defined initial conditions
initXYZ=init.xyz # File with initial geometry
initVXYZ=init.vxyz # File with initial velocities
dt=0.1 # Time step
trun=100000 # Length of trajectory
thermostat=nose-hoover # Use Nose-Hoover thermostat
temperature=300 # Set temperature
trajH5MDout=traj.h5 # Save trajectory in traj.h5
qmprog=mndo
由分子动力学生成红外光谱和功率光谱
MD轨迹可以用来生成红外光谱和功率谱。
参数 |
可用参数和默认参数 |
描述 |
---|---|---|
|
若不提供 |
|
|
若不提供 |
包含速度的纯文本文件 |
|
若不提供 |
包含偶极矩的纯文本文件 |
|
默认值为0.0 |
单位:fs;使用从 |
|
默认值为最大时间 |
单位:fs;使用从 |
|
默认值为1024 |
自相关深度,单位:fs |
|
默认值为1024 |
零填充;单位:fs |
|
图表标题 |
|
|
其值为ir或ps |
待输出的光谱 |
图表保存在 ir.png
或 ps.png
,光谱保存在 ir.npy
或 ps.npy
。
示例
以下是从分子动力学轨迹生成红外光谱的例子:
MD2vibr # Generate vibrational spectrum from MD trajectory
trajH5MDin=traj.h5 # Read MD trajectory from traj.h5
dt=0.5 # Time step
start_time=3000 # Start time
end_time=100000 # End time
autocorrelationDepth=1024 # Autocorrelation depth
zeropadding=1024 # Zero padding
output=ir # Generate IR spectrum
以下是从分子动力学轨迹生成功率光谱的例子:
MD2vibr
trajH5MDin=traj.h5
dt=0.5
start_time=0
end_time=10000
autocorrelationDepth=1024
zeropadding=1024
output=ps
使用通用的基于机器学习的模型进行模拟
MLatom支持使用以下预训练的基于ML的模型进行计算(MLatom参数的拼写方式与下面给出的方法名称完全相同):
- AIQM1, AIQM1@DFT, AIQM1@DFT* (示例及安装说明)
优点 :AIQM1方法具有CCSD(T)/CBS精度,速度与半经验方法相近(比DFT快1000倍),可用于能量计算和基态闭壳分子的几何优化。此方法也可用于带电粒子和自由基的计算,进行激发态计算时同样具有较高精度。MLatom会输出神经网络校正的标准偏差,若其大于0.41 kcal/mol, AIQM1的计算可能存在 高度不确定性 ,并且,如果预测了生成热,会在输出文件中进行警告。
局限 :仅支持CHNO元素。在XACS云平台上,没有可用的分析梯度,几何优化和频率计算很慢;如果需要提高效率,请在本地安装MLatom。
- ANI-1ccx, ANI-1x, ANI-2x, ANI-1x-D4 and ANI-2x-D4 (需要 安装TorchANI)
优点 :比AIQM1更快。对于能量计算和基态闭壳层分子的几何优化任务,ANI-1ccx也具有接近CCSD(T)/CBS的精度,但通常不如AIQM1准确可靠。MLatom会输出神经网络校正的标准偏差,若其大于1.68 kcal/mol, ANI-1ccx的计算可能存在 高度不确定性 ,并且,如果预测了生成热,会在输出文件中进行警告。
局限 :ANI-1ccx和ANI-1x仅支持CHNO元素,ANI-2x支持CHNOFClS。无法用于计算带电粒子、自由基以及激发态。如果不包含D4校正,则非共价相互作用的准确性不佳。
它们可用于以下典型模拟(参见相应章节了解更多细节):
可选参数
AIQM1使用MNDO或Sparrow接口来计算QM贡献。因此,可以使用以下AIQM1特定的参数:
QMprog=[程序]
:MNDO
[默认]Sparrow
[若找不到MNDO则默认使用Sparrow]选择用于计算AIQM1的QM部分的程序。如果找不到MNDO或Sparrow程序,则MLatom将无法运行AIQM1计算。
mndokeywords=[含有MNDO关键词的文件,如mndokw]
备注
使用基于AIQM1的模型进行计算还会生成额外的输出文件,也就是说,如果需要其他属性,而不是通过上述参数获得,则应在单个XYZ几何构型上执行计算并查看MNDO输出文件 mndo.out
示例
电子基态下闭壳分子的几何优化输入文件类似于单点能计算,仅需4行MLatom输入文件,例如, opt.inp
文件如下所示:
AIQM1 # or ANI-1ccx, ANI-2x, etc.
xyzfile=init.xyz
optxyz=opt.xyz
geomopt
这个输入需要提供含有待优化分子的初始XYZ坐标的文件 init.xyz
。(允许提供多个分子),例如氢气和甲烷的 init.xyz
文件如下所示(单位为Å):
2
Hydrogen molecule
H 0.0000000000 0.0000000000 0.0000000000
H 0.7414000000 0.0000000000 0.0000000000
5
Methane molecule
C 0.0000000000 0.0000000000 0.0000000000
H 1.0870000000 0.0000000000 0.0000000000
H -0.3623333220 -1.0248334322 -0.0000000000
H -0.3623333220 0.5124167161 -0.8875317869
H -0.3623333220 0.5124167161 0.8875317869
当准备好输入文件 opt.inp
和 init.xyz
后即可运行MLatom:
mlatom opt.inp > opt.out
MLatom的输出文件 opt.out
包含如下内容(使用Gaussian的接口进行优化):
******************************************************************************
optprog: Gaussian 16
Standard deviation of NN contribution : 0.00892062 Hartree 5.59777 kcal/mol
NN contribution : -0.00210740 Hartree
Sum of atomic self energies : -0.08587317 Hartree
ODM2* contribution : -1.09094281 Hartree
D4 contribution : -0.00000889 Hartree
Total energy : -1.17893227 Hartree
Standard deviation of NN contribution : 0.00025608 Hartree 0.16069 kcal/mol
NN contribution : 0.00958812 Hartree
Sum of atomic self energies : -33.60470494 Hartree
ODM2* contribution : -6.86968742 Hartree
D4 contribution : -0.00010193 Hartree
Total energy : -40.46490617 Hartree
==============================================================================
Wall-clock time: 21.60 s (0.36 min, 0.01 hours)
MLatom terminated on 11.11.2022 at 13:21:37
==============================================================================
计算完成后,优化的几何形状被保存在 opt.xyz
中,如下所示(单位为Å,根据设置的不同,可能会有轻微的数值差异):
2
H 0.00770082 0.00000000 0.00000000
H 0.73369918 0.00000000 0.00000000
5
C 0.00000000 0.00000000 0.00000000
H 1.08666998 -0.00000000 0.00000000
H -0.36222332 -1.02452229 -0.00000000
H -0.36222332 0.51226114 -0.88726233
H -0.36222332 0.51226114 0.88726233
使用QM方法进行模拟
MLatom支持使用多种程序进行QM计算
可供使用的QM程序接口
参数
method=[QM 方法]
(必填,不区分大小写)
根据可用的QM程序接口(见下文),支持的方法包括从头算、DFT和半经验QM方法。下面的列表展示了MLatom可识别的相同标准QM方法:
常规格式例如
B3LYP/6-31G*
GFN2-xTB
(接口是xtb)CCSD(T)*/CBS
(接口是ORCA)ODM2
(接口是MNDO)ODM2*
(接口是MNDO和Sparrow)
qmprog=[支持的QM程序]
(必填,不区分大小写)
每个QM程序的简要非完整示例如下
QMprogramKeywords=[含有QM程序关键字的文件]
(可选)
目前程序只分别支持xtb和mndo关键字。
multiplicities=[分子多重度]
(可选)
默认值是
1
。如果提供了多个分子,请使用逗号分隔个分子的多重度,例如multiplicities=3,3
。charges=[分子的电荷]
(可选)
默认值是
0
。如果提供了多个分子,请使用逗号分隔各分子的电荷,例如charges=1,-1
。nthreads=[使用的线程数]
(可选)
默认值是
1
各计算任务的例子
单点能计算
当使用QM方法进行模拟时,需要在输入文件中写入
method
和qmprog
关键字(xTB除外,它不需要qmprog
)。分子结构文件和输出文件可以照常定义。参见关于单点计算的教程。通常,输入文件sp.inp
应该是这样的:method=B3LYP/6-31G* qmprog=gaussian xyzfile=sp.xyz yestfile=enest.dat其中输入结构文件
sp.xyz
包含:5 C 0.00000000 0.00000000 0.00000000 H 0.62783705 -0.62783705 0.62783705 H -0.62783705 0.62783705 0.62783705 H -0.62783705 -0.62783705 -0.62783705 H 0.62783705 0.62783705 -0.62783705在运行
$mlatom sp.inp > sp.out
后,输出文件sp.out
中会给出单点能:(在enest.dat中也有)****************************************************************************** You are going to use feature(s) listed below. Please cite corresponding work(s) in your paper: Gaussian program: See the Gaussian output file for the proper citation ****************************************************************************** Energy of molecule 1: -40.5182964000000 Hartree ============================================================================== Wall-clock time: 1.07 s (0.02 min, 0.00 hours) MLatom terminated on 08.10.2023 at 10:13:54 ==============================================================================如果需要定义电荷和多重度,输入文件也可以像这样:
method=B3LYP/6-31G* qmprog=gaussian xyzfile=sp.xyz yestfile=enest.dat charges=0,0,1 multiplicities=3,3,1其中3个分子的结构包含在
sp.xyz
中。注意,电荷和多重度应按相同的顺序定义。
频率计算
参见频率计算和热化学的教程。以下是输入文件:
method=B3LYP/6-31G* qmprog=gaussian xyzfile=sp.xyz charges=0,0,1 multiplicities=3,3,1 freq freqprog=gaussian # optional (default Gaussian)
几何优化
参见几何优化教程。以下是输入文件:
method=B3LYP/6-31G* qmprog=gaussian xyzfile=sp.xyz optxyz=opt.xyz charges=0,0,1 multiplicities=3,3,1 geomopt optprog=gaussian # optional (default Gaussian)
各QM程序的例子
(仅进行单点能计算)
Gaussian
Gaussian 是一个常用的QM程序,支持不同理论水平的多种计算任务。每个Gaussian作业都需要指定方法和基组(通常用
/
分隔),它们用于MLatom中的方法关键字。可用方法请参阅https://gaussian.com/capabilities/?tabid=0。在MLatom中使用Gaussian的输入文件为:
method=B3LYP/6-31G* qmprog=gaussian xyzfile=sp.xyz yestfile=enest.dat
PySCF
基于Python的化学模拟框架( PySCF )是一个开源的Python包,拥有各种电子结构模块。它可以使用平均场和后平均场方法模拟分子、晶体和自定义哈密顿量的性质。可用方法请参阅https://pyscf.org/user.html。
以下是目前PySCF中支持的方法和任务列表。
能量:HF, MP2, DFT, CISD, FCI, CCSD/CCSD(T), TD-DFT/TD-HF
梯度:HF, MP2, DFT, CISD, CCSD, RCCSD(T), TD-DFT/TD-HF
Hessian: HF, DFT
在MLatom中使用PySCF的输入文件如下所示:
method=b3lyp/6-31g* qmprog=pyscf xyzfile=sp.xyz yestfile=enest.dat
Orca
Orca是一个通用的量子化学计算程序,特别强调开壳层分子的光谱特性。它支持不同理论层次的各种量子化学方法。更多信息可以在 相关网站 上找到。
我们还在Orca接口中实现了CCSD(T)*/CBS方法,该方法使用复合方案将CCSD(T)外推到完整基集,在不牺牲精度的情况下比完整CCSD(T)/CBS更快。CCSD(T)*/CBS中组件的详细信息可在 此处 查看
在MLatom中使用Orca的输入文件为:
method=b3lyp/6-31g* qmprog=orca xyzfile=sp.xyz yestfile=enest.dat对于CCSD(T)*/CBS方法,用户可直接指定:
CCSD(T)*/CBS xyzfile=sp.xyz yestfile=enest.dat
xTB
开源半经验扩展紧密绑定( xTB )程序支持使用流行的半经验量子力学方法GFNn-xTB进行计算。目前MLatom默认使用GFN2-xTB。
在MLatom中使用GFN2-xTB的输入文件为:
method=GFN2-xTB xyzfile=sp.xyz yestfile=enest.dat QMprogramKeywords=xtb_kw # optionalxtb_kw文件如下所示:(详细信息请参见xTB命令行选项https://xtb-docs.readthedocs.io/en/latest/commandline.html)
-c 1 -u 3备注
使用xTB时无需标明
qmprog=xTB
如果使用GFN-xTB,请在关键字文件中标明
--gfn 1
MNDO
MNDO 是一个半经验量子化学程序,支持使用正交化校正的半经验计算。可用方法请参阅https://mndo.kofo.mpg.de/input.php
在MLatom中使用MNDO的输入文件为:
method=ODM2 qmprog=mndo xyzfile=sp.xyz yestfile=enest.dat QMprogramKeywords=mndokw # optional
Sparrow
SCINE Sparrow 是一个开源的命令行工具,用于各种半经验方法,包括MNDO模型和DFTB模型。可用方法请参阅https://scine.ethz.ch/download/sparrow
在MLatom中使用Sparrow的输入文件为:
method=ODM2* qmprog=sparrow xyzfile=sp.xyz yestfile=enest.dat
使用用户训练的模型进行模拟
MLatom可以从文件中读取用户训练的模型,用它对新数据(作为输入向量X或XYZ坐标给出)进行预测( 单点计算 ),并最终执行以下模拟(对于XYZ坐标给出的数据):
单点能计算
几何优化
频率和热化学
分子动力学
这些模型既可以是MLatom自带的,也可以是从第三方接口到流行的ML模型类型:
参数
使用本地实现无需使用此参数。对于第三方模型,用户应提供 MLmodelType
和/或 MLprog
参数(参阅 安装说明 )。注意,如需使用KRR-CM模型,必须手动选择描述符和算法细节。
MLmodelType=[支持的ML模型类型]
+-------------+----------------+ | MLmodelType | default MLprog | +-------------+----------------+ | KREG | MLatomF | +-------------+----------------+ | sGDML | sGDML | +-------------+----------- ----+ | GAP-SOAP | GAP | +-------------+----------------+ | PhysNet | PhysNet | +-------------+----------------+ | DeepPot-SE | DeePMD-kit | +-------------+----------------+ | ANI | TorchANI | +-------------+----------------+
MLprog=[支持的ML程序]
默认支持的接口和测试过的ML模型类型:
+------------+----------------------+ | MLprog | MLmodelType | +------------+----------------------+ | MLatomF | KREG [default] | | | see | | | MLatom.py KRR help | +------------+----------------------+ | sGDML | sGDML [default] | | | GDML | +------------+----------------------+ | GAP | GAP-SOAP | +------------+----------------------+ | PhysNet | PhysNet | +------------+----------------------+ | DeePMD-kit | DeepPot-SE [default] | | | DPMD | +------------+----------------------+ | TorchANI | ANI [default] | +------------+----------------------+
备注
使用第三方程序进行计算也可能产生额外的输出文件。
示例
下面是一个使用KREG模型进行几何优化(详见 教程 )的输入文件实例:
geomopt # Request geometry optimization
useMLmodel # using existing ML model
MLmodelIn=energies.unf # in energies.unf file
MLmodelType=KREG # of the KREG type
xyzfile=eq.xyz # The file with initial guess
量子动力学和机器学习
MLatom可以通过与 MLQD程序 的接口使用一系列机器学习方法运行量子耗散动力学。该程序支持的方法:
基于核脊回归(KRR)的递归(迭代)量子耗散动力学方法: 对应文章→ Speeding up quantum dissipative dynamics of open systems with kernel methods 。最近,我们进行了一项比较研究,其中KKR方法优于NN模型,对应文章→ A comparative study of different machine learning methods for dissipative quantum dynamics
AIQD非递归(非迭代)方法: 对应文章→ Predicting the future of excitation energy transfer in light-harvesting complex with artificial intelligence-based quantum dynamics
极快的OSTL非递归(非迭代)方法: 对应文章→ One-Shot Trajectory Learning of Open Quantum Systems Dynamics
输入和输出参数
QDmodel=[createQDmodel 或 useQDmodel] (不可选)
默认选项是useQDmodel
请求通过MLQD创建或使用QD模型
QDmodelIn=[用户提供的模型文件]
若QDmodel=useQDmodel则不可选。传递含有训练后的模型的文件名
QDmodelOut=[用户定义的已创建模型的名称](可选)
如果使用QDmodel=useQDmodel,用户可以传递它,MLQD将使用此名称保存训练过的模型。但是此参数可选,如果用户没有传递,MLQD将选择一个随机名称。
QDmodelType=[KRR或AIQD或OSTL]
默认选项是OSTL
此参数告知MLQD使用哪种QD模型
systemType=[SB或FMO](不可选的)
无默认选项
告知MLQD系统的类型
QDtrajOut=输出的轨迹的文件名
如果使用QDmodel=useQDmodel,用户可以传递它,MLQD将使用此名称保存预测的动力学。但是此参数可选,如果用户没有传递,MLQD将选择一个随机名称。
prepInput=[True或False]
默认是False。需要区分大小写
根据数据准备输入文件X和Y
hyperParam=[True或False]
默认是False。需要区分大小写
优化模型的超参数
patience=[非负整数]
默认值是10
提前停止CNN训练的patience值
epochs=[非负整数]
默认值是100
CNN模型训练和优化的epoch数[OSTL和AIQD方法]
max_evals=[非负整数]
默认值是100
CNN模型hyperopt优化中的最大评估数[OSTL和AIQD方法]
XfileIn=[X文件的名称]
如果使用QDmodel=createQDmodel和prepInput=True则默认值为x_data
当使用QDmodel=createQDmodel时是可选的。它会传递X文件的名称。如果prepInput=True则将使用此名称保存X文件,如果使用prepInput=False则将传递X文件。但是如果使用QDmodel=useQDmodel和QDmodelType=KRR,则不可选。用户需要自行传递输入的瞬时轨迹。
YfileIn=[Y文件的名称]
如果使用QDmodel=createQDmodel和prepInput=True则默认值为y_data
当使用QDmodel=createQDmodel时是可选的。它会传递Y文件的名称。如果prepInput=True则将使用此名称保存Y文件,如果使用prepInput=False则将传递Y文件。
dataPath=[数据的绝对路径或相对路径]
当使用QDmodel=createQDmodel和prepInput=True时,需要传递数据路径,以使MLQD能够准备X和Y文件。注意,数据格式应与我们的数据集QDDSET-1(待发布)中的格式相同,特别是当QDmodelType=OSTL或AIQD时
n_states=[态或点的数目,整数]
SB默认值为2,FMO默认值为7
态(SB)或点(FMO)的数目
initState=[初态的数目]
默认值为1(初始激发在site-1上)
它代表FMO复合的起始点。只有当使用OSTL或AIQD方法传播动力学时才需要
time=[传播时间]
SB的默认值为20,FMO的默认值为50
FMO复合的传播时间单位为皮秒(ps),对于玻色子模型,单位为原子单位(a.u.)
time_step=[传播的时间步长]
SB的默认值为0.05,FMO的默认值为0.005
传播的时间步长
energyDiff=[能量差]
默认值是1.0
SB情况下态间的能量差,仅当QDmodelType=OSTL或AIQD时需要
Delta=[隧道矩阵元]
默认值是1.0
SB情况下的隧道矩阵元素,仅当QDmodelType=OSTL或AIQD时需要
gamma=[特征频率]
SB情况下的默认值是10,FMO情况下的默认值是500
特征频率。FMO情况下单位为cm^-1,SB情况下单位为(a.u.),仅当QDmodelType=OSTL或AIQD时需要
lamb=[系统浴耦合强度]
SB情况下的默认值是1.0,FMO情况下的默认值是520
系统浴耦合强度。FMO情况下单位为cm^-1,SB情况下单位为(a.u.),仅当QDmodelType=OSTL或AIQD时需要
temp=[温度]
SB情况下的默认值是1.0,FMO情况下的默认值是510
FMO复合情况下为温度(K), SB情况下为逆温度,仅当QDmodelType=OSTL或AIQD时需要
energyNorm=[归一化器]
默认值是1.0
在SB的情况下,态间能量差的归一化器
energyNorm=[归一化器]
默认值是1.0
SB情况下隧道矩阵元的归一化器
gammaNorm=[归一化器]
SB情况下的默认值是10,FMO情况下的默认值是500
特征频率的归一化器
lambNorm=[归一化器]
SB情况下的默认值是1.0,FMO情况下的默认值是520
系统浴耦合强度的归一化器
tempNorm=[归一化器]
SB情况下的默认值是1.0,FMO情况下的默认值是510
FMO情况下的温度归一化器和SB情况下的逆温度归一化器
numLogf=[逻辑函数的数目]
默认值是1
归一化时间维度的逻辑函数的数目
LogCa=[系数]
默认值是1.0
逻辑函数中的系数“a”
LogCb=[系数]
默认值是15.0
逻辑函数中的系数“b”
LogCc=[系数]
默认值是-1.0
逻辑函数中的系数“c”
LogCd=[系数]
默认值是1.0
逻辑函数中的系数“d”
dataCol=[列号]
默认值是1
当使用QDmodelType=KRR时,它只适用于单个输出值。如果数据文件中有多个列,则需要指明要抓取哪个列。
dtype=[real或imag]
默认值为real
当使用dataCol传递列时,如果数据很复杂,则需要说明MLQD要抓取复杂数据的哪一部分,实部还是虚部
xlength=[短种子轨迹的时间步数]
默认值是81
输入短轨迹的长度。它是用dataCol传递的数据中的时间步数
refTraj
MLQD可以根据参考轨迹绘制预测动力学的图像。这是可选的,如果提供了参考轨迹,MLQD将进行绘图,否则不进行绘图
xlim=[xaxis限制]
默认选项与传播时间相同
用户可以定义绘图时的轴向限制
pltNstates=[要绘制的状态数]
默认选项是绘制所有态的图像
用户可以指定MLQD绘制多少个态
示例
这些只是非常简单的例子,更多细节请参阅我们的 教程
训练一个KRR模型
在自旋玻色子模型中,我们从我们的 QD3SET-1数据库 中提供了20个轨迹进行演示。如果不传递数据路径,MLQD将自动抓取它们。
MLQD
QDmodel=createQDmodel
QDmodelType=KRR
prepInput=True
dataCol=1
dtype=real
xlength=81
systemType=SB
QDmodelOut=KRR_SB_model
用训练好的KRR模型传播动力学
我们提供了一个简短的输入轨迹: state_1_pop.txt
MLQD
time=20
time_step=0.05
QDmodel=useQDmodel
QDmodelType=KRR
XfileIn=state_1_pop.txt
systemType=SB
QDmodelIn=KRR_SB_model
QDtrajOut=KRR_trajectory
作为比较的参考轨迹:2_epsilon-0.0_Delta-1.0_lambda-0.1_gamma-4.0_beta-1.0.npy
训练一个AIQD模型
MLQD
n_states=2
time=20
time_step=0.05
QDmodel=createQDmodel
QDmodelType=AIQD
prepInput=True
numLogf=10
LogCa=1.0
LogCb=15.0
LogCc=-1.0
LogCd=1.0
energyNorm=1.0
DeltaNorm=1.0
gammaNorm=10
lambNorm=1.0
tempNorm=1.0
systemType=SB
hyperParam=True
patience=10
epochs=10
max_evals=10
QDmodelOut=AIQD_SB_model
用训练好的AIQD模型传播动力学
我们只需传递参数,训练后的AIQD模型能够预测相应的动力学
MLQD
n_states=2
time=20
time_step=0.05
energyDiff=1.0
Delta=1.0
gamma=4.0
lamb=0.1
temp=1.0
QDmodel=useQDmodel
QDmodelType=AIQD
energyNorm=1.0
DeltaNorm=1.0
gammaNorm=10
lambNorm=1.0
tempNorm=1.0
numLogf=10
systemType=SB
QDmodelIn=AIQD_SB_model.hdf5
QDtrajOut=Qd_trajectory
训练一个OSTL模型
MLQD
n_states=2
QDmodel=createQDmodel
QDmodelType=OSTL
prepInput=True
energyNorm=1.0
DeltaNorm=1.0
gammaNorm=10
lambNorm=1.0
tempNorm=1.0
systemType=SB
hyperParam=True
patience=10
epochs=10
max_evals=10
QDmodelOut=OSTL_SB_model
用训练好的OSTL模型传播动力学
我们只需传递参数,训练后的OSTL模型能够在一次尝试中预测相应的动态
MLQD
n_states=2
time=20
time_step=0.05
energyDiff=1.0
Delta=1.0
gamma=4.0
lamb=0.1
temp=1.0
QDmodel=useQDmodel
QDmodelType=OSTL
energyNorm=1.0
DeltaNorm=1.0
gammaNorm=10
lambNorm=1.0
tempNorm=1.0
systemType=SB
QDmodelIn=OSTL_SB_model.hdf5
QDtrajOut=Qd_trajectory
紫外可见光谱
紫外/可见光谱(截面)可以用ML-核系综方法(ML-NEA)计算。详见 教程1 和 教程2 。
要获得完整的功能,应该安装 Newton-X (使用2.2版本进行测试)和 Gaussian (请参阅 安装说明 ,包括设置适当的环境变量,如 $NX
和 $GAUSS_EXEDIR
)。在MLatom@XACS云平台上没有Newton-X和Gaussian。
可选参数
|
待计算的激发态个数 |
默认值为3 |
|
用户自定义的用于训练ML的QM计算数 |
默认值为0,QM计算的次数将迭代确定 |
|
要求绘制QC-NEA横截面 |
|
|
定义了QC-NEA截面展宽参数 |
|
|
通过单点卷积绘制截面 |
高级参数(不建议修改):
|
迭代过程中QC计算的最大次数 |
默认值为10000 |
|
ML计算的次数 |
默认值为50000 |
所需文件
- 必须文件
gaussian_optfreq.com
输入文件,用于Gaussian的几何优化和频率计算。此外,可提供文件eq.xyz
(优化后的平衡几何构型XYZ文件)和nea_geoms.xyz
(包含核系综中所有几何图形的文件)。gaussian_ef.com
模板文件,使用Gaussian计算激发能和振子强度。
- 可选文件
cross-section_ref.dat
参考截面文件,计算格式类似Newton-X(第一列:DE/eV;第二列:lambda/nm;第三列:sigma/A2)eq.xyz
带有优化后的模型的文件(必须与nea_geoms.xyz
一起使用)nea_geoms.xyz
带有核系综中所有几何构型的文件(必须与eq.xyz
一起使用)E1.dat E2.dat ...
和f1.dat f2.dat ...
储存对应于nea_geoms.xyz
每行的激发能和振子强度的文件
输出文件
cross-section/cross-section_ml-nea.dat:
用ML-NEA方法计算的截面谱cross-section/cross-section_qc-nea.dat:
用QC-NEA方法计算的截面谱cross-section/cross-section_spc.dat:
用单点卷积计算的截面谱cross-section/plot.png:
用不同方法计算的截面图像
双光子吸收截面
This simulation type is performed as described in this publication. See the original source code on GitHub.
要在本地运行ML-TPA计算,请先安装以下程序:
python >= 3.7
scikit-learn<1.0.0
xgboost>=1.5.0
rdkit>=2022.03.3
numpy>=1.21.1
pandas>=1.0.1
当配置好合适的Python环境以后,推荐从conda安装软件包,即运行:
pip install pandas
pip install numpy==1.22
pip install scikit-learn==0.24.2
pip install xgboost==1.5
pip install rdkit
输入的参数
MLTPA
必填
请求计算一个光谱或给定波长的双光子吸收(TPA)截面。
SMILLESfile=[SMILES文件]
此参数必选,无默认文件名。
一个或多个分子的SMILES文件
auxfile=[file with the information of wavelength and Et30 in the format of 'wavelength_lowbound,wavelength_upbound,Et30'] (wavelength in nm.)
optional. If the auxiliary file does not exist, then the default value of Et30 will be 33.9 (toluene) and the whole spectra between 600–1100 nm will be provided. The entries (lines) should be provided in the same order as in
SMILLESfile
. See the list with the solvents and their Et30 values.
输出文件
输出逗号分隔的预测ML-TPA横截面值或每个波长的以GM为单位的光谱,输出文件 tpa[SMILES文件中的分子索引].txt
保存在当前路径下的 tpa[绝对时间]
文件夹中。
示例
这里我们展示了如何使用MLatom的输入文件 mltpa.inp
计算RHODAMINE 6G和RHODAMINE 123分子的TPA截面:
MLTPA
SMILESfile='
CCNC1=CC2=C(C=C1C)C(=C3C=C(C(=[NH+]CC)C=C3O2)C)C4=CC=CC=C4C(=O)OCC.[Cl-]
COC(=O)C1=CC=CC=C1C2=C3C=CC(=N)C=C3OC4=C2C=CC(=C4)N.Cl
'
auxfile='
600,850,55.4
600,600,33.9
'
You can submit this input file on the XACS cloud or run it locally with
mlatom mltpa.inp > mltpa.out
Alternatively:
MLTPA
SMILESfile=Smiles.csv
auxfile=_aux.txt
这个输入需要提供分子的SMILES文件 Smiles.csv
:
CCNC1=CC2=C(C=C1C)C(=C3C=C(C(=[NH+]CC)C=C3O2)C)C4=CC=CC=C4C(=O)OCC.[Cl-]
COC(=O)C1=CC=CC=C1C2=C3C=CC(=N)C=C3OC4=C2C=CC(=C4)N.Cl
以及可选 `` _aux.txt`` :
600,850,55.4
600,600,33.9
计算完成以后,预测的TPA截面值会保存在名为 tpa[绝对时间]
的文件夹中。在这个文件夹中有两个分子的两个文件: tpa1.txt
和 tpa2.txt
。在我们的例子中,``tpa1.tst``如下所示:
wavelength,predicted_sigma (GM)
600.0,285.19455
610.0,297.71707
620.0,284.11694
......
810.0,121.51988
820.0,116.537994
830.0,118.04909
840.0,103.65925
850.0,113.72374
以及 tpa2.txt
:
wavelength,predicted_sigma (GM)
600.0,138.2346