区域性表达的基因:基于图的单细胞特征基因选择方法
近年来,单细胞转录组测序技术的突破性进展,使得人们对生命规律的系统性解析进入单细胞时代。单细胞转录组测序数据分析存在维度高、噪声大等挑战,选择出更具生物学意义的特征基因是分析的关键步骤,目前主流的方法是选择方差大的基因(highly variable genes)。而人在挑选特征基因时,通常不是评估基因表达方差的大小,而倾向于在低维空间里寻找具有局部聚集表达模式的基因。能否用计算模型模拟人挑选特征基因的方法呢?
2022年2月,Journal of Genetics and Genomics 在线发表课题组最新研究成果“Highly Regional Genes: Graph-Based Gene Selection for Single Cell RNA-seq Data”的研究论文。该研究基于人眼进行特征基因选择的直观原则,提出了基于图模型的特征基因选择方法HRG(Highly Regional Genes)。
HRG方法的核心是提出了评估在细胞近邻图中“基因聚集性表达程度”的评分函数,表达量越高且在图中越聚集的基因评分越高。首先将细胞降到低维空间,在低维空间构建细胞近邻图,然后基于评分函数评估基因的聚集性表达程度,并以该得分排序进行特征基因选择。论文从理论上分析了评分函数的数学特性,表明其符合人眼挑选特征基因的基本原则。HRG还可采用迭代的方式优化近邻图,也具有很好的可扩展性,可用于空间转录组挑选在空间上具有聚集性表达模式的特征基因。与现有的几种主流的特征基因选择方法相比,HRG挑选出的基因能取得更好的聚类效果,对降采样噪声显示出更强的鲁棒性,方法所耗时间、计算资源也较少。总的来说,HRG能够很好地挑选出具有生物学意义的特征基因,能有效提升聚类等下游计算分析的性能。HRG方法的R包HighlyRegionalGenes已公开发布(见数据链接)。
代码:
# === Step1:加载库
library(Seurat)
library(HighlyRegionalGenes)
getwd()
# === Step2:运行pca
# load the data
# 从RDS文件中加载Seurat对象
pbmc=readRDS("futerData/pbmc.rds")
# 更新Seurat对象
pbmc.updated = UpdateSeuratObject(object = pbmc)
str(pbmc)
# provide the features that used to run PCA.
# 提供用于运行PCA的基因特征
all.genes=rownames(pbmc.updated)
# 将Seurat对象设置为更新后的版本
pbmc = pbmc.updated
# 对数据进行标准化(Scale)
pbmc=ScaleData(pbmc,features=all.genes,verbose = FALSE)
# 运行主成分分析(PCA)
pbmc=RunPCA(pbmc,features=all.genes,verbose = FALSE)
# 生成Elbow图以确定构建SNN图所需的维度
ElbowPlot(pbmc)
# === Step3:识别高度区域性特征
# 查找具有区域分布的基因
pbmc=FindRegionalGenes(pbmc,dims = 1:10,nfeatures = 2000,overlap_stop = 0.95)
# 使用前10个主成分(dimensions)查找区域分布的前2000个基因,overlap_stop参数表示覆盖度的阈值
# 找到的基因将被保存在Seurat对象中,以便后续使用
# 绘制2个最具区域性的基因的Feature Plot
FeaturePlot(pbmc,head(RegionalGenes(pbmc), 2))
# 使用FeaturePlot函数绘制具有区域分布的基因的特征图
# head(RegionalGenes(pbmc), 2) 返回区域分布基因中的前两个
# head(RegionalGenes(pbmc), 10)
# === Step4:选择基因编号
# 通过找到拐点来自动检测基因数量。如果手动设置基因数量,可以跳过此步骤。
gene_num = HRG_elbowplot(pbmc)
# HRG_elbowplot函数用于生成拐点图,以自动检测基因数量。
# 这里gene_num变量将存储拐点检测后的基因数量。
# 输出区域性基因
reional_gene = RegionalGenes(pbmc,nfeatures = gene_num)
# 使用检测到的基因数量从区域性基因中提取指定数量的基因,并将其保存在reional_gene变量中。
数据:https://github.com/JulieBaker1/HighlyRegionalGenes
引用:Yanhong Wu, Qifan Hu, Shicheng Wang, Changyi Liu, Yiran Shan, Wenbo Guo, Rui Jiang, Xiaowo Wang, Jin Gu. Highly Regional Genes: graph-based gene selection for single-cell RNA-seq data. Journal of Genetics and Genomics 2022.
网友评论