生物學重複好不好 看看樣本相關性

2021-10-09 14:43:04 字數 3462 閱讀 5473

生物學實驗中,常常需要設定重複,例如技術重複、生物學重複,以此確保不是個體的偶然變異對結果產生影響。以轉錄組資料為例,一般會設定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()使用,關閉繪圖裝置

軟體生物學

長久以來,軟體的建築學隱喻已經深入人心,可始終無法達到建築學那樣的成熟程度,我不知道是什麼原因,可是有一點是應該注意的,就是一座建築在完成後基本不可以也不需要進行修改,來增加新的樓層,新的門廳等 即使沒有任何修改,建築也可以很長時間的生存下去,除了用發酵的大豆蓋的樓 可軟體要生存,就需要不斷的增加新...

生物學專業 家長講座 生物學專業分析

演講人 龐欣阿姨 李約媽媽 演講內容今天的講座關於生物科學。阿姨首先介紹了生物科學的主要領域。生物科學是從分子 細胞 機體乃至生態系統等不同層次研究生命現象的本質 生物的起源進化 遺傳變異 生長發育等生命活動規律的科學。其中包括生物資訊學專業,生物工程專業,生物科學專業和生態學四大分割槽。然後她根據...

人單純點好不好?

今天在乙個群裡看到乙個人問 人單純點好不好?有人說 人太單純了會變傻的。有人說 單純點好!但是現在單純的人難找啊!有人說 現在單純的人總是被人欺負。人們眾說紛紜,但是總體觀點是人太單純了不好,這個世界上太單純的人是很少的。乙個人生活在這個複雜的社會上,有時想單純都很難,世事紛擾,瑣事繁雜,人際關係複...