Thank you Vince! It works perfectly :)

Just for closure on the topic, I'm adding the code below.

Greetings,
Leonardo


> library(GenomicRanges)
Loading required package: IRanges

Attaching package: 'IRanges'

The following object(s) are masked from 'package:base':

    cbind, eval, Map, mapply, order, paste, pmax, pmax.int, pmin,
    pmin.int, rbind, rep.int, table

> load("gr.Rdata")
> gr
GRanges with 10 ranges and 2 elementMetadata values
  seqnames    ranges strand |     score        GC
     <Rle> <IRanges>  <Rle> | <integer> <numeric>
a     chr1  [ 1,  7]      - |         1 1.0000000
b     chr2  [ 2,  8]      + |         2 0.8888889
c     chr2  [ 3,  9]      + |         3 0.7777778
d     chr2  [ 4, 10]      * |         4 0.6666667
e     chr1  [ 5, 11]      * |         5 0.5555556
f     chr1  [ 6, 12]      + |         6 0.4444444
g     chr3  [ 7, 13]      + |         7 0.3333333
h     chr3  [ 8, 14]      + |         8 0.2222222
i     chr3  [ 9, 15]      - |         9 0.1111111
j     chr3  [10, 16]      - |        10 0.0000000
Error in seqlengths(seqinfo(x)) :
  error in evaluating the argument 'x' in selecting a method for function
'seqlengths'
> gr2 <- updateObject(gr)
> gr2
GRanges with 10 ranges and 2 elementMetadata values
  seqnames    ranges strand |     score        GC
     <Rle> <IRanges>  <Rle> | <integer> <numeric>
a     chr1  [ 1,  7]      - |         1 1.0000000
b     chr2  [ 2,  8]      + |         2 0.8888889
c     chr2  [ 3,  9]      + |         3 0.7777778
d     chr2  [ 4, 10]      * |         4 0.6666667
e     chr1  [ 5, 11]      * |         5 0.5555556
f     chr1  [ 6, 12]      + |         6 0.4444444
g     chr3  [ 7, 13]      + |         7 0.3333333
h     chr3  [ 8, 14]      + |         8 0.2222222
i     chr3  [ 9, 15]      - |         9 0.1111111
j     chr3  [10, 16]      - |        10 0.0000000

seqlengths
 chr1 chr2 chr3
   NA   NA   NA
> load("longGR.Rdata")
> longGR
GRanges with 100 ranges and 0 elementMetadata values
Error in validObject(.Object) :
  invalid class "GRanges" object: slots in class definition but not in
object: "seqinfo"
> longGR2 <- updateObject(longGR)
> longGR2
GRanges with 100 ranges and 0 elementMetadata values
      seqnames     ranges strand   |
         <Rle>  <IRanges>  <Rle>   |
  [1]      chr    [1, 10]      *   |
  [2]      chr    [2, 11]      *   |
  [3]      chr    [3, 12]      *   |
  [4]      chr    [4, 13]      *   |
  [5]      chr    [5, 14]      *   |
  [6]      chr    [6, 15]      *   |
  [7]      chr    [7, 16]      *   |
  [8]      chr    [8, 17]      *   |
  [9]      chr    [9, 18]      *   |
  ...      ...        ...    ... ...
 [92]      chr [ 92, 101]      *   |
 [93]      chr [ 93, 102]      *   |
 [94]      chr [ 94, 103]      *   |
 [95]      chr [ 95, 104]      *   |
 [96]      chr [ 96, 105]      *   |
 [97]      chr [ 97, 106]      *   |
 [98]      chr [ 98, 107]      *   |
 [99]      chr [ 99, 108]      *   |
[100]      chr [100, 109]      *   |

seqlengths
 chr
  NA
> sessionInfo()
R version 2.12.0 (2010-10-15)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

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

other attached packages:
[1] GenomicRanges_1.2.0 IRanges_1.8.0
>


On Wed, Oct 20, 2010 at 8:01 PM, Vincent Carey
<[email protected]>wrote:

> try updateObject() on the loaded instances.  you will have to
> reserialize after this.  it is unfortunate that many objects may need
> reserialization as definitions change, but updateObject() reduces the
> pain.
>
> On Wed, Oct 20, 2010 at 8:24 PM, Leonardo Collado Torres
> <[email protected]> wrote:
> > Dear bioc-sig-sequencing list,
> >
> > For several steps in our pipeline we've been saving GRanges objects into
> > Rdata files, load them later, and move on. Everything has been smooth so
> > far, yet with the new R Release and hence new GenomicRanges there is a
> > problem related to the print or show methods in GRanges objects.
> >
> > The error is related to the new 'seqinfo' part of GRanges objects. The
> help
> > page for seqinfo didn't help us find out if there is a way to make 'old'
> > GRanges objects print correctly with the new GenomicRanges package.
> >
> > With small GRanges objects, R prints an error after printing the head of
> the
> > GRanges object. With longer GRanges objects, only the error is printed.
> My
> > guess is that this is related to the show method for GRanges objects.
> >
> > Ideally for us, 'old' GRanges objects should still print correctly with
> the
> > new GenomicRanges without having to modify them.
> >
> > Thank you and greetings,
> > Leonardo
> >
> >
> > Case 1: small GRanges
> >
> > Part 1: creating the object in an older version of R (in this case from
> > Ubuntu). The GRanges is the one from the first example of the
> GenomicRanges
> > vignette.
> >
> >> library(GenomicRanges)
> > Loading required package: IRanges
> >
> > Attaching package: 'IRanges'
> >
> > The following object(s) are masked from 'package:base':
> >
> >    cbind, eval, Map, mapply, order, paste, pmax, pmax.int, pmin,
> >    pmin.int, rbind, rep.int, table
> >
> >> gr <- GRanges(seqnames =
> > +           Rle(c("chr1", "chr2", "chr1", "chr3"), c(1, 3, 2, 4)),
> > +           ranges =
> > +           IRanges(1:10, end = 7:16, names = head(letters, 10)),
> > +           strand =
> > +           Rle(strand(c("-", "+", "*", "+", "-")),
> > +               c(1, 2, 2, 3, 2)),
> > +           score = 1:10,
> > +           GC = seq(1, 0, length=10))
> >> gr
> > GRanges with 10 ranges and 2 elementMetadata values
> >  seqnames    ranges strand |     score        GC
> >     <Rle> <IRanges>  <Rle> | <integer> <numeric>
> > a     chr1  [ 1,  7]      - |         1 1.0000000
> > b     chr2  [ 2,  8]      + |         2 0.8888889
> > c     chr2  [ 3,  9]      + |         3 0.7777778
> > d     chr2  [ 4, 10]      * |         4 0.6666667
> > e     chr1  [ 5, 11]      * |         5 0.5555556
> > f     chr1  [ 6, 12]      + |         6 0.4444444
> > g     chr3  [ 7, 13]      + |         7 0.3333333
> > h     chr3  [ 8, 14]      + |         8 0.2222222
> > i     chr3  [ 9, 15]      - |         9 0.1111111
> > j     chr3  [10, 16]      - |        10 0.0000000
> >
> > seqlengths
> >  chr1 chr2 chr3
> >   NA   NA   NA
> >> save(gr, file="gr.Rdata")
> >> sessionInfo()
> > R version 2.12.0 Under development (unstable) (2010-09-08 r52880)
> > Platform: x86_64-unknown-linux-gnu (64-bit)
> >
> > locale:
> >  [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C
> >  [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8
> >  [5] LC_MONETARY=C             LC_MESSAGES=en_US.utf8
> >  [7] LC_PAPER=en_US.utf8       LC_NAME=C
> >  [9] LC_ADDRESS=C              LC_TELEPHONE=C
> > [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] GenomicRanges_1.1.25 IRanges_1.7.34
> >>
> >
> > Part 2:
> > Loading the GRanges object with R 2.11.1 (in this case from Windows). In
> > this case everything works fine :)
> >
> >> load("gr.Rdata")
> >> gr
> > GRanges with 10 ranges and 2 elementMetadata values
> >  seqnames    ranges strand |     score        GC
> >     <Rle> <IRanges>  <Rle> | <integer> <numeric>
> > a     chr1  [ 1,  7]      - |         1 1.0000000
> > b     chr2  [ 2,  8]      + |         2 0.8888889
> > c     chr2  [ 3,  9]      + |         3 0.7777778
> > d     chr2  [ 4, 10]      * |         4 0.6666667
> > e     chr1  [ 5, 11]      * |         5 0.5555556
> > f     chr1  [ 6, 12]      + |         6 0.4444444
> > g     chr3  [ 7, 13]      + |         7 0.3333333
> > h     chr3  [ 8, 14]      + |         8 0.2222222
> > i     chr3  [ 9, 15]      - |         9 0.1111111
> > j     chr3  [10, 16]      - |        10 0.0000000
> >
> > seqlengths
> >  chr1 chr2 chr3
> >   NA   NA   NA
> >> sessionInfo()
> > R version 2.11.1 (2010-05-31)
> > x86_64-pc-mingw32
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252
> > [2] LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252
> > [4] LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] GenomicRanges_1.0.6 IRanges_1.6.8
> >>
> >
> >
> > Part 3:
> > Loading the GRanges object into the new R (2.12.0) pops an error:
> >
> >> library(GenomicRanges)
> > Loading required package: IRanges
> >
> > Attaching package: 'IRanges'
> >
> > The following object(s) are masked from 'package:base':
> >
> >    cbind, eval, Map, mapply, order, paste, pmax, pmax.int, pmin,
> >    pmin.int, rbind, rep.int, table
> >
> >> load("gr.Rdata")
> >> gr
> > GRanges with 10 ranges and 2 elementMetadata values
> >  seqnames    ranges strand |     score        GC
> >     <Rle> <IRanges>  <Rle> | <integer> <numeric>
> > a     chr1  [ 1,  7]      - |         1 1.0000000
> > b     chr2  [ 2,  8]      + |         2 0.8888889
> > c     chr2  [ 3,  9]      + |         3 0.7777778
> > d     chr2  [ 4, 10]      * |         4 0.6666667
> > e     chr1  [ 5, 11]      * |         5 0.5555556
> > f     chr1  [ 6, 12]      + |         6 0.4444444
> > g     chr3  [ 7, 13]      + |         7 0.3333333
> > h     chr3  [ 8, 14]      + |         8 0.2222222
> > i     chr3  [ 9, 15]      - |         9 0.1111111
> > j     chr3  [10, 16]      - |        10 0.0000000
> > Error in seqlengths(seqinfo(x)) :
> >  error in evaluating the argument 'x' in selecting a method for function
> > 'seqlengths'
> >> sessionInfo()
> > R version 2.12.0 (2010-10-15)
> > Platform: x86_64-pc-mingw32/x64 (64-bit)
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252
> > [2] LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252
> > [4] LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] GenomicRanges_1.2.0 IRanges_1.8.0
> >>
> >
> >
> >
> >
> >
> > Case 2: long GRanges object (longer 21 ranges)
> >
> > Part 1: Creating the GRanges object in R 2.11.1
> >
> >> library(GenomicRanges)
> > Loading required package: IRanges
> >
> > Attaching package: 'IRanges'
> >
> > The following object(s) are masked from 'package:base':
> >
> >    cbind, Map, mapply, order, paste, pmax, pmax.int, pmin, pmin.int,
> >    rbind, rep.int, table
> >
> >> longGR <- GRanges(seqnames=rep("chr", 100), ranges=IRanges(start=1:101,
> > width=10), strand=rep("*", 100))
> > Error in validObject(.Object) :
> >  invalid class "GRanges" object: slot lengths are not all equal
> >> length(1:101)
> > [1] 101
> >> longGR <- GRanges(seqnames=rep("chr", 100), ranges=IRanges(start=1:100,
> > width=10), strand=rep("*", 100))
> >>
> >>
> >> save(longGR, file="longGR.Rdata")
> >> sessionInfo()
> > R version 2.11.1 (2010-05-31)
> > x86_64-pc-mingw32
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252
> > [2] LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252
> > [4] LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] GenomicRanges_1.0.6 IRanges_1.6.8
> >>
> >
> >
> > Part 2: loading the file in R 2.12.0 pops an error:
> >
> >> load("longGR.Rdata")
> >> longGR
> > GRanges with 100 ranges and 0 elementMetadata values
> > Error in validObject(.Object) :
> >  invalid class "GRanges" object: slots in class definition but not in
> > object: "seqinfo"
> >> sessionInfo()
> > R version 2.12.0 (2010-10-15)
> > Platform: x86_64-pc-mingw32/x64 (64-bit)
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252
> > [2] LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252
> > [4] LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] GenomicRanges_1.2.0 IRanges_1.8.0
> >>
> >
> >        [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > Bioc-sig-sequencing mailing list
> > [email protected]
> > https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
> >
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing

Reply via email to