Dario,
Make sure you provide your sessionInfo() when reporting behavior. The answer to you second issue dealing with the lapply method is due to symbol masking. The GenomicRanges package uses the implicit generic for lapply created by the IRanges package. This implicit generic is not the one you selected when you ran your lapply command. Next time to be sure you grab the correct lapply function, you can use IRanges::lapply(grl, ...).

> library("GenomicRanges")
> find("lapply")
[1] "package:IRanges" "package:base"
> sessionInfo()
R version 2.12.0 Under development (unstable) (2010-08-01 r52659)
Platform: i386-apple-darwin9.8.0/i386 (32-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8

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

other attached packages:
[1] GenomicRanges_1.1.20 IRanges_1.7.15

The first issue you reported is intended. GRanges objects are only bound if the seqlengths are non-NAs. For example, to get behavior that you are expecting, set the seqlengths to positive integer values:

> gr <- GRanges("chr2", IRanges(250, 285), strand="-", seqlengths = c(chr2=300))
> gr
GRanges with 1 range and 0 elementMetadata values
    seqnames     ranges strand |
<Rle> <IRanges> <Rle> |
[1]     chr2 [250, 285]      - |

seqlengths
 chr2
  300
> resize(gr, 300)
GRanges with 1 range and 0 elementMetadata values
    seqnames    ranges strand |
<Rle> <IRanges> <Rle> |
[1]     chr2  [1, 285]      - |

seqlengths
 chr2
  300
Warning message:
In `start<-`(`*tmp*`, value = -14L) : trimmed start values to be positive

I hope this helps.

Cheers,

Patrick


On 8/5/10 6:00 PM, Dario Strbenac wrote:
Hi,

I'd like to point out that resize extends beyond the start of a chromosome, for 
reads that are close to the start, and on the negative strand.

gr
GRanges with 1 range and 0 elementMetadata values
     seqnames     ranges strand |
        <Rle>   <IRanges>   <Rle>  |
[1]     chr2 [250, 285]      - |

resize(gr, 300)
GRanges with 1 range and 0 elementMetadata values
     seqnames     ranges strand |
        <Rle>   <IRanges>   <Rle>  |
[1]     chr2 [-14, 285]      - |

seqlengths
  chr2
    NA

Would the desirable behaviour be to only extend to base 1 ?

One more question. In the user manual (page 12, bottom), it says lapply can be 
used on a GRangesList, but it's not working for me.

grl
GRangesList of length 3
$gr1
GRanges with 1 range and 2 elementMetadata values
     seqnames    ranges strand |     score        GC
        <Rle>  <IRanges>   <Rle>  |<integer>  <numeric>
[1]     chr2    [3, 6]      + |         5      0.45

$gr2
GRanges with 2 ranges and 2 elementMetadata values
     seqnames    ranges strand |     score        GC
        <Rle>  <IRanges>   <Rle>  |<integer>  <numeric>
[1]     chr1  [ 7,  9]      + |         3       0.3
[2]     chr1  [13, 15]      - |         4       0.5

$gr3
GRanges with 2 ranges and 2 elementMetadata values
     seqnames    ranges strand |     score        GC
        <Rle>  <IRanges>   <Rle>  |<integer>  <numeric>
[1]     chr1    [1, 3]      - |         6       0.4
[2]     chr2    [4, 9]      - |         2       0.1


seqlengths
  chr2 chr1
    NA   NA

lapply(grl, cat, "Hello")
Error in as.list.default(X) :
   no method for coercing this S4 class to a vector

--------------------------------------
Dario Strbenac
Research Assistant
Cancer Epigenetics
Garvan Institute of Medical Research
Darlinghurst NSW 2010
Australia

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


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

Reply via email to