1

我想为我的研究使用用于 packmol (MDAPackmol) 的 python 包装器。为此,我尝试使用GitHub 上提供的示例代码和 pdb 文件,以便了解如何使用包装器。但是,当我运行代码时,我收到以下错误消息:ValueError: invalid literal for int() with base 10.

这是完整的追溯:

完整追溯

错误源于start.resname零长度字符串。具有数字和字母的 resname 似乎有问题,因此Universe(返回的对象load_packmol_output)有问题。因此,残留物存在问题。我现在想知道这是否是 MDAnalysis 下载/安装方式的错误或缺少依赖项。任何建议或见解将不胜感激。谢谢!

4

1 回答 1

0

我无法真正重现您的错误,但让我们从您的堆栈跟踪向后工作。

在此处输入图像描述

我们在mdapackmol.py的第 184 行。失败的部分是int(start.resname[1:]). 如果我运行示例代码,则start.resname等于R0,所以start.resname[1:]is'0'int(start.resname[1:])is 0

在此处输入图像描述

在您的情况下,可能start.resname类似于R,然后以 . 失败。start.resname[1:]''int(start.resname[1:])ValueError

您的堆栈跟踪的其余部分没有提供足够的信息来推断您start.resname没有所需格式的原因。但是尝试在具有调试支持的编辑器中运行您的代码(例如像我在上面的屏幕截图中所做的VSCode),添加充足的断点并尝试单步执行您的代码和 MDAPackmolCode,直到您发现哪里出错了

于 2020-07-10T18:52:03.143 回答