Pymol(1.8.6)作图技巧之创建质心

简介: Pymol(1.8.6)作图技巧之创建质心

一、首先,访问pymolwikiCenter of Mass,下载center_of_mass.py脚本;

image.png

或者把下面文件保存为center_of_mass.py文件。

See more here: http://www.pymolwiki.org/index.php/center_of_mass
DESCRIPTION
   Places a pseudoatom at the center of mass
   Author: Sean Law
   Michigan State University
   slaw (at) msu . edu
SEE ALSO
   pseudoatom, get_com
'''
from __future__ import print_function
from pymol import cmd
def com(selection, state=None, mass=None, object=None, quiet=1, **kwargs):
    quiet = int(quiet)
    if (object == None):
        try:
            object = cmd.get_legal_name(selection)
            object = cmd.get_unused_name(object + "_COM", 0)
        except AttributeError:
            object = 'COM'
    cmd.delete(object)
    if (state != None):
        x, y, z = get_com(selection, mass=mass, quiet=quiet)
        if not quiet:
            print("%f %f %f" % (x, y, z))
        cmd.pseudoatom(object, pos=[x, y, z], **kwargs)
        cmd.show("spheres", object)
    else:
        for i in range(cmd.count_states()):
            x, y, z = get_com(selection, mass=mass, state=i + 1, quiet=quiet)
            if not quiet:
                print("State %d:%f %f %f" % (i + 1, x, y, z))
            cmd.pseudoatom(object, pos=[x, y, z], state=i + 1, **kwargs)
            cmd.show("spheres", 'last ' + object)
cmd.extend("com", com)
def get_com(selection, state=1, mass=None, quiet=1):
    """
 DESCRIPTION
    Calculates the center of mass
    Author: Sean Law
    Michigan State University
    slaw (at) msu . edu
    """
    quiet = int(quiet)
    totmass = 0.0
    if mass != None and not quiet:
        print("Calculating mass-weighted COM")
    state = int(state)
    model = cmd.get_model(selection, state)
    x, y, z = 0, 0, 0
    for a in model.atom:
        if (mass != None):
            m = a.get_mass()
            x += a.coord[0] * m
            y += a.coord[1] * m
            z += a.coord[2] * m
            totmass += m
        else:
            x += a.coord[0]
            y += a.coord[1]
            z += a.coord[2]
    if (mass != None):
        return x / totmass, y / totmass, z / totmass
    else:
        return x / len(model.atom), y / len(model.atom), z / len(model.atom)
cmd.extend("get_com", get_com)
# vi:expandtab:sw=3


二、将center_of_mass.py脚本放在pymol安装文件夹下的Lib文件夹。

image.png

三、创建质心操作

导入center of mass

image.png

image.png

创建质心球

image.png

image.png

修改质心球大小

image.png



image.png

创建质心的其他相关操作

image.png

目录
相关文章
|
Web App开发 人工智能 安全
推荐5个堪称神器的效率工具
本文推荐了5款高效实用的软件:Keypirinha(快速启动工具)、Brave浏览器(隐私安全)、3171.CN(在线工具集)、ScreenSlice(分屏优化)和NeatMouse(键鼠辅助),适用于办公、学习等多种场景,提升效率神器。
668 0
|
人工智能 监控 开发者
详解大模型应用可观测全链路
阿里云可观测解决方案从几个方面来尝试帮助使用 QwQ、Deepseek 的 LLM 应用开发者来满足领域化的可观测述求。
3000 157
详解大模型应用可观测全链路
|
机器学习/深度学习 编解码 Java
YOLOv11改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作
YOLOv11改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作
480 0
YOLOv11改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作
|
数据中心
交换机的电口和光口到底是个啥东东,做网络的这个常识得懂
在网络通信中,交换机的电口和光口是关键组件。电口使用电信号和RJ45接口,适用于短距离传输,成本低,安装简单;光口使用光信号和光纤线缆,适用于长距离、高速传输,抗干扰能力强,但成本较高。本文详细介绍了电口和光口的工作原理、特点、应用场景及选择方法,帮助读者更好地理解和应用这两种接口。
2278 5
|
机器学习/深度学习 自然语言处理 计算机视觉
【YOLOv11改进 - 注意力机制】CoTAttention:上下文转换器注意力
【YOLOv11改进 - 注意力机制】CoTAttention:上下文转换器注意力Contextual Transformer (CoT) 是一种新型的Transformer风格模块,通过3×3卷积对输入键进行上下文编码,生成静态上下文表示,并通过两个1×1卷积学习动态多头注意力矩阵,增强视觉表示能力。CoTNet将CoT块应用于ResNet架构中,替代3×3卷积,提升图像识别、目标检测和实例分割等任务的性能。源码可在GitHub获取。
【YOLOv11改进 - 注意力机制】CoTAttention:上下文转换器注意力
|
存储 缓存 调度
C++医院医学影像PACS系统源码 影像采集 DICOM影像
支持对财务及工作量信息进行统计; 支持对任意的检查类别,检查设备按照不同的检查项目(包括送检医生,送检;科室,检查类别,报告医生工作量等)进行任意时间段的统计; 可以按照检查类型,检查设备,检查项目,统计范围和日期范围等进行组合统计。
373 1
|
数据可视化 物联网 关系型数据库
幻方开源第二代MoE模型 DeepSeek-V2,魔搭社区推理、微调最佳实践教程
5月6日,幻方继1月份推出首个国产MoE模型,历时4个月,带来第二代MoE模型DeepSeek-V2,并开源了技术报告和模型权重,魔搭社区可下载体验。
|
Python
在Python的pandas库中,向DataFrame添加新列简单易行
【6月更文挑战第15天】在Python的pandas库中,向DataFrame添加新列简单易行。可通过直接赋值、使用Series或apply方法实现。例如,直接赋值可将列表或Series对象分配给新列;使用Series可基于现有列计算生成新列;apply方法则允许应用自定义函数到每一行或列来创建新列。
1921 8
STM32CubeMX RS232接口
STM32CubeMX RS232接口
700 0