NAMD

简介

NAMD是一款用于分子动力学模拟的软件,特别用于研究生物大分子系统,如蛋白质和核酸。 应用领域:NAMD广泛应用于生物医学和生物物理学领域,用于模拟蛋白质折叠、分子间相互作用、药物与受体结合等生物大分子行为。 分子动力学模拟:NAMD基于分子动力学方法,模拟原子和分子在不同条件下的运动和相互作用,通过求解牛顿运动方程来实现。 并行计算:NAMD具有高度并行化特性,可利用多核处理器和分布式计算资源,加速大规模分子动力学模拟的计算过程。 力场模型:支持多种力场模型,如CHARMM和Amber,用于描述原子间的相互作用,可以根据需要进行定制和调整。 可视化与分析:虽然NAMD本身功能较为专注,但可与其他分子动力学软件和可视化工具集成,如VMD,以便对模拟结果进行可视化和分析。

安装环境

序号

集群

平台

版本

位置

安装方式

1

hpckapok1

Gpu

2023

/share/software/namd/NAMD_3.0b5_Linux-x86_64-multicore-CUDA

软件包安装

2

hpckapok1

cpu

2024

/share/software/namd/NAMD_3.0b7_Linux-x86_64-verbs-smp

软件包安装

3

hpckapok2

Gpu

2023

/public/software/apps/NAMD_3.0b5_Linux-x86_64-CUDA

软件包安装

4

hpckapok2

cpu

2024

/public/software/namd/3.0b7-smp

软件包安装

使用方法

hpckapok1 NAMD-CUDA版本使用方法

Slurm脚本内容:

#!/bin/bash
#SBATCH --job-name namd_job     #指定作业名称
#SBATCH --partition gpuA800     #指定提交作业到名为 'gpuA800' 节点分区
#SBATCH --nodes=1               #请求1个节点
#SBATCH --gres=gpu:1           #请求11个GPU资源
#SBATCH --ntasks-per-node=1     #在每个节点上请求1个任务

module load namd/gpu_3.0   #加载环境模块
ulimit -s unlimited             # 移除对栈大小的限制
ulimit -l unlimited             # 移除对锁定内存大小的限制
mpirun  namd3 namd_job.namd     # 使用 'mpirun' 运行 NAMD 3 程序,使用 'namd_job.namd' 作为输入配置文件
提交作业脚本:sbatch namd.sh

hpckapok1 NAMD-smp版本使用方法(用于并行)

Slurm脚本内容:

#!/bin/bash
#SBATCH -p cpuXeon6458              #指定CPU节点
#SBATCH -n 120                      #这里指定120核,请按照计算需求更改
#SBATCH --time=00:60:00             #申请的时间
#SBATCH -o %j.out                   #用于指定作业的标准输出文件的名称
#SBATCH -e %j.err                   #用于指定作业的标准错误输出文件的名称

module load oneapi/2024.1   #加载intel环境
module load namd/cpu_3.0                            #加载环境模块
ulimit -s unlimited                 #移除对栈大小的限制
ulimit -l unlimited                 #移除对锁定内存大小的限制
mpirun namd3 apoa1.namd             #使用 'mpirun' 运行 NAMD 3 程序,使用 'apoal.namd' 作为输入配置文件
提交作业:sbatch namd-mpi.sh

hpckapok2 NAMD-CUDA版本使用方法

Slurm脚本内容:

#!/bin/bash
#SBATCH --job-name namd_job     #指定作业名称
#SBATCH --partition gpuA800     #指定提交作业到名为 'gpuA800' 节点分区
#SBATCH --nodes=5               #请求5个节点
#SBATCH --gres=gpu:10           #请求10个GPU资源
#SBATCH --ntasks-per-node=9     #在每个节点上请求9个任务

module load apps/NAMD/NAMD3.0   #加载环境模块
ulimit -s unlimited             # 移除对栈大小的限制
ulimit -l unlimited             # 移除对锁定内存大小的限制
mpirun  namd3 namd_job.namd     # 使用 'mpirun' 运行 NAMD 3 程序,使用 'namd_job.namd' 作为输入配置文件
提交作业脚本:sbatch namd.sh

hpckapok2 NAMD-smp版本使用方法(用于并行)

Slurm脚本内容:

#!/bin/sh
#SBATCH -p cpuXeon6458              #指定CPU节点
#SBATCH -n 120                      #这里指定120核,请按照计算需求更改
#SBATCH --time=00:30:00             #申请的时间
#SBATCH -o %j.out                   #用于指定作业的标准输出文件的名称
#SBATCH -e %j.err                   #用于指定作业的标准错误输出文件的名称
#SBATCH -x comput[185-196]          #跳过185-196的节点申请,由于系统版本依赖原因会导致执行脚本失败

source /public/software/compiler/intel/oneAPI/intel/setvars.sh    #加载intel环境
module load apps/NAMD/NAMD3.0-charmrun                            #加载环境模块
ulimit -s unlimited                 #移除对栈大小的限制
ulimit -l unlimited                 #移除对锁定内存大小的限制
mpirun namd3 apoa1.namd             #使用 'mpirun' 运行 NAMD 3 程序,使用 'apoal.namd' 作为输入配置文件
提交作业:sbatch namd-mpi.sh

使用VMD开启GUI界面看分析图


#module load vmd/vmd_1.9         #集群1
 module load apps/VMD/VMD-1.9.4  #集群2

 执行命令:vmd
../../../_images/VMD.png

参考资料

Contributor:Mr. Yang


最后更新: 2025 年 06 月 30 日