对化学结构式图片进行OCR

原文在 Have your hamburger and eat it - Edit molecules in PDFs。虽然讲的是“编辑PDF中的结构式”,实际上的核心意思是通过OCR的手段,将结构式还原回来。

OCR文字,识别个名片简单,但是恢复带有图型结构的化学结构式图片,看起来就不那么容易了。这篇文章里提供的工具,却偏偏很容易。

核心的软件是BKChem,是基于Python的开源化学信息学软件。很可惜这个网站在国内被盾住了,上传一个在这里

Windows环境下软件配置的步骤是

  1. 安装Python
  2. 按照Python的版本安装 Python Imaging Library
  3. 下载并且安装BKChem-0.12.5.zip。国内下载不了请用这个链接
  4. 下载 convert_clipboard_image.pyconvert_clipboard_image.xml 这两个文件,放在BKChem的plugins文件夹里。这个文件夹一般的路径是这样的 C:\Python25\share\bkchem\plugins
  5. 下载osra-mingw-1-1-0.zip,解压。在系统变量中,设置OSRA变量的值是解压后文件夹中osra.exe的绝对路径。

 

软件使用的方法是

  1. 在C:\Python25\Lib\site-packages\bkchem路径下,双击bkchem.py,运行BKChem。
  2. 在打开的PDF/ Word/ 画图板等软件中拷贝结构式图型。
  3. 在BKChem中点击plugins菜单下的"Paste and Convert Image",就可以开始转换了。

然后呢,当然就是继续编辑这个结构式啦。与其他OCR一样,在准确性是不能达到100%的。往往一些环结构会断掉,特殊的元素、手性键会认错。

不过这已经离可以转换成mol/ SMILES/ InChI格式的结构式不远了。

090218, update

Optical Structure Recognition Software To Recover Chemical Information: OSRA, An Open Source Solution

 

 

活的数据,中国30年

非常值得看的一段视频,数据可视化演示得精彩。

讲演的大爷以前是研究社会发展的,研究的数据也与此有关。其中一共有三个片段分别提到了中国。对中国的发展历程,展示的很生动。

家庭人口和人均寿命

  • 纵坐标是平均寿命,横坐标是家庭人口(准确讲是“每个母亲的孩子数”)。
  • 总体来讲,是发展中国家(红点)家庭人口多,平均寿命低,发达国家相反。
  • 62年时,最左边的大红点是中国,下面的红点是印度。那个时候中国就比印度平均寿命高。
  • 随着时间变化,国家都在发展,大多数国家都移动到了“家庭人口少,平均寿命高”的位置。
  • 中国的发展速度,始终是领先于印度。
  • 中国在60年代有一次很诡异的平均寿命下降的动作,是那场天灾人祸。
  • 中国跑得快,肯定和计划生育相关。

婴儿的成活率

  • 世界各国的婴儿成活率(纵轴),与经济水品(横轴GDP)有明显的线性关系。
  • 中国(图中的大黄点),在时间上的变化很有趣。
  • 1978年之前的“毛时代”,中国的经济水品一直处于世界的末位,但是婴儿的成活率却是大大高于这条规律直线。这就是成就。很多人怀念、赞赏毛时代的体制,不全无道理。
  • 1978年之后的“邓时代”,中国的经济水平迅速攀升,但是婴儿成活率却没有提高。加迅速地回归到规律直线。
  • 简单的讲,改革开放后中国人生活水准的提高速度,与中国经济发展的速度不匹配。

收入分布

  • 红色是中国的收入分布;绿色是美国。
  • 在1972年,“根本没有交集”,美国最穷的人也比中国最富的人有钱。
  • 曲线的宽度是贫富差距。1972年中国贫富差距很小,美国很大。
  • 1999年,中国“像一个幽灵一样”,扑向美国。这段动画非常形象。
  • 但是1999年,中国的收入分布形状,很明显地展示了中国的贫富差距增大的趋势。
 

 

Random posts

  • XSLT中的DISTINCT和GROUP
  • My software suites
  • 谷歌输入法词典 与 我说话的习惯
  • 晨雾回龙观
  • 数据(内存)对齐