import scanpy as sc
import pandas as pd
import numpy as np
import h5py
import seaborn as sns
import matplotlib.pyplot as plt
from umap import UMAP
from matplotlib import rcParams
data_mat = h5py.File('D:\v.h5')
x = np.array(data_mat['X'])
y = pd.read_csv("D:/v.csv", header=None, names=['Group'])
y = y.reset_index(drop=True)
adata = sc.AnnData(x)
adata.obs['Group'] = y.values
print(adata.obs['Group'].head())
data = pd.Series(adata.obs['Group'])
num_types = data.nunique()
print("一共有", num_types, "个类型")
sc.pp.filter_cells(adata, min_genes=200) #至少含有200个基因
sc.pp.filter_genes(adata,min_cells=3) # 至少出现在3个细胞
# 基于细胞数量的标准化
sc.pp.log1p(adata)
sc.pp.neighbors(adata,n_neighbors=10,use_rep='X')
sc.tl.umap(adata)
sc.tl.leiden(adata,resolution=1.0)
unique_clusters = adata.obs['leiden'].nunique()
print("一共有", unique_clusters, "个聚类")
# 一共有 18 个聚类
print(adata.obs['Group'].dtype)
if adata.obs['Group'].dtype != 'category':
adata.obs['Group'] = adata.obs['Group'].astype('category')
sc.pl.umap(adata, color='Group', legend_loc='on data', frameon=False)
fig = plt.gcf()
# 保存图像为tif格式,dpi设置为600
fig.savefig('D:/1.tif', format='tif', dpi=600)
另一种umap可视化
于 2024-07-24 10:04:13 首次发布