生物學實驗中,常常需要設定重複,例如技術重複、生物學重複,以此確保不是個體的偶然變異對結果產生影響。以轉錄組資料為例,一般會設定3-5個生物學重複,如何確認生物學重複的效果好壞呢,方法有很多,可以計算兩兩樣本之間的相關性,可以進行樣本的pca分析,或者繪製聚類熱圖,這裡首先介紹樣本相關性方法。
我們將在r,使用rstudio進行計算繪圖。
轉錄組資料分析完成以後,我們會拿到基因表達矩陣,格式如下,行為基因,列為樣本(也可以是行為樣本,列為基因,在r中轉置函式t()
可以秒秒種搞定)。
何謂相關?簡單來說若你高我也高,你低我也低,或者你高我低都可以叫做相關。數理統計上通過計算相關係數來衡量,取值[-1, 1],負數表示負相關,正數表示正相關。在顯著性的前提下,絕對值越大,相關性越強。絕對值為0, 無線性關係;絕對值為1表示完全線性相關。有pearson, spearman和 kendall 三類相關係數,它們的特點是:
相關係數
適用變數型別
假設條件
pearson
連續變數
1.服從正態分佈,2.兩個變數的標準差不為0
spearman
連續變數/等級資料
成對等級相關資料即可
kendall
有序分類變數
成對等級相關資料即可
可以看到除了pearson相關係數對資料有嚴格要求外,其他兩種的適用範圍都比較廣,當你不確定資料分布時,一般適用spearman即可。
這裡要計算樣本之間的相關性,落實到**中,其實就是分別計算資料列與列之間的相關係數。
## 設定工作路徑
setwd(
'/users/yut/desktop/data'
)fpkm
'control_case_fpkm.txt'
, header = t, row.names =1)
#header=t,第一行指定為列名,row.names=1指定第一列為行名
view(fpkm)
#檢視資料
## 計算樣本之間的相關性
corr
'spearman'
)#cor函式計算兩兩樣本(列與列)之間的相關係數
view(corr)
#檢視樣本之間的相關係數
cor
函式返回樣本之間的相關係數矩陣,對角線為樣本自身與自身的相關係數1,左下和右上半形是一樣的
為了更直觀的展示,使用corrplot
將相關係數矩陣對映成熱圖
## 如果不存在corrplot就安裝這個包if(
!requirenamespace(
'corrplot'
, quietly =
true))
install.packages(
'corrplot'
)library(
'corrplot'
)#載入corrplot包用於繪製相關性矩陣熱圖
# corrplot並不能直接計算兩兩樣本之間的相關係數,而需要通過r內建函式cor計算,corrplot真正做的是把cor計算得到的樣本相關係數矩陣對映成不同的顏色和樣式
# 對映成熱圖
corrplot(corr, type =
'upper'
, tl.col =
'black'
, order =
'hclust'
, tl.srt =
45, addcoef.col =
'white'
)# tl.col='black':字型顏色黑色
# order='hclust':使用層次聚類演算法
# tl.srt = 45:x軸標籤傾斜45度
一般來說:
0.8-1.0 極強相關
0.6-0.8 強相關
0.4-0.6 中等程度相關
0.2-0.4 弱相關
0.0-0.2 極弱相關或無相關
從上面的結果看,case組內和control組內的相關係數都較高,而組間的相關係數都較低,說明生物學重複效果好,可以繼續後續分析。若組內某個樣本與同組內其他樣本的相關係數都較低,則可以考慮去除,或者加測樣本進行重分析
# 《樣本相關性》
## 1.如果不存在corrplot就安裝這個包if(
!requirenamespace(
'corrplot'
, quietly =
true))
install.packages(
'corrplot'
)library(
'corrplot'
)#載入corrplot包用於繪製相關性矩陣熱圖
# corrplot並不能直接計算兩兩樣本之間的相關係數,而需要通過r內建函式cor計算,corrplot真正做的是把cor計算得到的樣本相關係數矩陣對映成不同的顏色和樣式
## 2.讀入基因fpkm的表達矩陣
##設定工作路徑
setwd(
'/users/yut/desktop/data'
)fpkm
'control_case_fpkm.txt'
, header = t, row.names =1)
#header=t,第一行指定為列名,row.names=1指定第一列為行名
view(fpkm)
#檢視資料
##3.計算樣本之間的相關性
corr
'spearman'
)#cor函式計算兩兩樣本(列與列)之間的相關係數
view(corr)
#檢視樣本之間的相關係數
# pdf('../sample_correlation.pdf', width = 8, height = 8) #開啟繪圖裝置,儲存為pdf檔案
corrplot(corr, type =
'upper'
, tl.col =
'black'
, order =
'hclust'
, tl.srt =
45, addcoef.col =
'white'
)# tl.col='black':字型顏色黑色
# order='hclust':使用層次聚類演算法
# tl.srt = 45:x軸標籤傾斜45度
# dev.off() #配合pdf()使用,關閉繪圖裝置
軟體生物學
長久以來,軟體的建築學隱喻已經深入人心,可始終無法達到建築學那樣的成熟程度,我不知道是什麼原因,可是有一點是應該注意的,就是一座建築在完成後基本不可以也不需要進行修改,來增加新的樓層,新的門廳等 即使沒有任何修改,建築也可以很長時間的生存下去,除了用發酵的大豆蓋的樓 可軟體要生存,就需要不斷的增加新...
生物學專業 家長講座 生物學專業分析
演講人 龐欣阿姨 李約媽媽 演講內容今天的講座關於生物科學。阿姨首先介紹了生物科學的主要領域。生物科學是從分子 細胞 機體乃至生態系統等不同層次研究生命現象的本質 生物的起源進化 遺傳變異 生長發育等生命活動規律的科學。其中包括生物資訊學專業,生物工程專業,生物科學專業和生態學四大分割槽。然後她根據...
人單純點好不好?
今天在乙個群裡看到乙個人問 人單純點好不好?有人說 人太單純了會變傻的。有人說 單純點好!但是現在單純的人難找啊!有人說 現在單純的人總是被人欺負。人們眾說紛紜,但是總體觀點是人太單純了不好,這個世界上太單純的人是很少的。乙個人生活在這個複雜的社會上,有時想單純都很難,世事紛擾,瑣事繁雜,人際關係複...