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

参考资料¶
Contributor:Mr. Yang