RNAseq數(shù)據(jù)岖研,下載GEO中的FPKM文件后該怎么下游分析

這個(gè)推文已經(jīng)發(fā)布在生信技能樹公眾號:

RNAseq數(shù)據(jù),下載GEO中的FPKM文件后該怎么下游分析


  • 文獻(xiàn)標(biāo)題是:Oncogenic lncRNA downregulates cancer cell antigen presentation and intrinsic tumor suppression不過不需要看文章
  • 6個(gè)樣本警检,分成2組孙援,是RPKM值表達(dá)矩陣,做差異分析扇雕,看GO通路拓售,跟文章比較
  • 新的作業(yè):(f) Enrichment of GO biological process (BP) terms for up-regulated genes (red) and down-regulated genes in tumor versus normal samples (n?=?3, 3 animals). (g-i) Log2 of fold changes of indicated metabolites in MMTV-Tg(LINK-A) breast tumor compared to that of Tg(LINK-A) mammary gland (n?=?3 animals respectively).

1.下載數(shù)據(jù)GSE113143并加載數(shù)據(jù)

a=read.table('GSE113143_Normal_Tumor_Expression.tab.gz',sep='\t',quote = "",fill = T,
             comment.char = "!",header = T) # 提取表達(dá)矩陣
rownames(a)=a[,1]
a <- a[,-1]

2.將FPKM轉(zhuǎn)換為TPM

expMatrix <- a
fpkmToTpm <- function(fpkm)
{
  exp(log(fpkm) - log(sum(fpkm)) + log(1e6))
}
tpms <- apply(expMatrix,2,fpkmToTpm)
tpms[1:3,]
colSums(tpms)
#輸出結(jié)果:
> tpms[1:3,]
                  N1      N2    N3    T1    T2    T3
0610005C13Rik  0.232  0.1715  0.00  0.00  0.00  0.00
0610007P14Rik 48.391 39.2632 46.04 50.04 59.05 67.29
0610009B22Rik 47.491 58.5954 54.27 49.79 53.13 58.00
> colSums(tpms)
   N1    N2    N3    T1    T2    T3 
1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 

3.差異分析:

group_list=c(rep('Normal',3),rep('Tumor',3))
## 強(qiáng)制限定順序
group_list <- factor(group_list,levels = c("Normal","Tumor"),ordered = F)
#表達(dá)矩陣數(shù)據(jù)校正
exprSet <- tpms
boxplot(exprSet,outline=FALSE, notch=T,col=group_list, las=2)
library(limma) 
exprSet=normalizeBetweenArrays(exprSet)
boxplot(exprSet,outline=FALSE, notch=T,col=group_list, las=2)
#判斷數(shù)據(jù)是否需要轉(zhuǎn)換
exprSet <- log2(exprSet+1)
#差異分析:
dat <- exprSet
design=model.matrix(~factor( group_list ))
fit=lmFit(dat,design)
fit=eBayes(fit)
options(digits = 4)
topTable(fit,coef=2,adjust='BH')
bp=function(g){
  library(ggpubr)
  df=data.frame(gene=g,stage=group_list)
  p <- ggboxplot(df, x = "stage", y = "gene",
                 color = "stage", palette = "jco",
                 add = "jitter")
  #  Add p-value
  p + stat_compare_means()
}
deg=topTable(fit,coef=2,adjust='BH',number = Inf)
head(deg) 
#save(deg,file = 'deg.Rdata')

劃重點(diǎn):以下代碼、方法全來自生信技能樹的最新推文:為R包寫一本書(向Y叔致敬)

4.做完差異分析

  • GEO數(shù)據(jù)挖掘代碼镶奉,很容易得到上下調(diào)基因础淤,而且轉(zhuǎn)為ENTREZID,后續(xù)分析都以這個(gè)為主線哨苛。
  • 根據(jù)原文文獻(xiàn)中:Differential gene expression was defined if the fold change >1.5 and P?<?0.05 between tumor and normal samples找差異基因
## 不同的閾值鸽凶,篩選到的差異基因數(shù)量就不一樣,后面的超幾何分布檢驗(yàn)結(jié)果就大相徑庭建峭。
if(T){
  logFC_t=1.5
  deg$g=ifelse(deg$P.Value>0.05,'stable',
               ifelse( deg$logFC > logFC_t,'UP',
                       ifelse( deg$logFC < -logFC_t,'DOWN','stable') )
  )
  table(deg$g)
  head(deg)
  deg$symbol=rownames(deg)
  library(ggplot2)
  library(clusterProfiler)
  library(org.Mm.eg.db)
  df <- bitr(unique(deg$symbol), fromType = "SYMBOL",
             toType = c( "ENTREZID"),
             OrgDb = org.Mm.eg.db)
  head(df)
  DEG=deg
  head(DEG)
  
  DEG=merge(DEG,df,by.y='SYMBOL',by.x='symbol')
  head(DEG)
  
  save(DEG,file = 'anno_DEG.Rdata')
  gene_up= DEG[DEG$g == 'UP','ENTREZID'] 
  gene_down=DEG[DEG$g == 'DOWN','ENTREZID'] 
}

5.最簡單的超幾何分布檢驗(yàn):

# 最簡單的超幾何分布檢驗(yàn)
###這里就拿KEGG數(shù)據(jù)庫舉例吧玻侥,拿自己判定好的上調(diào)基因集進(jìn)行超幾何分布檢驗(yàn),如下
if(T){
  gene_down
  gene_up
  enrichKK <- enrichKEGG(gene         =  gene_up,
                         organism     = 'mmu',
                         #universe     = gene_all,
                         pvalueCutoff = 0.05,
                         qvalueCutoff =0.05)
  head(enrichKK)[,1:6] 
  browseKEGG(enrichKK, 'hsa04512')
  dotplot(enrichKK)
  ggsave("enrichKK.png")
  enrichKK=DOSE::setReadable(enrichKK, OrgDb='org.Mm.eg.db',keyType='ENTREZID')
  enrichKK 
}
##最基礎(chǔ)的條形圖和點(diǎn)圖
#條帶圖
barplot(enrichKK,showCategory=20)
#氣泡圖
dotplot(enrichKK)
enrichKK.png
  • 通路與基因之間的關(guān)系可視化
#通路與上調(diào)基因之間的關(guān)系可視化
###制作genlist三部曲:
## 1.獲取基因logFC
DEG_up <- DEG[DEG$g == 'UP',]
geneList <- DEG_up$logFC
## 2.命名
names(geneList) = DEG_up$ENTREZID
## 3.排序很重要
geneList = sort(geneList, decreasing = TRUE)
head(geneList)

cnetplot(enrichKK, categorySize="pvalue", foldChange=geneList,colorEdge = TRUE)
cnetplot(enrichKK, foldChange=geneList, circular = TRUE, colorEdge = TRUE)
ggsave("enrichKK_cnetplot.png")
enrichKK_cnetplot.png
  • 通路與通路之間的連接展示
#通路與通路之間的連接展示
emapplot(enrichKK)
ggsave("enrichKK_emapplot.png")
enrichKK_emapplot.png
  • 熱圖展現(xiàn)通路與基因之間的關(guān)系
#熱圖展現(xiàn)通路與基因之間的關(guān)系
heatplot(enrichKK)
ggsave("enrichKK_heatplot.png")
enrichKK_heatplot.png
  • 如果你是做GO數(shù)據(jù)庫呢亿蒸,其實(shí)還有一個(gè)goplot可以試試看凑兰,當(dāng)然是以Y叔的書為主啦。
#如果你是做GO數(shù)據(jù)庫呢边锁,其實(shí)還有一個(gè)goplot可以試試看
ego_bp_up<-enrichGO(gene       = DEG_up$ENTREZID,
                 OrgDb      = org.Mm.eg.db,
                 keyType    = 'ENTREZID',
                 ont        = "BP",
                 pAdjustMethod = "BH",
                 pvalueCutoff = 0.01,#0.01
                 qvalueCutoff = 0.05)
goplot(ego_up)
ggsave("ego_bp_up_goplot.png")
head(ego)
library(stringr)
barplot(ego_bp_up,showCategory = 16,title="The GO_BP enrichment analysis of all DEGs ")+ 
  scale_size(range=c(2, 12))+
  scale_x_discrete(labels=function(ego_bp) str_wrap(ego_bp,width = 25))
ggsave("ego_bp_up_barplot.png")
ego_up_goplot.png

ego_up_barplot.png

  • 同樣的方式看看下調(diào)基因的GO_BP:


    down_regulated_genes.png

  • 和文獻(xiàn)中的GO_BP比較一下
    GO_BP

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末姑食,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子茅坛,更是在濱河造成了極大的恐慌音半,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贡蓖,死亡現(xiàn)場離奇詭異祟剔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)摩梧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宣旱,“玉大人仅父,你說我怎么就攤上這事。” “怎么了笙纤?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵耗溜,是天一觀的道長。 經(jīng)常有香客問我省容,道長抖拴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任腥椒,我火速辦了婚禮阿宅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘笼蛛。我一直安慰自己洒放,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布滨砍。 她就那樣靜靜地躺著往湿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惋戏。 梳的紋絲不亂的頭發(fā)上领追,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音响逢,去河邊找鬼绒窑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛龄句,可吹牛的內(nèi)容都是我干的回论。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼分歇,長吁一口氣:“原來是場噩夢啊……” “哼傀蓉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起职抡,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤葬燎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后缚甩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谱净,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年擅威,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壕探。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡郊丛,死狀恐怖李请,靈堂內(nèi)的尸體忽然破棺而出瞧筛,到底是詐尸還是另有隱情,我是刑警寧澤导盅,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布较幌,位于F島的核電站,受9級特大地震影響白翻,放射性物質(zhì)發(fā)生泄漏乍炉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一滤馍、第九天 我趴在偏房一處隱蔽的房頂上張望岛琼。 院中可真熱鬧,春花似錦纪蜒、人聲如沸衷恭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽随珠。三九已至,卻和暖如春猬错,著一層夾襖步出監(jiān)牢的瞬間窗看,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工倦炒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留显沈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓逢唤,卻偏偏與公主長得像拉讯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子鳖藕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容