HCC section 2

[1]:
import sdevelo as sv
import scvelo as scv
import anndata
import numpy as np

adata = anndata.read_h5ad('data/HCC/HCC4_data.h5ad')
adata.uns['clusters_colors'] = ["#CB181D", "#EF3B2C", "#FB6A4A", "#FC9272", "#FCBBA1", "#1f77b4", "#A65628", "blue", "#00ee00"]
adata = adata[adata.obs['slice'] == 2]
sorted_codes_list = np.sort(adata.obs['clusters'].unique() - 1).tolist()
adata.uns['clusters_colors'] = [adata.uns['clusters_colors'][i] for i in sorted_codes_list]

(Working on SDEvelo)
2024-09-13 15:29:05
[2]:
args = sv.Config()
args.vis_type_col = 'clusters'

model = sv.SDENN(args, adata)
adata = model.train(args.nEpochs)
cuda
Filtered out 852 genes that are detected 20 counts (shared).
WARNING: Did not normalize X as it looks processed already. To enforce normalization, set `enforce=True`.
Normalized count data: spliced, unspliced.
Skip filtering by dispersion since number of variables are less than `n_top_genes`.
WARNING: Did not modify X as it looks preprocessed already.
computing neighbors
    finished (0:00:07) --> added
    'distances' and 'connectivities', weighted adjacency matrices (adata.obsp)
computing moments based on connectivities
    finished (0:00:00) --> added
    'Ms' and 'Mu', moments of un/spliced abundances (adata.layers)
1334
Epoch: 0, Loss: 2.395, alpha: 2.99, beta: 3.17, gamma: 0.01, s1: 0.010, s2: 0.010,  t_m: 0.191,  u_shift: 0.006,  s_shift: 0.007
Epoch: 50, Loss: 1.332, alpha: 58.58, beta: 32.58, gamma: 2.71, s1: 0.010, s2: 0.045,  t_m: 0.382,  u_shift: -0.021,  s_shift: -0.100
Epoch: 100, Loss: 0.907, alpha: 23.95, beta: 56.72, gamma: 0.95, s1: 0.029, s2: 0.043,  t_m: 0.383,  u_shift: -0.021,  s_shift: -0.100
Epoch: 150, Loss: 0.893, alpha: 25.41, beta: 70.78, gamma: 0.62, s1: 0.042, s2: 0.015,  t_m: 0.272,  u_shift: -0.021,  s_shift: -0.100
Epoch: 200, Loss: 0.852, alpha: 31.38, beta: 77.10, gamma: 0.44, s1: 0.049, s2: 0.012,  t_m: 0.191,  u_shift: -0.021,  s_shift: -0.100
Epoch: 250, Loss: 0.894, alpha: 32.93, beta: 77.49, gamma: 0.39, s1: 0.041, s2: 0.012,  t_m: 0.171,  u_shift: -0.021,  s_shift: -0.100
[3]:
kwargs = dict(fontsize=10, density=0.7, arrow_size=3, linewidth=4,  alpha=0.5)
sv.plot_streamline(adata, args, **kwargs)
computing velocity graph (using 10/128 cores)
    finished (0:00:03) --> added
    'sde_velocity_graph', sparse matrix with cosine correlations (adata.uns)
--> added 'sde_velocity_length' (adata.obs)
--> added 'sde_velocity_confidence' (adata.obs)
--> added 'sde_velocity_confidence_transition' (adata.obs)
computing velocity embedding
    finished (0:00:00) --> added
    'sde_velocity_pca', embedded velocity vectors (adata.obsm)
../_images/tutorials_demo_HCC2_3_3.png
[4]:
import matplotlib.pyplot as plt
plt.scatter(adata.obs['row'], adata.obs['col'], c=adata.obs['latent_time'], s=30, cmap='viridis_r', vmin=0, vmax=1)
plt.axis('off')
plt.show()
../_images/tutorials_demo_HCC2_4_0.png
[ ]: