Python 每日话题|No.24.example.5-PyMol.4-alter-change
Emm,想错了
竟然忘掉了要抓重点
PyMol中cmd指令很多,常用的写一下就好
我又不是遍历hhh
alter
web:https://pymolwiki.org/index.php?title=Alter&redirect=no
参考:https://kpwulab.com/2020/01/14/pymol-alter-your-molecules/#:~:text=“alter”%20is%20a%20useful%20function%20in%20PyMOL.%20One,to%20redraw%20secondary%20structure%20of%20ubiquitin%20%28PDB%3A%201UBQ%29.
描述
"alter"是一个十分重要的指令
他可以重新对氨基酸编号进行重排,重命名蛋白链,重新定义二级结构。
使用
alter selection, expression
案例
# 更改链名
alter chain A, chain='B'
alter all, resi=str(int(resi)+100)
sort
# 改变原子的vdw半径
alter (name P), vdw=1.90
# 如果dots, spheres, mesh or surface等表现形式被使用,则使用rebuild
rebuild
注意
其可改变的属性有
name, resn, resi, chain, alt, elem, q, b, segi,type (ATOM,HETATM), partial_charge, formal_charge,text_type, numeric_type, ID, vdw
在更改属性之后,需要进行sort
如果dots, spheres, mesh or surface等表现形式被使用,则使用rebuild
则需要rebuild
解释
视觉型学习者这里来
案例蛋白为:1UBQ
1.改变链名
alter (chain A),chain='B'
sort
更改之后
原始蛋白文件
更改之后蛋白文件
右边的A应该是segid,而左边的A则为chainID
所以,alter真实的改变了链名
2.修改某一条链中的氨基酸的编号,
类似于从氨基酸14-15变为氨基酸114-115
看下图,可以看到氨基酸从0开始
输入指令
alter (chain A),resi=str(int(resi)+100)
sort
编号从100开始
看下pdb文件
原始文件
更改之后
1.改变二级结构显示
拿到一个蛋白1UBQ
蛋白质链上40-45位氨基酸的主链,以stick形式显示,C为黄色
重新定义40-45的二级结构
命令框中输入指令
alter 40-45/, ss='L'
rebuild
此时显示为loop
命令框中输入
alter 40-45/, ss='H'
rebuild
此时显示为螺旋
可以看到 alter只是影响二级结构的显示,并不是真正的改变了主链原子的空间位置
最后,仍然来强制使用python,将HETATM 标记更改了ATOM
In [1]: import pymol
In [2]: Feature has expired.
Feature: PYMOL_MAIN
Expire date: 01-nov-2020
License path: /Users/sujiaqi/.pymol/license.lic:
FlexNet Licensing error:-10,32
For further information, refer to the FlexNet Licensing documentation,
available at "www.flexerasoftware.com".
In [3]: pymol.cmd.load('1ubq.cif')
PyMOL not running, entering library mode (experimental)
ExecutiveLoad-Detail: Detected mmCIF
In [6]: pymol.cmd.get_object_list()
Out[6]: ['1ubq']
In [7]: pymol.cmd.alter('all', 'type="ATOM"')
Out[7]: 660
In [8]: pymol.cmd.sort('all')
In [9]: pymol.cmd.save('1ubq_c.pdb','1ubq')
上一篇: 基于 OpenCV 的图像卡通化
下一篇: 使用Redis实现缓存穿透的解决方案
推荐阅读
-
每日 Python 工具包 [Pandas
-
2024 蓝桥杯每日一题(间隔合并) - Python 程序代码
-
Python 每日话题|No.24.example.5-PyMol.4-alter-change
-
【每日一练】python三目运算符的用法
-
python crawler 获取必应每日壁纸,并设置为桌面
-
Python 每日小程序 3 命令行绘制棋盘
-
Python 每日函数 5 - 一篇让你彻底了解哈希函数用法的文章
-
每日窍门:在 Python 线程中运行协程
-
每日一问 - PAT A 级 1046 最短距离的 Python 实现(示例 + 思路解读 + 逐步优化)
-
Github 2024-05-28 Python 开源项目每日 Top10