DC-CLUSTER軟件的設(shè)計(jì)與開(kāi)發(fā)
摘要:目前,基因芯片的信息挖掘已成為生物信息學(xué)研究的熱點(diǎn)之一,引起了廣泛的重視。特別是高密度的DNA微陣列,由于它荷載了成千上萬(wàn)個(gè)DNA片段,可用于高通量的生物學(xué)檢測(cè),其開(kāi)發(fā)和利用已進(jìn)入商業(yè)化階段,而其信息處理和信息挖掘更受關(guān)注。本文介紹了基因芯片分析中聚類分析軟件的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,并對(duì)軟件系統(tǒng)結(jié)構(gòu)、功能模塊、關(guān)鍵技術(shù)進(jìn)行了闡述。該軟件能完成基因芯片分析中聚類分析工作。它的開(kāi)發(fā)為從事基因芯片分析的研究人員提供了有效的數(shù)據(jù)處理和分析工具。
1.引言
基因芯片,又稱DNA芯片(DNA chip)或DNA微陣列(DNA microarray),是隨著“人類基因組計(jì)劃”(human genome project, HGP)的發(fā)展而發(fā)展起來(lái)的一項(xiàng)新技術(shù),可廣泛應(yīng)用于基因序列分析、基因突變檢測(cè)和多態(tài)性分析,以及疾病的基因診斷等許多領(lǐng)域。目前,基因芯片的信息挖掘已成為生物信息學(xué)研究的熱點(diǎn)之一,引起了廣泛的重視。特別是高密度的DNA微陣列,由于其荷載了成千上萬(wàn)個(gè)DNA片段,可用于高通量的生物學(xué)檢測(cè),其開(kāi)發(fā)和利用已進(jìn)入商業(yè)化階段,而其信息處理和信息挖掘更受關(guān)注。鑒于此,本軟件是一個(gè)基于C/C++開(kāi)發(fā)的基因芯片聚類分析軟件,用戶可根據(jù)實(shí)際的需要采用軟件提供的多種不同的聚類技術(shù)實(shí)現(xiàn)基因芯片的數(shù)據(jù)挖掘。本文從軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)文件的格式、聚類的方法、差異基因的判斷這五個(gè)方面對(duì)軟件的設(shè)計(jì)和實(shí)現(xiàn)功能進(jìn)行了詳細(xì)闡述,著重介紹了聚類分析、差異基因判斷所應(yīng)用的相關(guān)算法和設(shè)計(jì)過(guò)程。
2.系統(tǒng)構(gòu)建
2.1 軟件系統(tǒng)結(jié)構(gòu)
軟件從5個(gè)方面設(shè)計(jì)基因芯片分析預(yù)測(cè)功能模塊。圖1為該軟件設(shè)計(jì)構(gòu)架。從圖1中可知軟件功能模塊包括數(shù)據(jù)的預(yù)處理、分類統(tǒng)計(jì)量、聚類分析的方法、差異基因的判斷、其他統(tǒng)計(jì)功能。
圖1 軟件的系統(tǒng)結(jié)構(gòu)與功能模塊
2.2 功能模塊
(1) 數(shù)據(jù)的預(yù)處理。聚類分析的基本工作,該模塊以txt文件格式完成聚類分析數(shù)據(jù)的讀取,負(fù)責(zé)在聚類前對(duì)數(shù)據(jù)進(jìn)行篩選和歸一化。
(2) 分類統(tǒng)計(jì)量。該模塊中完成聚類分析前分類統(tǒng)計(jì)量的選取,包括相似系數(shù)和距離的選取,生成距離矩陣或相似系數(shù)矩陣,并保存為txt文件形式。
(3) 聚類分析方法。該模塊實(shí)現(xiàn)各種聚類分析方法,提供了系統(tǒng)聚類分析方法、動(dòng)態(tài)聚類法、自組織圖譜分析法和模糊聚類分析方法。 生成聚類結(jié)果數(shù)據(jù)、并保存為txt 文件,最后輸出聚類層次圖。揭示樣本間隱含的關(guān)系,為進(jìn)一步確定具有相似表達(dá)模式的基因提供了具有相當(dāng)參考價(jià)值的導(dǎo)向。
(4) 差異基因的判斷。利用該功能來(lái)識(shí)別出在不同樣本中表達(dá)有差異的基因。為生物實(shí)驗(yàn)尋找治病基因提供方便。
(5) 其他統(tǒng)計(jì)功能。該模塊為分析生物實(shí)驗(yàn)數(shù)據(jù)提供了一些常用的統(tǒng)計(jì)方法,如T檢驗(yàn),方差檢驗(yàn)等。
2.3 實(shí)現(xiàn)方法與實(shí)驗(yàn)結(jié)果
2.3.1 數(shù)據(jù)讀取
首先第一步是讀取數(shù)據(jù)文件。本軟件能讀取以制表符(tab)為界限的特定格式的文本文件(txt文件)。這種以制表符(tab)為界限的文本文件(txt文件)可以由任意標(biāo)準(zhǔn)的電子制表軟件來(lái)創(chuàng)建和輸出,如Microsoft Excel。
2.3.2 數(shù)據(jù)的預(yù)處理
數(shù)據(jù)歸一化之前,先要對(duì)數(shù)據(jù)進(jìn)行篩選,由于通過(guò)圖像掃描軟件產(chǎn)生的數(shù)據(jù)中有負(fù)的數(shù)據(jù)值或者0,這主要是軟件的算法對(duì)背景噪音處理時(shí)所產(chǎn)生的。由于負(fù)數(shù)和零是不能對(duì)數(shù)化,所以過(guò)濾掉這些數(shù)據(jù)是非常必要的。忽略這些點(diǎn)的信息并不會(huì)對(duì)整體的分析產(chǎn)生影響,因?yàn)檫@些極弱的信號(hào)不足以為基因表達(dá)的差異提供證據(jù)在進(jìn)行聚類分析前,必須對(duì)聚類數(shù)據(jù)進(jìn)行歸一化處理。對(duì)基因芯片數(shù)據(jù)的歸一化處理,主要目的是消除由于實(shí)驗(yàn)技術(shù)所導(dǎo)致地表達(dá)量(Intensity)的變化,并且使各個(gè)樣本(sample)和平行實(shí)驗(yàn)的數(shù)據(jù)處于相同的水平,從而使我們可以得到具有生物學(xué)意義的基因表達(dá)量的變化。歸一化的方法根據(jù)芯片的種類、數(shù)據(jù)處理的階段和目的不同而有所差異。
本軟件主要采用了針對(duì)雙熒光染色(Red and Green Chip)的cDNA 微列陣(cDNAmicroarray)的歸一化化方法。主要采用了以下幾種歸一化方法:芯片間的數(shù)據(jù)歸一化(Cross slide normalization),芯片內(nèi)的數(shù)據(jù)歸一化(within slide normalization),對(duì)數(shù)變換法。本軟件還提供了一些較常用的數(shù)據(jù)變換方法,如標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化、極差標(biāo)準(zhǔn)化、極差正規(guī)化、中心化變換等。
2.3.3 分類統(tǒng)計(jì)量
研究變量或樣本的親疏程度的數(shù)量指標(biāo)有兩種,一種叫相似系數(shù),性質(zhì)越接近的基因(樣本),它們之間的相似系數(shù)接近于1(或 -1),而彼此無(wú)關(guān)的基因(樣本),它們之間的相似系數(shù)則接近于零,在進(jìn)行聚類處理時(shí),比較相似的基因(樣本)歸為一類,不怎么相似的樣本歸為不同的類;另一種是距離,它是將每一個(gè)基因(樣本)看成m維空間(m種實(shí)驗(yàn)(變量))的一個(gè)點(diǎn),在這m維空間中定義距離,距離接近的點(diǎn)歸為同一類,距離較遠(yuǎn)的歸于不同的類。
本軟件提供這兩種數(shù)量指標(biāo)。在距離尺度中:使用了歐式距離、絕對(duì)值距離、切比雪夫距離、蘭氏距離、馬氏距離和斜交空間距離等;在相似統(tǒng)計(jì)量中,使用了Pearson系數(shù)、相關(guān)系數(shù)和交角余弦等。
2.3.4 聚類方法
基因芯片數(shù)據(jù)在經(jīng)過(guò)上述方法處理后,接下來(lái)進(jìn)行聚類分析。聚類是指根據(jù)基因芯片的基因表達(dá)數(shù)據(jù),將基因按照不同的功能,或者相同的表達(dá)行為進(jìn)行歸類,聚類的基因表達(dá)譜為研究人員提供基因表達(dá)差異,啟動(dòng)子分析,表達(dá)模式研究等等便利的條件。
本軟件目前提供了三種聚類方法:系統(tǒng)聚類法,動(dòng)態(tài)聚類法和自組織映射聚類法。本文將主要介紹系統(tǒng)聚類法、動(dòng)態(tài)聚類法和自組織映射聚類法。
⑴ 系統(tǒng)聚類法
系統(tǒng)聚類法是最早也是最普遍的應(yīng)用在基因芯片數(shù)據(jù)分析研究中的聚類算法。具體步驟如下:
如圖2所示的那樣。每一列是不同的條件,或者在不同條件下的樣本,每一行是基因的編號(hào),每個(gè)基因的表達(dá)量用標(biāo)準(zhǔn)化后log (R /G) 2 的表示。
② 計(jì)算所有基因之間的分類統(tǒng)計(jì)量:通過(guò)軟件提供地分類統(tǒng)計(jì)量這一模塊來(lái)計(jì)算所有基因之間的相關(guān)系數(shù)(correlation coefficient)或距離系數(shù)。
③ 建立Gene-Gene 的距離矩陣。
④ 建立系統(tǒng)發(fā)育樹(shù)(dendrogram):根據(jù)Gene-Gene 的距離矩陣的分值,首先找到距
離最近的兩個(gè)基因,然后合并,再找距離相近兩組再合并,直到所有的基因合并到一個(gè)組中。本軟件主要采用了單鏈法(single linkage method)、全鏈法(complete linkagemethod)、組平均法(average linkage method)、最短距離法、最長(zhǎng)距離法、中間距離法、重心法、類平均法、可變類平均法、離差平方和法。
⑵ 動(dòng)態(tài)聚類法
本軟件采用了K均值聚類法和K中位值聚類法。具體算法步驟如下:
① 選擇聚點(diǎn)。本軟件采取了用任意K個(gè)樣本或前K個(gè)樣本作為凝聚點(diǎn)和數(shù)值插值尋找凝聚點(diǎn)的方法來(lái)選取凝聚點(diǎn)。
② 初始分類。本軟件采取了下面方法來(lái)進(jìn)行初始分類。選擇一批聚點(diǎn)后,每個(gè)聚點(diǎn)自成一類,將樣本依次歸入其距離最近的聚點(diǎn)的那一類,并立即重新計(jì)算該類的重心,以代替原來(lái)的聚點(diǎn),再計(jì)算下一個(gè)樣本的歸類,直至所有樣本都?xì)w類為止。
⑶ 自組織映射聚類(SOM)
本軟件還提供了自組織映射聚類(Self-Organizing Map, SOM),是由T.Konohen 于1980年提出的模型,屬于非監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)聚類,與K-means 相似,采用SOM 聚類算法之前,也要首先估計(jì)出想要得到的類的個(gè)數(shù)。然后給每個(gè)部分建立一個(gè)隨機(jī)向量,再隨機(jī)挑選一個(gè)基因,通過(guò)已選定的距離矩形矩陣計(jì)算這一向量與表達(dá)向量之間的距離,從而確定與該基因最近的參考向量;接著調(diào)整這一參考向量使其與表達(dá)向量更相近,其他的參考向量也隨之調(diào)整。這一過(guò)程不斷迭代,參考向量的調(diào)整量減少,但相似程度的嚴(yán)格性不斷提高。最終,參考向量收斂于一個(gè)固定值,基因也隨之分為幾個(gè)部分。
2.3.5 數(shù)據(jù)的輸出
本軟件在聚類完成后,將數(shù)據(jù)保存在一個(gè)文本文件中(.txt),輸出格式如圖3。本軟件提供聚類過(guò)程中可生成距離矩陣,也是保存在文本文件中。本軟件并能輸出聚類樹(shù)狀圖(層次圖)。下面給出了系統(tǒng)聚類法和K均值聚類法的計(jì)算結(jié)果:
2.3.6 差異基因的判斷
在芯片陣列數(shù)據(jù)分析中另一個(gè)最常見(jiàn)的問(wèn)題是如何在不同樣本中識(shí)別出表達(dá)有差異的基因(differentially expressed genes)。而在判斷表達(dá)差異的基因前,必須對(duì)芯片數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)于單張芯片,本軟件運(yùn)用了Z-score值來(lái)進(jìn)行分析的。利用下式來(lái)計(jì)算每條基因的Z-score值:Z = (X ? u)/σ ,其中X表示這條基因的表達(dá)比率值,u 為所有基因比例值的平均值,σ 方差為。若取Z > 2,表示基因表達(dá)比率值在平均比率加兩倍方差之外,這樣的差異表達(dá)就有統(tǒng)計(jì)學(xué)上的意義了。
3.實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于Eisen博士所在的實(shí)驗(yàn)室,是YeaST Saccharomyces cerevisin的基因表達(dá)數(shù)據(jù)。數(shù)據(jù)集基因數(shù)N = 6223,觀測(cè)樣本M = 40。通過(guò)DC-Cluster分析后得到的聚類結(jié)果與用Eisen博士所在實(shí)驗(yàn)室提供地基因芯片數(shù)據(jù)分析軟件Cluster得到地結(jié)果比較,正確率達(dá)到90%。
4.結(jié)束語(yǔ)
本文介紹了DC-CLUSTER的設(shè)計(jì)和開(kāi)發(fā)過(guò)程,并對(duì)軟件各功能模塊的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了闡述。該軟件能完成基因芯片分析中聚類分析和判斷差異基因的工作,包括數(shù)據(jù)預(yù)處理、分類統(tǒng)計(jì)量的選取,系統(tǒng)聚類法、動(dòng)態(tài)聚類法、判斷差異基因等功能。下一步要作地工作就是將基因芯片圖像的處理整合進(jìn)來(lái),為基因芯片圖像分析和對(duì)圖像數(shù)據(jù)的處理提供更完善的功能和更方便的操作。本軟件的開(kāi)發(fā)只是在此領(lǐng)域?qū)嵺`的開(kāi)始,提供更完善的功能、更方便的操作以及更準(zhǔn)確的結(jié)果將是進(jìn)一步研究與實(shí)踐的目標(biāo)。
與人玫瑰