美文网首页
RNA-seq 数据处理(四)DESeq2 分析差异表达基因

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

作者: 风知秋 | 来源:发表于2023-09-21 16:52 被阅读0次

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

    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")

    相关文章

      网友评论

          本文标题:RNA-seq 数据处理(四)DESeq2 分析差异表达基因

          本文链接:https://www.haomeiwen.com/subject/fkczvdtx.html