edger多组差异性分析_简单使用DESeq2/EdgeR做差异分析
DESeq2和EdgeR都可用于做基因差異表達分析,主要也是用于RNA-Seq數據,同樣也可以處理類似的ChIP-Seq,shRNA以及質譜數據。
這兩個都屬于R包,其相同點在于都是對count data數據進行處理,都是基于負二項分布模型。因此會發現,用兩者處理同一組數據,最后在相同閾值下篩選出的大部分基因都是一樣的,但是有一部分不同應該是由于其估計離散度的不同方法所導致的。 ### DESeq2的使用方法:
輸入矩陣數據,行名為sample,列名為gene;DESeq2不支持無生物學重復的數據,因此我選擇了2個樣本,3個生物學重復的數據;并對count data取整(經大神指點,這里需要說明下,我的測試數據readcount是RSEM定量的結果,并不是常見的htseq-count的結果,所以count值會有小數點,而DESeq2包不支持count數有小數點,所以這里需要round取整)。
database_all
database
type
database
設置分組信息以及構建dds對象
condition
coldata
dds
使用DESeq函數進行估計離散度,然后進行標準的差異表達分析,得到res對象結果
dds
res
最后設定閾值,篩選差異基因,導出數據
table(res$padj <0.05)
res
resdata
write.csv(resdata,file = "LC_1_vs_LC_2.csv")
EdgeR的使用方法:
跟DESeq2一樣,EdgeR輸入矩陣數據,行名為sample,列名為gene;DESeq2不支持無生物學重復的數據,因此我選擇了2個樣本,3個生物學重復的數據。
exprSet_all
exprSet
group_list
設置分組信息,去除低表達量的gene以及做TMM標準化
exprSet 1) >= 2,]
exprSet
exprSet
使用qCML(quantile-adjusted conditional maximum likelihood)估計離散度(只針對單因素實驗設計)
exprSet
exprSet
尋找差異gene(這里的exactTest函數還是基于qCML并且只針對單因素實驗設計),然后按照閾值進行篩選即可
et
tTag
tTag
write.csv(tTag,file = "LC_1_vs_LC_2_edgeR.csv")
Summary
以上我主要針對單因素兩兩比較組進行差異分析,其實DESeq2和EdgeR兩個R包都可以對多因素進行差異分析。
DESeq2修改以上代碼的分組信息design參數以及在差異分析results函數中添加所選定的分組因素,其他代碼基本一樣,具體參照DESeq2手冊
EdgeR則需要用Cox-Reid profile-adjusted likelihood (CR)方法來估算離散度,y
總結
以上是生活随笔為你收集整理的edger多组差异性分析_简单使用DESeq2/EdgeR做差异分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地方法栈线程公有_Java运行时区域,
- 下一篇: 顺丰北京到北京多少钱啊?