本帖最后由 Cinene0523 于 2025-12-30 22:11 编辑
大家好,目前网上应该还没有方便处理涉及自旋耦合的NMR输出文件的程序,想绘制带有裂分的1H-NMR谱图,往往需要挨个在MestReNova中输入数据,分子较大时会很麻烦,于是我借助ChatGPT编写了以下程序,功能比较简单,能很方便地将ORCA输出文件转化为MestReNova可用的自旋模拟xml文件。
功能主要包括: ·读取ORCA输出文件中的1H磁屏蔽常数和1H-1H J耦合矩阵,输入TMS中氢的磁屏蔽值作为参考,自动计算化学位移。 ·程序内置了revTPSS/pcSseg-1 CPCM(chloroform) ORCA 6.1.1计算的TMS的氢的磁屏蔽值31.641。 ·不输入数据直接回车,会采用该值进行计算。 ·程序支持对等效H进行平均处理,其他谱图的模拟参数,也可以在MestReNova中手动更改。 ·目前仅能识别使用%eprnmr NUCLEI = ALL H {SHIFT,SSALL}计算的输出文件。
下面选用Quinidine做一个参考: Quinidine是中等大小分子,有24个氢原子,包含一组等效氢(甲基)。 为了方便起见,将氢原子编号设为0~23,甲基上的氢是等效的,编号是0、22、23。
第一步 计算各向同性磁屏蔽值和J 分别使用revTPSS/pcSseg-1和revTPSS/pcJ-1计算氢原子各向同性磁屏蔽值和J,输入文件如下所示: ORCA在这方面的计算非常快,计算J只花费了5分钟。 计算完毕后,可以看到ORCA很贴心地将需要数据整理在输出文件结尾:
程序需要读取的也正是这两部分。
第二步 处理输出文件 打开程序,会提示输入相关文件名,如图所示: 依次输入ORCA计算磁屏蔽值、J的输出文件名QuinidineNMR.out和QuinidineJ.out,以及程序的输出文件名Quinidine_NMR.xml 再输入TMS中氢的各向同性磁屏蔽值作为参考,这里使用程序默认的31.641(revTPSS/pcSseg-1 CPCM(chloroform)),直接回车即可。 随后是对等效氢取平均,Quinidine只有一个甲基上的三个氢需要取平均,输入对应编号0 22 23即可,再次提示下一组等效氢时,直接回车跳过。
更新后需要设置J的过滤阈值,滤去太小的,例如<0.5 Hz的耦合,可以防止MestReNova卡死。
随后需要设定模拟谱图的相关参数,这里设置了仪器频率为400 MHz,FWHM为1 Hz,横坐标取值为14~0 ppm,采样点数设为64K,输入完毕后,自动输出xml文件。 程序会提示体系中的氢原子数以及自旋模拟的组数(甲基氢取平均后,剩下24-2=22),方便检查。
第三步 导入MestReNova 将得到的Quinidine_NMR.xml导入MestReNova中 可以发现程序成功输出了我们需要的数据,模拟谱图的参数可在此界面修改,随后点击模拟即可得到我们需要的谱图。 至此已经大功告成,谱图可在MestReNova中进行积分、标峰等处理,让谱图看起来更“真实”。 本人对ORCA使用较少且没有编程相关经验,程序代码可能比较粗糙,如有错误还请大家批评指正,感谢大家。
另附py及exe文件。
QuickHNMR_v1.0.zip
(8.8 MB, 下载次数 Times of downloads: 1)
更新:
MestReNova处理耦合比较复杂的体系时,可能会卡死,于是我添加了一个过滤步骤,能够滤去比较小的耦合,减少模拟负担。
现支持输入文件检查,每一步出错能够自动返回上一步,结尾同步输出化学位移表.txt。
|