单细胞分析【表观遗传+转录组】🧬✍单细胞分析

提取修改scanpy源码,实现单细胞横向堆叠小提琴图

2020-04-07  本文已影响0人  seqyuan

作者:ahworld
链接生信工程师的自我修养
来源:微信公众号-seqyuan
著作权归作者所有,任何形式的转载都请联系作者。

scanpy中的单细胞堆叠小提琴图一般是纵向的,每一行代表一个亚群,每一列代表一个基因:


我们经常从单细胞文章里看到这种横向的小提琴图很美观,无论Seurat还是scanpy都没有办法直接实现

我打算自己实现它:先从scanpy源码中找到画堆叠小提琴图的函数stacked_violin,然后拷贝出来重构,命名为stacked_violin_t。


最后做成一个python包命名为scanyuan,上传到github和PYPI,可以用 pip install scanyuan安装这个包。

下面的代码:读入数据,并用scanyuan中的stacked_violin_t方法实现文章的横向堆叠小提琴图,

import scanpy as sc
import scanyuan as scy

# 此处示例为读取loom文件,也可以是其他scanpy支持的数据格式
adata = sc.read_loom("/Users/yuanzan/Desktop/tmp/sdata.loom", sparse=True, cleanup=False, X_name='spliced', obs_names='CellID', var_names='Gene', dtype='float32')
marker_genes = ['Stfa1', 'Ngp', 'Ccl5', 'Ccl4', 'BC100530', 'Gzma', 'Gata2', 'Cd74']

ax = scy.stacked_violin_t(adata, marker_genes, figsize=[8,4], groupby='ClusterName')

下图为效果展示:

上一篇下一篇

猜你喜欢

热点阅读