轉(zhuǎn)錄組下游分析——DEG和GO富集分析

??在進(jìn)行上游的轉(zhuǎn)錄組分析后,我們會(huì)得到基因的計(jì)數(shù)文件。通過該文件,我們可以進(jìn)行下游的DEG分析,獲得不同樣本的差異表達(dá)基因,并可以將這些基因富集到不同的生物學(xué)過程。

??該文以DEseq2為例,進(jìn)行差異表達(dá)分析。參考RNA-seq(7): DEseq2篩選差異表達(dá)基因并注釋(bioMart)
??首先我們需要準(zhǔn)備兩個(gè)文件,一個(gè)是countData文件,另一個(gè)是colData文件。countData文件可以通過python或者R將每個(gè)樣本的基因計(jì)數(shù)信息mix到一起。colData文件可以只包括一種處理,列名和處理名可以自定義。注意,countData的行名和colData的列名要一致。
??當(dāng)我們拿到了這兩個(gè)文件,便可以進(jìn)行后續(xù)分析了。參考文章中的解釋已經(jīng)相當(dāng)全面,這里只針對(duì)我在學(xué)習(xí)過程中遇到的一些小問題進(jìn)行進(jìn)一步描述。

1 載入數(shù)據(jù)

> condition <- factor(c(rep("control",2),rep("treat",2)), levels = c("control","treat"))
# 在這串代碼中,可以設(shè)置多個(gè)處理,例如
# condition <- factor(c(rep("control",3),rep("treat1",3), rep("treat2", 3)), levels = c("control","treat1","treat2"))
# 表示一個(gè)對(duì)照組,兩個(gè)處理組,分別為3次重復(fù)

3 總體結(jié)果查看

> resultsNames(dds)
> res = results(dds, contrast=c("condition", "control", "treat"))
# 該處可以手動(dòng)選擇要進(jìn)行展示的組,可以選擇control和treat1或treat2
# res = results(dds, contrast=c("condition", "control", "treat1/2"))
或
# res <- results(dds, name=paste("condition_treat2_vs_control", sep="", collapse = NULL))
# 該處引號(hào)內(nèi)名稱一定要與 resultsNames(dds) 結(jié)果保持一致
# 數(shù)據(jù)收縮,避免極端值對(duì)log2FC的影響
> res <- lfcShrink(dds, coef = paste("condition_treatment2_vs_control", sep="", collapse = NULL), type = 'apeglm', res = res)

??之后按照參考文章中的步驟進(jìn)行操作,我們便可以獲得差異表達(dá)的基因。
??拿到差異表達(dá)基因后,可以根據(jù)自己的需求進(jìn)行數(shù)據(jù)展示,這里參考RNA-Seq:差異表達(dá)分析及可視化
??同時(shí),我們可以將這些差異基因進(jìn)行富集分析,觀察其所富集到的過程或途徑。在這里我們以clusterProfiler為例進(jìn)行富集分析。如果進(jìn)行非模式作物的分析的話,我們需要構(gòu)建該物種的OrgDB庫,參考文章生信 | 構(gòu)建物種的OrgDb,該文章的描述很全面,直接按照作者的代碼進(jìn)行操作即可。
??當(dāng)然,我們也可以通過網(wǎng)站進(jìn)行富集分析,例如g:Profiler,只需輸入差異基因的ID,選擇自己的物種即可。但注意,該網(wǎng)站的物種基因組版本可能不是最新的,要注意你的Gene_ID要與該網(wǎng)站的基因組版本一致,如果不一致的話需要進(jìn)行ID轉(zhuǎn)換。我們可以借助兩個(gè)版本的基因組共線性文件進(jìn)行ID的轉(zhuǎn)換,自己寫一個(gè)腳本即可。構(gòu)建OrgDB需要較大的內(nèi)存,如果內(nèi)存不夠可以在服務(wù)器上運(yùn)行。在服務(wù)器上安裝R包可能會(huì)遇到一些問題,這里可以參考一下我遇到的情況,問題匯總(持續(xù)更新)。
??以上兩種方法均能滿足我們的需求。但是,對(duì)于沒有接觸過R語言的人則更推薦第一種方法。第一種方法得到結(jié)果之后直接丟到dotplot函數(shù)中即可或者完成度較高的圖,而第二種方法則需要自己畫圖,這對(duì)不會(huì)R語言的人還是不太友好的。
??至此,RNA-seq的上下游基本分析流程已經(jīng)總結(jié)完畢。
??我自己本身也是一名初學(xué)者,該文也是自己在學(xué)習(xí)的過程中的一個(gè)小總結(jié),如有任何錯(cuò)誤也請(qǐng)各位大佬及時(shí)指出。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容