[Bioc-devel] GRanges Intersect

Hervé Pagès hpages at fhcrc.org
Wed Oct 5 01:40:07 CEST 2011


Hi Dario,

On 11-09-26 09:30 PM, Dario Strbenac wrote:
> Now I understand how it works.
>
> What I needed was identical(gr1, gr2).

Note that, depending on how strict you want this comparison to be,
you can also do all(gr1 == gr2). It's less strict than
identical(gr1, gr2) in the sense that it will only compare the
genomic ranges in gr1 and gr2, and not the "metadata stuff" and
other attributes attached to the objects (e.g. names, elementMetadata,
etc...).

Also be aware that identical() is unreliable in case the compared
objects contain external pointers.

False positive:

   > library(Biostrings)
   > gr1 <- gr2 <- GRanges("chr1", IRanges(31:33, width=1))
   > elementMetadata(gr1)$ref <- DNAStringSet(c("A", "C", "T"))
   > elementMetadata(gr2)$ref <- DNAStringSet(c("G", "G", "N"))

   > gr1
   GRanges with 3 ranges and 1 elementMetadata value
       seqnames    ranges strand |            ref
          <Rle> <IRanges>  <Rle> | <DNAStringSet>
   [1]     chr1  [31, 31]      * |              A
   [2]     chr1  [32, 32]      * |              C
   [3]     chr1  [33, 33]      * |              T

   seqlengths
    chr1
      NA

   > gr2
   GRanges with 3 ranges and 1 elementMetadata value
       seqnames    ranges strand |            ref
          <Rle> <IRanges>  <Rle> | <DNAStringSet>
   [1]     chr1  [31, 31]      * |              G
   [2]     chr1  [32, 32]      * |              G
   [3]     chr1  [33, 33]      * |              N

   seqlengths
    chr1
      NA

   > identical(gr1, gr2)
   [1] TRUE

False negatives:

   > elementMetadata(gr2)$ref <- DNAStringSet(c("GG", "A", "C", "T"))[-1]

   > gr2
   GRanges with 3 ranges and 1 elementMetadata value
       seqnames    ranges strand |            ref
          <Rle> <IRanges>  <Rle> | <DNAStringSet>
   [1]     chr1  [31, 31]      * |              A
   [2]     chr1  [32, 32]      * |              C
   [3]     chr1  [33, 33]      * |              T

   seqlengths
    chr1
      NA

   > identical(gr1, gr2)
   [1] FALSE

Cheers,
H.

>
> Thanks,
>         Dario.
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel


-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list