
AutoDock Vina 新手上手指南6 個關卡跑通你的第一次分子對接【免費下載鏈接】AutoDock-VinaAutoDock Vina項目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina你聽說過 AutoDock Vina 嗎它是目前全球使用最廣、速度最快的開源分子對接引擎之一。簡單說它能預測一個小分子藥物配體會怎樣鉆進蛋白質受體的口袋里并穩定地待住——這正是藥物發現中最關鍵的一步。這篇文章不打算給你一本冷冰冰的操作手冊而是把它設計成一條闖關路線6 個關卡 1 個隱藏副本 1 個補給站每關都有看得見的成果。跟著走完你就擁有了一份屬于自己的、真實可復現的分子對接實驗記錄。先給你一張全程地圖讓你心里有數——分子對接從分子結構到最終結果大致要走完下面三個環節為什么人人都想跑一次分子對接把藥物找出來這件事可以理解成一場找鑰匙開鎖的游戲蛋白質是鎖小分子是鑰匙。一把鑰匙能不能插進鎖孔、插得夠不夠緊決定了它有沒有成為候選藥物的潛力。但蛋白質和藥物分子都有幾十到上千個原子理論上的插法數以百萬計挨個試根本不現實。AutoDock Vina 的價值就在于它用一套精心設計的打分函數scoring function快速評估這把鑰匙配這把鎖大概有多合適再用梯度優化算法在海量可能性中快速搜索。同樣的任務它比上一代 AutoDock 4 可以快上最多兩個數量級而且是 Apache 2.0 協議的開源軟件隨便用、隨便改。先記住它的幾個核心賣點核心優勢具體說明? 極速搜索相比 AutoDock 4 最高可提速約 100 倍 完全開源Apache 2.0 許可商用學習皆可 多打分函數內置 vina / vinardo / ad4 三種選擇 特種分子支持大環分子、水合對接、多配體同時對接 Python 綁定支持 Python 3可編程批量篩選光看介紹沒感覺我們直接開局。關卡一先認識三個主角——受體、配體與 PDBQT動手之前有三個詞你必須先混個臉熟否則后面每一步都會卡殼。受體Receptor通常是蛋白質也就是那把鎖。文件里記錄的是它的三維原子坐標常見后綴是.pdb。配體Ligand小分子化合物也就是那把鑰匙常見后綴是.sdf、.mol2。PDBQT 格式AutoDock 家族統一的通行證格式。它比普通 PDB 多記錄了每個原子的部分電荷partial charge和原子類型以及分子的可旋轉鍵信息。對接前受體和配體都必須先轉換成 PDBQT這是所有 AutoDock 系軟件的地基。轉換工作一般交給一個叫Meeko的 Python 包來完成。它的命令行腳本mk_prepare_ligand.py和mk_prepare_receptor.py會幫你處理質子化、加電荷、標定可旋轉鍵這些繁瑣但決定成敗的細節。記住一個忠告配體文件盡量不要用 PDB 格式因為它不包含化學鍵的連接信息也不要用二維平面結構直接去對接。多一個氫、少一個氫都可能直接改變對接結果。這一關的成果你能說出PDBQT 是干什么的、誰來生成它。關卡二5 分鐘搭好對接工作臺好消息是Vina 的工作臺只需要兩條命令就能搭好。推薦在 conda 或 venv 虛擬環境里安裝避免污染系統 Pythonpip install -U numpy scipy rdkit vina meeko gemmi prody這條命令同時裝了三類東西vinaVina 的 Python 綁定、meeko配體受體預處理工具、rdkit/numpy分子與數值計算底層。裝完可以用這個命令確認工具是否就位mk_prepare_ligand.py --help如果你想直接拿到 Vina 的可執行文件vina而不是只在 Python 里調用它有兩個途徑下載預編譯版本從官方 release 頁面按系統與架構macOS / Linux / Windows下載對應二進制文件解壓后即可運行。從源碼編譯只建議想折騰或需要魔改的用戶git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina cd AutoDock-Vina/build/linux/release make編譯前記得裝好 C 編譯器和 Boost 庫macOS 用brew install boost swigUbuntu/Debian 用apt install libboost-all-dev swig。普通用戶直接走路徑 1 就好源碼方式在官方文檔里也明確標注了not meant to be done by regular users。這一關的成果終端里能敲出vina --help或順利導入from vina import Vina。關卡三動手跑通第一個對接示例光說不練假把式。項目倉庫里已經給你準備了一套完整的基礎對接案例真實分子是抗癌藥伊馬替尼 imatinib 與 c-Abl 激酶正是電影《我不是藥神》里那個格列衛的靶點。先把示例數據復制出來cp -r example/basic_docking/data/ .第一步準備受體文件mk_prepare_receptor.py -i 1iep_receptorH.pdb -o 1iep_receptor -p -v \ --box_size 20 20 20 --box_center 15.190 53.903 16.917這條命令做了什么-i指定輸入受體-p表示要生成受體 PDBQT-v表示同時輸出對接盒子box的尺寸文件。后面那兩對參數是對接盒子的中心和邊長——相當于你在告訴 Vina別滿世界亂找就在這個 20×20×20 ? 的立方體里搜。 它對應蛋白質的活性口袋位置單位是埃?。第二步準備配體文件mk_prepare_ligand.py -i 1iep_ligand.sdf -o 1iep_ligand.pdbqt第三步寫下你的點菜清單——配置文件Vina 的配置文件和餐廳點菜清單一個原理把要傳的參數都寫進一個文件運行時代理命令行就清爽很多。新建一個1iep_receptor.box.txt內容如下center_x 15.190 center_y 53.903 center_z 16.917 size_x 20.0 size_y 20.0 size_z 20.0第四步啟動對接vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor.box.txt \ --exhaustiveness 32 --out 1iep_ligand_vina_out.pdbqt--exhaustiveness是努力程度參數默認 8這個案例里官方建議調到 32 以獲得更穩定的結果。--out指定結果輸出文件。幾秒鐘到幾十秒后終端會打印出進度條和一張結果表結果文件1iep_ligand_vina_out.pdbqt里保存了所有找到的結合構象。 恭喜你第一次分子對接已經跑通了這一關的成果一個真實系統的對接結果文件。關卡四這一關看結果——affinity、RMSD 與 mode 表跑通不難看懂才算入門。Vina 輸出的核心是下面這樣一張表mode | affinity | dist from best mode | (kcal/mol) | rmsd l.b.| rmsd u.b. ------------------------------------- 1 -13.23 0 0 2 -11.29 0.9857 1.681 3 -11.28 3.044 12.41逐列解釋mode結合模式編號從好到差排列。affinity結合親和力預測的結合自由能單位 kcal/mol。負值表示能結合越負表示結合越強。這個案例中 vina 打分函數下最優解大約在 -13 kcal/mol 附近。rmsd l.b. / rmsd u.b.各模式相對最優模式的原子位置差異RMSD均方根偏差用來衡量這兩種擺法差別有多大。0 表示和最優模式完全一致。需要提醒你vina 和 ad4 兩套打分函數算出的能量不能互相比較它們是兩種不同的尺子。拿到 PDBQT 結果后如果要在 PyMOL、ChimeraX 里可視化或者轉給其他軟件分析建議用 Meeko 轉成 SDF 格式——因為 PDBQT 不記錄化學鍵級而 Meeko 能從文件頭部的 SMILES 信息重建正確的鍵連關系mk_export.py 1iep_ligand_vina_out.pdbqt -s 1iep_ligand_vina_out.sdf這一關的成果能獨立解讀一張 mode 表并說出分數越負越好。關卡五為什么我的結果和別人不一樣你可能很快會撞上一個困惑同樣一條命令多跑幾次結果卻有細微差別或者和教程里的截圖對不上。別慌這不是你裝錯了——Vina 的搜索算法是隨機性的。它的原理可以理解為每次對接由若干次獨立探索組成每次從隨機初始構象出發經過隨機擾動 局部優化的迭代最后把各次探索中有希望的結果合并、聚類、排序。每次探索的起點不同結果自然有波動。那么怎么讓結果更穩定、更可信三招加大--exhaustiveness它控制的正是獨立探索的次數。8 是省電模式32 是認真模式結果更穩定代價是更久的運行時間。控制搜索空間盒子越大搜索難度越高。官方建議盡量不要超過 30×30×30 ?體積超過 27000 ?3 會收到警告。記住Vina 的盒子單位是 ?不是 AutoDock 4 里的格點數——這是從 AD4 轉過來的人最常踩的坑。固定隨機種子--seed參數可以指定隨機種子兩次用同一個種子輸入不變時結果完全一致。想要可復現的實驗記錄這一招很關鍵。另外輸出構象里氫原子的位置是隨意的Vina 用的是聯合原子打分只考慮重原子。但輸入文件里的氫仍然重要因為它決定哪些原子是氫鍵供體/受體——所以正確質子化永遠是第一優先級。這一關的成果你會調參數也理解了結果的隨機性從何而來。關卡六從單個分子到批量虛擬篩選單個分子對接只是熱身現實中更常見的是一次篩幾百上千個化合物。Vina 支持兩種批量玩法玩法 A命令行 循環腳本。把多個配體各自準備成 PDBQT寫個小循環逐個對接for ligand in ligs/*.pdbqt; do vina --receptor receptor.pdbqt --ligand $ligand \ --config box.txt --out out/$(basename $ligand) done玩法 BPython 綁定把整個流程編程化。項目自帶的示例腳本 example/python_scripting/first_example.py 展示了標準用法from vina import Vina v Vina(sf_namevina) v.set_receptor(1iep_receptor.pdbqt) v.set_ligand_from_file(1iep_ligand.pdbqt) v.compute_vina_maps(center[15.190, 53.903, 16.917], box_size[20, 20, 20]) energy v.score() # 先給當前構象打分 energy_minimized v.optimize() # 再做個局部能量最小化 v.write_pose(1iep_ligand_minimized.pdbqt, overwriteTrue) v.dock(exhaustiveness32, n_poses20) # 正式對接 v.write_poses(1iep_ligand_vina_out.pdbqt, n_poses5, overwriteTrue)切換到ad4或vinardo打分函數只需把sf_namevina改掉。跑法也很簡單cd example/python_scripting python first_example.py這一關的成果你擁有了批量篩 編程控的組合拳。隱藏副本四個值得玩味的進階玩法打通主線后倉庫的example/目錄還藏著幾套隱藏關卡每個都對應一個真實科研場景玩法場景示例目錄柔性對接蛋白質結合時會變形允許指定殘基側鏈運動example/flexible_docking/水合對接顯式考慮水分子對結合的影響example/hydrated_docking/大環分子對接處理環狀大分子如 BACE-1 抑制劑example/docking_with_macrocycles/鋅金屬蛋白針對含金屬離子的靶點配合 AD4Zn 參數example/docking_with_zinc_metalloproteins/每個目錄下都有data/輸入和solution/參考答案你可以先猜結果再對照非常適合自學。想用 AutoDock4 力場的話加上--scoring ad4并傳入預先算好的親和圖需要autogrid4配合 GPF 文件即可。途中補給站新手高頻翻車現場與避坑手冊can not open conf.txt 但文件明明存在多半是系統隱藏了擴展名你建的文件其實叫conf.txt.txt。在終端用ls確認一下真實文件名。怎么驗證裝好了運行vina --help看有沒有正常輸出或python -c from vina import Vina檢查 Python 綁定。--out是什么它取代了老教程里的--all舊教程的命令照抄會報 usage error。為什么--num_modes 20只輸出了 9 個模式它只是輸出數量的上限實際輸出還受內部搜索和--energy_range限制。改了電荷怎么結果沒變化正常Vina 有自己處理靜電的方式忽略用戶提供的部分電荷。結果解不開就反復跑先檢查盒子單位是不是寫錯了、分子有沒有正確質子化、搜索空間是不是太大。搞不清就按官方 FAQ 的思路逐條排查。更多問題與解答集中在官方文檔 docs/source/faq.rst建議通讀一遍能幫你省下大量踩坑時間。通關之后給你的學習路徑與下一步建議如果你一路闖到這里恭喜你已經完成了從聽說過分子對接到能獨立完成并解讀一次對接實驗的跨越。接下來可以這樣規劃第一周 · 打牢基本功把基礎對接、結果解讀、參數調優各練三遍直到不看文檔也能默寫出整條命令。第二周 · 處理真實數據去 PDB 數據庫下載一個感興趣的蛋白自己從去水、加氫、定盒子開始走完整流程。第三周 · 玩轉批量用 Python 綁定寫一個自己的小腳本對一組配體做虛擬篩選并對結果排序。第四周 · 挑戰進階玩法挑一個隱藏副本推薦從水合對接入手體會考慮越多模型越接近真實的樂趣。更深度的材料都在項目里基礎教程見 docs/source/docking_basic.rstPython 編程見 docs/source/docking_python.rst完整文檔目錄在 docs/source/所有示例在 example/。每次實驗記得記錄參數、保存日志、統一命名——好習慣會隨著你的實驗越做越復雜而越來越值錢。分子對接不是一門看書就能會的技術它是練出來的手感。從最簡單的鑰匙鎖孔開始一次一次地試你的判斷力會肉眼可見地增長。鑰匙與鎖的故事每天都在真實的藥物研發里上演而你已經拿到了入場券。 現在去跑通屬于你的第一個分子對接實驗吧【免費下載鏈接】AutoDock-VinaAutoDock Vina項目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考