ShobiStassen / VIA

trajectory inference
https://pyvia.readthedocs.io/en/latest/
MIT License
76 stars 20 forks source link

Two many nodes and edges #23

Closed wangjiawen2013 closed 1 year ago

wangjiawen2013 commented 1 year ago

Hi, I tested a real single cell dataset, but the plot was full of nodes and edges and the terminal states was too many ! what's the probable reason (data too complex)?. Besides, are there any methods to reduce the cluster numbers and edges and terminal states ?

ShobiStassen commented 1 year ago

Hi, depends on your parameters (what is your input? PCs? How many knn? What does the cluster graph look like? You must be getting many clusters) maybe consider increasing Knn, or increasing the jac_std_global parameter to lower th number of clusters

ShobiStassen commented 1 year ago

Try to set draw_all_curves = False in the draw_trajectory_gams function (below) Perhaps if your clustergraph has too many edges you can consider also lowering cluster_graph_pruning_std

it's hard for me to say much without knowing your parameter settings

draw_trajectory_gams(via_coarse, via_fine, embedding: ndarray, idx:Optional[list]=None, title_str:str= "Pseudotime", draw_all_curves:bool=True, arrow_width_scale_factor:float=15.0, scatter_size:float=50, scatter_alpha:float=0.5, linewidth:float=1.5, marker_edgewidth:float=1, cmap_pseudotime:str='viridis_r',dpi:int=150,highlight_terminal_states:bool=True)

ShobiStassen commented 1 year ago

i think setting draw_all_curves = False will greatly simplify

alternatively you can go into the code for draw_all_curves() and the change the line from super_edgelist =via_coarse.edgelist to super_edgelist =via_coarse.edgelist_maxout

wangjiawen2013 commented 1 year ago

Good! Setting cluster_graph_pruning_std as default (0.15) solved my problem. Now could you give an example on how to plot gene expression on piechart ? Although it has been said that "# gene_exp =''. In order to plot gene intensity, a list of cluster level gene/feature values should be provided as a list", I still don't know how to set it.

ShobiStassen commented 1 year ago

Hi! I think the section on Via gene graphs shows how to make a cluster average gene expression list /dataframe that you can use to color the viagraph