心血来潮写了个bulk RNA-seq的代码,该有的基本都有了。省去了路径和具体的基因。以后更新一下用公共数据跑出来的图吧。最近比较忙。 包非原创,代码是原创。转载或引用请注明出处或与我联系。
版本:R 4.1
################################
## 导入需要用到的R package以及自定义函数
################################
library(DESeq2) #差异分析的包
library(clusterProfiler) #基因名转换&GO富集分析的包
library(dplyr)
library(RColorBrewer) #调色包
library(gplots)
library(corrplot)
MyName2Color <- function(name,
palette = brewer.pal(9,"Set1"),
is.row = FALSE,
na.value = NULL){
name.factor <- as.factor(name)
if(!is.null(names(palette))){
palette=palette[levels(name.factor)]
}else{
print("your palette order must adapt to you names level order")
}
name.color <- palette[name.factor]
name.color <- as.matrix(name.color)
if(is.row){
name.color <- t(name.color)
}
if(!is.null(na.value)){
name.color[is.na(name.color)]=na.value
}
return(name.color)
} #自定义函数
################################
## 导入原始数据 并标注样本信息
################################
setwd("/home/") #设置工作路径
read.count <- read.delim("read_count.tab") #读表达矩阵
rownames(read.count) <- read.count$ID
# sample.information <- read.csv() #读样品信息
read.count <- read.count[,-1] #去掉第一列
sample.information <- as.data.frame(colnames(read.count)) #变为dataframe格式
colnames(sample.information) <- "ID"
row.names(sample.information) <- sample.information$ID
sample.information$condition <- c("KO","KO","KO","WT","WT","WT") #设置样本信息
################################
## DEseq2
################################<