MD轨迹-可视化
1、轨迹进行对齐、修复和分析
- cd md/analysis
- gmx_mpi trjconv -f 1/md.xtc -s 1/md.tpr -n ../pre-equ_5xvg-t28/index.ndx -o dry.xtc -pbc mol -ur compac
- (处理分子动力学模拟后的轨迹数据,去除或修复由于周期性边界条件造成的分子断裂,并且可能会用来去除溶剂或其他不需要的分子(如水)以便进行进一步分析)
- >这里选择的组别要和../pre-equ_5xvg-t28/index.ndx里的组别一致
- gmx_mpi trjconv:
- 这是 GROMACS 中用于处理轨迹文件的工具。gmx_mpi 表示使用 MPI 并行版本的 GROMACS 进行处理,通常用于大规模并行计算。
- -f 1/md.xtc:这是输入的轨迹文件路径。1/md.xtc 是你要处理的轨迹文件,通常是 .xtc 格式的压缩轨迹文件。
- -s 1/md.tpr:这是输入的拓扑文件(.tpr)。1/md.tpr 是模拟运行时生成的文件,包含了拓扑信息和其他必要的模拟参数。它用于确保轨迹数据与拓扑数据的一致性。
- -n ../pre-equ_5xvg-t28/index.ndx:这是包含选定分子组的索引文件(.ndx)。index.ndx 文件定义了一个或多个原子组,允许你在分析时选择不同的原子或分子组。这个文件可以用于选择你想要进行分析或处理的特定部分(例如,选择水分子或特定的蛋白质区域)。
- -o dry.xtc:这是输出的轨迹文件路径。dry.xtc 是输出的轨迹文件名称,经过此命令处理后的轨迹将保存为该文件。
- -pbc mol:这个参数指定了对周期性边界条件(PBC)的处理方式。-pbc mol 表示处理时将每个分子视为一个整体,并且根据周期性边界条件来修复分子断裂的情况。常见用途是将分子在模拟盒中分开或分裂的部分连接起来。
- -ur compac:这个参数控制输出轨迹的坐标格式。-ur compac 表示使用压缩的(compac)格式来输出轨迹。该格式适用于减小轨迹文件的大小,并能在后续分析中提供更高的效率。
- #选择要处理的组别,生成dry.xtc文件
- conda activate
- ambertools conda activate /home/data/zzy/software/miniconda/envs/ambertools
- cpptraj
- > parm pro.prmtop
- #该命令加载了拓扑文件 pro.prmtop,这里的pro.prmtop是包含要分析的体系。parm 命令是用来读取系统的拓扑文件,它允许 cpptraj 知道分子的连接、键、角度等信息。
- pro.prmtop是空蛋白
- native.prmtop是蛋白+小分子,是还没加水的prmtop,也可以是com-dry.pdb,也可以是第一帧蛋白即ref.pdb
- > trajin dry.xtc
- #这个命令用于加载轨迹文件 dry.xtc。dry.xtc 是你经过预处理(例如,去除水分子、PBC 修复等)后的轨迹文件。trajin 命令告诉 cpptraj 读取这个 .xtc 格式的轨迹文件,用于后续分析。
- > autoimage
- #命令用于修复周期性边界条件(PBC)所带来的分子断裂。它会自动将断裂的分子重新连接,确保每个分子都不会被切割成多个部分。这个步骤对于避免分子在轨迹中被“断开”并出现非自然的行为是非常重要的。
- > rms
- #RMSD 是用来衡量两个结构(或一个结构和参考结构)之间的差异的标准方法,通常用于评估分子在模拟过程中如何从初始状态或参考状态发生变化。rms 命令通常需要指定参考结构,可以通过追加参数来选择参考结构,计算轨迹中每一帧与参考结构的 RMSD。
- > trajout dry-align.xtc
- #在这里,经过对齐和 PBC 修复的轨迹将被保存为新的文件。输出的轨迹文件通常是与参考结构对齐后的轨迹数据。
- > run
- #命令执行 cpptraj 中列出的所有操作。
- # 跑完 ctrl C 退出cpptraj。虽然接下来还是就会用到cpptraj,但是还是得退出一下,否则生成的文件有问题,不知道原因,就很玄学。
- # 至此,轨迹基本处理好了,但是,需要可视化检查
2、生成可以在 PyMOL查看和检查结构
- cpptraj
- > parm /home/data/xcy/FBXO22/md1221/pro.prmtop
- > trajin dry-align.xtc 1 10000000000 1000
- > trajout check.pdb
- > run # 跑完按 ctrl C 退出cpptraj 即可
- # pymol 里看check.pdb 是否合理
命令汇总
- 单链:gmx_mpi trjconv -f 1/md.xtc -s 1/md.tpr -n index.ndx -o dry.xtc -pbc mol -ur compac
- >group
- 双链:-pbc参数文件使用nojump,可以规避周期性错误
- gmx_mpi trjconv -f md.xtc -s md.tpr -n index.ndx -o dry.xtc -pbc nojump -ur compac
- >group
- conda activate ambertools
- conda activate /home/data/zzy/software/miniconda/envs/ambertools
- cpptraj
- > parm "/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop"
- > trajin dry.xtc
- > autoimage
- > rms
- > trajout dry-align.xtc
- > run
- cpptraj
- > parm /home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/complex.prmtop"
- >trajin dry-align.xtc 1 10000000000 1000
- > trajout check.pdb
- > run # 跑完按 ctrl C 退出cpptraj 即可
- # pymol 里看check.pdb 是否合理
- 这里面的原子信息要对齐
关于双链(4zy4)周期性处理(目的是可视化)的参数使用实验
第一次记录:使用ref.pdb(第一帧)
- 1:
- gmx_mpi make_ndx -f md.gro -o index.ndx
- >1|13
- echo 18|gmx_mpi trjconv -s md.tpr -f md.xtc -n index.ndx -o ref.pdb -pbc mol -ur compact -dump 0
- echo 18|gmx_mpi trjconv -s md.tpr -f md.xtc -n index.ndx -o pbc.xtc -pbc mol -ur compact
- source ~/.gmx-cpptraj.sh
- cpptraj.OMP
- >parm ref.pdb
- >trajin pbc.xtc
- >autoimage
- >trajout pbc-auto.xtc
- >run
- source ~/.gmx-2022.5-GPU.sh
- gmx_mpi rms -f pbc-auto.xtc -s ref.pdb -n index.ndx -o rmsd-protein.xvg
- 可视化
- source ~/.gmx-cpptraj.sh
- cpptraj.OMP
- > parm ref.pdb
- >trajin pbc.xtc 1 10000000000 1000
- >rms
- >trajout check.pdb
- > run
- # pymol 里看check.pdb 周期处理有问题
第二次记录:使用prmtop (和使用第一帧是一样的)
- 1:
- #gmx_mpi make_ndx -f md.gro -o index.ndx
- #gmx_mpi trjconv -f 1/md.xtc -s 1/md.tpr -n index.ndx -o dry.xtc -pbc mol -ur compact
- #>group
- source ~/.gmx-cpptraj.sh
- cpptraj.OMP
- > parm "/home/data/pengziyu/0106/md-4zy4/0108-4zy4-3/complex/native.prmtop"
- > trajin pbc.xtct
- > autoimage
- > rms
- > trajout pbc-align.xtc
- > run
- source ~/.gmx-2022.5-GPU.sh
- gmx_mpi rms -f pbc-align.xtc -s md.tpr -n index.ndx -o rmsd-protein.xvg
- 可视化
- source ~/.gmx-cpptraj.sh
- cpptraj.OMP
- parm "/home/data/pengziyu/0106/md-4zy4/0108-4zy4-3/complex/complex.prmtop"
- trajin pbc.xtc 1 10000000000 1000
- rms
- trajout check.pdb
- run
- # pymol 里看check.pdb 周期性处理仍有问腿
第三次记录:analysis-4zy4 参数文件使用pbc nojump(周期性处理更好,不存在跳帧问题)
- gmx_mpi trjconv -f md.xtc -s md.tpr -n index.ndx -o dry.xtc -pbc nojump -ur compact
- >group
- source ~/.gmx-cpptraj.sh
- cpptraj.OMP
- > parm /home/data/pengziyu/0106/md-4zy4/0108-4zy4-3/complex/native.prmtop
- > trajin dry.xtc
- > autoimage
- > rms
- > trajout dry-align.xtc
- > run
- cpptraj.OMP
- > parm /home/data/pengziyu/0106/md-4zy4/0108-4zy4-3/complex/native.prmtop
- >trajin dry-align.xtc 1 10000000000 1000
- > trajout check.pdb
- > run # 跑完按 ctrl C 退出cpptraj 即可
- # pymol 里看check.pdb 是合理的
- 问题:
- source ~/.gmx-2022.5-GPU.sh
- gmx_mpi rms -f dry-align.xtc -s md.tpr -n index.ndx -o rmsd-protein.xvg
- :这里的dry-align.xtc是前一步rms过的,如果利用这个xtc文件做rmsd效果很差,为什么
5xvg实验记录:analysis1
- 第一次
- gmx_mpi trjconv -f 1/md.xtc -s 1/md.tpr -n index-pro-mol.ndx -o dry.xtc -pbc mol -ur compac
- conda activate /home/data/zzy/software/miniconda/envs/ambertools
- cpptraj
- > parm "/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop"
- > trajin dry.xtc
- [trajin dry.xtc]
- Reading 'dry.xtc' as Gromacs XTC
- Error: # atoms in XTC file (4738) does not match # atoms in parm native.prmtop (4752)
- Error: Could not set up 'dry.xtc' for reading.
- Error: Could not set up input trajectory 'dry.xtc'.
- 第二次
- gmx_mpi trjconv -f 1/md.xtc -s 1/md.tpr -n index_pro-mol-sep.ndx -o dry.xtc -pbc mol -ur compac
- >19
- conda activate /home/data/zzy/software/miniconda/envs/ambertools
- cpptraj
- > parm "/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop"
- [parm "/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop"]
- Reading '/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop' as Amber Topology
- Radius Set: modified Bondi radii (mbondi)
- > trajin dry.xtc
- [trajin dry.xtc]
- Reading 'dry.xtc' as Gromacs XTC
- Warning: Trajectory box type is 'Orthorhombic' but topology box type is 'None'.
- Warning: Setting topology box information from trajectory.
- > autoimage
- [autoimage]
- AUTOIMAGE: To box center based on center of mass, anchor is first molecule.
- > rms
- [rms]
- RMSD: (*), reference is first frame (*).
- Best-fit RMSD will be calculated, coords will be rotated and translated.
- > trajout dry-align.xtc
- [trajout dry-align.xtc]
- Writing 'dry-align.xtc' as Gromacs XTC
- > run
- [run]
- cpptraj
- > parm "/home/data/pengziyu/0106/md-5xvg/complex-5xvg-t28/native.prmtop"
- >trajin dry-align.xtc 1 10000000000 1000
- > trajout check.pdb
- > run # 跑完按 ctrl C 退出cpptraj 即可
- # pymol 里看check.pdb 是合理的