dynamo-release
dynamo-release copied to clipboard
Error about group parameter in dyn. tl. dynamics
Dear Xiaojie, My data is pulse-chase data from scNT-seq, three temperatures were used for processing, but an error occurs when running dyn. tl. dynamics(adata, group = 'temp'), here's my run code: Integrate AnnData list and filter
def add_lable_filter(ad_dict,mito_perc):
adata = dyn.pp.integrate(list(ad_dict.values()), batch_key='batch', fill_value=0)
adata=ov.pp.qc(adata,
tresh={'mito_perc': mito_perc, 'nUMIs': 500, 'detected_genes': 400},mt_startswith='mt-',)
adata.layers['total'] = adata.X
adata.layers['new'] = adata.layers['X_l_TC']
adata.layers.pop('X_l_TC', None)
adata.layers.pop('X_n_TC', None)
adata.obs['label_time'] = 24 # this is the labeling time
tkey = 'label_time'
adata.obs['time'] = adata.obs['time']/60
return(adata)
adata_merge = add_lable_filter(merge_dict,0.15)
log:
|-----> Running monocle preprocessing pipeline...
|-----------> filtered out 0 outlier cells
|-----------> filtered out 14130 outlier genes
|-----> PCA dimension reduction
|-----> <insert> X_pca to obsm in AnnData Object.
|-----> computing cell phase...
|-----?
Dynamo is not able to perform cell cycle staging for you automatically.
Since dyn.pl.phase_diagram in dynamo by default colors cells by its cell-cycle stage,
you need to set color argument accordingly if confronting errors related to this.
|-----> [Preprocessor-monocle] completed [38.2824s]
run preproces and dynamics
adata_dyn = adata_merge.copy()
preprocessor = dyn.pp.Preprocessor(cell_cycle_score_enable=True)
preprocessor.config_monocle_recipe(adata_dyn)
preprocessor.filter_cells_by_outliers_kwargs["keep_filtered"] = True
preprocessor.preprocess_adata_monocle(adata_dyn, tkey='label_time', experiment_type='one-shot')
dyn.tl.dynamics(adata_dyn,group = 'temp')
An error occurred:
ValueError Traceback (most recent call last)
Cell In[155], line 1
----> 1 dyn.tl.dynamics(adata_dyn,group = 'temp')
File ~/miniconda3/envs/dynamo1.3/lib/python3.8/site-packages/dynamo/tools/dynamics.py:700, in dynamics(adata, filter_gene_mode, use_smoothed, assumption_mRNA, assumption_protein, model, est_method, NTR_vel, group, protein_names, concat_data, log_unnormalized, one_shot_method, fraction_for_deg, re_smooth, sanity_check, del_2nd_moments, cores, tkey, **est_kwargs)
684 vel_P = vel.vel_p(S, P)
686 adata = set_velocity(
687 adata,
688 vel_U,
(...)
697 ind_for_proteins,
698 )
--> 700 adata = set_param_ss(
701 adata,
702 est,
703 alpha,
704 beta,
705 gamma,
706 eta,
707 delta,
708 experiment_type,
709 _group,
710 cur_grp,
711 kin_param_pre,
712 valid_bools_,
713 ind_for_proteins,
714 )
716 elif assumption_mRNA.lower() == "kinetic":
717 return_ntr = True if fraction_for_deg and experiment_type.lower() == "deg" else False
File ~/miniconda3/envs/dynamo1.3/lib/python3.8/site-packages/dynamo/tools/utils.py:1428, in set_param_ss(adata, est, alpha, beta, gamma, eta, delta, experiment_type, _group, cur_grp, kin_param_pre, valid_ind, ind_for_proteins)
1422 if cur_grp == _group[0]:
1423 adata.varm[kin_param_pre + "alpha"] = (
1424 sp.csr_matrix(np.zeros(adata.shape[::-1]))
1425 if sp.issparse(alpha)
1426 else np.zeros(adata.shape[::-1])
1427 ) #
-> 1428 adata.varm[kin_param_pre + "alpha"][valid_ind, :] = alpha #
1429 adata.var.loc[valid_ind, kin_param_pre + "alpha"] = alpha.mean(1)
1430 elif len(alpha.shape) == 1:
File ~/.local/lib/python3.8/site-packages/scipy/sparse/_index.py:132, in IndexMixin.__setitem__(self, key, x)
129 broadcast_col = x.shape[1] == 1 and i.shape[1] != 1
130 if not ((broadcast_row or x.shape[0] == i.shape[0]) and
131 (broadcast_col or x.shape[1] == i.shape[1])):
--> 132 raise ValueError('shape mismatch in assignment')
133 if x.shape[0] == 0 or x.shape[1] == 0:
134 return
ValueError: shape mismatch in assignment
I want to know whether it is feasible to analyze different samples simultaneously in an AnnData ? Is it where I got it wrong when I was analyzing ? Best regard.
@Xiaojieqiu I'd appreciate it if you'd take the time to look at it for me.
Hi, thank you for raising this issue. This looks like a bug when setting the alpha back to the original data. I will take a look at it. But I do suggest you analyze those samples separately for now since they may have different velocity parameters.
Thanks so much for your reply.Then I'll try to analyze it separately first.
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days