Giter VIP home page Giter VIP logo

cellhashr's People

Contributors

bbimber avatar gboggy avatar gwmcelfresh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cellhashr's Issues

If path finish with "/", ProcessCountMatrix doesn't work

Hi there,
thanks for developing cellhashR, seems very interesting.
I used CITEseq-count to generate the umi_count folder, but I realized when you put a "/" in the end of the path, ProcessCountMatrix doesn't work:

barcodeData <- ProcessCountMatrix(rawCountData = "C:/FILES/10X/10X first complete run/2189_NS215_0118_Mariola_20210804/HTO_map/DS-1/umi_count/", minCountPerCell = 5)

Error:

Error in .LoadCountMatrix(rawCountData = rawCountData, barcodeBlacklist = barcodeBlacklist,  : 
  File does not exist: C:/FILES/10X/10X first complete run/2189_NS215_0118_Mariola_20210804/HTO_map/DS-1/umi_count/

But if you remove the "/" it works

barcodeData <- ProcessCountMatrix(rawCountData = "C:/FILES/10X/10X first complete run/2189_NS215_0118_Mariola_20210804/HTO_map/DS-1/umi_count", minCountPerCell = 5)

Other tools such as Seurat recognize the path with or without the final "/", I thought would be helpful to have that.
Thanks

AppendCellHashing: Error in file.exists(barcodeCallFile) : invalid 'file' argument

Hi there,
although the barcodeCallFile "calls" exist

> calls
         cellbarcode bff_cluster multiseq htodemux dropletutils consensuscall consensuscall.global
1   AAACCCAAGCCTATCA        HTO3     HTO3  Doublet   Not Called    Discordant           Discordant
2   AAACCCACAGCGTTGC        HTO5     HTO5 Negative   Not Called          HTO5              Singlet
3   AAACCCAGTAGCGAGT        HTO5     HTO5     HTO5   Not Called          HTO5              Singlet
4   AAACCCATCATTTACC        HTO5  Doublet  Doublet   Not Called    Discordant           Discordant
5   AAACCCATCCGATGTA        HTO5     HTO5     HTO5   Not Called          HTO5              Singlet
6   AAACGAAAGCCATTTG        HTO2     HTO2     HTO2   Not Called          HTO2              Singlet
...
 [ reached 'max' / getOption("max.print") -- omitted 3279 rows ]

I am not able to append the cell hashing to the Seurat object

> AppendCellHashing(seuratObj = RA2, barcodeCallFile = calls, barcodePrefix ="HT")
Error in file.exists(barcodeCallFile) : invalid 'file' argument

Am I doing something wrong?

> sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19043)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252    LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                            LC_TIME=English_United Kingdom.1252    

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

other attached packages:
 [1] cellhashR_1.0.0     clustree_0.4.3      ggraph_2.0.5        stringi_1.5.3       forcats_0.5.1       stringr_1.4.0       dplyr_1.0.6        
 [8] purrr_0.3.4         readr_2.0.0         tidyr_1.1.3         tibble_3.1.2        ggplot2_3.3.5       tidyverse_1.3.1     VennDiagram_1.6.20 
[15] futile.logger_1.4.3 Seurat_3.2.3        Matrix_1.3-4       

loaded via a namespace (and not attached):
  [1] readxl_1.3.1          backports_1.2.1       plyr_1.8.6            igraph_1.2.6          lazyeval_0.2.2        splines_4.0.3        
  [7] listenv_0.8.0         scattermore_0.7       digest_0.6.27         htmltools_0.5.1.1     viridis_0.6.1         fansi_0.5.0          
 [13] magrittr_2.0.1        tensor_1.5            cluster_2.1.0         ROCR_1.0-11           tzdb_0.1.2            limma_3.44.3         
 [19] graphlayouts_0.7.1    globals_0.14.0        modelr_0.1.8          matrixStats_0.58.0    rmdformats_1.0.2      colorspace_2.0-0     
 [25] rvest_1.0.1           ggrepel_0.9.1         haven_2.4.3           xfun_0.22             crayon_1.4.1          jsonlite_1.7.2       
 [31] spatstat_1.64-1       spatstat.data_2.1-0   survival_3.2-7        zoo_1.8-9             glue_1.4.2            polyclip_1.10-0      
 [37] gtable_0.3.0          leiden_0.3.9          clipr_0.7.1           future.apply_1.8.1    BiocGenerics_0.36.1   abind_1.4-5          
 [43] scales_1.1.1          futile.options_1.0.1  DBI_1.1.1             edgeR_3.30.3          miniUI_0.1.1.1        Rcpp_1.0.6           
 [49] viridisLite_0.4.0     xtable_1.8-4          reticulate_1.20       rsvd_1.0.5            preprocessCore_1.55.2 stats4_4.0.3         
 [55] htmlwidgets_1.5.3     httr_1.4.2            RColorBrewer_1.1-2    ellipsis_0.3.2        ica_1.0-2             pkgconfig_2.0.3      
 [61] farver_2.1.0          uwot_0.1.10           dbplyr_2.1.1          deldir_0.2-10         locfit_1.5-9.4        utf8_1.2.1           
 [67] tidyselect_1.1.1      labeling_0.4.2        rlang_0.4.10          reshape2_1.4.4        later_1.2.0           munsell_0.5.0        
 [73] cellranger_1.1.0      tools_4.0.3           cli_3.0.1             generics_0.1.0        broom_0.7.9           ggridges_0.5.3       
 [79] evaluate_0.14         fastmap_1.1.0         yaml_2.2.1            goftest_1.2-2         fs_1.5.0              knitr_1.33           
 [85] tidygraph_1.2.0       fitdistrplus_1.1-5    RANN_2.6.1            egg_0.4.5             pbapply_1.4-3         future_1.21.0        
 [91] nlme_3.1-149          mime_0.10             formatR_1.11          ggExtra_0.9           xml2_1.3.2            rstudioapi_0.13      
 [97] compiler_4.0.3        plotly_4.9.4.1        png_0.1-7             spatstat.utils_2.2-0  reprex_2.0.1          tweenr_1.0.2         
[103] naturalsort_0.1.3     lattice_0.20-41       vctrs_0.3.8           pillar_1.6.2          lifecycle_1.0.0       lmtest_0.9-38        
[109] RcppAnnoy_0.0.18      data.table_1.14.0     cowplot_1.1.1         irlba_2.3.3           httpuv_1.6.1          patchwork_1.1.1      
[115] R6_2.5.0              bookdown_0.22         promises_1.2.0.1      KernSmooth_2.23-17    gridExtra_2.3         parallelly_1.27.0    
[121] codetools_0.2-16      lambda.r_1.2.4        MASS_7.3-53           assertthat_0.2.1      withr_2.4.2           sctransform_0.3.2    
[127] S4Vectors_0.26.1      mgcv_1.8-33           parallel_4.0.3        hms_1.1.0             rpart_4.1-15          rmarkdown_2.10       
[133] MatrixGenerics_1.2.1  Rtsne_0.15            ggforce_0.3.3         Biobase_2.48.0        shiny_1.6.0           lubridate_1.7.10   

Error running demuxEM - h5py.h5o.open" [29] "KeyError: \"Unable to open object (object 'shape' doesn't exist)

Hi,

I am having trouble running demuxEM in GenerateCellHashingCalls. It looks like it is having trouble reading the .h5 file but I'm not sure why.

cell_hashing_calls <- GenerateCellHashingCalls(
    barcodeMatrix = hashtag_counts, 
    methods = "demuxem",
    demuxem.rawFeatureMatrixH5 = paste0("data/raw_feature_h5_matrices/merged/", 
                                        exp_name, ".h5"))

ERROR:

[1] "The following custom parameters are being applied:"
[1] "rawFeatureMatrixH5: data/raw_feature_h5_matrices/merged/BL1A.h5"
[1] "Starting demuxEM"
 [1] "Traceback (most recent call last):"                                                                                                                                                              
 [2] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/runpy.py\", line 196, in _run_module_as_main"                            
 [3] "    return _run_code(code, main_globals, None,"                                                                                                                                                  
 [4] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/runpy.py\", line 86, in _run_code"                                       
 [5] "    exec(code, run_globals)"                                                                                                                                                                     
 [6] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/demuxEM/__main__.py\", line 13, in <module>"               
 [7] "    main()"                                                                                                                                                                                      
 [8] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/demuxEM/__main__.py\", line 9, in main"                    
 [9] "    command.execute()"                                                                                                                                                                           
[10] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/demuxEM/commands/DemuxEM.py\", line 61, in execute"        
[11] "    run_pipeline("                                                                                                                                                                               
[12] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/demuxEM/pipeline/pipeline.py\", line 13, in run_pipeline"  
[13] "    data = io.read_input(input_rna_file, genome=kwargs[\"genome\"], modality=\"rna\")"                                                                                                           
[14] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/pegasusio/decorators.py\", line 12, in wrapper_timer"      
[15] "    result = func(*args, **kwargs)"                                                                                                                                                              
[16] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/pegasusio/readwrite.py\", line 161, in read_input"         
[17] "    data = load_10x_h5_file(input_file)"                                                                                                                                                         
[18] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/pegasusio/hdf5_utils.py\", line 165, in load_10x_h5_file"  
[19] "    data = load_file(h5_in)"                                                                                                                                                                     
[20] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/pegasusio/hdf5_utils.py\", line 82, in load_10x_h5_file_v3"
[21] "    M, N = h5_in[\"matrix/shape\"][...]"                                                                                                                                                         
[22] "  File \"h5py/_objects.pyx\", line 54, in h5py._objects.with_phil.wrapper"                                                                                                                       
[23] "  File \"h5py/_objects.pyx\", line 55, in h5py._objects.with_phil.wrapper"                                                                                                                       
[24] "  File \"/Users/lucy/Documents/devel/10x/R/.conda_env/lib/python3.10/site-packages/h5py/_hl/group.py\", line 328, in __getitem__"             
[25] "    oid = h5o.open(self.id, self._e(name), lapl=self._lapl)"                                                                                                                                     
[26] "  File \"h5py/_objects.pyx\", line 54, in h5py._objects.with_phil.wrapper"                                                                                                                       
[27] "  File \"h5py/_objects.pyx\", line 55, in h5py._objects.with_phil.wrapper"                                                                                                                       
[28] "  File \"h5py/h5o.pyx\", line 190, in h5py.h5o.open"                                                                                                                                             
[29] "KeyError: \"Unable to open object (object 'shape' doesn't exist)\""                                                                                                                              
attr(,"status")
[1] 1
[1] "Error generating demuxEM calls, aborting"
[1] "Unable to find ZIP: /var/folders/x8/c66b868d1xd6fkn9d3nly3340000gp/T//RtmplyUBhD/file16d3c7d61981a_demux.zarr.zip"
12: names(xx)
11: `[.data.frame`(df, i, )
10: df[i, ]
9: SNR(lognormedcounts)
8: BFFDemux(seuratObj = seuratObj, assay = assay, simple_threshold = simple_threshold, 
       doublet_thresh = doublet_thresh, neg_thresh = neg_thresh, 
       dist_frac = dist_frac, metricsFile = metricsFile)
7: doTryCatch(return(expr), name, parentenv, handler)
6: tryCatchOne(expr, names, parentenv, handlers[[1L]])
5: tryCatchList(expr, classes, parentenv, handlers)
4: tryCatch({
       seuratObj <- Seurat::CreateSeuratObject(barcodeMatrix, assay = assay)
       seuratObj <- BFFDemux(seuratObj = seuratObj, assay = assay, 
           simple_threshold = simple_threshold, doublet_thresh = doublet_thresh, 
           neg_thresh = neg_thresh, dist_frac = dist_frac, metricsFile = metricsFile)
       if (is.null(seuratObj)) {
           print("Error running BFF")
           return(NULL)
       }
       if (as.logical(simple_threshold) == TRUE) {
           SummarizeHashingCalls(seuratObj, label = "bff_raw", columnSuffix = "bff_raw", 
               assay = assay, doTSNE = doTSNE, doHeatmap = F)
           df <- data.frame(cellbarcode = as.factor(colnames(seuratObj)), 
               method = "bff_raw", classification = seuratObj$classification.bff_raw, 
               classification.global = seuratObj$classification.global.bff_raw, 
               stringsAsFactors = FALSE)
           df <- .RestoreUnderscoreToHtoNames(df, rownames(barcodeMatrix))
           return(df)
       }
       else {
    ...
3: (function (barcodeMatrix, assay = "HTO", min_average_reads = 10, 
       verbose = TRUE, simple_threshold = FALSE, doublet_thresh = 0.05, 
       neg_thresh = 0.05, dist_frac = 0.1, metricsFile = NULL, doTSNE = TRUE) 
   {
       if (verbose) {
           print("Starting BFF")
       }
       sel <- rowMeans(barcodeMatrix) > min_average_reads
       barcodeMatrix <- barcodeMatrix[sel, , drop = FALSE]
       if (nrow(barcodeMatrix) == 0) {
           print(paste0("No passing barcodes after filter using min_average_reads: ", 
               min_average_reads))
           return(NULL)
       }
       else if (nrow(barcodeMatrix) == 1) {
           print(paste0("Only one passing barcode after filter using min_average_reads: ", 
               min_average_reads))
           return(NULL)
       }
       if (verbose) {
    ...
2: do.call(GenerateCellHashCallsBFF, fnArgs)
1: GenerateCellHashingCalls(barcodeMatrix = hashtag_counts, methods = methods, 
       htodemux.positive.quantile = 0.99, demuxem.rawFeatureMatrixH5 = paste0("data/raw_feature_h5_matrices/merged/", 
           exp_name, ".h5"))
[1] "Generating consensus calls"
[1] "No algorithms produced calls, aborting"

GenerateCellHashingCells not recognising rawFeatureH5

Hi again
So in trying to run GenerateCellHashingCells, im passing through the h5 file path but keep getting the error

Error in GenerateCellHashingCalls(barcodeMatrix = barcodeData, methods = c("htodemux",  : 
  demuxmix requires the path to the 10x gene expression raw_feature_bc_matrix.h5 file. Please provide this as the argument demuxmix.rawFeatureMatrixH5 = <filepath>

Ive passed in the full path both directly or saved as a variable but still keep getting the same problem. Thoughts?

Changing positive quantile for HTODemux

Hi,

Is there a way to change the positive quantile for the HTODemux function performed within GenerateCellHashingCalls. It looks like it might be hardcoded as 0.95 in the following function?

GenerateCellHashCallsSeurat <- function(barcodeMatrix, positive.quantile = 0.95, methodName = 'htodemux', verbose= TRUE, metricsFile = NULL, doTSNE = TRUE, doHeatmap = TRUE) {
	if (verbose) {
		print('Starting HTODemux')
	}

	seuratObj <- CreateSeuratObject(barcodeMatrix, assay = 'HTO')

	tryCatch({
		seuratObj <- DoHtoDemux(seuratObj, positive.quantile = positive.quantile, verbose = verbose, metricsFile = metricsFile, doTSNE = doTSNE, doHeatmap = doHeatmap)

		df <- data.frame(cellbarcode = as.factor(colnames(seuratObj)), method = methodName, classification = seuratObj$classification.htodemux, classification.global = seuratObj$classification.global.htodemux, stringsAsFactors = FALSE)
		df <- .RestoreUnderscoreToHtoNames(df, rownames(barcodeMatrix))
		return(df)
	}, error = function(e){
		print('Error generating seurat htodemux calls, aborting')
		if (!is.null(e)) {
			print(conditionMessage(e))
			traceback()
		}

		return(NULL)
	})
}

Best wishes,
Lucy

Cran availability

Hi,

First of all, thank you very much for this tool!

I've been working with this tool across various environments, and I'd like to know if you've considered making it available on CRAN or Bioconductor. Doing so would greatly simplify the installation process and enhance accessibility for a wider audience.

Thank you very much for your consideration.

No HTO/GEX overlap in demuxmix

Hi! Thanks so much for the awesome package :)
I am running cellhashR with methods = c("htodemux", "multiseq", "dropletutils", "demuxem", "demuxmix", "bff_raw", "bff_cluster"). All the methods produce output except for demuxmix. The error I am getting is:

[1] "Starting demuxmix"
[1] "Removing cell barcode suffixes from input GEX matrix"
[1] "Error generating demuxmix calls, aborting"
[1] "The cellbarcodes in the HTO and GEX matricies do not overlap. Please check inputs files"
No traceback available
[1] "Generating consensus calls"
[1] "No algorithms produced calls, aborting"

Can you help? Is there a way for me to manually check the overlap between the .h5 file and the HTO matrix?

I noted that I get Warning: Feature names cannot have underscores ('_'), replacing with dashes ('-') for other methods, might my issue be related to that?

Multiseq have error and CallAndGenerateReport

When I run multiseq, this error occurs:
Error generating multiseq calls, aborting occurs.
Bff_cluster and htdodemux works out fine,

CallAndGenerateReport runs successfully, but the html is not produced.

Control memory and core usage?

Hi,

Is there a way to control how many cores and how much memory GenerateCellHashingCalls uses. It is crashing on our linux server due to an out-of-memory error.

Best wishes,
Lucy

do i provide HTO couts from the filterered or raw cellranger outputs

Hello,
This might be an obivous question, i guess your terminology in the description is confusing me. When you mean Raw HTO counts, do you mean non normalised HTO UMI count matrix, or do you mean the raw cellranger HTO count matrix (so all 700K CB). I assume using the filtered cellranger output makes more sense, but just confirming.

Best,
Devika

seurat hto demux fails when i run GenerateHashingCalls with demuxem and htodemux

Hello,
I have succesfully managed to run GenerateHashingCalls() and generated an html report for multiple methods. When i did a run with multiple methods, not including demuxem as a method, seurats HTO demux worked fine and generated results. But when run in combination with demuxem, it generates only negative calls. How do i fix this? as i would like consensus calls with demuxem and hto demux as methods.

Best,
Devika

Seurat version and multiseq error

Hello,
Is there a particular reason for Seurat version specified at <= 4.4.0?
I am also getting an error for multiseq, as I see there have been recent pushes made, is this under active development or should the functions be working?

Thanks.

Error in barcodeData; Incorrect number of dimensions

hi, im trying to run the processCountMatrix function but keep coming up with the following error

10X data contains more than one type and is being returned as a list containing matrices of each type.
Error in barcodeData[which(!(rownames(barcodeData) %in% barcodeBlacklist)),  : 
  incorrect number of dimensions

Ive tried running the following commands, all result in exactly the same error

barcodeData <- ProcessCountMatrix(rawCountData = './', 
                                  minCountPerCell = 5, 
                                  barcodeWhitelist = c('HTO1', 'HTO2', 'HTO3'))

barcodeData <- ProcessCountMatrix(rawCountData = './', 
                                  minCountPerCell = 5, 
                                  barcodeWhitelist = c('HTO1', 'HTO2', 'HTO3'),
                                  barcodeBlacklist = "no_match")

barcodeData <- ProcessCountMatrix(rawCountData = './', 
                                  minCountPerCell = 5, 
                                  barcodeWhitelist = c('HTO1', 'HTO2', 'HTO3'),
                                  barcodeBlacklist = "unmapped")

barcodeData <- ProcessCountMatrix(rawCountData = './', 
                                  minCountPerCell = 5, 
                                  barcodeWhitelist = c('HTO1', 'HTO2', 'HTO3'),
                                  barcodeBlacklist = "total_reads")

barcodeData <- ProcessCountMatrix(rawCountData = './', 
                                  minCountPerCell = 5, 
                                  barcodeWhitelist = c('HTO1', 'HTO2', 'HTO3'),
                                  barcodeBlacklist = NULL)

Any suggestions/ideas as to what im doing wrong?

The current path (./) contains the following files

matrix.mtx.gz
barcodes.tsv.gz
features.tsv.gz

Much appreciated!

Error in GenerateCellHashingCalls(barcodeMatrix = hashtag_counts, methods = methods) : Unknown method: bff_threshold

Hi,

I am trying to follow the benchmarking vignette but am getting an unknown method bff_threshold error with GenerateCellHashingCalls.

hashtag_counts <- as.matrix(GetAssayData(seurat_obj, assay = "HTO", slot = "counts"))
methods <- c("bff_cluster", "bff_threshold", "gmm_demux", "multiseq", "htodemux", "dropletutils")
df <- GenerateCellHashingCalls(barcodeMatrix = hashtag_counts, methods = methods)

[1] "Starting BFF"
[1] "rows dropped for low counts: 1 of 6"
[1] "Running BFF_cluster"
[1] "Doublet threshold: 0.05"
[1] "Neg threshold: 0.05"
[1] "Min distance as fraction of distance between peaks: 0.1"
[1] "Thresholds:"
[1] "HTO13: 33.7056078381879"
[1] "HTO12: 73.7157064313985"
[1] "HTO10: 90.3668786271235"
[1] "HTO9: 115.875740004405"
[1] "HTO7: 188.933809112811"
[1] "Smoothing parameter j = 5"
[1] "Smoothing parameter j = 10"
[1] "Smoothing parameter j = 15"
[1] "Smoothing parameter j = 20"
[1] "Smoothing parameter j = 25"
[1] "Smoothing parameter j = 30"
[1] "Smoothing parameter j = 35"
[1] "QuartzBitmap_Output - unable to open file '/Users/lucy/Documents/2022/devel/10x/R/.Rproj.user/shared/notebooks/B6950FE2-hto_demultiplexing_v2/1/4AC24CAF8B338E39/cwzhkqd5gl65e_t/_rs_chunk_plot_002.png'"
1: GenerateCellHashingCalls(barcodeMatrix = hashtag_counts, methods = methods)

Error in GenerateCellHashingCalls(barcodeMatrix = hashtag_counts, methods = methods) :
Unknown method: bff_threshold
Error in dev.off() :
QuartzBitmap_Output - unable to open file '/Users/lucy/Documents/2022/devel/10x/R/.Rproj.user/shared/notebooks/B6950FE2-hto_demultiplexing_v2/1/4AC24CAF8B338E39/cwzhkqd5gl65e_t/_rs_chunk_plot_002.png'

Best wishes,
Lucy

Crashdown while run

Hello
I am using your package and it works really well until my kernel crashes and shuts down..

well the first command of 'processcountMatrix' works fine.
But the downstream functions of PlotNormalizationQC and other cell calling methods of 'GenerateCellHashingCalls' works until my specific sample gets processed the whole kernel shutsdown

My sample is 7-plexed sample and it is very low quality .. So it doesn't fit the threshold of any method for calling cells. Maybe it is the reason for shutdown?

R version 4.3.1 (2023-06-16)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: CentOS Stream 9

Matrix products: default
BLAS/LAPACK: /opt/conda-users/envs/leethargic/cellhashr-test/lib/libopenblasp-r0.3.23.so; LAPACK version 3.11.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: Asia/Seoul
tzcode source: system (glibc)

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

other attached packages:
[1] dplyr_1.1.2 ggplot2_3.4.3 repr_1.1.6 cellhashR_1.0.3

loaded via a namespace (and not attached):
[1] deldir_1.0-9 pbapply_1.7-2 gridExtra_2.3
[4] rlang_1.1.1 magrittr_2.0.3 RcppAnnoy_0.0.21
[7] spatstat.geom_3.2-4 matrixStats_1.0.0 ggridges_0.5.4
[10] compiler_4.3.1 png_0.1-8 vctrs_0.6.3
[13] reshape2_1.4.4 stringr_1.5.0 pkgconfig_2.0.3
[16] crayon_1.5.2 fastmap_1.1.1 ellipsis_0.3.2
[19] rmdformats_1.0.4 utf8_1.2.3 promises_1.2.1
[22] rmarkdown_2.24 purrr_1.0.2 xfun_0.40
[25] jsonlite_1.8.7 goftest_1.2-3 later_1.3.1
[28] uuid_1.1-1 spatstat.utils_3.0-3 irlba_2.3.5.1
[31] parallel_4.3.1 cluster_2.1.4 R6_2.5.1
[34] ica_1.0-3 spatstat.data_3.0-1 stringi_1.7.12
[37] RColorBrewer_1.1-3 reticulate_1.31 parallelly_1.36.0
[40] lmtest_0.9-40 scattermore_1.2 knitr_1.43
[43] bookdown_0.35 Rcpp_1.0.11 IRkernel_1.3.2
[46] tensor_1.5 future.apply_1.11.0 zoo_1.8-12
[49] base64enc_0.1-3 sctransform_0.3.5 httpuv_1.6.11
[52] Matrix_1.6-1 splines_4.3.1 igraph_1.5.1
[55] tidyselect_1.2.0 abind_1.4-5 spatstat.random_3.1-5
[58] codetools_0.2-19 miniUI_0.1.1.1 spatstat.explore_3.2-1
[61] listenv_0.9.0 lattice_0.21-8 tibble_3.2.1
[64] plyr_1.8.8 withr_2.5.0 shiny_1.7.5
[67] ROCR_1.0-11 evaluate_0.21 Rtsne_0.16
[70] future_1.33.0 survival_3.5-7 polyclip_1.10-4
[73] fitdistrplus_1.1-11 pillar_1.9.0 Seurat_4.3.0.1
[76] KernSmooth_2.23-22 plotly_4.10.2 generics_0.1.3
[79] sp_2.0-0 IRdisplay_1.1 munsell_0.5.0
[82] scales_1.2.1 globals_0.16.2 xtable_1.8-4
[85] glue_1.6.2 lazyeval_0.2.2 tools_4.3.1
[88] data.table_1.14.8 pbdZMQ_0.3-9 RANN_2.6.1
[91] leiden_0.4.3 cowplot_1.1.1 grid_4.3.1
[94] tidyr_1.3.0 colorspace_2.1-0 nlme_3.1-163
[97] patchwork_1.1.3 cli_3.6.1 spatstat.sparse_3.0-2
[100] fansi_1.0.4 viridisLite_0.4.2 uwot_0.1.16
[103] gtable_0.3.4 digest_0.6.33 progressr_0.14.0
[106] ggrepel_0.9.3 htmlwidgets_1.6.2 SeuratObject_4.1.3
[109] htmltools_0.5.6 lifecycle_1.0.3 httr_1.4.7
[112] mime_0.12 MASS_7.3-60
06105ad0-7dfe-4366-bd4f-1447648aee04

Object 'normedres' not found

Hi again

after starting a run of the PlotNormalizationQC(), the following error arises, although the code continues running

 PlotNormalizationQC(barcodeData)
[1] "No valid barcodes, skipping Bimodal quantile normalization"
[1] "object 'normedres' not found"
26: .LoadCountMatrix(rawCountData = rawCountData, barcodeBlacklist = barcodeBlacklist, 
        simplifyBarcodeNames = simplifyBarcodeNames, datatypeName = datatypeName)
25: ProcessCountMatrix(rawCountData = rawCountData, minCountPerCell = minCountPerCell, 
        barcodeWhitelist = barcodeWhitelist, barcodeBlacklist = barcodeBlacklist, 
        cellbarcodeWhitelist = cellbarcodeWhitelist, saveOriginalCellBarcodeFile = saveOriginalCellBarcodeFile, 
        metricsFile = metricsFile)
24: eval(expr, envir, enclos)
23: eval(expr, envir, enclos)
22: eval_with_user_handlers(expr, envir, enclos, user_handlers)
21: withVisible(eval_with_user_handlers(expr, envir, enclos, user_handlers))
20: withCallingHandlers(withVisible(eval_with_user_handlers(expr, 
        envir, enclos, user_handlers)), warning = wHandler, error = eHandler, 
        message = mHandler)
19: handle(ev <- withCallingHandlers(withVisible(eval_with_user_handlers(expr, 
        envir, enclos, user_handlers)), warning = wHandler, error = eHandler, 
        message = mHandler))
18: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval_with_user_handlers(expr, 
        envir, enclos, user_handlers)), warning = wHandler, error = eHandler, 
        message = mHandler)))
17: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, 
        debug = debug, last = i == length(out), use_try = stop_on_error != 
            2L, keep_warning = keep_warning, keep_message = keep_message, 
        output_handler = output_handler, include_timing = include_timing)
16: evaluate::evaluate(...)
15: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, 
        keep_message = if (is.numeric(options$message)) TRUE else options$message, 
        stop_on_error = if (is.numeric(options$error)) options$error else {
            if (options$error && options$include) 
                0L
            else 2L
        }, output_handler = knit_handlers(options$render, options))
14: in_dir(input_dir(), expr)
13: in_input_dir(evaluate(code, envir = env, new_device = FALSE, 
        keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, 
        keep_message = if (is.numeric(options$message)) TRUE else options$message, 
        stop_on_error = if (is.numeric(options$error)) options$error else {
            if (options$error && options$include) 
                0L
            else 2L
        }, output_handler = knit_handlers(options$render, options)))
12: eng_r(options)
11: block_exec(params)
10: call_block(x)
9: process_group.block(group)
8: process_group(group)
7: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), 
       error = function(e) {
           setwd(wd)
           cat(res, sep = "\n", file = output %n% "")
           message("Quitting from lines ", paste(current_lines(i), 
               collapse = "-"), " (", knit_concord$get("infile"), 
               ") ")
       })
6: process_file(text, output)
5: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
4: rmarkdown::render(output_file = reportFile, input = rmd, params = paramList, 
       intermediates_dir = id, output_options = outputOptions)
3: withCallingHandlers(expr, warning = function(w) if (inherits(w, 
       classes)) tryInvokeRestart("muffleWarning"))
2: suppressWarnings(rmarkdown::render(output_file = reportFile, 
       input = rmd, params = paramList, intermediates_dir = id, 
       output_options = outputOptions))
1: CallAndGenerateReport(rawCountData = "/<path>/filtered_feature_bc_matrix/", 
       reportFile = "./report.html", callFile = "./callfile.txt", 
       barcodeWhitelist = c("HTO1", "HTO4", "HTO5"), barcodeBlacklist = c("Ly6C", 
           "FcRg", "CD48", "CD11c", "CD11b", "CD8", "CD3", "CD19", 
           "B220", "Gr1", "Ly6g", "NK1.1", "Ter119", "CD61", "cKit", 
           "Sca1", "CD150", "TCRb", "CD135", "CD41", "F4_80"), methods = c("htodemux", 
           "multiseq", "dropletutils", "gmm_demux", "demuxem", "demuxmix", 
           "bff_raw", "bff_cluster"), title = "report", keepMarkdown = FALSE)
[1] "Printing Quantile Normalization QC Plots"

Error and fail for CallAndGenerateReport

hi
when running the following

CallAndGenerateReport(rawCountData = "./", reportFile = "./report.html",
                      callFile = "./callfile.txt", h5File = h5File,
                      barcodeWhitelist = c('HTO1', 'HTO4', 'HTO5'),
                      methods = c("htodemux", "multiseq", "dropletutils", 
                                  "gmm_demux", "demuxem", "demuxmix", 
                                  "bff_raw", "bff_cluster"),
                      title = "report",
                      keepMarkdown = TRUE)

get the following error and fail at 32% processing

processing file: cellhashR.rmd
  |.................................                                                                      |  32% (QC)                 
Quitting from lines 74-97 (cellhashR.rmd) 
Error in barcodeData[which(!(rownames(barcodeData) %in% barcodeBlacklist)),  : 
  incorrect number of dimensions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.