【分子對接】PyMol基礎(chǔ)教程
PyMol入門教程
認(rèn)識PyMol
1. 軟件界面介紹

1.2 內(nèi)置demo介紹
打開PyMOL,點(diǎn)擊1.1菜單窗口的Wizard菜單,然后點(diǎn)擊Demo->Representations 然后在2.3 對象窗口 和 2.4模式窗口之間會出現(xiàn)各種示例:
1.Representations
2.Cartoon Ribbons
3.Roving Detail
4.Roving Density
5.Transparency
6.Ray Tracing
7.Sculpting
8.Scripted Animation
9.Electrostatics
10.CGOs
11.Molscript/R3D Input
12.End Demonstration 關(guān)閉示例

1.3 設(shè)置和查看工作路徑
點(diǎn)擊1.1菜單窗口 File->Working Directory->Change 可以查看現(xiàn)在的工作目錄在哪里,也可以設(shè)置新的路徑作為工作目錄。
工作目錄的作用:默認(rèn)文件的打開和保存都是從該文件開始。下載文件的保存位置也是在工作目錄。這一點(diǎn)與R語言類似,我也是習(xí)慣一個(gè)項(xiàng)目新建一個(gè)project,方便以后查看。
工作目錄設(shè)置習(xí)慣
建議:
1.不同項(xiàng)目設(shè)置不同的工作目錄
2.設(shè)置一個(gè)默認(rèn)工作目錄
3.不要把工作目錄設(shè)置在軟件安裝目錄
雙擊PDB文件打開PyMOL,會自動切換工作目錄到該P(yáng)DB文件所在目錄。
從軟件安裝處打開PyMOL, 則工作目錄為軟件安裝目錄。
1.4 下載蛋白
從PDB網(wǎng)站上下載蛋白,如 4hbk.pdb, 也可以直接通過PyMOL 下載蛋白,點(diǎn)擊菜單欄中的 File->Get PDB,如下圖圖所示, 在PDB ID 對應(yīng)的框中填入PDB的編號就可以了,不要包含后綴.pdb 。

點(diǎn)擊Download,你會發(fā)現(xiàn)PyMOL會自動加載該蛋白,在工作路徑 D:\PyMOLstartedManual 下面出現(xiàn) 4hbk.cif 文件,隨著PDB解析的結(jié)構(gòu)越來越大,PDB格式文件的局限性就暴露出來,不能超過9999個(gè)原子,因此正在逐漸用cif 格式取代pdb 格式。
2.介紹"ASHLC"
2.1 蛋白的展現(xiàn)形式(show)
在2.3對象列表窗口中,我們可以看到現(xiàn)在有2個(gè)object 名字,
1個(gè)是all, all 不是真實(shí)的object,它代表了所有的object
1個(gè)是4hbk, 4hbk 就是我們剛剛載入的蛋白
每個(gè)object 都有對應(yīng)的A S H L C操作,如下圖所示:

Action 主要包含了對object的常用操作的集合,如 復(fù)制、刪除object,對object加氫,展示Object等;
Show 將object 渲染成cartoon 、line、stick lines sphere surface mesh dots ribbon 等模式;
Hide 根據(jù)object的狀態(tài)或者描述進(jìn)行相應(yīng)的掩藏;
Label 顯示object中殘基 原子等名稱或者屬性 - Color 對Object 進(jìn)行著色。
下面對Show 著重講解:show 有2類操作方法:show as 分別點(diǎn)擊S->as->cartoon 和S->as->stick,
我們可以觀察到AS模式是把原有的渲染模式抹除后再重新渲染,經(jīng)過上述操作后僅僅顯示stick形式show 點(diǎn)擊S->as->cartoon 再點(diǎn)擊S->stick;
我們可以觀察到SHOW方法,是保留原有的渲染,再添加新的渲染。
我們先對4hbk object點(diǎn)擊 S->as->cartoon,然后點(diǎn)擊S->as->stick,效果如圖Fig5
我們先對4hbk object點(diǎn)擊 S->as->cartoon,然后點(diǎn)擊S->stick,效果如圖Fig6


蛋白對象的簡單平移、旋轉(zhuǎn)、縮放
首先將鼠標(biāo)移動到2.1可視化窗口
平移,按住鼠標(biāo)中鍵不放,然后上下左右移動,進(jìn)行體會,蛋白會隨著鼠標(biāo)而移動
旋轉(zhuǎn),按住鼠標(biāo)左鍵不放,然后上下左右移動鼠標(biāo),蛋白會進(jìn)行旋轉(zhuǎn)
縮放,按住鼠標(biāo)右鍵不放,然后上下移動,蛋白會進(jìn)行縮放
切割 滾動鼠標(biāo)中鍵, 建議將蛋白渲染成surface模式,然后滾動鼠標(biāo)中鍵
當(dāng)軟件不能正常使用上述操作,可以點(diǎn)擊
File->Reinitialize->Original Settings (推薦)
File->Reinitialize->Everything 注意的是該操作會刪除當(dāng)前所有的Object.
2.2 Action
第一部分:常用顯示操作
點(diǎn)擊 A->preset->simple 顯示蛋白的簡單形式
點(diǎn)擊 A->preset->ball and stick 顯示球棍模型
點(diǎn)擊 A->preset->b-factor putty 基于bfactor數(shù)值顯示蛋白的柔性
點(diǎn)擊 A->preset->publication 高質(zhì)量出版標(biāo)準(zhǔn)
第二部分 對象的操作
刪除水分子 A->remove waters
該操作屬于紅色警告操作,不可逆操作。刪除水分子后,無法通過Ctrl-Z進(jìn)行撤銷。增加刪除氫原子
在line和stick 模式下面可以看到H原子,cartoon模式下面看不到氫原子,因此在line或者stick模式下,執(zhí)行下述操作。A->Hydrogens->remove 刪除所有氫原子
A->Hydrogens->add 增加所有氫原子
A->Hydrogens->remove non polar 刪除所有非極性氫原子,我們可以看到C上的氫原子全部被刪除
A->Hydrogens->remove 再次刪除所有氫原子
A->Hydrogens->add polar 增加極性氫原子
第三部分 對象的復(fù)制 剪切 刪除 重命名
復(fù)制 A->Copy to object->new
我們會得到一個(gè)名為new的object,為了和4hbk object 進(jìn)行區(qū)分。
對4hbk 的obect 點(diǎn)擊C->cyan 和S->AS ->cartoon
對obj01 點(diǎn)擊 C->green 和S->as->stick重命名 obj01-> 4hbk_02
對obj01 點(diǎn)擊A->rename object刪除 A->delete object
如果要刪除當(dāng)前所有的object的話,可以在1.3命令輸入窗口輸入delete all
。剪切 適合選中的對象 A->Extract
我們可以通過剪切的操作把配體和蛋白分開,首先選中配體,然后點(diǎn)擊A->extract object 就可以了, 原來結(jié)構(gòu)中的配體就跑到obj01中了,這樣就分開了蛋白和配體。下面會有具體的例子來說明。

第四部分 Action->generate 操作
顯示蛋白的靜電勢圖 Action->generate->vacuum_electrostatics->protein contact potential 就可以了。
查看小分子和蛋白的氫鍵作用
由于4hbk 蛋白中沒有小分子,這里我以 PDB id: 為例演示。點(diǎn)擊 A->preset->ligand sites 效果如圖所示,其中黃色的虛線就是氫鍵。
對標(biāo)注的氫鍵,查看距離和角度,進(jìn)一步確定氫鍵的合理性和強(qiáng)度。
查看小分子和蛋白的相互作用,推薦軟件 schrodinger中l(wèi)igand interaction。制作相互作用的二維圖,根據(jù)提示,然后再在pymol確認(rèn)并繪制這些相互作用。
2.3 蛋白對象的Hide操作
和remove delete 操作相比,hide操作更加溫和, 把不需要的東西暫時(shí)掩藏起來,通過Show 可以重現(xiàn)顯示出來。我們先上述方法,構(gòu)建4hbk 和4hbk_02 兩個(gè)object, 這一次把4hbk 設(shè)置成cyan 顏色的cartoon, 4hbk_02設(shè)置成green顏色的ribbon,如圖所示。如果要掩藏4hbk_02,有2種方法 - 對4hbk_02 點(diǎn)擊H->ribbOn - 直接點(diǎn)擊4hbk_02的名字。當(dāng)然,這里展示的時(shí)候要選擇不同的展示方式,如果是相同的展示方式,是顯示不出來的。

2.4 查看該結(jié)構(gòu)的序列(Sequence)
點(diǎn)擊左下角的S,即可顯示蛋白的序列信息,如圖所示,再點(diǎn)擊一次S,則掩藏序列信息。S是單詞Sequece的縮寫。

應(yīng)用: 選擇蛋白的特定殘基
我們通過軟件 D3Pockets 可以確定4hbk中口袋中氨基酸殘基的組成:
ILE15-TRP20, TYR39, ASP43-ALA45, VAL47, TYR48, LYS77, TRP79, ASN80,
LEU108, HIS110, TRP111, LEU115, PHE122, LEU130, SER159, ASN160, GLN181,
GLU183, HIS185, 185 207 208 209
210 211 222 223 240 241 243 244
255 256 257 258 263 264 266 267
270 292 293 294 295 298 306
我們點(diǎn)擊Sequence,并將Selecting模式切換為residues,然后基于殘基編號進(jìn)行選擇。
把上述殘基選中以后會臨時(shí)保存在sele的object中,我們把它復(fù)制到obj01的Object中,
并重名為Pocket,然后對Pocket的Object,顯示其表面,結(jié)果如圖所示。

2.5 蛋白對象的著色操作
pymol中內(nèi)置了多種不同的著色方案,如圖所示:
按照原子類型著色
點(diǎn)擊object上的 C按鈕 -> by element
按照二級結(jié)構(gòu)著色
按照b-factor著色
按照整體著色
設(shè)置背景顏色
背景顏色默認(rèn)是黑色的,發(fā)表文章的時(shí)候背景顏色通常設(shè)置為白色。|
點(diǎn)擊菜單欄中的 Display->background->white 如圖所示:
制作b-factor-value 圖
點(diǎn)擊A->preset->b-factor putty, 如下圖所示:
3. 對象的Label操作
3.1 添加label
選擇需要Label的對象 | 然后點(diǎn)擊對象上的L按鈕,根據(jù)需要,可以標(biāo)記殘基的名字,原子的名字,范德華半徑、元素的名字等。
L->residue 在α碳原子上標(biāo)記其殘基名字和編號 (常用)
L->residue name 在所有原子上標(biāo)記殘基名字 (不常用)
L->clear 刪除該對象上所有的Label
L->element symbol 顯示對象上所有原子的元素名字
L->vdw radius 產(chǎn)看原子的范德華半徑
對于蛋白醛糖還原酶(PDB ID: 4HBK),我們在UniProt 數(shù)據(jù)庫中查詢得到,其口袋中的重要?dú)埢校篢YR48、LYS77 和 HIS110。
我們對這三個(gè)殘基展示其為stick模式,并掩藏主鏈,并通過label按鈕標(biāo)注其氨基酸殘基的名字。移動Label,使其更加清晰可見。具體操作流程如下:
載入4hbk 蛋白
load 4hbk.cif
在4hbk object 上點(diǎn)擊 S->as cartoon
點(diǎn)擊右下角的sequence開關(guān)按鈕,選擇 TYR48 LYS77 HIS110 三個(gè)殘基,得到sele 臨時(shí)object
在sele object 上點(diǎn)擊 S->stick, H->main chain
在sele object 上點(diǎn)擊 L->residue
設(shè)置背景為白色,點(diǎn)擊菜單欄中 Display->background->white
點(diǎn)擊Mouse Mode 切換為 editing 模式
按住ctrl鍵不放,然后將鼠標(biāo)移動到殘基標(biāo)簽上方,并按下鼠標(biāo)左鍵不放,然后移動鼠標(biāo),就可以調(diào)整標(biāo)簽的位置。
調(diào)整結(jié)束后,點(diǎn)擊Mouse Mode 切換為 view 模式

3.2 移動標(biāo)簽label
以PDB ID: 1w22蛋白為例,為其中的鋅離子添加標(biāo)簽。
sphere模式下不能添加label;借用PS中復(fù)制圖層的概念。為鋅離子添加label。
step1 選中鋅離子;
step2 復(fù)制鋅離子;僅僅顯示該object,并顯示為lincore模式
step3 添加label(右擊new-pseudoatom-label); 進(jìn)入edit模式,按住ctrl移動label,完成后切換回viewing模式
step4 顯示所有的object.

3.3 設(shè)置label的樣式
3.3.1 調(diào)整配體的位置
pymol中包含配體和蛋白,那我們?nèi)绾握{(diào)整配體和蛋白的相對位置。
以PDB ID: 1hkv 為例,其中配體小分子為PLP。
step1 打開蛋白文件,定位到想要移動的配體。
step2 extract 操作,提取配體為新的object,并進(jìn)行重命名。
step3 對蛋白進(jìn)行固定(最大化窗口),
step4 在edit模式下,按住shit 就可以通過鼠標(biāo)移動配體。(只是空間位置的變動,center還是不變的)

.3.2 測量距離
點(diǎn)擊菜單欄中的Wizard->Measurement 就可以進(jìn)行距離測量。然后分別選擇兩個(gè)2個(gè)原子就可以顯示這2個(gè)原子的距離。這里藍(lán)色表示N端, 紅色表示O端。
比如我們想測定TYR48中側(cè)鏈上的O原子到Lys77側(cè)鏈N原子的距離,如下操作即可:
點(diǎn)擊Wizard->Measurement;打開了Measurement 面板,位于object list面板下方;
選好殘基Y48和K77,鼠標(biāo)點(diǎn)擊TYR48側(cè)鏈上的O原子 和 LYS77 側(cè)鏈上面的N原子;這里為了方便,我把cartoon部分和主鏈部分給隱掉了。
如要測定其他2個(gè)原子的距離,鼠標(biāo)繼續(xù)點(diǎn)擊選擇2個(gè)原子就可以了;
測定完成后,點(diǎn)擊Measurement 面板中的done 就可以了。

3.3.3 突變氨基酸殘基
如把4hbk 中的arg-40 突變成 lys-40,
在菜單中點(diǎn)擊wizard->mutagenesis->protein


突變前

突變后
4. 其他技巧
4.1 設(shè)置透明度
鼠標(biāo)操作只能基于顯示模式進(jìn)行設(shè)置,如:cartoon surface sphere stick等
將cartoon 設(shè)置成透明的,透明度50%;點(diǎn)擊菜單欄中的Setting->Transparency->cartoon->50%;
將Surface 設(shè)置成透明的,透明度50%;點(diǎn)擊菜單欄中的Setting->Transparency->surface->50%;
將Stick 設(shè)置成透明的,透明度50%;點(diǎn)擊菜單欄中的Setting->Transparency->stick->50%;
將sphere 設(shè)置成透明的,透明度50%;點(diǎn)擊菜單欄中的Setting->Transparency->sphere->50%;
除了可以設(shè)置透明度外,還可以設(shè)置透明的方式,有如下幾種透明模式:Uni-layer; 點(diǎn)擊菜單欄中的Setting->Transparency->Uni-layer
Multi-Layer; 點(diǎn)擊菜單欄中的Setting->Transparency->Multi-Layer
Multi-Layer(real time oit); 點(diǎn)擊菜單欄中的Setting->Transparency->Multi-layer(real time oit)
Fast-ugly; 點(diǎn)擊菜單欄中的Setting->Transparency->Fast-ugly
在Label操作中,我們將整個(gè)蛋白展示為cartoon,并將HIS 等3個(gè)殘基展示為stick模式; 這時(shí)候我們設(shè)置cartoon為透明50%,用4種不同的透明模式渲染,效果如下:
4.2 霧化(fogging)處理
PyMOL中支持各種霧化處理,保證depth_cue是開啟的。
前面清晰,后面霧化可通過滾動鼠標(biāo)中鍵進(jìn)行調(diào)節(jié)。
向上滾動,霧化程度減輕;向上滾動,霧化程度加深。
完全不想要霧化處理,可以點(diǎn)擊 Display->Depth cue (Fogging) 取消。
或者使用命令關(guān)閉。

4.3 設(shè)置不同的光照模式
PyMOL2 中內(nèi)置5種不同的光照模式:default, metal(金屬), plastic(塑料), rubber(橡膠), X-ray。
點(diǎn)擊Plugin->lighting Settings進(jìn)行設(shè)置不同的光照,如下圖所示圖。
4.4 選擇模式
根據(jù)不同的需求,切換到不同的選擇模式,快速選擇自己想要的原子:
Residues 殘基選擇模式
Atoms 原子選擇模式
Molecules 分子選擇模式
chain 鏈選擇模式
Objects 模式
C-alphas α碳原子模式
Segments 片段模式
我們先將蛋白Show->as wire;然后把MET-1第一個(gè)氨基酸殘基show stick;如圖所示,
金色的表示S原子。
從上圖我們也可以看到,不同模式的區(qū)別。這里我簡單解釋下:
res模式:我們點(diǎn)擊的是硫原子,硫原子所在的res是MET-1,因此選中的是MET-1
chain模式:我們點(diǎn)擊的是硫原子,硫原子所在的chain A,因此選中的是所有屬于chain A的原子。
mol 模式:我們點(diǎn)擊的是硫原子,pymol 中是通過共價(jià)鍵來區(qū)分是否屬于一個(gè)分子,4hbk 蛋白中間缺失了部分殘基,整個(gè)蛋白分成了2部分。這里選擇的是硫原子所在的那一部分。
5. 保存或者導(dǎo)出結(jié)果
PyMOL 和 PhotoShop 有點(diǎn)類似,PyMOL中的Object 類似于 PhotoShop中的圖層。
PyMOL 可以將會話保存為pse文件,F(xiàn)ile->Save Session;pse 文件類似于PS中的psd文件,方便修改調(diào)整。
PyMOL 可以將object 導(dǎo)出為結(jié)構(gòu)文件,F(xiàn)ile->export molecule,然后從selection的下拉框中選擇需要導(dǎo)出的object, all 代表所有的object; enable 代表的可見的object;
保存圖片,F(xiàn)ile->export image as->png; 在新版本的,可以使用右上角的Ray/Trace按鈕,設(shè)置圖片大小 分辨率,進(jìn)行保存圖片。
4. 保存動畫,F(xiàn)ile->export movie as->mpeg; PyMOL僅僅內(nèi)置了 mpeg_encode 編碼視頻方式,默認(rèn)只能保存mpg格式的動畫??勺孕邢螺dffmpeg,從而可以保存為多種格式,如gif,mov,mpg等
設(shè)置pse的版本號,建議版本為0.99, 這樣PyMOL 和 PyMOL2都可以打開pse 文件

刪除蛋白的一條鏈,然后保存為pdb
step1. 切換到chain模式
step2. 點(diǎn)擊需要需要刪除的Chain就可以選中chain
step3. 對新產(chǎn)生的sele object進(jìn)行刪除。
移動object在列表中的順序
鼠標(biāo)右擊待移動的object,按住鼠標(biāo)不放,移動鼠標(biāo),調(diào)整object在列表中順序。