# 整理表型文件
pdata_col <- pdata %>% apply(2,function(x){unique(x) %>% length()}) %>% data.frame() %>% filter(.>1) %>% rownames()
pdata <- pdata %>% select(pdata_col)
library(DESeq2)
## 3.1表达矩阵
## 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差异表达矩阵
dds <- DESeq(dds)
res <- results(dds) %>% data.frame()
# 正确写法是:实验组在前,对照组在后
res1 <- results(dds,contrast = c("condition","diseased","normal")) %>% data.frame()
res2 <- results(dds,contrast = c("condition","normal","diseased")) %>% data.frame()
# 定义加上下调标记函数,适用于DEseq2包结果
# 用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 基本流程
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 转录组测序的最直接目的,就是设法寻找组间显著表达变化的基因,解释基因表达水平的变化对生物功能的影响。例如,肿瘤患者...
- 测序上游分析系列: mRNA-seq转录组二代测序从raw reads到表达矩阵:上中游分析pipelinemiR...
- 介绍 DESeq2常用于识别差异基因,它主要使用了标准化因子标准化数据,再根据广义线性模型判别组间差异(组间残差是...
- 请一定看这里:写下来只是为了记录一些自己的实践,当然如果能对你有所帮助那就更好了,欢迎大家和我交流 差异分析流程:...