分析流程||scanpy单细胞分析流程1-理解AnnData

gzh:BBio,欢迎关注

AnnData是scanpy软件使用的数据存储结构,为了更好的理解和使用scanpy单细胞分析流程,有必要先明白AnnData的数据结构。

//参考:

https://anndata.readthedocs.io/en/latest/

//结构:

X为矩阵数据,obs为观察值,var为变量。scanpy软件使用obs存储细胞信息,var存储基因信息。

image-20220209165801011.png
//创建AnnData
import numpy as np
import pandas as pd
import anndata as ad

n_obs, n_vars = 100, 10
X = np.random.random((n_obs, n_vars))
#定义数据
df = pd.DataFrame(X, columns=[chr(i) for i in range(65,75)], index=np.arange(n_obs).astype(str))

#定义观察值
obs_meta = pd.DataFrame({
    'order': np.random.choice([0, 2], n_obs)},
    index=np.arange(n_obs).astype(str))

#定义AnnData
adata = ad.AnnData(df, obs=obs_meta)
//查看AnnData
print(adata)
print(adata.X)
print(adata.obs)
print(adata.obs.index)
print(adata.to_df().head())
//AnnData切片
#切片的使用方式和DataFrame相似
adata[:5, ['A']] #5行A列
//编辑AnnData
adata[:2, 'B'].X = [1, 2]
adata.obs['mt'] = range(100)
//保存读取
adata.write('data.h5ad')
adata = ad.read('data.h5ad')

你可能感兴趣的:(分析流程||scanpy单细胞分析流程1-理解AnnData)