推荐期刊

基于Web的CML化学结构搜索方法初探

时间:2015-12-21 01:47:26 所属分类:计算机技术 浏览量:

【摘 要】化学标记语言CML 已得到广泛应用,目前Web上存在着大量的以CML表示的化学结构信息,google、百度等Web搜索引擎只能实现对文本的检索,无法实现对化学结构的检索。本文在分析CML特点的基础上,介绍了提取与验证Web上CML表示的化学结构信息的方法。利

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

转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36343.html