我看到这个错误,需要帮助这个!
Warnings.warn(“未能猜出以下原子类型的质量:{}".format(atom_type))回溯(最近一次调用):protein_z=protein.centroid()2 IndexError中的文件”traj_残留物-z.py“第48行:索引2超出了大小为0的轴0的界限。
发布于 2021-12-22 17:20:04
这个问题通过邮件列表线程https://groups.google.com/g/mdnalysis-discussion/c/J8oJ0M9Rjb4/m/kSD2jURODQAJ中的讨论得到了解决。
简单地说: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开始的大小选择并不匹配任何内容。这产生了一个空的AtomGroup protein__。
后继质心计算
protein_z=protein.centroid()[2]失败是因为对于空AtomGroup,protein.centroid()返回一个空数组,因此试图在索引2处获取元素会引发IndexError。
'resid 1-%d'以适应开始和停止大小,要么nprotein_res protein = u.residues[:nprotein_res].atoms来选择第一个ResiduesGroup残基。https://stackoverflow.com/questions/70439022
复制相似问题