# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 19:13:24 2024
@author: 14783
"""
# 读取h5ad文件
ref_adata = sc.read("D:/12.10-论文修改/datasets/2_18162.h5ad")
print(ref_adata)
# 稀疏矩阵转为稠密矩阵
def todense(adata):
import scipy
if isinstance(adata.X, scipy.sparse.csr_matrix) or isinstance(adata.X, scipy.sparse.csc_matrix):
return adata.X.todense()
else:
return adata.X
# 调用函数转为稠密矩阵
t = todense(ref_adata)
# 另存为csv文件
expression_data = pd.DataFrame(data=t)
expression_data.to_csv('D:/2_18162_data.csv', index=False)
# 读取细胞类型y
cell_types_unique() =ref_adata.obs['cell_type'].unique()
cell_types =ref_adata.obs['cell_type']
# 另存为csv文件
cell_types_data = pd.DataFrame(data=cell_types)
cell_types_data.to_csv('D:/2_18162_celltype.csv', index=False)
# 也可以分别存为x,y文件,再读取
x = pd.read_csv("D:/2_18162_expression_data副本.csv", header=None)
y = pd.read_csv("D:/2_18162_celltype副本.csv")
adata = sc.AnnData(x)
adata.obs['Group'] = y
# 其中有时候y的读取出错
y = y.reset_index(drop=True)
adata = sc.AnnData(x)
adata.obs['Group'] = y.values
h5ad文件转为csv文件:anndata——稀疏矩阵
于 2024-10-05 16:30:11 首次发布