[Bioc-devel] [BioC] granges() method for GenomicRanges objects akin to ranges()...
Hervé Pagès
hpages at fhcrc.org
Mon May 5 23:29:30 CEST 2014
On 05/05/2014 02:12 PM, Cook, Malcolm wrote:
>> On 05/05/2014 01:00 PM, Cook, Malcolm wrote:
> >> Wondering,
> >>
> >> Is it too off the beaten track to expect
> >>
> >> `mcols<-`(x,NULL)
> >
> > > args(`mcols<-`)
> > function (x, ..., value)
> >
> >Arguments after the ellipsis must be named:
> >
> > `mcols<-`(x, value=NULL)
>
> Herve - Great - of course - so - does this not provide the means requested by the original poster?
I think Tim also wanted 'x' to be downgraded to a GRanges instance,
like Julian's grangesPlain() does. We could use granges() for that.
Deciding of an idiom that can be used inline for just dropping the
mcols would be good too. `mcols<-`(x, value=NULL) is a little bit
tricky, ugly, and error prone as you noticed. These are probably
enough reasons for not choosing it as *the* idiom. Its only advantage
is that it doesn't introduce a new symbol.
H.
>
> >
> >Nothing we can do about this.
> >
> >Cheers,
> >H.
> >
> >>
> >> to work?
> >>
> >> hint: it does not
> >>
> >> >-----Original Message-----
> >> >From: bioc-devel-bounces at r-project.org [mailto:bioc-devel-bounces at r-project.org] On Behalf Of Hervé Pagès
> >> >Sent: Monday, May 05, 2014 1:28 PM
> >> >To: Kasper Daniel Hansen; Michael Lawrence
> >> >Cc: Johnston, Jeffrey; ttriche at usc.edu; bioc-devel at r-project.org; bioconductor at r-project.org
> >> >Subject: Re: [Bioc-devel] [BioC] granges() method for GenomicRanges objects akin to ranges()...
> >> >
> >> >Hi,
> >> >
> >> >I have no problem using granges() for that. Just to clarify:
> >> > (a) it would propagate the names()
> >> > (b) it would drop the metadata()
> >> > (c) the mcols() would propagate only if 'use.mcols=TRUE' was
> >> > specified ('use.mcols' is FALSE by default)
> >> > (d) it would return a GRanges *instance* i.e. input object 'x'
> >> > would be downgraded to GRanges if it extends GRanges
> >> >
> >> >@Kasper: granges() on SummarizedExperiment ignores the 'use.mcols'
> >> >arg and always propagates the mcols. Alternatively you can use rowData()
> >> >which also propagates the mcols. granges() is actually just an alias
> >> >for rowData() on SummarizedExperiment objects.
> >> >
> >> >H.
> >> >
> >> >
> >> >On 05/05/2014 10:31 AM, Kasper Daniel Hansen wrote:
> >> >> I agree with Michael on this.
> >> >>
> >> >> I can see why, in some usage cases, granges() is convenient to have with
> >> >> use.mcols=FALSE (which seems to have been added in the latest release).
> >> >> But in my usage of granges(), where I call granges() on objects like
> >> >> SummarizedExperiments and friends, I have been expecting granges() to give
> >> >> me the GRange component of the object. Not a crippled version of the
> >> >> GRange component.
> >> >>
> >> >> This is - to me - very counter intuitive and I wish I had seen this
> >> >> earlier. It is particular frustrating that this default is part of the
> >> >> generic.
> >> >>
> >> >> Best,
> >> >> Kasper
> >> >>
> >> >>
> >> >> On Mon, May 5, 2014 at 12:11 PM, Michael Lawrence <lawrence.michael at gene.com
> >> >>> wrote:
> >> >>
> >> >>> In my opinion, granges() is not very clear as to the intent. The mcols are
> >> >>> part of the GRanges, so why would calling granges() drop them? I think we
> >> >>> want something similar to unclass(), unname(), etc. This why I suggested
> >> >>> dropmcols().
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> On Mon, May 5, 2014 at 8:17 AM, Tim Triche, Jr. <tim.triche at gmail.com
> >> >>>> wrote:
> >> >>>
> >> >>>> That's exactly what I was after -- the generic is already defined, so why
> >> >>>> not use it?
> >> >>>>
> >> >>>> --t
> >> >>>>
> >> >>>>> On May 5, 2014, at 7:42 AM, Julian Gehring <julian.gehring at embl.de>
> >> >>>> wrote:
> >> >>>>>
> >> >>>>> Hi,
> >> >>>>>
> >> >>>>>> On 05.05.2014 16:22, Martin Morgan wrote:
> >> >>>>>> generalize as setMcols, like setNames? setMcols(x, NULL)
> >> >>>>>
> >> >>>>> How about Tim's original suggestion, to add a 'granges' method that
> >> >>>> works on a 'GRanges' input? The current definition
> >> >>>>>
> >> >>>>> granges(x, use.mcols=FALSE, ...)
> >> >>>>>
> >> >>>>> seem suited for this.
> >> >>>>>
> >> >>>>> Best wishes
> >> >>>>> Julian
> >> >>>>
> >> >>>
> >> >>> [[alternative HTML version deleted]]
> >> >>>
> >> >>> _______________________________________________
> >> >>> Bioc-devel at r-project.org mailing list
> >> >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >> >>>
> >> >>
> >> >> [[alternative HTML version deleted]]
> >> >>
> >> >> _______________________________________________
> >> >> 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
> >> >
> >> >_______________________________________________
> >> >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
>
--
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