scanpy不同cluster及细胞类型合并

在用scanpy进行单细胞分析时往往要对聚类(leiden)后的簇进行细胞类型的标注并生成细胞图谱,但是在通常使用的更改注释的方法中

new_cluster_names = []
adatas.rename_categories('leiden', new_cluster_names)

new_cluster_names的字符不允许重复,而我无法确保每一个簇的细胞类型都不相同(一般都需要手动调整),于是我只能在相同的细胞类型后添加_num进行注释,如Bcell_1, Bcell_2,用此方法生成的细胞图谱如下所示

image.png

真的是相当难看,观察起来也很费劲。

所以我一直在想怎么才能把相同的cell type进行合并。后来我想到了一个替代方案。我在anndata中找到了这样一组注释
adata.uns['leiden_colors']

image.png

我猜测每次生成umap,图中的颜色都是从这个数组中取得的,于是我尝试把相同cell type的颜色改为一致。修改后生成的图如下所示
image.png

现在相同cell type的颜色总算是一致了,总体美观多了,就是右侧的类型注释还是没有做到合并。

于是我又猜测,我在第一次调用画图函数
sc.pl.umap(adatas, color='leiden', legend_fontsize='xx-small')时,关于分类信息只传入了leiden,我猜测函数可能是根据这一分类依据自动创建了leiden_color并进行分类和上色。那我创建一个允许重复的列表传入分类数据不就可以实现cell type合并了吗?
于是我进行了以下操作

adatas.obs['leiden_poly'] = adatas.obs['leiden'].str[:-2]
image.png
sc.pl.umap(adatas, color='leiden_poly', legend_fontsize='xx-small')
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容