scanpy不同cluster及细胞类型合并

简介: scanpy不同cluster及细胞类型合并

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

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


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

微信截图_20230606154158.png

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

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

adata.uns['leiden_colors']

微信截图_20230606154233.png

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

微信截图_20230606154304.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]

微信截图_20230606154334.png

sc.pl.umap(adatas, color='leiden_poly', legend_fontsize='xx-small')

微信截图_20230606154403.png

相关文章
|
9月前
|
算法
算法训练Day28|● 93.复原IP地址 ● 78.子集 ● 90.子集II
算法训练Day28|● 93.复原IP地址 ● 78.子集 ● 90.子集II
|
编解码 Python
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
使用python对海洋气象数据做显著性检验,并绘制空间pattern
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
|
10月前
|
传感器 编解码 计算机视觉
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
|
11月前
将fasta格式参考基因组的每一条染色体都划分成一个一个等长的区间(bin)
将fasta格式参考基因组的每一条染色体都划分成一个一个等长的区间(bin)
|
12月前
|
C语言
labview节点公式节点反馈节点表达节点属性节点
labview节点公式节点反馈节点表达节点属性节点
155 0
如何找出 sklearn SelectBest 选出几个重要的特征名称(column name)
如何找出 sklearn SelectBest 选出几个重要的特征名称(column name)
Day28——复原IP地址、子集、子集||
Day28——复原IP地址、子集、子集||
73 0
|
算法 测试技术 分布式数据库
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
|
自然语言处理 算法
elasticsearch cardinality(近似聚合)与Global ordinals(全局字典)是什么
1.cardinality是ES的首个近似聚合语法 2.查询优化使用了execution_hint,原理是什么?
1077 0
|
数据管理 大数据 开发者
R 基本数据管理--数据集合并、子集的提取以及随机抽样函数| 学习笔记
快速学习 R 基本数据管理--数据集合并、子集的提取以及随机抽样函数
125 0