You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:21:13