#首先升級R
install.packages("installr")
library(installr)
updateR()
library("BiocManager")
#Bioconductor version 3.12 (BiocManager 1.30.15), R 4.0.5 (2021-03-31) Bioconductor version '3.12' is out-of-date; the current release version '3.13' is available with R version '4.1'; see https://bioconductor.org/install
#重新更新Bioconductor
if (!requireNamespace("BiocManager", quietly = TRUE))
? install.packages("BiocManager")
BiocManager::install(version = "3.13")
#更新成功
library("BiocManager")
#通過BiocManager安裝我們常用的R包
BiocManager::install("ggplot2")
BiocManager::install(c("ggplot2","ggtree","DESeq2"))
#一次安裝多個包
BiocManager::install("DESeq2")
#錯誤: 無法載入程輯包‘GenomeInfoDb’
BiocManager::install("GenomeInfoDbData")
#測試軟件DESeq2
library("DESeq2")
#開始,DESeq2包分析差異表達(dá)基因簡單來說只有三步:構(gòu)建dds矩陣,標(biāo)準(zhǔn)化,以及進行差異分析。
library(DESeq2)? #加載包
library(apeglm)
#Error in library(apeglm) : 不存在叫‘a(chǎn)peglm’這個名字的程輯包
BiocManager::install("apeglm")
####測試
library(DESeq2)? #加載包
library(apeglm)
安裝成功。
以下為差異基因表達(dá)分析的相關(guān)腳本:
pvalue(pval): 統(tǒng)計學(xué)差異顯著性檢驗指標(biāo)。
qvalue(p-adjusted): 校正后的p值(qvalue=padj=FDR=Corrected p-Value=p-adjusted),是對p值進行了多重假設(shè)檢驗,能更好地控制假陽性率。
校正后的p值不同的幾種表現(xiàn)形式,都是基于BH的方法進行多重假設(shè)檢驗得到的。校正后的p值不同的展現(xiàn)形式是因為不同的分析軟件產(chǎn)生的。
作者:村長吃火鍋
鏈接:http://www.lxweimin.com/p/b1f6b50fde0e
來源:簡書 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0/
E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_48 vs 0/
E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_48 vs 24/
致病疫霉
###############################################################################################
library(DESeq2)? #加載包
library(apeglm)
data.pi_Sae24 = read.table("E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0/pi_Sae24_count.csv",sep = ',',header = T,row.names = 1)
data.pi_Sly24 = read.table("E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0/pi_Sly24_count.csv",sep = ',',header = T,row.names = 1)
data.pi_Sme24 = read.table("E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0/pi_Sme24_count.csv",sep = ',',header = T,row.names = 1)
data.pi_Stu24 = read.table("E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0/pi_Stu24_count2.csv",sep = ',',header = T,row.names = 1)
condition.pi_Sae24 <- factor(c(rep('0',3),rep('24',5)),levels = c("0","24"))
condition.pi_Sly24 <- factor(c(rep('0',3),rep('24',5)),levels = c("0","24"))
condition.pi_Sme24 <- factor(c(rep('0',3),rep('24',5)),levels = c("0","24"))
condition.pi_Stu24 <- factor(c(rep('0',3),rep('24',5)),levels = c("0","24"))
colData.pi_Sae24 = data.frame(row.names= colnames(data.pi_Sae24),condition.pi_Sae24)
colData.pi_Sly24 = data.frame(row.names= colnames(data.pi_Sly24),condition.pi_Sly24)
colData.pi_Sme24 = data.frame(row.names= colnames(data.pi_Sme24),condition.pi_Sme24)
colData.pi_Stu24 = data.frame(row.names= colnames(data.pi_Stu24),condition.pi_Stu24)
dds.pi_Sae24 <- DESeqDataSetFromMatrix(data.pi_Sae24,colData.pi_Sae24,design = ~ condition.pi_Sae24)
dds.pi_Sly24 <- DESeqDataSetFromMatrix(data.pi_Sly24,colData.pi_Sly24,design = ~ condition.pi_Sly24)
dds.pi_Sme24 <- DESeqDataSetFromMatrix(data.pi_Sme24,colData.pi_Sme24,design = ~ condition.pi_Sme24)
dds.pi_Stu24 <- DESeqDataSetFromMatrix(data.pi_Stu24,colData.pi_Stu24,design = ~ condition.pi_Stu24)
dds.pi_Sae24 <-DESeq(dds.pi_Sae24)
resultsNames(dds.pi_Sae24)
dds.pi_Sly24 <-DESeq(dds.pi_Sly24)
resultsNames(dds.pi_Sly24)
dds.pi_Sme24 <-DESeq(dds.pi_Sme24)
resultsNames(dds.pi_Sme24)
dds.pi_Stu24 <-DESeq(dds.pi_Stu24)
resultsNames(dds.pi_Stu24)
res.pi_Sae24.24.0 = results(dds.pi_Sae24,contrast=c("condition.pi_Sae24","24","0"))
res.pi_Sly24.24.0 = results(dds.pi_Sly24,contrast=c("condition.pi_Sly24","24","0"))
res.pi_Sme24.24.0 = results(dds.pi_Sme24,contrast=c("condition.pi_Sme24","24","0"))
res.pi_Stu24.24.0 = results(dds.pi_Stu24,contrast=c("condition.pi_Stu24","24","0"))
order.res.pi_Sae24.24.0 <- res.pi_Sae24.24.0[order(res.pi_Sae24.24.0$pvalue),]
order.res.pi_Sly24.24.0 <- res.pi_Sly24.24.0[order(res.pi_Sly24.24.0$pvalue),]
order.res.pi_Sme24.24.0 <- res.pi_Sme24.24.0[order(res.pi_Sme24.24.0$pvalue),]
order.res.pi_Stu24.24.0 <- res.pi_Stu24.24.0[order(res.pi_Stu24.24.0$pvalue),]
setwd("E:/SolPanTP/RawData/諾禾轉(zhuǎn)錄組測序(310)/05 數(shù)據(jù)分析/DESeq2/log2FC+p value/pi/pi_24 vs 0")
write.csv(order.res.pi_Sae24.24.0,file = "order.res.pi_Sae24.24.0.csv",quote = F)
write.csv(order.res.pi_Sly24.24.0,file = "order.res.pi_Sly24.24.0.csv",quote = F)
write.csv(order.res.pi_Sme24.24.0,file = "order.res.pi_Sme24.24.0.csv",quote = F)
write.csv(order.res.pi_Stu24.24.0,file = "order.res.pi_Stu24.24.0.csv",quote = F)
diffgene_pi_Sae24.24.0_deseq2 <- subset(order.res.pi_Sae24.24.0,padj < 0.01 & abs(log2FoldChange) >2)
diffgene_pi_Sly24.24.0_deseq2 <- subset(order.res.pi_Sly24.24.0,padj < 0.01 & abs(log2FoldChange) >2)
diffgene_pi_Sme24.24.0_deseq2 <- subset(order.res.pi_Sme24.24.0,padj < 0.01 & abs(log2FoldChange) >2)
diffgene_pi_Stu24.24.0_deseq2 <- subset(order.res.pi_Stu24.24.0,padj < 0.01 & abs(log2FoldChange) >2)
write.csv(diffgene_pi_Sae24.24.0_deseq2,file = "diffgene_pi_Sae24.24.0_deseq2.csv",quote = F)
write.csv(diffgene_pi_Sly24.24.0_deseq2,file = "diffgene_pi_Sly24.24.0_deseq2.csv",quote = F)
write.csv(diffgene_pi_Sme24.24.0_deseq2,file = "diffgene_pi_Sme24.24.0_deseq2.csv",quote = F)
write.csv(diffgene_pi_Stu24.24.0_deseq2,file = "diffgene_pi_Stu24.24.0_deseq2.csv",quote = F)