dynverse/dynwrap

"use_priors" is invalid when running ti_paga and ti_paga_tree

Closed this issue · 3 comments

Hello,

After updating dynwrap to the latest version, ti_paga_tree and ti_paga are not working anymore.
(Problem starts from commit ef9580e, reverting to commit 1ca3ff9 and the error goes away)

I encounter following error while running ti_paga_tree and ti_paga.

library(dyntoy)
toy_data <- dyntoy::generate_dataset(
   id = "specific_example/paga",
   num_cells = 1000,
   num_features = 101,
   model = "tree",
   normalise = FALSE
 )
toy_model <- dynwrap::infer_trajectory(toy_data, ti_paga(n_neighbors=15L, n_comps=50L, 
n_dcs=15L, resolution=1L, embedding_type="umap", connectivity_cutoff=0.05), verbose=TRUE)

Executing 'paga' on 'specific_example/paga'
With parameters: list(n_neighbors = 15L, n_comps = 50L, n_dcs = 15L, resolution = 1L, embedding_type = "umap", connectivity_cutoff = 0.05),
inputs: counts, and
priors : start_id
Input saved to /tmp/folders/x1/nwl1vr796hx3z7fqgwn90mqw0000gn/T//RtmpBi1LRK/file36d832a88530/ti
Running method using babelwhale
Running /usr/local/bin/docker run -e 'TMPDIR=/tmp2' --workdir /ti/workspace -v
'/tmp/folders/x1/nwl1vr796hx3z7fqgwn90mqw0000gn/T//RtmpBi1LRK/file36d832a88530/ti:/ti' -v
'/tmp/folders/x1/nwl1vr796hx3z7fqgwn90mqw0000gn/T//RtmpBi1LRK/file36d855c02c4b/tmp:/tmp2' 'dynverse/ti_paga:v0.9.9.01' --dataset /ti/input.h5
--output /ti/output.h5 --use_priors all
R[write to console]: Error in parse_args(parser, args = args) :
Error in getopt(spec = spec, opt = args) :
long flag "use_priors" is invalid
Calls: -> -> -> parse_args

Running ti_slingshot that uses "--use_priors all" as well was OK with no error.

I checked that ti_paga and ti_paga_tree both have VERSION=0.9.9.03
but my dynwrap::infer_trajectory is calling v0.9.9.01, would this be the problem?
I tried uninstall everything from dynverse and reinstall them back, restarting RStudio and laptop but problem still persists.

Hello Phit Ling!

Could you reinstall dynmethods? This problem had been fixed in the devel branch of the package, I just forgot to merge it to master.

Relatedly, I noticed that the umap argument of paga does not seem to be working. I will create a separate issue for this.

If you reinstall dynmethods and remove the embedding type parameter, can you verify it works for you now?

Robrecht

FYI, if you want to try out different versions of docker containers, or custom docker containers, you can use the following code:

my_method <- dynwrap::create_ti_method_container("dynverse/ti_paga:v0.9.9.03")
toy_model <- dynwrap::infer_trajectory(
  toy_data, 
  my_method(n_neighbors=15L),
  verbose=TRUE
)

It works!
Reinstalled dynmethods and removed the embedding type parameter did the job.

Thanks for the great tip regarding the docker containers too.

Really appreciate your team's prompt reply and wonderful work!