Hi @snehamitra,
Thank you for developing SCARlink! I am excited to use it on my scMultiome data. I created arrow files from fragment files (cellranger-arc) and an ArchR project, then subsetted that to match the barcodes in my Seurat object for the RNA part. Following your instructions, I added a non-binarized Tile Matrix, checked that getMatrixFromProject() now succeeds and saved the ArchR project again. Unfortunately, I have been facing an error when running the processing step that I do not get when using the pbmc example files (see below).
At first I thought it must be an ArchR issue, but all downstream ArchR functions I tried so far are working fine with my .arrow files. Multiplexing is also not the issue - the error persists even with a single .arrow file/sequencing run. Any idea what might be causing this or what ArchR function could add these jValues?
Please let me know if I should provide additional information and thank you in advance for your time!
Call:
!scarlink_processing --scrna ~/workspace/scrna.object.RDS --scatac ~/ArchRSubset -o ~/sysa_scarlink -nc 3
Relevant output:
[1] "17441 cells in common between scATAC and scRNA objects"
R[write to console]: Error in h(simpleError(msg, call)) :
error in evaluating the argument 'values' in selecting a method for function 'Rle': Object 'TileMatrix/chr1/jValues' does not exist in this HDF5 file.
R[write to console]: In addition:
R[write to console]: There were 26 warnings (use warnings() to see them)
R[write to console]:
Traceback (most recent call last):
File "/opt/conda/bin/scarlink_processing", line 33, in <module>
sys.exit(load_entry_point('scarlink', 'console_scripts', 'scarlink_processing')())
File "/app/SCARlink/scarlink/preprocessing/create_h5_files.py", line 44, in main
rfunc.write_files(archr_out, seurat_out, out_dir, args.window, args.ncores, args.scale)
File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/functions.py", line 208, in __call__
return (super(SignatureTranslatedFunction, self)
File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/functions.py", line 131, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
File "/opt/conda/lib/python3.9/site-packages/rpy2/rinterface_lib/conversion.py", line 45, in _
cdata = function(*args, **kwargs)
File "/opt/conda/lib/python3.9/site-packages/rpy2/rinterface.py", line 817, in __call__
raise embedded.RRuntimeError(_rinterface._geterrmessage())
rpy2.rinterface_lib.embedded.RRuntimeError: Error in h(simpleError(msg, call)) :
error in evaluating the argument 'values' in selecting a method for function 'Rle': Object 'TileMatrix/chr1/jValues' does not exist in this HDF5 file.
TileMatrix in your example .arrow file:
51 /TileMatrix chr6 H5I_GROUP
52 /TileMatrix/chr6 colSums H5I_DATASET FLOAT 9460 x 1
53 /TileMatrix/chr6 i H5I_DATASET INTEGER 9520744 x 1
54 /TileMatrix/chr6 jLengths H5I_DATASET INTEGER 9460 x 1
55 /TileMatrix/chr6 jValues H5I_DATASET INTEGER 9460 x 1
56 /TileMatrix/chr6 rowMeansLog2 H5I_DATASET FLOAT 341612 x 1
57 /TileMatrix/chr6 rowSums H5I_DATASET FLOAT 341612 x 1
58 /TileMatrix/chr6 rowVarsLog2 H5I_DATASET FLOAT 341612 x 1
59 /TileMatrix/chr6 x H5I_DATASET FLOAT 9520744 x 1
TileMatrix in my .arrow files:
537 /TileMatrix chrX H5I_GROUP
538 /TileMatrix/chrX colSums H5I_DATASET FLOAT 5496 x 1
539 /TileMatrix/chrX data H5I_DATASET FLOAT 1542287
540 /TileMatrix/chrX indices H5I_DATASET INTEGER 1542287
541 /TileMatrix/chrX indptr H5I_DATASET INTEGER 5497
542 /TileMatrix/chrX rowMeansLog2 H5I_DATASET FLOAT 312082 x 1
543 /TileMatrix/chrX rowSums H5I_DATASET FLOAT 312082 x 1
544 /TileMatrix/chrX rowVarsLog2 H5I_DATASET FLOAT 312082 x 1
545 /TileMatrix/chrX shape H5I_DATASET INTEGER 2
> sessionInfo()
R version 4.4.0 (2024-04-24)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.4 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so; LAPACK version 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
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
time zone: Etc/UTC
tzcode source: system (glibc)
attached base packages:
[1] parallel grid stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] igraph_2.1.1 scran_1.32.0 scuttle_1.14.0
[4] SingleCellExperiment_1.26.0 presto_1.0.0 harmony_1.2.3
[7] ggridges_0.5.6 Cairo_1.6-2 uwot_0.2.2
[10] nabor_0.5.0 rhdf5_2.48.0 RcppArmadillo_14.0.2-1
[13] Rcpp_1.0.13 sparseMatrixStats_1.16.0 data.table_1.16.2
[16] plyr_1.8.9 magrittr_2.0.3 gtable_0.3.5
[19] gtools_3.9.5 gridExtra_2.3 devtools_2.4.5
[22] usethis_3.0.0 ArchR_1.0.3 pathview_1.44.0
[25] scclusteval_0.0.0.9000 circlize_0.4.16 ComplexHeatmap_2.20.0
[28] RcppML_0.3.7 clusterProfiler_4.12.6 singleCellHaystack_1.0.2
[31] RColorBrewer_1.1-3 Gviz_1.48.0 edgeR_4.2.2
[34] limma_3.60.6 tibble_3.2.1 tidyr_1.3.1
[37] celldex_1.14.0 ggtree_3.12.0 treeio_1.28.0
[40] infercnv_1.20.0 clustree_0.5.1 ggraph_2.2.1
[43] SingleR_2.6.0 stringr_1.5.1 RSQLite_2.3.7
[46] org.Hs.eg.db_3.19.1 GO.db_3.19.1 biomaRt_2.60.1
[49] Polychrome_1.5.1 patchwork_1.3.0 scales_1.3.0
[52] SCutils_1.124 MASS_7.3-60.2 hdf5r_1.3.11
[55] dplyr_1.1.4 Matrix_1.7-0 testthat_3.2.1.1
[58] checkmate_2.3.2 ggplot2_3.5.1 future_1.34.0
[61] BSgenome.Hsapiens.UCSC.hg38_1.4.5 BSgenome_1.72.0 rtracklayer_1.64.0
[64] BiocIO_1.14.0 Biostrings_2.72.1 XVector_0.44.0
[67] EnsDb.Hsapiens.v86_2.99.0 ensembldb_2.28.1 AnnotationFilter_1.28.0
[70] GenomicFeatures_1.56.0 AnnotationDbi_1.66.0 Seurat_5.1.0
[73] SeuratObject_5.0.2 sp_2.1-4 TFBSTools_1.42.0
[76] JASPAR2024_0.99.6 BiocFileCache_2.12.0 dbplyr_2.5.0
[79] Signac_1.14.0 readr_2.1.5 SummarizedExperiment_1.34.0
[82] Biobase_2.64.0 GenomicRanges_1.56.2 GenomeInfoDb_1.40.1
[85] IRanges_2.38.1 S4Vectors_0.42.1 BiocGenerics_0.50.0
[88] MatrixGenerics_1.16.0 matrixStats_1.4.1
loaded via a namespace (and not attached):
[1] graph_1.82.0 ica_1.0-3 plotly_4.10.4 Formula_1.2-5
[5] zlibbioc_1.50.0 tidyselect_1.2.1 bit_4.5.0 doParallel_1.0.17
[9] clue_0.3-66 lattice_0.22-6 rjson_0.2.23 urlchecker_1.0.1
[13] blob_1.2.4 S4Arrays_1.4.1 dichromat_2.0-0.1 seqLogo_1.70.0
[17] png_0.1-8 cli_3.6.2 ggplotify_0.1.2 ProtGenerics_1.36.0
[21] goftest_1.2-3 bluster_1.14.0 purrr_1.0.2 BiocNeighbors_1.22.0
[25] shadowtext_0.1.4 curl_5.2.3 evaluate_1.0.1 mime_0.12
[29] tidytree_0.4.6 leiden_0.4.3.1 coin_1.4-3 stringi_1.8.4
[33] backports_1.5.0 rjags_4-16 parallelDist_0.2.6 XML_3.99-0.17
[37] httpuv_1.6.15 rappdirs_0.3.3 splines_4.4.0 RcppRoll_0.3.1
[41] jpeg_0.1-10 sctransform_0.4.1 sessioninfo_1.2.2 DBI_1.2.3
[45] HDF5Array_1.32.1 withr_3.0.1 enrichplot_1.24.4 lmtest_0.9-40
[49] brio_1.1.5 tidygraph_1.3.1 formatR_1.14 BiocManager_1.30.25
[53] htmlwidgets_1.6.4 fs_1.6.4 ggrepel_0.9.6 SparseArray_1.4.8
[57] annotate_1.82.0 reticulate_1.39.0 VariantAnnotation_1.50.0 zoo_1.8-12
[61] knitr_1.48 UCSC.utils_1.0.0 TFMPvalue_0.0.9 foreach_1.5.2
[65] fansi_1.0.6 caTools_1.18.3 pwalign_1.0.0 R.oo_1.26.0
[69] poweRlaw_0.80.0 RSpectra_0.16-2 irlba_2.3.5.1 ellipsis_0.3.2
[73] alabaster.schemas_1.4.0 fastDummies_1.7.4 gridGraphics_0.5-1 lazyeval_0.2.2
[77] yaml_2.3.10 phyclust_0.1-34 survival_3.5-8 scattermore_1.2
[81] BiocVersion_3.19.1 crayon_1.5.3 RcppAnnoy_0.0.22 Rgraphviz_2.48.0
[85] progressr_0.14.0 tweenr_2.0.3 later_1.3.2 profvis_0.4.0
[89] GlobalOptions_0.1.2 codetools_0.2-20 base64enc_0.1-3 KEGGREST_1.44.1
[93] shape_1.4.6.1 Rtsne_0.17 Rsamtools_2.20.0 filelock_1.0.3
[97] foreign_0.8-86 pkgconfig_2.0.3 KEGGgraph_1.64.0 xml2_1.3.6
[101] spatstat.univar_3.0-1 GenomicAlignments_1.40.0 aplot_0.2.3 scatterplot3d_0.3-44
[105] spatstat.sparse_3.1-0 alabaster.base_1.4.2 ape_5.8 viridisLite_0.4.2
[109] biovizBase_1.52.0 xtable_1.8-4 interp_1.1-6 fastcluster_1.2.6
[113] httr_1.4.7 tools_4.4.0 globals_0.16.3 pkgbuild_1.4.5
[117] htmlTable_2.4.3 nlme_3.1-164 futile.logger_1.4.3 lambda.r_1.2.4
[121] ExperimentHub_2.12.0 digest_0.6.37 farver_2.1.2 tzdb_0.4.0
[125] reshape2_1.4.4 yulab.utils_0.1.7 viridis_0.6.5 DirichletMultinomial_1.46.0
[129] rpart_4.1.23 glue_1.7.0 cachem_1.1.0 polyclip_1.10-7
[133] Hmisc_5.1-3 generics_0.1.3 mvtnorm_1.3-1 parallelly_1.38.0
[137] pkgload_1.4.0 statmod_1.5.0 RcppHNSW_0.6.0 ScaledMatrix_1.12.0
[141] pbapply_1.7-2 httr2_1.0.5 spam_2.11-0 gson_0.1.0
[145] dqrng_0.4.1 utf8_1.2.4 graphlayouts_1.2.0 alabaster.se_1.4.1
[149] shiny_1.9.1 GenomeInfoDbData_1.2.12 R.utils_2.12.3 rhdf5filters_1.16.0
[153] RCurl_1.98-1.16 memoise_2.0.1 rmarkdown_2.28 R.methodsS3_1.8.2
[157] gypsum_1.0.1 RANN_2.6.2 spatstat.data_3.1-2 rstudioapi_0.17.0
[161] cluster_2.1.6 spatstat.utils_3.1-0 hms_1.1.3 fitdistrplus_1.2-1
[165] munsell_0.5.1 cowplot_1.1.3 colorspace_2.1-1 rlang_1.1.3
[169] DelayedMatrixStats_1.26.0 dotCall64_1.2 ggforce_0.4.2 xfun_0.48
[173] alabaster.matrix_1.4.2 coda_0.19-4.1 TH.data_1.1-2 CNEr_1.40.0
[177] remotes_2.5.0 iterators_1.0.14 modeltools_0.2-23 abind_1.4-8
[181] GOSemSim_2.30.2 libcoin_1.0-10 Rhdf5lib_1.26.0 futile.options_1.0.1
[185] bitops_1.0-9 promises_1.3.0 scatterpie_0.2.4 qvalue_2.36.0
[189] sandwich_3.1-1 fgsea_1.30.0 DelayedArray_0.30.1 compiler_4.4.0
[193] alabaster.ranges_1.4.2 prettyunits_1.2.0 beachmat_2.20.0 listenv_0.9.1
[197] AnnotationHub_3.12.0 BiocSingular_1.20.0 tensor_1.5 progress_1.2.3
[201] BiocParallel_1.38.0 spatstat.random_3.3-2 R6_2.5.1 fastmap_1.2.0
[205] multcomp_1.4-26 fastmatch_1.1-4 ROCR_1.0-11 rsvd_1.0.5
[209] nnet_7.3-19 KernSmooth_2.23-22 latticeExtra_0.6-30 miniUI_0.1.1.1
[213] deldir_2.0-4 htmltools_0.5.8.1 RcppParallel_5.1.9 bit64_4.5.2
[217] spatstat.explore_3.3-2 lifecycle_1.0.4 restfulr_0.0.15 vctrs_0.6.5
[221] spatstat.geom_3.3-3 DOSE_3.30.5 ggfun_0.1.7 future.apply_1.11.2
[225] pracma_2.4.4 pillar_1.9.0 gplots_3.2.0 metapod_1.12.0
[229] locfit_1.5-9.10 jsonlite_1.8.9 argparse_2.2.3 GetoptLong_1.0.5
Hi @snehamitra,
Thank you for developing SCARlink! I am excited to use it on my scMultiome data. I created arrow files from fragment files (cellranger-arc) and an ArchR project, then subsetted that to match the barcodes in my Seurat object for the RNA part. Following your instructions, I added a non-binarized Tile Matrix, checked that getMatrixFromProject() now succeeds and saved the ArchR project again. Unfortunately, I have been facing an error when running the processing step that I do not get when using the pbmc example files (see below).
At first I thought it must be an ArchR issue, but all downstream ArchR functions I tried so far are working fine with my .arrow files. Multiplexing is also not the issue - the error persists even with a single .arrow file/sequencing run. Any idea what might be causing this or what ArchR function could add these jValues?
Please let me know if I should provide additional information and thank you in advance for your time!
Call:
!scarlink_processing --scrna ~/workspace/scrna.object.RDS --scatac ~/ArchRSubset -o ~/sysa_scarlink -nc 3Relevant output:
TileMatrix in your example .arrow file:
TileMatrix in my .arrow files: