系列文章目录

单细胞测序流程(一)简介与数据下载

单细胞测序流程(二)数据整理

单细胞测序流程(三)质控和数据过滤——Seurat包分析,小提琴图和基因离差散点图

单细胞测序流程(四)主成分分析——PCA

单细胞测序流程(五)t-sne聚类分析和寻找marker基因

单细胞测序流程(六)单细胞的细胞类型的注释

单细胞测序流程(七)单细胞的细胞类型轨迹分析
————————————————


 本期主讲内容——单细胞的maeker基因转化和​富集分析

marker基因转化是为了将基因的id和基因名进行转换,方便后续的计算,富集分析是对marker进行可视化分析,但是我我们需要知道富集富集,富集是要看跟谁比!在做富集分析的时候,要先看所有基因的平均表达量或者每个go富集的基因数,谁的表达量高,谁的基因数多那么这就是富集的,这个富集是通过对比求出来的


一、课前准备

之前所使用的数据(上个课程中运行结果这就是在所需的数据)

R语言的IDE


提示:以下是本篇文章正文内容,下面案例可供参考

二、过程

使用脚本将基因的名字转换为基因ID,之前的结果会产生一个06.marker.xls文件,找到这个文件(可以将数据进行整理,比如支队cluster10亚群感兴趣,那就只剩下这个亚群的所有基因就可以了),新建一个txt文件,命名为symbol.txt然后将杠杠的xls文件中的gene和logFC两列复制到txt文件中来,注意行名不要复制过来,然后使用R语言代码就可以把基因名字转换为基因ID

#if (!requireNamespace("BiocManager", quietly = TRUE))
#    install.packages("BiocManager")
#BiocManager::install("org.Hs.eg.db")


setwd("文件的目录")          #设置工作目录

library("org.Hs.eg.db")          #引用包
rt=read.table("symbol.txt",sep="\t",check.names=F,header=T)    #读取文件
genes=as.vector(rt[,1])
entrezIDs <- mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA)    #找出基因对应的id
entrezIDs <- as.character(entrezIDs)
out=cbind(rt,entrezID=entrezIDs)
write.table(out,file="id.txt",sep="\t",quote=F,row.names=F)    #输出结果

转换后的结果

 

接下来是GO富集分析,结果如下:

 横坐标是富集在GO term中的基因数左边的是GO的功能,右边是GO属于什么数据库以及可以看出颜色所代表的含义,越红代表越显著

 横坐标代表基因所占的比例,右边可以看出点的大小所代表的含义,点越大,富集的基因越多,颜色越红代表富集越显著。

代码:

#install.packages("colorspace")
#install.packages("stringi")
#install.packages("ggplot2")

#if (!requireNamespace("BiocManager", quietly = TRUE))
#    install.packages("BiocManager")
#BiocManager::install("DOSE")

#if (!requireNamespace("BiocManager", quietly = TRUE))
#    install.packages("BiocManager")
#BiocManager::install("clusterProfiler")

#if (!requireNamespace("BiocManager", quietly = TRUE))
#    install.packages("BiocManager")
#BiocManager::install("enrichplot")

library("clusterProfiler")
library("org.Hs.eg.db")
library("enrichplot")
library("ggplot2")

setwd("工作目录")                   #设置工作目录
rt=read.table("id.txt",sep="\t",header=T,check.names=F)           #读取id.txt文件
rt=rt[is.na(rt[,"entrezID"])==F,]                                 #去除基因id为NA的基因
gene=rt$entrezID

#GO富集分析
kk <- enrichGO(gene = gene,
               OrgDb = org.Hs.eg.db, 
               pvalueCutoff =0.05, 
               qvalueCutoff = 0.05,
               ont="all",
               readable =T)
write.table(kk,file="GO.txt",sep="\t",quote=F,row.names = F)                 #保存富集结果

#柱状图
pdf(file="barplot.pdf",width = 10,height = 8)
barplot(kk, drop = TRUE, showCategory =10,split="ONTOLOGY") + facet_grid(ONTOLOGY~., scale='free')
dev.off()

#气泡图
pdf(file="bubble.pdf",width = 10,height = 8)
dotplot(kk,showCategory = 10,split="ONTOLOGY") + facet_grid(ONTOLOGY~., scale='free')
dev.off()

注意:进行GO分析时需要使用转换后的基因ID

三、结尾

因为这次的结果很多取决于之前的数据,所以必须要把上一节课的内容也要用到,所以要保证之前所得到结果无误才可以​。
单细胞测序流程(八)单细胞的细胞类型的marker基因ID转化和GO富集分析到这里就已结束了
下一章会讲解GO圈图的绘画,这次很多取得的数据都会用于下次课程不要删除哦。
我所做的所有分析与教程的代码都会在我的个人公众号中,请打开微信搜索“生信学徒”进行关注,欢迎生信的研究人员和同学前来讨论分析。
ps:公众号刚刚建立比较简陋,但是该有的内容都不会少。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐