代 艷 于海濤 張立坤
【摘 要】化學標記語言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表示的化學結構信息具有區別于網頁其它內容的顯明特征,它以
2.2 文檔CML內容的抓取與有效性驗證
經過crawler的簡單過濾,文檔內容存儲器中的文檔都含有CML內容。將文檔中CML內容復制到單獨的文件中。文檔URL與文檔產生的CML文件具有一對n關系,n為CML文件的個數。
CML內容的有效性驗證分三步[2, 3]。第一步確定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).