NAMD
概况
NAMD于上世纪90年代末诞生于伊利诺伊大学香槟分校的理论与计算生物物理研究组,由Klaus Schulten带领的研究团队主导开发。NAMD诞生之时生物大分子的动力学模拟领域已有包括CHARMM和Amber在内的数个成熟软件,但多数尚未在逐渐流行的大规模并行硬件系统上取得良好的性能。NAMD的开发者将该软件的最重要特色定位为可扩展性,专门针对大规模高性能并行计算,从NAMD最初的名称来源Not Another Molecular Dynamics program也可见其初心。NAMD的开发很大程度上得益于伊利诺伊大学香槟分校强大的计算理论学术资源,从设计到实现和优化一直由Laxmikant Kale带领的并行编程实验室团队参与其中。计算机及应用数学领域专业人士的参与使得NAMD在算法实现的稳健性及代码结构的合理性上都具备明显的长处。该软件在设计上与大部分同类软件最大的区别在于基于Charm++的并行模式。Charm++是伊利诺伊大学并行编程实验室开发的并行编程框架,为NAMD及多个其他领域的科学计算软件提供了坚定的基石。NAMD开发者曾在公开报告中表示NAMD的开发是直接由计算科学研究驱动的。该软件于2002年获得戈登贝尔奖。
主要功能
- 能量最小化、动力学计算及基本的轨迹分析功能,支持多时间步长积分。
- 原生支持CHARMM、Amber、GROMACS力场,可直接读取这三种软件的参数文件。其中对CHARMM力场可做到完全支持,Amber及GROMACS做到大部分支持。NAMD提供的力场函数形式可支持OPLS力场,但使用者须先对OPLS参数文件进行格式转换。
- 可极化力场方面,NAMD支持一种基于Drude振荡的模型,与CHARMM的DRUDE模块来源于同样的理论工作。
- 支持一种基于Generalized Born模型的隐式溶剂模型,与Amber类似(https://www.ncbi.nlm.nih.gov/pubmed/15048829)
- 2.12版新近加入了对hybrid QM/MM计算的支持。该版本为NAMD与量化软件提供了一个通用的接口,并可实现同时模拟多个量化区域及模拟进程中更新量化区域等功能,但具体信息尚未正式发布。
- 支持多种Steered Molecular Dynamics方法。
- 支持Alchemical free energy perturbation自由能计算。
- 支持Adaptive biasing force potential of mean force计算。
- 通过VMD实现可交互式动力学, 用户可通过键鼠实时施加外部作用力。
- 提供一套可选的基于Tcl的接口,该接口使得用户可以在configutation文件中使用Tcl脚本进行流程控制,用户得以混合使用参数关键字、Tcl原生命令及NAMD提供的一组扩展Tcl命令来控制计算及分析作业,并可以通过Tcl接口实现自定义力和自定义算法。
- 独立的ColVars模块提供灵活的collective variables定义接口。
特色
与大多数同类软件不同,NAMD的并行模式建立在Charm++提供的并行框架之上。Charm++是一种面向对象、跨平台的C++库,为并行编程提供高层抽象。在Charm++的并行模型中,程序被划分成中等粒度的重复任务,由称为chare的对象执行,chare之间通过消息相互作用。Chare到物理处理单元的映射和其间消息的传递由Charm++运行系统负责完成。该模型通过消息驱动的异步并发模式实现通信与计算的重叠,另一方面通过对Chare的调度实现动态负载均衡。 在此基础之上,NAMD采用了空间/力混合划分模式来划分并行任务,相对于其他主要采用空间划分实现并行的同类软件对计算的划分粒度更细。该模式在其后为Blue Matter和Desmond采用。在这种并行模式支持下的高可扩展性成为NAMD最重要的特色。
其他
- NAMD官方网站针对多种平台提供了预编译的可执行文件,用户可以选择从源码编译或直接下载使用,后者十分简便快捷。
- 作为与NAMD共同开发的互补软件,VMD在文件格式和交互界面等方面与NAMD完全匹配,二者可实现无缝连接。除了为NAMD构建模型,VMD还可通过Tcl插件直接调用NAMD进行动力学计算,对计算结果进行实时监控,乃至通过键鼠实时施加外部作用力。VMD强大的功能和广泛的应用成为NAMD的一大优势。
Comments are Closed