PyMol中选择含氢键残基及清晰展示链间口袋氢键的方法
嘿,刚好在PyMOL里折腾过类似的需求,给你分享几个实用的操作技巧:
一、选择所有参与已发现氢键的残基
当你通过Action -> Find -> Polar Contacts生成氢键后,PyMOL会自动创建一个包含所有氢键原子的选择对象(默认名字是polar_contacts,你也可以在弹出的对话框里自定义名称)。接下来有两种方式选中对应的残基:
方法1:用命令行快速操作
直接在PyMOL的命令行输入:# 按残基选择所有参与氢键的原子所属的残基,命名为hbond_res select hbond_res, byres polar_contacts # 隐藏所有内容,只显示这些残基的卡通和侧链 hide all show cartoon, hbond_res show sticks, hbond_res and sidechain这里的
byres是PyMOL的核心关键字,意思是“选择选中原子所属的整个残基”,非常实用。方法2:用GUI操作(适合不熟悉命令的同学)
- 在右侧的对象列表里,找到刚才生成的氢键对象(比如
polar_contacts),右键点击它 - 依次选择
Select -> By Residue,此时所有参与氢键的残基就被选中了 - 点击顶部菜单栏的
Display -> Hide -> Everything,然后再Display -> Show -> Cartoon和Display -> Show -> Sticks,只保留这些残基的显示
- 在右侧的对象列表里,找到刚才生成的氢键对象(比如
二、清晰展示口袋中两条链间的氢键
要让链间氢键一目了然,核心思路是简化视图+强化对比,试试这几个操作:
先过滤无关结构
先选中两条目标链,隐藏其他链:# 假设两条链是A和B,隐藏其他所有链 hide all, not (chain A or chain B) # 进一步聚焦口袋区域,比如只显示两条链中距离彼此5Å以内的残基 select pocket, (chain A or chain B) and around 5 of (chain A and chain B) hide all, not pocket优化氢键的显示样式
默认的氢键样式可能不够突出,调整一下参数:# 用虚线显示氢键,调整线的粗细和间隙 show dashes, polar_contacts set dash_radius, 0.1 # 让氢键更细,避免和链的结构重叠 set dash_gap, 0.2 # 调整虚线的间隙,更清晰 # 给氢键设置独特的颜色,比如绿色 color green, polar_contacts用颜色区分两条链
给两条链设置不同的颜色,一眼就能区分:color deepblue, chain A color firebrick, chain B添加残基标签(可选)
如果需要明确知道是哪些残基之间的氢键,可以给氢键加上标签:label polar_contacts, "%s%s" % (resn, resi) # 调整标签的大小和位置,避免遮挡 set label_size, 12 set label_position, (0,0,1)聚焦到氢键区域
直接在对象列表里双击氢键对象,PyMOL会自动视图聚焦到这些氢键上;或者用命令:zoom polar_contacts, 1.5 # 1.5是放大倍数,可按需调整
内容的提问来源于stack exchange,提问作者Zubo
相关产品推荐
相关产品推荐

