網絡藥理學:(待更)Alphafold3和批量分子動力學模擬(Desmond、AutoMD)

批量動力學模擬

注意全都需要在類linux平臺上進行

安裝Desmond模塊:
https://github.com/Wang-Lin-boop/Schrodinger-Script

安裝AutoMD模塊:
Wang-Lin-boop/CADD-Scripts: Scripts for virtual screening, cross docking and protein relax using Schr?dinegr and Rosetta (github.com)

安裝Viparr和Msys

# 下載并上傳至集群個人home的software中
wget https://github.com/DEShawResearch/viparr/releases/download/4.7.35/viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
wget https://github.com/DEShawResearch/msys/releases/download/1.7.337/msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
git clone git://github.com/DEShawResearch/viparr-ffpublic.git
git clone https://github.com/Wang-Lin-boop/AutoMD# 進入desmond工作目錄,啟動虛擬環境以幫助安裝Viparr和Msys
cd /fsa/home/ljx_zhangzw/software
./run schrodinger_virtualenv.py schrodinger.ve
source schrodinger.ve/bin/activate
pip install --upgrade pip
pip install msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
pip install viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
echo "export viparr=${PWD}/schrodinger.ve/bin" >> ~/.bashrc# 將viparr-ffpublic.git解壓并添加到環境變量:echo "export VIPARR_FFPATH=${PWD}/viparr-ffpublic/ff" >> ~/.bashrc# 最后,將AutoMD.git解壓并進行安裝,同時指定可自動添加補充力場:
cd AutoMD
echo "alias AutoMD=${PWD}/AutoMD" >> ~/.bashrc
chmod +x AutoMD
source ~/.bashrc
cp -r ff/* ${VIPARR_FFPATH}/

示例

#注意修改相應計算節點和軟件路徑信息
#BSUB -L /bin/bash
#BSUB -q 83a100ib
#BSUB -m m001module load cuda/12.0.0
export Desmond=/fsa/home/ljx_zhangzw/
export viparr=/fsa/home/ljx_zhangzw/schrodinger.ve/bin
export VIPARR_FFPATH=/fsa/home/ljx_zhangzw/viparr-ffpublic/ff
alias AutoMD=/fsa/home/ljx_zhangzw/AutoMD/AutoMDecho $PATH
echo $LD_LIBRARY_PATH
nvidia-smi
env|grep CUDAAutoMD -i "*.mae" -S OUC -P "chain.name A" -L "res.ptype UNK" -F "OPLS_2005" -T 298 -s 10 -H m001 -G m001

Alphafold3

代碼協議

源代碼協議:CC NC-SA 4.0協議:

  • 僅用于非商業用途
  • 不允許使用af3的輸出訓練機器學習模型或者相關技術,來衍生大分子結構預測的模型,包括蒸餾或其他方法
  • 分發輸出或者發布相關研究結果時,必須引用文獻:Abramson, J et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature (2024).

獲取模型參數

填寫表單以獲取權重文件,將在2-3個工作日內回復.
注意:必須要是學術郵箱。可能超過1周才回復。

安裝af3

硬件需求:

- 需要在linux上運行,不支持其他操作系統.
- 完整安裝需要1TB以上的磁盤空間,以保存基因數據庫
- 需要算力超過8.0的NVIDIA GPU,顯存越大,可以預測越大的蛋白結構
- 最多5120長度的序列可以在單個NVIDIA A100 80GB或H100 80GB上運行.已經驗證了在A100和H100上的數值精確性
- 基因搜索消耗大量內存,推薦內存至少64GB

docker安裝

見官方文檔:alphafold3/docs/installation.md at main · google-deepmind/alphafold3 (github.com)

ubuntu22.04LTS和conda安裝

# 更新系統,配置系統環境
sudo apt update --quiet
sudo apt install --yes --quiet software-properties-common
sudo apt install --yes --quiet git wget build-essential gcc g++ zlib1g zlib1g-dev curl zstd # fish ,可選安裝# 安裝miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # 下載miniconda
chmod +x ./Miniconda3-latest-Linux-x86_64.sh # 給miniconda安裝腳本賦予可執行權限
./Miniconda3-latest-Linux-x86_64.sh # 運行miniconda安裝腳本
# 在交互模式下,回車;
# 按q翻頁;輸入yes同意協議;
# 輸入你想要放置miniconda的路徑,直接回車將默認為~/miniconda3;
# 輸入yes激活conda環境變量,完成miniconda的安裝
bash # 重新打開bash,可以看到(base)標識,說明conda的base環境已激活
# conda init fish # 可選,激活fish的conda環境
# fish# 創建conda環境
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # pip換加速源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge # conda換加速源
conda config --set custom_channels.auto https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
git config --global url."https://github.moeyy.xyz/https://github.com".insteadOf https://github.com # github換加速源,如果加速無效,換一個[加速網點](https://fcp7.com/github-mirror-daily-updates.html);如果要提交PR給github,建議將~/.gitconfig中對應兩行注釋掉
conda config --set show_channel_urls yes# 克隆代碼,安裝其他依賴
git clone https://github.com/google-deepmind/alphafold3.git ~/git_develop/af3 #克隆路徑自行選擇,不指定路徑則在運行命令的目錄創建alphafold3文件夾
cd ~/git_develop/af3
conda create -n af3 python=3.11 # af3在python3.11上通過測試
conda activate af3 # 激活af3環境
conda install -c bioconda hmmer # 安裝hmmer
pip install -r dev-requirements.txt 
pip install . --no-deps # --verbose 可選,如果安裝出錯,使用verbose選項查看具體錯誤
build_data # 構建cif數據庫
python run_alphafold_test.py # 由于暫時沒有模型參數,僅序列搜索測試成功# jax庫GPU檢測測試
python
import jax
jax.devices()
# 返回結果中包含cuda表明jax正確檢測到了GPU設置
from jax.lib import xla_bridge
xla_bridge.get_backend().platform
# 返回結果中包含gpu表明jaxlib正確檢測到了GPU設置
# CTRL+D退出# 基因(序列)數據庫下載,極其耗時,推薦使用SSD存儲,加快下載和序列搜索的速度
# 壓縮包大小252GB,解壓后為630GB
python fetch_databases.py --download_destination=存放數據庫的路徑
sudo chmod 755 --recursive 存放數據庫的路徑 # 給MSA工具提供權限

環境變量設置

> 終端環境變量配置: 使用任意文本編輯器,打開`~/.bashrc`,添加下面內容并保存
export XLA_FLAGS="--xla_gpu_enable_triton_gemm=false" 
export XLA_PYTHON_CLIENT_PREALLOCATE=true
export XLA_CLIENT_MEM_FRACTION=0.95
> 如果使用fish終端,則打開`~/.config/fish/config.fish`,添加下面內容并保存set XLA_FLAGS "--xla_gpu_enable_triton_gemm=false"
set XLA_PYTHON_CLIENT_PREALLOCATE true
set XLA_CLIENT_MEM_FRACTION 0.95

運行預測

## 運行預測
# run_alphafold需要提供1個json文件,例如`alphafold_input.json`:{"name": "2PV7","sequences": [{"protein": {"id": ["A", "B"],"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"}}],"modelSeeds": [1],"dialect": "alphafold3","version": 1
}# 然后運行:python run_alphafold.py \--json_path=輸入文件路徑/fold_input.json \--model_dir=模型參數路徑 \--output_dir=結果輸出路徑# 參數模型和輸出路徑自行調整
# 使用`python run_alphafold.py --help`查看其他選項

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62680.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

爬蟲基礎之代理的基本原理

在做爬蟲的過程中經常會遇到一種情況,就是爬蟲最初是正常運行、正常抓取數據的,一切看起來都是那么美好,然而一杯茶的工夫就出現了錯誤,例如 403 Forbidden,這時打開網頁一看,可能會看到“您的IP訪問頻率太…

第十七屆山東省職業院校技能大賽 中職組“網絡安全”賽項資源任務書樣題③

第十七屆山東省職業院校技能大賽 中職組“網絡安全”賽項資源任務書樣題③ 模塊A 基礎設施設置與安全加固(200分)A-1 登錄安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志監控(Windows)A-4中間件…

鯤鵬麒麟安裝Kafka-v1.1.1

因項目需要在鯤鵬麒麟服務器上安裝Kafka v1.1.1,因此這里將安裝配置過程記錄下來。 環境說明 # 查看系統相關詳細信息 [roottest kafka_2.12-1.1.1]# uname -a Linux test.novalocal 4.19.148 #1 SMP Mon Oct 5 22:04:46 EDT 2020 aarch64 aarch64 aarch64 GNU/Li…

群控系統服務端開發模式-應用開發-登錄退出發送郵件

一、登錄成功發送郵件 在根目錄下app文件夾下controller文件夾下common文件夾下&#xff0c;修改Login.php&#xff0c;代碼如下 <?php /*** 登錄退出操作* User: 龍哥三年風水* Date: 2024/10/29* Time: 15:53*/ namespace app\controller\common; use app\controller\Em…

[游戲開發] Unity中使用FlatBuffer

什么是FlatBuffer 官網&#xff1a; GitHub - google/flatbuffers: FlatBuffers: Memory Efficient Serialization LibraryFlatBuffers: Memory Efficient Serialization Library - google/flatbuffershttps://github.com/google/flatbuffers 為什么用FloatBuffer&#xff0c…

MySQL其一,概念學習,可視化軟件安裝以及增刪改查語句

目錄 MySQL 1、數據庫的概念 2、數據庫分類 3、MySQL的安裝 4、安裝過程中的問題 DataGrip的使用&#xff1a; SQLynx的使用&#xff1a; 5、編寫SQL語句 6、DDL語句 7、DML 新增數據&#xff1a; 刪除數據&#xff1a; 修改數據&#xff1a; MySQL SQL其實是一門…

05 在 Linux 使用 AXI DMA

DMA簡介 DMA 是一種采用硬件實現存儲器與存儲器之間或存儲器與外設之間直接進行高速數據傳輸的技術&#xff0c;傳輸過程無需 CPU 參與&#xff08;但是CPU需要提前配置傳輸規則&#xff09;&#xff0c;可以大大減輕 CPU 的負擔。 DMA 存儲傳輸的過程如下&#xff1a; CPU 向…

linux 安裝 vsftpd 服務以及配置全攻略,vsftpd 虛擬多用戶多目錄配置,為每個用戶配置不同的使用權限

linux 安裝 vsftpd 服務以及配置全攻略&#xff0c;vsftpd 虛擬多用戶多目錄配置&#xff0c;為每個用戶配置不同的使用權限。 linux 安裝 vsftpd 服務以及配置全攻略 FTP 是 File Transfer Protocol 的簡稱&#xff0c;用于 Internet 上的控制文件的雙向傳輸。同時&#xff0…

SQL語句在MySQL中如何執行

MySQL的基礎架構 首先就是客戶端&#xff0c;其次Server服務層&#xff0c;大多數MySQL的核心服務都在這一層&#xff0c;包括連接、分析、優化、緩存以及所有的內置函數&#xff08;時間、日期、加密函數&#xff09;&#xff0c;所有跨存儲引擎功能都在這一層實現&#xff1…

ragflow連不上ollama的解決方案

由于前期wsl默認裝在C盤&#xff0c;后期部署好RagFlow后C盤爆紅&#xff0c;在連接ollama的時候一直在轉圈圈&#xff0c;問其他人沒有遇到這種情況&#xff0c;猜測是因為內存不足無法加載模型導致&#xff0c;今天重新在E盤安裝wsl 使用wsl裝Ubuntu Win11 wsl-安裝教程 如…

力扣-漢明距離

1.兩個整數之間的 漢明距離 指的是這兩個數字對應二進制位不同的位置的數目。 給你兩個整數 x 和 y&#xff0c;計算并返回它們之間的漢明距離。 看到這題&#xff0c;當然想到了按位異或^,并且c內置了計算二進制數中1數量的函數__builtin_popcount() class Solution { publ…

關于成功插入 SQLite 但沒有數據的問題

背景 技術棧&#xff1a;SpringBoot Mybatis-flex SQLite 項目中集成了SQLite&#xff0c;配置如下&#xff1a; spring:datasource:url: jdbc:sqlite::resource:db/project.dbdriver-class-name: org.sqlite.JDBC在進行測試時&#xff0c;使用Mybatis-flex往表中插入數據&…

C#常見錯誤—空對象錯誤

System.NullReferenceException&#xff1a;未將對象引用設置到對象的實例 在C#編程中&#xff0c;System.NullReferenceException是一個常見的運行時異常&#xff0c;其錯誤信息“未將對象引用設置到對象的實例”意味著代碼試圖訪問一個未被初始化或已被設置為null的對象的成…

沁恒CH32V208藍牙串口透傳例程:修改透傳的串口;UART-CH32V208-APP代碼分析;APP-CH32V208-UART代碼分析

從事嵌入式單片機的工作算是符合我個人興趣愛好的,當面對一個新的芯片我即想把芯片盡快搞懂完成項目賺錢,也想著能夠把自己遇到的坑和注意事項記錄下來,即方便自己后面查閱也可以分享給大家,這是一種沖動,但是這個或許并不是原廠希望的,盡管這樣有可能會犧牲一些時間也有哪天原…

Scala的隱式對象

Scala中&#xff0c;隱式對象&#xff08;implicit object&#xff09;是一種特殊的對象&#xff0c;它可以使得其成員&#xff08;如方法和值&#xff09;在特定的上下文中自動可用&#xff0c;而無需顯式地傳遞它們。隱式對象通常與隱式參數和隱式轉換一起使用&#xff0c;以…

矩陣的乘(包括乘方)和除

矩陣的乘分為兩種&#xff1a; 一種是高等代數中對矩陣的乘的定義&#xff1a;可以去這里看看包含矩陣的乘。總的來說&#xff0c;若矩陣 A s ? n A_{s*n} As?n?列數和矩陣 B n ? t B_{n*t} Bn?t?的行數相等&#xff0c;則 A A A和 B B B可相乘&#xff0c;得到一個矩陣 …

DVWA親測sql注入漏洞

LOW等級 我們先輸入1 我們加上一個單引號&#xff0c;頁面報錯 我們看一下源代碼&#xff1a; <?php if( isset( $_REQUEST[ Submit ] ) ) { // Get input $id $_REQUEST[ id ]; // Check database $query "SELECT first_name, last_name FROM users WHERE user_id …

C++,提供函數接口,函數如何做到接收外部變量隨時結束

在C中&#xff0c;如果你想要創建一個函數&#xff0c;該函數可以接收外部變量并在變量改變時作出響應&#xff0c;你可以使用回調函數或者將變量包裝在可以觀察其變化的設計模式中&#xff0c;例如觀察者模式。 以下是一個使用標準庫中的std::function和std::bind來創建響應外…

機器學習01-發展歷史

機器學習01-發展歷史 文章目錄 機器學習01-發展歷史1-傳統機器學習的發展進展1. 初始階段&#xff1a;統計學習和模式識別2. 集成方法和核方法的興起3. 特征工程和模型優化4. 大規模數據和分布式計算5. 自動化機器學習和特征選擇總結 2-隱馬爾科夫鏈為什么不能解決較長上下文問…

想了解操作系統,有什么書籍推薦?

推薦一本操作系統經典書&#xff1a; 操作系統導論 《操作系統導論》虛擬化(virtualization)、并發(concurrency)和持久性(persistence)。這是我們要學習的3個關鍵概念。通過學習這3個概念&#xff0c;我們將理解操作系統是如何工作的&#xff0c;包括它如何決定接下來哪個程序…