RNA-seq 数据处理(四)DESeq2 分析差异表达基因

介绍了筛选差异表达基因的过程。

library(DESeq2)

输入文件为上一步生成的文件:RNA-seq 数据处理(三)准备差异表达分析文件

countData <- read.csv("gene_count_matrix.csv",sep=",",row.names="gene_id")

首先替换第一行的表头,以识别相同处理的重复;

countData <- countData[rowMeans(countData)>1,]

condition <- factor(c(rep(c("KO", "WT"), each=3)))

colData <- data.frame(row.names=colnames(countData), condition)

构建DEseq2对象

dds <- DESeqDataSetFromMatrix(countData, colData, design= ~ condition)

标准化数据

dds1 <- DESeq(dds)

从DESeq矩阵中提取差异表达表

将差异表达表转化数据框

去除含缺失值的行

res <- na.omit(as.data.frame(results(dds1, contrast = c('condition', 'WT', 'KO'))))

# 这块我直接写出一层套一层的方式了,目的就是上面的三行说明

筛选差异基因

设定阈值

FC <- 2

padj <- 0.05

# 一般情况筛选差异基因时阈值可以直接选择上述条件,但是如果后续结果不够理想还是需要根据自己的数据进行调整,多试几组参数,找到最佳选择。

标注表达上调或下调的基因

res1$Significant <- "normal"

up <- intersect(which(res1$log2FoldChange > log2(FC) ),which(res1$padj < padj))

down <- intersect(which(res1$log2FoldChange < (-log2(FC))), which(res1$padj < padj))

res1$Significant[up] <- "up"

res1$Significant[down] <- "down"

输出结果

write.csv(res1, file="230922-results_KO.csv")

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/77350.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>