The in-line usage makes sense. How about dropmcols() or something, at least for removing the mcols?
On Mon, May 5, 2014 at 1:25 AM, Julian Gehring <julian.gehr...@embl.de>wrote: > Hi Tim, > > I was looking for a similar function a while ago, and created the > 'grangesPlain' function in 'SomaticSignatures': > > grangesPlain <- > function (x) > { > mcols(x) = NULL > x = as(x, "GRanges") > return(x) > } > > It removes the metadata columns, as Michael described. Further, it > performs an explicit conversion to a 'GRanges' object - in case that 'x' > has a derived class like a 'VRanges'. > > The main motivation for an extra function is that you can use it inline, > e.g > > resize(sort(grangesPlain(x)), ...) > > works. It would be great to have such functionality as part of the bioc > core. > > Best wishes > Julian > > > > On 05.05.2014 01:56, Michael Lawrence wrote: > >> Why not just do >> >> mcols(gr) <- NULL >> >> It's way more obvious than granges(gr). And that should happen virtually >> instantaneously in R 3.1, regardless of the length. >> >> >> >> >> On Sun, May 4, 2014 at 3:55 PM, Tim Triche, Jr. <tim.tri...@gmail.com >> >wrote: >> >> Right, what I was wondering however is whether it's possible not to >>> create >>> or modify the object at all, but rather access only the necessary bits. >>> >>> It seems like a slightly different structure that puts all the location >>> in >>> one place (say @granges) and the metadata in another (as it presently is) >>> might be handy to avoid this hoohah. That's rather a larger change. >>> >>> --t >>> >>> On May 4, 2014, at 3:23 PM, "Johnston, Jeffrey" <j...@stowers.org> >>>> wrote: >>>> >>>> >>>> On May 4, 2014, at 3:50 PM, Tim Triche, Jr. <tim.tri...@gmail.com> >>>>> >>>> wrote: >>> >>>> >>>>> I wanted something to extract @ranges from a GRanges object along with >>>>> >>>> its >>> >>>> @seqnames, @strand, and @seqinfo. Essentially, everything but the >>>>> >>>> mcols. >>> >>>> >>>>> Does this make sense? Is there a lighter-weight way to avoid any >>>>> >>>> copying >>> >>>> in-flight? >>>>> >>>>> >>>>> setMethod("granges", "GRanges", function(x) { >>>>> GRanges(seqnames=seqnames(x), >>>>> ranges=ranges(x), >>>>> strand=strand(x), >>>>> seqinfo=seqinfo(x)) >>>>> }) >>>>> >>>>> >>>>> The fact that I'm constructing an entire new GRanges makes me a little >>>>> queasy... that said, it has turned out to be useful when I just want a >>>>> short list of locations, as for debugging plotting functions, profile >>>>> plots, or what have you. >>>>> >>>> >>>> >>>> Perhaps just this: >>>> >>>> setMethod("granges", "GRanges", function(x) { >>>> mcols(x) <- NULL >>>> x >>>> }) >>>> >>>> >>>> >>>> >>> _______________________________________________ >>> Bioc-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >>> >>> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> Bioc-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >> [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel