来一场蛋白和小分子的风花雪月
分子對(duì)接(Molecular Docking)理論
所謂分子對(duì)接就是兩個(gè)或多個(gè)分子之間通過(guò)幾何匹配和能量匹配相互識(shí)別找到最佳匹配模式的過(guò)程。分子對(duì)接對(duì)酶學(xué)研究和藥物設(shè)計(jì)中有重要的應(yīng)用意義。
分子對(duì)接計(jì)算是在受體活性位點(diǎn)區(qū)域通過(guò)空間結(jié)構(gòu)互補(bǔ)和能量最小化原則來(lái)搜尋配體與受體是否能產(chǎn)生相互作用以及它們之間的最佳結(jié)合模式。分子對(duì)接的思想起源于Fisher E的”鑰匙和鎖模型”,主要強(qiáng)調(diào)的是空間形狀的匹配。但配體和受體的識(shí)別要比這個(gè)模型更加復(fù)雜。首先,配體和受體在對(duì)接過(guò)程中會(huì)由于相互適應(yīng)而產(chǎn)生構(gòu)象的變化。其次,分子對(duì)接還要求能量匹配,對(duì)接過(guò)程中結(jié)合自由能的變化決定了兩個(gè)分子是否能夠結(jié)合以及結(jié)合的強(qiáng)度。
1958年D.E.Koshland提出分子識(shí)別過(guò)程中的誘導(dǎo)契合概念,受體分子活性中心的結(jié)構(gòu)原本并非與底物完全吻合,但其是柔軟和可塑的。當(dāng)配體與受體相遇時(shí),可誘導(dǎo)受體構(gòu)象發(fā)生相應(yīng)的變化,從而便于他們的結(jié)合進(jìn)而引起相應(yīng)的反應(yīng)。
分子對(duì)接方法根據(jù)不同的簡(jiǎn)化程度分為三類:剛性對(duì)接、半柔性對(duì)接和柔性對(duì)接。剛性對(duì)接指在對(duì)接過(guò)程中,受體和配體的構(gòu)象不發(fā)生變化,適合研究比較大的體系如蛋白-蛋白之間以及蛋白-核酸之間,計(jì)算簡(jiǎn)單,主要考慮對(duì)象之間的契合程度。半柔性對(duì)接常用于小分子和大分子的對(duì)接,在對(duì)接過(guò)程中,小分子的構(gòu)象可以在一定范圍內(nèi)變化,但大分子是剛性的。這樣既可以在一定程度上考察柔性的影響,又能保持較高的計(jì)算效率。在藥物設(shè)計(jì)和虛擬篩選過(guò)程中一般采用半柔性的分子對(duì)接方法。柔性對(duì)接方法一般用于精確研究分子之間的識(shí)別情況,由于允許對(duì)接體系的構(gòu)象變化,可以提高對(duì)接準(zhǔn)確性但耗時(shí)較長(zhǎng)。
分子對(duì)接的目的是找到底物分子和受體分子最佳結(jié)合位置及其結(jié)合強(qiáng)度,最終可以獲得配體和受體的結(jié)合構(gòu)象,但這樣的構(gòu)象可以有很多,一般認(rèn)為自由能最小的構(gòu)象存在的概率最高。搜尋最佳構(gòu)象就要用到構(gòu)象搜索方法,常用的有系統(tǒng)搜索法和非系統(tǒng)搜索法。系統(tǒng)搜索法通過(guò)改變每個(gè)扭轉(zhuǎn)角評(píng)估所有可能的結(jié)合構(gòu)象,進(jìn)而選取能量最低的。這一方法計(jì)算量非常大。因此通常使用非系統(tǒng)搜索法來(lái)尋找能量較低構(gòu)象,常用方法有:分子動(dòng)力學(xué)方法、隨機(jī)搜索、遺傳算法、距離幾何算法等。隨機(jī)搜索又包括完全隨機(jī)算法、蒙特卡羅法和模擬退火法等。
AutoDock Vina是The Scripp Research Institute的Olson科研小組開(kāi)發(fā)的分子對(duì)接軟件包,使用拉馬克遺傳算法提高效率。軟件把遺傳算法和局部搜索結(jié)合在一起,遺傳算法用于全局搜索,而局部搜索用于能量?jī)?yōu)化。為了加快計(jì)算速度,AutoDock Vina采用格點(diǎn)(grid)計(jì)算。首先在受體活性氨基酸附近劃定一個(gè)長(zhǎng)方體區(qū)域作為搜索空間,掃描不同類型的原子計(jì)算格點(diǎn)能量,在搜索空間內(nèi),調(diào)整配體的構(gòu)象、位置和方向,進(jìn)而評(píng)分、排序獲得能量最低的構(gòu)象作為輸出結(jié)果。
對(duì)范德華相互作用的計(jì)算:每個(gè)格點(diǎn)上保存的范德華能量的值的數(shù)目與要對(duì)接的配體上的原子類型數(shù)目相同。如果一個(gè)配體中含有C、H、O三種原子類型,那么每個(gè)葛店需要用單個(gè)探針原子與來(lái)計(jì)算其與受體之間的范德華相互作用值。當(dāng)配體與受體進(jìn)行分子對(duì)接時(shí),配體中某個(gè)原子和受體之間的相互作用能通過(guò)周圍8個(gè)格點(diǎn)上的這種原子類型為探針的格點(diǎn)值用內(nèi)插法得到。
靜電相互作用的計(jì)算采用靜電勢(shì)格點(diǎn)。當(dāng)配體與受體對(duì)接時(shí),某個(gè)原子和受體之間的靜電相互作用能通過(guò)周圍格點(diǎn)上靜電勢(shì)以及原子上的部分電荷計(jì)算得到。
蛋白和小分子可視化
例子文件是一個(gè)分辨率為2艾的X-射線衍射晶體結(jié)構(gòu)(PDB ID: 1HSG),其為HIV-1蛋白酶與藥物茚地那韋(indinavir)結(jié)合在一起的構(gòu)象。軟件PyMOL用來(lái)觀察HIV-蛋白酶、結(jié)合位點(diǎn)和藥物分子的結(jié)構(gòu)。
顯示蛋白結(jié)構(gòu)并做樣式處理
下載HIV-1蛋白酶的PDB結(jié)構(gòu)(https://files.rcsb.org/download/1HSG.pdb),存儲(chǔ)到一個(gè)不含中文和空格的目錄下。
啟動(dòng)PyMOL,依次點(diǎn)選File-Open-1hsg.pdb導(dǎo)入PDB文件,會(huì)看到如下界面
首先在右側(cè)的對(duì)象控制面板,依次點(diǎn)選行all的H列-Hide: everything(如左圖所示),然后浩瀚無(wú)際的沒(méi)有月亮的夜空出現(xiàn)在我們面前。
在右側(cè)的對(duì)象控制面板,依次點(diǎn)選行1hsg的S列-Show: cartoon,然后點(diǎn)選C列-By chain顯色,這時(shí)可以看到如右圖所示的同源二聚體。
左圖展示對(duì)象控制面板,右圖展示蛋白同源二聚體
顯示與蛋白結(jié)合的小分子化合物和水分子
在PyMOL的命令行處輸入PyMOL> select indinavir, resn MK1,回車,會(huì)看到 如下畫面變化。
左圖展示輸入的命令和輸入命令前的結(jié)構(gòu)圖,右圖展示輸入命令后的結(jié)構(gòu)圖,藥物分子的結(jié)構(gòu)呈被選定狀態(tài)(紅色空心塊)。
在右側(cè)的對(duì)象控制面板,依次點(diǎn)選行indinavir的S列-Show stick,再點(diǎn)選C列選擇一種不同的顏色。在屏幕無(wú)圖處點(diǎn)擊鼠標(biāo),取消小分子藥物的選擇狀態(tài)。這時(shí)可以清晰的看到小分子的結(jié)構(gòu)和空間位置(如下左圖),隨意拖動(dòng)鼠標(biāo)旋轉(zhuǎn)或放大查看藥物分子與蛋白的結(jié)合方式。PyMOL鼠標(biāo)操作:按住左鍵移動(dòng)旋轉(zhuǎn),按住右鍵移動(dòng)放大,按住中鍵移動(dòng),觀察結(jié)合位點(diǎn)所在的位置;滾動(dòng)滾輪調(diào)節(jié)景深,化學(xué)結(jié)構(gòu)會(huì)以 溶解形式出現(xiàn)。
顯示水分子。水分子的殘基名字為HOH,運(yùn)行命令PyMOL> select H2O, resn HOH調(diào)出水分子。然后點(diǎn)選S-Show spheres,?C-red。再運(yùn)行PyMOL> set sphere_scale, 0.2設(shè)置水球的大小。
左圖小分子的結(jié)構(gòu)圖及其與蛋白的結(jié)合位點(diǎn),右圖展示蛋白、小分子、水分子(紅色圓球)的空間構(gòu)象。
準(zhǔn)備docking需要的受體(蛋白)和配體(化合物)
Docking算法需要每個(gè)原子帶有電荷并且需要標(biāo)記原子的屬性。這些信息通常未包含在PDB文件中。我們需要在對(duì)蛋白和小分子的PDB文件預(yù)處理,生成PDBQT文件同時(shí)包含以上信息和PDB文件中的原子坐標(biāo)信息。進(jìn)一步地對(duì)于“柔性配體docking”,我們還需要定義配體的柔性部分和剛性部分。所有這些都可以通過(guò)軟件AutoDock Tools (adt)來(lái)完成。
Docking algorithms require each atom to have a charge and an atom type that describes its properties. However, the PDB structure lacks these. So, we have to prep the protein and ligand files to include these values along with the atomic coordinates. Furthermore, for flexible ligand docking, we should also define ligand bonds that are rotatable. All this will be done in a tool called AutoDock Tools (adt).
準(zhǔn)備受體蛋白
-
在windows下,我們可以手動(dòng)選擇,或者利用Excel的篩選功能。
-
在Linux下,使用命令egrep "^(ATOM|TER)" 1hsg.pdb >1hsg_prot.pdb。
-
windows直接雙擊圖標(biāo)就可
-
Linux可以使用命令adt &
- ADT中按住左鍵拖動(dòng)旋轉(zhuǎn)分子結(jié)構(gòu);點(diǎn)擊中鍵滾動(dòng)縮放;按住右鍵移動(dòng)晶體位置。
更改展示方式:依次點(diǎn)選Color-By Atom Type-All Geometries-OK。
加氫:晶體結(jié)構(gòu)中通常缺少氫原子的坐標(biāo) (因?yàn)闅湓与娮由?#xff0c;且質(zhì)子核對(duì)電子吸引能力弱,因此很難定位,具體見(jiàn)http://www.uh.edu/~chembi/ChemSocRev_Jones_critical.pdf)。但是在docking過(guò)程中,氫原子尤其是極性氫原子對(duì)計(jì)算靜電作用是必須的。因此我們需要給蛋白加上氫原子,依次點(diǎn)選Edit-Hydrogen-Add-Polar only-OK(之所以選擇Polar only是因?yàn)関ina的官方視頻里面是這么選擇的,后面我們會(huì)做一個(gè)測(cè)試,最終會(huì)證明這個(gè)地方是不是選極性氫對(duì)最終結(jié)果沒(méi)有影響)。這時(shí)氫原子會(huì)以白色短線形式出現(xiàn)。
增加氫原子前(左)和后(右)蛋白結(jié)構(gòu)顯示
-
1hsg_prot.pdbqt為只加了極性氫的結(jié)果
-
1hsg_prot_all_h.pdbqt為加了所有氫的結(jié)果
這兩個(gè)文件只在原子電量部分有所不同,經(jīng)測(cè)試發(fā)現(xiàn)這兩種處理對(duì)docking的結(jié)果沒(méi)有影響,最后輸出的日志文件和結(jié)果文件相同。
在受體蛋白定義配體結(jié)合的3D搜索空間: 如果我們事先不知道結(jié)合位點(diǎn),理論上可以定義一個(gè)長(zhǎng)方體盒子包含整個(gè)蛋白或者隨便一個(gè)特定區(qū)域 (下文PDB文件解析中會(huì)提到PDB文件中有時(shí)會(huì)包含活性位點(diǎn)信息)。
依次點(diǎn)選Grid-Grid box將會(huì)在蛋白上畫出一個(gè)長(zhǎng)方體,并且有一個(gè)彈出框。在彈出框中,拖拽刻度線查看長(zhǎng)方體的變化,完成設(shè)置。在這個(gè)例子中,我們知道結(jié)合位點(diǎn),就選取以其為中心的一個(gè)小空間。設(shè)置Spacing (angstrom)為1埃 (這實(shí)際是一個(gè)換算系數(shù), 相當(dāng)于步長(zhǎng); 默認(rèn)為0.375,是C-C單鍵長(zhǎng)度的1/4,最大為1。spacing值與(各個(gè)維度上的點(diǎn)的數(shù)目+1)的乘機(jī)就是長(zhǎng)方體Grid box的大小)。在我們調(diào)整的過(guò)程中,可以看到隨著這個(gè)數(shù)值的變大,立方體也被放大了。另外我們?cè)O(shè)置x,y,z center為16,25,4,number of points in (x,y,z)-dimension為30,30,30(最大為126,必須為偶數(shù),AutoDock會(huì)自動(dòng)再每一維再加一個(gè)點(diǎn))。記下我們?cè)O(shè)置的這些點(diǎn),下面會(huì)用到。
在刻度轉(zhuǎn)盤處點(diǎn)擊右鍵會(huì)彈出一個(gè)窗口,輸入數(shù)字回車即可設(shè)置GRID的中心坐標(biāo)和大小。較大的number of points in (xyz)-dimension和較小的Spacing會(huì)增加搜索的精度,同時(shí)需要花費(fèi)更多的計(jì)算時(shí)間。
設(shè)置受體的柔性殘基:在ADT中依次點(diǎn)選Flexible Residues-Input-Choose Macromolecule-1hsg_prot;?select-select from string-Residue: ARG8-Add-Dismiss, 8號(hào)ARG氨基酸殘基就被選中了。
再依次點(diǎn)選Flexible Residues-Choose Torsions in Currently Selected Residues將選擇的殘基標(biāo)記為柔性殘基并設(shè)置可扭轉(zhuǎn)的數(shù)量。在分子顯示窗口中分別點(diǎn)擊兩個(gè)殘基上CA和CB原子之間的建,使之變?yōu)榉桥まD(zhuǎn)的(紫色顯示),這樣兩個(gè)殘基中的32個(gè)鍵中有6個(gè)是可扭轉(zhuǎn)的。這里設(shè)置配體的柔性殘基或者使CA-CB的鍵為剛性都是可選操作。放在教程中只是用來(lái)展示怎么操作的,無(wú)其它指導(dǎo)意義。
Flexible Residues-Output-Save Flexible PDBQT保存柔性殘基文件。Flexible Residues-Output-Save Rigid PDBQT保存柔性殘基文件。
關(guān)掉grid和刪除protein:Grid Options-File-Close w/out saving;?Edit-Delete-Delete Molecule-1hsg_prot-Continue。
準(zhǔn)備配體
與蛋白結(jié)構(gòu)類似,配體的結(jié)構(gòu)也缺少氫原子,我們需要添加氫原子并且定義哪些鍵是可以旋轉(zhuǎn)的以用于柔性docking。
從PDB結(jié)構(gòu)中提取配體的原子位置。indinavir的配體殘基名字為MK1,以HETATM開(kāi)頭的行表示非核心多聚體的成分 (heteroatoms)(具體見(jiàn)PDB文件格式解釋)。
-
Linux系統(tǒng)下,運(yùn)行g(shù)rep "^HETATM.*MK1" 1hsg.pdb >indinavir.pdb
-
Windows系統(tǒng)下,直接拷貝到文件indinavir.pdb
將結(jié)構(gòu)讀入ADT;依次點(diǎn)選File-Read Molecule-indinavir.pdb;Color-By Atom Type-All Geometreies-OK。
晶體結(jié)構(gòu)中通常缺少氫原子 (因?yàn)闅湓与娮由?#xff0c;且質(zhì)子核對(duì)電子吸引能力弱,因此很難定位,具體見(jiàn)http://www.uh.edu/~chembi/ChemSocRev_Jones_critical.pdf)。但是在docking過(guò)程中,氫原子,尤其是極性氫原子對(duì)計(jì)算靜電作用是必須的。因此我們需要給配體加上氫原子,Edit-Hydrogen-Add-Polar only-OK(之所以選擇Polar only是因?yàn)関ina的官方視頻里面是這么選擇的)。這時(shí)氫原子會(huì)以白色短線形式出現(xiàn)。
增加氫原子前(左)和后(右)化合物結(jié)構(gòu)顯示
-
indinavir.pdbqt為只加了極性氫的結(jié)果
-
indinavir_all_h.pdbqt為加了所以氫的結(jié)果
準(zhǔn)備docking配置文件
docking配置文件包含了輸入的受體(蛋白)、配體(化合物)和搜索參數(shù)的信息,為一個(gè)文本文件,名字任意,可以為conf.txt,內(nèi)容如下
receptor = 1hsg_prot.pdbqt ligand = indinavir.pdbqt num_modes = 50 out = dockingResult.pdbqt log = docking.log center_x = 16 center_y = 25 center_z = 4 size_x = 30 size_y = 30 size_z = 30 seed = 2009-
receptor和ligand為輸入文件的名字,與conf.txt在同一目錄下; out為輸出文件的名字;log為輸出日志文件的名字。
-
centerhe和size定義搜索空間的位置和大小。
-
num_modes設(shè)置最多顯示的結(jié)合模型,鑒于只輸出符合能量值要求的結(jié)果,最后輸出的結(jié)合模型數(shù)量可能少于這一數(shù)值。
-
seed設(shè)置隨機(jī)數(shù)生成的種子,可以為任意整數(shù)。如果想重現(xiàn)之前的分析結(jié)果就需要使用相同的seed。
Docking 小分子化合物indinavir到HIV-1蛋白酶
- 在windows命令行提示符或linux終端下運(yùn)行命令?vina --config conf.txt,大概需要幾分鐘時(shí)間。
The key results in a docking log are the docked structures found at the end of each run, ?the energies of these docked structures and their similarities to each other. The similarity of docked structures is measured by computing the root-mean-square-deviation, ?rmsd, between the coordinates of the atoms. The docking results consist of the PDBQ of the Cartesian coordinates of the atoms in the docked molecule, ?along with the state variables that describe this docked conformation and position.
-
dockingResult.pdbqt: 包含所有docking的模式,通常第一個(gè)為結(jié)合最好的構(gòu)象,但如果前幾個(gè)能量值相差不大時(shí)也有例外。
-
docking.log: 日志文件,包含結(jié)合能量值(第一列,越低越穩(wěn)定,默認(rèn)由低到高排序,所以第一個(gè)為最好的構(gòu)象)、每個(gè)構(gòu)象與第一個(gè)構(gòu)象的距離、每個(gè)構(gòu)象與第一個(gè)構(gòu)象的差別。
用PyMOL可視化docking結(jié)果。
打開(kāi)PyMOL,依次點(diǎn)選File-Open文件類型選擇All Files-選取結(jié)果dockingResult.pdbqt文件、原始蛋白和配體的pdb文件、原教程的pdbqt文件。
-
dockingResult.pdbqt: 增加非極性氫的docking結(jié)果
-
dockingResultAllH.pdbqt: 增加所有氫的docking結(jié)果
-
original_tutorial_result.pdbqt:原教程中的docking結(jié)果
Docking結(jié)果展示。左圖為蛋白與全部小分子的構(gòu)象展示;中圖為本教程預(yù)測(cè)的小分子構(gòu)象(藍(lán)色)與標(biāo)準(zhǔn)構(gòu)象(白色)的吻合程度,紅色框起來(lái)的區(qū)域?yàn)轭A(yù)測(cè)不準(zhǔn)確區(qū)域。右圖為本教程預(yù)測(cè)的小分子構(gòu)象(藍(lán)色)與原教程預(yù)測(cè)的小分子構(gòu)象(粉色)的比較。白色化合物為原PDB晶體結(jié)構(gòu)中配體的構(gòu)象,視為金標(biāo)準(zhǔn)。藍(lán)色為本教程的只加極性氫的預(yù)測(cè)結(jié)果。粉紅色為原教程結(jié)果。黃色為本教程加所有氫的結(jié)果 (與藍(lán)色構(gòu)象完全一致,因此顯示不出。可在實(shí)際操作時(shí)嘗試隱藏和顯示不同的分子觀看效果)。
總結(jié)
以上是生活随笔為你收集整理的来一场蛋白和小分子的风花雪月的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一篇综述翻译解读文章的发出也需要数易其稿
- 下一篇: 如果不是没有钱,谁想测3个重复?