一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Bulk RNA-seq | 第4期. 差異分析三巨頭,該了解一下了

 新用戶4064dVjo 2023-11-03 發(fā)布于北京

本系列推送旨在帶領(lǐng)生信零基礎(chǔ)的科研人一起掌握Bulk RNA-seq數(shù)據(jù)分析,同時為其他Bulk組學(xué)和單細(xì)胞(核)轉(zhuǎn)錄組測序的數(shù)據(jù)分析奠定基礎(chǔ)。

往期回顧:

第1期. 快2024年了,還有必要學(xué)習(xí)Bulk RNA-seq?
第2期. 零基礎(chǔ)畫PCA圖

第3期. Bulk RNA-seq | 第3期. 基因ID轉(zhuǎn)換,一鍵搞定

今天我們來接觸一下Bulk RNA-seq數(shù)據(jù)分析過程中的關(guān)鍵一環(huán)——差異分析!后文將分享以下4個方面:

一、什么是差異分析?
二、為什么要進行差異分析?
三、差異分析的三巨頭是哪些以及有什么區(qū)別?
四、以DESeq2為例演示差異分析全過程。

一、什么是差異分析

為了回答這個問題,我們來看下面一個例子。下面的數(shù)據(jù)框就是樣本*基因的count矩陣(列為樣本名,行為基因名,中間的數(shù)字為count[可以簡單理解為某基因在測序時被測到的次數(shù)]),這個矩陣可以展示每個基因在每個樣本中的count,但是不能直接體現(xiàn)每個基因在組間的差異(包括fold change,p value, adjusted p value等),而差異分析就是實現(xiàn)上述轉(zhuǎn)化的過程


差異分析前:

差異分析后:

二、為什么要進行差異分析?

簡單來說:差異分析是其他多種分析的基礎(chǔ)。比如:做富集分析的時候(比如GO或KEGG),我們是想看所有差異基因富集的通路,所以前提是得到組間差異基因的list;再比如做火山圖的時候,需要知道每個基因在兩組間的fold change和adjusted p value。

既然差異分析如此重要,那有哪些方法可以實現(xiàn)差異分析呢?

三、差異分析的三巨頭是哪些以及有什么區(qū)別?

到目前為止,Bulk RNA-seq的差異分析主要涉及三種R包(又稱為差異分析的三巨頭):limma, edgeR, DESeq2。

下面先提供一下3種R包的官網(wǎng)使用說明:

limma
使用手冊:https:///packages/devel/bioc/vignettes/limma/inst/doc/usersguide.pdf
發(fā)表文章(截至2023年11月3日被引25275次):https://academic./nar/article/43/7/e47/2414268?ref=https://


      edgeR

使用手冊:

https://www./packages/devel/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdf

發(fā)表文章(截至2023年11月3日被引33074次):

https://academic./bioinformatics/article/26/1/139/182458


DESeq2:
使用手冊:
https:///packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html
發(fā)表文章(截至2023年11月3日被引56577次):
https://genomebiology./articles/10.1186/s13059-014-0550-8?ref=https://

四、以DESeq2為例演示全過程

篇幅有限,本文僅演示基于DESeq2的差異分析全過程(基于counts進行分析,不能用tpm、fpkm等歸一化后的數(shù)據(jù),想獲得練習(xí)數(shù)據(jù),可在公眾號輸入:Bulk RNA-seq練習(xí)數(shù)據(jù)2)。


1. 安裝并加載R包(若有,則不用重新安裝)
install.packages('R.utils')
#BiocManager::install('DESeq2')
library(R.utils)
library(tidyverse)
library(DESeq2)
2. 加載數(shù)據(jù)
# 2.1 Raw count讀取 ----
data <- readxl::read_xlsx('./1.數(shù)據(jù)/GSE46224_raw_counts_GRCh38.p13_NCBI.xlsx'# #路徑需要根據(jù)文件的保存位置對應(yīng)更改

# 2.2 注釋信息下載 (用于后續(xù)GeneID轉(zhuǎn)化為Symbol)----
urld <- "https://www.ncbi.nlm./geo/download/?format=file&type=rnaseq_counts"
apath <- paste(urld, "type=rnaseq_counts""file=Human.GRCh38.p13.annot.tsv.gz", sep="&"#如果是小鼠的,需要相應(yīng)更改
annot <- data.table::fread(apath, header=T, quote="", stringsAsFactors=F, data.table=F) #快速讀取大型數(shù)據(jù),但此步耗時較長
rownames(annot) <- annot$GeneID #加上行名,行名按照GeneID這一列
annot_2 <- annot[,c('GeneID','Symbol')]

3. 基因注釋-GeneID轉(zhuǎn)Gene Symbol

data_anno <- data %>%
  as.data.frame() %>% 
  dplyr::inner_join(annot_2, by = "GeneID") %>% #data和annot_2針對GeneID這一列取交集
  na.omit() %>% #去除NA
  stats::aggregate(. ~ Symbol, data =., FUN = mean) %>% #對于多個ID對應(yīng)同一個symbol,對這些ID取均值
  tibble::column_to_rownames("Symbol") %>% #symbol這一列變成行名
  dplyr::select(-"GeneID") %>% #刪除"GeneID"列
  round() # 對于小數(shù),需要取整(雖然counts都是整數(shù),但是前面有一步是取了平均值,所以可能出現(xiàn)小數(shù))

4. 選擇需要分析的基因,一般只分析protein_coding RNA,lncRNA, miRNA。本案例選擇protein-coding。

gene_selected <- rownames(data_anno[which(annot$GeneType %in% c('protein-coding')),])
data_anno <- data_anno[gene_selected,]

5. 創(chuàng)建分組信息(meta data)

meta <- data.frame(sample = colnames(data_anno),
 group = c(rep('NF',8),
  rep('ICM',8)))

6. DESeq2

#6.1 過濾基因,僅保留count值足夠大的基因,默認(rèn)在70%的樣本中有表達(dá)的基因,為后續(xù)差異分析降級假陰性率 ----
meta$group <- as.factor(meta$group)
##6.1.1 從計數(shù)數(shù)據(jù)創(chuàng)建DESeq2數(shù)據(jù)集
dds <- DESeqDataSetFromMatrix(countData = data_anno, 
   colData = meta, 
   design = ~ group)
##6.1.2 得到keep(默認(rèn)在70%的樣本中有表達(dá)的基因,為后續(xù)差異分析降級假陰性率)
###(1)構(gòu)建a DGEList object
dge <- DGEList(counts = data_anno) 
   #DGEList函數(shù)用于匯總和比較數(shù)據(jù)集之間的差異指標(biāo),具體用法可以問ChatGPT,但是這個里面的內(nèi)容,怎么打開呢?, group = as.factor(meta_selected$group)

###(2)構(gòu)建design matrix   
group <- as.factor(meta$group)
design <- model.matrix(~0+group) #創(chuàng)建模型矩陣
colnames(design) <- levels(group) # 設(shè)置列變量的名稱

###(3)根據(jù)a DGEList object和design matrix,篩選基因
keep <- filterByExpr(dge, design)

#6.2 過濾后的count矩陣,后續(xù)兩種差異分析均需要基于此文件進行分析 ----
data_anno <- data_anno[keep,]
dds <- dds[keep,]

#6.3 差異分析 ----
dds <- DESeq(dds,quiet = F) 
res <- results(dds,contrast=c("group""ICM""NF"))  #指定提取為exp/ctr結(jié)果(病理-對照)
summary(res)
resOrdered <- res[order(res$padj),]  #order根據(jù)padj從小到大排序結(jié)果
tempDEG <- as.data.frame(resOrdered) #把結(jié)果放進數(shù)據(jù)框
DEseq2_DEG <- na.omit(tempDEG) #刪除NA行
DEseq2_DEG$gene <- rownames(DEseq2_DEG) #添加一列,gene

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲中文字幕在线视频频道| 好吊视频一区二区在线| 男人操女人下面国产剧情| 99久久精品一区二区国产| 日本一区二区三区久久娇喘| 国产av乱了乱了一区二区三区| 亚洲精品一二三区不卡| 国产精品99一区二区三区| 久久热在线视频免费观看| 色婷婷视频免费在线观看| 欧美成人国产精品高清| 亚洲国产性感美女视频| 91欧美激情在线视频| 亚洲欧美国产中文色妇| 免费人妻精品一区二区三区久久久| 国产白丝粉嫩av在线免费观看| 亚洲成人免费天堂诱惑| 国产欧美一区二区久久| 手机在线不卡国产视频| 日韩成人动作片在线观看| 国产不卡最新在线视频| 国产精欧美一区二区三区久久| 日韩在线一区中文字幕| 欧美日韩国产另类一区二区| 免费播放一区二区三区四区| 久久99精品国产麻豆婷婷洗澡 | 午夜精品黄片在线播放| 亚洲av成人一区二区三区在线| 男人和女人干逼的视频| 日本不卡片一区二区三区| 国产精品日本女优在线观看| 青青操视频在线观看国产| 国产又粗又猛又黄又爽视频免费| 一区二区三区在线不卡免费| 亚洲国产成人久久99精品| 日本欧美一区二区三区高清| 欧美人禽色视频免费看| 色一欲一性一乱—区二区三区| 日韩欧美一区二区亚洲| 91超精品碰国产在线观看| 日本黄色录像韩国黄色录像|