代码参考scanpy官网教程
取交集
var_names_1 = adata_0d.var_names.intersection(adata_3d.var_names)
var_names_2 = adata_0d.var_names.intersection(adata_5d.var_names)
var_names = var_names_1.intersection(var_names_2)
数据切片
adata_0d = adata_0d[:,var_names]
adata_3d = adata_3d[:,var_names]
adata_5d = adata_5d[:,var_names]
分别映射
sc.tl.ingest(adata_3d, adata_0d,obs='leiden',embedding_method=('umap', 'pca'), labeling_method='knn')
adata_3d.uns['leiden_colors'] = adata_0d.uns['leiden_colors']
sc.pl.umap(adata_3d, color=['leiden','Clusters'], wspace=1)
sc.tl.ingest(adata_5d, adata_0d, obs='leiden',embedding_method=('umap', 'pca'), labeling_method='knn')
adata_5d.uns['leiden_colors'] = adata_0d.uns['leiden_colors']
sc.pl.umap(adata_5d, color=['leiden', 'Clusters'], wspace=1)
合并各样本数据
adata_concat = adata_0d.concatenate(adata_3d,adata_5d,batch_categories=['0d', '3d','5d'])
绘图
adata_concat.obs.leiden = adata_concat.obs.leiden.astype('category')
adata_concat.obs.leiden.cat.reorder_categories(adata_0d.obs.leiden.cat.categories, inplace=True)
adata_0d.obs.leiden.cat.categories
adata_concat.uns['leiden_colors'] = adata_0d.uns['leiden_colors']
sc.pl.umap(adata_concat, color=['batch', 'leiden'],save='_integrating_3_data.png')
去除批次效应
sc.tl.pca(adata_concat) sc.external.pp.bbknn(adata_concat, batch_key='batch') sc.tl.umap(adata_concat) sc.pl.umap(adata_concat, color=['batch', 'leiden_poly'],save='_combine.png')