本帖最后由 MolAICal 于 2026-1-24 19:07 编辑
由于发帖字数限制-->本教程省略了部分参数,更详细的教程见:https://molaical.gitlab.io/cntutorial.html 或 https://molaical.github.io/tutorial.html本教程也适用于蛋白-蛋白,蛋白-核酸等虚拟筛选,MolAICal还提供了一种更快速并可以兼容非氨基酸残基类型的多肽筛选方式:
https://molaical.gitlab.io/cntutorial.html 中的: 30. 使用MolAICal在受体口袋中进行多肽虚拟筛选
多肽生成的教程,见 https://molaical.gitlab.io/cntutorial.html 中的: 28. 使用MolAICal生成多肽的教程
1. 引言MolAICal可以使用开源的 LightDock 软件并通过 MM/GBSA 或 MM/PBSA 方法进一步提升生物大分子对接的准确性。LightDock 是一个开源(GPL-3.0 许可)的对接框架,适用于 蛋白质-蛋白质、蛋白质-肽段、蛋白质-RNA 和 蛋白质-DNA 复合物的对接。它特别擅长处理柔性及具有挑战性的情况(例如瞬时相互作用、低亲和力复合物,或需要主链/侧链灵活性的体系),并且作为一个可扩展平台,支持测试新型打分函数、约束条件或优化策略。 LightDock采用 萤火虫群优化算法(Glowworm Swarm Optimization, GSO)——一种最初为多峰函数优化设计的仿生群体智能方法。 本教程以 胰高血糖素样肽-1 受体(GLP-1R) 与 艾塞那肽-4(exendin-4,首个 FDA 批准的 GLP-1R 激动剂)为例进行演示(PDB ID: 7LLL.pdb)。
注意:本教程仅适用于 Linux 操作系统!
本教程展示了一种通过 MolAICal与 LightDock 平台集成 实现肽段虚拟筛选的计算流程。MolAICal 能够高效生成并预测多种肽段候选结构的 3D 构象,包括线性和环状变体以及不同二级结构;而 LightDock 则采用先进的群体优化算法,实现高精度的蛋白质-肽段对接模拟。该联合方法使研究人员能够对成千上万种肽段变体进行靶向筛选,基于结合能和相互作用模式识别出有潜力的结合体。通过多尺度建模方法和并行计算能力,该流程显著加速了治疗性肽段、蛋白质抑制剂和核酸结合物的发现过程(只需将肽段替换为蛋白质或核酸即可)。 更多细节请参阅 蛋白质-DNA 和 蛋白质-RNA 对接教程,以及 MolAICal 用户手册。
2. 材料2.1 软件要求
2.2 示例文件
3. 操作流程
3.1 分子准备为了解决Linux中的库依赖问题,Linux版本的MolAICal (Windows 版本的MolAICal没有采用容器)采用了基于容器的方法。如果需要调用外部程序,建议在MolAICal容器内安装这些程序。如果不需要外部程序,可以忽略此步骤。本教程需要外部程序NAMD和VMD,具体步骤如下: 1. 首先,将文件复制到 MolAICal 容器中 - # 进入容器文件系统(将进入 "/root" 目录)
- #> molaical.exe -eset shell in
- # 将 VMD 和 NAMD 安装包从本地机器复制到容器中,'cp' 命令的第一部分(源路径)位于本地主机,第二部分(目标路径)在容器内;VMD 和 NAMD 软件包可通过以下命令移入容器。
- #> cp /home/user/<本地文件> /root/soft
- # 退出容器文件系统
- #> exit
复制代码
2. 其次,进入MolAICal 容器的虚拟环境 - #> molaical.exe -eset sys run molaical
复制代码注:molaical 是容器名称。
3. 在 MolAICal 容器虚拟环境中安装软件的方式与在本地主机上安装相同。以下以安装VMD 和NAMD 为例: 1) 安装 NAMD:解压NAMD 文件(假设解压后的文件夹名为 namdcpu),然后使用以下命令将其路径告知 MolAICal: - #> molaical.exe -call set -n NAMD -p "/root/soft/namdcpu/namd3"
复制代码注:请将上述 VMD 和 NAMD 的路径替换为您系统中的实际路径。-n 后面的 "VMD" 和 "NAMD"(大小写不敏感)是固定的标识符。为确保 MM/GBSA 结果的可重复性,建议使用 NAMD 的 CPU 版本,因为 CUDA 版本中的 seed 参数似乎对结果可重复性无效。
2) 安装 VMD:按以下步骤操作: - #> tar -xzvf vmd-xxx.tar.gz
复制代码注:请将上述路径替换为您系统中的实际路径。
- 修改 VMD 解压目录中名为 configure的文件中的安装路径:
- # 默认值:
- $install_bin_dir="/usr/local/bin";
- $install_library_dir="/usr/local/lib/$install_name";
- # 修改为:
- $install_bin_dir="/root/soft/vmd193/bin";
- $install_library_dir="/root/soft/vmd193/lib/$install_name";
复制代码
- #> cd vmd-xxx
- #> ./configure LINUXAMD64
- #> cd src
- #> make install
复制代码注:请运行 ./configure 并根据所用计算机选择正确的类型,此处为 "LINUXAMD64"。 - 然后使用以下命令将 VMD 路径告知 MolAICal:
- #> molaical.exe -call set -n VMD -p "/root/soft/vmd193/bin/vmd"
复制代码至此,NAMD和VMD 在 MolAICal 容器内的安装与配置已完成。为防止MolAICal出现问题时丢失已安装的程序(例如VMD和NAMD),请参阅附录2中的第3步。
4. 记得使用exit命令退出MolAICal虚拟环境,返回本地计算机进行计算(主要是为了省去拷贝文件的步骤,在容器内运行也行,但需要从本地计算机向MolAICal容器中拷贝数据。)
进入教程材料文件夹 “028-peptide_vs_lm”: 将看到以下文件列表: - 7LLL.pdb:来自 https://www.rcsb.org 的复合物结构文件(PDB 格式)
- dock_u.sh:对接单元脚本(适用于本教程类似的膜蛋白受体)
- dock_u_nomem.sh:对接单元脚本(适用于非膜蛋白受体)
- dock_u_cyc.sh:环肽与膜蛋白的对接单元脚本
- dock_u_cyc_nomem.sh:环肽与非膜蛋白的对接单元脚本
- mempro.pdb:本受体对应的膜蛋白受体(制备方法见附录 1或 MolAICal 蛋白质-肽段对接教程)
- new.pdb:受体构建过程中的临时文件
- P_peptide.pdb:从 “7LLL.pdb” 中提取的肽段配体(制备方法见附录 1或 MolAICal 蛋白质-肽段对接教程)
- restraints.list:指定活性位点的文件,可减少构象搜索的对接时间(制备方法见附录 1)
- R_protein.pdb:从 “7LLL.pdb” 中提取的受体文件(制备方法见附录 1)
- R_P_complex.pdb:包含肽段配体和受体的复合物文件(制备方法见附录 1)
选项:LightDock中的DFIRE评分函数需要标准氨基酸残基及其原子名称,因此在使用DFIRE评分函数进行对接前,必须检查并修复受体或配体。修复命令如下:
- #> molaical.exe -call run -c sfile -i lmfix_rec.py -i protein.pdb -o protein_fixed.pdb
复制代码
此处该PDB文件正常,无需通过上述选项处理。
3.2 肽段生成LightDock的功能实现依赖于打分函数所支持的氨基酸类型。例如:DFIRE仅支持标准氨基酸及残基名称为"MMB"的氨基酸;此时必须使用"-nc"参数以避免在生成肽段的N端和C端添加封端基团,因为DFIRE无法识别这些修饰结构。 1) 使用 MolAICal 生成线性肽段
- #> molaical.exe -call run -c pepgen -i -l 8 -n 2 -3d -nc -o linear_seq.txt -dir linear
复制代码 参数说明: - -call:与外部程序或命令交互。值为‘set’(设置环境)或 ‘run’(运行程序)
- -i:调用外部程序,其后跟随该程序的所有命令行参数
- -c(在 -i 之前):若值为 “pepgen”,则生成肽段
- -l:肽段中氨基酸残基数
- -n:生成的唯一序列数量
- -3d:使用 pyPept 生成 3D 结构
- -nc:不为序列添加乙酰基(ac)/酰胺基(am)封端
- -o:生成序列的输出文件
- -dir:3D结构的输出目录
- 更多细节请参阅MolAICal 手册。
生成的 3D 肽段位于 “linear” 文件夹中,可用于后续虚拟筛选。
2) 使用 MolAICal 生成带有固定残基的线性肽段(用于肽段修饰)
- #> molaical.exe -call run -c pepgen -i -l 8 -n 3 -rc 3 -nc -3d -dir mpep -s EEYVPIST -d none -fix 1 7
复制代码 新增参数说明: - -dir:3D 结构输出目录
- -rc:使用 RDKit 生成的随机构象数量(默认:1)
- -d:从种子序列扩展的方向([forward, backward, both, none])
- -s:起始序列(可选)
- fix:生成过程中保持固定的残基位置(1 起始索引)
3) 使用 MolAICal 生成环状肽段MolAICal 还支持生成含二硫键等修饰的肽段(详见 MolAICal 手册)。
- #> molaical.exe -call run -c pepgen -i -l 8 -n 3 -rc 3 -cc -3d -c 4 -dir cyclic
复制代码 新增参数说明: - -cc:生成环状肽段(仅支持 BILN/HELM 格式)
- -c(在 -i 之后):用于并行处理的 CPU 核心数
在 “linear”、“mpep”和 “cyclic” 目录中分别包含了三类肽段,适用于不同目的。由于肽段虚拟筛选计算耗时,本教程仅提取少量肽段用于演示。用户可根据自身计算资源生成足量肽段用于研究。
3.3 肽段虚拟筛选MolAICal 的虚拟筛选方法包括:创建一个 对接单元(Docking Unit)脚本文件,其中包含多个任务;每个单元对接一个分子(见图 1)。在此基础上,通过 多核并行处理 可同时筛选多个分子,实现虚拟筛选。
图 1:对接单元示意图
“linear” 和 “mpep” 文件夹中的肽段可使用相同流程筛选。对于 “cyclic” 文件夹中的环状肽段,需进行小幅修改:在 MM/GB/PB/SA 步骤中,末端残基必须使用 ‘LINK’ 进行打补丁。该方法也适用于肽段中二硫键等残基修饰。
1) 对 “linear” 和 “mpep” 文件夹中的线性肽段进行筛选:- #> molaical.exe -call run -c sfile -i vs_ml.sh 1::=linear 2::=mempro.pdb 3::=R 4::=Z 5::=8 6::=1 9::=dock_u.sh
复制代码参数说明: - '-call':与外部程序交互(‘set’/‘run’)
- '::= ':用于按指定顺序为参数赋值,后面的变量必须紧跟"::=",不能有空格。
- '-c':若值为 “sfile”,则运行 MolAICal 脚本
- '1::= ':待筛选分子(如肽段)的工作目录(默认:‘linear’)
- '2::= ':受体文件(默认:‘mempro.pdb’)
- '3::= ':第一个分子(即受体)的链名(默认:‘R’)
- '4::= ':第二个分子(即配体)的链名(默认:‘Z’)
- '5::= ':每个子任务(即每次对接)使用的 CPU 核心数(默认:2)
- '6::= ':虚拟筛选任务使用的CPU核心总数。默认值为1。此参数决定启动的并行管道数量,多个并行管道会显著增加内存消耗。建议保持默认值1,即仅激活一个管道。除非可用内存资源非常充足,方可考虑增加并行管道数量。若要进一步提升计算效率,可增加单个管道内子任务的并行核心数,例如通过"5::=8"格式配置(表示该子任务使用8个核心)。
- '8::= ':调试模式(0 或 1)。1 表示测试任务以检查错误;0 表示直接运行(默认:0)
- '9::= ':MolAICal 脚本格式的对接脚本文件(默认:‘dock_unit.sh’)
- '11::= ':结果输出目录(默认:‘dresults’)
更多细节请参阅 MolAICal 手册。
2) 对“cyclic” 文件夹中的环状肽段进行筛选:- #> molaical.exe -call run -c sfile -i vs_ml.sh 1::=cyclic 2::=mempro.pdb 3::=R 4::=Z 5::=8 6::=1 8::=0 9::=dock_u_cyc.sh 11::=cyc_result
复制代码
3.4 结果排序此处以 “cyc_result” 文件夹中的结果为例进行说明,用户可参考此案例用于自身研究。 1) 仅处理自定义百分比(此处为20%)的筛选候选分子:- #> molaical.exe -call run -c sfile -i rank_ppn.py cyc_result -m filtered -p 20 -fo filtered_results
复制代码 或
2) 仅处理 MMGBPBSA,并自定义结果输出目录:- #> molaical.exe -call run -c sfile -i rank_ppn.py cyc_result -m mmgbpbsa -mo mmgbpbsa_results -p 20
复制代码 或
3) 同时处理筛选与 MMGBPBSA,使用默认设置并获取前 20% 的结果:- #> molaical.exe -call run -c sfile -i rank_ppn.py cyc_result -p 20 -fo filtered_results -mo mmgbpbsa_results
复制代码
参数说明: - -m {both,filtered,mmgbpbsa}: 处理模式(默认:both)
- -p: 提取顶部分子的百分比(默认:5.0)
- -fo: 筛选结果输出目录(默认:vs_filtered_results)
- -mo: MMGBPBSA结果输出目录(默认:vs_mmgbpbsa_results)
- "cyc_result"是包含用于虚拟筛选的候选肽段分子的输入目录。
- 更多帮助信息,请查阅MolAICal用户手册
任务续跑:如果任务被中断,请运行以下命令进行恢复: - #> molaical.exe -call run -c sfile -i vs_ml.sh 1::=linear 5::=8 7::=1 12::=continuevs
复制代码- '7::=': 检查对接任务是否完成。其值为 0 或 1。若值为 1,将检查 MM/GB/PB/SA 步骤的结果;若值为 0,则检查第一步虚拟筛选步骤的结果。默认值为 1。
- '12::=': 为对接脚本文件 '9::=' 提供更多选项。默认值为空字符串,用 "" 表示。若此输入包含多个参数,请使用逗号字符 ',' 分隔。MolAICal 会自动将每个逗号 ',' 转换为空格 " "。它有一些特殊值:
- 若为 "createdir",则仅创建虚拟筛选的文件夹;
- 若为 "startvs",则仅运行虚拟筛选任务;
- 若为 "continuevs",则会处理剩余的未完成虚拟筛选任务;
- 若为 "sn_{num}",则会设置 ${num} 个并行管道,这对应于 '6::=' 的设置;
- 否则,运行所有任务。
在指定文件夹${work_dir}(例如 "linear" 文件夹)中完成虚拟筛选的 PDB 文件,将被移动到目录${work_dir}_complete_folder 中。然后,直接运行之前的虚拟筛选程序将从 ${work_dir} 文件夹恢复任务,从而有效实现任务续跑。
|