摘要:針對生物信息分析平臺的構(gòu)建,給出一種復(fù)合C/S、B/S的多層體系結(jié)構(gòu)模型——BIOCMSM,并以構(gòu)建新城疫病毒(NDV)生物信息分析平臺為例,研究了該多層結(jié)構(gòu)模型的實(shí)現(xiàn)過程。實(shí)驗(yàn)證明,BIOCMSM較好地解決了生物數(shù)據(jù)更新、數(shù)據(jù)集成、應(yīng)用集成等問題。
關(guān)鍵詞:二級數(shù)據(jù)庫; 多層體系結(jié)構(gòu); 代理程序; 數(shù)據(jù)處理層
中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)11-0055-02
近年來,分子生物學(xué)發(fā)展的一個顯著特點(diǎn)是生物數(shù)據(jù)的劇烈膨脹,并迅速形成了海量的生物信息庫。到目前為止,GenBank中約有3 000多萬條核酸序列;SWISS-PROT中約有19萬條蛋白質(zhì)序列;PDB中約有32 000多套結(jié)構(gòu)。生物信息數(shù)據(jù)庫的目錄數(shù)據(jù)庫DBCat收集的生物信息數(shù)據(jù)庫已達(dá)510 多個。歸納起來,這些生物信息數(shù)據(jù)庫主要有兩大類,即一級數(shù)據(jù)庫和二級數(shù)據(jù)庫。一級數(shù)據(jù)庫的數(shù)據(jù)直接來源于實(shí)驗(yàn)獲得的原始數(shù)據(jù);一般只經(jīng)過簡單的歸類與注釋,主要包含數(shù)據(jù)庫基因組數(shù)據(jù)庫、核酸序列數(shù)據(jù)庫、蛋白質(zhì)序列數(shù)據(jù)庫、生物大分子(主要是蛋白質(zhì))三維空間結(jié)構(gòu)數(shù)據(jù)庫;二級數(shù)據(jù)庫是對原始數(shù)據(jù)進(jìn)行整理分類的結(jié)果,是在一級數(shù)據(jù)庫、實(shí)驗(yàn)數(shù)據(jù)和理論分析基礎(chǔ)上針對特定應(yīng)用目標(biāo)而建立的數(shù)據(jù)庫。
面對不斷膨脹的生物學(xué)原始數(shù)據(jù),如何構(gòu)建生物信息二級數(shù)據(jù)庫及分析平臺,向生物學(xué)研究人員提供準(zhǔn)確的信息,最大限度地滿足他們研究和應(yīng)用的需求,是生物信息研究人員面臨的一個重要課題。
1問題的提出與分析
生物信息分析平臺中的資源主要由兩大要素組成,即數(shù)據(jù)信息和數(shù)據(jù)應(yīng)用。數(shù)據(jù)信息是指生物數(shù)據(jù)實(shí)體;數(shù)據(jù)應(yīng)用是指對生物數(shù)據(jù)實(shí)體的分析、計(jì)算、整合、過濾、挖掘、知識發(fā)現(xiàn)等。平臺構(gòu)建主要需要解決以下幾個問題:a)數(shù)據(jù)庫的更新。目前國內(nèi)進(jìn)行生物信息學(xué)研究的科研人員主要是通過手工操作在網(wǎng)上獲取生物信息資源。首先訪問原始數(shù)據(jù)庫的 Web 站點(diǎn)(如NCBI),對數(shù)據(jù)庫中各種注釋信息進(jìn)行關(guān)鍵詞匹配查找;將查詢結(jié)果以文本文件形式逐條下載到本地計(jì)算機(jī),以便隨后分析整理并導(dǎo)入二級數(shù)據(jù)庫。由于二級數(shù)據(jù)庫的構(gòu)建基于大量原始數(shù)據(jù)的分析篩選,加上網(wǎng)絡(luò)硬件條件的限制,手工獲取生物信息數(shù)據(jù)會浪費(fèi)大量的時間。實(shí)際上,網(wǎng)絡(luò)中經(jīng)常使用一種代理程序,它通過主控用戶進(jìn)行一系列的關(guān)鍵詞設(shè)定,掃描特定的信息源,查找出用戶感興趣的特定信息。一個可行的解決思路就是讓代理程序替代人進(jìn)行數(shù)據(jù)查詢和下載。
b)數(shù)據(jù)集成。從數(shù)據(jù)管理角度來看,生物數(shù)據(jù)庫中有多種數(shù)據(jù)類型,包括序列(核酸序列和蛋白質(zhì)序列)、圖形(蛋白質(zhì)結(jié)構(gòu)、序列曲線等)、圖像(生物大分子3D結(jié)構(gòu))等。數(shù)據(jù)類型的多樣化勢必大大增加數(shù)據(jù)存儲、檢索、管理的復(fù)雜性。一個可行的解決思路就是利用XML技術(shù)進(jìn)行數(shù)據(jù)集成。
c)應(yīng)用集成。一個完整的生物信息分析平臺應(yīng)該包含序列檢索、序列比對、進(jìn)化分析等基本分析功能。其中最關(guān)鍵技術(shù)便是應(yīng)用軟件的集成。生物信息軟件集成方法主要有COM組件、COBAR、Web服務(wù)等。根據(jù)不同需求,采取不同的集成方法。
2生物信息分析平臺的多層體系結(jié)構(gòu)模型(BIOCMSM)
2.1多層體系結(jié)構(gòu)
Internet和Intranet的迅猛發(fā)展對應(yīng)用系統(tǒng)的運(yùn)作方式產(chǎn)生了巨大的影響,從C/S到B/S模式,從兩層演變到三層,從集中式發(fā)展到分布式。目前比較通用的分布式三層框架模型如圖1所示。
多層體系結(jié)構(gòu)則是對三層框架模型的中間層,即業(yè)務(wù)邏輯層進(jìn)行細(xì)化,引入組件及中間件的概念進(jìn)行結(jié)構(gòu)分層,或者根據(jù)業(yè)務(wù)的功能細(xì)化進(jìn)行功能分層。
2.2BIOCMSM
2.2.1生物信息分析平臺工作流程
為解決數(shù)據(jù)更新、數(shù)據(jù)集成及應(yīng)用集成等問題,本文先給出一個生物信息分析平臺的一般工作流程,如圖2所示。
2.2.2BIOCMSM多層結(jié)構(gòu)模型
生物信息平臺復(fù)合多層結(jié)構(gòu)模型(BIOCMSM)是針對一般生物信息分析平臺工作流程給出的一種復(fù)合C/S、B/S的多層體系結(jié)構(gòu)模型。它主要是對數(shù)據(jù)層進(jìn)行細(xì)化,增加數(shù)據(jù)處理層以解決生物數(shù)據(jù)的格式轉(zhuǎn)換、數(shù)據(jù)處理等問題。多層C/S系統(tǒng)主要實(shí)現(xiàn)生物序列數(shù)據(jù)的自動下載、提交、更新、管理等功能;多層B/S系統(tǒng)主要實(shí)現(xiàn)生物序列數(shù)據(jù)的發(fā)布共享、檢索、分析等功能。BIOCMSM模型如圖3所示。
1)數(shù)據(jù)源層(data resource layer)
包括提供系統(tǒng)數(shù)據(jù)及信息來源的所有異構(gòu)數(shù)據(jù)源。具體物理存儲方式又分為關(guān)系數(shù)據(jù)庫(RDB)存儲和各類文件(如flat file、三維結(jié)構(gòu)圖形等)存儲。
2)數(shù)據(jù)處理層(data process layer)
數(shù)據(jù)處理層主要包含HTML處理器和格式轉(zhuǎn)換器兩部分。HTML處理器主要實(shí)現(xiàn)從應(yīng)用層自動下載的HTML頁面中提取flat file格式數(shù)據(jù)并提交給flat file文件數(shù)據(jù)庫;生成適合網(wǎng)絡(luò)發(fā)布的XML格式文檔并提交給XML文件數(shù)據(jù)庫;對flat file格式數(shù)據(jù)分割處理,得到RDB數(shù)據(jù)表中需要的各條目信息,并提交給RDB數(shù)據(jù)庫。格式轉(zhuǎn)換器主要是為上層應(yīng)用層各應(yīng)用程序提供它們需要的數(shù)據(jù)格式。
3)應(yīng)用層(application layer)
應(yīng)用層中主要包含數(shù)據(jù)檢查更新、自動下載、數(shù)據(jù)管理、數(shù)據(jù)檢索、數(shù)據(jù)分析等。檢查更新主要是利用網(wǎng)絡(luò)代理程序搜索比較網(wǎng)絡(luò)數(shù)據(jù)庫與本地?cái)?shù)據(jù)庫,找到本地?cái)?shù)據(jù)庫中不包含的新數(shù)據(jù);數(shù)據(jù)更新主要利用INET控件實(shí)現(xiàn)新數(shù)據(jù)的自動下載(下載的數(shù)據(jù)為HTML格式);數(shù)據(jù)檢索和數(shù)據(jù)管理主要是實(shí)現(xiàn)數(shù)據(jù)庫的檢索及添加、刪除、修改等后臺管理;數(shù)據(jù)分析為用戶提供了一個集成的生物信息分析環(huán)境,對數(shù)據(jù)信息進(jìn)行分析、計(jì)算、處理,滿足用戶提交的各種需求。
4)表示層(presentation layer)
主要由C/S和B/S界面兩部分組成。C/S為用戶提供數(shù)據(jù)更新和數(shù)據(jù)檢索、數(shù)據(jù)管理接口,實(shí)現(xiàn)用戶與本地系統(tǒng)的交互;B/S根據(jù)不同的用戶需求產(chǎn)生不同的用戶接口,通過基于Web的用戶訪問界面,實(shí)現(xiàn)用戶與本地系統(tǒng)的交互。2.2.3多層體系結(jié)構(gòu)的優(yōu)勢
a)層與層之間不僅在邏輯上是獨(dú)立的,在物理上也可以是獨(dú)立的。有利于系統(tǒng)配置和維護(hù),使開發(fā)工作可以平行進(jìn)行;可以方便地改進(jìn)系統(tǒng),減少應(yīng)用開發(fā)的復(fù)雜程度及縮短時間。
b)數(shù)據(jù)處理層就像系統(tǒng)中數(shù)據(jù)流向的一個路由器,將底層數(shù)據(jù)存儲與上層的應(yīng)用分離開來。
c)提高了系統(tǒng)的可擴(kuò)展性。系統(tǒng)以后的改進(jìn)可以簡單地處理成對BIOCMSM中層的增減和修改。
d)提高了靈活性。集成耦合程度松散,集成顆粒度小,具有更大的靈活性。
e)表示層支持客戶端多樣化的表現(xiàn)形式,并能提供個性化用戶接口。
3新城疫病毒(NDV)生物信息分析平臺的構(gòu)建
下面以構(gòu)建新城疫病毒(NDV)生物信息分析平臺為例,研究BIOCMSM中關(guān)鍵模塊的實(shí)現(xiàn)過程。
3.1數(shù)據(jù)庫層的設(shè)計(jì)(圖4)
3.2HTML處理器的設(shè)計(jì)(圖5)
3.3平臺主要功能模塊圖
整個平臺分為兩部分:
a)生物信息后臺管理系統(tǒng)(C/S),如圖6所示。
b)Web生物信息分析系統(tǒng)(B/S),如圖7所示。
4結(jié)束語
針對目前生物信息分析平臺需要解決的問題,本文在普通三層體系結(jié)構(gòu)基礎(chǔ)上,增加數(shù)據(jù)處理一層以解決生物數(shù)據(jù)的格式轉(zhuǎn)換、數(shù)據(jù)處理等問題,進(jìn)而給出一種復(fù)合C/S、B/S的生物信息分析平臺多層體系結(jié)構(gòu)模型BIOCMSM,并以構(gòu)建新城疫病毒(NDV)生物信息分析平臺為例,研究了該多層體系結(jié)構(gòu)的實(shí)現(xiàn)過程。實(shí)驗(yàn)證明,該模型較好地解決了生物數(shù)據(jù)的自動下載、更新、管理、集成、發(fā)布共享、檢索、分析等問題,能夠?yàn)樯镄畔⒀芯咳藛T提供一個統(tǒng)一的數(shù)據(jù)共享分析平臺。
參考文獻(xiàn):
[1]WANG L,RIETHOVEN J,ROBINSON A.XEMBL:distributing EMBL data in XML format[J].Bioinformatics,2002,18(8):1147-1148.
[2]尚彤,劉貝,張其鵬,等.蛋白質(zhì)、核酸序列信息的獲取、管理和發(fā)布[J].北京大學(xué)學(xué)報:醫(yī)學(xué)版,2002,34(1):83-85.
[3]王攀,魯強(qiáng),曾紹群,等.基于Web信息自動獲取構(gòu)建生物信息二級數(shù)據(jù)庫[J].高技術(shù)通訊,2004,14(5):28-31.
[4]MIYAZAKI S,SUGAWARA H,GOJOBORI T,et al.DNA data bank of Japan (DDBJ) in XML[J].Nucleic Acids Research,2003,31(1):13-16.
[5]王建民,羅靜初,李毅,等.水稻矮縮病毒基因組數(shù)據(jù)庫的構(gòu)建[J].微生物學(xué)報,2001,41(1):43-48.
[6]王攀,王敏. 基于XML構(gòu)建生物信息二級數(shù)據(jù)庫[J]. 高技術(shù)通訊,2006,16(3):281-285.
[7]孫昌愛,金茂忠,劉超.軟件體系結(jié)構(gòu)研究綜述[J].軟件學(xué)報,2002,13(7):1228-1237.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”