推广 热搜: 行业  设备    参数  系统  经纪    教师  机械  中国 

用 Python 做单细胞分析 01 | 详解 AnnData 数据结构

   日期:2024-11-07     作者:caijiyuan    caijiyuan   评论:0    移动:http://yishengsujiao.xhstdz.com/news/1883.html
核心提示:1AnnData 介绍与结构在做单细胞分析之前,先了解用于单细胞数据分析的一种数据结构--AnnData。它一般作为 scanpy 单细胞分析包的

用 Python 做单细胞分析 01 | 详解 AnnData 数据结构

1AnnData 介绍与结构

在做单细胞分析之前,先了解用于单细胞数据分析的一种数据结构--AnnData。

它一般作为 scanpy 单细胞分析包的数据存储格式。

主要由以下几部分构成:

下面我们动手构建一个用于创建 AnnoData 的虚拟数据

2AnnoData 初始化

3AnnoData 切片特性

可以看到 AnnData 具有和 dataframe 或 Array 相似的长相,同样具备相似的特性,比如切片:

4AnnoData 的 view 特性

AnnoData 可以实现与 numpy 中的 view 相似的功能。

换句话说就是,我们每次操作 AnnoData 时,并不是再新建一个 AnnoData 来存储数据,而是直接找到已经之前初始化好的 AnnoData 的内存地址,通过内存地址来直接改变 AnnoData 的值。这样做的好处是:

view 可以使用 .copy() 来得到 AnnoData 对象。

其实我们在调用 .[] 时,AnnoData已经在内部实现了该操作,也就是说该 view 会成为保存数据的 AnnoData 对象。

但是,如果将 AnnoData 对象的 view 中的一部分赋值,该内容会复制一份并生成新的数据存储对象。

可以看到,这时赋值会直接将 AnnoData 对象复制一份。现在 adata_subset 会重新得到一块内存用于存储实际数据,而不再仅仅是对 adata 的内存地址引用。

5读取数据

6备份到本地

可以看到,我们的 adata 对象已经备份成功,而且就在本地 'https://cloud.tencent.com/developer/article/write/test.h5ad' 目录。

前边提到的 view 特性在这里同样适用,我们来看看 adata_subset 是否备份成功。

adata_subset 并没有被启用备份模式,重新设置备份模式。

需要注意的是:备份仅影响数据矩阵 X,所有注释信息都保留在内存中。如果想对全部数据的更改保存,则必须将导出到本地。

9保存数据

本文地址:http://nhjcxspj.xhstdz.com/news/1883.html    物流园资讯网 http://nhjcxspj.xhstdz.com/ , 查看更多
 
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号