• 第一次差异分析


    suppressPackageStartupMessages(library(ggpubr))
    suppressPackageStartupMessages(library(ggplot2))
    suppressPackageStartupMessages(library(ggrepel))
    suppressPackageStartupMessages(library(ggthemes))
    library(DESeq2)

    options(stringsAsFactors = F)

    sTart

    rm(list =ls() )
    setwd("C://Users/aklasim/Desktop/12s原核转录组结果/07.DiffExpAnnotation/1.GO")
    rc_all <- read.table("C://Users/aklasim/Desktop/12s原核转录组结果/05.GeneExp/genes.read.txt")

    class

    counts <- as.matrix(rc_all)
    rc_24 <- as.matrix(counts[,c(1:4)])
    rc_3 <- counts[,c(5:8)]
    rc_9 <- counts[,9:12]

    condition

    condition <- factor(c("trt","trt","untrt","untrt"))
    col_data <- data.frame(row.names = colnames(rc_3), condition)

    bb = (colnames())

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

    a

    b

    if (!file.exists(tem_f)) {
    dds <- DESeq(dds) # 标准化
    save(dds,file = tem_f)
    }
    load(file = tem_f)# 结果用result()函数提取
    res <- results(dds,
    contrast = c("condition","untrt","trt")) # 差异分析结果
    resOrdered <- res[order(res$padj),] # 对结果按照调整后的p值进行排序
    head(resOrdered)
    summary(res)

    DEG <- as.data.frame(resOrdered)
    DESeq2_DEG <- na.omit(DEG)
    diff <- subset(DESeq2_DEG,pvalue < 0.05) #先筛选P值
    up <- subset(diff,log2FoldChange > 2) #上调
    down <- subset(diff,log2FoldChange < -2) #下调

    DEG_data <- DESeq2_DEG
    DEG_data(logP <- -log10(DEG_data)padj) # 对差异基因矫正后p-value进行log10()转换
    dim(DEG_data)

    将基因分为三类:not-siginficant,up,dowm

    将adj.P.value小于0.05,logFC大于2的基因设置为显著上调基因

    将adj.P.value小于0.05,logFC小于-2的基因设置为显著上调基因

    DEG_data(Group <- "not-siginficant" DEG_data)Group[which((DEG_data(padj < 0.05) & DEG_data)log2FoldChange > 2)] = "up-regulated"
    DEG_data(Group[which((DEG_data)padj < 0.05) & DEG_data(log2FoldChange < -2)] = "down-regulated" table(DEG_data)Group)

    write.csv(DEG_data,'24hbd.csv')

    DEG_data <- DEG_data[order(DEG_data$padj),]#对差异表达基因调整后的p值进行排序

    up_label <- head(DEG_data[DEG_data(Group == "up-regulated",],1) down_label <- head(DEG_data[DEG_data)Group == "down-regulated",],1)
    deg_label_gene <- data.frame(gene = c(rownames(up_label),rownames(down_label)),
    label = c(rownames(up_label),rownames(down_label)))
    DEG_data$gene <- rownames(DEG_data)
    DEG_data <- merge(DEG_data,deg_label_gene,by = 'gene',all = T)

    添加特定基因label

    ggscatter(DEG_data,x = "log2FoldChange",y = "logP",
    color = "Group",
    palette = c("green","gray","red"),
    label = DEG_data$gene,
    repel = T,
    ylab = "-log10(Padj)",
    size = 1) +
    theme_base()+
    theme(element_line(size = 0),element_rect(size = 1.5))+ #坐标轴线条大小设置
    scale_y_continuous(limits = c(0,8))+
    scale_x_continuous(limits = c(-18,18))+
    geom_hline(yintercept = 1.3,linetype = "dashed")+
    geom_vline(xintercept = c(-2,2),linetype = "dashed")

    火山图

  • 相关阅读:
    在Linux下安装配置Oracle11g R2
    使用C#读取dbf行情文件
    终于完成了DailyBuild
    如何用NANT+FxCop 并生成文档规范检测结果?
    Nant中的一个小问题(可能让许多人急掉许多汗哦)
    最近在研究 Daily Build 不知道如何用CC.Net 得到 VSS改动的情况
    利用NAnt取得远程VSS服务器中的文件并且编译
    未曾秋高气爽,亦然爬山去也
    如何使用命令提示符下的FxCop
    在NAnt中加入Vssget 任务
  • 原文地址:https://www.cnblogs.com/impw/p/13864854.html
Copyright © 2020-2023  润新知