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