Cell type prediction based on marker genes from reference dataset
Cell type prediction based on marker genes from reference dataset
import numpy as npimport pandas as pdimport scanpy as scsc.set_figure_params(dpi=80,dpi_save=300, color_map='viridis',facecolor='white')from matplotlib import rcParams# To modify the default figure size, use rcParams.rcParams['figure.figsize'] = 4, 4rcParams['font.sans-serif'] = "Arial"rcParams['font.family'] = "Arial"sc.settings.verbosity = 3sc.logging.print_header()path = '.../Analysis/Jupyter/Python/Longitudinal/Integration'import syssys.path.append(path)from env_settings import *sc.set_figure_params(dpi=80,dpi_save=300, color_map='viridis',facecolor='white')rcParams['figure.figsize'] = 4, 4save_dir='.../Result/single-cell/Methods/COSG/Database'### Create the save_dir if not existed!mkdir -p {save_dir}adata=sc.read('.../Result/single-cell/Enhancer/AdultCortexMultiome/AdultCortexMultiomeRNA_integrated_anno.h5ad')sc.pl.umap(adata, color=['CellTypes'], palette=self_palette2, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, cmap='Spectral_r', ncols=3, size=10, frameon=False)cosgMarkerDB=pd.read_csv('.../Result/single-cell/Enhancer/WholeMouseBrainRNAAllen/WholeMouseBrainRNAAllen_isocortex_subclass_leidenlocalRes0.5_markerGenes.csv', index_col=0)cosgMarkerDB.shapecosgMarkerDB.head()cosgMarkerScoreDB=pd.read_csv('.../Result/single-cell/Enhancer/WholeMouseBrainRNAAllen/WholeMouseBrainRNAAllen_isocortex_subclass_leidenlocalRes0.5_markerGenesScores.csv', index_col=0)cosgMarkerScoreDB.head()import piaso%%timepiaso.tl.infog(adata, layer='raw')adatapiaso.tl.predictCellTypeByMarker( adata, marker_gene_set=cosgMarkerDB[:50], ### Use the top 50 marker genes, score_method = 'piaso', score_layer = 'infog', use_score = True, max_workers = 32, smooth_prediction = True, use_rep = 'X_pca_harmony', ### Use the specified low-dimensional cell embeddings for kNN graph-based cell type prediction smoothing k_nearest_neighbors = 9, return_confidence = False, use_existing_adjacency_graph = False, use_faiss = False, key_added = 'Subclass_predicted', extract_cell_type = True, delimiter_cell_type = '-', ## Set True to extract the subclass, as now it's clusters of subclass level
inplace = True, random_seed = 1927, verbosity = 1, n_jobs = -1,)sc.pl.umap(adata, color=['Subclass_predicted'], palette=piaso.pl.color.d_color10, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, cmap='Spectral_r', ncols=3, size=10, frameon=False)sc.pl.umap(adata, color=['CellTypes'], palette=piaso.pl.color.d_color10, legend_loc='on data', legend_fontoutline=2, legend_fontsize=6, legend_fontweight=5, # cmap='Spectral_r', cmap=sp_cmap, ncols=1, size=10, frameon=False)sc.pl.umap(adata, color=['Subclass_predicted_score'], palette=piaso.pl.color.d_color10, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, # cmap='Spectral_r', cmap=piaso.pl.color.c_color6,
ncols=1, size=10, frameon=False)piaso.tl.predictCellTypeByMarker( adata, marker_gene_set=cosgMarkerDB[:50], ### Use the top 50 marker genes, score_method = 'piaso', score_layer = 'infog', use_score = False, max_workers = 32, smooth_prediction = True, use_rep = 'X_pca_harmony', ### Use the specified low-dimensional cell embeddings for kNN graph-based cell type prediction smoothing k_nearest_neighbors = 9, return_confidence = False, use_existing_adjacency_graph = False, use_faiss = False, key_added = 'Subclass_predicted_pvals', extract_cell_type = True, delimiter_cell_type = '-', ## Set True to extract the subclass, as now it's clusters of subclass level
inplace = True, random_seed = 1927, verbosity = 1, n_jobs = -1,)sc.pl.umap(adata, color=['Subclass_predicted', 'Subclass_predicted_pvals'], palette=piaso.pl.color.d_color10, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, cmap='Spectral_r', ncols=1, size=10, frameon=False)sc.pl.umap(adata, color=['CellTypes'], palette=piaso.pl.color.d_color10, legend_loc='on data', legend_fontoutline=2, legend_fontsize=6, legend_fontweight=5, # cmap='Spectral_r', cmap=sp_cmap, ncols=1, size=10, frameon=False)sc.pl.umap(adata, color=['Subclass_predicted_pvals_nlog10pvals'], palette=piaso.pl.color.d_color10, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, # cmap='Spectral_r', cmap=piaso.pl.color.c_color6, vcenter= -np.log10(0.05), vmin=0,
ncols=1, size=10, frameon=False)sc.pl.umap(adata, color=['Sample', 'Leiden'], palette=self_palette2, # legend_loc='on data', legend_fontoutline=2, legend_fontweight=5, # cmap='Spectral_r', cmap=sp_cmap, ncols=1, size=10, frameon=False)piaso.pl.plotConfusionMatrix(adata, 'CellTypes', 'Subclass_predicted',)