24小时热门版块排行榜    

查看: 27  |  回复: 0

MolAICal

新虫 (初入文坛)

[交流] 使用MolAICal进行多肽虚拟筛选教程-同样适用于蛋白质和核酸的虚拟筛选

MolAICal官方地址: https://molaical.github.io/  或  https://molaical.gitlab.io/

更详细的教程见: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生成多肽的教程

本教程没有包含附录,更详细教程请见:https://molaical.gitlab.io/cntutorial.html  中的: 29. 使用MolAICal与LightDock进行多肽虚拟筛选教程-同样适用于蛋白质和核酸的虚拟筛选
________________________________________
1. 引言
MolAICal 可以使用开源的 LightDock 软件(https://lightdock.org)并通过 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 软件要求
1. MolAICalhttps://molaical.github.io
2. NAMD(CPU 版本)https://www.ks.uiuc.edu/Research/namd/
注意:本教程可使用 NAMD 2.x、3.x 或更高版本。例如,若您使用 NAMD 3.x 版本,则将教程中的命令 “namd2” 替换为 “namd3”。更高版本的 NAMD 亦可采用类似方式替换。
3. PyMolhttps://github.com/cgohlke/pymol-open-source-wheels, https://github.com/maabuu/pymol-wheels , https://pypi.org/project/pymol-open-source-whl/ , https://github.com/cnpem/PyMOL4Win
4. VMDhttps://www.ks.uiuc.edu/Research/vmd

2.2 示例文件
1. 所有必需的教程文件可从以下地址下载:
https://gitee.com/molaical/tutorials/tree/master/028-peptide_vs_lm
________________________________________
3. 操作流程
3.1 分子准备
为了解决Linux中的库依赖问题,Linux版本的MolAICal (Windows 版本的MolAICal没有采用容器)采用了基于容器的方法。如果需要调用外部程序,建议在MolAICal容器内安装这些程序。如果不需要外部程序,可以忽略此步骤。本教程需要外部程序NAMD和VMD,具体步骤如下:
1. 首先,将文件复制到 MolAICal 容器中
CODE:
# 进入容器文件系统(将进入 "/root" 目录)
#> molaical.exe -eset shell in

# 将 VMD 和 NAMD 安装包从本地机器复制到容器中,'cp' 命令的第一部分(源路径)# 位于本地主机,第二部分(目标路径)在容器内;VMD 和 NAMD 软件包可通过以下命 # 令移入容器。
#> cp /home/user/<本地文件> /root/soft

# 退出容器文件系统
#> exit

2.        其次,进入 MolAICal 容器的虚拟环境
CODE:
#> molaical.exe -eset sys run molaical

注:molaical 是容器名称。

3. 在 MolAICal 容器虚拟环境中安装软件的方式与在本地主机上安装相同。以下以安装 VMD 和 NAMD 为例:
1) 安装 NAMD:
解压 NAMD 文件(假设解压后的文件夹名为 namdcpu),然后使用以下命令将其路径告知 MolAICal:
CODE:
#> molaical.exe -call set -n NAMD -p "/root/soft/namdcpu/namd3"

注:请将上述 VMD 和 NAMD 的路径替换为您系统中的实际路径。-n 后面的 "VMD" 和 "NAMD"(大小写不敏感)是固定的标识符。为确保 MM/GBSA 结果的可重复性,建议使用 NAMD 的 CPU 版本,因为 CUDA 版本中的 seed 参数似乎对结果可重复性无效。

2) 安装 VMD:
按以下步骤操作:
        解压 VMD 文件:
CODE:
#> tar -xzvf vmd-xxx.tar.gz

注:请将上述路径替换为您系统中的实际路径。
        修改 VMD 解压目录中名为 configure 的文件中的安装路径:
CODE:
# 默认值:
$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";

        安装 VMD:
CODE:
#> cd vmd-xxx
#> ./configure LINUXAMD64
#> cd src
#> make install

注:请运行 ./configure 并根据所用计算机选择正确的类型,此处为 "LINUXAMD64"。

        然后使用以下命令将 VMD 路径告知 MolAICal:
CODE:
#> molaical.exe -call set -n VMD -p "/root/soft/vmd193/bin/vmd"

至此,NAMD 和 VMD 在 MolAICal 容器内的安装与配置已完成。为防止MolAICal出现问题时丢失已安装的程序(例如VMD和NAMD),请参阅附录2中的第3步。

进入教程材料文件夹 “028-peptide_vs_lm”:
CODE:
#> cd 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评分函数进行对接前,必须检查并修复受体或配体。修复命令如下:
CODE:
#> 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 生成线性肽段
CODE:
#> 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 生成带有固定残基的线性肽段(用于肽段修饰)
CODE:
#> 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 手册)。
CODE:
#> 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)。在此基础上,通过 多核并行处理 可同时筛选多个分子,实现虚拟筛选。

使用MolAICal进行多肽虚拟筛选教程-同样适用于蛋白质和核酸的虚拟筛选
图 1:对接单元示意图

“linear” 和 “mpep” 文件夹中的肽段可使用相同流程筛选。对于 “cyclic” 文件夹中的环状肽段,需进行小幅修改:在 MM/GB/PB/SA 步骤中,末端残基必须使用 ‘LINK’ 进行打补丁。该方法也适用于肽段中二硫键等残基修饰。

1) 对 “linear” 和 “mpep” 文件夹中的线性肽段进行筛选:
CODE:
#> 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” 文件夹中的环状肽段进行筛选:
CODE:
#> 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%)的筛选候选分子:
CODE:
#> molaical.exe -call run -c sfile -i rank_ppn.py cyc_result -m filtered -p 20 -fo filtered_results


2) 仅处理 MMGBPBSA,并自定义结果输出目录:
CODE:
#> molaical.exe -call run -c sfile -i rank_ppn.py cyc_result -m mmgbpbsa -mo mmgbpbsa_results -p 20


3) 同时处理筛选与 MMGBPBSA,使用默认设置并获取前 20% 的结果:
CODE:
#> 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用户手册


任务续跑:如果任务被中断,请运行以下命令进行恢复:
CODE:
#> 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} 文件夹恢复任务,从而有效实现任务续跑。
________________________________________
参考文献
1.        Jiménez-García, B.; Roel-Touris, J.; Romero-Durana, M.; Vidal, M.; Jiménez-González, D.; Fernández-Recio, J., LightDock: a new multi-scale approach to protein-protein docking. Bioinformatics 2018, 34 (1), 49–55.

2.        Krishnanand, K. N.; Ghose, D., Glowworm swarm optimization for simultaneous capture of multiple local optima of multimodal functions. Swarm Intelligence 2009, 3 (2), 87–124.
________________________________________
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 MolAICal 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见