开源分子图形学工具包在有机化学教学上的应用
2018-10-13江辰陈明
江辰 陈明
摘要:Kekule.js是由作者自主编写完成的一套基于Web技术的开源化学信息学工具包,其可视化方面的功能可将有机分子的立体模型嵌入网页中。在有机化学课程的教学中,使用该工具包可制作一系列有关分子立体结构的演示,并利用鼠标或触摸屏与分子进行交互,进而展示构型、构象等立体概念。此类页面可直接在浏览器内显示,无需安装任何额外软件,使用便捷,也易于与现有的在线课程管理系统结合,既适合课上教师的讲解,也利于学生课下的复习。
关键词:Kekule.js;分子可视化;有机化学;分子模型演示
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)44-0158-02
一、引言
在大学有机化学课程的初始阶段,学习者需要迅速建立起分子空间结构的基本概念,此后的学习中,诸如手性、对映异构、构象分析乃至于反应位阻分析等知识均与分子的立体形象有关。在涉及此类知识的教学中,教师也经常采取各种辅助手段向学习者直观演示分子的三维形象。目前最常见的做法是借助ChemOffice、VMD、RasMol、JMol等化学信息学软件,使用鼠标在屏幕或投影上操作虚拟的分子三维模型。此种方式成本较低,远距离较易观察,适合课上演示,但需事先安装相应软件,学生在课下复习时则有颇多不便之处。随着互联网技术的发展,近年来也出现了一批基于Web技术的分子图形学软件,我们也自行开发了一套采用JavaScript编写的开源化学信息学工具包Kekule.js。在教学中,我们利用此工具包展示分子模型,可直接将模型嵌入网页中,在网络浏览器或其他一些Web程序中显示、操作,无需预装软件,也易于与网上课程管理系统结合。该工具包亦具备良好的跨平台特性,PC或移动平台中均可使用。
二、Kekule.js的使用
Kekule.js是一套功能强大的化学信息学工具包,支持多种分子数据格式的输入输出、化学结构的2D/3D可视化以及一系列化学信息学算法的实现。我们在开发过程中还利用Emscripten将数个原以C/C++编写的工具库编译为JavaScript并作为附加模块整合进Kekule.js以提供一些额外功能。如整合OpenBabel后可额外支持数十种化学数据格式的读写,并提供一定的分子力学计算能力。此外为方便使用,工具包还封装了数个可直接嵌入在HTML中的控件用以显示或编辑化学结构。日常教学中进行分子立体模型演示时,只需使用Kekule.js的很少一部分功能,一般可直接利用Viewer3D控件。首先需在HTML页面中引入必要的JavaScript与CSS样式表文件。
href="themes/default/kekule.css" />
而后只需一行代码即可将Viewer3D控件绑定到普通的HTML元素上。
mol)" data-molecule-display-type="34">
在對映异构的教学段落,我们也特意编制了包含一对Viewer3D控件的演示页面供学习者课后复习(图1)。页面中预置了一系列典型的手性/非手性分子的列表,当用户自列表中载入分子时,两个Viewer3D控件将分别显示分子的实物与镜像模型。学习者可分别旋转两个模型,通过观察其是否可以重叠来验证原分子是否具有手性。原先学生往往不易理解一些较复杂的含有手性轴或手性面的分子,引入此页面后,关于这类内容的学习难度也有了明显的降低。
教师能够预先提供的三维分子数据总是有限的,很多时候,学习者也希望能够查看其他一些分子的立体形象。为此,我们还特制了一个计算分子三维结构的Web程序。用户可在分子编辑器控件中利用鼠标输入平面结构,程序在后台线程中调用OpenBabel附加模块进行分子力学计算,待计算完毕,即将生成的三维结构显示在Viewer3D中。由于整个过程均由JavaScript在用户端浏览器中执行,计算时并不额外消耗服务器资源,也易于在各类环境下进行部署。
四、结语
在我们自身的有机化学教学中,基于web技术的Kekule.js工具包充分发挥了它在分子可视化方面的能力,能够在无需安装专门软件的情况下跨平台地对分子立体模型进行演示。无论在教师授课还是学生的课下预习、复习环节上均取得了不错的效果。加之Kekule.js是一开源的化学信息学工具包,使用上几乎无费用与版权问题,也便于进行二次开发以适应个性化的需求,因此在教学上完全可以作为目前常用的ChemOffice、VMD等软件的替代,具有相当的应用潜力。
参考文献:
[1]Dori YJ,Barak M.J.Educ.Technol.Soc.2001,4(1):61-74.
[2]唐律,麦裕华,李景宁.大学化学.2008,23(4):47-50.
[3]郑荣珍,严思仪,刘亚男,杜芬芬,蔡开聪.化学教育.2016,37(12):67-70.
[4]Jiang C,Jin X,Dong Y,Chen M.J.Chem.Inf.Model.2016,56(6):1132-1138.
[5]Jiang C,Jin X.J.Chem.Inf.Model.2017,57(10):2407-2412.
Abstract:Kekule.js,developed by the authors,is an open source JavaScript toolkit for cheminformatics.The toolkit can render chemical structure models in Web pages without the help of any other plugins or software. In the teaching of organic chemistry,the toolkit is ideal to help to demonstrate the interactive 3D molecule models and to explain the concept of configuration and conformation of organic compounds.Since those demonstration pages can be viewed in Web browsers directly,they can be integrated with existing lesson management system and be easily used by both teachers and students.
Key words:Kekule.js;molecular graphics;organic chemistry;molecular model presentation