ConsensusClusterPlus根據基因表達量對樣品進行分類


#http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2881355/

一致聚類方法,采用重抽樣方法來驗證聚類合理性。

library(ALL)
data(ALL)
d=exprs(ALL)
d[1:5,1:5]

#對上面這個芯片表達數據我們一般會簡單的進行normalization (本次采用中位數中心化),然后取在各個樣品差異很大的那些gene或者探針的數據來進行聚類分析

mads=apply(d,1,mad)# mad(x) 絕對中位數差 按行(1)取d數據的中位數

d=d[rev(order(mads))[1:5000],]
#去除前5000個數據
d = sweep(d,1, apply(d,1,median,na.rm=T))
#按行減去中位數,r語言中使用sweep(x, MARGIN, STATS, FUN="-", ...) 對矩陣進行運算。MARGIN為1,表示行的方向上進行運算,
#為2表示列的方向上運算。STATS是運算的參數。FUN為運算函數,默認是減法。

library(ConsensusClusterPlus)
title=tempdir()
results = ConsensusClusterPlus(d,maxK=6,reps=50,pItem=0.8,pFeature=1,
clusterAlg="hc",distance="pearson",seed=1262118388.71279,plot="png")

#聚類數目K=2,3,4,·····6,采用重抽樣方案對樣本的80%抽樣,經過多次采樣,找到穩定可靠的亞組分類。

然后利用這些有類標簽的樣本來尋找可以將樣本分類的標簽基因。可以利用PAM方法找尋標簽基因。

#results[[2]] is theresults result of k=2
results[[4]][["consensusMatrix"]][1:5,1:5]
results[[2]][["consensusTree"]]
results[[2]][["consensusClass"]][1:5]

icl = calcICL(results,title=title,plot="png")

icl[["clusterConsensus"]]
icl[["itemConsensus"]][1:5,]

生成的圖片類似:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM