Hello,
I'm having a strange issue in R 3.5.0 / Bioc 3.7 when trying to assign seqinfo
to a bsseq
object that I don't have in R 3.4.3 / Bioc 3.6. The particular error I get can be reproduced with the following code:
# Do not load any libraries
seqinfo_hg19 = GenomeInfoDb::Seqinfo(genome = 'hg19')
M <- matrix(0:8, 3, 3)
Cov <- matrix(1:9, 3, 3)
bs <- bsseq::BSseq(chr = c("chr1", "chr2", "chr1"), pos = c(1,2,3),
M = M, Cov = Cov, sampleNames = c("A","B","C"))
GenomeInfoDb::seqinfo(bs) = seqinfo_hg19[GenomeInfoDb::seqlevelsInUse(bs)]
And the last line produces the error:
Error in methods::slot(object, name) :
no slot of name "call" for this object of class "GRanges"
I have boiled it down to the following toy examples, tested on R 3.5.0 / Bioc 3.7 with the Bioc docker images, and R 3.4.z / Bioc 3.6 locally / on some servers at work (session infos at the end). The 1B and 2B blocks below are closer to the style in which I'm actually calling these functions from within a package that imports GenomicRanges
, GenomeInfoDb
, and bsseq
, among other packages.
# Run each in different R sessions
################################################################################
# BLOCK 1A
# WORKS in R 3.4.z / Bioc 3.6 and WORKS in R 3.5.0 / Bioc 3.7
library(GenomicRanges)
seqinfo_hg19 = Seqinfo(genome = 'hg19')
gr <- GRanges(Rle(c("chr2", "chr2", "chr1", "chr3"), c(1, 3, 2, 4)),
IRanges(1:10, width=10:1))
seqlevelsInUse(gr)
seqinfo(gr) = seqinfo_hg19[seqlevelsInUse(gr)]
################################################################################
# BLOCK 1B
# WORKS in R 3.4.z / Bioc 3.6 and WORKS in R 3.5.0 / Bioc 3.7
seqinfo_hg19 = GenomeInfoDb::Seqinfo(genome = 'hg19')
gr <- GenomicRanges::GRanges(S4Vectors::Rle(c("chr2", "chr2", "chr1", "chr3"), c(1, 3, 2, 4)),
IRanges::IRanges(1:10, width=10:1))
GenomeInfoDb::seqlevelsInUse(gr)
GenomeInfoDb::seqinfo(gr) = seqinfo_hg19[GenomeInfoDb::seqlevelsInUse(gr)]
################################################################################
# BLOCK 2A
# WORKS in R 3.4.z / Bioc 3.6 and WORKS in R 3.5.0 / Bioc 3.7
library(bsseq)
seqinfo_hg19 = Seqinfo(genome = 'hg19')
M <- matrix(0:8, 3, 3)
Cov <- matrix(1:9, 3, 3)
bs <- BSseq(chr = c("chr1", "chr2", "chr1"), pos = c(1,2,3),
M = M, Cov = Cov, sampleNames = c("A","B","C"))
seqinfo(bs) = seqinfo_hg19[seqlevelsInUse(bs)]
################################################################################
# BLOCK 2B
# WORKS in R 3.4.z / Bioc 3.6 and FAILS in R 3.5.0 / Bioc 3.7
seqinfo_hg19 = GenomeInfoDb::Seqinfo(genome = 'hg19')
M <- matrix(0:8, 3, 3)
Cov <- matrix(1:9, 3, 3)
bs <- bsseq::BSseq(chr = c("chr1", "chr2", "chr1"), pos = c(1,2,3),
M = M, Cov = Cov, sampleNames = c("A","B","C"))
GenomeInfoDb::seqinfo(bs) = seqinfo_hg19[GenomeInfoDb::seqlevelsInUse(bs)]
The fact that blocks 1A and 1B don't fail indicates that the issue is in bsseq
, and not GenomicRanges
. Also, calling library(bsseq)
appears to change the NAMESPACE
in such a way that the error isn't produced in R 3.5.0 / Bioc 3.7. Since the code being executed is within a package, the best I can do is import the package, and not use library(bsseq)
.
Any insight into what might be causing this would greatly be appreciated. I'm rather stumped.
Below is the session info for R 3.4.3 / Bioc 3.6:
Session info ------------------------------------------------------------------
setting value
version R version 3.4.3 (2017-11-30)
system x86_64, linux-gnu
ui X11
language (EN)
collate en_US.UTF-8
tz <NA>
date 2018-05-14
Packages ----------------------------------------------------------------------
package * version date source
base * 3.4.3 2018-02-25 local
Biobase 2.38.0 2018-04-11 Bioconductor
BiocGenerics 0.24.0 2018-04-11 Bioconductor
bitops 1.0-6 2013-08-17 CRAN (R 3.4.3)
bsseq 1.14.0 2018-04-11 Bioconductor
colorspace 1.3-2 2016-12-14 CRAN (R 3.4.3)
compiler 3.4.3 2018-02-25 local
data.table 1.10.4-3 2017-10-27 CRAN (R 3.4.3)
datasets * 3.4.3 2018-02-25 local
DelayedArray 0.4.1 2018-04-11 Bioconductor
devtools 1.13.5 2018-02-18 CRAN (R 3.4.3)
digest 0.6.15 2018-01-28 CRAN (R 3.4.3)
GenomeInfoDb 1.14.1 2018-04-11 Bioconductor
GenomeInfoDbData 1.0.0 2018-04-11 Bioconductor
GenomicRanges 1.30.3 2018-04-11 Bioconductor
graphics * 3.4.3 2018-02-25 local
grDevices * 3.4.3 2018-02-25 local
grid 3.4.3 2018-02-25 local
gtools 3.5.0 2015-05-29 CRAN (R 3.4.3)
IRanges 2.12.0 2018-04-11 Bioconductor
lattice 0.20-35 2017-03-25 CRAN (R 3.4.3)
limma 3.34.9 2018-04-11 Bioconductor
locfit 1.5-9.1 2013-04-20 CRAN (R 3.4.3)
Matrix 1.2-14 2018-04-09 CRAN (R 3.4.3)
matrixStats 0.53.1 2018-02-11 CRAN (R 3.4.3)
memoise 1.1.0 2017-04-21 CRAN (R 3.4.3)
methods * 3.4.3 2018-02-25 local
munsell 0.4.3 2016-02-13 CRAN (R 3.4.3)
packrat 0.4.9-1 2018-03-12 CRAN (R 3.4.3)
parallel 3.4.3 2018-02-25 local
permute 0.9-4 2016-09-09 CRAN (R 3.4.3)
plyr 1.8.4 2016-06-08 CRAN (R 3.4.3)
R.methodsS3 1.7.1 2016-02-16 CRAN (R 3.4.3)
R.oo 1.21.0 2016-11-01 CRAN (R 3.4.3)
R.utils 2.6.0 2017-11-05 CRAN (R 3.4.3)
Rcpp 0.12.16 2018-03-13 CRAN (R 3.4.3)
RCurl 1.95-4.10 2018-01-04 CRAN (R 3.4.3)
S4Vectors 0.16.0 2018-04-11 Bioconductor
scales 0.5.0 2017-08-24 CRAN (R 3.4.3)
stats * 3.4.3 2018-02-25 local
stats4 3.4.3 2018-02-25 local
SummarizedExperiment 1.8.1 2018-04-11 Bioconductor
tools 3.4.3 2018-02-25 local
utils * 3.4.3 2018-02-25 local
withr 2.1.2 2018-03-15 CRAN (R 3.4.3)
XVector 0.18.0 2018-04-11 Bioconductor
zlibbioc 1.24.0 2018-04-11 Bioconductor
And below is for R 3.5.0 / Bioc 3.7:
Session info ------------------------------------------------------------------
setting value
version R version 3.5.0 (2018-04-23)
system x86_64, linux-gnu
ui X11
language (EN)
collate en_US.UTF-8
tz Etc/UTC
date 2018-05-14
Packages ----------------------------------------------------------------------
package * version date source
base * 3.5.0 2018-05-01 local
Biobase 2.40.0 2018-05-08 Bioconductor
BiocGenerics 0.26.0 2018-05-08 Bioconductor
BiocInstaller * 1.30.0 2018-05-08 Bioconductor
BiocParallel 1.14.1 2018-05-08 Bioconductor
bitops 1.0-6 2013-08-17 CRAN (R 3.5.0)
bsseq 1.16.0 2018-05-11 Bioconductor
colorspace 1.3-2 2016-12-14 CRAN (R 3.5.0)
compiler 3.5.0 2018-05-01 local
data.table 1.11.2 2018-05-08 CRAN (R 3.5.0)
datasets * 3.5.0 2018-05-01 local
DelayedArray 0.6.0 2018-05-11 Bioconductor
DelayedMatrixStats 1.2.0 2018-05-11 Bioconductor
devtools 1.13.5 2018-02-18 CRAN (R 3.5.0)
digest 0.6.15 2018-01-28 CRAN (R 3.5.0)
GenomeInfoDb 1.16.0 2018-05-08 Bioconductor
GenomeInfoDbData 1.1.0 2018-05-08 Bioconductor
GenomicRanges 1.32.2 2018-05-08 Bioconductor
graphics * 3.5.0 2018-05-01 local
grDevices * 3.5.0 2018-05-01 local
grid 3.5.0 2018-05-01 local
gtools 3.5.0 2015-05-29 CRAN (R 3.5.0)
HDF5Array 1.8.0 2018-05-11 Bioconductor
IRanges 2.14.8 2018-05-14 Bioconductor
lattice 0.20-35 2017-03-25 CRAN (R 3.5.0)
limma 3.36.1 2018-05-11 Bioconductor
locfit 1.5-9.1 2013-04-20 CRAN (R 3.5.0)
Matrix 1.2-14 2018-04-09 CRAN (R 3.5.0)
matrixStats 0.53.1 2018-02-11 CRAN (R 3.5.0)
memoise 1.1.0 2017-04-21 CRAN (R 3.5.0)
methods * 3.5.0 2018-05-01 local
munsell 0.4.3 2016-02-13 CRAN (R 3.5.0)
parallel 3.5.0 2018-05-01 local
permute 0.9-4 2016-09-09 CRAN (R 3.5.0)
plyr 1.8.4 2016-06-08 CRAN (R 3.5.0)
R.methodsS3 1.7.1 2016-02-16 CRAN (R 3.5.0)
R.oo 1.22.0 2018-04-22 CRAN (R 3.5.0)
R.utils 2.6.0 2017-11-05 CRAN (R 3.5.0)
Rcpp 0.12.16 2018-03-13 CRAN (R 3.5.0)
RCurl 1.95-4.10 2018-01-04 CRAN (R 3.5.0)
rhdf5 2.24.0 2018-05-11 Bioconductor
Rhdf5lib 1.2.0 2018-05-11 Bioconductor
S4Vectors 0.18.1 2018-05-08 Bioconductor
scales 0.5.0 2017-08-24 CRAN (R 3.5.0)
stats * 3.5.0 2018-05-01 local
stats4 3.5.0 2018-05-01 local
SummarizedExperiment 1.10.1 2018-05-11 Bioconductor
tools 3.5.0 2018-05-01 local
utils * 3.5.0 2018-05-01 local
withr 2.1.2 2018-03-15 CRAN (R 3.5.0)
XVector 0.20.0 2018-05-08 Bioconductor
zlibbioc 1.26.0 2018-05-08 Bioconductor
Thanks for the detailed bug report, @rcavalca. I can confirm that running 2B in a clean session leads to the error. However, it's not an issue with bsseq but rather something else, perhaps in SummarizedExpeirment. On BioC 3.7:
Created on 2018-05-14 by the reprex package (v0.2.0).
Hopefully Hervé Pagès can chime in. It's a little unusual to use these packages in a script without first calling
library()
but you mention you encountered this issue in a package. Are you able to link to it (a GitHub repo, for example)?Posted this as a GitHub issue.