-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrun_osm.py
31 lines (24 loc) · 957 Bytes
/
run_osm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import warnings
warnings.filterwarnings("ignore")
import pandas as pd
import numpy as np
import scanpy as sc
import matplotlib.pyplot as plt
import os
import sys
from sklearn.metrics.cluster import adjusted_rand_score
import SR_DGN
os.environ['R_HOME'] = '/home/dell/anaconda3/envs/stpython/lib/R'
adata = sc.read('Data/OSM/osmFISH_codeluppi2018spatial_cortex_data.h5ad')
adata.var_names_make_unique()
adata.obsm['spatial'][:, 1] *= -1
sc.pp.highly_variable_genes(adata, flavor="seurat_v3", n_top_genes=3000)
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.scale(adata, zero_center=False, max_value=10)
SR_DGN.Cal_Spatial_Net(adata, k_cutoff=6,model='KNN')
SR_DGN.Stats_Spatial_Net(adata)
adata = SR_DGN.train(adata)
adata = SR_DGN.mclust_R(adata, used_obsm='SR-DGN', num_cluster=11)
obs_df = adata.obs.dropna()
ARI = adjusted_rand_score(obs_df['mclust'], obs_df["Region"])
print('Adjusted rand index = %.5f' % ARI)