我想在我的研究中使用python包装器for packmol(MDAPackmol)。为了做到这一点,我尝试使用GitHub上提供的示例代码和pdb文件,以便了解如何使用包装器。但是,当我运行代码时,我收到以下错误消息:ValueError: invalid literal for int() with base 10
以下是完整的追溯:
错误源于长度为零的字符串start.resname
。resname有一个数字和一个字母似乎有问题,因此Universe
(由load_packmol_output
返回的对象)也有问题。因此,残留物存在问题。我现在想知道这是下载/安装MDAnalysis的错误还是缺少依赖项。如有任何建议或见解,将不胜感激。谢谢
我真的无法重现您的错误,但让我们从stacktrace反向工作
我们在mdapackmol.py的184号线上。失败的部分是
int(start.resname[1:])
。如果我运行示例代码,那么start.resname
等于R0
,因此start.resname[1:]
是'0'
,而int(start.resname[1:])
是0
在您的例子中,
start.resname
可能类似于R
,因此start.resname[1:]
是''
,然后int(start.resname[1:])
会因ValueError
而失败stacktrace的其余部分没有提供足够的信息来推断
start.resname
没有所需格式的原因。但是试着在一个有调试支持的编辑器中运行代码(比如VSCode,就像我在上面的屏幕截图中所做的那样),添加足够的断点,并尝试逐步检查代码和MDAPackmolCode,直到发现哪里出了问题相关问题 更多 >
编程相关推荐