生物分子模拟论坛

 找回密码
 我想注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 41106|回复: 21

[Pymol] Pymol命令行交流贴

[复制链接]
发表于 2012-10-22 17:13:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,下载更多分子模拟资源。

您需要 登录 才可以下载或查看,没有帐号?我想注册

x
大家可以把pymol常用的命令行按操作的目的写在这个帖子里,让大家一起学习,一起进步!哈哈
举例:
1. 设置label字体大小:set label_size, N N为任一数字
2. 设置label字体:set label_font, N N为任一数字
发表于 2012-10-26 22:59:46 | 显示全部楼层
本帖最后由 中大-活性小肽 于 2012-10-26 23:04 编辑

实在抱歉,很久都没更新这个贴子了。这次向大家介绍的是findseq命令。
不知道大家在使用Pymol观察一些蛋白的结构时,会不会偶尔想要查看在该蛋白某个(或某种)氨基酸序列的具体位置。如果换做fasta这样简单的序列文件,那是绝对不成问题的,因为我们有一大堆的序列查看软件可以完成这项任务,甚至我们直接perl编个小脚本就足够了。但是,我们这里是要在Pymol中对三维结构进行观察的同时,直接在这个结构上对该氨基酸序列进行定位,该如何做呢?
我目前所知可以做到这一点的有一个叫做findseq的模块,该模块可以从pymolwiki上进行下载(见附件)。使用方法如下:
①先下载该模块(文件名为findseq.py),并把它拷贝到Pymol的默认路径内(包括Pymol的安装文件夹、Python安装文件夹内的lib\site-packages\pymol(此处以windows系统为例)等)。
②打开Pymol后加载该模块
import findseq
③现在开始使用findseq命令来完成我们的任务
# findseq命令的语法如下:
findseq needle, haystack, selName, het, firstOnly
needle——要匹配的序列(模式),氨基酸均以单字母缩写表示,可以用正则表达式,如FW.*QQ将匹配以苯丙氨酸+色氨酸开头,而已两个谷氨酰胺结尾的任意一段氨基酸序列;
haystack——将被搜索的对象名(即蛋白的名称);
selName——可选,与我们的needle相匹配的序列将被给予的名称,如果留空的话Pymol会随机的起一个以foundSeq开头的名称;
het——可选,即pdb文件中的Heteroatom,取值为0或1,当为0时有机小分子将不被搜索,当取值为1是,有机小分子也会被搜索,默认是0;
firstonly——可选,取值为0或1,为0时所有想匹配的氨基酸序列都会被选中并返回,为1时则只返回第一个匹配,默认是0。
④实例展示:
以3GHG.pdb文件为例,这是一个人血纤蛋白原的完整结构,血纤蛋白原由α、β和γ三条链组成,多个血纤蛋白原分子能够首尾相接从而形成一个较大的聚合物。之所以选择血纤蛋白原来展示,是因为血纤蛋白原形成的聚合物可以和多个血小板膜上的整联蛋白相结合,从而作为接头将血小板聚集起来,起到凝血的作用。而它们之间的结合依赖于血纤蛋白原上具有特异的”精氨酸-甘氨酸-天冬氨酸“三肽序列(简称RGD序列),这一序列可以被整联蛋白所识别。
下面我们将通过findseq命令来看一下这些神奇的RGD序列是如何在整联蛋白上分布的:
# 下载并打开3GHG,文件比较大,大家耐心等一下,或者可以下载后再直接打开
fetch 3GHG
# 显示为卡通模型
as cartoon
# 导入findseq模块
import findseq
# 查找RGD序列,并命名为site
findseq RGD, 3GHG, site
# 将site显示为球面模型
as spheres, site
# 将site标记为红色
color red, site
可以看到在个血纤蛋白原分子的3条链上都有一个RGD序列,正是这些许许多多的序列把血小板给拉了下来。下面是结果图:

远观

远观

# 将第一个血纤蛋白原的α链放大来看
zoom /3GHG//A
效果图如下:

近景

近景

活性小肽

2012.10.26



点评

小肽总是能有这么给力的总结,非常感谢小肽为论坛做出的贡献!哈哈  发表于 2012-10-26 23:20

评分

参与人数 1金币 +10 贡献 +1 收起 理由
大工-阿里巴巴 + 10 + 1

查看全部评分

发表于 2012-10-24 09:26:43 | 显示全部楼层
为方便大家学习和日常的使用,敝人昨天重新把Pymolwiki上提供的reference card翻译了一下,在此与大家分享(见附件),欢迎指正和补充。希望大家以后能够多再此贴分享一些精彩的命令(最好是以完成某一目的而使用的一系列命令),我会定期帮大家进行总结和归纳,想必这也将是我们可以为后来人做的一件比较有意义的事情。
谢谢大家!
附件:Pymol常用命令参考卡片 Pymol参考卡片.pdf (412.12 KB, 下载次数: 619)
发表于 2012-10-23 12:19:24 | 显示全部楼层
先从简单的学起,哈哈:
选择残基
sele resi 1-5#选择1-5号残基
sele resi 13#选择13号残基
sele resn tyr#选择所有的tyr残基
发表于 2012-10-24 10:05:06 | 显示全部楼层
很好的想法!需要持之以恒,集结群体的智慧。{:soso_e142:}
发表于 2012-10-24 10:07:55 | 显示全部楼层

哈哈,小肽好给力啊!!!{:soso_e113:}
 楼主| 发表于 2012-10-24 11:21:06 | 显示全部楼层
小肽选您当版主没看错你啊~哈哈~我们也会继续努力给这个版块做贡献的!哈哈
发表于 2012-10-30 13:17:06 | 显示全部楼层
本帖最后由 中大-活性小肽 于 2012-10-30 13:20 编辑

唉……眼看着我们这篇帖子就要沉下去了,这两天都在翻译,时间仓促就随便写点东西吧。
      这次说一下如何在Pymol中显示双键(共振的羧基以及苯环等均以单双键交替的形式表示),因为上次有人在群里说到如何显示羧基的问题。
      命令其实很简单(这里以256B这个蛋白为例),两步就够了:
# 显示为lines或者sticks
as sticks, 256B
# 放大A链上第61位的苯丙氨酸
zoom /256B//A/61
# 显示双键
set valence, 1

显示双键前

显示双键前

显示双键后

显示双键后
        

羧基的显示

羧基的显示

可以看到,肽键上的碳氧双键和苯环上的碳碳双键都显示出来了。不过这里还有两个问题有待于进一步的探讨:
①在显示羧基时(如上所示),Pymol究竟是如何决定把一个O与C之间的键显示为双键,而把另一个O与C之间的键显示为单键?
我的猜测是,可能Pymol会在给羧基加上单双键之前先判定两个氧原子周围环境的带电情况,让周围正电荷较多的那个氧原子以单键与C相连(形成带一个单位负电荷的氧原子)。
②这里苯环显示的都是单双键交替的形式,如何显示为离域的用虚线表示的共振形式?
这个问题,连pymolwiki中那个写教程的人都没有解决。
但是我觉得大家可以去比较一下PDB文件中配体原子记录与蛋白质原子记录的差别,下面是用同样的命令显示后配体分子的显示效果:

配体的显示

配体的显示

很明显这里显示出了共振的情况,所以只要找到配体原子记录和蛋白质原子记录之间的差别所在,这个问题应该也就迎刃而解了。(当然,也有可能Pymol本身就是这样设计的,我们怎么折腾都无济于事)

活性小肽
2012.10.30

评分

参与人数 1金币 +10 贡献 +1 收起 理由
大工-阿里巴巴 + 10 + 1

查看全部评分

发表于 2012-10-31 09:05:32 | 显示全部楼层
本帖最后由 中大-活性小肽 于 2012-10-31 09:13 编辑

嘿嘿,我又来了。这次介绍的命令是pseudoatom。
从名字上看能够猜出来,这个命令产生的是一个“伪原子”对象。该伪原子默认的位置是当前视图的正中央。
命令语法(这里只列出常用的参数):
pseudoatom 对象名,选择  #只有对象名是必须的
好了,现在我们来看看pseudoatom这个命令的常见用途。
用途一:
比如你想显示出某个特定原子与其相邻的苯环的中心间的距离。(注:这在显示π氢键时很有用)
解决思路:先在苯环的中心创建一个位原子,然后用distance命令显示出上面的原子与伪原子之间的距离,最后删除伪原子。
实现过程:
还是以256B为例,假设我们想知道A链上第104号赖氨酸残基中ζ位的N原子到与其相邻的第101号酪氨酸残基中的苯环中心间的距离。
       # 在苯环的中心(即γ碳和ζ碳的中点)创建一个伪原子,并命名该对象为ph_center

pseudoatom ph_center, a/101/cg+cz

# 标出N原子到苯环中心间的距离

distance ph_center////ps1, a/104/nz

# 删除之前创建的伪原子

delete ph_center


ph_center

ph_center

用途二:
给你当前的视图加一个标题,当然,其实所谓的标题本质上将就是标签。
解决方法:在当前的视图外创建一个伪原子,然后给伪原子添加一个标签;转换到editing模式,将标签移动到合适的位置即可。具体的命令就不再展示了,大家可以自己去尝试一下。


用途三:
动态测量原子间距离(包括原子与空间任一点的距离),这是我在用途一中删除伪原子后又重新创建一个伪原子时偶然间想到的。
接着用途一,在最后一步时不要删除伪原子,而是转换到editing模式,按下Ctrl键并左键单击拖动伪原子,是否发现距离也随着改变呢?对了!要的就是这效果,大家可以自己去试试,还是挺有趣的。
当然,如果大家想随便点两个原子就显示它们之间的距离的话,推荐使用以下的命令:
# 这是一个与用户交互的命令,依次在两个原子上单击即可
wizard measurement


活性小肽
2012.10.31

评分

参与人数 1金币 +10 贡献 +1 收起 理由
大工-阿里巴巴 + 10 + 1

查看全部评分

发表于 2012-11-1 15:49:48 | 显示全部楼层
中大-活性小肽 发表于 2012-10-31 09:05
嘿嘿,我又来了。这次介绍的命令是pseudoatom。
从名字上看能够猜出来,这个命令产生的是一个“伪原子”对 ...


哈哈 非常好的使用经验!基于淋漓精致的展现了pymol的魅力!明天我也添加一个解决pymol标签颜色浅的方法,和大家分享!
您需要登录后才可以回帖 登录 | 我想注册

本版积分规则

QQ|分迪科技|小黑屋|手机版|Archiver|生物分子模拟论坛 ( 蜀ICP备14009200号-3 )

GMT+8, 2024-12-25 01:50 , Processed in 0.103051 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表