|
|
本帖最后由 yaonaite 于 2026-6-18 18:41 编辑
太长不看版:
在有机合成中,叔丁基是一种能够有效提高分子溶解性的基团。但在单晶解析过程中,叔丁基经常存在振动无序和转动无序,需要分PART并用DFIX命令处理。
由于这样的分子中往往有很多个叔丁基,这样的工作令人非常难绷,导致相关的工作者时常反思为什么要做出这种东西折磨自己。
本帖提供了两个python脚本,能够快速写出DFIX命令行和PART行。但是,仍然没有解决需要手动去找ins文件中原子编号的问题。
由于习惯,make_parts.py要求至少每一个叔丁基的四个原子的原子编号是相邻的。
理论部分受到了北京师范大学龚汉元教授的指导。
正文:
以下是连接在苯环上的叔丁基示例。字母代表的是对应的碳原子。在单晶数据中要处理其转动无序(表现为BCD围绕圆心拉长)时,应当处理B,C,D三个原子。
这就需要对于拆开的两组,各自:
1. 固定AB,AC,AD的距离
2. 固定BC,CD,BD的距离
3. 固定EB,EC,ED的距离(确保叔丁基是向外的伞状,而不是向内)
4. 设定A,B,C,D的位移参数一样(EADP命令)
在处理振动无序(表现为碳原子并非小球)时,或两种无序均存在时,则应当处理A,B,C,D,需要:
1. 固定AB,AC,AD的距离
2. 固定BC,CD,BD的距离
3. 固定EB,EC,ED的距离
4. 固定EA的距离
5. 固定AF,AG的距离
6. 设定A,B,C,D的位移参数一样
考虑到处理振动无序的方法包括了处理转动无序的方法,加上叔丁基总是不那么完美,本系列脚本是按照处理振动无序书写的。
使用方法及效果:
快速写出DFIX行的convert_tbu.py:
输入:工作文件夹D:\forrings中的一个或多个xxxtbu.txt,tbu不区分大小写
1 2 3 4 5 6 7(这里是其中一行,多行也是一样的格式:七个数字,中间以空格分隔,数字1-7分别对应上面的字母A-G。显然,BCD的顺序随意,FG的顺序随意)
输出:xxxtbuDFIX.txt,xxx与输入的文件名对应
DFIX 1.51 0.01 C1 C2 C1 C3 C1 C4
DFIX 2.55 0.02 C5 C2 C5 C3 C5 C4
DFIX 2.55 0.02 C2 C3 C3 C4 C4 C2
DFIX 1.51 0.01 C1 C5
DFIX 2.45 0.02 C1 C6 C1 C7
EADP C1 C2 C3 C4
DFIX 1.51 0.01 C1M C2N C1M C3P C1M C4Q
DFIX 2.55 0.02 C5 C2N C5 C3P C5 C4Q
DFIX 2.55 0.02 C2N C3P C3P C4Q C4Q C2N
DFIX 1.51 0.01 C1M C5
DFIX 2.45 0.02 C1M C6 C1M C7
EADP C1M C2N C3P C4Q
其中1M(对应数字1),2N(对应数字2),3P(对应数字3),4Q(对应数字4)最后的字母后缀应该被替换为A,B,D,E,以此类推直到K(为了避免混淆,跳过字母C)。具体用哪个字母规则如下:
对应的数字为0-99时,在数字后直接加A。如98对应98A,7对应7A,08对应08A。
对应的数字为100-199时,去掉百位数,并在最后加B。如197对应97B,107对应07B。
对应的数字为200-299时,去掉百位数,并在最后加D。如230对应30D,200对应00D。
对应的数字为300-399时,去掉百位数,并在最后加E。如330对应30E,300对应00E。
以此类推
快速写出PART行的make_parts.py:
输入:工作文件夹D:\forrings中的一组或多组xxx.ins和xxxtbu.txt,tbu不区分大小写
遵循的替换规则和上面的convert_tbu.py脚本一样。效果有点难以描述,示例如下:
AtBu.txt中的内容:
174 175 176 177 41 40 42
178 179 180 181 47 46 48
找到的A.ins中的第一部分内容:
C174 1 1.25950 0.64301 -0.19599 11.00000 0.04729 0.07225 =
0.06351 -0.02934 0.01230 0.00664
C175 1 1.31970 0.59557 -0.19526 11.00000 0.05454 0.07831 =
0.08676 -0.02665 0.02145 0.01430
C176 1 1.22776 0.66270 -0.25141 11.00000 0.06618 0.08657 =
0.04887 -0.02123 0.01176 0.00327
C177 1 1.30258 0.69582 -0.19494 11.00000 0.06785 0.07114 =
0.08564 -0.02951 0.00864 -0.01029
输出到AtbuPART.txt中的第一部分内容:
PART 1
C174 1 1.25950 0.64301 -0.19599 10.50000 0.04729 0.07225
0.06351 -0.02934 0.01230 0.00664
C175 1 1.31970 0.59557 -0.19526 10.50000 0.05454 0.07831
0.08676 -0.02665 0.02145 0.01430
C176 1 1.22776 0.66270 -0.25141 10.50000 0.06618 0.08657
0.04887 -0.02123 0.01176 0.00327
C177 1 1.30258 0.69582 -0.19494 10.50000 0.06785 0.07114
0.08564 -0.02951 0.00864 -0.01029
PART 2
C74B 1 1.25950 0.64301 -0.19599 10.50000 0.04729 0.07225
0.06351 -0.02934 0.01230 0.00664
C75B 1 1.31970 0.59557 -0.19526 10.50000 0.05454 0.07831
0.08676 -0.02665 0.02145 0.01430
C76B 1 1.22776 0.66270 -0.25141 10.50000 0.06618 0.08657
0.04887 -0.02123 0.01176 0.00327
C77B 1 1.30258 0.69582 -0.19494 10.50000 0.06785 0.07114
0.08564 -0.02951 0.00864 -0.01029
PART 0
找到的A.ins中的第二部分内容:
C178 1 0.87712 0.77529 -0.20690 11.00000 0.08084 0.09194 =
0.03887 -0.00114 -0.00834 0.02938
C179 1 0.79240 0.79855 -0.20131 11.00000 0.07770 0.10874 =
0.05925 0.00714 -0.01935 0.03552
C180 1 0.88899 0.74894 -0.24949 11.00000 0.21556 0.15305 =
0.06189 -0.04328 -0.05313 0.10620
C181 1 0.94149 0.82759 -0.22534 11.00000 0.09611 0.12777 =
0.09764 0.05193 -0.02212 0.01533
输出到AtbuPART.txt中的第二部分内容:
PART 1
C178 1 0.87712 0.77529 -0.20690 10.50000 0.08084 0.09194
0.03887 -0.00114 -0.00834 0.02938
C179 1 0.79240 0.79855 -0.20131 10.50000 0.07770 0.10874
0.05925 0.00714 -0.01935 0.03552
C180 1 0.88899 0.74894 -0.24949 10.50000 0.21556 0.15305
0.06189 -0.04328 -0.05313 0.10620
C181 1 0.94149 0.82759 -0.22534 10.50000 0.09611 0.12777
0.09764 0.05193 -0.02212 0.01533
PART 2
C78B 1 0.87712 0.77529 -0.20690 10.50000 0.08084 0.09194
0.03887 -0.00114 -0.00834 0.02938
C79B 1 0.79240 0.79855 -0.20131 10.50000 0.07770 0.10874
0.05925 0.00714 -0.01935 0.03552
C80B 1 0.88899 0.74894 -0.24949 10.50000 0.21556 0.15305
0.06189 -0.04328 -0.05313 0.10620
C81B 1 0.94149 0.82759 -0.22534 10.50000 0.09611 0.12777
0.09764 0.05193 -0.02212 0.01533
PART 0
|
评分 Rate
-
查看全部评分 View all ratings
|