AnnData是python中存储单细胞数据的一种格式
主要包含四个slots:
X(数据矩阵): 存储单细胞数据的核心矩阵,通常是一个二维数组,其中行表示细胞,列表示特征(基因或其他测量值)。
obs(观测信息): 包括每个细胞的元信息,如样本名称、细胞类型、质量信息等。obs 是一个观测特征的字典 metadata。
var(变量信息): 包括每个特征(基因)的元信息,如基因名、功能注释等。var 是一个变量特征的字典。
layers(层): 可以存储其他数据层,如归一化后的数据或差异表达分析的结果。
uns(未排序的数据): 用于存储其他未排序的数据和元信息
AnnData object with n_obs × n_vars = 6050 × 32285
obs: 'in_tissue', 'array_row', 'array_col', 'gender', 'age', 'tissue', 'Strain', 'n_genes_by_counts', 'log1p_n_genes_by_counts', 'total_counts', 'log1p_total_counts', 'pct_counts_in_top_50_genes', 'pct_counts_in_top_100_genes', 'pct_counts_in_top_200_genes', 'pct_counts_in_top_500_genes', 'total_counts_mt', 'log1p_total_counts_mt', 'pct_counts_mt', 'n_counts', 'n_genes'
var: 'highly_variable', 'means', 'dispersions', 'dispersions_norm'
uns: 'spatial', 'log1p', 'hvg', 'pca', 'neighbors', 'umap', 'tsne', 'tissue_colors'
obsm: 'spatial', 'X_pca', 'X_umap', 'X_tsne'
varm: 'PCs'
obsp: 'distances', 'connectivities'
AnnData 解释
以下是对各字段的简要总结:
这些字段共同构成了一个完整的 AnnData 对象,使得用户可以在同一个对象中存储、操作和分析单细胞数据的不同方面。
1.2 创建 Anndata 对象: 可以使用 Anndata 构造函数创建一个 Anndata 对象。
import anndata as ad
adata = ad.AnnData(X=data_matrix, obs=obs_info, var=var_info)
1.3 数据操作: Anndata 允许您执行多种数据操作,包括切片、过滤、转置、连接数据、添加元信息等。
# 切片数据
subset_data = adata[:, list_of_genes]
# 过滤细胞
adata = adata[adata.obs['quality'] > 0.9]
# 转置数据
adata_T = adata.T
1.4 数据可视化: Anndata 可以与 scanpy 或其他可视化工具结合使用,以可视化数据、绘制UMAP、t-SNE图等。
import scanpy as sc
sc.tl.pca(adata)
sc.pl.umap(adata, color='cell_type')
1.5 数据存储: Anndata 可以将数据存储为HDF5文件,以便将数据持久化和共享。
adata.write('my_data.h5ad')
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!