omicverse.single.pyVIA#
- class omicverse.single.pyVIA(adata, adata_key='X_pca', adata_ncomps=80, basis='X_umap', clusters='', dist_std_local=2, jac_std_global=0.15, labels=None, keep_all_local_dist='auto', too_big_factor=0.4, resolution_parameter=1.0, partition_type='ModularityVP', small_pop=10, jac_weighted_edges=True, knn=30, n_iter_leiden=5, random_seed=42, num_threads=-1, distance='l2', time_smallpop=15, super_cluster_labels=False, super_node_degree_list=False, super_terminal_cells=False, x_lazy=0.95, alpha_teleport=0.99, root_user=None, preserve_disconnected=True, dataset='', super_terminal_clusters=[], is_coarse=True, csr_full_graph='', csr_array_locally_pruned='', ig_full_graph='', full_neighbor_array='', full_distance_array='', df_annot=None, preserve_disconnected_after_pruning=False, secondary_annotations=None, pseudotime_threshold_TS=30, cluster_graph_pruning_std=0.15, visual_cluster_graph_pruning=0.15, neighboring_terminal_states_threshold=3, num_mcmc_simulations=1300, piegraph_arrow_head_width=0.1, piegraph_edgeweight_scalingfactor=1.5, max_visual_outgoing_edges=2, via_coarse=None, velocity_matrix=None, gene_matrix=None, velo_weight=0.5, edgebundle_pruning=None, A_velo=None, CSM=None, edgebundle_pruning_twice=False, pca_loadings=None, time_series=False, time_series_labels=None, knn_sequential=10, knn_sequential_reverse=0, t_diff_step=1, single_cell_transition_matrix=None, embedding_type='via-mds', do_compute_embedding=False, color_dict=None, user_defined_terminal_cell=[], user_defined_terminal_group=[], do_gaussian_kernel_edgeweights=False, RW2_mode=False, working_dir_fp='/home/shobi/Trajectory/Datasets/')[source]#
VIA-based trajectory inference and lineage visualization wrapper.
- Parameters:
adata (
AnnData)adata_key (
str(default:'X_pca'))adata_ncomps (
int(default:80))basis (
str(default:'X_umap'))clusters (
str(default:''))dist_std_local (
float(default:2))too_big_factor (
float(default:0.4))resolution_parameter (
float(default:1.0))partition_type (
str(default:'ModularityVP'))small_pop (
int(default:10))jac_weighted_edges (
bool(default:True))knn (
int(default:30))n_iter_leiden (
int(default:5))random_seed (
int(default:42))super_cluster_labels (
bool(default:False))super_node_degree_list (
bool(default:False))super_terminal_cells (
bool(default:False))x_lazy (
float(default:0.95))alpha_teleport (
float(default:0.99))preserve_disconnected (
bool(default:True))dataset (
str(default:''))super_terminal_clusters (
list(default:[]))csr_full_graph (
ndarray(default:''))preserve_disconnected_after_pruning (
bool(default:False))pseudotime_threshold_TS (
int(default:30))cluster_graph_pruning_std (
float(default:0.15))visual_cluster_graph_pruning (
float(default:0.15))max_visual_outgoing_edges (
int(default:2))knn_sequential (
int(default:10))knn_sequential_reverse (
int(default:0))t_diff_step (
int(default:1))embedding_type (
str(default:'via-mds'))do_compute_embedding (
bool(default:False))user_defined_terminal_cell (
list(default:[]))user_defined_terminal_group (
list(default:[]))do_gaussian_kernel_edgeweights (
bool(default:False))RW2_mode (
bool(default:False))working_dir_fp (
str(default:'/home/shobi/Trajectory/Datasets/'))
- __init__(adata, adata_key='X_pca', adata_ncomps=80, basis='X_umap', clusters='', dist_std_local=2, jac_std_global=0.15, labels=None, keep_all_local_dist='auto', too_big_factor=0.4, resolution_parameter=1.0, partition_type='ModularityVP', small_pop=10, jac_weighted_edges=True, knn=30, n_iter_leiden=5, random_seed=42, num_threads=-1, distance='l2', time_smallpop=15, super_cluster_labels=False, super_node_degree_list=False, super_terminal_cells=False, x_lazy=0.95, alpha_teleport=0.99, root_user=None, preserve_disconnected=True, dataset='', super_terminal_clusters=[], is_coarse=True, csr_full_graph='', csr_array_locally_pruned='', ig_full_graph='', full_neighbor_array='', full_distance_array='', df_annot=None, preserve_disconnected_after_pruning=False, secondary_annotations=None, pseudotime_threshold_TS=30, cluster_graph_pruning_std=0.15, visual_cluster_graph_pruning=0.15, neighboring_terminal_states_threshold=3, num_mcmc_simulations=1300, piegraph_arrow_head_width=0.1, piegraph_edgeweight_scalingfactor=1.5, max_visual_outgoing_edges=2, via_coarse=None, velocity_matrix=None, gene_matrix=None, velo_weight=0.5, edgebundle_pruning=None, A_velo=None, CSM=None, edgebundle_pruning_twice=False, pca_loadings=None, time_series=False, time_series_labels=None, knn_sequential=10, knn_sequential_reverse=0, t_diff_step=1, single_cell_transition_matrix=None, embedding_type='via-mds', do_compute_embedding=False, color_dict=None, user_defined_terminal_cell=[], user_defined_terminal_group=[], do_gaussian_kernel_edgeweights=False, RW2_mode=False, working_dir_fp='/home/shobi/Trajectory/Datasets/')[source]#
Initialize a pyVIA trajectory inference model.
- Parameters:
adata (anndata.AnnData) – Input single-cell AnnData object.
adata_key (str, default='X_pca') – Key in
adata.obsmused as low-dimensional input for VIA graph construction.adata_ncomps (int, default=80) – Number of components retained from
adata.obsm[adata_key].basis (str, default='X_umap') – Embedding key in
adata.obsmused for plotting and trajectory overlays.clusters (str, default='') – Column name in
adata.obsstoring initial cluster/cell-type labels.dist_std_local (float, default=2) – Local pruning strength for PARC/VIA graph edges.
jac_std_global (float, default=0.15) – Global Jaccard-based pruning threshold.
labels (numpy.ndarray, optional) – Optional external labels used instead of
adata.obs[clusters].keep_all_local_dist (str or bool, default='auto') – Whether to keep all local distances before pruning.
too_big_factor (float, default=0.4) – Re-partition clusters larger than this fraction of total cells.
resolution_parameter (float, default=1.0) – Leiden/PARC partition resolution.
partition_type (str, default='ModularityVP') – Graph partition strategy passed to PARC/VIA.
small_pop (int, default=10) – Minimum cluster size considered stable.
jac_weighted_edges (bool, default=True) – Whether to weight graph edges by Jaccard overlap.
knn (int, default=30) – Number of nearest neighbors used to build the cell graph.
n_iter_leiden (int, default=5) – Number of Leiden refinement iterations.
random_seed (int, default=42) – Random seed for reproducible graph partitioning.
num_threads (int, default=-1) – Number of CPU threads;
-1lets backend decide automatically.distance (str, default='l2') – Distance metric used in neighbor search.
time_smallpop (int, default=15) – Iteration/time control for handling small populations.
super_cluster_labels (bool, default=False) – Whether to compute super-cluster labels on top of base clusters.
super_node_degree_list (bool, default=False) – Whether to expose super-node degree statistics.
super_terminal_cells (bool, default=False) – Whether to infer terminal states at super-cluster granularity.
x_lazy (float, default=0.95) – Lazy random-walk parameter controlling self-transition probability.
alpha_teleport (float, default=0.99) – Teleportation probability for Markov diffusion.
root_user (list, optional) – User-defined root cell indices or root groups for pseudotime orientation.
preserve_disconnected (bool, default=True) – Keep disconnected graph components during trajectory construction.
dataset (str, default='') – Dataset/root mode flag used by VIA internals.
super_terminal_clusters (list, default=[]) – User-provided terminal super-cluster IDs.
is_coarse (bool, default=True) – Whether current model is coarse stage in a coarse-to-fine workflow.
csr_full_graph (numpy.ndarray or scipy.sparse matrix, optional) – Optional precomputed full graph adjacency.
csr_array_locally_pruned (numpy.ndarray or scipy.sparse matrix, optional) – Optional precomputed locally pruned graph.
ig_full_graph (igraph.Graph, optional) – Optional pre-built igraph object.
full_neighbor_array (numpy.ndarray, optional) – Optional precomputed neighbor index array.
full_distance_array (numpy.ndarray, optional) – Optional precomputed neighbor distance array.
df_annot (pandas.DataFrame, optional) – Cell annotation table used by VIA plotting and summaries.
preserve_disconnected_after_pruning (bool, default=False) – Whether to retain disconnected components after graph pruning.
secondary_annotations (list, optional) – Additional annotation tracks for visualization.
pseudotime_threshold_TS (int, default=30) – Threshold used in terminal-state calling for time-series mode.
cluster_graph_pruning_std (float, default=0.15) – Pruning strength for cluster-level graph.
visual_cluster_graph_pruning (float, default=0.15) – Additional pruning for visualized cluster graph.
neighboring_terminal_states_threshold (int, default=3) – Merge threshold for nearby terminal states.
num_mcmc_simulations (int, default=1300) – Number of random-walk/MCMC simulations for lineage probabilities.
piegraph_arrow_head_width (float, default=0.1) – Arrow head width in pie-chart trajectory graph.
piegraph_edgeweight_scalingfactor (float, default=1.5) – Edge-width scaling in pie-chart trajectory graph.
max_visual_outgoing_edges (int, default=2) – Maximum outgoing edges per node in visual graph rendering.
via_coarse (object, optional) – Optional coarse VIA model used for hierarchical runs.
velocity_matrix (numpy.ndarray, optional) – RNA velocity matrix used to orient transitions.
gene_matrix (numpy.ndarray, optional) – Expression matrix aligned with
velocity_matrix.velo_weight (float, default=0.5) – Relative weight of velocity-informed transitions.
edgebundle_pruning (float, optional) – Pruning threshold before edge bundling.
A_velo (numpy.ndarray, optional) – Cluster-level velocity transition matrix.
CSM (Any, optional) – Optional custom transition/similarity matrix.
edgebundle_pruning_twice (bool, default=False) – Whether to apply two-pass pruning before edge bundling.
pca_loadings (numpy.ndarray, optional) – PCA loadings used in velocity projection.
time_series (bool, default=False) – Whether to enable time-series constraints.
time_series_labels (list, optional) – Ordered temporal labels per cell.
knn_sequential (int, default=10) – Number of forward temporal neighbors (
ttot+1).knn_sequential_reverse (int, default=0) – Number of reverse temporal neighbors (
ttot-1).t_diff_step (int, default=1) – Maximum temporal step size allowed in sequential KNN links.
single_cell_transition_matrix (Any, optional) – Optional precomputed single-cell transition matrix.
embedding_type (str, default='via-mds') – Embedding algorithm used by VIA (for example
'via-mds').do_compute_embedding (bool, default=False) – Whether to compute VIA embedding during initialization.
color_dict (dict, optional) – Mapping from category to plotting color.
user_defined_terminal_cell (list, default=[]) – User-defined terminal cell indices.
user_defined_terminal_group (list, default=[]) – User-defined terminal cluster/group labels.
do_gaussian_kernel_edgeweights (bool, default=False) – Whether to use Gaussian-kernel edge weights.
RW2_mode (bool, default=False) – Enable RW2 random-walk mode in VIA.
working_dir_fp (str, default='/home/shobi/Trajectory/Datasets/') – Working directory used by VIA for intermediate files.
Methods
__init__(adata[, adata_key, adata_ncomps, ...])Initialize a pyVIA trajectory inference model.
get_piechart_dict([label, clusters])Get cluster composition dictionary for pie chart visualization.
get_pseudotime([adata])Extract the pseudotime values computed by VIA.
plot_clustergraph(gene_list[, arrow_head, ...])Plot cluster graph with aggregated gene-expression nodes.
plot_gene_trend([gene_list, figsize, ...])Plot smoothed gene trends along VIA pseudotime.
plot_gene_trend_heatmap(gene_list[, ...])Plot lineage-specific heatmaps of gene trends.
plot_lineage_probability([clusters, basis, ...])Plot lineage membership probabilities in embedding space.
plot_piechart_graph([clusters, type_data, ...])Plot two subplots with clustergraph representation showing cluster composition and pseudotime/gene expression.
plot_stream([clusters, basis, density_grid, ...])Plot streamlines of inferred cell-state flow on embedding.
plot_trajectory_gams([clusters, basis, ...])Project coarse VIA trajectories onto embedding.
run()Calculate the VIA graph and pseudotime.