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

相关文章
|
Python
ROS节点检测ArUco标签并记录空间坐标
利用Realsense D435i相机检测ArUco标签,使用Python程序订阅相机的ROS话题,记录Time和标签的XYZ值,储存在一个csv文件中;当出现识别不到标签或者反馈坐标为0,0,0的情况时,不进行记录。
347 0
将fasta格式参考基因组的每一条染色体都划分成一个一个等长的区间(bin)
将fasta格式参考基因组的每一条染色体都划分成一个一个等长的区间(bin)
|
C语言
labview节点公式节点反馈节点表达节点属性节点
labview节点公式节点反馈节点表达节点属性节点
346 0
|
人工智能 测试技术
cf1653c通过操作让数组序列呈现某种规律 C. Differential Sorting
cf1653c通过操作让数组序列呈现某种规律 C. Differential Sorting
93 0
|
算法 测试技术 分布式数据库
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
ES本地分片逆文档频率评分策略(Shard Local IDF)导致的评分异常原理解析
如何找出 sklearn SelectBest 选出几个重要的特征名称(column name)
如何找出 sklearn SelectBest 选出几个重要的特征名称(column name)
Day28——复原IP地址、子集、子集||
Day28——复原IP地址、子集、子集||
118 0
|
自然语言处理 算法
elasticsearch cardinality(近似聚合)与Global ordinals(全局字典)是什么
1.cardinality是ES的首个近似聚合语法 2.查询优化使用了execution_hint,原理是什么?
1425 0