[Bioc-sig-seq] IRanges - start and width replacement methods for RangedData and RangesList
Patrick Aboyoun
paboyoun at fhcrc.org
Mon Jul 13 22:07:12 CEST 2009
Nicolas,
Michael is out globetrotting so I have taken up your suggestion for
adding "start<-", "end<-", and "width<-" methods for RangedData and
RangesList objects. You can find these new methods in a recent svn BioC
2.5 (devel) check-in to IRanges version 1.3.34, which should be
available 24 hours from now from bioconductor.org. These methods accept
either an appropriately formed integer vector that will be split by
space(x) or an IntegerList object of the same makeup as x. There is also
an optimization when the RangesList is of subclass
CompressedIRangesList. Here is some example code using this new
functionality:
> suppressMessages(library(IRanges))
> ranges1 <- IRanges(start=c(1,2,3), end=c(5,2,8))
> ranges2 <- IRanges(start=c(15,45,20,1), end=c(15,100,80,5))
> rangeslist <- IRangesList(one = ranges1, two = ranges2)
> rangeddata <- RangedData(c(ranges1, ranges2), X = rnorm(7),
+ space = rep(c("one", "two"), elementLengths(rangeslist)))
> start(rangeslist)
[1] 1 2 3 15 45 20 1
> start(rangeslist) <- 1L
> start(rangeslist)
[1] 1 1 1 1 1 1 1
> width(rangeddata)
[1] 5 1 6 1 56 61 5
> width(rangeddata) <- seq_len(nrow(rangeddata))
> width(rangeddata)
[1] 1 2 3 4 5 6 7
> sessionInfo()
R version 2.10.0 Under development (unstable) (2009-06-28 r48863)
i386-apple-darwin9.7.0
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] IRanges_1.3.34
Patrick
Nicolas Delhomme wrote:
> Hello Michael, everybody,
>
> I had a need for the "start" and "width" replacement methods for
> objects of type RangedData and RangesList. I've attached the method
> below for two reasons:
>
> 1) I'd like to have them checked by an expert eye (not that I end up
> messing up my analyses...)
>
> 2) depending on 1), they might actually be worthy for others :-)
>
> setReplaceMethod("start","RangesList",function(x,check=TRUE,value){
> values <- split(value,space(x))
> for(i in seq(along=x)){
> start(x[[i]]) <- values[[i]]
> }
> x
> })
>
> setReplaceMethod("start","RangedData",function(x,check=TRUE,value){
> start(ranges(x))<-value
> return(x)
> })
>
> setReplaceMethod("width","RangesList",function(x,check=TRUE,value){
> values <- split(value,space(x))
> for(i in seq(along=x)){
> width(x[[i]]) <- values[[i]]
> }
> x
> })
>
> setReplaceMethod("width","RangedData",function(x,check=TRUE,value){
> width(ranges(x))<-value
> return(x)
> })
>
> Best,
>
> Nico
>
> ---------------------------------------------------------------
> Nicolas Delhomme
>
> High Throughput Functional Genomics Center
>
> European Molecular Biology Laboratory
>
> Tel: +49 6221 387 8426
> Email: nicolas.delhomme at embl.de
> Meyerhofstrasse 1 - Postfach 10.2209
> 69102 Heidelberg, Germany
>
> _______________________________________________
> Bioc-sig-sequencing mailing list
> Bioc-sig-sequencing at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
More information about the Bioc-sig-sequencing
mailing list