1

阅读完文档后,我仍然无法找到一种方法来使用 MDAnalysis 在我的 pdb 文件中选择一个特定的原子。

对于我的项目,我基本上是在施加的电场中通过膜通道拉氯化物。我想使用 MDAnalysis 来专门选择正在通过通道推送的这种氯化物。不幸的是,这不是同一系统甚至段中唯一的氯化物,因此选择重命名或段对于确定我想要跟踪的氯化物没有用处。本质上,我将使用 MDAnalysis 进行计算,该计算使用一种特定氯化物的轨迹来计算位移电荷函数。我很难编写代码来告诉 MDAnalysis 我想要那个特定的氯化物。

我在 NAMD 中区分这一点的方法是使用索引号,但我无法在他们的文档中找到在 MDAnalysis 中使用此数字的方法,如果有人有使用 pdb 索引号而不是段名和 id 或链接的经验,我将不胜感激文档的相关页面(如果存在)。

谢谢!

4

2 回答 2

2

不幸的是,这还没有记录,但是从 2.0.0dev0 开始id,除了indexand之外,您还可以使用关键字bynum。这可能更直接,因为id直接对应于 PDB 格式中“序列”列中的数字。例如:

import MDAnalysis as mda
from MDAnalysis.tests.datafiles import PDB
u = mda.Universe(PDB)
atom_with_serial_10_in_pdb = u.select_atoms("id 10")[0]

或者

atom_with_serial_10_in_pdb = u.atoms[u.atoms.ids == 10][0]
于 2021-07-01T18:47:47.607 回答
1

bynum 7:10这是一个基于 1 的包含索引

index 7这是一个从 0 开始的索引

例如,atomi7 = universe.select_atoms("index 7")

相关文件

于 2021-07-01T12:00:48.507 回答