Hi, I just got this error message when using ChIPQC (with a metadata table for 4 bam files with peak info...):
Error: BiocParallel errors 4 remote errors, element index: 1, 2, 3, 4 0 unevaluated and other errors
first remote error: Error in if (is.na(peaks)) peaks = NULL: the condition has length > 1
With the following command:
chipObj <- ChIPQC(samples)
Show Traceback gives me:
7. stop(.error_bplist(res))
6. .bpinit(manager = manager, X = X, FUN = FUN, ARGS = ARGS, BPPARAM = BPPARAM,
BPOPTIONS = BPOPTIONS, BPREDO = BPREDO)
5. bplapply(X, FUN, ..., BPREDO = BPREDO, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS)
4. bplapply(X, FUN, ..., BPREDO = BPREDO, BPPARAM = BPPARAM, BPOPTIONS = BPOPTIONS)
3. bplapply(samplelist, doChIPQCsample, experiment, chromosomes,
annotation, mapQCth, blacklist, profileWin, fragmentLength,
shifts)
2. bplapply(samplelist, doChIPQCsample, experiment, chromosomes,
annotation, mapQCth, blacklist, profileWin, fragmentLength,
shifts)
1. ChIPQC(samples)
After getting this error, I tried to run ChIPQC with files that had given me great results in the past (ChIPQC report...) and I got the same error message. I can't analyze these other ChIP-seq datasets anymore. I recently updated a bunch of R packages so my guess would be that the new version of one of the packages is encountering some issue.
I tried to install a previous version of ChIPQC (3.10 or 3.11) with:
BiocManager::install("ChIPQC", version = "3.11")
and kept getting error messages of this type:
Error: Bioconductor version '3.11' requires R version '4.0'; use `BiocManager::install(version = '3.15')` with R version 4.2; see https://bioconductor.org/install
I already the version 3.15 of BiocManager and the version 4.2 of R so I am not sure how to overcome this error.
A similar ChIPQC issue (from 3.8 years ago) was described here: ChIPQC - can't read in bam files
It was suggested in the comments to try to open the bam files with Rsamtools function open.bamFile(). I just did that and got the following error message:
Error in value[[3L]](cond) :
failed to open BamFile: unable to find an inherited method for function 'path' for signature '"character"'
6. stop("failed to open BamFile: ", conditionMessage(err))
5. value[[3L]](cond)
4. tryCatchOne(expr, names, parentenv, handlers[[1L]])
3. tryCatchList(expr, classes, parentenv, handlers)
2. tryCatch({
.io_check_exists(path(con))
index <- sub("\\.bai$", "", index(con, asNA = FALSE))
con$.extptr <- .Call(.bamfile_open, path(con), index, "rb") ...
1. open.BamFile("extract_14M_1_PEO1_G9A_1_S4_L002.bam")
Could there be an issue with the latest version of Rsamtools or am I not using Rsamtools correctly?
From another Bioconductor question: DiffBind GreyListChIP error: Error: BiocParallel errors
I tried:
BiocParallel::register(BiocParallel::SerialParam())
And this did not solve my issue.
I also tried a few other things like clearing the workspace, relaunching R, RStudio, my computer, installing the newest version of RStudio, reindexing the bam files... I tried on a different computer that has unfortunately also updated many R packages (it has the version 3.12 of ChIPQC) and got the same error message.
If anyone has any solution or ideas I could try to solve this issue, it would be fantastic and greatly appreciated.
Thank you very much in advance.
Best,
Etienne
sessionInfo( ):
R version 4.2.0 (2022-04-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.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/liblapack.so.3
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 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] BiocParallel_1.31.8 valr_0.6.4 ChIPseeker_1.32.0 org.Mm.eg.db_3.15.0 ensembldb_2.20.2 AnnotationFilter_1.20.0 GenomicFeatures_1.48.3 AnnotationDbi_1.58.0 AnnotationHub_3.4.0 BiocFileCache_2.4.0
[11] dbplyr_2.1.1 forcats_0.5.1 stringr_1.4.0 dplyr_1.0.9 purrr_0.3.4 readr_2.1.2 tidyr_1.2.0 tibble_3.1.7 tidyverse_1.3.1 ChIPQC_1.32.0
[21] DiffBind_3.6.1 SummarizedExperiment_1.26.1 Biobase_2.56.0 MatrixGenerics_1.8.0 matrixStats_0.62.0 GenomicRanges_1.48.0 GenomeInfoDb_1.32.2 IRanges_2.30.0 S4Vectors_0.34.0 BiocGenerics_0.42.0
[31] ggplot2_3.3.6
loaded via a namespace (and not attached):
[1] utf8_1.2.2 tidyselect_1.1.2 RSQLite_2.2.14 htmlwidgets_1.5.4 grid_4.2.0 scatterpie_0.1.7
[7] munsell_0.5.0 codetools_0.2-18 systemPipeR_2.2.2 withr_2.5.0 colorspace_2.0-3 GOSemSim_2.22.0
[13] filelock_1.0.2 knitr_1.39 rstudioapi_0.13 DOSE_3.22.0 bbmle_1.0.25 GenomeInfoDbData_1.2.8
[19] polyclip_1.10-0 mixsqp_0.3-43 hwriter_1.3.2.1 farver_2.1.0 bit64_4.0.5 treeio_1.20.0
[25] coda_0.19-4 vctrs_0.4.1 TxDb.Rnorvegicus.UCSC.rn4.ensGene_3.2.2 generics_0.1.2 xfun_0.31 R6_2.5.1
[31] graphlayouts_0.8.0 apeglm_1.18.0 invgamma_1.1 locfit_1.5-9.5 gridGraphics_0.5-1 fgsea_1.22.0
[37] bitops_1.0-7 cachem_1.0.6 DelayedArray_0.22.0 assertthat_0.2.1 vroom_1.5.7 promises_1.2.0.1
[43] BiocIO_1.6.0 scales_1.2.0 ggraph_2.0.5 enrichplot_1.16.1 gtable_0.3.0 tidygraph_1.2.1
[49] rlang_1.0.2 splines_4.2.0 rtracklayer_1.56.0 lazyeval_0.2.2 broom_0.8.0 BiocManager_1.30.18
[55] yaml_2.3.5 reshape2_1.4.4 modelr_0.1.8 TxDb.Dmelanogaster.UCSC.dm3.ensGene_3.2.2 backports_1.4.1 httpuv_1.6.5
[61] qvalue_2.28.0 tools_4.2.0 ggplotify_0.1.0 ellipsis_0.3.2 gplots_3.1.3 RColorBrewer_1.1-3
[67] Rcpp_1.0.8.3 plyr_1.8.7 progress_1.2.2 zlibbioc_1.42.0 RCurl_1.98-1.7 prettyunits_1.1.1
[73] viridis_0.6.2 ashr_2.2-54 chipseq_1.46.0 haven_2.5.0 ggrepel_0.9.1 fs_1.5.2
[79] magrittr_2.0.3 data.table_1.14.2 TxDb.Hsapiens.UCSC.hg18.knownGene_3.2.2 DO.db_2.9 reprex_2.0.1 truncnorm_1.0-8
[85] mvtnorm_1.1-3 SQUAREM_2021.1 amap_0.8-18 ProtGenerics_1.28.0 TxDb.Mmusculus.UCSC.mm9.knownGene_3.2.2 patchwork_1.1.1
[91] hms_1.1.1 mime_0.12 xtable_1.8-4 XML_3.99-0.10 emdbook_1.3.12 jpeg_0.1-9
[97] readxl_1.4.0 gridExtra_2.3 compiler_4.2.0 biomaRt_2.52.0 bdsmatrix_1.3-4 shadowtext_0.1.2
[103] KernSmooth_2.23-20 crayon_1.5.1 htmltools_0.5.2 ggfun_0.0.6 later_1.3.0 tzdb_0.3.0
[109] aplot_0.1.6 lubridate_1.8.0 DBI_1.1.2 tweenr_1.0.2 MASS_7.3-57 rappdirs_0.3.3
[115] boot_1.3-28 ShortRead_1.54.0 Matrix_1.4-1 cli_3.3.0 parallel_4.2.0 igraph_1.3.2
[121] pkgconfig_2.0.3 TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2 GenomicAlignments_1.32.0 numDeriv_2016.8-1.1 TxDb.Celegans.UCSC.ce6.ensGene_3.2.2 xml2_1.3.3
[127] ggtree_3.4.0 XVector_0.36.0 rvest_1.0.2 yulab.utils_0.0.4 digest_0.6.29 Biostrings_2.64.0
[133] fastmatch_1.1-3 cellranger_1.1.0 tidytree_0.3.9 restfulr_0.0.13 GreyListChIP_1.28.1 curl_4.3.2
[139] shiny_1.7.1 Rsamtools_2.12.0 gtools_3.9.2 rjson_0.2.21 nlme_3.1-157 lifecycle_1.0.1
[145] jsonlite_1.8.0 viridisLite_0.4.0 limma_3.52.1 BSgenome_1.64.0 fansi_1.0.3 pillar_1.7.0
[151] lattice_0.20-45 Nozzle.R1_1.1-1 plotrix_3.8-2 KEGGREST_1.36.2 fastmap_1.1.0 httr_1.4.3
[157] GO.db_3.15.0 interactiveDisplayBase_1.34.0 glue_1.6.2 png_0.1-7 BiocVersion_3.15.2 bit_4.0.4
[163] ggforce_0.3.3 stringi_1.7.6 blob_1.2.3 TxDb.Mmusculus.UCSC.mm10.knownGene_3.10.0 latticeExtra_0.6-29 caTools_1.18.2
[169] memoise_2.0.1 ape_5.6-2 irlba_2.3.5
I had the same error message.
I figured it out (kind of). I tried everything I could think of.
I got the latest version of BiocParallel (not official yet). This update fixed other issues I was having with BiocParallel and other packages but it did not fix ChIPQC.
The thing that worked was to downgrade R and use a previous version of ChIPQC. That worked great till by mistake I upgraded R and ChIPQC again and it stopped working again. Then, I thought that maybe I had some incompatibility issues with some R packages so I deleted all my packages and reinstall everything new. Without thinking, I deleted the old ChIPQC package. That was a mistake because after resinstalling the latest version of ChIPQC and all the dependencies, I still got the same error message. So, now I have to request from Rory Stark or one of the ChIPQC creators an older version of ChIPQC...
First make sure that you are using packages that are supposed to work together. Do this by making sure that
returns
TRUE
. If it does not, it provides guidance on what to do to makeBiocManager::valid()
returnTRUE
.Once at this stage, i would recommend
BiocParallel::register(BiocParallel::SerialParam())
and evaluating the command again. I think then you should report explicitly the error that you see, instead of saying that it 'did not solve my issue'.Immediately after the error occurs, you might try
traceback()
to see the series of function calls that lead to the error. It would be very helpful to reporttraceback()
here.On your own, you could try to either
debug()
a particular function in the traceback to try and figure out what goes wrong, or perhaps setoptions(error = recover)
(reset withoptions(error = NULL)
) and explore what is going wrong. See?degug
and?recover
and?browser
for some hints on what you can do on your own to figure out what is going wrong.Great advice! Thank you very much, Martin!
BiocManager::valid()
helped me find 43 outdated R packages that I was able to update usingsudo R
in the terminal. Unfortunately, that did not solve my issue. I installed the currently Bioconductor available version of BiocParallel and that did not help. I re-installed the latest version (non-official) and that did not help either.I also tried:
BiocParallel::register(BiocParallel::SerialParam())
and that did not work either. I will look intodebug()
and all the other recommendations that you gave me. Thank you again for all the great suggestions!