在阅读完文档之后,我仍然不能想出一种方法来用MDAnalysis在我的pdb文件中选择一个特定的原子。
在我的项目中,我基本上是在外加电场中通过膜通道拉动氯化物。我想用MDAnalysis来特别选择这个被推入通道的氯化物。不幸的是,这并不是同一系统中唯一的氯化物,甚至不是唯一的氯化物,所以选择一个新名称或部分对于识别我想要跟踪的氯化物没有什么用处。本质上,对于MDAnalysis,我将运行一个计算,使用一个特定氯化物的轨迹,来计算位移电荷函数。我很难写出代码来告诉MDAnalysis我想要那个特定的氯化物。
我在NAMD中区分这一点的方式是使用索引号,但我在他们的文档中找不到在MDAnalysis中使用这个编号的方法,如果有人有使用pdb索引号而不是段名和if的经验,或者将相关页面链接到文档(如果存在),我将非常感激。
谢谢!
发布于 2021-07-02 02:47:48
不幸的是,this is not yet documented,但是从2.0.0dev0开始,除了index和bynum之外,您还可以使用id关键字。这可能更简单,因为id直接对应于PDB格式中"serial“列中的数字。例如:
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-01 20:00:49
https://stackoverflow.com/questions/68199895
复制相似问题