uwot is throwing an error running the Monocle3 R package's "find_gene_module()" function, likely as an issue with how my data is formatted
0
0
Entering edit mode
3.5 years ago

Hello! I am trying to run the Monocle3 function find_gene_modules() on a cell_data_set (cds) but am getting a variety of errors in this. I have not had any other issues before this. I am working with an imported Seurat object. My first error came back stating that the number of rows were not the same between my cds and cds@preprocess_aux$gene_loadings values. I took a look and it seems my gene loadings were a list under cds@preprocess_aux@listData$gene_loadings. I then ran the following code to make a dataframe version of the gene loadings:

test <- seurat@assays$RNA@counts@Dimnames[[1]]
test <- as.data.frame(test)
cds@preprocess_aux$gene_loadings <- test
rownames(cds@preprocess_aux$gene_loadings) <- cds@preprocess_aux$gene_loadings[,1]

Which created a cds@preprocess_aux$gene_loadings dataframe with the same number of rows and row names as my cds. This resolved my original error but now led to a new error being thrown from uwot as:

15:34:02 UMAP embedding parameters a = 1.577 b = 0.8951
Error in uwot(X = X, n_neighbors = n_neighbors, n_components = n_components,  : 
  No numeric columns found

Running traceback() produces the following information.

traceback()

4: stop("No numeric columns found")

3: uwot(X = X, n_neighbors = n_neighbors, n_components = n_components, 
       metric = metric, n_epochs = n_epochs, alpha = learning_rate, 
       scale = scale, init = init, init_sdev = init_sdev, spread = spread, 
       min_dist = min_dist, set_op_mix_ratio = set_op_mix_ratio, 
       local_connectivity = local_connectivity, bandwidth = bandwidth, 
       gamma = repulsion_strength, negative_sample_rate = negative_sample_rate, 
       a = a, b = b, nn_method = nn_method, n_trees = n_trees, search_k = search_k, 
       method = "umap", approx_pow = approx_pow, n_threads = n_threads, 
       n_sgd_threads = n_sgd_threads, grain_size = grain_size, y = y, 
       target_n_neighbors = target_n_neighbors, target_weight = target_weight, 
       target_metric = target_metric, pca = pca, pca_center = pca_center, 
       pca_method = pca_method, pcg_rand = pcg_rand, fast_sgd = fast_sgd, 
       ret_model = ret_model || "model" %in% ret_extra, ret_nn = ret_nn || 
           "nn" %in% ret_extra, ret_fgraph = "fgraph" %in% ret_extra, 
       batch = batch, opt_args = opt_args, epoch_callback = epoch_callback, 
       tmpdir = tempdir(), verbose = verbose)

2: uwot::umap(as.matrix(preprocess_mat), n_components = max_components, 
       metric = umap.metric, min_dist = umap.min_dist, n_neighbors = umap.n_neighbors, 
       fast_sgd = umap.fast_sgd, n_threads = cores, verbose = verbose, 
       nn_method = umap.nn_method, ...)

1: find_gene_modules(cds[pr_deg_ids, ], reduction_method = "UMAP", 
       max_components = 2, umap.metric = "cosine", umap.min_dist = 0.1, 
       umap.n_neighbors = 15L, umap.fast_sgd = FALSE, umap.nn_method = "annoy", 
       k = 20, leiden_iter = 1, partition_qval = 0.05, weight = FALSE, 
       resolution = 0.001, random_seed = 0L, cores = 1, verbose = T)

I really have no idea what I am doing wrong or how to proceed from here. Does anyone with experience with uwot know where my error is coming from? Really appreciate the help!

Genetics uwot R • 1.1k views
ADD COMMENT

Login before adding your answer.

Traffic: 3189 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6