cclib:一个用来解析和解释计算化学软件包输出结果的库

cclib

cclib是一个由Python编写的开源库,它用于解析计算化学软件包的结果。cclib的目标主要是对来自程序和包含在输出文件中的数据进行重用。

主要功能

  • 从多个程序的输出文件中提取(解析)数据;
  • 提供一个与计算化学结果一致的接口,特别是那些对于算法或者可视化有用的结果;
  • 促进那些对特定计算化学软件包不明确算法的实现;
  • 最大化与其他开源计算化学及化学信息软件库的互操作性。

概要

cclib的当前版本是cclib1.4(可以查看更新文档来看最近更新)。它可以解析来自以下程序(在括号中的版本在测试)的输出文件:

许多类型的输出文件都是由cclib进行解析的,包括院子坐标、轨道信息、振动模式及TD-DFT计算。在数据提取页面能够查看所包含程序的完整列表。cclib还提供了一些用于解释分子的电子性质的计算方法

如何使用cclib

你可以下载cclib1.4的资源包或者当前开发版本(来自GitHub库)。有关可用包、安装源代码和要求、以及基本用法的信息,可前往教程查看。 如果你需要进一步的帮助、发现了一个漏洞、需要新的功能或者有任何问题,请发送email到邮件列表或者将问题提交到tracker

教程

要求

在安装cclib之前,你需要确定以下内容已经安装成功:

  • Python(推荐使用最低版本为3.0版本,虽然2.7版本也仍然支持)
  • NumPy(推荐最低版本为1.5)

Debian GNU/Linux 系统

如果你在使用Debian GNU/Linux,Ubuntu或者类似的系统,官方提供了cclib包,你可以使用任何包管理器或者一条简单的命令完成安装: aptitude install cclib

实际上一共有两个包,python-cclibcclib,python-cclib包括了Python模块,cclib配置用户脚本信息。如果你还需要安装我们发布的单元测试和日志文件,你需要从非免费库(由于版权原因)安装cclib-data包。

手动下载与安装

最新发布的源代码发布在:

在windows上,如果下载.exe文件,可以双击文件直接安装。卸载时在控制面板中使用“add and remove programs”。

如果你使用.zip或者.tar.gz文件,请将文件解压到合适的安装路径。打开控制台终端将路径切换到安装路径下,紧接着运行以下命令来安装cclib: python setup.py build python setup.py install # (as root)

在Python中import cclib来测试是否安装成功: $ python3 Python 3.2.3 (default, Feb 27 2014, 21:31:18) [GCC 4.6.3] on linux2 Type “help”, “copyright”, “credits” or “license” for more information.

解析数据描述及注释(1.4版本)

cclib1.4版本包含了一系列解析数据,这些内容包括了数据描述及当前数据实现的详细信息。 同时官方还提供了解析数据注释,包含了数据集属性的技术细节以及如何在不同的程序和实例中的生成方式。

计算方法

cclib提供了以下方法实现了对计算结果的进一步分析。 例如: C-squared总体分析(CSPA) CSPA能够用来决定和解释分子的电子密度。CSPA类可从cclib.method调用来执行C-squared总体分析。用法如下: from cclib.method import CSPA from cclib.parser import Gaussian

在calculate()方法被调用后,可以查看结果中的aoresults,fragresults,fragcharges属性。 其他计算方法见资源页面

开发

默认的cclib文件是随发行版部署的,正如在教程中说的那样,做这些测试时候请不要包含任何单元测试和日志文件。在开发部分介绍了如何下载包括所有测试数据和脚本文件的源程序,以及如何用这些程序做开发与测试。 包含内容有:

  • 从GitHub拷贝cclib
  • 指导方法
  • 发布一个新版本
  • 测试
  • 单元测试
  • 回归测试
  • Doctests(Python测试框架)
  • 与cclib相关的网站
  • 开发者信息

版本更新信息

版本更新包含了cclib的历史版本的更新信息,包括了各个版本修复的bug及新特性。

开发资源链接

官方网站:http://cclib.github.io/contents.html
开源地址:https://github.com/cclib

1 3 收藏

资源整理者简介:赵叶宇

Python技术学习者,主要集中数据分析领域和机器学习。 个人主页 · 贡献了7个资源 · 1


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer