聯(lián)系我們contact
電話:027-59760188-801
地址:武漢市東湖高新開發(fā)區(qū)光谷大道120號現(xiàn)代森林小鎮(zhèn)A座609室
發(fā)布時間:2018-07-09 瀏覽次數(shù):2296次
一、前言導(dǎo)讀
今天給大家介紹一款開源的專門管理生物學(xué)研究數(shù)據(jù)的管理軟件openBIS,文章分為兩個部分,前一部分介紹軟件的一些基本特性和概念,后一部分介紹軟件在一些領(lǐng)域中的具體應(yīng)用。
OpenBIS當(dāng)前已經(jīng)在多個SystemX.ch 和歐盟項目(應(yīng)用質(zhì)譜技術(shù)研究代謝物和蛋白質(zhì),高內(nèi)涵篩選,下一代的基因測序技術(shù)。)得到了非常成功的應(yīng)用。對于涉及大型的系統(tǒng)生物學(xué)研究群體來說,OpenBIS是極其合適的,其功能豐富,系統(tǒng)靈活,部署簡單,可擴(kuò)展性強(qiáng),適合管理組學(xué)研究等龐大的數(shù)據(jù),并且能夠處理幾乎任何種類的生物學(xué)數(shù)據(jù)類型,甚至可以擴(kuò)展到其他研究領(lǐng)域。
不管是系統(tǒng)生物學(xué),還是組學(xué),隨著儀器技術(shù)的進(jìn)步,這些新興學(xué)科的研究方式與方法都對生物實驗數(shù)據(jù)的管理和高性能計算提出了前所未有的挑戰(zhàn)。系統(tǒng)生物學(xué),基因組學(xué)、蛋白質(zhì)組學(xué)、代謝組學(xué)等大科學(xué)工程往往意味著項目的長期持續(xù),參與單位和人員眾多,產(chǎn)生的數(shù)據(jù)量十分龐大和復(fù)雜,并且要綜合生物信息學(xué)、計算機(jī)科學(xué)、數(shù)學(xué)等多學(xué)科的力量協(xié)作完成。大科學(xué)工程的長期性與復(fù)雜性要求一套系統(tǒng)能應(yīng)對種類繁多且體量龐大的原始數(shù)據(jù)存儲,研究過程的靈活多變,數(shù)據(jù)分析工具與算法的不斷更新,研究團(tuán)隊人員變動等一系列問題。 生物實驗數(shù)據(jù)管理系統(tǒng)需要提供一個堅實的基礎(chǔ)平臺用于存儲種類繁多且體量龐大的分析儀器數(shù)據(jù)并能快速整合各種數(shù)據(jù)分析流程,包括商業(yè)的數(shù)據(jù)流程化處理軟件和研究人員自己開發(fā)的數(shù)據(jù)分析方法。不同品牌、不同型號的儀器原始數(shù)據(jù)和不同方式的數(shù)據(jù)分析方法所產(chǎn)生的結(jié)果數(shù)據(jù)都需要長久保存,以備將來再次引用以及歷史數(shù)據(jù)的比較和整合。在這期間,數(shù)據(jù)的格式與存儲方式也會隨著數(shù)據(jù)分析技術(shù)和相關(guān)標(biāo)準(zhǔn)的發(fā)展而逐步發(fā)生變化。這些數(shù)據(jù)在相當(dāng)長的一段時間內(nèi)都可能被各類數(shù)據(jù)分析人員進(jìn)行分析和重新分析。作為儀器分析原始數(shù)據(jù)和數(shù)據(jù)分析所產(chǎn)生的結(jié)果數(shù)據(jù)的倉庫,承擔(dān)著為各種功能各異的分析組件提供數(shù)據(jù)來源以及作為不同階段不同數(shù)據(jù)處理工作流之間溝通的橋梁。
我們可以設(shè)想,解決如此復(fù)雜問題的的軟件肯定不是一個剛性的框架,而是模塊化的,松散耦合的,這些模塊分別實現(xiàn)某個特定的功能或者提供特定的服務(wù),而不苛求單一模塊或服務(wù)滿足所有需求。同硬件一樣,這些模塊應(yīng)該是即插即用型的,能很方便地整合進(jìn)體系中。模塊之間也能方便地相互整合,并對外提供接口。同時,基礎(chǔ)科學(xué)研究過程的多變性和框架松散耦合的特點,我們很難設(shè)定一個標(biāo)準(zhǔn)的組件模型,因此組件的開發(fā)應(yīng)該著重于整合的簡便性上。
最初,OpenBIS系統(tǒng)設(shè)計目標(biāo)就是建立一個用于系統(tǒng)生物學(xué)和各種組學(xué)(蛋白質(zhì)組學(xué)、基因組學(xué)、代謝組學(xué))研究的數(shù)據(jù)的工作平臺,將來源于質(zhì)譜,測序儀、顯微鏡等各種儀器的數(shù)據(jù)進(jìn)行統(tǒng)一的管理,并從儀器原始數(shù)據(jù)中提取基礎(chǔ)數(shù)據(jù)和元數(shù)據(jù),與數(shù)據(jù)流程化處理工具以及各種可視化工具、數(shù)據(jù)分析工具整合,對數(shù)據(jù)進(jìn)行分階段的以及多樣化的后處理。在開放性與靈活性方面,不同類型的用戶與系統(tǒng)之間采取不同的交互方式訪問原始數(shù)據(jù)和后處理的數(shù)據(jù),追溯數(shù)據(jù)的起源,而不依賴于原有的儀器和軟件供應(yīng)商。系統(tǒng)可擴(kuò)展性強(qiáng),存儲和訪問大容量數(shù)據(jù),并可配置為分布式存儲。
二、系統(tǒng)的數(shù)據(jù)存儲結(jié)構(gòu)
openBIS 采用邏輯層級式結(jié)構(gòu)存儲數(shù)據(jù)。其管理的層級單元從上至下依次為:
? 數(shù)據(jù)空間
? 項目
? 實驗
? 樣品
? 數(shù)據(jù)集
權(quán)限規(guī)則應(yīng)用于最高層級之上,也就是數(shù)據(jù)空間??梢耘渲迷L問規(guī)則:各終端用于能看什么,以及能夠執(zhí)行何種操作。
層級單元之間的邏輯關(guān)系如下:數(shù)據(jù)空間包含一個或多個項目,項目包含一個或多個實驗,而實驗包含一個或多個樣品,一個樣品可以包含一個或多個數(shù)據(jù)集。這里的數(shù)據(jù)集是指一組包含實際分析數(shù)據(jù)和其衍生數(shù)據(jù)的多個文件。例如一個樣品在微量滴定板上被顯微鏡讀取了兩次,那么就會產(chǎn)生兩個數(shù)據(jù)集,這兩個數(shù)據(jù)集都屬于該樣品。采用這種邏輯結(jié)構(gòu)十分符合生物學(xué)研究中的實際情況。
采用層級結(jié)構(gòu)能夠為存儲更多更大的數(shù)據(jù)集并建立彼此之間的相互關(guān)系提供了便利。例如,原始數(shù)據(jù)和處理后數(shù)據(jù)可以分別存儲為兩個獨立的數(shù)據(jù)集,這兩者之間還能建立聯(lián)系(某結(jié)果數(shù)據(jù)集來源于某個原始數(shù)據(jù)集),并同時指向一個樣品或一個實驗。層級關(guān)系進(jìn)一步衍生可以建立樣品和數(shù)據(jù)集之間的父子關(guān)系,而這在復(fù)雜的科學(xué)研究中是經(jīng)常遇到的。
元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),為了描述數(shù)據(jù)在背景環(huán)境中的結(jié)構(gòu)和意義,便于查找和使用采集的數(shù)據(jù)失去了元數(shù)據(jù)的數(shù)據(jù)沒有什么意義。對元數(shù)據(jù)的管理是openBIS 十分重要的功能之一。
openBIS提供了十分靈活的元數(shù)據(jù)定義功能,可以在數(shù)據(jù)集、樣品、實驗等多層次上定義結(jié)構(gòu)化、半結(jié)構(gòu)化、以及非結(jié)構(gòu)化的元數(shù)據(jù),為靈活的檢索提供保證。為了組織這些元數(shù)據(jù),系統(tǒng)定義了元數(shù)據(jù)類型這個標(biāo)識,用于將創(chuàng)建的元數(shù)據(jù)歸屬到具體的系統(tǒng)對象上(數(shù)據(jù)集、樣品、實驗)
結(jié)構(gòu)化與半結(jié)構(gòu)化的元數(shù)據(jù),或者叫屬性(或者注釋),屬性就是一個數(shù)據(jù)庫中的字段,包括名稱,標(biāo)簽,描述和值類型(整數(shù)型,浮點型,日期型,邏輯型,文本型,超鏈接,或者之前定義的受控詞匯表,或者對于半結(jié)構(gòu)化的元數(shù)據(jù)而言可以采用XML結(jié)構(gòu)文件作為存儲值)。系統(tǒng)允許對實驗,樣品,數(shù)據(jù)集自定義屬性,并通過屬性類型歸屬到具體的數(shù)據(jù)對象上,這些屬性類型透明化地存儲在數(shù)據(jù)庫中。openBIS中的屬性還可以是動態(tài)賦值的,可以根據(jù)其他元數(shù)據(jù)通過腳本進(jìn)行賦值。
在openBIS中,用戶可以對項目、實驗、樣品三者賦予非結(jié)構(gòu)化的元數(shù)據(jù),也就是文件型的附件,就如同你在email中插入一個附件。
基于這種靈活的自定義元數(shù)據(jù)的機(jī)制,openBIS提供了通用型的方式為那些創(chuàng)新的具備開創(chuàng)性的實驗建立全新的元數(shù)據(jù)模型
為了高效地存儲和檢索系統(tǒng)生物學(xué)研究中產(chǎn)生的海量數(shù)據(jù),并能兼容不同的分析測試技術(shù),openBIS采用混合式的數(shù)據(jù)存儲方法。索引數(shù)據(jù),實驗相關(guān)的元數(shù)據(jù),選擇性的結(jié)果數(shù)據(jù)采用關(guān)系數(shù)據(jù)庫存儲(當(dāng)然,文件型的元數(shù)據(jù)也可選擇存儲到關(guān)系數(shù)據(jù)庫中),大體積數(shù)據(jù)則采用扁平化的文件存儲(flatfile).默認(rèn)情況下,原始數(shù)據(jù)和結(jié)果數(shù)據(jù)存儲在數(shù)據(jù)存儲區(qū)中(data store),這是一個由單個文件系統(tǒng)或多文件系統(tǒng)(采用分段存儲模式)組成的扁平的文件型數(shù)據(jù)存儲體系。
混合式的數(shù)據(jù)存儲為openBIS帶來了靈活性和可擴(kuò)展性。系統(tǒng)在數(shù)據(jù)庫中巧妙地存儲了元數(shù)據(jù)模型,我們可以認(rèn)為這些元數(shù)據(jù)模型本身就是系統(tǒng)數(shù)據(jù)的一部分。這樣,用戶可以因地制宜地為自己的研究數(shù)據(jù)選擇合適的元數(shù)據(jù)模型,判斷的標(biāo)準(zhǔn)可以看元數(shù)據(jù)模型是否完整地包含了原始數(shù)據(jù)文件的上下文信息,是否采用了合適的存儲方式(以關(guān)系數(shù)據(jù)庫存儲還是以文件型存儲)以應(yīng)對查詢效率的要求。
系統(tǒng)永遠(yuǎn)保持其核心數(shù)據(jù)庫的數(shù)據(jù)量在一個合理的盡可能小的規(guī)模,并將其置于快速存儲設(shè)備上。系統(tǒng)對于會引發(fā)大量數(shù)據(jù)列表顯示的查詢盡量進(jìn)行優(yōu)化,在存儲大批量數(shù)據(jù)時則會采用分段存儲和分布式存儲。
三、系統(tǒng)部署方式
openBIS由客戶端,應(yīng)用服務(wù)器,數(shù)據(jù)存儲服務(wù)器組成。
應(yīng)用服務(wù)器(application server 簡稱AS):管理元數(shù)據(jù)并關(guān)聯(lián)其指向的基礎(chǔ)數(shù)據(jù)。
數(shù)據(jù)存儲服務(wù)器(data store server 簡稱DSS):管理數(shù)據(jù)
應(yīng)用服務(wù)器使用關(guān)系數(shù)據(jù)庫來管理用戶,用戶身份認(rèn)證信息,系統(tǒng)實體對象如數(shù)據(jù)空間,實驗和樣品的元數(shù)據(jù)以及所有數(shù)據(jù)集的索引信息。數(shù)據(jù)存儲服務(wù)器DSS管理存在數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)集。該存儲區(qū)只能由DSS負(fù)責(zé)寫入,不能被系統(tǒng)其他部分所操作。不同類型的客戶端如瀏覽器,圖形化的Matlab客戶端,命令行客戶端能夠通過AS和DSS訪問openBIS。
在系統(tǒng)部署圖中,我們可以看到一個AS可以對應(yīng)多個DSS。這一特性對于大科學(xué)工程非常重要,系統(tǒng)生物學(xué),組學(xué)這些科學(xué)工程往往需要多個實驗室和單位的參與,分布式的存儲對于促進(jìn)數(shù)據(jù)共享的同時進(jìn)行自有知識產(chǎn)權(quán)保護(hù)是有雙重作用的。openBIS 的分布式DSS特性允許各個實驗室使用本地的數(shù)據(jù)存儲服務(wù)器(DSS)存儲本地儀器產(chǎn)生的數(shù)據(jù)。這里DSS命名為數(shù)據(jù)存儲服務(wù)器而不是簡單的稱之為數(shù)據(jù)庫服務(wù)器是自有其道理的,openBIS采用混合數(shù)據(jù)存儲模式,即數(shù)據(jù)庫存儲和文件存儲相結(jié)合,而不是單一的數(shù)據(jù)庫存儲模式。DSS從設(shè)計來說,并不僅僅是一個置于因特網(wǎng)上的文件服務(wù)器。它能以其自身存儲的數(shù)據(jù)為基礎(chǔ)進(jìn)行各種自定義的查詢,并啟用其自身的關(guān)系數(shù)據(jù)庫去存儲結(jié)果型數(shù)據(jù)。這些結(jié)果數(shù)據(jù)寫入數(shù)據(jù)庫的操作可以在數(shù)據(jù)載入時自動進(jìn)行。在下圖中,用戶通過命令行工具和MatLab客戶端可以通過openBIS提供的API訪問DSS提供的服務(wù)。進(jìn)一步,在現(xiàn)有基礎(chǔ)上還可以為DSS添加協(xié)處理服務(wù)器用于數(shù)據(jù)的傳輸,例如Datamover和CIFEX等組件用于數(shù)據(jù)的導(dǎo)入和導(dǎo)出。
AS和DSS各司其職,AS專門處理元數(shù)據(jù)并指向原始的來源,分布式的多個DSS負(fù)責(zé)處理大規(guī)模數(shù)據(jù)。龐大的原始數(shù)據(jù)和精簡的元數(shù)據(jù)得以分離,從而避免了查詢和傳輸高通量和高內(nèi)涵數(shù)據(jù)所帶來的高昂的系統(tǒng)開銷疊加,如CPU的使用,IO和帶寬的占用。
3.1 OpenBIS的客戶端
openBIS自帶了圖形化的Web應(yīng)用程序,命令行工具和一些KNIME數(shù)據(jù)分析管道節(jié)點。為了方便專業(yè)用戶通過客戶端訪問后臺,系統(tǒng)提供了可通過TCP/IP網(wǎng)絡(luò)調(diào)用的API。
3.2 應(yīng)用服務(wù)器(AS)
AS是客戶端與系統(tǒng)交互的中心,其配置有一個關(guān)系型的數(shù)據(jù)庫,用于管理和存儲關(guān)于樣品,實驗,數(shù)據(jù)集的元數(shù)據(jù);實際的數(shù)據(jù)由DSS存儲和管理,AS引導(dǎo)訪問一個或多個DSS。
AS自身分解成幾個層級:
展示層(Presentation layer):HTML和Java Script 用于客戶端展示
域?qū)樱―omain Layer):為希望與業(yè)務(wù)對象(樣品,實驗)進(jìn)行交互的用戶提供服務(wù)
數(shù)據(jù)訪問層(Data acess layer):用于AS與DSS之間的訪問,由AS所私有,不由外部調(diào)用
前三個服務(wù)不僅為Web客戶端所使用,還能由命令行工具程序和DSS所調(diào)用。典型的服務(wù)如樣品查詢,對象在數(shù)據(jù)庫中的注冊。
3.3 數(shù)據(jù)存儲服務(wù)器(DSS)
DSS采用混合存儲模式管理數(shù)據(jù)集所包括的所有數(shù)據(jù),如圖像、譜圖、分析結(jié)果或特征描述。這些數(shù)據(jù)都放在數(shù)據(jù)存儲系統(tǒng)中。DSS負(fù)責(zé)對這些數(shù)據(jù)查詢,基于數(shù)據(jù)集的報告以及可視化。
在扁平的文件存儲模式下,數(shù)據(jù)存儲由單份組成(一般由一個文件服務(wù)器提供),分段存儲模式下,一個數(shù)據(jù)存儲有多個數(shù)據(jù)份,每一個文件服務(wù)器管理其中一份。
與AS類似,DSS也可分為展示層(presentation layer),域?qū)?domain layer),數(shù)據(jù)訪問層(data access layer)
展示層(presentation layer),負(fù)責(zé)數(shù)據(jù)的展示,一般而言,不外乎類似于為某張圖片用于HTML顯示而提供URL地址之類的事物。更復(fù)雜一點的將以Tab鍵為分隔符的文件在網(wǎng)頁上以表格的形式展示,更深層次的展示需要用戶對對數(shù)據(jù)有更深入的理解,例如數(shù)據(jù)可視化中的熱點圖,或?qū)⒋聿煌ǖ罃?shù)據(jù)的圖進(jìn)行組合。這些功能我們將在openBIS的第二篇文章中做簡單的介紹。數(shù)據(jù)集上載器(Data Set Uploader)也屬于展示層的一部分,其是基于網(wǎng)頁的數(shù)據(jù)集批量上載工具。為避免瀏覽器對上載文件2GB大小的限制,該工具通過Java WebStart執(zhí)行。
域?qū)樱―omain Layer),負(fù)責(zé)提供數(shù)據(jù)的訪問,并能解析其數(shù)據(jù)格式和語義關(guān)系。ETL(提取,轉(zhuǎn)換,上傳)線程也屬于該層,其負(fù)責(zé)注冊新產(chǎn)生的數(shù)據(jù)集。舉一個DSS的典型的應(yīng)用的例子,ETL線程監(jiān)控某個文件夾中的事件發(fā)生情況,如果該文件夾中新創(chuàng)建了文件或文件夾,ETL將執(zhí)行相關(guān)的操作。
數(shù)據(jù)訪問層(data access layer),用于生成DSS中文件存儲系統(tǒng)的摘要。該摘要使得DSS能夠利用RDBMS中的文件元數(shù)據(jù)從而加速檢索和列表顯示,透明地訪問容器文件(HDF5容器以目錄的形式顯示),并將同一個數(shù)據(jù)集容器中的多個數(shù)據(jù)集的目錄列表匯總顯示。
3.4、CIFEX
CIFEX是openBIS系統(tǒng)的輔助工具,全稱叫CISD文件交換工具(CISD Exchanger).CIFEX 是一個基于Web的應(yīng)用程序,用于傳送和交換大的數(shù)據(jù)文件。由于瀏覽器對于上傳容量有2GB的限制,CIFEX采用基于Java Webstart 圖形化工具,支持?jǐn)帱c續(xù)傳并進(jìn)行校驗和檢查以保證文件完整性。CIFEX主要用于下載openBIS中存儲的超大的數(shù)據(jù)集。如果用戶能夠直接訪問DSS數(shù)據(jù)存儲的文件系統(tǒng),則CIFEX并非是必須的。但大多數(shù)用戶是無法直接訪問DSS文件系統(tǒng)的,而如果有人想把一些數(shù)據(jù)分享給沒有openBIS 賬號的人,那么CIFEX就可以幫助實現(xiàn)這一目的。大家知道,系統(tǒng)生物學(xué)和相關(guān)的組學(xué)的分析數(shù)據(jù)都是十分龐大的,多達(dá)幾個G。此時研究人員通過郵件發(fā)送這些數(shù)據(jù)集不太現(xiàn)實。在這種應(yīng)用下,CIFEX成為了數(shù)據(jù)與openBIS系統(tǒng)之間雙向流通的通道。CIFEX系統(tǒng)同樣也是開源的,并可提供下載。
3.5、Datamover
顧名思義,Datamover是用于數(shù)據(jù)從一個地點傳輸?shù)搅硪粋€地點。其可使用本地發(fā)起的文件共享或是通過SSH通道(建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議)或遠(yuǎn)程主機(jī)同步進(jìn)行數(shù)據(jù)的傳輸。該工具主要是用于將儀器直接連接的計算機(jī)上的數(shù)據(jù)轉(zhuǎn)移到一個過渡性的中間存儲設(shè)備上。組學(xué)研究的數(shù)據(jù)往往十分龐大,與儀器相連的計算機(jī)的磁盤很快就會超過容量。將儀器相連計算機(jī)上的文件夾直接對應(yīng)到DSS的存儲區(qū)往往又會受制于網(wǎng)絡(luò)的好壞。要知道,網(wǎng)絡(luò)往往不太穩(wěn)定。此時就需要在DSS存儲區(qū)與分析儀器計算機(jī)之間建立一個中間過渡區(qū),例如數(shù)據(jù)中心或者計算集群,由Datamover不斷地將數(shù)據(jù)遷移過去。Datamover在傳遞過程中解決遇到的一切大小故障,諸如網(wǎng)絡(luò)中斷,存儲設(shè)備達(dá)到上限等問題。
3.6、驗證與授權(quán)
openBIS采用基于插件的機(jī)制用于用戶驗證,可與LDAP(如微軟Active Dicrectory),Crowd等身份識別系統(tǒng)以及簡單的文件方法進(jìn)行集成。系統(tǒng)采用分組和角色的授權(quán)機(jī)制,解決特地用戶能夠看到哪些數(shù)據(jù)以及能夠進(jìn)行哪些操作的問題。
四、系統(tǒng)的功能模塊
OpenBIS的核心功能包括數(shù)據(jù)和元數(shù)據(jù)的管理,數(shù)據(jù)檢索,數(shù)據(jù)共享,數(shù)據(jù)導(dǎo)入導(dǎo)出,與其他系統(tǒng)的接口。這些基礎(chǔ)功能都已經(jīng)相當(dāng)穩(wěn)定,并可供下載,對于生物學(xué)家來說可謂是開箱即用。如果想要把openBIS作為一個新的系統(tǒng)整合到現(xiàn)有的工作流程中則需要一定程度的定制化開發(fā),并可在此基礎(chǔ)之上添加額外的功能,如可視化,數(shù)據(jù)的終端發(fā)布,定制化的查詢設(shè)計等等。如果單位上配備有經(jīng)驗豐富的開發(fā)人員,包括生物信息學(xué)研究人員,加上與實驗研究人員相互配合,我們可以將自己開發(fā)的一些特色化的程序與openBIS進(jìn)行無縫整合從而開發(fā)出十分強(qiáng)大的應(yīng)用。這樣就能更加緊密地貼合用戶的實際需求。畢竟系統(tǒng)是開源的, 我們甚至可以直接修改源碼對系統(tǒng)進(jìn)行個性化的改造。
4.1、數(shù)據(jù)與元數(shù)據(jù)管理
如前文所述,系統(tǒng)采用層級式結(jié)構(gòu)組織數(shù)據(jù)和元數(shù)據(jù)。以數(shù)據(jù)空間為基礎(chǔ)進(jìn)行授權(quán)。一般而言,在系統(tǒng)中會為不同的研究小組創(chuàng)建不同的數(shù)據(jù)空間。數(shù)據(jù)空間下以項目,實驗,樣品、數(shù)據(jù)集組織數(shù)據(jù)。系統(tǒng)可以基于訪問的需要設(shè)置觀察人員(對數(shù)據(jù)只讀),一般用戶(添加或編輯對象)、并能以組和角色進(jìn)行統(tǒng)一授權(quán)。在數(shù)據(jù)發(fā)布環(huán)節(jié)上,研究人員可以非常方便地改變其所擁有數(shù)據(jù)的權(quán)限設(shè)置,從而使其對外公布。openBIS為分析結(jié)果提供優(yōu)良的溯源性。一個新的數(shù)據(jù)集創(chuàng)建會分配一個唯一的標(biāo)識號并且不能再作改變。如果數(shù)據(jù)由一個或多個數(shù)據(jù)集衍生而來,系統(tǒng)會創(chuàng)建一個新的子數(shù)據(jù)集,并將該數(shù)據(jù)集歸屬到其來源數(shù)據(jù)集。
獨立于某種專門的數(shù)據(jù)格式和存儲方式,無論是儀器原始數(shù)據(jù)還是數(shù)據(jù)分析管路所提交的數(shù)據(jù)結(jié)果,都可以直接存儲在openBIS 中而不需要對格式進(jìn)行轉(zhuǎn)化或其他改變。如果需要其他的數(shù)據(jù)格式和存儲方式,也可以通過數(shù)據(jù)轉(zhuǎn)換工具自動完成。一般建議用戶為數(shù)據(jù)的新格式單獨創(chuàng)建一個新的數(shù)據(jù)集,并將同樣一份數(shù)據(jù)的不同格式放在一個數(shù)據(jù)集容器中。為了使得數(shù)據(jù)集容器對用戶透明,openBIS會顯示其文件系統(tǒng)視圖,顯示包含在該數(shù)據(jù)容器中的所有文件。
4.2數(shù)據(jù)檢索、導(dǎo)出和分享
大規(guī)模數(shù)據(jù)的導(dǎo)出采用CIFEX。數(shù)據(jù)集檢索基于數(shù)據(jù)集識別碼、數(shù)據(jù)集類型(如原始數(shù)據(jù),蛋白結(jié)果數(shù)據(jù))、文件類型(mzXML,protXML)以及其他與數(shù)據(jù)集、樣品、實驗相關(guān)的元數(shù)據(jù)(例如數(shù)據(jù)轉(zhuǎn)換軟件的名稱)。結(jié)合這些元數(shù)據(jù)可以進(jìn)行常規(guī)的邏輯篩選操作,例如字符串的比較,數(shù)值的范圍限定等,最終選擇的數(shù)據(jù)可以方便地通過電子表格導(dǎo)出。如果查詢結(jié)果涉及大規(guī)模數(shù)據(jù),這在組學(xué)研究中經(jīng)常會碰到,此時系統(tǒng)將會自動重定向到CIFEX進(jìn)行導(dǎo)出,openBIS通過這種方法能夠用來分享數(shù)據(jù),例如為下游的數(shù)學(xué)建模人員提供數(shù)據(jù)。
4.3、數(shù)據(jù)導(dǎo)入方式
對于涉及數(shù)百M到數(shù)個G大小的蛋白質(zhì)質(zhì)譜數(shù)據(jù)來說,數(shù)據(jù)如何進(jìn)入系統(tǒng)中集中管理是個比較關(guān)鍵的問題。根據(jù)不同的使用需要,數(shù)據(jù)上傳到openBIS中采用三種不同的方式:Dropbox,網(wǎng)頁上直接上傳,通過遠(yuǎn)端API自定義程序上傳。
第一種方式是采用所謂的dropbox,所謂Dropbox實際上是位于本地文件系統(tǒng)或文件服務(wù)器上的文件存放目錄。DSS監(jiān)視該目錄中的寫入情況。如果發(fā)現(xiàn)新的數(shù)據(jù),例如新建了某個文件或文件夾,系統(tǒng)就會啟用為該dropbox配置的ETL(提取、轉(zhuǎn)換、上載)流程,使得該新產(chǎn)生的數(shù)據(jù)集能為openBIS系統(tǒng)所接受,在此過程中并將其與適當(dāng)?shù)膶ο箨P(guān)聯(lián)(例如某個樣品),提取相關(guān)元數(shù)據(jù)用于檢索,并將這些數(shù)據(jù)集轉(zhuǎn)換為預(yù)定義的格式,以便與諸如計算模擬之類的其他工具集成。ETL過程在openBIS系統(tǒng)中并非是固定的,而是設(shè)計為一組可配置的插件,在對新產(chǎn)生的數(shù)據(jù)如何處理的問題上具有很高的可配置性和自由度。一般而言,在數(shù)據(jù)存儲容量夠大的前提下,建議ETL處理的同時保留未經(jīng)處理的原始數(shù)據(jù)。如果使用Datamover作為協(xié)處理服務(wù)器,dropbox可擴(kuò)展為連接各個不同實驗室的橋梁,從而實現(xiàn)跨單位合作。在長期需要大量交換數(shù)據(jù)的系統(tǒng)之間,dropbox可以充當(dāng)一種非常有效的”松散耦合”的接口。
第二種方式采用網(wǎng)頁直接上傳,基于web的上傳工具可以從web上觸發(fā)。對于實際的數(shù)據(jù)上傳步驟,會將用戶重定向到Data set uploader或者重定向到CIEFX服務(wù)器。
第三種方式是API進(jìn)行定制化程序開發(fā),系統(tǒng)提供的遠(yuǎn)端API是一組Java類,提供基于流的編程模式用于上傳任何構(gòu)成數(shù)據(jù)集的文件集合。與dropbox相比,其允許與使用它的程序更緊密的集成,提供及時的反饋,支持任何允許HTTPS傳輸?shù)腤AN網(wǎng)絡(luò)。由于使用Java作為編程環(huán)境在某些情況下受到限制,openBIS還包含了命令行工具用于調(diào)用遠(yuǎn)端API調(diào)用實現(xiàn)數(shù)據(jù)的上傳。該工具已經(jīng)用來實現(xiàn)LabView 和其他基于腳本的數(shù)據(jù)源與openBIS 的整合。
4.4、用戶端接入
第一種方式是圖形化的界面,適用于普通用戶。
第二種是命令行界面,適用于專家級用戶,用在腳本編程環(huán)境中實現(xiàn)操作的自動化,方便與各種自動化的數(shù)據(jù)處理管線整合,或者整合進(jìn)定制化的用戶界面,尤其是在API不能使用的情況下。
第三種是API調(diào)用。該方法提供了兩種方式,Java service和JSON-PRS web Service。Java 服務(wù)為開開發(fā)者提供類和方法用于將OpenBIS整合進(jìn)其他應(yīng)用程序,通過使用這種API ,開發(fā)者可以很方便無縫地將openBIS整合進(jìn)其自己開發(fā)的應(yīng)用程序,如工作流和可視化工具。這些API盡管是用Java實現(xiàn)的,但并不僅限于用在基于Java的應(yīng)用程序。許多流行的數(shù)據(jù)處理環(huán)境,如Matlab,R都可以調(diào)用Java API的功能。事實上系統(tǒng)專門為MatLab提供了其API的變體-HCS-API,用于支持Matlab的語言特性。JSON-PRC Web Service雖然沒有Java Service那么高級,在所有的支持Web標(biāo)準(zhǔn)的計算機(jī)環(huán)境中也都能應(yīng)用。特別是任何的WEB程序?qū)penBIS 后端的使用。
4.5、數(shù)據(jù)可視化與發(fā)布
openBIS中的數(shù)據(jù)可視化往往要借助整合其他的軟件。一個簡單的例子就是采用數(shù)據(jù)報告插件用于展示HTML文件,例如Illumina HiSeq2000測序儀軟件產(chǎn)生的數(shù)據(jù)。更加復(fù)雜的展示工具,如孔板視圖顯示多位滴定板,特征向量的圖形化展示,用于高內(nèi)涵篩選和蛋白質(zhì)組學(xué)的蛋白質(zhì)視圖(展示蛋白的定性和定量數(shù)據(jù))?;蛘哒犀F(xiàn)有的視圖,如使用API實現(xiàn)圖像強(qiáng)度-尺度再調(diào)節(jié)工具。
就數(shù)據(jù)的終端發(fā)布而言,系統(tǒng)中數(shù)據(jù)的簡單視圖可以通過Web界面的配置快速實現(xiàn)。從系統(tǒng)的應(yīng)用經(jīng)驗來看,基于openBIS框架可以實現(xiàn)滿足各種需要的任何數(shù)據(jù)類型的視圖。
五、總結(jié)
openBIS是一款開源的,基于Web的用于管理大規(guī)模生物學(xué)研究數(shù)據(jù)的軟件,其具有異構(gòu)、松散耦合、分布式等多重特性,易于與各種軟件工具進(jìn)行整合。系統(tǒng)采用項目化的結(jié)構(gòu)用于管理實驗數(shù)據(jù),處理用戶身份認(rèn)證和授權(quán),以及數(shù)據(jù)的導(dǎo)入和導(dǎo)出,數(shù)據(jù)溯源,支持?jǐn)?shù)據(jù)格式的遷移和數(shù)據(jù)的歸檔。
下一篇文章中,我們將介紹openBIS在下一代的基因測序,高內(nèi)涵篩選,定量圖像,蛋白質(zhì)組學(xué),代謝組學(xué)方面的應(yīng)用。