Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plotClusters: Error in xtfrm.data.frame(x) : cannot xtfrm data frames #17

Open
Isabellvse opened this issue Aug 23, 2023 · 1 comment
Open
Assignees

Comments

@Isabellvse
Copy link

Hello :-),

I am trying to use your function "plotClusters".
However I am getting the error: "Error in xtfrm.data.frame(x) : cannot xtfrm data frames" when I try to run it.
I have used DeSeq2 to analyze my data, and followed the guides to generate the data and data metrics from your website.

Data: https://lindsayrutter.github.io/bigPint/articles/data.html
Data metrics: https://lindsayrutter.github.io/bigPint/articles/dataMetrics.html#example-three-groups-deseq2-

Here is the code I am running when I get the error:

ret <-
plotClusters(
data = data,
dataMetrics = data_metrics,
nC = 4,
colList = colList,
clusterAllData = FALSE,
threshVal = 0.001,
threshVar = "FDR",
saveFile = FALSE
)

Here are is the "data" variable:

str(data)
'data.frame': 38825 obs. of 8 variables:
$ ID : chr "Gm26206" "Xkr4" "Gm18956" "Gm37180" ...
$ S1.1 : num 0 4149.6 3.9 45.7 32.9 ...
$ S1.2 : num 2.76 4540.2 3.45 54.53 46.24 ...
$ S1.3 : num 1.72 3801.41 1.72 44.64 24.04 ...
$ S2.1: num 0 2942.9 0 37.1 27.8 ...
$ S2.2: num 0 3634.89 1.15 44.44 32.32 ...
$ S3.1: num 1.28 4413.88 2.56 44.74 37.07 ...
$ S3.2: num 0 4795.97 1.03 40.2 27.83 ...

And the data_metrics variable:

str(data_metrics)
List of 3
$ S1_S2 :'data.frame': 38825 obs. of 7 variables:
..$ ID : chr [1:38825] "Gm26206" "Xkr4" "Gm18956" "Gm37180" ...
..$ baseMean: num [1:38825] 0.822 4039.839 1.973 44.473 32.597 ...
..$ logFC : num [1:38825] -2.95 -0.339 -2.013 -0.231 -0.206 ...
..$ lfcSE : num [1:38825] 3.039 0.194 1.864 0.402 0.48 ...
..$ stat : num [1:38825] -0.971 -1.749 -1.08 -0.574 -0.43 ...
..$ Pvalue : num [1:38825] 0.3316 0.0803 0.2801 0.5662 0.667 ...
..$ FDR : num [1:38825] NA 0.2 NA 0.735 0.805 ...
$ S1_S3 :'data.frame': 38825 obs. of 7 variables:
..$ ID : chr [1:38825] "Gm26206" "Xkr4" "Gm18956" "Gm37180" ...
..$ baseMean: num [1:38825] 0.822 4039.839 1.973 44.473 32.597 ...
..$ logFC : num [1:38825] -1.28 0.145 -0.823 -0.194 -0.118 ...
..$ lfcSE : num [1:38825] 3.012 0.194 1.698 0.402 0.478 ...
..$ stat : num [1:38825] -0.425 0.748 -0.485 -0.482 -0.247 ...
..$ Pvalue : num [1:38825] 0.671 0.455 0.628 0.629 0.805 ...
..$ FDR : num [1:38825] NA 0.641 NA 0.779 0.893 ...
$ S2_S3:'data.frame': 38825 obs. of 7 variables:
..$ ID : chr [1:38825] "Gm26206" "Xkr4" "Gm18956" "Gm37180" ...
..$ baseMean: num [1:38825] 0.822 4039.839 1.973 44.473 32.597 ...
..$ logFC : num [1:38825] 1.6705 0.4843 1.19 0.0366 0.088 ...
..$ lfcSE : num [1:38825] 3.471 0.213 2.084 0.448 0.532 ...
..$ stat : num [1:38825] 0.4813 2.2785 0.5709 0.0816 0.1654 ...
..$ Pvalue : num [1:38825] 0.6303 0.0227 0.568 0.935 0.8686 ...
..$ FDR : num [1:38825] NA 0.165 NA 0.98 0.958 ...

Session info:

sessionInfo()
R version 4.3.0 (2023-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

Random number generation:
RNG: L'Ecuyer-CMRG
Normal: Inversion
Sample: Rejection

locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: Europe/Berlin tzcode source: system (glibc) attached base packages:
[1] parallel stats4 grid stats graphics grDevices utils datasets methods base

other attached packages:
[1] bigPint_1.15.0 Rgraphviz_2.44.0 graph_1.78.0 SparseM_1.81
[5] BiocManager_1.30.21.1 edgeR_3.42.4 limma_3.56.2 biomaRt_2.56.1
[9] eulerr_7.0.0 org.Mm.eg.db_3.17.0 clusterProfiler_4.8.2 Augur_1.0.3
[13] DESeq2_1.40.2 clustree_0.5.0 ggraph_2.1.0 rliger_1.0.0
[17] cowplot_1.1.1 JOINTLY_1.0 DoubletFinder_2.0.3 valiDrops_0.1.0
[21] Signac_1.10.0 EnsDb.Mmusculus.v79_2.99.0 ensembldb_2.24.0 AnnotationFilter_1.24.0
[25] GenomicFeatures_1.52.1 AnnotationDbi_1.62.2 BSgenome.Mmusculus.UCSC.mm10_1.4.3 BSgenome_1.68.0 [29] rtracklayer_1.60.0 Biostrings_2.68.1 XVector_0.40.0 ArchRtoSignac_1.0.3
[33] rhdf5_2.44.0 SummarizedExperiment_1.30.2 Biobase_2.60.0 MatrixGenerics_1.13.1
[37] Rcpp_1.0.11 Matrix_1.6-0 GenomicRanges_1.52.0 GenomeInfoDb_1.36.1
[41] IRanges_2.34.1 S4Vectors_0.38.1 BiocGenerics_0.46.0 matrixStats_1.0.0
[45] data.table_1.14.8 plyr_1.8.8 magrittr_2.0.3 gtable_0.3.3
[49] gtools_3.9.4 gridExtra_2.3 ArchR_1.0.2 SeuratObject_4.1.3
[53] Seurat_4.3.0.1 patchwork_1.1.2 lubridate_1.9.2 forcats_1.0.0
[57] stringr_1.5.0 dplyr_1.1.2 purrr_1.0.2 readr_2.1.4
[61] tidyr_1.3.0 tibble_3.2.1 ggplot2_3.4.3 tidyverse_2.0.0

loaded via a namespace (and not attached):
[1] igraph_1.5.0.1 Formula_1.2-5 ica_1.0-3 plotly_4.10.2 maps_3.4.1 zlibbioc_1.46.0 [7] tidyselect_1.2.0 SharedObject_1.11.0 bit_4.0.5 doParallel_1.0.17 clue_0.3-64 lattice_0.21-8 [13] rjson_0.2.21 blob_1.2.4 S4Arrays_1.0.5 dichromat_2.0-0.1 png_0.1-8 cli_3.6.1 [19] ggplotify_0.1.2 ProtGenerics_1.32.0 goftest_1.2-3 BiocIO_1.10.0 pbmcapply_1.5.1 kernlab_0.9-32
[25] bluster_1.10.0 BiocNeighbors_1.18.0 uwot_0.1.16 shadowtext_0.1.2 curl_5.0.1 evaluate_0.21 [31] mime_0.12 tidytree_0.4.5 leiden_0.4.3 ComplexHeatmap_2.16.0 stringi_1.7.12 backports_1.4.1
[37] pROC_1.18.4 XML_3.99-0.14 httpuv_1.6.11 topGO_2.52.0 rappdirs_0.3.3 splines_4.3.0 [43] RcppRoll_0.3.0 mclust_6.0.0 prodlim_2023.03.31 pcaPP_2.0-3 sctransform_0.3.5 logging_0.10-108
[49] DBI_1.1.3 withr_2.5.0 class_7.3-21 rprojroot_2.0.3 enrichplot_1.20.0 lmtest_0.9-40 [55] tidygraph_1.2.3 htmlwidgets_1.6.2 SingleCellExperiment_1.22.0 segmented_1.6-4 ggrepel_0.9.3 labeling_0.4.2
[61] DEoptimR_1.1-0 shinycssloaders_1.0.0 mixtools_2.0.0 reticulate_1.30 hexbin_1.28.3 zoo_1.8-12 [67] GGally_2.1.2 knitr_1.43 timechange_0.2.0 foreach_1.5.2 fansi_1.0.4 timeDate_4022.108 [73] ggtree_3.8.2 R.oo_1.25.0 psych_2.3.6 irlba_2.3.5.1 tester_0.1.7 gridGraphics_0.5-1 [79] ellipsis_0.3.2 lazyeval_0.2.2 yaml_2.3.7 survival_3.5-5 scattermore_1.2 crayon_1.5.2 [85] RcppAnnoy_0.0.21 RColorBrewer_1.1-3 progressr_0.14.0 tweenr_2.0.2 mapproj_1.2.11 later_1.3.1
[91] base64enc_0.1-3 GlobalOptions_0.1.2 ggridges_0.5.4 codetools_0.2-19 KEGGREST_1.40.0 Rtsne_0.16
[97] shape_1.4.6 Rsamtools_2.16.0 filelock_1.0.2 foreign_0.8-84 pkgconfig_2.0.3 xml2_1.3.4 [103] GenomicAlignments_1.36.0 aplot_0.2.0 spatstat.sparse_3.0-2 ape_5.7-1 viridisLite_0.4.2 xtable_1.8-4
[109] httr_1.4.6 tools_4.3.0 globals_0.16.2 hardhat_1.3.0 checkmate_2.2.0 htmlTable_2.4.1 [115] broom_1.0.4 nlme_3.1-162 HDO.db_0.99.1 dbplyr_2.3.2 hdf5r_1.3.8 DEGreport_1.36.0
[121] digest_0.6.33 furrr_0.3.1 farver_2.1.1 tzdb_0.4.0 reshape2_1.4.4 yulab.utils_0.0.7 [127] viridis_0.6.4 rpart_4.1.19 glue_1.6.2 cachem_1.0.8 BiocFileCache_2.8.0 polyclip_1.10-4 [133] Hmisc_5.1-0 generics_0.1.3 mvtnorm_1.2-2 rsample_1.1.1 parallelly_1.36.0 ConsensusClusterPlus_1.64.0
[139] mnormt_2.1.1 statmod_1.5.0 here_1.0.1 ScaledMatrix_1.8.1 pbapply_1.7-2 riverplot_0.10
[145] glmnet_4.1-7 gson_0.1.0 dqrng_0.3.0 utf8_1.2.3 gower_1.0.1 graphlayouts_1.0.0 [151] shiny_1.7.4.1 lava_1.7.2.1 GenomeInfoDbData_1.2.10 R.utils_2.12.2 pals_1.7 rhdf5filters_1.12.1
[157] RCurl_1.98-1.12 memoise_2.0.1 rmarkdown_2.23 downloader_0.4 scales_1.2.1 R.methodsS3_1.8.2
[163] reshape_0.8.9 future_1.33.0 RANN_2.6.1 Cairo_1.6-0 spatstat.data_3.0-1 rstudioapi_0.14
[169] cluster_2.1.4 spatstat.utils_3.0-3 hms_1.1.3 fitdistrplus_1.1-11 munsell_0.5.0 colorspace_2.1-0 [175] FNN_1.1.3.2 ggdendro_0.1.23 rlang_1.1.1 scry_1.12.0 DelayedMatrixStats_1.22.1 sparseMatrixStats_1.13.4
[181] shinydashboard_0.7.2 ipred_0.9-14 circlize_0.4.15 ggforce_0.4.1 scuttle_1.10.1 mgcv_1.8-42 [187] xfun_0.39 e1071_1.7-13 recipes_1.0.7 iterators_1.0.14 abind_1.4-5 GOSemSim_2.26.1
[193] treeio_1.24.3 Rhdf5lib_1.22.0 bitops_1.0-7 promises_1.2.0.1 scatterpie_0.2.1 RSQLite_2.3.1 [199] qvalue_2.32.0 inflection_1.3.6 fgsea_1.26.0 DelayedArray_0.26.7 proxy_0.4-27 GO.db_3.17.0 [205] compiler_4.3.0 prettyunits_1.1.1 beachmat_2.16.0 listenv_0.9.0 parsnip_1.1.0 transformGamPoi_1.6.0
[211] BiocSingular_1.16.0 tensor_1.5 MASS_7.3-58.4 progress_1.2.2 BiocParallel_1.34.2 spatstat.random_3.1-5
[217] R6_2.5.1 fastmap_1.1.1 fastmatch_1.1-3 ROCR_1.0-11 rsvd_1.0.5 nnet_7.3-18 [223] KernSmooth_2.23-20 miniUI_0.1.1.1 deldir_1.0-9 htmltools_0.5.5 yardstick_1.2.0 bit64_4.0.5 [229] spatstat.explore_3.2-1 lifecycle_1.0.3 restfulr_0.0.15 vctrs_0.6.3 robustbase_0.99-0 spatstat.geom_3.2-4
[235] DOSE_3.26.1 scran_1.28.2 ggfun_0.1.2 sp_2.0-0 future.apply_1.11.0 pillar_1.9.0 [241] magick_2.7.4 metapod_1.8.0 locfit_1.5-9.8 jsonlite_1.8.7 GetoptLong_1.0.5

@lindsayrutter lindsayrutter self-assigned this Aug 29, 2023
@lindsayrutter
Copy link
Owner

Hello, and sorry for my delay!

I've been trying to replicate the error you are receiving based on your posted output format of data and dataMetrics. For instance, I noticed some of your FDR values were equivalent to NA. However, I am unable to replicate the error.

There are still some things I cannot entirely see, such as your value for colList, and any possibly uncommon characters that may be in your data. For instance, it seems the error you received can occur when a data frame is attempted to be sorted when there are mixed character-numeric variables, missing values, different lengths of data, etc.

Do you have any such unusual characters in your $FDR columns?

If this still does not resolve the issue, I think I can better attempt to troubleshoot the problem if I can replicate the error on my end. This could be done if 1) you could create a minimal reproducible example (here is some advice on how to do that), or 2) you upload your R script and its associated data (or subset of the data) to a repository and I download it and replicate it. That second option would probably only work if your data is not sensitive/private and/or if your data can be randomized somehow while still replicating the error.

Please let me know if you have any progress and if I can help. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants