网络药理学:(待更)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.mzph.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;包括它如何决定接下来哪个程序…