AnnData对象处理

AnnData是python中存储单细胞数据的一种格式,常用于scanpy。

1、认识结构

基本结构如下:


参考链接:https://cellgeni.readthedocs.io/en/latest/visualisations.html
4个重要的构成:

  • X contains the expression matrix.
  • obsm contains the embeddings data.
  • obs contains the cell metadata.
  • var contains the gene metadata.
    我们可以一块一块地来理解这个图:
  • 首先是.var这部分是variables/features也就是基因的注释信息,存储数据结构是panda 数据框。接着我们看这个数据框的横坐标和纵坐标,横坐标标注的是 variable 1、variable 2、... variable n_var,表示的就是每个基因名称,纵坐标就是每个基因的注释信息;
  • 接着来看下面这个.X。看大小就知道是个大家伙,是基因-细胞的表达量大矩阵。存储数据结构是numpy array是一个稀疏矩阵。接着我们一样的来看横坐标和纵坐标,横坐标和.var的是一致的,纵坐标是observation 1、observation 2、... observation n_obs,表示的是每个细胞的名称
  • 然后是.obs数据,是细胞的注释信息等。存储结构是panda 数据框。横坐标是不同的细胞注释结果,纵坐标是细胞名称。
  • 最后就是.uns,这个是一个字典的结构,没有特定的大小。存储的是一些计算结果。
    其实除了这些之外可能还有别的结构,可以直接输入变量之后回车就可以看到,可以使用type(data.<数据块>)来查看变量的类别。
    示例

2、信息提取

注意这里是python环境哈

# 数据数目统计
data.n_obs  # 返回细胞数 2695
data.n_vars  # 返回基因数 18270
data.shape # (2695, 18270)
data.T  # 基因和cell转置矩阵,用的好像不多?
data.to_df()  # 转成矩阵,列为基因,行为细胞。可以使用data.T.to_df()就可以转成行为细胞,列为基因的矩阵了

# 数据键值提取
data.obs_keys() # 细胞注释信息的keys,比如 ['ClusterID', 'ClusterName', 'SCT_snn_res_0_8', 'nCount_SCT', 'nCount_Spatial', 'nFeature_SCT', 'nFeature_Spatial', 'orig_ident', 'seurat_clusters', 'imagecol', 'imagerow'']
data.obs_names  # 返回细胞ID 数据类型是object
data.var.index  # 返回基因 数据类型是object
data.var_names.to_list()  # 返回基因 数据类型是list
data.obs.head() # 查看前5行的数据

# 其他的数据组成也可以使用

也可以使用data.然后输入Tab来查看可以使用的函数或变量,大家可以摸索下:

AnnData数据包含的用法

当然,使用比如data.obs然后输入Tab来查看当前data.obs数据可以使用的函数,有很多,大家不知道怎么处理的时候可以看看。

3、提取子数据

# 先获取cell或者gene list
gene20 = data.var_names.to_list()[:20]
data[:,gene20]  #  2695 x 20
cell20 = data.obs_names.to_list()[:20]
data20 = data[cell20,gene20]  # 20 x 20
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Element对象对应网页的 HTML 元素。每一个 HTML 元素,在 DOM 树上都会转化成一个Element...
    wit92阅读 4,455评论 0 0
  •   本节主要目的是介绍本书所用到的数字图像处理的一些基本概念。来源于东北大学 魏颖教授的数字图像课程笔记。 图像的...
    小小何先生阅读 5,901评论 0 6
  • 常见的特征提取算法主要分为以下三类: 基于颜色特征:如颜色直方图、颜色集、颜色矩、颜色聚合向量等; 基于纹理特征:...
    冰冰爱吃冰淇淋阅读 5,458评论 0 0
  • 前言 直播流程模型如下图 1.采集 采集是整个直播过程中的第一个环节,负责从采集设备中采集原始数据传递到下一个环节...
    艾鱼先生阅读 6,660评论 0 0
  • Element对象对应网页的HTML标签元素。每一个HTML标签元素,在DOM树上都会转化成一个Element节点...
    许先生__阅读 5,832评论 0 2