from higashi.Higashi_wrapper import * config = "/work/magroup/ruochiz/Higashi/config_dir/config_ramani.JSON" higashi_model = Higashi(config) higashi_model.process_data() higashi_model.prep_model() higashi_model.train_for_embeddings() higashi_model.train_for_imputation_nbr_0() higashi_model.impute_no_nbr() higashi_model.train_for_imputation_with_nbr() higashi_model.impute_with_nbr() # Visualize embedding results cell_embeddings = higashi_model.fetch_cell_embeddings() print (cell_embeddings.shape) from umap import UMAP from sklearn.decomposition import PCA import seaborn as sns import matplotlib.pyplot as plt cell_type = higashi_model.label_info['cell type'] fig = plt.figure(figsize=(14, 5)) ax = plt.subplot(1, 2, 1) vec = PCA(n_components=2).fit_transform(cell_embeddings) sns.scatterplot(x=vec[:, 0], y=vec[:, 1], hue=cell_type, ax=ax, s=6, linewidth=0) handles, labels = ax.get_legend_handles_labels() labels, handles = zip(*sorted(zip(labels, handles), key=lambda t: t[0])) ax.legend(handles=handles, labels=labels, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0., ncol=1) ax = plt.subplot(1, 2, 2) vec = UMAP(n_components=2).fit_transform(cell_embeddings) sns.scatterplot(x=vec[:, 0], y=vec[:, 1], hue=cell_type, ax=ax, s=6, linewidth=0) handles, labels = ax.get_legend_handles_labels() labels, handles = zip(*sorted(zip(labels, handles), key=lambda t: t[0])) ax.legend(handles=handles, labels=labels, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0., ncol=1) plt.tight_layout() plt.show()