姚建華 徐雯麗 蔣舒仰 胡靜 李佳 王宇飛 李靖靖
1中國科學院能量調控材料重點實驗室,中國科學院上海有機化學研究所(上海 200032)
2鄭州工程技術學院(河南鄭州 450044)
在第一講“化學信息學概述”中,介紹了化學信息學的定義和三大類主要方法:基于數據、基于邏輯和基于原理。在本講中,將介紹第一類方法——基于數據的部分內容:化學數據庫系統的設計策略。
“數據庫”是指一組數據及其組織方式。數據庫管理系統(DataBase Management System,DBMS)提供訪問此數據庫的功能。它是一套集成的計算機軟件,允許用戶與一個或多個數據庫交互,并管理數據庫的數據訪問權限。通常,DBMS主要具備以下功能:數據輸入、存儲、檢索和管理數據的方法。
一個數據庫系統主要由兩部分組成:結構化數據(即數據庫)和數據管理系統見圖1。因此,對應的工作主要包含兩部分:(1)數據采集和規范化處理(數據庫);(2)數據管理系統的設計與開發。

圖1 數據庫系統示意圖
通常,用戶評價數據庫性能的關鍵指標包括:使用便利性、檢索結果正確性和獲得檢索結果的高效性。使用便利性是指用戶可以很方便地使用數據管理系統獲得數據庫中的數據,管理(修改、刪除、增加)數據庫中的數據。檢索結果正確性是指用戶獲得的檢索結果與提交的提問數據相符。如果用戶提交的提問數據為“年齡小于15歲的人員”,那么用戶得到的正確檢索結果是數據庫中所有的年齡小于15歲的人員名單及其相關信息,且結果中沒有15歲及以上的人員信息,否則視為檢索結果錯誤。獲得檢索結果的高效性即為用戶提交提問數據到獲得檢索結果之間的時間短、速度快。
實際上,一個數據庫系統性能與多種因素相關。如數據量、數據質量、數據庫結構、檢索算法和數據管理系統的性能。
建立一個數據庫系統的具體工作主要包括:(1)數據采集;(2)數據規范化處理規則的建立;(3)基于規則的規范化處理;(4)數據庫的數據結構設計;(5)查詢算法設計和系統開發。前面三項工作屬數據庫,第四項與數據庫和數據庫管理系統都相關,最后一項工作屬數據庫管理系統。
化學數據庫系統是具有化學專業背景的數據庫系統,它與通用數據庫系統的主要區別在于:前者包含化學專業特有的化合物化學結構和化學反應數據,它們與數字、文字或圖像數據不同。關于化學結構和化學反應數據的存儲、分析和運算涉及應用圖論[1]/化學圖論[2-3]的內容,將單獨介紹。在本講中,將主要介紹:(1)化學數據采集;(2)化學數據的規范化規則建立及規范化處理;(3)數據庫的數據結構設計;(4)查詢算法設計和系統開發(化學結構和化學反應比較算法將單獨介紹)。
根據項目或工作的實際需求,收集相關文獻報道、實驗獲得或計算獲得的數據。不同的需求,采集的數據內容和側重點有所不同。一般而言,關注化合物性質的化學數據庫,主要包含以下信息:化合物的化學結構、化合物的CAS號、化合物的名稱、化合物的相關性質參數或數據;關注化合物合成路線的化學數據庫,主要包含以下信息:合成路線、反應條件等信息。當然,也可以將關注的數據集成在一個數據庫中。由于數據采集的工作量較大和成本較高等原因,一般一個數據庫不可能收集化合物所有性質的參數或數據。
化合物的化學結構式和化學反應式是化學數據庫系統特有的數據,不同于數字、文字和圖像數據。
化合物的化學結構表達式有1維、2維和3維式。化合物的1維結構式,即為分子式,是用元素符號表示單質或化合物分子組成的式子。化合物的2維結構是以平面圖顯示原子間的排列和連接關系。化合物的3維結構是以立體圖顯示原子間的連接、排列和距離關系。圖2列出了正丁醇的1維(a)、2維(b)和3維(c)結構式。
圖2中的信息顯示:化合物的1維結構式(即分子式)的描述能力有限,只能顯示化合物的元素組成,化合物的2維結構式可以顯示分子內原子之間的連接關系以及結構的完整幾何圖形;化合物的3維結構式可以顯示分子中原子的空間位置、原子間的連接關系以及分子的三維集合結構。

圖2 正丁醇的1維(a)、2維(b)和3維(c)結構式
目前,化學數據庫中化合物的化學結構式通常采用2維和3維結構式。由于3維結構式只適用于精確分析結構的某些特定特征,而且輸入比2維結構難度大,因此,大部分化學數據庫中的化學結構采用2維結構式。化學結構式的采集以2維結構式為主。
CAS號(CASRegistry Number或稱CASNumber,CASRN,CAS#)又稱CAS登錄號或CAS登記號碼,是美國化學文摘社為每種公開發表的物質(化合物、高分子材料、生物序列(Biological sequences)、混合物或合金)標記的唯一標識符,沒有化學意義。
CAS號由“-”字符分隔為三部分,第一部分(最左邊)由2~7個數字組成,第二部分(中間)由兩個數字組成,第三部分(最右邊)由一個數字組成,用作校驗位。如列于圖2的化合物正丁醇的CAS號為:71-36-3。其中,“71”為CAS號的第一部分,“36”為CAS號的第二部分,“3”為CAS號的第三部分。目前,這個編碼規則可以為100 000 000個物質提供唯一標識碼[4]。盡管這個編碼規則簡單,但有規則,適用于數據庫檢索。目前,CAS編碼已廣泛應用于各類化學數據庫系統[5-6]。為了保證數據的質量,建議從商業數據庫或有資質的信息源采集化合物對應的CAS號。
化合物的名稱有很多種,如:系統命名的名稱(IUPAC或CAS命名的名稱);商品名;通用名或自定義名。化合物名稱通常包含數字和字母或文字。如果化合物不是新發現的,一般采用普遍被認可或使用的名稱。化合物的性質參數或數據涉及面廣,一般一個數據庫中只收錄關注的性質參數或數據。性質參數可以是數字,也可以是文字。由于數據采集的工作量和成本的原因,一般一個數據庫不可能收集化合物所有性質的參數或數據。
合成路線一般以反應式表達(如圖3所示),反應物和產物的化學結構通常以2維結構式表示。反應條件、得率及其他數據通常用文字和數字表達,溶劑可以用名稱,也可以用化學結構式表示。

圖3 環己烷的合成路線
化學數據的規范化內容主要包括化學結構式、性質數據的規范化。化學結構式的規范化即將結構式中自定義的表示都用具體的2維或3維結構式表達。性質數據的規范化即將計量單位統一,實驗條件滿足一致性。具體的規則取決于規范化對象的特征。
化學數據庫系統有單機版或網絡版兩大類。無論是哪一類管理系統,對應數據庫的數據結構設計,都必須以數據庫系統預定的功能以及數據管理系統的性能為設計根據。
本講中,將介紹兩個單機版的化學數據庫管理系統:ISIS/BASE和CISOC-ChIMS。ISIS/BASE是MDL公司設計開發的單機版化學數據庫管理系統[7]。ISIS/BASE有11種數據類型,其中常用的有:Fixed Text(定長字符串)、Variable Text(不定長字符串)、Integer(整數)、Real(實數)、Range(實數范圍)、Date(日期)、Sketch(圖形)、Structure(2維或3維化學結構)和Reaction(單步反應式)。用戶可用這些數據類型,設計數據庫的數據結構,建立單機版自用數據庫系統。用ISIS/BASE構建的單機版的化合物數據庫系統和反應數據庫系統界面如圖4所示。其中:化合物數據庫的數據結構設計采用了以下5種數據類 型——Structure,Variable Text,Real,Range 和Date;反應數據庫的數據結構采用了以下5種數據類 型:Reaction,Variable Text,Fixed Text,Range和Structure。ISIS/BASE構建的化合物數據庫和反應數據庫,庫中的每個數據域均可被作為提問數據,實現對應的數據檢索。
CISOC-ChIMS是由中國科學院上海有機化學研究所設計和開發,并具有自主知識產權的化學信息管理系統(如圖5所示)[8]。同樣,它可以用于建立單機版的化學數據庫系統。用戶無需定義數據庫的數據結構,只需直接在界面中直接輸入相關信息即可。該系統適用于建立化合物數據庫系統,具有化合物結構和文字/數字檢索功能,中文處理功能優于ISIS/BASE,并具有超級鏈接功能。前面介紹了兩個構建單機版數據庫系統的實例。已有的報道顯示,目前,網絡版數據庫管理系統基本都是根據具體的內容和要求設計和開發。例如基于網絡的危險化學品信息查詢系統,該系統采用超文本預處理器(PHP),MySQL和VC++實現,并具有化合物結構、CAS號、名稱和毒性查詢功能。用戶可以通過網絡,根據化學結構、CAS號或名稱等信息,實時獲得相關信息[9]。

圖4 ISIS/BASE構建的數據庫系統

圖5 CISOC-ChIMS數據庫管理系統
化學數據庫系統的文字和數字查詢算法可以直接采用計算機科學中成熟的算法,化學結構的查詢算法有多種,如:SMILS碼比較,拓撲指數比較等。查詢算法的效率除了與算法本身有關,還與數據庫的數據結構、索引定義等因素相關。
對于單機版的管理系統開發,建議采用VC++實現,盡可能減少系統函數的使用,以降低因操作系統差異造成管理系統不能正常運行的可能性。就網絡版的管理系統開發而言,建議采用VC++實現核心的比較功能,這將有助于保證檢索速度不受影響。
化學數據庫系統屬化學專業的數據庫系統,可應用于涉及化學數據的相關領域。化學數據庫系統數據庫中的數據主要有四大類:文字、數字、化學結構和化學反應式。其中,化學結構和化學反應式是化學數據庫系統的“標志性”數據,化學結構及化學反應數據的計算機存儲、識別、比較等方法,是構建化學數據庫系統的關鍵方法之一,也是化學數據庫的“特殊”之處。