热门免费资源:
一、国自然类:
7 更多资源在更新中.....
4 国自然热点培训课
11 更多资源在更新中.....
6 近3年SCI实验资源汇总
10 SCI写作万能模板
9 资源共享群
8 PS 2021 (Mac)安装包
10 相亲交友群
🔽①长按下方二维码关注🔽
②对话框输入关键词:220707
②对话框输入关键词:220707
②对话框输入关键词:220707
网络好的时候,结果如下,我们发现CD36的lgFC是5.78,也就是实验组高表达(要记住这个数字,后面我们用代码跑出来也是这样,从而检验我们的代码是正确的):
可以看到下面红色方框就是我们要的矩阵(行名是探针名,列名是样本名)
平台文件是我们自己整理的,网上也有很多可以下载,大家也可以自行下载,里面是平台GPL和需要的ID转换R包一一对应:
## 公众号:科研部
## 公众号:科研部
## 公众号:科研部
## 该代码分为十部分:
## 1.读入探针矩阵数据
## 2.数据预处理:NA去除+log2转换+样本芯片矫正
## 3.探针ID和基因名symbol转换
## 4.基因Symbol表达矩阵获取:探针矩阵转换为基因Symbol矩阵+同名symbol保留表达量的最大值。
## 5.使用limma包来做芯片的差异分析
## 6.输出差异基因
## 7. 作图,差异表达图,热图,火山图。
## 8. 差异基因GO分析
## 9. 差异基因KEGG分析
## 10. 差异基因集的GSEA富集分析。
##################################################################################################
### 0. 镜像
##################################################################################################
options(download.file.method = 'libcurl')
options(url.method='libcurl')
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CR
exprSet <- read.table("1_GSE42872_series_matrix.txt",
comment.char="!",
stringsAsFactors=F,
header=T)
rownames(exprSet) <- exprSet[,1]
exprSet <- exprSet[,-1]
##################################################################################################
### 2.数据预处理:NA去除+log2转换+样本芯片矫正
##################################################################################################
## NA的去除,公众号:科研部
ex <- exprSet
qx <- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
(qx[6]-qx[1] > 50 && qx[2] > 0) ||
(qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
## 自动判断是否需要log2转换,需要则进行log2转换
if (LogC) {
ex[which(ex <= 0)] <- NaN
## 取log2
exprSet <- log2(ex)
print("log2 transform finished")
}else{
print("log2 transform not needed")
}
## 样本芯片矫正
library(limma)
boxplot(exprSet,outline=FALSE, notch=T, las=2)#矫正之前单个样本值,此时平不平都无所谓。
exprSet=normalizeBetweenArrays(exprSet)### 该函数默认使用quntile 矫正样本间差异。(公众号:科研部)
boxplot(exprSet,outline=FALSE, notch=T, las=2)#矫正之后单个样本值,此时是平的。
exprSet <- as.data.frame(exprSet)
#################################################################################################
## 3.探针ID和基因名symbol转换
#################################################################################################
# 读入platformMap.txt文件,platformMap 中有常见的GPL平台和ID转换需要的R包(一一对应)。
platformMap <- data.table::fread("1_platformMap.txt",data.table = F)
## 找到该平台对应的ID转换R包
index <- "GPL6244"
# 数据储存在bioc_package这一列中
$gpl)],".db") bioc_package[grep(index,platformMap
## 安装该R包
if (!require("BiocManager", quietly = TRUE))
"BiocManager") install.packages(
"hugene10sttranscriptcluster.db") BiocManager::install(
## 加载该R包,并将探针ID转换成基因symbol
library(hugene10sttranscriptcluster.db)
probe2symbol_df <- toTable(get("hugene10sttranscriptclusterSYMBOL"))
library(dplyr)
library(tibble)
exprSet <- exprSet %>%
rownames_to_column("probe_id") %>%
inner_join(probe2symbol_df,by="probe_id") %>%
select(-probe_id) %>%
select(symbol,everything()) %>%
mutate(rowMean =rowMeans(.[,-1])) %>%
arrange(desc(rowMean)) %>%
distinct(symbol,.keep_all = T) %>%
select(-rowMean) %>%
column_to_rownames("symbol")
save(exprSet,file = "2_exprSet_rmdup.Rdata")
group <- c(rep("con",3),rep("treat",3))
group <- factor(group,levels = c("con","treat"))
res.pca <- prcomp(t(exprSet), scale = TRUE)
library(factoextra)
fviz_pca_ind(res.pca,col.ind = group)
design <- model.matrix(~group)
colnames(design) <- levels(group)
design
fit <- lmFit(exprSet,design)
fit2 <- eBayes(fit)
allDiff=topTable(fit2,adjust='fdr',coef=2,number=Inf)
save(allDiff,file = "2_allDiff.Rdata")
文件夹如下:
GSEA富集之后,自己可以选择行的将自己想要的结果可视化出来:
🔽①长按下方二维码关注🔽
②对话框输入关键词:220707
②对话框输入关键词:220707
②对话框输入关键词:220707
更多免费资源:
11 AI科研绘图视频
13 SPSS统计分析实操课程
15 Origin绘图最全教程
17 Graphpad绘图视频
21 更多资源在更新中.....
8 PS 2021 (Mac)安装包
12 30 GB科研作图资源
18 Stata统计分析视频
11 GO分析傻瓜式教程
13 GSEA分析傻瓜式教程
15 渐变火山图傻瓜式教程图
2 GEO数据挖掘课
10 超全生信数据库使用教程
12 KEGG富集分析教程
14 Meta分析范文+实操课
16 交集基因筛选高级教程
18 生信软件合集
辛苦整理,全文无任何广告!
觉得有用的话,您就点个在看、点赞!