# 整理表型文件
pdata_col <- pdata %>% apply(2,function(x){unique(x) %>% length()}) %>% data.frame() %>% filter(.>1) %>% rownames()
pdata <- pdata %>% select(pdata_col)
library(DESeq2)
## 3.1表達(dá)矩陣
## 3.2分組矩陣
condition = pdata$`sample type:ch1`
# 配對分析要加上這段代碼,知道誰和誰是一對,比如1,1是一對,5,5是一對,需要手動寫出
# subject <- factor(c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5))
coldata <- data.frame(row.names = colnames(exprSet), condition)
coldata$condition <- as.factor(coldata$condition)
# 注意在design中加上配對信息,這里沒加
dds <- DESeqDataSetFromMatrix(countData = exprSet,
colData = coldata,
design = ~condition)
nrow(dds)
rownames(dds) %>% head()
dds <- dds[rowSums(counts(dds)) > 1, ]
nrow(dds)
dds$condition<- relevel(dds$condition, ref = "normal") # 指定哪一組作為對照組
## 3.3差異表達(dá)矩陣
dds <- DESeq(dds)
res <- results(dds) %>% data.frame()
# 正確寫法是:實(shí)驗(yàn)組在前,對照組在后
res1 <- results(dds,contrast = c("condition","diseased","normal")) %>% data.frame()
res2 <- results(dds,contrast = c("condition","normal","diseased")) %>% data.frame()
# 定義加上下調(diào)標(biāo)記函數(shù),適用于DEseq2包結(jié)果
# 用p
add_sign_p <- function(df){
df <- df %>% mutate(sign = dplyr::case_when(df$pvalue < p_cutoff & df$log2FoldChange> logFC_cutoff ~ "up",
df$pvalue < p_cutoff & df$log2FoldChange< -logFC_cutoff ~ "down",
TRUE ~ "stable")
)
return(df)
}
# 用padj
add_sign <- function(df){
df <- df %>% mutate(sign = dplyr::case_when(df$padj < p_cutoff & df$log2FoldChange> logFC_cutoff ~ "up",
df$padj < p_cutoff & df$log2FoldChange< -logFC_cutoff ~ "down",
TRUE ~ "stable")
)
return(df)
}
logFC_cutoff <- 2
p_cutoff <- 0.05
res1 <- add_sign(res1)
# res2 <- add_sign(res2)
# res3 <- add_sign(res3)
diffSig1 <- res1 %>% filter(sign == "up" | sign == "down")
DEseq2 基本流程
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
相關(guān)閱讀更多精彩內(nèi)容
- DEseq預(yù)熱 主要就是這幾個步驟了。 1. counts: 查看每個樣本在每個基因上的counts數(shù) 2. 構(gòu)建...
- 轉(zhuǎn)錄組測序的最直接目的,就是設(shè)法尋找組間顯著表達(dá)變化的基因,解釋基因表達(dá)水平的變化對生物功能的影響。例如,腫瘤患者...
- 測序上游分析系列: mRNA-seq轉(zhuǎn)錄組二代測序從raw reads到表達(dá)矩陣:上中游分析pipelinemiR...
- 介紹 DESeq2常用于識別差異基因,它主要使用了標(biāo)準(zhǔn)化因子標(biāo)準(zhǔn)化數(shù)據(jù),再根據(jù)廣義線性模型判別組間差異(組間殘差是...
- 請一定看這里:寫下來只是為了記錄一些自己的實(shí)踐,當(dāng)然如果能對你有所幫助那就更好了,歡迎大家和我交流 差異分析流程:...