基本上RNA-Seq等等各種測(cè)序手段都需要計(jì)算差異表達(dá)
通常大家常用的軟件不外乎cufflinks和幾個(gè)R包DESeq蚓挤、EBSeq析砸、edgeR、ballgown扼雏。
值得一提的是現(xiàn)在的軟件和R包大多需要有生物學(xué)重復(fù)才能準(zhǔn)確計(jì)算差異表達(dá)情況
目前燃异,我只了解edgeR可以在無(wú)生物學(xué)重復(fù)的情況下計(jì)算差異表達(dá)携狭。
edgeR 官方發(fā)布頁(yè)[中科大鏡像]:http://mirrors.ustc.edu.cn/bioc/packages/release/bioc/html/edgeR.html
簡(jiǎn)單寫(xiě)一下edgeR的用法
首先,安裝edgeR包
source('https://www.bioconductor.org/biocLite.R')
biocLite('edgeR')
隨后回俐,讀取數(shù)據(jù)逛腿,修飾成如圖的模樣,列名自己隨意定義能夠識(shí)別對(duì)應(yīng)什么樣本就好仅颇,行名需要為對(duì)應(yīng)的轉(zhuǎn)錄本或者基因的可識(shí)別的ID或者名稱(chēng)
無(wú)生物學(xué)重復(fù)
library(edgeR) # 加在edgeR
# counts就是上圖的dataframe
# group就是分組鳄逾,數(shù)據(jù)來(lái)源為幾組,就對(duì)應(yīng)的分成幾組
# 如果有6組數(shù)據(jù)灵莲,分別來(lái)自于三組數(shù)據(jù)雕凹,那么group=c(1, 1, 2, 2, 3, 3),123分別對(duì)應(yīng)來(lái)源
y <- DGEList(counts=counts, group=1:2)
# bcv是官方文檔的推薦數(shù)值(對(duì)應(yīng)人的政冻,對(duì)應(yīng)其他物種的值不清楚)枚抵,可以自己調(diào)整
bcv = 0.1
et <- exactTest(y, dispersion=bcv^2)
results = et$table
以上,即完成了無(wú)生物學(xué)重復(fù)的差異表達(dá)的計(jì)算
結(jié)果中明场,有三列
- logFC是treat/control的log2(Fold Change)汽摹,并不是簡(jiǎn)單的count值的對(duì)比,而是分別計(jì)算了兩組的CPM值然后計(jì)算的logFC
- logCPM是CPM值的log2
- PValue苦锨,差異表達(dá)的p值
補(bǔ)充逼泣,CPM(count per million)CPM = 每個(gè)轉(zhuǎn)錄本的count值/某樣本總count值 * 10^6
如果趴泌,還需要計(jì)算q值,自行通過(guò)R的p.adjust計(jì)算一下就好
results$q = p.adjust(results$PValue, method = 'fdr')