JGuan-lab / scIAE

scIAE: an integrative autoencoder-based ensemble classification framework for single-cell RNA-seq data
3 stars 4 forks source link

run scIAE: Error in checkForRemoteErrors(val) : 5 nodes produced errors; first error: Not compatible with STRSXP: [type=NULL]. #9

Closed zclecle2 closed 1 year ago

zclecle2 commented 1 year ago

Dear team, When I tried to use the scIAE to run the data you provided(pancreas_smartseq_data.csv, pancreas_smartseq_label.csv, pancreas_celseq_data.csv, pancreas_celseq_label.csv), I met the following problem. May you help to check this? Thank you!

`

Run scIAE

scIAE_output <- scIAE (train_data, train_info, test_data) [1] "Random projection is done!" Error in checkForRemoteErrors(val) : 5 nodes produced errors; first error: Not compatible with STRSXP: [type=NULL].

  1. stop(count, " nodes produced errors; first error: ", firstmsg, domain = NA)
  2. checkForRemoteErrors(val)
  3. staticClusterApply(cl, fun, length(x), argfun)
  4. clusterApply(cl = cl, x = splitList(X, nchunks), fun = lapply, FUN = fun, ...)
  5. do.call(c, clusterApply(cl = cl, x = splitList(X, nchunks), fun = lapply, FUN = fun, ...), quote = TRUE)
  6. parallel::parLapply(cl, X, DR)
  7. scIAE(train_data, train_info, test_data) ` image

The following is the R I used.

sessionInfo() R version 4.3.1 (2023-06-16 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19045)

Matrix products: default

attached base packages: [1] parallel stats graphics grDevices utils datasets methods base

other attached packages: [1] rBayesianOptimization_1.2.0 rpart_4.1.19 kknn_1.3.1 e1071_1.7-13 caret_6.0-94
[6] lattice_0.21-8 ggplot2_3.4.4 tensorflow_2.14.0.9000 keras_2.13.0

loaded via a namespace (and not attached): [1] gtable_0.3.4 recipes_1.0.8 remotes_2.4.2.1 vctrs_0.6.4 tools_4.3.1 tfruns_1.5.1 generics_0.1.3
[8] stats4_4.3.1 proxy_0.4-27 tibble_3.2.1 fansi_1.0.5 ModelMetrics_1.2.2.2 pkgconfig_2.0.3 Matrix_1.6-3
[15] data.table_1.14.8 lifecycle_1.0.4 compiler_4.3.1 stringr_1.5.1 munsell_0.5.0 codetools_0.2-19 class_7.3-22
[22] prodlim_2023.08.28 pillar_1.9.0 whisker_0.4.1 MASS_7.3-60 gower_1.0.1 iterators_1.0.14 foreach_1.5.2
[29] nlme_3.1-162 parallelly_1.36.0 lava_1.7.3 tidyselect_1.2.0 digest_0.6.33 stringi_1.7.12 future_1.33.0
[36] dplyr_1.1.4 reshape2_1.4.4 purrr_1.0.2 listenv_0.9.0 splines_4.3.1 grid_4.3.1 colorspace_2.1-0
[43] cli_3.6.1 magrittr_2.0.3 base64enc_0.1-3 survival_3.5-5 utf8_1.2.4 future.apply_1.11.0 withr_2.5.2
[50] scales_1.2.1 lubridate_1.9.3 timechange_0.2.0 globals_0.16.2 igraph_1.5.1 nnet_7.3-19 timeDate_4022.108
[57] reticulate_1.34.0 png_0.1-8 hardhat_1.3.0 rlang_1.1.1 Rcpp_1.0.11 zeallot_0.1.0 glue_1.6.2
[64] pROC_1.18.5 ipred_0.9-14 rstudioapi_0.15.0 jsonlite_1.8.7 R6_2.5.1 plyr_1.8.9

qyyin0516 commented 1 year ago

Thanks for reaching out. You may try the below codes to load the datasets.

train_data <- as.matrix(read.csv("pancreas_smartseq_data.csv", row.names = 1)) #gene expression matrix of training set (matrix or data.frame, not null) train_info <- read.csv("pancreas_smartseq_label.csv", row.names = 1)[, 1] #label of training set (character or integer, not null) test_data <- as.matrix(read.csv("pancreas_celseq_data.csv", row.names = 1)) #gene expression matrix of testing set (matrix or data.frame, not null) test_info <- read.csv("pancreas_celseq_label.csv", row.names = 1)[, 1]

If the error still appears, you can use a lower version of R, keras, and tensorflow, e.g., R 4.0.2, keras 2.4.3, and tensorflow 2.3.0. Using these settings, the codes can work on my side. The error "Not compatible with STRSXP: [type=NULL]" seems to be related to the package "dplyr" according to stackoverflow (https://stackoverflow.com/questions/21391113/all-equal-on-object-with-null-names-causes-error-not-compatible-with-strsxp). When R upgrades, some functions related to this package may change, which leads to the error you encountered.

Thanks, Qingyang

zclecle2 commented 1 year ago

Thank you a lot! It worker now!

zclecle2 commented 1 year ago

May I ask another question here, what kind of data should I use as train_data/test_data in terms of raw counts or log normalized data(such as counts or data layer from seurat object)? Will it influence the downstream analysis in terms of accuracy of prediction? Thanks!

Qingyang Yin @.***> 于2023年11月28日周二 14:32写道:

Thanks for reaching out. You may try the below codes to load the datasets.

train_data <- as.matrix(read.csv("pancreas_smartseq_data.csv", row.names = 1)) #gene expression matrix of training set (matrix or data.frame, not null) train_info <- read.csv("pancreas_smartseq_label.csv", row.names = 1)[, 1]

label of training set (character or integer, not null)

test_data <- as.matrix(read.csv("pancreas_celseq_data.csv", row.names = 1)) #gene expression matrix of testing set (matrix or data.frame, not null) test_info <- read.csv("pancreas_celseq_label.csv", row.names = 1)[, 1]

If the error still appears, you can use a lower version of R, keras, and tensorflow, e.g., R 4.0.2, keras 2.4.3, and tensorflow 2.3.0. Using these settings, the codes can work on my side. The error "Not compatible with STRSXP: [type=NULL]" seems to be related to the package "dplyr" according to stackoverflow ( https://stackoverflow.com/questions/21391113/all-equal-on-object-with-null-names-causes-error-not-compatible-with-strsxp). When R upgrades, some functions related to this package may change, which leads to the error you encountered.

Thanks, Qingyang

— Reply to this email directly, view it on GitHub https://github.com/JGuan-lab/scIAE/issues/9#issuecomment-1829199486, or unsubscribe https://github.com/notifications/unsubscribe-auth/AW2QC3VFKWHEBNJURQ5LWATYGWARPAVCNFSM6AAAAAA75ESOJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRZGE4TSNBYGY . You are receiving this because you authored the thread.Message ID: @.***>

qyyin0516 commented 1 year ago

It's better to use normalized data.