美文网首页
区域性表达的基因:基于图的单细胞特征基因选择方法

区域性表达的基因:基于图的单细胞特征基因选择方法

作者: 逍遥_yjz | 来源:发表于2024-01-21 10:17 被阅读0次

    区域性表达的基因:基于图的单细胞特征基因选择方法

    近年来,单细胞转录组测序技术的突破性进展,使得人们对生命规律的系统性解析进入单细胞时代。单细胞转录组测序数据分析存在维度高、噪声大等挑战,选择出更具生物学意义的特征基因是分析的关键步骤,目前主流的方法是选择方差大的基因(highly variable genes)。而人在挑选特征基因时,通常不是评估基因表达方差的大小,而倾向于在低维空间里寻找具有局部聚集表达模式的基因。能否用计算模型模拟人挑选特征基因的方法呢?

    2022年2月,Journal of Genetics and Genomics 在线发表课题组最新研究成果“Highly Regional Genes: Graph-Based Gene Selection for Single Cell RNA-seq Data”的研究论文。该研究基于人眼进行特征基因选择的直观原则,提出了基于图模型的特征基因选择方法HRGHighly 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.

    相关文章

      网友评论

          本文标题:区域性表达的基因:基于图的单细胞特征基因选择方法

          本文链接:https://www.haomeiwen.com/subject/oakeodtx.html