MDAnalysis专题

MDAnalysis几何桥连选区与PBC

用真实蛋白原子演示between交集、原子编号导出及整盒平移对照,区分几何接近与氢键或水桥。

更新于 2026-11-09约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

between可以找同时靠近两组参照的原子,适合构造界面或桥连的几何候选选区。它只检查距离;要判断氢键、水桥或化学成键,还需要相应的拓扑、角度和分析工具。

下载三个真实快照、完整拓扑、脚本及结果图包,先按距离与接触篇的步骤运行一次,本篇读取相同的三个真实快照,不重复提交。

1. 给定候选组和两组参照#

from MDAnalysis.analysis import distances
ca=u.select_atoms('name CA')
left=ca[:1]
right=ca[2:3]
bridge=distances.between(u.atoms,left,right,4.5)
ids=bridge.indices

本例候选组是全部1231蛋白原子,参照是Cα序列第1和第3个原子。它返回同时距两组不超过4.5Å的AtomGroup,是两条距离条件的交集,不是沿一条直线取中点。

这也没有选出“水桥”:输入示例候选组是蛋白原子,未包含待分类的桥水。真正氢键水桥操作见WaterBridgeAnalysis。

真实蛋白上的几何交集,以及两个距离条件对应的完整原子散点

2. 导出原子编号与两条距离#

export PATH="/public/toolkit/miniconda3/envs/qvasp-2.26/bin:$PATH"
python - <<'PYDATA'
import numpy as np
x=np.load('analysis-fields.npz')
ids=x['frame0_between_indices']
a=np.column_stack([ids,x['frame0_between_min_left_A'][ids],x['frame0_between_min_right_A'][ids]])
np.savetxt('between-frame0.csv',a,delimiter=',',header='zero_based_atom_index,min_distance_to_left_A,min_distance_to_right_A',comments='')
print('选中原子数:',len(ids))
PYDATA

这里导出的是从0开始的AtomGroup索引,不是PDB serial,也不是残基编号。与其他软件交换选区前,先核对编号口径;要按分子或残基扩展,应明确再做相应选择,不能把原子交集数量直接称作分子数。

3. between不处理PBC#

between当前接口没有box参数。本包另建一个参照组,将其整体沿x平移100Å,真实再调用between;结果变为空。它不会因为你心中假定存在周期盒,就自动把这个参照移回。

对需要周期最小镜像的完整距离或接触,应使用相应函数的box参数,例如:

import numpy as np
control_box=np.array([100,100,100,90,90,90],dtype=np.float32)
periodic=distances.distance_array(left.positions,right.positions,box=control_box)
contacts=distances.contact_matrix(ca.positions,cutoff=4.5,box=control_box)

自己的实际周期轨迹应改用经核对的真实盒参数;本例快照的内存Reader没有原盒信息,不能直接用其空的 u.dimensions冒充已应用PBC。本包用明确的100Å立方数值控制盒,对一个Cα作整盒平移,核对PBC距离、稠密与稀疏接触保持对应;100Å不是声称原模拟晶胞如此大。将控制盒与真实盒参数分开,可以检查代码是否真的应用PBC,而不改变材料体积事实。

4. 看完整结果、重画图#

cat VALIDATION.json
export PATH="/public/toolkit/miniconda3/envs/qvasp-2.26/bin:$PATH"
python plot.py

原生选区全部原子编号与原始坐标的双距离交集逐项一致;整盒平移同时检查全部矩阵元素。这些三个快照只演示几何操作,不提供接触寿命或收敛蛋白动力学结论。参考MDAnalysis2.9 between与PBC说明。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗