当前位置: 首页 > news >正文

开源分子对接程序rDock的安装及使用流程

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入

前言

本文介绍开源分子对接程序rDock在Linux Ubuntu 22.04系统上的conda安装、编译安装过程及程序使用流程。


一、rDock是什么?

在这里插入图片描述rDock来源
rDock是一个快速、多功能的开源对接程序,可用于将小分子与蛋白质和核酸对接。它专为高通量虚拟筛选(HTVS)活动和结合模式预测研究而设计。

rDock开发历史:
rDock程序由RiboTargets(后来的Vernalis(R&D)Ltd)的软件团队于1998年至2006年开发,命名为RiboDock
2006年,该软件被授权给约克大学进行维护和分发,改名称为rDock
2012年,Vernalis和约克大学同意将该程序作为开源软件发布(rDock)。此版本在GNU-LGPL 3.0版下授权,并得到巴塞罗那大学的支持。
2014年开发一度停滞。2019年,RxTx公司开发了一个rDock分支,命名为RxDock

rDock的主要组件现在包括针对蛋白质和RNA靶标验证的快速分子间评分功能(范德华、极性、去溶剂化)、基于遗传算法的随机搜索引擎、各种外部基于结构的药物发现(SBDD)衍生的约束条件(tethered模板、药效团、noe距离约束)以及基于遗传编程的新型对接后过滤。提供了各种脚本来执行自动验证实验和启动虚拟筛选活动。

rDock主要用C++编写,辅助脚本和程序用C++、perl或python语言编写。完整的rDock软件包需要不到50 MB的硬盘空间,并且它可以在所有Linux计算机上编译(目前仅限Linux系统)。

由于它的设计和实现,它可以安装在计算集群上,并部署在无限数量的CPU上,使HTVS活动可以在几天内进行。
除了主对接程序外,rDock软件包还提供了一套工具和脚本,以方便输入文件的准备以及结果的后处理和分析,极大地拓展了用户需求:

(1)对接准备:
使用已知的活性区域或用户提供的3D坐标定义结合位点。允许受体中-OH和-NH2侧链旋转。添加明确的溶剂分子和结构水分子。提供药效团约束作为指导对接的范围。

(2)输入文件的预处理
定义用于执行tethered docking的常见配体结构(需要OpenBabel python绑定)。排序、过滤或拆分配体文件以利于并行化。查找HTVS协议以优化计算时间。预先计算网格以减少后续计算时间。

(3)结果的后处理和分析
以表格形式总结结果。排序、筛选、合并或拆分结果文件。使用参考结构计算RMSD,考虑内部对称性(需要OpenBabel python绑定)。

(4)结合模式预测
预测配体如何与给定分子结合。蛋白质的ASTEX非冗余测试集和RNA的DOCK和rDock测试集已用于验证rDock并将其与其他程序进行比较。

(5)HTVS
通过利用计算机的能力,在短时间内运行数百万种化合物。易于在相对无限的CPU中并行化,以优化HTVS运行时间。DUD集已用于验证rDock并将其性能与其他参考对接程序进行比较。

二、rDock两种安装方法

自从2022年以来,可以通过conda由bioconda源安装rDock到conda环境(方式一),如果安装不成功,可以尝试编译安装(方式二)。
为了更好的适配系统运行,建议采用后者方法安装。

安装方式一:通过conda安装

在这里插入图片描述
建立conda环境,笔者使用的python版本为3.12.2。

conda create -n rdock_env

进入环境,通过conda安装gcc:

conda activate rdock_env
conda install gcc=13 -c conda-forge
#以上不成功,可以尝试:
conda install conda-forge::libgcc-ng

通过conda安装rdock:

conda install acellera::rdock
#以上不成功,可以尝试
conda install -c bioconda rdock

安装方式二:rDock编译安装

1. 安装前准备

rDock是作为源代码提供的,所以必须在使用它之前编译二进制文件。rDock主要是在Linux操作系统上开发的,最近使用的是在openSuSE 11.3下的GNU g++编译器。几乎不需要修改,这些代码可以在其他Linux发行版下编译和运行。
截至2013年11月,它已经在32位和64位系统架构的最新Ubuntu和openSuSE版本中进行了测试,并且可以在不修改任何代码的情况下编译。

安装需要的包
在安装之前,请确保您的计算机上安装了以下软件包。

sudo apt update
sudo apt install gcc g++ make git libcppunit-dev csh build-essential

2. 下载安装包及安装

下载最新版的rDock,安装步骤如下(/path/to/install/rDock):

git clone https://github.com/CBDD/rDock.git
cd rDock
make
make test
make PREFIX=/path/to/install/rDock install

3. 设置环境变量并生效

打开 ~/.bashrc, 添加以下内容:

export RBT_ROOT=/path/to/install/rDock
export PATH=$RBT_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$RBT_ROOT/lib:$LD_LIBRARY_PATH

运行source ~/.bashrc,使环境变量生效。

三、 rDock使用流程

rDock 的基本对接步骤包括3步:定义对接体系、产生对接位点和分子对接。

Step 1. 通过prm文件定义对接体系

以下是ASTEX数据集的.prm文件示例:

RBT_PARAMETER_FILE_V1.00
TITLE 1sj0_ASTEXRECEPTOR_FILE 1sj0_rdock.mol2
RECEPTOR_FLEX 3.0##################################################################
### CAVITY DEFINITION: REFERENCE LIGAND METHOD
##################################################################
SECTION MAPPERSITE_MAPPER RbtLigandSiteMapperREF_MOL 1sj0_ligand.sdRADIUS 6.0SMALL_SPHERE 1.0MIN_VOLUME 100MAX_CAVITIES 1VOL_INCR 0.0GRIDSTEP 0.5
END_SECTION################################################################
# CAVITY DEFINITION: TWO SPHERES METHOD
################################################################
#SECTION MAPPER
#    SITE_MAPPER RbtSphereSiteMapper
##HETATM 2815  O   HOH   756      37.266 -20.992  -4.910  0.90 24.86      1CSE2940
#    CENTER (7.185,8.250,22.649)
#    RADIUS 15.0
#    SMALL_SPHERE 1.5
#    LARGE_SPHERE 6.0
#    MAX_CAVITIES 1
#END_SECTION#################################
#CAVITY RESTRAINT PENALTY
#################################
SECTION CAVITYSCORING_FUNCTION RbtCavityGridSFWEIGHT 1.0
END_SECTION#################################
## PHARMACOPHORIC RESTRAINTS
#################################
#SECTION PHARMA
#    SCORING_FUNCTION RbtPharmaSF
#    WEIGHT 1.0
#    CONSTRAINTS_FILE pharma_cdk2.const
#   OPTIONAL_FILE optional.const
#   NOPT 3
#   WRITE_ERRORS TRUE
#END_SECTION

将以上内容保存为.prm文件,受体结构mol 2文件为1sj0_rdock.mol2,结合位点配体文件为1sj0_ligand.sd。
注意事项:
必须对受体“.mol2”文件进行质子化、加电荷。选择什么样的软件来处理取决于用户。作为建议,通常使用MOE或者Maestro。

Step 2. 产生对接位点

以上文件准备就绪,rbcavity命令将可用于生成对接空腔:

rbcavity -W -d -r <PRMFILE>

使用-d参数将生成网格“.grd”文件。该文件可以在pymol中查看:

pymol<RECEPTOR>. mol 2<LIGAND>.sd<GRID>.grd

在命令行输入以下:

isomesh cavity, <GRID>.grd, 0.99

Step 3. 分子对接

定义并生成空腔后,可以使用以下命令直接运行,对每个配体运行50次的rDock:
注意事项:
“.prm”文件、受体、参比配体和“.as”腔体文件必须位于工作目录中或由环境变量“RBT_HOME”指向的文件夹。

rbdock -i <INPUT>.sd -o <OUTPUT> -r <PRMFILE> -p dock.prm -n 50

总结

本文介绍了rDock的两种安装方式及使用流程,为开始使用rDock的朋友提供参考以及快速入门指导。
后续系列文章将结合案例详细介绍rDock使用。
欢迎感兴趣的朋友留言讨论,批评指正。

参考资料

  1. https://rdock.github.io/
  2. https://rdock.github.io/documentation/

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入

相关文章:

开源分子对接程序rDock的安装及使用流程

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 前言 本文介绍开源分子对接程序rDock在Linux Ubuntu 22.04系统上的conda安装、编译安装过程及程序使用流程。 一、rDock是什么&#xff1f; rDock来源 rDock是一个快速、多功能的开源对接程序&#xff0c;可用…...

【JavaEE】_tomcat的安装与使用

目录 1. Tomcat简介 2. Tomcat安装 2.1 下载Tomcat并解压缩 2.2 启动Tomcat 2.2.1 Tomcat乱码问题 2.2.2 Tomcat闪退问题 2.3 访问Tomcat欢迎页面 3. 使用Tomcat部署前端代码 3.1 路径匹配 3.2 文件路径访问与网络访问 4. 静态页面与动态页面 5. 基于tomcat的网站后…...

实现一个Windows环境一键启停Oracle的bat脚本

Oracle数据库有许多优点,其中一些最重要的包括: 可靠性和稳定性: Oracle数据库经过长期的发展和测试,被广泛认为是非常可靠和稳定的数据库管理系统。它在大型企业和关键业务环境中被广泛应用,能够处理高负载和大规模的数据。 高性能: Oracle数据库具有优化的查询处理器和…...

大数据-数据可视化-环境部署vue+echarts+显示案例

文章目录 一、安装node.js1 打开火狐浏览器,下载Node.js2 进行解压3 配置环境变量4 配置生效二、安装vue脚手架1 下载vue脚手架,耐心等待。三、创建vue项目并启动1 创建2 启动四、下载echarts.js与axios.js到本地。五、图表显示demo【以下所有操作均在centos上进行】 一、安…...

spark超大数据批量写入redis

利用spark的分布式优势&#xff0c;一次性批量将7000多万的数据写入到redis中。 # 配置spark接口 import os import findspark from pyspark import SparkConf from pyspark.sql import SparkSession os.environ["JAVA_HOME"] "/usr/local/jdk1.8.0_192"…...

C# Socket的使用

C# 中的 System.Net.Sockets.Socket 类是 .NET Framework 提供的核心类&#xff0c;用于处理网络套接字编程。Socket 类是用于网络编程的基础类&#xff0c;它位于 System.Net.Sockets 命名空间中。 使用 Socket 类&#xff0c;可以创建客户端和服务器应用程序来进行基于TCP、…...

Spring Cloud + Vue前后端分离-第17章 生产打包与发布

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第17章 生产打包与发布 17-1 注册中心配置中心Nacos 注册中心 Nacos 快速开始 | Nacos 本节内容&#xff1a;使用nacos作注册中心配置中心&#xff0c;不用eureka Nacos…...

力扣热题100_普通数组_56_合并区间

文章目录 题目链接解题思路解题代码 题目链接 56. 合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区…...

Springcloud OpenFeign 的实现(二)

Springcloud OpenFeign 的实现&#xff08;一&#xff09; 一、Feign request/response 压缩 您可以考虑为您的外部请求启用请求或响应GZIP压缩。您可以通过启用以下属性之一来完成此操作&#xff1a; feign.compression.request.enabledtrue feign.compression.response.en…...

[C++]智能指针用法

一、智能指针存在的意义 智能指针主要解决以下问题&#xff1a; &#xff08;1&#xff09;内存泄漏&#xff1a;内存手动释放&#xff0c;使用智能指针可以自动释放。 &#xff08;2&#xff09;共享所有权指针的传播和释放&#xff0c;比如多线程使用同一个对象时析构问题…...

六、行列式基本知识

目录 1、行列式的特性 2、行列式的计算方法: 2.1 通过行列式的定义去计算:对角法则。 2. 2 利用行列式的性质将行列式转化为上三角行列式: ①行列式的性质 : 性质一: 性质二: 性质三: 性质四:行列式之间的加法...

中断系统(详解与使用)

讲解 简介 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来…...

uniapp开发微信小程序跳转到另一个小程序中

注意&#xff1a;一开始我的云上务工模块是单独的tabbar界面&#xff0c;但是小程序跳转好像不能直接点击tabbar进行&#xff0c;所以我将这里改成了点击首页中的按钮进行跳转 点击这里进行小程序跳转 目录 基础讲解 uniapp小程序跳转的两个方法 调用说明&#xff08;半屏跳转…...

chatGPT 使用随想

一年前 chatGPT 刚出的时候&#xff0c;我就火速注册试用了。 因为自己就是 AI 行业的&#xff0c;所以想看看国际上最牛的 AI 到底发展到什么程度了. 自从一年前 chatGPT 火出圈之后&#xff0c;国际上的 AI 就一直被 OpenAI 这家公司引领潮流&#xff0c;一直到现在&#x…...

unity Aaimation Rigging使用多个约束导致部分约束失去作用

在应用多个约束时&#xff0c;在Hierarchy的顺序可能会影响最终的效果。例如先应用了Aim Constraint&#xff0c;然后再应用Two Bone Constraint&#xff0c;可能会导致Two Bone Constraint受到Aim Constraint的影响而失效。因此&#xff0c;在使用多个约束时&#xff0c;应该仔…...

什么是ChatGPT

国外有篇文章解释了ChatGPT的开发技术是什么&#xff0c;GPT-3和GPT-4的区别&#xff0c;以及未来的可能性。 截至 2023 年&#xff0c;ChatGPT 等生成式 AI 服务正在全球引起关注&#xff0c;并且正在探索在广泛领域的应用。 您可能想知道 ChatGPT 是使用哪种开发技术制作的&a…...

当我们浪费时我们在浪费什么

世界上的物质和能量不会增加也不会减少&#xff0c;为什么会存在浪费一说呢&#xff1f;是因为人类可以利用和支配的物质和能量是有限的&#xff0c;而且物质和能量的不同组织方式对于人类有着不同的价值。 人类对于世界的事物都有价值评估。例如一个玻璃杯摔碎了&#xff0c;…...

一文搞懂TCP三次握手与四次挥手

什么是TCP协议&#xff1f; TCP&#xff08;Transmission control protocol&#xff09;即传输控制协议&#xff0c;是一种面向连接、可靠的数据传输协议&#xff0c;它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接&#xff1a;数据传…...

FairyGUI × Cocos Creator 3.7.3 引入报错解决

Cocos Creator 3.7.3引入fgui库 package.json添加这个依赖 "devDependencies": {"fairygui-cc": "latest"}执行npm i 报错解决 使用import引入fairygui-cc&#xff0c;就会有报错和警告&#xff0c;简单处理一下。 鼠标随便点一下也会出警告…...

网络原理 - HTTP/HTTPS(5)

HTTPS HTTPS也是一个应用层协议.在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输的. 这就导致了在传输过程中出现了一些被篡改的情况. 臭名昭著的"运营商劫持" 下载一个天天动听. 未被劫持的效果,点击下载按钮,就会弹出天天动听的…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...