Thanks Michael! 

I did not know about the `magic` :-)

There are 2 reasons I use genomeIntervals in parallel to IRanges and 
rtracklayer.

First, IMO and experience, the readGff3 function is more robust to incorrectly 
formatted gff files. In addition accessing the attributes is extremely fast 
using the parseGffAttributes and getGffAttribute functions.

Second, the genomeIntervals had the interval_complement function implemented 
from the beginning and this has only recently been addressed in IRanges through 
the gaps function.

Cheers,

Nico

---------------------------------------------------------------
Nicolas Delhomme

High Throughput Functional Genomics Center

European Molecular Biology Laboratory

Tel: +49 6221 387 8310
Email: nicolas.delho...@embl.de
Meyerhofstrasse 1 - Postfach 10.2209
69102 Heidelberg, Germany
---------------------------------------------------------------




On 29 Mar 2011, at 14:40, Michael Lawrence wrote:

> 
> 
> On Tue, Mar 29, 2011 at 3:17 AM, Nicolas Delhomme <delho...@embl.de> wrote:
> Hi Martin,
> 
> But how would you do for the "replacement" functions, i.e. strand<- ?
> 
> The following does not work:
> 
> library(genomeIntervals)
> j <- new(
>               "Genome_intervals_stranded",
>               matrix(
>                      c(1,2,
>                        3,5,
>                        4,6,
>                        8,9
>                        ),
>                      byrow = TRUE,
>                      ncol = 2
>               ),
>               closed = matrix(
>                                      c(
>                                              FALSE, FALSE,
>                                              TRUE, FALSE,
>                                              TRUE, TRUE,
>                                              TRUE, FALSE
>                                       ),
>                                      byrow = TRUE,
>                              ncol = 2
>                              ),
>           annotation = data.frame(
>                                      seq_name = factor( c("chr01","chr01", 
> "chr02","chr02") ),
>                                              strand = factor( c("+", "+", 
> "+", "-") ),
>                                              inter_base = 
> c(FALSE,FALSE,FALSE,TRUE)
>                                              )
>               )
> 
> > genomeIntervals::strand(j)<-factor(rep("+",4),levels=c("+","-"))
> Error in genomeIntervals::strand(j) <- factor(rep("+", 4), levels = c("+",  :
>  invalid function in complex assignment
> 
> 
> 
> genomeIntervals::`strand<-`(j, factor(rep("+", 4), levels=c("+", "-")))
>  
> Btw, I'm kind of curious as to why people are using the both packages at the 
> same time. What are the use-cases for using one vs. another?
> 
> Cheers,
> 
> Nico
> 
> 
> > sessionInfo()
> R version 2.12.2 (2011-02-25)
> Platform: x86_64-unknown-linux-gnu (64-bit)
> 
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> other attached packages:
> [1] genomeIntervals_1.6.0 Biobase_2.10.0        intervals_0.13.3
> 
> loaded via a namespace (and not attached):
> [1] tools_2.12.2
> >
> 
> ---------------------------------------------------------------
> Nicolas Delhomme
> 
> High Throughput Functional Genomics Center
> 
> European Molecular Biology Laboratory
> 
> Tel: +49 6221 387 8310
> Email: nicolas.delho...@embl.de
> Meyerhofstrasse 1 - Postfach 10.2209
> 69102 Heidelberg, Germany
> ---------------------------------------------------------------
> 
> 
> 
> 
> On 28 Mar 2011, at 19:42, Martin Morgan wrote:
> 
> > On 03/28/2011 05:11 AM, Julien Gagneur wrote:
> >> Hi,
> >>
> >> both genomeIntervals and the more recent GenomicRanges define a
> >> generic method 'strand'. There is the same issue for the method
> >> 'reduce' between IRanges and 'Intervals' (which is on CRAN, not on
> >> Bioconductor). This leads to conflicts for users that load both
> >> packages. Below sample code (the same happens on R 2.13 devel).
> >>
> >> How shall we solve that?
> >
> > In general, specify the package from which the generic comes from
> >
> > GenomicRanges::strand
> > genomeIntervals::strand
> >
> > It would in general be nice to coordinate generics across packages, but the 
> > prospects for that in this particular case are unclear -- genomeIntervals 
> > and GenomicRanges have pretty independent and more-or-less mutually 
> > exclusive dependencies.
> >
> > Martin
> >
> >>
> >> Thanks for your advices,
> >>
> >> Julien Gagneur
> >>
> >>
> >>
> >>
> >>> library(GenomicRanges)
> >> Loading required package: IRanges
> >>
> >> Attaching package: 'IRanges'
> >>
> >> The following object(s) are masked from 'package:base':
> >>
> >> Map, cbind, eval, mapply, order, paste, pmax, pmax.int, pmin,
> >> pmin.int, rbind, rep.int, table
> >>
> >>> library(genomeIntervals)
> >> Loading required package: intervals
> >>
> >> Attaching package: 'intervals'
> >>
> >> The following object(s) are masked from 'package:IRanges':
> >>
> >> reduce
> >>
> >>
> >> Attaching package: 'genomeIntervals'
> >>
> >> The following object(s) are masked from 'package:GenomicRanges':
> >>
> >> strand, strand<-
> >>
> >>> grngs = GRanges(seqnames=c("chr1", "chr2"),
> >>> ranges=IRanges(start=1:2, end=2:3), strand=c("+","-"))
> >>> strand(grngs)
> >> Error in function (classes, fdef, mtable)  : unable to find an
> >> inherited method for function "strand", for signature "GRanges"
> >>> reduce(grngs)
> >> Error in function (classes, fdef, mtable)  : unable to find an
> >> inherited method for function "reduce", for signature "GRanges"
> >>
> >>> sessionInfo()
> >> R version 2.12.1 (2010-12-16) Platform:
> >> x86_64-apple-darwin9.8.0/x86_64 (64-bit)
> >>
> >> locale: [1] C
> >>
> >> attached base packages: [1] stats     graphics  grDevices utils
> >> datasets  methods   base
> >>
> >> other attached packages: [1] intervals_0.13.1    GenomicRanges_1.2.3
> >> IRanges_1.8.9
> >>
> >> loaded via a namespace (and not attached): [1] Biobase_2.10.0
> >> genomeIntervals_1.7.4 tools_2.12.1
> >>
> >> _______________________________________________ Bioc-sig-sequencing
> >> mailing list Bioc-sig-sequencing@r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
> >
> >
> > --
> > Computational Biology
> > Fred Hutchinson Cancer Research Center
> > 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109
> >
> > Location: M1-B861
> > Telephone: 206 667-2793
> >
> > _______________________________________________
> > Bioc-sig-sequencing mailing list
> > Bioc-sig-sequencing@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
> 
> _______________________________________________
> Bioc-sig-sequencing mailing list
> Bioc-sig-sequencing@r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
> 

_______________________________________________
Bioc-sig-sequencing mailing list
Bioc-sig-sequencing@r-project.org
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing

Reply via email to