隨著生物科學技術的進步,累積了大量的資料,使的生物科學人員不能再使 用傳統的方法儲存與分析這樣龐大的資料。為了解決這個問題,生物科學研究人 員開始使用電腦來處理這些資料,透過電腦高速計算能力與龐大儲存空間,資料 能被妥善的使用與管理,進而進行適當的分析。由於生物科學對電腦的依賴,使 的一門新的學問被獨立出來稱之為“生物資訊”。生物資訊是一門跨領域的科學,
結合多種不同的科學如生物學、電腦科學及資訊科技等等。其主要可分為三個方 向:
1. 研究新的演算法和統計法,以發現資料彼此之間的關係。
2. 分析並闡釋不同類型的資料,包括核酸與胺基酸序列、蛋白區塊、以及蛋白 結構。
3. 發展與補強應用工具,使能對不同形式資訊的取得與管理上,增進工作效率 效率。
2.1 生物資訊資源
由於技術的進步,生物資訊產生了許多不同的資料,包含基因的資料、蛋白 質的資料、生物晶片的資料等等,以及一些其他的相關資料。如下表所整理,一 般常見的資料庫有核酸資料庫、蛋白質資料庫、生物晶片資料庫、文獻資料庫和 一些整合型的資料庫。核酸資料庫主要存放許多合序列的資料,蛋白質資料庫主 要儲存蛋白質相關的資料如 2D/3D 結構資料、蛋白質功能等,生物晶片資料庫 主要存放生物晶片實驗後的結果,包含實驗的目的、實驗的數據等等。文獻資料 庫主要可以查詢生物相關的文獻紀錄,而整合型資料庫則是整合多個與多種不同 的資料庫,於同一個介面中使用,方便使用者不用在不同的資料庫中往返。
種類 常用資料庫
核酸資料庫 GenBank[1]、EMBL[2]、DDBJ[3]、FlyBase、MGI、INE 蛋白質資料庫 PDB[23]、CATH[24]、SCOP[25]、PIR[26]、TrEMBL、
SWISS-PROT、PFAM、PathDB、PDBsurn 生物晶片資料庫 Gene Expression Omnibus [27]、Stanford Microarray
Database [28]、ArrayExpress[29]
文獻資料庫 PubMed[30]
整合型資料庫 SRS[6]
表格 1、常用生物資料庫
目前生物資訊資料庫的數量相當多,DBcat[22]是一個很完整的生物資料庫目 錄,目前總共整理出 511 個生物資料庫。這些生物資料庫通常都是架構在網路 上,並且透過網頁的形式來顯示與搜尋。除了資料搜尋外,生物資訊資料庫通常 還會提供一些分析的程式,方便使用者找到需要的資訊。並且有些資料庫彼此之 間可能也互有關聯,讓使用者能快速的得到所有相關的資訊。
除了大量的資料與各種資料庫之外,生物資訊還發展出許多不同的工具來分 析與處理這些資料,如表所示列出了一些常用的工具列表,總共分為 5 大類,分 別是:
1. Homology & Similarity:主要是用來找尋或比較彼此之間的相似程度
2. Protein Function. Analysis:這個類別主要提供各種工具來判斷蛋白質的功能 3. Sequence Analysis:序列分析提供了各種生物的方法來判斷基因和蛋白質的
生物功能與結構
4. Structural Analysis:用來預測蛋白質的 2D/3D 結構 5. Tools Miscellaneous:其他有用的生物資訊工具
種類 工具
Homology & Similarity Blast – Parasite、Blast2 – EVEC、Blast2 – NCBI、
Blast2 – WU、Fasta、Fasta - Geno./Proteo.、MPsrch Protein Function. Analysis CluSTr Updated、GeneQuiz、InterProScan
Sequence Analysis Align、ClustalW Updated、GeneWise、PromoterWise Structural Analysis DALI、Maxsprout、MSD Services、MSDfold Tools Miscellaneous EMBL Computational Services、Expression Profiler、
NEWT、QuickGO、Readseq
表格 2、常用工具列表[31]
生物資訊的研究單位遍佈全球,雖然有一些重要的組織如 NCBI、EMBL、
DDBJ 會進行資料的整合和交換,但仍然沒有一個專門的組織如 W3C 一樣來統 一生物資訊資源的格式和標準。所以造成了生物研究組織各自為政的情形,各個 組織依自己的需求發展適合的工具與標準。雖然保持多樣性是適合生物科學等新 興科學的發展方式,但是卻造成了生物資訊資源的分散性、異質性。
就分散性而言,舉例來說,生物科技研究人員若希望能找出某段基因的資 訊,可能會透過 Blast[34]找出與基因序列相似的其他基因序列。利用這些基因序 列的 gi number 去 Entrez[35]去找出完整的序列資料。從這些資料中找此序列相關 的 protein,再用 protein 去找組成這個 protein 的 domain。在此過程中,可能需使 用至少三種不同功能的工具,或者是造訪三個不同種類的生物資訊資料庫來進行 處理。處理過程當中,面對不同的生物資訊資源,使用不同的操作方式,並不是
非常方便。雖然生物資訊資源經常都以網頁的形式呈現可提供較友善的使用者介 的技術來達到整合的目標。如 Web Service、CORBA …等等。
2. 生物資訊資源的種類繁多,使的生物科學研究人員在尋找與使用上會產生負 擔。所以我們可以使用工作流程的概念,將一些可自動化的工作交由電腦處 理,在需要的時候再由電腦通知該執行的工作和相關資訊如使用的工具、使 用網路服務..等等。
3. 生物資訊常需要跨組織的合作與交流,有時實驗流程在進行時需要緊密的聯 繫以達到流程的控制與管理,但卻耗費太多人力與資源造成效率的降低。從 另一方面來說,流程管理可能因人為的因素而產生混亂或無法追蹤。如上所 述,工作流程可以由電腦自動化管理減少人為的失誤,並且加上跨組織的合 作機制,以達到生物資訊的特殊需求。
2.3 網路服務的興起
為了克服異質性與分散性的問題,許多研究都在努力嘗試解決這個問題,其 中以 Web Service[12]最受到注目,許多企業已經使用 Web Service 這樣的技術將 商業服務元件化,而許多生物資訊資源如 EBI 的 SoapLab[10] , DDBJ, PDBJ 等等,也使用 Web Service 這種技術提供免費的服務。透過 Web Service 可以很 有彈性的調整組織內部的工作流程,也可以輕易建構和外部系統間的橋樑。
服務導向架構(SOA)是一種由 W3C 所提出來的應用開發的概念,主要是讓整 個系統能用一些可重複使用的服務元件組合起來,以降低企業的成本,並讓開發 人員能很容易的擴充新的功能,以因應實際的需求。
圖表 1、SOA 架構圖
Web Service 便是在 SOA 的基本架構下發展出來的技術,使用 Web Service 的公司或組織能輕易的將組織流程、功能與資料包裝成網路上的服務,供其他組 織或個人存取。由於使用了完全標準化的架構,讓過去使用不同系統而難以互動
的情況有了改變。在 Web Services 架構下,能為組織與組織、組織與個人間的 互動帶來最直接的效益,並促使生物科學能以更動態的方式進行。標準的 Web Services 包含了下列功能及相關標準:
y SOAP:SOAP(Simple Object Access Protocol)是 Web Service 底層用來傳遞 消息的協定,他透過網際網路的標準協定如 HTTP, FTP, SMTP..等,傳 遞用 Xml 表示的訊息,如此可以將訊息有組織的傳送到另一端。而接收端 可以依照 Xml 的內容將訊息還原。
圖表 2、soap 示意圖
y WSDL:Web Service 使用 WSDL 來描述其所提供的服務與支援的介面,及 其實體的位置。
y UDDI:UDDI (Universal Description, Discovery and Integration) 的用途,
是能將提供者所提供的網路服務相關資訊紀錄下來,並提供服務要求者以電 子化的方式搜尋適合的網路服務。
由於 Web Service 是依據 SOA 的架構下發展的,所以也有與 SOA 相似的使用步 驟,如下所示:
1. 服務提供者透過 UDDI 的 API,將其提供的服務註冊,以供他人查詢。
2. 服務要求者透過 UDDI API 尋找適合的 Web Service,並取得其 WSDL 的描 述。
3. 透過 WSDL 之描述,與服務提供者建立 SOAP 連線,並執行需要的服務。
圖表 3、Web Service 輪廓圖
由上圖我們可以清楚的了解,SOAP、WSDL、UDDI 與服務提供者和服務要 求者之間的關係。SOAP、WSDL、UDDI 是目前 Web Service 公認的標準。使用 SOAP 協定來處理底層傳輸與訊息的序列化、反序列化,讓應用程式只需要處理 高階的訊息內容即可。當底層的傳輸改變時並不影響應用程式處理訊息的內容,
讓不同平台的系統之間能更為容易的溝通與合作。而使用 WSDL 與 UDDI,使的 Web Service 有了低耦合的優點,只要支援相同的 WSDL 即可互相合作。
2.4 網路服務協調
許多企業或組織將其服務以網路服務呈現,以提高企業內部架構的彈性。但 是客戶在使用這些單一的網路服務時,通常都會伴隨著一些使用流程。使的客戶 在使用上產生不便,也使的企業在提供網路服務時變的複雜且難以追蹤,所以如 何有效的使用這些個別的網路服務以提供客戶或合作對象更有效率的使用方 法,對內能更有效的管理與追蹤,變成企業下一步思考的問題。最近許多組織正 在積極制定有關網路服務協調的標準,如 BPEL4WS、WSCI 等。
網路服務協調分為兩大類:一種是中央編排式,另一種是可執行流程式。中 央編排式的網路服務協調,主要是專注於將訊息在不同的網路服務之間傳遞,以 達到網路服務協調的目的。以 WSCI 為例,他會對 Service 定義一個介面,這個 介面描述了 Service 所提供 Operation 的使用順序,包含一些 Activity 與 Action。
每個 Activity 可能包含一個或多個 Action,每個 Action 對應 WSDL 的一個 Operator 如下圖所示,在 WSCI 中 Global Model 可以將原本介面裡定義的 Action 連接起
來,完成網路服務之間的協調。但是 WSCI 並沒有定義實際可執行的流程而只 是定義了使用網路服務的流程,使的實際在執行流程時還需要額外的幫助,如使 用 BPML 來當作實際執行的語言。
圖表 4 WSCI 示意圖[9]
另一種為可執行流程式的網路服務協調,主要是專注於建立可執行的流程。以 BPEL4WS 為例,其需要定義一個流程,這個流程主要包含 receive、invoke、reply。
一開始由 receive 接收客戶端的訊息起始流程,透過 invoke 去呼叫 pattern 的網路 服務,最後由 reply 回傳客戶端資訊。
圖表 5、BPEL4WS 概念圖[8]
BPEL4WS 將流程當成是網路服務一樣,並透過 WSDL 來描述,所以對使用者來 說就像使用一般的網路服務。不同於 WSCI 有 Global Model 可以整合各個 WSCI
BPEL4WS 將流程當成是網路服務一樣,並透過 WSDL 來描述,所以對使用者來 說就像使用一般的網路服務。不同於 WSCI 有 Global Model 可以整合各個 WSCI