stuart-lab / signac

R toolkit for the analysis of single-cell chromatin data
https://stuartlab.org/signac/
Other
330 stars 88 forks source link

FeatureMatrix On Merged Object Returning Empty Matrix #1701

Closed westonelison closed 6 months ago

westonelison commented 6 months ago

I ran FeatureMatrix (as below) using a set of peaks with the format chromosome:start-end on a matrix that is made from 8 multiome samples merged together. The results matrix was empty, which surprised me as I can make the matrix with this peak set and format for any one of the samples on it's own.

peaks_mat <- FeatureMatrix( fragments=Fragments(npod_multi$Windows), features=peaks, cells = Cells(npod_multi$Windows), process_n = 2000, sep = c(":", "-"), verbose = TRUE )

Diving into the code it seems the error is happening in this step of FeatureMatrix which fails to inherit the sep argument from above, so it makes it look like my matrix is missing every feature and creates empty values for each feature in the format chromosome-start-end. The code runs when I manually fix the sep argument to match the one used as input into FeatureMatrix, so is seems like adding features = GRangesToString(grange = features, sep = sep) or something would resolve this bug. For now I am reformatting my features to match the sep specified in AddMissing.

mat.list <- lapply( X = mat.list, FUN = AddMissing, cells = all.cells, features = GRangesToString(grange = features, sep = c("-", "-")) )

` sessionInfo()

R version 4.3.1 (2023-06-16) Platform: x86_64-conda-linux-gnu (64-bit) Running under: Ubuntu 20.04.2 LTS

Matrix products: default BLAS/LAPACK: /home/welison/.conda/envs/mamba/envs/seurat5.0_decontx/lib/libopenblasp-r0.3.21.so; LAPACK version 3.9.0

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

time zone: America/Los_Angeles tzcode source: system (glibc)

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

other attached packages: [1] stringr_1.5.1 BPCells_0.1.0
[3] gridExtra_2.3 data.table_1.15.2
[5] harmony_1.2.0 Rcpp_1.0.12
[7] Matrix_1.6-5 ggplot2_3.4.4
[9] dplyr_1.1.4 EnsDb.Hsapiens.v86_2.99.0 [11] ensembldb_2.26.0 AnnotationFilter_1.26.0
[13] GenomicFeatures_1.54.1 AnnotationDbi_1.64.1
[15] Biobase_2.62.0 GenomicRanges_1.54.1
[17] GenomeInfoDb_1.38.7 IRanges_2.36.0
[19] S4Vectors_0.40.2 BiocGenerics_0.48.1
[21] Signac_1.12.0 Seurat_5.0.1
[23] SeuratObject_5.0.1 sp_2.1-3
[25] hdf5r_1.3.10 reticulate_1.35.0

loaded via a namespace (and not attached): [1] RcppAnnoy_0.0.22 splines_4.3.1
[3] later_1.3.2 BiocIO_1.12.0
[5] pbdZMQ_0.3-11 bitops_1.0-7
[7] filelock_1.0.3 tibble_3.2.1
[9] polyclip_1.10-6 XML_3.99-0.16.1
[11] fastDummies_1.7.3 lifecycle_1.0.4
[13] globals_0.16.3 lattice_0.22-5
[15] MASS_7.3-60.0.1 magrittr_2.0.3
[17] plotly_4.10.3 yaml_2.3.8
[19] httpuv_1.6.14 sctransform_0.4.1
[21] spam_2.10-0 spatstat.sparse_3.0-3
[23] cowplot_1.1.1 pbapply_1.7-2
[25] DBI_1.2.2 RColorBrewer_1.1-3
[27] abind_1.4-5 zlibbioc_1.48.0
[29] Rtsne_0.17 purrr_1.0.2
[31] RCurl_1.98-1.14 rappdirs_0.3.3
[33] GenomeInfoDbData_1.2.11 ggrepel_0.9.4
[35] irlba_2.3.5.1 listenv_0.9.1
[37] spatstat.utils_3.0-4 goftest_1.2-3
[39] RSpectra_0.16-1 spatstat.random_3.2-2
[41] fitdistrplus_1.1-11 parallelly_1.37.1
[43] DelayedArray_0.28.0 leiden_0.4.3.1
[45] codetools_0.2-19 RcppRoll_0.3.0
[47] xml2_1.3.6 tidyselect_1.2.0
[49] matrixStats_1.2.0 BiocFileCache_2.10.1
[51] base64enc_0.1-3 spatstat.explore_3.2-5
[53] GenomicAlignments_1.38.0 jsonlite_1.8.8
[55] ellipsis_0.3.2 progressr_0.14.0
[57] ggridges_0.5.4 survival_3.5-7
[59] tools_4.3.1 progress_1.2.3
[61] ica_1.0-3 glue_1.7.0
[63] SparseArray_1.2.2 MatrixGenerics_1.14.0
[65] IRdisplay_1.1 withr_3.0.0
[67] fastmap_1.1.1 fansi_1.0.6
[69] digest_0.6.35 R6_2.5.1
[71] mime_0.12 colorspace_2.1-0
[73] scattermore_1.2 tensor_1.5
[75] spatstat.data_3.0-4 biomaRt_2.58.2
[77] RSQLite_2.3.5 utf8_1.2.4
[79] tidyr_1.3.0 generics_0.1.3
[81] rtracklayer_1.62.0 S4Arrays_1.2.1
[83] prettyunits_1.2.0 httr_1.4.7
[85] htmlwidgets_1.6.4 uwot_0.1.16
[87] pkgconfig_2.0.3 gtable_0.3.4
[89] blob_1.2.4 lmtest_0.9-40
[91] XVector_0.42.0 htmltools_0.5.7
[93] dotCall64_1.1-1 ProtGenerics_1.34.0
[95] scales_1.3.0 png_0.1-8
[97] rjson_0.2.21 reshape2_1.4.4
[99] uuid_1.2-0 nlme_3.1-164
[101] curl_5.2.1 repr_1.1.6
[103] zoo_1.8-12 cachem_1.0.8
[105] KernSmooth_2.23-22 parallel_4.3.1
[107] miniUI_0.1.1.1 restfulr_0.0.15
[109] pillar_1.9.0 grid_4.3.1
[111] vctrs_0.6.5 RANN_2.6.1
[113] promises_1.2.1 dbplyr_2.4.0
[115] xtable_1.8-4 cluster_2.1.6
[117] evaluate_0.23 cli_3.6.2
[119] compiler_4.3.1 Rsamtools_2.18.0
[121] rlang_1.1.3 crayon_1.5.2
[123] future.apply_1.11.0 plyr_1.8.9
[125] stringi_1.8.3 viridisLite_0.4.2
[127] deldir_2.0-4 BiocParallel_1.36.0
[129] munsell_0.5.0 Biostrings_2.70.2
[131] lazyeval_0.2.2 spatstat.geom_3.2-7
[133] IRkernel_1.3.2 RcppHNSW_0.6.0
[135] hms_1.1.3 patchwork_1.1.3
[137] bit64_4.0.5 future_1.33.1
[139] KEGGREST_1.42.0 shiny_1.8.0
[141] SummarizedExperiment_1.32.0 ROCR_1.0-11
[143] igraph_1.6.0 memoise_2.0.1
[145] fastmatch_1.1-4 bit_4.0.5 `

timoast commented 6 months ago

Hi @westonelison, thanks for reporting. This should now be fixed on the develop branch, please install from there and see if you still have this problem