Limma-voom強大在於三個方面:
註意,這裏的 calcNormFactors 並不是進行了標準化,僅僅是計算了壹個參數,用於下遊標準化
然後根據列名提取樣本信息(sample name)
看到樣本是按照兩個因素(品系C/I5/I8、時間6/9)分類的,並且四個生物學重復寫在了最後 C/I5/I8 | 6/9 | 1/2/3/4
再將這兩部分整合進group分組信息中
當然,也可以自己手動輸入或從其他文件導入,但 必須註意壹點 :這個group metadata必須和counts的列明順序對應
多個實驗因子同時存在時,要進行MDS(multidimensional scaling)分析,即“多維尺度變換”。正式差異分析前幫助我們判斷潛在的差異樣本,結果會將所有樣本劃分成幾個維度,第壹維度的樣本代表了最大的差異
首先原始counts轉換成log2的CPM(counts per million reads ),這裏的per million reads是根據之前 calcNormFactors 計算的norm.factors進行規定的;
然後根據每個基因的log2CPM制作了線性模型,並計算了 殘差 ;
然後利用了平均表達量(紅線)擬合了sqrt(residual standard deviation);
最後得到的平滑曲線可以用來得到每個基因和樣本的權重
/articles/10.1186/gb-2014-15-2-r29
上圖效果較好,如果像下面?這樣:就表示數據需要再進行過濾
組間比較:
例如進行I5品系的6和9小時比較
估算組間每個基因的比較:
再利用Empirical Bayes (shrinks standard errors that are much larger or smaller than those from other genes towards the average standard erro)
/doi/10.2202/1544-6115.1027
從前幾個差異最顯著的基因中可以看到,AT5G37260基因在time9的表達量最高(約time6的8倍),AT2G29500表達量最低,比time6的還少(約1/32)
那麽總***有多少差異基因呢?
如果以logFC=2,Pvalue=0.05為閾值進行過濾
只需要將 makeContrasts 修改
上面利用了單因子group構建了model matrix,如果存在多個影響因子,可以利用新的因子(就省去了之前因子組合成group的步驟)構建新的矩陣模型
如果我們想 比較品系I5和品系C在time6的差異 ,就可以:
可以看到,和之前用單因子group得到的結果壹樣
但是,這種方法在同時 分析交叉影響時就體現出來強大了:
比如我們 想看time9與品系I5的差異結果
有時RNA-Seq需要考慮 批次效應(Batch effect)的影響
構建模型時,需要將batch加在最後,其他不變
或者需要考慮其他因素的影響,比如這裏有 壹個連續型變量rate,它可能是pH、光照等等對研究材料的影響值
可見rate值並不能成為產生差異基因的原因,但是 rate與基因的相關性還是可以探索壹下的
圖中的 斜率就是logFC值 ,或者可以說每單位rate的增加,gene表達量log2 CPM的改變。這裏斜率為-0.096表示:每單位rate的增加,就有-0.096 log2CPM的基因表達量降低;或者每單位rate的增加,就有6.9%的CPM降低( 2^0.096 = 1.069 )