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

目录
相关文章
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
1445 1
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
|
6月前
|
数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
ggbiplot | 带箭头的主成分分析(PCA)图绘制
ggbiplot | 带箭头的主成分分析(PCA)图绘制
271 0
跟着 Cell 学作图 | 柱状图+误差棒+蜂群图
跟着 Cell 学作图 | 柱状图+误差棒+蜂群图
193 0
|
数据可视化 数据处理
分面中添加不同的直线
分面中添加不同的直线
148 0
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2柱形图添加误差线和频率分布直方图
跟着Nature学作图:R语言ggplot2柱形图添加误差线和频率分布直方图
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2频率分布直方图和散点图添加误差线
跟着Nature学作图:R语言ggplot2频率分布直方图和散点图添加误差线
|
数据可视化 数据挖掘 Python
R语言ggplot2作图小技巧:柱形图如何让y轴的起始点不是0
R语言ggplot2作图小技巧:柱形图如何让y轴的起始点不是0
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2三角热图按照指定的角度旋转
跟着Nature学作图:R语言ggplot2三角热图按照指定的角度旋转
|
数据可视化 数据格式
跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验
这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental Figure:带散点的箱线图。
1536 1
跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验