化学材料科研不可缺少的环节:数据处理以及做图
我印象中我大多数处理数据的时间是在不同数据格式的转换,复制粘贴等。因为不同仪器软件导出来的数据格式不具有通用性和可移植性,常见的有xls、txt,还有很多不常见的bin、csv、opj这些,有时候希望能够通过数据分析软件直接达到图表展示目的。但是因为互相不兼容的问题,程序之间的衔接和数据传递都做不到,另外在不同的工具之间切换也实在令人不爽。
当我认识python之后发现这一切原来是可以实现的。python 本身可以作为script语言来使用;它的强大的数学库numpy和scipy几乎可以替代matlab完成复杂的数据处理;matplotlib 可以实现高质量的数据做图;pymol 本身就是 python 写成的,可以实现结构做图。python的面向对象的特点可以自己定义需要的库,方便以后调用。由于这些工具都集成在python中,移植性当然不成问题。另外,python还提供了其他的很有用的库,比wxpython可以用来做出一个图形界面;另外还有库可以将程序嵌入到网页当中,成为一个网页应用。这些都可以使计算化学更加方便和友好。
我们课题组方向主要就是做材料,材料领域要发高档次论文,理论计算(theoretical calculation)必不可少。理论计算常用的就是高斯和MS,我的理论计算就是采用MS软件包中的Visualizer模块来构建计算所需的结构模型,然后随后的计算则是在MS软件的Dmol3模块中完成的。
python在理论计算程序也有实质性的贡献。PyQuante (Python Quantum Chemistry) 就是一个使用python写成的量化计算软件。尽管PyQuante使用一些C语言来加速某些模块,它的计算速度与常用的量化软件还是差了一些。但PyQuante的优势在于容易阅读和修改。及其适用于新手学习,上手快。