Docking算法需要每個原子帶有電荷并且需要標(biāo)記原子的屬性裂允。這些信息通常未包含在PDB文件中廓旬。我們需要在對蛋白和小分子的PDB文件預(yù)處理际插,生成PDBQT文件同時包含以上信息和PDB文件中的原子坐標(biāo)信息碘耳。進一步地對于“柔性配體docking”,我們還需要定義配體的柔性部分和剛性部分框弛。所有這些都可以通過軟件AutoDock Tools (adt)來完成辛辨。
=====準(zhǔn)備受體蛋白=======
?
PDB文件(1hsg.pdb)中包含了蛋白、配體和水分子(從顯示可以看出配體在受體的中心區(qū)域)瑟枫;首先提取出蛋白的坐標(biāo)斗搞,即以關(guān)鍵字ATOM和TER開頭的行?,存儲到文件1hsg_prot.pdb慷妙。
?
注:在windows下僻焚,我們可以手動選擇,或者利用Excel的篩選功能景殷。在Linux下溅呢,使用命令egrep "^(ATOM|TER)" 1hsg.pdb >1hsg_prot.pdb
?
2. 啟動AutoDockTools
?
3. 依次點選File-ReadMolecule-1hsg_prot.pdb加載蛋白分子澡屡。
?
按住左鍵拖動旋轉(zhuǎn)分子結(jié)構(gòu);點擊中鍵滾動縮放咐旧;按住右鍵移動晶體位置驶鹉。
?
4. 更改展示方式:依次點選Color-By Atom Type-All Geometries-OK。
?
5. 加氫:晶體結(jié)構(gòu)中通常缺少氫原子的坐標(biāo) (因為氫原子電子少铣墨,且質(zhì)子核對電子吸引能力弱室埋,因此很難定位,具體見http://www.uh.edu/~chembi/ChemSocRev_Jones_critical.pdf)伊约。但是在docking過程中姚淆,氫原子尤其是極性氫原子對計算靜電作用是必須的。因此我們需要給蛋白加上氫原子屡律,依次點選Edit-Hydrogen-Add-Polar only-OK腌逢。這時氫原子會以白色短線形式出現(xiàn)。
?
6. 存儲對蛋白的每個原子所做的修改和原子類型判斷:依次點選Grid-Macromolecule-Choose-1HSG_protein-Slect Molecule超埋。ADT會彈出一個信息框包含程序所做的處理搏讶,比如合并非極性氫原子,計算原子局部電荷和判斷原子類型霍殴,并提示保存Save-1hsg_prot.pdbqt媒惕。打開文件,查看最后兩列来庭,分別為每個原子的電量和類型 妒蔚。如下圖所示分別是原始的pdb文件和新生成的pdbqt文件。
7. 在受體蛋白定義配體結(jié)合的3D搜索空間: 如果我們事先不知道結(jié)合位點月弛,理論上可以定義一個長方體盒子包含整個蛋白或者隨便一個特定區(qū)域 肴盏。
依次點選Grid-Grid box將會在蛋白上畫出一個長方體,并且有一個彈出框尊搬。在彈出框中叁鉴,拖拽刻度線查看長方體的變化土涝,完成設(shè)置佛寿。
在這個例子中,我們知道結(jié)合位點但壮,就選取以其為中心的一個小空間冀泻。設(shè)置Spacing (angstrom)為1埃 (這實際是一個換算系數(shù), 相當(dāng)于步長; 默認(rèn)為0.375,是C-C單鍵長度的1/4蜡饵,最大為1弹渔。spacing值與(各個維度上的點的數(shù)目+1)的乘機就是長方體Grid box的大小)。在我們調(diào)整的過程中溯祸,可以看到隨著這個數(shù)值的變大肢专,立方體也被放大了舞肆。另外我們設(shè)置x,y,z center為16,25,4,number of points in (x,y,z)-dimension為30,30,30(最大為126,必須為偶數(shù)博杖,AutoDock會自動再每一維再加一個點)椿胯。記下我們設(shè)置的這些點,下面會用到剃根。
在刻度轉(zhuǎn)盤處點擊右鍵會彈出一個窗口哩盲,輸入數(shù)字回車即可設(shè)置GRID的中心坐標(biāo)和大小。較大的number of points in (xyz)-dimension和較小的Spacing會增加搜索的精度狈醉,同時需要花費更多的計算時間廉油。
?
8. 設(shè)置受體的柔性殘基:在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將選擇的殘基標(biāo)記為柔性殘基并設(shè)置可扭轉(zhuǎn)的數(shù)量苗傅。在分子顯示窗口中分別點擊兩個殘基上CA和CB原子之間的建抒线,使之變?yōu)榉桥まD(zhuǎn)的(紫色顯示),這樣兩個殘基中的32個鍵中有6個是可扭轉(zhuǎn)的渣慕。這里設(shè)置配體的柔性殘基或者使CA-CB的鍵為剛性都是可選操作十兢。
Flexible Residues-Output-Save Flexible PDBQT保存柔性殘基文件。Flexible Residues-Output-Save Rigid PDBQT保存柔性殘基文件摇庙。
9. 關(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開頭的行表示非核心多聚體的成分 (heteroatoms)宝穗。
Linux系統(tǒng)下,運行g(shù)rep "^HETATM.*MK1" 1hsg.pdb >indinavir.pdb
Windows系統(tǒng)下码秉,直接拷貝到文件indinavir.pdb
?
3. 將結(jié)構(gòu)讀入ADT逮矛;依次點選File-ReadMolecule-indinavir.pdb;Color-By Atom Type-All Geometreies-OK。
?
4. 晶體結(jié)構(gòu)中通常缺少氫原子 (因為氫原子電子少转砖,且質(zhì)子核對電子吸引能力弱须鼎,因此很難定位)。但是在docking過程中府蔗,氫原子晋控,尤其是極性氫原子對計算靜電作用是必須的。因此我們需要給配體加上氫原子姓赤,Edit-Hydrogen-Add-Polar only-OK(之所以選擇Polar only是因為vina的官方視頻里面是這么選擇的)赡译。這時氫原子會以白色短線形式出現(xiàn)。
5. 在ADT中定義此化合物為配體不铆,以便ADT為其計算局部電荷(partialcharges)和設(shè)置可旋轉(zhuǎn)配體鍵蝌焚。依次點選Ligand-input-Choose-indinavir-Select Molecule for AutoDock4裹唆。這時會有一個彈出框顯示ADT所做的操作,包括合并非極性氫(只在添加了的情況下)只洒、計算電荷電量和設(shè)置旋轉(zhuǎn)鍵品腹。然后點選Ligand-Output-Save as PDBQT存儲結(jié)果。
?
6. 查看ADT檢測出的旋轉(zhuǎn)鍵红碑,依次點選Ligand-TorsionTree-Choose Torsions舞吭,可以看到Number of rotatable bonds=14/32。
====準(zhǔn)備docking的配置文件====
docking配置文件包含了輸入的受體(蛋白)析珊、配體(化合物)和搜索參數(shù)的信息羡鸥,為一個文本文件,名字任意忠寻,可以為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è)置隨機數(shù)生成的種子操软,可以為任意整數(shù)嘁锯。如果想重現(xiàn)之前的分析結(jié)果就需要使用相同的seed。
====Docking 小分子化合物indinavir到HIV-1蛋白酶======
使用AutoDockVina執(zhí)行docking預(yù)測聂薪。
?
在windows命令行提示符或linux終端下運行命令?
vina--config conf.txt家乘,大概需要幾分鐘時間。
?
2. 輸出結(jié)果包含兩個文件藏澳,構(gòu)象文件dockingResult.pdbqt和日志文件docking.log仁锯。
dockingResult.pdbqt: 包含所有docking的模式,通常第一個為結(jié)合最好的構(gòu)象翔悠,但如果前幾個能量值相差不大時也有例外业崖。
docking.log: 日志文件,包含結(jié)合能量值(第一列凉驻,越低越穩(wěn)定腻要,默認(rèn)由低到高排序复罐,所以第一個為最好的構(gòu)象)涝登、每個構(gòu)象與第一個構(gòu)象的距離、每個構(gòu)象與第一個構(gòu)象的差別效诅。
====用PyMOL可視化docking結(jié)果====
?
打開PyMOL胀滚,依次點選File-Open文件類型選擇All Files-選取結(jié)果dockingResult.pdbqt文件趟济、原始蛋白和配體的pdb文件、原教程的pdbqt文件咽笼。
?
這個是原始的蛋白受體和配體信息:
受體蛋白信息:
配體信息:
預(yù)測的配體信息:
本文使用 文章同步助手 同步