RNA-seq 生物學重復相關性驗證


根據拿到的表達矩陣設為exprSet

 

1、用scale 進行標准化

數據中心化:數據集中的各個數字減去數據集的均值

數據標准化:中心化之后的數據在除以數據集的標准差。

在R中利用scale方法來對數據進行中心化和標准化

1 scale(data, center=T, scale=F)
2 
3 其中,center為T,表示數據中心化
4 
5          scale為T,表示數據標准化
6 
7 對一個data frame的每一列進行計算

並不是表達矩陣里面的所有基因都可以進行相關性分析,首先去除reads count >1 小於5個的基因(測試樣品共有6個)

1 ##過濾reads count >1 小於5
2  exprSet <- exprSet[apply(exprSet,1, function(x) sum(x>1) >5,]
3 ##reads count 差距較大,用log以及scale 縮小差距
4 M <- scale(cor(llog2(exprSet+1)))
5 ##熱圖
6 pheatmap(M)

 

 

 

2、另一種標准化

 1 exprSet <- exprSet[apply(exprSet,1, function(x) sum(x>1) >5,]
 2 
 3 ##去除文庫大小差異
 4 exprSet <- log(edgeR::cpm(exprSet)+1)
 5 
 6 ##取mad(絕對中位差)(類似sd)的前50%
 7 exprSet <- exprSet[names(sort(apply(exprSet,1,mad),decreasing = T)[1:500]),]  ##取前500
 8 M <-cor(log2(exprSet+1))
 9 
10 ##添加group_list
11 tem = data.frame(g=group_list)
12 rownames(tem) <- colnames(M)
13 pheatmap::pheatmap(M, annotation_col = tem,filename = 'cor.png')

 

3、hclust 聚類分析

歐式距離(Euclidean Distance) 

歐式距離是最易於理解的一種距離計算方法,源自歐式空間中兩點間的距離公式。 

用R語言計算距離主要是dist函數。若X是一個M×N的矩陣,則dist(X)將X矩陣M行的每一行作為一個N維向量,然后計算這M個向量兩兩間的距離。

表達矩陣是每一行為基因,列為樣品名稱,所以要進行轉至才能計算每個樣品之間基因表達量的距離

為了得到更好的聚類分析,也可以將表達矩陣標准化,譬如,log,或者 scale等

 1 hc <- hclust(dist(t(exprSet)))
 2 plot(hc)
 

 

 

參考:生信技能樹

 


免責聲明!

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



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