数据分析-MD分析Python



我看到这个错误,需要帮助!

warnings.warn("无法猜测以下原子类型的质量:{}".format(atom_type((追踪(最近一次通话(:文件";traj_residue-z.py";,第48行,inprotein_z=蛋白质重心(([2]IndexError:索引2超出大小为0的轴0的界限

通过邮件列表线程中的讨论解决了问题https://groups.google.com/g/mdnalysis-discussion/c/J8oJ0M9Rjb4/m/kSD2jURODQAJ

简而言之:traj_residue-z.py脚本包含行

protein=u.select_atoms('resid 1-%d' % (nprotein_res))

事实证明,选择'resid 1-%d' % (nprotein_res)不会选择任何内容,因为输入GRO文件以resid 1327 开头

1327LEU      N    1   2.013   3.349   8.848  0.4933 -0.2510  0.2982
1327LEU     H1    2   1.953   3.277   8.893  0.0174  0.1791  0.3637
1327LEU     H2    3   1.960   3.377   8.762  0.6275 -0.5669  0.1094
...

因此从1开始的resids的选择与任何都不匹配。这产生了一个空的AtomGroupprotein

后续质心计算

protein_z=protein.centroid()[2]

失败,因为对于空的AtomGroup,protein.centroid()返回一个空数组,因此尝试获取索引2处的元素会引发IndexError

解决方案(感谢@IAlibay(是

  • 更改选择字符串'resid 1-%d'以适应开始和停止大小,或者
  • 以通过切片ResiduesGroup来仅选择第一个CCD_ 6残基CCD_

最新更新