添加第一列列名為id 清空空字符 文件保存為csv格式 #表達矩陣
N1 N2 N3 N4 N5 ASCRP000001 7.724977 7.867182 7.716320 7.808999 7.769155 ASCRP000002 9.358083 9.419830 9.366810 10.023439 9.854187 ASCRP000004 9.376542 12.278848 9.372987 9.013128 9.864421 ASCRP000005 8.326384 8.292985 8.341654 8.242107 8.327296 ASCRP000006 8.056148 9.256802 8.053611 8.311279 8.318445 #分組
[1] "normal" "normal" "normal" "normal" "normal" "normal" "cancer" "cancer" "cancer" "cancer" "cancer" "cancer" #QC檢測
#安裝limma
#制作分組矩陣
cancer normal N1 0 1 N2 0 1 N3 0 1 N4 0 1 N5 0 1 N6 0 1 C1 1 0 C2 1 0 C3 1 0 C4 1 0 C5 1 0 C6 1 0 #矩陣聲明
Contrasts Levels normal-cancer cancer -1 normal 1 #差異分析
logFC AveExpr t P.Value adj.P.Val B ASCRP002607 -0.6921963 8.304751 -6.171921 6.396350e-05 0.06249354 1.9542295 ASCRP002273 -0.5178892 8.374084 -5.872071 9.897068e-05 0.06249354 1.5815667 ASCRP004643 -0.3363617 8.378703 -5.805455 1.092339e-04 0.06249354 1.4966747 ASCRP000624 0.4530361 15.559685 5.634824 1.410412e-04 0.06249354 1.2757264 ASCRP001621 -0.3981851 8.270907 -5.389916 2.050045e-04 0.06249354 0.9497525 ASCRP003058 -1.7550218 12.010918 -5.344000 2.201025e-04 0.06249354 0.8874756
最后附上logFC和-log(P.Value)的火山圖 補充:關(guān)于limma包差異分析結(jié)果的logFC解釋 首先,我們要明白,limma接受的輸入?yún)?shù)就是一個表達矩陣,而且是log后的表達矩陣(以2為底)。 那么最后計算得到的logFC這一列的值,其實就是輸入的表達矩陣中case一組的平均表達量減去control一組的平均表達量的值,那么就會有正負之分,代表了case相當(dāng)于control組來說,該基因是上調(diào)還是下調(diào)。 我之前總是有疑問,明明是case一組的平均表達量和control一組的平均表達量差值呀,跟log foldchange沒有什么關(guān)系呀。 后來,我終于想通了,因為我們輸入的是log后的表達矩陣,那么case一組的平均表達量和control一組的平均表達量都是log了的,那么它們的差值其實就是log的foldchange 首先,我們要理解foldchange的意義,如果case是平均表達量是8,control是2,那么foldchange就是4,logFC就是2咯 那么在limma包里面,輸入的時候case的平均表達量被log后是3,control是1,那么差值是2,就是說logFC就是2。 這不是巧合,只是一個很簡單的數(shù)學(xué)公式log(x/y)=log(x)-log(y) |
|