1、基于的化学结构搜索方法初探【摘 要】化学标记语言 CML 已得到广泛应用,目前 Web 上存在着大量的以 CML 表示的化学结构信息,google、百度等 Web 搜索引擎只能实现对文本的检索,无法实现对化学结构的检索。本文在分析 CML 特点的基础上,介绍了提取与验证 Web 上 CML 表示的化学结构信息的方法。利用 Daylight 公司的 THOR-Merlin 化学信息数据库系统,提出一种化学结构搜索引擎的设计方案。 【关键词】化学标记语言 化学结构检索 化学结构数据库系统 1 引言 化学标记语言 CML (Chemical Markup Language)最初于 1995 年由Pe
2、ter Murray-Rust 等人基于 HTML2.0 开发,尝试解决在 Internet 上进行化学信息交换的问题。1998 年 2 月 W3C 发布了 XML:可扩展标记语言推荐标准 1.0 版。化学标记语言 CML 也根据 XML 的规范进行了更改和修订,成为根据 XML 的规范重新定义的一种标记语言,是 XML 的一个应用。CML 目前的应用已相当广泛,如 MaterialsGrid、SPECTRA 等项目都采用了 CML,Web 上也存在着大量的以 CML 表示的化学结构信息。由于化学学科的专业性和内容的相对独立性,目前化学信息的检索都是基于特定的数据库,如SciFinder、Ch
3、embank、ZINC、Pubchem、ChemDB、ChemMine 等化学数据库。本文提出一种设计方案,将 CML 转换为 SMILES,利用 DayLight 公司的 THOR-MerLin 系统,建立针对 Web 上大量存在的 CML 表示的化学结构的 web 搜索引擎。 2 系统设计框架 2.1 文档的采集与内容分析 文档采集即页面抓取工作,由 crawler 来完成。由一组种子 URL 开始,从种子集 URL 中取出一个 URL,确定相应的主机 IP 地址,发出抓取页面请求。对非重复文档提取出包含于其中的链接,根据制定的过滤策略(相对链接转为绝对链接,并判断链接是否需要下载),把过
4、滤后的 URL存入 URL 集中。同时对抓取的网页的内容进行简单的分析,保存包含 CML内容的网页。最终的 THOR 数据库中并不保存整个网页的内容,而只是保存含有 CML 内容的网页 URL。 CML 表示的化学结构信息具有区别于网页其它内容的显明特征,它以标记开始,以标记来结束。与标记没有实质的意义,只是起到容器的作用,作为 CML 内容的根,用来告诉其它 CML 处理程序在文档中存在化学内容。与之间可以是任何内容,而且可以嵌套。但是目前看到的一些 CML文档并未在化学结构信息的最外层加注与标记,而是直接以与表示最外层。在对文档内容分析时要考虑到这两种情况。可以采用模式匹配来分析抓取的网页
5、内容。 2.2 文档 CML 内容的抓取与有效性验证 经过 crawler 的简单过滤,文档内容存储器中的文档都含有 CML 内容。将文档中 CML 内容复制到单独的文件中。文档 URL 与文档产生的 CML文件具有一对 n 关系,n 为 CML 文件的个数。 CML 内容的有效性验证分三步2, 3 。第一步确定 CML 内容是否由与标记或 与标记所包含。这在 2.1 节中的文档内容分析时已采用,目的是过滤掉确定不含 CML 内容的文档。第二步,由于 CML 严格遵守 XML 规范,可以采用 CML DTD 与 CML Schema 对 CML 内容进行验证(CML1.x 采用DTD)。第三步
6、采用基于 XSLT 的验证方法,对 CML 的内容进行分析。比如可以通过 XSLT 来判断 CML 中的原子化合价是否合法,化合物中两个原子之间的距离是法合法等。 2.3 CML 至 SMILES 的转换与 SMILES 的存储 SMILES 是一种线性的用 ASCII 码来表示原子和化学键的化学语言。和其它化学结构表示方法相比,SMILES 简短易读。同一种化学结构用SMILES 来表示要比用连接表(Connection Table)节省 50%至%70 的存储空间。典范 SMILES 能够保证每个化学结构的 SMILES 具有唯一性,因而常被作为化学数据库中的索引关键字。 CML 到 SM
7、ILES 的转换,本设计采用开源软件 OpenBabel 提供的 API函数。OBConversion 为转换类,转换伪码如下: OBConversion conv(cin,cout); if(conv.SetInAndOutFormats(“SMI” , “MOL”) OBMol mol;if(conv.Read(mol) .manipulate molecule conv-Write(mol); THOR Server 是一后台程序,不允许用户直接对其操作,用户必须通过 THOR Client 对 THOR Server 进行操作。用户通过 THOR Client 将 CML转换后的 SM
8、ILES 及 CML 所在的文档 URL、当前访问时间等存入 THOR 数据库,并以 SMILES 作为记录的主关键字。本系统根据 Daylight 提供的THOR-Merlin Toolkit 来编写 Client。Client 通过 server 来对 THOR 数据库进行操作。 2.4 用户界面设计初探 用户可以直接输入要检索的化学结构的 SMILES 码,或者根据提供的JME(JME 是由 Peter Ertl 开发的 java applet,用于在网页上直接描绘化学结构)画出要检索的 2D 化学结构图,并指定结构检索的类型,JME 会自动把用户画出的化学结构转化为 SMILES 码进
9、行检索。 3 总结 本文提出了一种化学结构搜索引擎的设计方案,针对 Web 上大量存在的 CML 表示的化学结构进行检索。但是由于 CML 出现的时间相对比较晚,Web 上还有许多以其它格式存储的化学结构信息,下一步要研究提取与验证 Web 上以其它格式表示的化学结构信息,以便对更多的化学结构进行检索。 参考文献: 1P. Murray-Rust, H S Rzepa. Chemical Markup,XML and the WorldWide Web. 1. Basic Principles. J. Chem. Inf. Comput. Sci,1999,39(6):928-942. 2P.
10、 Murray-Rust,H S Rzepa. Chemical Markup,XML and the WorldWide Web. 4. CML Schema. J. Chem. Inf. Comput. Sci,2003,43(3):757-772. 3Gkoutos GV, Rzepa HS and P. Murray-Rust. Online validation and comparison of molfile and CML molecular atom-connection descriptors.Internet J Chem,2003,(1). 4J. Klekota,F. P. Roth,and S. L. Schreiber. Query Chem:a Google-powered web search combining text and chemical structures. Bioinformatics,2006,22(13).