当前位置: 首页 > 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协议内容都是按照文本的方式明文传输的. 这就导致了在传输过程中出现了一些被篡改的情况. 臭名昭著的"运营商劫持" 下载一个天天动听. 未被劫持的效果,点击下载按钮,就会弹出天天动听的…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...