[Bioc-devel] lipidr: Unable to reproduce error (possibly from S4Vectors)
Excellent catch Martin.
I was able to confirm the issue using the script below (on Bioc-Devel
Docker). The issue was also resolved by simply reinstalling iheatmapr. It
would be great if iheatmapr is reinstalled manually on the devel build
systems.
remove.packages(c("iheatmapr", "S4Vectors"))
devtools::install_github("Bioconductor/S4Vectors",
ref="e8dffc0157f2c4779fce3c85e5ef601bb0a35d33")
install.packages("iheatmapr")
packageVersion("S4Vectors")
# "0.27.0"
packageVersion("iheatmapr")
# "0.4.12"
library(lipidr)
library(iheatmapr)
example("iheatmap")
# Runs successfully
## Update S4Vector
rm(list = ls())
rstudioapi::restartSession()
devtools::install_github("Bioconductor/S4Vectors")
packageVersion("S4Vectors")
# "0.27.12"
library(iheatmapr)
example("iheatmap")
# Error in .wrap_in_length_one_list_like_object(value, name, x) :
# failed to coerce 'list(value)' to a IheatmapPlots object of length 1
## Reinstall iheatmapr
rm(list = ls())
rstudioapi::restartSession()
install.packages("iheatmapr")
library(iheatmapr)
example("iheatmap")
# Runs successfully
Cheers.
Ahmed.
On Thu, 18 Jun 2020 at 00:52, Martin Morgan <mtmorgan.bioc at gmail.com> wrote:
You can see package versions on the build system from https://bioconductor.org/checkResults/devel/bioc-LATEST/index.html clicking on 'installed pkgs' link in the center top table. iheatmapr is at version 0.4.12. I think what is happening is like https://support.bioconductor.org/p/131689/#131695 where S4Vector method has been changed but packages that use it have a methods table that is cached when the package is installed. So there are no errors if you do a new install of packages (like on CI or the docker) but not if the iheatmapr package has already been installed (as I guess on the build system). This means that the only way to reproduce this would be to install a previous version of S4Vectors, then install iheatmapr to capture the old methods table, then install the current version of S4Vectors. But at the end of the day the solution is (a) for iheatmapr to be updated on the build systems and ideally (b) for iheatmapr to bump it's version. A version bump would be trivial if it were a Bioconductor package, but could be problematic for CRAN. I did bcc the maintainer. I don't think you should work around this (e.g., by disabling the example) because, at least if it were me, I'd forget to reenable this and hence end up with less extensive testing of my package (and the overall Bioconductor ecosystem). Maybe @Herv? Pag?s will chime in; my diagnosis could be wrong. Martin ?On 6/17/20, 6:56 AM, "Bioc-devel on behalf of Ahmed Mohamed" < bioc-devel-bounces at r-project.org on behalf of mohamed at kuicr.kyoto-u.ac.jp> wrote: Thanks Vincent. I would like to debug the error, but I still cannot reproduce it. SessionInfo, below, shows update to date versions! My Travis build also works, with Bioc Devel and iheapmapr 0.4.12 ( https://travis-ci.org/github/ahmohamed/lipidr/jobs/696329028#L2718). What am I missing?
> sessionInfo()R version 4.0.0 (2020-04-24)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.4 LTS
Matrix products: default
BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
LC_MESSAGES=C
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils
datasets methods
[9] base
other attached packages:
[1] lipidr_2.3.0 SummarizedExperiment_1.19.5
DelayedArray_0.15.4
[4] matrixStats_0.56.0 Matrix_1.2-18
Biobase_2.49.0
[7] GenomicRanges_1.41.5 GenomeInfoDb_1.25.2
IRanges_2.23.10
[10] S4Vectors_0.27.12 BiocGenerics_0.35.4
iheatmapr_0.4.12
[13] BiocManager_1.30.10
loaded via a namespace (and not attached):
[1] fastcluster_1.1.25 tidyselect_1.1.0 xfun_0.14
[4] purrr_0.3.4 lattice_0.20-41 colorspace_1.4-1
[7] vctrs_0.3.1 generics_0.0.2 htmltools_0.5.0
[10] yaml_2.2.1 rlang_0.4.6 pillar_1.4.4
[13] glue_1.4.1 RColorBrewer_1.1-2
GenomeInfoDbData_1.2.3
[16] lifecycle_0.2.0 plyr_1.8.6 zlibbioc_1.35.0
[19] munsell_0.5.0 gtable_0.3.0 htmlwidgets_1.5.1
[22] knitr_1.28 forcats_0.5.0 Rcpp_1.0.4.6
[25] scales_1.1.1 limma_3.45.7 jsonlite_1.6.1
[28] XVector_0.29.2 farver_2.0.3 ggplot2_3.3.1
[31] digest_0.6.25 dplyr_1.0.0 ropls_1.21.0
[34] grid_4.0.0 tools_4.0.0 bitops_1.0-6
[37] magrittr_1.5 RCurl_1.98-1.2 tibble_3.0.1
[40] ggdendro_0.1-20 tidyr_1.1.0 crayon_1.3.4
[43] pkgconfig_2.0.3 MASS_7.3-51.5 ellipsis_0.3.1
[46] data.table_1.12.8 rstudioapi_0.11 R6_2.4.1
[49] compiler_4.0.0
On Wed, 17 Jun 2020 at 20:12, Vincent Carey <
stvjc at channing.harvard.edu>
wrote:
> I can reproduce the error, which arises from iheatmapr. Note that
>
>
>
>
> shows that iheatmapr is 0.4.12 and on my system example(iheatmap)
fails
> with the
> error you showed. In future please provide sessionInfo() result when
> reporting a
> problem.
>
> on my system, example(iheatmap) dies in an unexported function
> main_heatmap. iheatmapr is an ropensci
> package that depends on S4Vectors. it may only be tested with the
release
> version. You
> can see at
> iheatmapr
> is passing its tests. i don't know how to determine what packages
were
> used in the tests.
>
> you might want to condition out your example for now. perhaps you
can
> debug iheatmapr against
> current S4Vectors and suggest the solution to iheatmapr authors
>
>
> On Wed, Jun 17, 2020 at 1:26 AM Ahmed Mohamed <
mohamed at kuicr.kyoto-u.ac.jp>
> wrote:
>
>> Hi all,
>>
>> My package "lipidr" has been failing checks for a while, giving the
error
>> below:
>>
>> Error in .wrap_in_length_one_list_like_object(value, name, x) :
>> failed to coerce 'list(value)' to a IheatmapPlots object of
length 1
>>
>> (Full report here:
>>
>>
>> )
>>
>> The error seems to originate from S4Vectors package, which lipidr
depends
>> on (indirectly through SummarizedExperiment). However, I am
completely
>> unable to reproduce this error. This is what I did:
>> - Installed Bioc-devel docker image
>> - run the faulty example alone, as well as devtools::check(), both
without
>> errors.
>> - Ran BiocManager::install(update = TRUE) to pick up updates not
>> propagated
>> to the docker image
>> - I even installed S4Vector from GitHub, just in case the git
checkout is
>> ahead of Bioc.
>>
>> Faulty example:
>> https://github.com/ahmohamed/lipidr/blob/master/R/plot.R#L345
>>
>> Any suggestions would be appreciated.
>> Thanks.
>> Ahmed.
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
> The information in this e-mail is intended only for
th...{{dropped:15}}
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel