Spatial_proteomic_P4
[1]:
import warnings
warnings.filterwarnings("ignore")
[2]:
import pandas as pd
import numpy as np
import scanpy as sc
import matplotlib.pyplot as plt
[3]:
import BINARY
[4]:
import pysodb
sodb = pysodb.SODB()
[5]:
dataset_name = 'keren2018a'
experiment_name = 'p4'
adata_raw = sodb.load_experiment(dataset_name,experiment_name)
load experiment[p4] in dataset[keren2018a]
[6]:
adata_raw
[6]:
AnnData object with n_obs × n_vars = 6643 × 36
obs: 'SampleID', 'cellLabelInImage', 'cellSize', 'C', 'Na', 'Si', 'P', 'Ca', 'Fe', 'Background', 'B7H3', 'OX40', 'CD163', 'CSF-1R', 'Ta', 'Au', 'tumorYN', 'tumorCluster', 'Group', 'immuneCluster', 'immuneGroup', 'group_name', 'immuneGroup_name', 'all_group_name', 'leiden'
uns: 'all_group_name_colors', 'group_name_colors', 'immuneGroup_name_colors', 'leiden', 'leiden_colors', 'moranI', 'neighbors', 'pca', 'spatial_neighbors', 'umap'
obsm: 'X_pca', 'X_umap', 'spatial'
varm: 'PCs'
obsp: 'connectivities', 'distances', 'spatial_connectivities', 'spatial_distances'
[7]:
adata = BINARY.clean_adata(adata_raw)
[8]:
adata
[8]:
AnnData object with n_obs × n_vars = 6643 × 36
obsm: 'spatial'
[9]:
adata = BINARY.Count2Binary(adata)
[10]:
adata
[10]:
AnnData object with n_obs × n_vars = 6643 × 36
obsm: 'spatial'
[11]:
BINARY.Construct_Spatial_Graph(adata,
use_method='KNN',
cutoff=15)
------Constructing spatial graph...------
The graph contains 99645 edges, 6643 cells.
15.0000 neighbors per cell on average.
[12]:
adata = BINARY.train_BINARY(adata, pos_weight= 10, device= 'cuda:0')
Size of Input: (6643, 36)
0%| | 0/1000 [00:00<?, ?it/s]100%|██████████| 1000/1000 [00:08<00:00, 113.62it/s]
[13]:
sc.pp.neighbors(adata, use_rep='BINARY')
sc.tl.umap(adata)
[14]:
adata = BINARY.mclust_R(adata, used_obsm='BINARY', num_cluster=2)
R[write to console]: __ __
____ ___ _____/ /_ _______/ /_
/ __ `__ \/ ___/ / / / / ___/ __/
/ / / / / / /__/ / /_/ (__ ) /_
/_/ /_/ /_/\___/_/\__,_/____/\__/ version 6.0.0
Type 'citation("mclust")' for citing this R package in publications.
fitting ...
|======================================================================| 100%
[15]:
ax = sc.pl.embedding(adata, basis='spatial', color=["mclust"], show=False)
ax.axis('equal')
[15]:
(-68.28090909090909, 2115.899090909091, -67.68806853582555, 2115.9914953271027)