聚類方法有很多,常用的有以下幾個:
下圖的例子展示的是,差異表達基因集的聚類熱圖。
多是基於 r 語言 heatmap.2 函式繪製(gplots 程式包),該函式預設使用的聚類方法是計算歐式距離(euclidean distance)進行層次聚類(hierarchical cluster)。
這個圖的是什麼意思呢?我們來解釋一下。
每個小方格表示乙個基因,顏色則表示該基因的表達量;
每一行表示同乙個基因在不同樣本的表達情況;
每列表示乙個樣本中不同基因的表達情況;
上方的聚類是表示對來自不同樣本的聚類結果;
左側的樹狀圖是表示對來自不同樣本的不同基因的聚類分析結果。
什麼是距離?
首先,我們先明確下什麼是歐式距離(euclidean distance):
歐式距離,也稱歐幾里得距離,是衡量多維空間的兩個點之間的絕對距離,
(1) 二維平面,兩點 a(x1,y1),b(x2,y2) 歐式距離的計算公式為:
(2) 三維空間,歐式距離的計算公式為:
(3) n維空間,歐式距離的計算公式為:
那麼,體現在基因表達量的矩陣上,則如下:
(1) 首行為樣本名;
(2) 首列為基因名;
(3) 數字則為基因在相應樣本中的表達量(一般使用標準化後的表達量矩陣)
gene1 與 gene2 的歐式距離為:
gene1 與 gene3 的歐式距離為:
gene1 與 gene4 的歐式距離為:
聚類的過程
計算出所有基因兩兩之間的歐式距離之後,就可以進行聚類啦:
找出歐式距離最近的兩個基因首先形成一簇 cluster1。由於,gene1 與 gene2 的歐式距離要小於 gene1 與 gene3,gene4 的歐式距離,gene1 與 gene2 會形成一簇 cluster1;
將 cluster1 作為乙個整體,計算其與其他基因兩兩之間的歐式距離,並且尋找歐式距離最近的兩個基因(或者 cluster)形成新的 cluster2。例如,可算得 gene3 和 gene4 的歐式聚類也小於同其他基因的歐式距離,gene3 和 gene4 也會形成一簇 cluster2;
如此反覆,直到所有的聚類完成。
cluster 之間的聚類,則有3種方法:
r 語言中 hclust 函式的預設方法為最長距離法(complete-linkage)。
以上的聚類過程即稱之為層級聚類。
層級聚類一般伴隨著系統聚類圖,系統聚類圖分支的長短也體現 cluster 形成的早晚,分支越短,形成的越早,基因表達模式也越相近。
總結 聚類分析將基因劃分為不同的基因集合,用於反映不同實驗條件下樣品差異表達基因的變化模式。
功能相關的基因在相同條件下通常具有相似的表達模式,例如被共同的轉錄因子調控的基因,或其產物構成同乙個蛋白複合體的基因,或參與相同生物學過程的基因。對這些基因集進行分析往往可以獲得比單基因分析更為可靠的結果。
審稿:童蒙
R語言 AHP層次分析法
ahp求權重有兩種方法,和積法和方根法,方根法比較好實現所以用方根法求解。輸入 judgematrix 判斷矩陣 round 結果約分位數 輸出 權重 weight function judgematrix,round 3 判斷矩陣的一致性檢驗用於檢驗,你的判斷矩陣是否科學合理,ri值只查到了位數達...
編譯原理 遞迴下降分析法 c程式部分的分析
實驗三 語法分析程式實驗 專業 商軟2班 姓名 黃仲浩 學號 201506110166 一 實驗目的 編制乙個部分文法分析程式。二 實驗內容和要求 輸入 源程式字串 輸出 正確或者錯誤 三 實驗方法 步驟及結果測試 源程式名 遞迴下降分析.c 可執行程式名 遞迴下降分析.c 原理分析及流程圖 inc...
R語言 AHP層次分析法 如何驗證矩陣一致性
如何構建ahp層次分析法矩陣可參看知乎這個回答 主要解決驗證矩陣一致性問題 定義乙個函式,讀取貼上板 從複製excel複製 getmatrix function 判斷 輸入 judgematrix 判斷矩陣 round 結果約分位數 輸出 權重 weight 注 crtest呼叫了weight函式 ...