dynverse / ti_paga

Other
1 stars 1 forks source link

n_dcs =0 results in error. #4

Closed bjreisman closed 5 years ago

bjreisman commented 5 years ago

Thanks again for working on the windows implementation of this! I've got the basic cases of ti_paga() working on my data, but when playing around with the parameters I ran into the following error when attempting to set n_dcs = 0L in ti_paga()or ti_paga_tree()

> library(dyno)
> set.seed(1)
> data <- dyntoy::generate_dataset(
+   id = "specific_example/paga",
+   num_cells = 1000,
+   num_features = 101,
+   model = "tree",
+   normalise = FALSE
+ )
> 
> model_toy <- infer_trajectory(data, ti_paga(n_dcs = 0L), seed = 1)
Error: Error during trajectory inference 
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/numpy/core/records.py", line 451, in __getattribute__
    res = fielddict[attr][:2]
KeyError: 'X_diffmap'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/code/run.py", line 89, in <module>
    sc.tl.dpt(adata, n_dcs = min(adata.obsm.X_diffmap.shape[1], 10))
  File "/usr/local/lib/python3.7/site-packages/numpy/core/records.py", line 453, in __getattribute__
    raise AttributeError("recarray has no attribute %s" % attr)
AttributeError: recarray has no attribute X_diffmap

It seems that there's a spot in the run.py script to skip the 'denoising' if n_dcs == 0, but then it expects there to n_dcs > 0 when it goes to calculate the pseudotime here:

https://github.com/dynverse/ti_paga/blob/69f4771ea80f1229f768d6103bb175e5d98e4bb8/run.py#L89

rcannood commented 5 years ago

Sorry for the late response. Could you update dynmethods? This will also update the ti_paga container to v0.9.9.03 next time you try to use paga. Can you confirm v0.9.9.03 solves your problem?