在VMware虚拟机下运行autodock4,弄了一天。郁闷,好不容易走到这一步了,autogrid4已经成功了,接下来运行autodock4,结果log报错,如下图,首先是找不到诸如N , HD这样常见类型的原子,然后说我配基pdbqt文件中原子编号没有从1开始顺序编。我的总共配基就14个原子,它也读进去了。真实奇怪!
郁闷死了,大家帮帮忙啊!
(缩略图,点击图片链接看原图)
原子序号必须从1开始编号。
估计你的ligand是从complex中提出来的,编号不是从1开始吧。
不是啊,我是用ADT做的配基pdbqt,是从1开始编号的,并且是顺序编号的,没有象error那样所说的不顺序编号的。
我有换了一个,就是他们tuturial里面的,步骤安说明文件使用ADT做出来的,还是这样的问题,大家帮忙看看。
REMARK 14 active torsions:
REMARK status: ('A' for Active; 'I' for Inactive)
REMARK 1 A between atoms: N1_1 and C31_39
REMARK 2 A between atoms: C2_3 and C3_4
REMARK I between atoms: C3_4 and N2_6
REMARK 3 A between atoms: N2_6 and C4_7
REMARK 4 A between atoms: N3_11 and C10_14
REMARK 5 A between atoms: C10_14 and C11_15
REMARK 6 A between atoms: C11_15 and O2_16
REMARK 7 A between atoms: C11_15 and C12_17
REMARK 8 A between atoms: C12_17 and C13_18
REMARK 9 A between atoms: C13_18 and C14_19
REMARK 10 A between atoms: C13_18 and C21_26
REMARK 11 A between atoms: C14_19 and C15_20
REMARK I between atoms: C21_26 and N4_28
REMARK 12 A between atoms: N4_28 and C22_29
REMARK 13 A between atoms: C23_30 and O4_31
REMARK 14 A between atoms: C31_39 and C32_40
ROOT
HETATM 1 C11 IND I 201 0.179 -0.499 -6.803 1.00 21.68 0.136 C
ENDROOT
BRANCH 1 2
HETATM 2 C10 IND I 201 -1.311 -0.822 -6.920 1.00 20.86 0.149 C
BRANCH 2 3
HETATM 3 N3 IND I 201 -1.962 -1.090 -5.654 1.00 28.91 -0.395 N
HETATM 4 C8 IND I 201 -1.905 -2.547 -5.378 1.00 26.24 0.148 C
HETATM 5 C9 IND I 201 -2.680 -3.065 -4.184 1.00 27.47 0.292 C
HETATM 6 N1 IND I 201 -3.884 -2.421 -3.900 1.00 28.25 0.096 N
HETATM 7 C1 IND I 201 -3.646 -0.958 -4.031 1.00 30.30 0.307 C
HETATM 8 C2 IND I 201 -3.232 -0.342 -5.352 1.00 27.27 0.200 C
BRANCH 6 9
HETATM 9 C31 IND I 201 -4.558 -2.886 -2.682 1.00 36.25 0.312 C
BRANCH 9 10
HETATM 10 C32 IND I 201 -5.993 -2.460 -2.351 1.00 42.75 -0.013 A
HETATM 11 C33 IND I 201 -7.118 -2.997 -2.993 1.00 47.41 0.125 A
HETATM 12 N5 IND I 201 -8.459 -2.673 -2.731 1.00 51.38 -0.273 NA
HETATM 13 C34 IND I 201 -8.548 -1.719 -1.719 1.00 50.60 0.116 A
HETATM 14 C35 IND I 201 -7.470 -1.143 -1.039 1.00 49.34 0.020 A
HETATM 15 C36 IND I 201 -6.168 -1.520 -1.359 1.00 44.71 0.012 A
ENDBRANCH 9 10
ENDBRANCH 6 9
BRANCH 8 16
HETATM 16 C3 IND I 201 -3.013 1.132 -5.140 1.00 28.85 0.242 C
HETATM 17 N2 IND I 201 -3.881 1.953 -5.698 1.00 22.29 -0.351 N
HETATM 18 H4 IND I 201 -4.664 1.491 -6.182 1.00 0.00 0.163 HD
HETATM 19 O1 IND I 201 -2.070 1.525 -4.464 1.00 29.59 -0.271 OA
BRANCH 17 20
HETATM 20 C4 IND I 201 -3.908 3.380 -5.739 1.00 23.47 0.022 C
HETATM 21 C5 IND I 201 -5.273 3.785 -6.326 1.00 27.66 0.037 C
HETATM 22 C6 IND I 201 -2.879 3.927 -6.487 1.00 21.71 0.037 C
HETATM 23 C7 IND I 201 -3.878 4.005 -4.413 1.00 22.75 0.037 C
ENDBRANCH 17 20
ENDBRANCH 8 16
ENDBRANCH 2 3
ENDBRANCH 1 2
BRANCH 1 24
HETATM 24 O2 IND I 201 0.484 -0.830 -8.124 1.00 15.87 -0.394 OA
HETATM 25 H21 IND I 201 0.517 0.027 -8.694 1.00 0.00 0.210 HD
ENDBRANCH 1 24
BRANCH 1 26
HETATM 26 C12 IND I 201 0.740 0.907 -6.523 1.00 21.49 0.047 C
BRANCH 26 27
HETATM 27 C13 IND I 201 2.252 1.135 -6.391 1.00 26.89 0.084 C
BRANCH 27 28
HETATM 28 C14 IND I 201 2.599 2.609 -6.125 1.00 28.67 0.052 C
BRANCH 28 29
HETATM 29 C15 IND I 201 4.061 2.833 -5.989 1.00 26.89 -0.057 A
HETATM 30 C16 IND I 201 4.978 2.414 -6.953 1.00 29.22 0.007 A
HETATM 31 C17 IND I 201 6.339 2.611 -6.767 1.00 29.22 0.001 A
HETATM 32 C18 IND I 201 6.774 3.236 -5.596 1.00 30.97 0.000 A
HETATM 33 C19 IND I 201 5.856 3.665 -4.630 1.00 29.25 0.001 A
HETATM 34 C20 IND I 201 4.490 3.460 -4.832 1.00 29.96 0.007 A
ENDBRANCH 28 29
ENDBRANCH 27 28
BRANCH 27 35
HETATM 35 C21 IND I 201 2.866 0.277 -5.291 1.00 29.35 0.222 C
HETATM 36 N4 IND I 201 4.027 -0.296 -5.596 1.00 31.19 -0.350 N
HETATM 37 H32 IND I 201 4.322 -0.340 -6.582 1.00 0.00 0.163 HD
HETATM 38 O3 IND I 201 2.350 0.233 -4.164 1.00 32.66 -0.273 OA
BRANCH 36 39
HETATM 39 C22 IND I 201 4.890 -0.860 -4.571 1.00 29.22 0.147 C
HETATM 40 C23 IND I 201 6.361 -0.677 -4.902 1.00 28.82 0.149 C
HETATM 41 C24 IND I 201 7.079 -1.760 -4.129 1.00 32.05 0.073 C
HETATM 42 C25 IND I 201 6.203 -2.978 -3.983 1.00 31.29 -0.047 A
HETATM 43 C30 IND I 201 4.800 -2.382 -4.287 1.00 31.86 -0.027 A
HETATM 44 C26 IND I 201 6.370 -4.317 -3.716 1.00 32.00 0.008 A
HETATM 45 C29 IND I 201 3.766 -3.264 -4.254 1.00 27.70 0.010 A
HETATM 46 C28 IND I 201 3.963 -4.609 -3.972 1.00 29.01 0.001 A
HETATM 47 C27 IND I 201 5.237 -5.138 -3.712 1.00 28.00 0.001 A
BRANCH 40 48
HETATM 48 O4 IND I 201 6.561 -0.743 -6.306 1.00 28.32 -0.393 OA
HETATM 49 H35 IND I 201 6.510 0.205 -6.706 1.00 0.00 0.210 HD
ENDBRANCH 40 48
ENDBRANCH 36 39
ENDBRANCH 27 35
ENDBRANCH 26 27
ENDBRANCH 1 26
TORSDOF 14
总算是找到问题原因了,就是因为autodock4柔性受体部分,把dpf文件中flexres flex.pdbqt这个行去掉就没事了,看来程序把柔性残基当成小分子的一部分读入的时候,由于柔性残基原子编号是又从1开始的,所以就说文件没有顺序编号。但是问题又来了,把柔性部分去掉相当于没有考虑柔性了,怎么才能解决这个问题呢?
搞了半天,通过读源代码总算发现问题了,我用的那个源代码中的readPDBQT.cc文件有问题,奇怪,不知道这个代码是怎么流通到我手上的,具体如下,希望遇到同样问题的朋友有所借鉴:
在readPDBQT.cc文件中(readPDBQT.cc文件以及我修改了的见附件),程序一旦当前读入的原子序号serial不等于原子计数器natom+1,就出上楼那种错,我那个配基的pdbqt文件有32行,这里读完是正确的,下面就继续读柔性受体pdbqt文件,前面是REMARK之类的标识,不会进行比较原子号,由于REMARK标识部分有9行,然后出现ATOM标识,这里是柔性残基的第一个原子,原子号为1,读入这个号数serial=1,然后和原子计数器natom+1比较,由于这时计数器中已经有配基的原子数目了,所以明显serial=!natom+1,于是报错,报告说ligand.pdbqt文件中第43行有问题,其实42行就是配基32行+柔性残基前面9行以及ATOM本身,即42行
总结:这个代码没有对配基文件读完了这个事件进行处理,没有让系统知道配基文件读完,下面要读柔性受体啦。比如,应该把natom重新改为0(当然重新改为0会出错,我这里只是打个比喻)。在下面读柔性受体的时候仍然以为是在读配基ligand.pdbqt文件,所以遇到第一个原子就出问题。
readPDBQT(my revision).rar (10.97k)
郁闷死了,大家帮帮忙啊!
(缩略图,点击图片链接看原图)
原子序号必须从1开始编号。
估计你的ligand是从complex中提出来的,编号不是从1开始吧。
不是啊,我是用ADT做的配基pdbqt,是从1开始编号的,并且是顺序编号的,没有象error那样所说的不顺序编号的。
我有换了一个,就是他们tuturial里面的,步骤安说明文件使用ADT做出来的,还是这样的问题,大家帮忙看看。
REMARK 14 active torsions:
REMARK status: ('A' for Active; 'I' for Inactive)
REMARK 1 A between atoms: N1_1 and C31_39
REMARK 2 A between atoms: C2_3 and C3_4
REMARK I between atoms: C3_4 and N2_6
REMARK 3 A between atoms: N2_6 and C4_7
REMARK 4 A between atoms: N3_11 and C10_14
REMARK 5 A between atoms: C10_14 and C11_15
REMARK 6 A between atoms: C11_15 and O2_16
REMARK 7 A between atoms: C11_15 and C12_17
REMARK 8 A between atoms: C12_17 and C13_18
REMARK 9 A between atoms: C13_18 and C14_19
REMARK 10 A between atoms: C13_18 and C21_26
REMARK 11 A between atoms: C14_19 and C15_20
REMARK I between atoms: C21_26 and N4_28
REMARK 12 A between atoms: N4_28 and C22_29
REMARK 13 A between atoms: C23_30 and O4_31
REMARK 14 A between atoms: C31_39 and C32_40
ROOT
HETATM 1 C11 IND I 201 0.179 -0.499 -6.803 1.00 21.68 0.136 C
ENDROOT
BRANCH 1 2
HETATM 2 C10 IND I 201 -1.311 -0.822 -6.920 1.00 20.86 0.149 C
BRANCH 2 3
HETATM 3 N3 IND I 201 -1.962 -1.090 -5.654 1.00 28.91 -0.395 N
HETATM 4 C8 IND I 201 -1.905 -2.547 -5.378 1.00 26.24 0.148 C
HETATM 5 C9 IND I 201 -2.680 -3.065 -4.184 1.00 27.47 0.292 C
HETATM 6 N1 IND I 201 -3.884 -2.421 -3.900 1.00 28.25 0.096 N
HETATM 7 C1 IND I 201 -3.646 -0.958 -4.031 1.00 30.30 0.307 C
HETATM 8 C2 IND I 201 -3.232 -0.342 -5.352 1.00 27.27 0.200 C
BRANCH 6 9
HETATM 9 C31 IND I 201 -4.558 -2.886 -2.682 1.00 36.25 0.312 C
BRANCH 9 10
HETATM 10 C32 IND I 201 -5.993 -2.460 -2.351 1.00 42.75 -0.013 A
HETATM 11 C33 IND I 201 -7.118 -2.997 -2.993 1.00 47.41 0.125 A
HETATM 12 N5 IND I 201 -8.459 -2.673 -2.731 1.00 51.38 -0.273 NA
HETATM 13 C34 IND I 201 -8.548 -1.719 -1.719 1.00 50.60 0.116 A
HETATM 14 C35 IND I 201 -7.470 -1.143 -1.039 1.00 49.34 0.020 A
HETATM 15 C36 IND I 201 -6.168 -1.520 -1.359 1.00 44.71 0.012 A
ENDBRANCH 9 10
ENDBRANCH 6 9
BRANCH 8 16
HETATM 16 C3 IND I 201 -3.013 1.132 -5.140 1.00 28.85 0.242 C
HETATM 17 N2 IND I 201 -3.881 1.953 -5.698 1.00 22.29 -0.351 N
HETATM 18 H4 IND I 201 -4.664 1.491 -6.182 1.00 0.00 0.163 HD
HETATM 19 O1 IND I 201 -2.070 1.525 -4.464 1.00 29.59 -0.271 OA
BRANCH 17 20
HETATM 20 C4 IND I 201 -3.908 3.380 -5.739 1.00 23.47 0.022 C
HETATM 21 C5 IND I 201 -5.273 3.785 -6.326 1.00 27.66 0.037 C
HETATM 22 C6 IND I 201 -2.879 3.927 -6.487 1.00 21.71 0.037 C
HETATM 23 C7 IND I 201 -3.878 4.005 -4.413 1.00 22.75 0.037 C
ENDBRANCH 17 20
ENDBRANCH 8 16
ENDBRANCH 2 3
ENDBRANCH 1 2
BRANCH 1 24
HETATM 24 O2 IND I 201 0.484 -0.830 -8.124 1.00 15.87 -0.394 OA
HETATM 25 H21 IND I 201 0.517 0.027 -8.694 1.00 0.00 0.210 HD
ENDBRANCH 1 24
BRANCH 1 26
HETATM 26 C12 IND I 201 0.740 0.907 -6.523 1.00 21.49 0.047 C
BRANCH 26 27
HETATM 27 C13 IND I 201 2.252 1.135 -6.391 1.00 26.89 0.084 C
BRANCH 27 28
HETATM 28 C14 IND I 201 2.599 2.609 -6.125 1.00 28.67 0.052 C
BRANCH 28 29
HETATM 29 C15 IND I 201 4.061 2.833 -5.989 1.00 26.89 -0.057 A
HETATM 30 C16 IND I 201 4.978 2.414 -6.953 1.00 29.22 0.007 A
HETATM 31 C17 IND I 201 6.339 2.611 -6.767 1.00 29.22 0.001 A
HETATM 32 C18 IND I 201 6.774 3.236 -5.596 1.00 30.97 0.000 A
HETATM 33 C19 IND I 201 5.856 3.665 -4.630 1.00 29.25 0.001 A
HETATM 34 C20 IND I 201 4.490 3.460 -4.832 1.00 29.96 0.007 A
ENDBRANCH 28 29
ENDBRANCH 27 28
BRANCH 27 35
HETATM 35 C21 IND I 201 2.866 0.277 -5.291 1.00 29.35 0.222 C
HETATM 36 N4 IND I 201 4.027 -0.296 -5.596 1.00 31.19 -0.350 N
HETATM 37 H32 IND I 201 4.322 -0.340 -6.582 1.00 0.00 0.163 HD
HETATM 38 O3 IND I 201 2.350 0.233 -4.164 1.00 32.66 -0.273 OA
BRANCH 36 39
HETATM 39 C22 IND I 201 4.890 -0.860 -4.571 1.00 29.22 0.147 C
HETATM 40 C23 IND I 201 6.361 -0.677 -4.902 1.00 28.82 0.149 C
HETATM 41 C24 IND I 201 7.079 -1.760 -4.129 1.00 32.05 0.073 C
HETATM 42 C25 IND I 201 6.203 -2.978 -3.983 1.00 31.29 -0.047 A
HETATM 43 C30 IND I 201 4.800 -2.382 -4.287 1.00 31.86 -0.027 A
HETATM 44 C26 IND I 201 6.370 -4.317 -3.716 1.00 32.00 0.008 A
HETATM 45 C29 IND I 201 3.766 -3.264 -4.254 1.00 27.70 0.010 A
HETATM 46 C28 IND I 201 3.963 -4.609 -3.972 1.00 29.01 0.001 A
HETATM 47 C27 IND I 201 5.237 -5.138 -3.712 1.00 28.00 0.001 A
BRANCH 40 48
HETATM 48 O4 IND I 201 6.561 -0.743 -6.306 1.00 28.32 -0.393 OA
HETATM 49 H35 IND I 201 6.510 0.205 -6.706 1.00 0.00 0.210 HD
ENDBRANCH 40 48
ENDBRANCH 36 39
ENDBRANCH 27 35
ENDBRANCH 26 27
ENDBRANCH 1 26
TORSDOF 14
总算是找到问题原因了,就是因为autodock4柔性受体部分,把dpf文件中flexres flex.pdbqt这个行去掉就没事了,看来程序把柔性残基当成小分子的一部分读入的时候,由于柔性残基原子编号是又从1开始的,所以就说文件没有顺序编号。但是问题又来了,把柔性部分去掉相当于没有考虑柔性了,怎么才能解决这个问题呢?
搞了半天,通过读源代码总算发现问题了,我用的那个源代码中的readPDBQT.cc文件有问题,奇怪,不知道这个代码是怎么流通到我手上的,具体如下,希望遇到同样问题的朋友有所借鉴:
在readPDBQT.cc文件中(readPDBQT.cc文件以及我修改了的见附件),程序一旦当前读入的原子序号serial不等于原子计数器natom+1,就出上楼那种错,我那个配基的pdbqt文件有32行,这里读完是正确的,下面就继续读柔性受体pdbqt文件,前面是REMARK之类的标识,不会进行比较原子号,由于REMARK标识部分有9行,然后出现ATOM标识,这里是柔性残基的第一个原子,原子号为1,读入这个号数serial=1,然后和原子计数器natom+1比较,由于这时计数器中已经有配基的原子数目了,所以明显serial=!natom+1,于是报错,报告说ligand.pdbqt文件中第43行有问题,其实42行就是配基32行+柔性残基前面9行以及ATOM本身,即42行
总结:这个代码没有对配基文件读完了这个事件进行处理,没有让系统知道配基文件读完,下面要读柔性受体啦。比如,应该把natom重新改为0(当然重新改为0会出错,我这里只是打个比喻)。在下面读柔性受体的时候仍然以为是在读配基ligand.pdbqt文件,所以遇到第一个原子就出问题。
readPDBQT(my revision).rar (10.97k)