Eastsheng's Wiki

ch2lmp tool

2024-12-15 18:11:28

[toc]

由chatGPT生成

教程:使用 CHARMM 工具生成 LAMMPS 输入文件

工具背景

charmm2lammps.pllammps2pdb.pl 是由 Pieter J. in ‘t Veld 和 Paul Crozier 创建的工具,用于将 CHARMM 力场参数转化为适用于 LAMMPS 的输入文件,或者将 LAMMPS 的输出文件转化为 PDB 文件。

所需文件

  1. CHARMM 参数文件 (par_<forcefield>.prm)
  2. CHARMM 拓扑文件 (top_<forcefield>.rtf)
  3. CHARMM 坐标文件PDB 文件 (<project>.crd<project>.pdb)
  4. CHARMM PSF 文件 (<project>.psf)

工具说明

  • charmm2lammps.pl: 将 CHARMM 文件转换为 LAMMPS 数据文件。
  • lammps2pdb.pl: 将 LAMMPS 输出文件转化为 PDB 格式。

文件结构

该工具目录下包含以下内容:

  1. Perl 脚本 charmm2lammps.pl
  2. Perl 脚本 lammps2pdb.pl
  3. 两个示例文件夹,展示工具的使用方法。
  4. 一个 “other” 文件夹,包含其他有用的工具。

使用 charmm2lammps.pl

基本命令

1
perl charmm2lammps.pl <forcefield> <project> [-option=value ...]
  • <forcefield>: CHARMM 力场名称(如 all22_prot)。
  • <project>: PSF 和 CRD 文件的通用前缀。
  • 可选参数:
    • -help:显示可用选项。
    • -nohints:不添加 CHARMM 类型的注释到 LAMMPS 数据文件。
    • -water:在晶格中加入 TIP3P 水分子(默认密度为 1 g/cm³)。
    • -ions:添加 Na+/Cl- 离子以中和分子电荷(默认无)。
    • -border:添加模拟盒边界的宽度(单位 Å,默认 0)。
    • -cmap:添加 CMAP 部分用于处理蛋白质的二面角修正。

示例命令

假设需要将 CHARMM 文件转化为 LAMMPS 文件:

1
perl charmm2lammps.pl all27_na 1ac7 -border=2.0 -water -ions
  • 这里的 all27_na 是 CHARMM 力场文件,1ac7 是项目名称。

使用 lammps2pdb.pl

基本命令

1
perl lammps2pdb.pl <project>
  • <project>: LAMMPS 输出文件前缀。

示例命令

1
perl lammps2pdb.pl 1ac7

此命令将 1ac7 的 LAMMPS 输出文件转化为 PDB 文件。


示例流程:从 CHARMM 文件到 LAMMPS 输入

  1. 获取 PDB 文件

    • 访问 RCSB PDB 数据库 下载目标分子的 PDB 文件。
    • 示例:下载 1ac7.pdb
  2. 清理 PDB 文件

    • 如果 PDB 文件包含多个模型,保留所需模型,删除其他部分。
    • 保存为 1ac7_pared.pdb
  3. 准备 CHARMM 力场文件

    • 下载 CHARMM 力场文件,例如 CHARMM 官方网站
    • 示例:使用 all27_na 力场。
  4. 生成 PSF 文件

    • 使用 VMD 的 psfgen 工具生成 PSF 文件。
    • 创建 1ac7.pgn 文件,内容如下:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      package require psfgen
      topology top_all27_na.rtf
      pdbalias residue A ADE
      pdbalias residue T THY
      pdbalias residue G GUA
      pdbalias residue C CYT
      segment A {pdb 1ac7_pared.pdb}
      coordpdb 1ac7_pared.pdb A
      guesscoord
      writepdb 1ac7.pdb
      writepsf charmm 1ac7.psf
      exit
    • 运行命令:
      1
      vmd -dispdev none -e 1ac7.pgn
  5. 运行 charmm2lammps.pl 转换文件

    1
    perl charmm2lammps.pl all27_na 1ac7 -border=2.0 -water -ions
    • 该命令会生成 LAMMPS 所需的 .data 文件和输入脚本。
  6. 运行 LAMMPS 模拟

    • 使用生成的 LAMMPS 数据文件和输入脚本:
      1
      lmp_mpi -in 1ac7.in
  7. 将 LAMMPS 输出转换为 PDB 文件

    1
    perl lammps2pdb.pl 1ac7
    • 输出 .pdb 文件,可用于可视化。

进阶说明

处理蛋白质时的 CMAP 修正

  • 蛋白质模拟中,需添加 CMAP 修正以处理二面角。
  • 示例命令:
    1
    perl charmm2lammps.pl all36_prot 1gb1 -border=2.0 -cmap=36 -water -ions
  • 确保下载并使用与力场版本匹配的 CMAP 文件(如 charmm36.cmap)。

控制离子浓度

  • 使用 -ions 参数设置离子浓度。
    1
    perl charmm2lammps.pl all27_na 1ac7 -ions=0.5
    • 0.5 表示 0.5 mol/L 的 Na+ 和 Cl-。

“Other” 文件夹内容

  1. mkpdb.f: 使用 Fortran 将 LAMMPS dump 文件转换为 PDB 格式。
  2. mkdcd.f: 将 LAMMPS dump 文件转换为 CHARMM 格式的 DCD 轨迹文件。
  3. crd2pdb.pl: 将 CRD 文件转换为 PDB 文件。
  4. pdb_to_crd.f: 将 PDB 文件转换为 CRD 文件。

总结

使用 charmm2lammps.pllammps2pdb.pl 工具可以方便地在 CHARMM 和 LAMMPS 之间进行文件格式转换。这些工具支持多种选项,可满足不同的模拟需求。通过示例流程可以快速掌握从 PDB 文件到 LAMMPS 输入文件的构建方法。