本手册描述了在Schrödinger环境中通过命令行使用Desmond的情况:使用Schrödinger作业控制设施运行作业所需的程序、实用程序和文件。Desmond后端在执行作业时使用其他文件和语法,如结构文件和配置文件。要在薛定谔环境中运行作业,你不需要直接处理这些文件。
在Linux下的GPU硬件上支持Desmond。安装和配置说明,包括队列系统的设置,在《安装指南-内容》中给出。Desmond本身不支持Windows或Mac,但支持Maestro图形界面,你可以从Windows或Mac在远程Linux主机上运行作业。
要运行Desmond,你必须配置硬件并在hosts文件中添加条目。请参阅 "为远程作业提交做准备",了解相关说明。
关于Desmond的一般介绍,见Desmond简介。本手册所涉及的材料只限于命令行中的文件和程序的语法和用法,如下面列出的主题中所述:
- 用multisim运行模拟
- 从命令行运行Desmond的模拟
- Desmond实用程序
- Desmond 配置文件
如果您发表了使用Desmond的作品,请使用我们的引文页上的引文。
1.为Desmond模拟做准备
Desmond模拟的结构输入是一个Desmond复合模型系统,其中包括结构(坐标和连接)和力场。该结构包括溶质和溶剂,并可能包括膜、反离子和盐。
本章描述了用于构建输入复合模型系统和创建自定义溶剂以输入系统构建器的命令语法:
- 从命令行建立一个德斯蒙德模型系统
- 准备一个自定义溶剂箱
1.1从命令行建立一个Desmond模型系统
要从命令行准备一个模型系统,你可以使用multisim工具。构建Desmond模型系统的multisim工作流程包括一个build_geometry阶段和一个assign_forcefield阶段。
一个建立模型系统的工作流程的例子如下:
task { task = "desmond:auto" } build_geometry { add_counterion = { ion = Cl number = neutralize_system } box = { shape = orthorhombic size = [10.0 10.0 10.0] size_type = buffer } override_forcefield = S-OPLS rezero_system = false salt = { concentration = 0.15 negative_ion = Cl positive_ion = Na } solvent = SPC } assign_forcefield { forcefield = S-OPLS }
这个例子在溶质周围添加了一个正方形的盒子,溶质和盒子边缘之间的最小距离为10埃。为了中和该系统,加入了氯离子。此外,加入Na和Cl离子以模拟0.15 mol⋅L-1的盐浓度。力场S-OPLS是指最新版本的OPLS力场(f16)。
更多信息请参见multisim文件中的build_geometry阶段和multisim文件中的assign_forcefield阶段。
1.2准备一个自定义的溶剂箱
如果你想使用安装中可用的溶剂以外的溶剂,你可以创建一个溶剂盒,输入到系统构建器中。溶剂分子必须以Maestro文件的形式提供。要运行的命令是:
$SCHRODINGER/utilities/multisim -JOBNAME jobname -HOST hostname -maxjob 1 -cpu 1 -mode umbrella \ -m $SCHRODINGER/mmshare-v6.0/data/desmond/mxmd_cosolvent_probe_generation.msj solvent.mae $SCHRODINGER/run -FROM desmond generate_solvent_box.py jobname_probe-out.cms output-basename -t jobname_probe.xtc -s "start:end:step"
-s选项指定了轨迹中的帧,以提取到作为溶剂箱的输出结构文件中。对于作为Desmond溶剂的使用,必须只指定一帧。该符号是Python中的切片符号。这个程序也用于为MxMD生成共溶剂--更多信息见MxMD自定义共溶剂探针。
2.从命令行运行Desmond模拟
在大多数情况下,分子动力学模拟涉及几个单独的模拟,例如设置、平衡和生产阶段。你可以在命令行中使用multisim工具来运行一个由多个阶段组成的分子动力学工作流程。更多信息,请参见使用multisim运行模拟,了解更多信息。
单个Desmond模拟阶段也可以从命令行启动。更多信息请参见使用desmond命令。你可能出于以下原因希望从命令中运行multisim工作流程或单个Desmond作业。
- 定制multisim工作流程或改变Desmond的配置参数
- 调试一个异常的运行
- 将作业转移到远程位置
- 为了方便
Desmond面板可以用来写出(使用Write按钮).msj文件,然后可以在其他地方运行,或在使用前进行定制。有关.msj文件内容的更多信息,请参见《multisim作业文件》。Desmond面板也会写出.cfg文件,控制Desmond的个别配置参数。你可以在The Desmond Configuration File中找到更多关于.cfg文件的信息。
Desmond作业在Schrödinger的作业控制设施下运行。这个工具管理作业的执行和监控,并处理输入和输出文件以及将结果纳入Maestro项目。作业控制指南-内容描述了如何设置作业控制在你可以访问的计算机上运行所需的信息。它包括关于远程主机、集群和批处理队列的信息。
与所有的薛定谔软件一样,环境变量SCHRODINGER必须被设置为薛定谔软件(包括Desmond)的安装目录。此外,还有其他环境变量可以设置,以覆盖默认资源值。参见设置环境变量以了解更多信息。
默认情况下,Schrödinger作业控制设施使用ssh在远程节点之间通信。欲了解更多信息,请参见设置访问远程主机。
本章描述了运行单阶段和多阶段的薛定谔作业以及建立输入复合模型系统的命令语法:
- 用multisim运行模拟
- 从命令行分析Desmond模拟结果
- 使用desmond命令
2.1用multisim运行模拟
multisim工具的基本语法是:
$SCHRODINGER/utilities/multisim [options] structure-file -m msj-file $SCHRODINGER/utilities/multisim [options] -RESTART checkpoint-file
第一个语法应该用于新作业,第二个语法用于重新启动作业。结构文件可以是Maestro(.mae)文件或Desmond CMS(.cms)文件。
一个多阶段分子动力学工作流程的简单multisim命令可以采用以下形式:
$SCHRODINGER/utilities/multisim -JOBNAME multistage -HOST mycluster\ -m input.msj -c input.cfg input.cms \ -o desmond-out.cms -mode umbrella \ -set stage[1].set_family.md.jlaunch_opt=["-gpu"]
将一个工作名称为multistage的multisim工作流提交给远程主机mycluster。阶段在multsim作业文件input.msj中定义,结构在Desmond CMS文件input.cms中提供。所有阶段的默认Desmond配置参数都从input.cfg中读取。最终的结构将被写入desmond-out.cms。Multisim可以在节点锁定或伞状模式下运行,并将Desmond阶段启动到GPU上。
有关命令选项的信息,请用-h选项运行该命令,或参见multisim命令帮助主题。
2.1.1节点锁定multisim工作
multisim工具可以在两种不同的模式下运行,这影响到multisim工作流的阶段如何在批处理队列系统的控制下执行。在默认模式下,所有阶段都作为单独的批处理作业提交。在这种情况下,-HOST master_host指定了运行multisim进程的主机。通过-SUBHOST subjob_host,你可以指定每个阶段将被执行的主机。在繁忙的批处理队列中,几个排队的multisim作业的各个阶段可能会争夺资源,增加单个multisim作业的总体运行时间。
可以通过在multisim的命令行中添加-mode umbrella来激活节点锁定模式。只有主作业被提交给队列系统。所有子作业都在分配给主作业的节点上运行。由于multisim过程不是资源密集型的,所以这不会降低性能。当这个选项被赋予时,-SUBHOST选项被忽略了。节点锁定模式的好处是,在新的multisim作业被安排运行之前,multisim工作流的所有阶段都会完成。
当从Maestro启动多模拟作业时,建议使用节点锁定模式,并且是默认模式。
2.1.2重启multisim作业
multisim作业会定期写出一个检查点文件,记录工作流程的当前状态。该检查点文件被命名为jobname-multisim_checkpoint,并在主作业停止时被复制回作业启动目录。
在大多数情况下,multisim作业可以用类似以下的命令重新启动:
$SCHRODINGER/utilities/multisim -RESTART myjob-multisim_checkpoint -d myjob_stage-out.tgz -JOBNAME myjob
其中你用-RESTART选项指定检查点文件,用-d选项指定最后完成的阶段的-out.tgz文件。通常需要使用-d选项,因为后续阶段需要访问最后一个成功完成的阶段所产生的数据。例如,如果第5阶段部分完成(有些子任务完成了,有些没有完成),那么你还必须包括myjob_4-out.tgz,要使用的命令是:
$SCHRODINGER/utilities/multisim -RESTART myjob-multisim_checkpoint -d myjob_5-out.tgz -d myjob_4-out.tgz -JOBNAME myjob
除非给出-HOST选项,否则作业在本地主机上运行。
当你重新启动一个作业时,你可以通过使用-set选项来修改某些阶段的特性。例如,如果你使用命令:
$SCHRODINGER/utilities/multisim -RESTART myjob-multisim_checkpoint -d myjob_4-out.tgz -JOBNAME myjob -set "stage[5].time = 1200.0"
那么阶段5就会被修改,使其子作业在运行时的时间设置为1200.0。然而,如果你还提供了第5阶段的.tgz文件,并且第5阶段的一些子工作已经完成,那么只有未完成的工作将以新的设置运行。
你可以用不同的.msj文件重新启动一个作业。例如,命令:
$SCHRODINGER/utilities/multisim -RESTART myjob-multisim_checkpoint -d myjob_5-out.tgz -JOBNAME myjob -m newworkflow.msj
根据newworkflow.msj来运行未完成的阶段。这个新的.msj文件必须包含与原作业相同的已完成阶段。任何剩余的阶段都可以被修改或删除,并且可以插入新的阶段。你也可以通过用-c选项指定新的.cfg文件,用不同的.cfg文件重新启动一个作业。
要从一个已完成的阶段重新启动作业,你可以在检查点文件名后面直接指定阶段号。例如,命令:
$SCHRODINGER/utilities/multisim -RESTART myjob-multisim_checkpoint:4 -d myjob_3-out.tgz -JOBNAME myjob
从第4阶段开始重新运行工作流程的其余部分。用-d指定的存档必须是前一阶段的存档(本例中是第3阶段)。
在大多数情况下,multisim会在重新启动时自动检测并使用作业所需的额外输入文件。如果作业失败是因为重新启动作业时没有检测到现有的输入文件,你可以通过使用-ADD_FILE选项来指定该文件。
2.1.3从multisim检查点文件获取信息
要获得multisim_checkpoint文件内容的信息,你可以使用带有-probe选项的multisim命令:
$SCHRODINGER/utilities/multisim -probe myjob-multisim_checkpoint
该命令总结了检查点文件的内容,而没有提交作业继续计算。对于普通的分子动力学计算:
Probing checkpoint file: jobname-multisim_checkpoint multisim version: X.X.X.XX mmshare version: X.Y Jobname: jobname Previous jobnames: ['jobname'] Username: user Master job host: host Subjob host: host CPUs per subjob: "1" Original start time: Mon Jan 1 10:00:00 20XX Checkpoint time: Mon Jan 1 10:00:00 20XX Master job ID: host-0-4bdc2939 Structure input file: jobname.cms Original *.msj file: jobname.msj Stages: Stage 1 completed. Stage 2 completed. Stage 3 completed. Stage 4 completed. Stage 5 was skipped. Stage 6 completed. Stage 7 completed. Stage 8 not run. Current version of multisim is X.X.X.XX This checkpoint file can be restarted with the current version of multisim.
表示八个阶段中的七个已经成功完成。如果用-d jobname_7-out.tgz选项向multisimcommand提供第7阶段的数据,这个multisim作业可以从第8阶段的开始重新启动。
注意multisim的版本:旧版本的multisim生成的检查点文件可能与当前版本不兼容。
2.2.从命令行分析Desmon模拟结果
你可以用下面列出的各种命令行工具在命令行上分析Desmond模拟或操作Desmond轨迹。这些工具可以用$SCHRODINGER/run来运行。使用-h选项可以看到使用信息(包含在文档中,并通过脚本名称链接到下面)。
轨迹分析快速参考中给出了使用脚本、使用薛定谔Python API和使用Maestro进行轨迹分析的用法总结。
分析Desmond模拟的实用程序
- analyze_simulation.py-对轨迹进行几何分析和能量组分析。
- analyze_trajectory_ppi.py-分析轨迹中的蛋白质-蛋白质相互作用。
- rdf.py-计算轨迹中选定原子的径向分布函数。
- trajectory_analyze_hbonds.py-记录轨迹中每一帧的氢键数量。
- trajectory_asl_monitor.py-在轨迹中监测与另一个原子组在指定距离内的原子组的数量。
- trajectory_bfactors.py-写一个单一结构的RMSF和B因子的计算轨迹。
- trajectory_binding_site_volumes.py在轨迹的每一帧上运行SiteMap计算。
- trajectory_dihedral.py Command Help-测量轨迹的常见二面角,例如 "phi "和 "psi "角。
- trj_center.py-转运所有原子,使指定原子保持在模拟盒的中心(原点)。
- trj_cluster.py-根据指定原子选择的RMSD对轨迹进行分组。
- trj_essential_dynamics.py-运行一个蛋白质本质动力学分析[36]。
- trj_occupancy.py-为指定的原子选择生成轨迹上积累的三维占位图。该图可以被导入Maestro进行显示。
操纵轨迹的实用程序
- dtr2xtc.py-将轨迹从DTR格式转换成XTC格式。
- frame2cms.py-将轨迹框架转换为CMS文件。
- trj_align.py-在指定的原子选择上对准轨迹。
- trj_extract_subsystem.py-为输入系统的一个子系统创建一个新的CMS文件和轨迹,由指定的原子选择定义。
- trj_info.py-打印出关于模型系统和轨迹的一般信息。
- trj_merge.py-合并多个轨迹。
- trj_parch.py-通过删除不需要的水分子来减少轨迹的大小。
- trj_rescue.py-尝试恢复被破坏的轨迹,其中一些帧没有被正确保存。
- trj_slice.py-用较少的帧数创建新的轨迹。
- trj_unwrap.py-创建新的轨迹,根据模型系统的周期性边界条件对选定原子的位置进行解包。
- trj_wrap.py-创建新的轨迹,将所有原子放在模拟盒内。
- trj2mae.py-将轨迹框架转换为普通Maestro文件(.maegz)。
2.3使用desmond命令
虽然在大多数情况下,使用multisim是运行Desmond模拟的最佳方法,但你也可以通过执行desmond命令从命令行运行单个Desmond模拟。desmond脚本会决定为所使用的主机运行适当的可执行文件。
desmond命令的语法如下:
$SCHRODINGER/desmond [options] -in cms-file -c config-file $SCHRODINGER/desmond [options] -restore checkpoint-file
使用-in选项来处理新的作业,使用-restore选项来重新启动一个作业。新作业的输入文件必须是CMS文件,扩展名为.cms,还必须指定一个配置文件(.cfg)。对于重启作业,必须提供一个检查点文件,扩展名为.cpt。
关于desmond命令的选项信息,请使用-h选项运行该命令。
关于临时文件的存储、与运行中的Desmond作业的交互等信息,请参见作业控制指南-内容。
3.Desmond实用程序
Desmond发行版包含一些实用程序,除了前面描述的那些,还可以执行一系列特定的任务。这些实用程序在下面列出的主题中有所描述:
- relax_membrane.py:放松一个含膜的系统
- rebuild_cms.py:从结构中重建一个模型系统
3.1relax_membrane.py:放松一个含膜的系统
relax_membrane.py脚本允许你通过命令行来准备膜的松弛。
要使用膜松弛协议:
- 将你新建立的蛋白质-膜系统保存在一个CMS文件中(这里称为蛋白质-膜.cms)。
- 运行脚本,准备必要的输入文件。
-
$SCHRODINGER/run relax_membrane.py -i protein-membrane.cms \ -t temperature -j protein-membrane
-
- 使用命令运行膜松弛协议
-
$SCHRODINGER/utilities/multisim -JOBNAME protein-membrane \ -HOST myhost -mode umbrella -i protein-membrane-in.cms \ -m protein-membrane.msj -o protein-membrane-out.cms \ -set 'stage[1].set_family.md.jlaunch_opt = ["-gpu"]'
-
这个过程可能需要一些时间,因为它分阶段平衡系统约1.2 ns。文件protein-membrane-out.cms应该是相当好的平衡,可以作为你的系统的生产模拟的输入。
3.2rebuild_cms.py:从结构中重建一个模型系统
在.cms文件中编辑结构并从Maestro导出后,它将只包含完整的系统CT(溶质和溶剂在一个条目中),缺乏力场分配。您可以在命令行中使用这个.cms文件重建完整的Desmond模型系统。
$SCHRODINGER/run rebuild_cms.py -make_comp_ct [-solvent_asl ASL] [-membrane_asl ASL] input.mae output.cms
溶剂和膜是自动检测的,但是你可以通过使用ASL表达式来指定它们。如果箱体矢量不存在,则根据系统大小估计箱体大小。
如果你有一个只有组件CT的.cms文件,你可以用以下命令创建一个完整的模型系统:
$SCHRODINGER/run rebuild_cms.py -make_full_ct input.cms output.cms标签:文件,py,作业,介绍,multisim,命令行,Desmond,cms From: https://www.cnblogs.com/matrixray/p/16969399.html