Files
pymol/plugin/method.py
2024-09-07 09:12:14 +08:00

44 lines
1.6 KiB
Python

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@file :method.py
@Description: :pymol中一些常用到的一些方法
@Date :2023/09/24 13:28:30
@Author :lyzeng
@Email :pylyzeng@gmail.com
@version :1.0
'''
import sys
from pathlib import Path
here = Path(__file__).absolute().parent
sys.path.append(here.as_posix())
from plugin.cmd_singleton import cmd
from pymol.preset import ion_sele,lig_sele,solv_sele
def color_mole(selection='hetatm'):
cmd.color('color9',f'{selection} in name c*')
cmd.color('color6',f'{selection} in name o*')
cmd.color('color5',f'{selection} in name s*')
cmd.color('color3',f'{selection} in name n*')
cmd.color('color8',f'{selection} in name cl*')
cmd.color('color10',f'{selection} in name f*')
def focus_ligand(selection: str = 'sele'):
'''
watch ligand and protein structure
'''
cmd.remove(solv_sele) # 移除金属离子和溶剂
cmd.remove("resn SO4 or resn PO4 or resn CL")
cmd.pretty(selection)
def grey(selection='sele',opt=True):
if opt: optimisation(selection) # 优化
cmd.color('grey1',f'{selection}')# 对某个对象进行灰化
def optimisation(selection, grey=True):
if grey: cmd.set('cartoon_color','grey1', selection=selection)
cmd.set('stick_transparency','0.1', selection=selection)
cmd.set("ray_shadows","off", selection=selection)
cmd.set('cartoon_highlight_color', selection=selection)
cmd.set('cartoon_fancy_helices', selection=selection)
cmd.set('cartoon_transparency','0.5', selection=selection)