代 艷 于海濤 張立坤
【摘 要】化學標記語言CML 已得到廣泛應用,目前Web上存在著大量的以CML表示的化學結(jié)構(gòu)信息,google、百度等Web搜索引擎只能實現(xiàn)對文本的檢索,無法實現(xiàn)對化學結(jié)構(gòu)的檢索。本文在分析CML特點的基礎(chǔ)上,介紹了提取與驗證Web上CML表示的化學結(jié)構(gòu)信息的方法。利用Daylight公司的THOR-Merlin化學信息數(shù)據(jù)庫系統(tǒng),提出一種化學結(jié)構(gòu)搜索引擎的設(shè)計方案。
【關(guān)鍵詞】化學標記語言 化學結(jié)構(gòu)檢索 化學結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)
1 引言
化學標記語言CML (Chemical Markup Language)最初于1995年由Peter Murray-Rust等人基于HTML2.0開發(fā),嘗試解決在Internet上進行化學信息交換的問題。1998年2月W3C發(fā)布了XML:可擴展標記語言推薦標準1.0版?;瘜W標記語言CML也根據(jù)XML的規(guī)范進行了更改和修訂,成為根據(jù)XML的規(guī)范重新定義的一種標記語言,是XML的一個應用。
CML目前的應用已相當廣泛,如MaterialsGrid、SPECTRA等項目都采用了CML,Web上也存在著大量的以CML表示的化學結(jié)構(gòu)信息。由于化學學科的專業(yè)性和內(nèi)容的相對獨立性,目前化學信息的檢索都是基于特定的數(shù)據(jù)庫,如SciFinder、Chembank、ZINC、Pubchem、ChemDB、ChemMine等化學數(shù)據(jù)庫。本文提出一種設(shè)計方案,將CML轉(zhuǎn)換為SMILES,利用DayLight公司的THOR-MerLin系統(tǒng),建立針對Web上大量存在的CML表示的化學結(jié)構(gòu)的web搜索引擎。
2 系統(tǒng)設(shè)計框架
2.1文檔的采集與內(nèi)容分析
文檔采集即頁面抓取工作,由crawler來完成。由一組種子URL開始,從種子集URL中取出一個URL,確定相應的主機IP地址,發(fā)出抓取頁面請求。對非重復文檔提取出包含于其中的鏈接,根據(jù)制定的過濾策略(相對鏈接轉(zhuǎn)為絕對鏈接,并判斷鏈接是否需要下載),把過濾后的URL存入URL集中。同時對抓取的網(wǎng)頁的內(nèi)容進行簡單的分析,保存包含CML內(nèi)容的網(wǎng)頁。最終的THOR數(shù)據(jù)庫中并不保存整個網(wǎng)頁的內(nèi)容,而只是保存含有CML內(nèi)容的網(wǎng)頁URL。
CML表示的化學結(jié)構(gòu)信息具有區(qū)別于網(wǎng)頁其它內(nèi)容的顯明特征,它以
2.2 文檔CML內(nèi)容的抓取與有效性驗證
經(jīng)過crawler的簡單過濾,文檔內(nèi)容存儲器中的文檔都含有CML內(nèi)容。將文檔中CML內(nèi)容復制到單獨的文件中。文檔URL與文檔產(chǎn)生的CML文件具有一對n關(guān)系,n為CML文件的個數(shù)。
CML內(nèi)容的有效性驗證分三步[2, 3]。第一步確定CML內(nèi)容是否由
2.3 CML至SMILES的轉(zhuǎn)換與SMILES的存儲
SMILES是一種線性的用ASCII碼來表示原子和化學鍵的化學語言。和其它化學結(jié)構(gòu)表示方法相比,SMILES簡短易讀。同一種化學結(jié)構(gòu)用SMILES來表示要比用連接表(Connection Table)節(jié)省50%至%70的存儲空間。典范SMILES能夠保證每個化學結(jié)構(gòu)的SMILES具有唯一性,因而常被作為化學數(shù)據(jù)庫中的索引關(guān)鍵字。
CML 到SMILES的轉(zhuǎn)換,本設(shè)計采用開源軟件OpenBabel提供的API函數(shù)。OBConversion為轉(zhuǎn)換類,轉(zhuǎn)換偽碼如下:
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轉(zhuǎn)換后的SMILES及CML所在的文檔URL、當前訪問時間等存入THOR數(shù)據(jù)庫,并以SMILES作為記錄的主關(guān)鍵字。本系統(tǒng)根據(jù)Daylight提供的THOR-Merlin Toolkit來編寫Client。Client通過server來對THOR數(shù)據(jù)庫進行操作。
2.4用戶界面設(shè)計初探
用戶可以直接輸入要檢索的化學結(jié)構(gòu)的SMILES碼,或者根據(jù)提供的JME(JME是由Peter Ertl開發(fā)的java applet,用于在網(wǎng)頁上直接描繪化學結(jié)構(gòu))畫出要檢索的2D化學結(jié)構(gòu)圖,并指定結(jié)構(gòu)檢索的類型,JME會自動把用戶畫出的化學結(jié)構(gòu)轉(zhuǎn)化為SMILES碼進行檢索。
3 總結(jié)
本文提出了一種化學結(jié)構(gòu)搜索引擎的設(shè)計方案,針對Web上大量存在的CML表示的化學結(jié)構(gòu)進行檢索。但是由于CML出現(xiàn)的時間相對比較晚,Web上還有許多以其它格式存儲的化學結(jié)構(gòu)信息,下一步要研究提取與驗證Web上以其它格式表示的化學結(jié)構(gòu)信息,以便對更多的化學結(jié)構(gòu)進行檢索。
參考文獻:
[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(xiàn). P. Roth,and S. L. Schreiber. Query Chem:a Google-powered web search combining text and chemical structures. Bioinformatics,2006,22(13).