bimberlab / cellhashr Goto Github PK
View Code? Open in Web Editor NEWAn R package designed to demultiplex cell hashing data
An R package designed to demultiplex cell hashing data
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
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
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"
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?
Hi,
I really like all the plots generated by cellhashR but I would like to know if I can automatically save them to a pdf file? Otherwise, they are printed to screen in my Rmarkdown document and I can't easily save them.
Best wishes,
Lucy
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
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.
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?
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.
While tsne and heatmaps can be disabled, fitting histogram, pie charts, etc still always show.
This is not ideal for certain workflows like RMD knitting and is compounded by Rstudio (occasional) issues with erroring out when rendering plots rstudio/rstudio#6260.
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
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
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
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.
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!
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
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
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"
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.