技术背景

在分子动力学模拟过程中会遇到一些拓扑结构非常复杂的分子模型,所谓的复杂不仅仅是包含众多的原子,还有各种原子之间的成键关系与成键类型等。这时候就非常能够体现一个好的可视化软件的重要性了,这里我们介绍的VMD是一个业界非常常用、功能也非常强大的一款软件。

VMD的安装

首先访问VMD官方网站,找到适合自己本地OS和硬件系统的版本进行下载。这里我们本地是Ubuntu20.04的系统,所以下载了一个Linux通用的版本:



下载到本地之后,找到一个合适的文件夹进行解压:

dechin@ubuntu2004:~/projects/vmd$ tar -xvf vmd-1.9.4a51.bin.LINUXAMD64-CUDA102-OptiX650-OSPRay185.opengl.tar.gz

解压之后进入主目录,运行configure

dechin@ubuntu2004:~/projects/vmd/vmd-1.9.4a51$ ./configure
using configure.options: LINUXAMD64 OPENGL OPENGLPBUFFER FLTK TK ACTC CUDA IMD LIBSBALL XINERAMA XINPUT LIBOPTIX LIBOSPRAY LIBTACHYON LIBPNG ZLIB VRPN NETCDF COLVARS TCL PYTHON PTHREADS NUMPY SILENT ICC

最后进入src目录,执行make install完成安装:

dechin@ubuntu2004:~/projects/vmd/vmd-1.9.4a51$ cd src/
dechin@ubuntu2004:~/projects/vmd/vmd-1.9.4a51/src$ sudo make install
[sudo] dechin 的密码:
Info: /bin/csh shell not found, installing Bourne shell startup script instead
Make sure /usr/local/bin/vmd is in your path.
VMD installation complete. Enjoy!

安装成功后,在终端窗口中执行vmd会弹出两个窗口,一个用于显示加载的文件和配置:



另一个窗口用于显示输入分子模型的3D结构,如果没有输入任何分子模型数据的情况下,这个界面会展示一个一直旋转的VMD字样的模型:

VMD的使用

VMD的使用方法有很多中,tcl的语言也使得可以执行更高阶更灵活的操作,比如参考链接1中的操作就非常的华丽。但是这里我们仅仅为了可视化静态的3D分子模型,所以只介绍一些基本用法。首先我们需要在本地构建一个分子模型的文件,一般以.xyz结尾。文件的格式为:开头的分子数,第二行的标记,这里使用的是mol这种标记,后面的所有行数是标定每一个分子的具体三维坐标,也就是空间位置。这里直接使用了参考链接1中所给出的xyz文件:

dechin@ubuntu2004:~/projects/gitlab/dechin/src/vmd$ vim file.xyz

具体的file.xyz文件内容如下所示:

24
mol
C -1.615 -0.739 -3.043
C -0.076 -0.706 -3.045
H -1.963 -1.227 -3.929
H -1.959 -1.275 -2.183
C 0.469 -2.145 -3.087
H 0.268 -0.169 -3.905
H 0.272 -0.218 -2.159
H 1.539 -2.122 -3.089
H 0.126 -2.682 -2.227
H 0.122 -2.633 -3.974
C -2.160 0.701 -3.001
C -3.700 0.667 -2.999
H -1.817 1.237 -3.861
H -1.812 1.188 -2.114
C -4.245 2.107 -2.957
H -4.047 0.179 -3.885
H -4.043 0.131 -2.139
H -3.897 2.594 -2.070
H -3.901 2.643 -3.817
C -5.784 2.073 -2.955
O -6.394 1.131 -3.525
N -6.541 3.141 -2.286
H -7.407 2.773 -1.946
H -6.007 3.500 -1.521

保存后,直接运行vmd file.xyz即可弹出相关分子模型的可视化界面:



默认打开的3D分子模型是Line格式的,也就是都被抽象为线条:



此时可以点击界面上的Graphic->Representations,可以弹出一个表示格式的框:



Drawing Method下找到CPK模式,点击Apply即可应用到图层当中:



在这种模式下可以看到每个原子以及原子跟原子之间的成键关系,是非常常用的一个模式。

总结概要

本文重点介绍了VMD分子动力学模拟可视化软件的安装与基本使用方法,VMD是一款非常小而精致的可视化工具,在业界也备受推崇。如果只是用于做分子模型的展示,功能是完全足够的,如果要执行更多的操作,需要掌握tcl语言,当然这也是一个坑点。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/vmd.html

作者ID:DechinPhy

更多原著文章请参考:https://www.cnblogs.com/dechinphy/

参考链接

  1. https://www.ks.uiuc.edu/Research/vmd/current/ug/node4.html
  2. https://jerkwin.github.io/2020/03/25/VMD建模示例/

分子动力学模拟软件VMD的安装与使用的更多相关文章

  1. 增强采样软件PLUMED的安装与使用

    技术背景 增强采样(Enhanced Sampling)是一种在分子动力学模拟中常用的技术,其作用是帮助我们更加快速的在时间轴上找到尽可能多的体系结构及其对应的能量.比如一个氢气的燃烧反应,在中间过程 ...

  2. 网络运维必回的模拟器-GNS软件下载和安装

    网络运维必回的模拟器-GNS软件下载和安装 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.GNS简介 1>.什么是GNS GNS3是一款具有图形化界面可以运行在多平台( ...

  3. 发现护考上机考试的一个bug:附软件截图(模拟软件)

    目录: 一.文章主旨 二.问题发现的起因 三.bug(问题)描述 四.软件截图 五.我的思考 六.一点期盼 一.文章主旨: 2019年5月18.19.20日,又是一年一度的护资考试(上机考),考试前夕 ...

  4. 用JSON-server模拟REST API(一) 安装运行

    用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...

  5. Ubuntu安装软件提示”需要安装不能信任的软件包”解决办法

    用 Ubuntu 安装输入法软件包时提示"需要安装不能信任的软件包","这个动作需要从没有授权的软件源来安装软件包",赋予权限执行仍然无法安装,上网查了一下,只 ...

  6. PfSense基于BSD的软件防火墙的安装、配置与应用

    PfSense基于BSD的软件防火墙的安装.配置与应用 PfSense是一个FreeBSD下的免费开源的防火墙和路由器软件,他为了在X86平台上面建立一个高集成性的防火墙项目,下面就为大家展示如何配置 ...

  7. 一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)

    打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/ ...

  8. RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试

    RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 特别说明: 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电. 如何使用: 1.需要用到的模块或器件: Arduin ...

  9. CentOS下下载软件,不安装的方法

    今天来说下在CentOS下下载软件,不安装的方法: 方法一:通过yum自带一个工具:yumdownloader[root@web1 ~]#  rpm -qa |grep yum-utils[root@ ...

随机推荐

  1. 漏洞复现-CVE-2014-3120-ElasticSearch 命令执行漏洞

        0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 < ElasticSearch 1.2的版本 ...

  2. 前端笔记:React的form表单全部置空或者某个操作框置空的做法

    1.全部置空的做法,一般在弹出框关闭后,需要重置该form所有表单: this.props.form.resetFields(); 2.针对某个操作框置空的做法 例如,form表单里有一个部门和一个张 ...

  3. JVM实战调优(空格引发的服务异常)

    JVM实战调优 问题描述 某一个项目中有一个文字转语音的服务,使用的是科大讯飞的语音转换服务,需要调用三方服务.因其转换服务是一个耗时操作,官方给的demo使用的是 WebSocket 进行数据转换操 ...

  4. git的回滚与撤销【reset and revert】

    git的工作流程-- 3个区域 工作区:我们可以看到的文件内容 在操作 git add 之前的!! 缓存区:是不可见的  已经git add操作,还没git commit -m "" ...

  5. 谈谈C++中的数据对齐

    对于C/C++程序员来说,掌握数据对齐是很有必要的,因为只有了解了这个概念,才能知道编译器在什么时候会偷偷的塞入一些字节(padding)到我们的结构体(struct/class),也唯有这样我们才能 ...

  6. Java 操作PPT数字签名(一):添加、检测、删除签名

    本文简要概述如何通过Java程序来处理PPT中的数字签名,文章主要分三个部分来介绍,即数字签名的添加.验证以及删除. 基本操作思路: 1. 添加签名:[加载PPT文档]→[添加签名]→[保存文档] 2 ...

  7. 【故障公告】阿里云 RDS SQL Server 数据库实例 CPU 100% 引发全站故障

    非常抱歉,今天 8:48 开始,我们使用的阿里云 RDS SQL Server 数据库实例突然出现 CPU 100%  问题,引发全站故障,由此给您带来麻烦,请您谅解. 发现故障后立即进行主备切换,和 ...

  8. .net 开源模板引擎jntemplate 教程:基础篇之在ASP.NET MVC中使用Jntemplate

    在ASP.NET MVC 中使用Jntemplate 上一篇我们详细介绍了jntemplate的标签语法,本篇文章将继续介绍如何在ASP.NET MVC 中使用Jntemplate. 一.使用Jnte ...

  9. Flowable与springBoot项目整合及出现的问题

    Flowable与springBoot项目整合及出现的问题 单纯地将Flowable和springBoot整合,使用mysql作为数据库,整合中踩了两个坑,见文末. 在pom中添加依赖 <?xm ...

  10. Spring Authorization Server 全新授权服务器整合使用

    前言 Spring Authorization Server 是 Spring 团队最新开发适配 OAuth 协议的授权服务器项目,旨在替代原有的 Spring Security OAuth 经过半年 ...