lammps软件_LAMMPS之Moltemplate建模教程

69b208afe73c00b21d8aeec49932bde8.png

点击上方“蓝字”关注我们

使用小助手

1、进入公众号,点击右上角【...】>【设为星标】;2、点击右上角【...】>【设置】>【添加到桌面】;

3、高级用法:写文章>【投稿】,分享知识

无论对于新手还是有经验的操作者,LAMMPS数据文件的构建都是非常繁琐和麻烦的问题。原因在于,LAMMPS的数据格式比较特殊,很多软件不能直接导出,或者可以导出但是存在各种错误。比如,VMD生成的data文件经常存在键参数错误,且难以手动排查和校正错误。msi2lmp程序也存在同样的问题,此外支持的力场和适用体系受限。

在前端开源软件中,moltemplate是LAMMPS官方支持的建模工具之一,它是一个通用的分子构建器和力场数据库系统,适用于LAMMPS建模。该程序创建了一种简单的文件格式来存储分子定义和力场,即模板LT。LT文件包含与特定分子有关的所有文本(包括坐标,键拓扑,角度,力场参数,约束,组和修复)。Moltemplate可以复制分子,对其进行自定义,然后用它作为构建更大、更复杂分子的基础。构建后,可以自定义单个分子和亚基(原子和键,以及可以插入、移动、删除和/或替换子单元)。Moltemplate支持所有LAMMPS力场样式以及几乎所有原子样式(现在和将来)。

Moltemplate被设计用于粗粒化模拟。要实现全原子模拟,可以使用ATB服务(https://atb.uq.edu.au)下载适应于目标分子的LT文件,或手动创建LT文件。对于全原子模拟的情况,如果想使用moltemplate附带的力场参数集(例如OPLSAA,GAFF2,COMPASS),必须手动选择分子中每个原子的类型。Moltemplate不会自动分配原子类型。比如OPLS力场的参数在oplsaa.lt文件中给出,需要手动选择匹配的原子类型(可能还需要调整其部分电量)。这对于简单的有机分子或材料片段(例如聚乙烯或苯)来说不难,但是对于像蛋白质和大分子这样的复杂分子或者材料而言还是很有难度的。

Moltemplate不具备原子类型的自动分配功能,使用的原子类型需要从PDB文件获取,也不会自动修复不完整的PDB文件。此外在读取PDB文件时,从PDB文件读取原子坐标,丢弃所有其他信息。因此对于复杂分子,鼓励用户使用ATB 或其他方法构建LAMMPS DATA格式文件。一旦获得LAMMPS DATA格式,便可以使用ltemplify.py将其转换为moltemplate。

Moltemplate软件是为模拟粗粒化分子模型而设计的,而粗粒化模型经常使用包含许多原子的大颗粒,在这样的大小尺度上将电荷分配给粒子是没有意义的,因此moltemplate不会强迫使用带电荷的粒子表示形式。如果要为粒子分配电荷,有几种方法可做到这一点。现代的分子构建工具通常会将电荷分配给原子,并使用复杂的从头算方法来计算,moltemplate不支持这种模式。

Moltemplate手动建模过程

绘制基本分子单元的结构,并保存成pdb或者xyz格式。可用的软件较多,常用的有MS、Gaussian Viewer、Chem3D、Avogadro等;周期性结构建议保存为pdb格式;不同软件生成的xyz格式文件经常存在原子个数差异;

利用moltemplate操作已有数据文件,如复制、旋转、删除等,根据基本单元的拓扑信息生成模拟体系的坐标、键角、二面角、电荷等信息,最后获得LAMMPS的in文件和data文件;

Moltemplate主要语法与命令

11e7dd96b9d042b518ff556b64a54466.png

1. 常用$和@变量

$atom: name   定义分子中某原子的唯一ID号 (如果出现此变量的分子仅包含一个原子,则可以省略:name后缀)。 @atom: type   定义某个原子的类型。 $bond: name  定义某个化学键的唯一ID号(注意:如果出现此变量的分子仅包含一个键,则可以省略:name后缀。) @bond: type  定义某个键的类型 $angle: name  定义某个键角的唯一ID号(注意:如果出现此变量的分子仅包含单个角相互作用,则可以省略:name后缀。) @angle: type  定义某个键角的类型 $dihedral: name  定义某个二面角的ID号(注意:如果出现此变量的分子仅包含一个二面角相互作用,则可以省略:name后缀) @dihedral: type  定义某个二面角的类型 $improper: name  定义某个improper作用的ID号(注意:如果该分子仅包含一个improper相互作用,则可以省略后缀) @improper: type  定义某个improper作用的类型 $mol或$mol:.   此变量是指此分子对象的ID号(注意:  $mol是 $mol:. 的简写) $mol: ...     分配给该对象所属分子的ID号(如果适用)

2. 路径语法

通常,可以使用多个斜杠(“ /”)和(“ ../”)来构建路径指示对象中任何其他分子的(相对)位置层次结构
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值