单细胞seurat聚类后,获取表达目的基因的细胞进展亚分群,以及对特定亚群感兴趣基因进行分组分析。

问题1:单细胞seurat聚类后,发现感兴趣的目的基因,分布在多个cluster。如何将这些表达了目的基因的细胞,单独提取出来,作为一个亚群,进行亚分群?

问题2:单细胞seurst聚类分群cluster后,发现感兴趣的目的基因,分布在某个群。但是在这个群中,只有一部分细胞,比如10%细胞表达了目的基因。如何将该群细胞按照目的基因表达的有无,分成两个亚群subcluster,然后比较这两组的差异?

解决问题1:

首先,需要使用Seurat的SubsetCells函数来选择表达目标基因的细胞。该函数需要两个参数:第一个参数是Seurat对象,第二个参数是一个逻辑向量,表示哪些细胞表达了目标基因。例如,如果你的Seurat对象是sce,目标基因的名称是gene_name,那么你可以使用如下代码来选择表达该基因的细胞:

sce_subset <- SubsetCells(sce, sce@data[gene_name, ] > 0)

然后,你可以使用FindClusters函数来对选择的细胞进行二次聚类,并使用RunPCA函数来可视化聚类结果。例如,你可以使用如下代码来对选择的细胞进行二次聚类:

sce_subset <- FindClusters(sce_subset, resolution = 0.5)

然后你可以使用如下代码来可视化聚类结果:

plotPCA(sce_subset, cols = sce_subset@clusters, label = TRUE)

解决问题2:

首先,你需要使用Seurat的SubsetCells函数来选择感兴趣的群,例如,如果你想选择编号为2的群,可以使用如下代码:

sce_subset <- SubsetCells(sce, sce@clusters == 2)

然后,你可以使用如下代码来选择表达目标基因的细胞:

sce_subset <- SubsetCells(sce_subset, sce_subset@data[gene_name, ] > 0)

然后,你可以使用Seurat的FindClusters函数来对选择的细胞进行亚分群。该函数需要两个参数:第一个参数是Seurat对象,第二个参数是分辨率。例如,你可以使用如下代码来进行亚分群:

sce_subset <- FindClusters(sce_subset, resolution = 0.5)

最后,你可以使用Seurat的RunPCA函数来可视化亚分群结果,或使用Seurat的RunDiffusionMap函数来进行差异分析。

希望这些信息能够帮助你解决问题!