[Bioc-devel] as.character method for GenomicRanges?
Michael Love
michaelisaiahlove at gmail.com
Tue Sep 15 19:07:17 CEST 2015
+1
I was in need of this function yesterday and generally about once a week,
when looking up ranges in IGV or UCSC.
On Tue, Sep 15, 2015 at 12:59 PM, Michael Lawrence <
lawrence.michael at gene.com> wrote:
> Did this as.character method ever get added? It was a good idea, and we
> should add it even though we haven't figured out the table stuff yet. It's
> fine if it appends the strand whenever there is at least one range with
> +/-.
>
> Michael
>
> On Mon, Apr 27, 2015 at 2:23 PM, Hervé Pagès <hpages at fredhutch.org> wrote:
>
> > On 04/27/2015 02:15 PM, Michael Lawrence wrote:
> >
> >> It would be nice to have a single function call that would hide these
> >> details. It could probably be made more efficient also by avoiding
> >> multiple matching, unnecessary revmap lists, etc. tableAsGRanges() is
> >> not a good name but it conveys what I mean (does that make it actually
> >> good?).
> >>
> >
> > There is nothing specific to GRanges here. We're just reporting the
> > frequency of unique elements in a metadata column so this belongs to
> > the "extended" Vector API in the same way that findMatches/countMatches
> > do.
> >
> > H.
> >
> >
> >> On Mon, Apr 27, 2015 at 12:23 PM, Hervé Pagès <hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org>> wrote:
> >>
> >> On 04/24/2015 11:41 AM, Michael Lawrence wrote:
> >>
> >> Taking this a bit off topic but it would be nice if we could get
> >> the
> >> GRanges equivalent of as.data.frame(table(x)), i.e., unique(x)
> >> with a
> >> count mcol. Should be easy to support but what should the API be
> >> like?
> >>
> >>
> >> This was actually the motivating use case for introducing
> >> findMatches/countMatches a couple of years ago:
> >>
> >> ux <- unique(x)
> >> mcols(ux)$Freq <- countMatches(ux, x)
> >>
> >> Don't know what a good API would be to make this even more
> >> straightforward though. Maybe via some extra argument to unique()
> >> e.g. 'with.freq'? This is kind of similar to the 'with.revmap'
> >> argument of reduce(). Note that unique() could also support the
> >> 'with.revmap' arg. Once it does, the 'with.freq' arg can also
> >> be implemented by just calling elementLengths() on the "revmap"
> >> metadata column.
> >>
> >> H.
> >>
> >>
> >> On Fri, Apr 24, 2015 at 10:54 AM, Hervé Pagès
> >> <hpages at fredhutch.org <mailto:hpages at fredhutch.org>
> >> <mailto:hpages at fredhutch.org <mailto:hpages at fredhutch.org>>>
> >> wrote:
> >>
> >> On 04/24/2015 10:18 AM, Michael Lawrence wrote:
> >>
> >> It is a great idea, but I'm not sure I would use it to
> >> implement
> >> table(). Allocating those strings will be costly. Don't
> >> we
> >> already have
> >> the 4-way int hash? Of course, my intuition might be
> >> completely
> >> off here.
> >>
> >>
> >> It does use the 4-way int hash internally. as.character()
> >> is only used
> >> at the very-end to stick the names on the returned table
> >> object.
> >>
> >> H.
> >>
> >>
> >>
> >> On Fri, Apr 24, 2015 at 9:59 AM, Hervé Pagès
> >> <hpages at fredhutch.org <mailto:hpages at fredhutch.org>
> >> <mailto:hpages at fredhutch.org <mailto:hpages at fredhutch.org>>
> >> <mailto:hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org> <mailto:hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org>>>> wrote:
> >>
> >> Hi Pete,
> >>
> >> Excellent idea. That will make things like table()
> >> work
> >> out-of-the-box
> >> on GenomicRanges objects. I'll add that.
> >>
> >> Thanks,
> >> H.
> >>
> >>
> >>
> >> On 04/24/2015 09:43 AM, Peter Haverty wrote:
> >>
> >> Would people be interested in having this:
> >>
> >> setMethod("as.character", "GenomicRanges",
> >> function(x) {
> >> paste0(seqnames(x), ":",
> >> start(x), "-",
> >> end(x))
> >> })
> >>
> >> ?
> >>
> >> I find myself doing that a lot to make unique
> >> names or for
> >> output that
> >> goes to collaborators. I suppose we might
> >> want to tack
> >> on the
> >> strand if it
> >> isn't "*". I have some code for going the
> other
> >> direction too,
> >> if there is
> >> interest.
> >>
> >>
> >>
> >> Pete
> >>
> >> ____________________
> >> Peter M. Haverty, Ph.D.
> >> Genentech, Inc.
> >> phaverty at gene.com <mailto:phaverty at gene.com>
> >> <mailto:phaverty at gene.com <mailto:phaverty at gene.com>>
> >> <mailto:phaverty at gene.com <mailto:phaverty at gene.com>
> >> <mailto:phaverty at gene.com <mailto:phaverty at gene.com>>>
> >>
> >> [[alternative HTML version deleted]]
> >>
> >>
> _______________________________________________
> >> Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org>
> >> <mailto:Bioc-devel at r-project.org <mailto:
> Bioc-devel at r-project.org
> >> >>
> >> <mailto:Bioc-devel at r-project.org
> >> <mailto:Bioc-devel at r-project.org>
> >> <mailto:Bioc-devel at r-project.org <mailto:
> 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 fredhutch.org
> >> <mailto:hpages at fredhutch.org> <mailto:hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org>>
> >> <mailto:hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org> <mailto:hpages at fredhutch.org
> >> <mailto:hpages at fredhutch.org>>>
> >> Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
> >> <tel:%28206%29%20667-5791>
> >> <tel:%28206%29%20667-5791>
> >> Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
> >> <tel:%28206%29%20667-1319>
> >> <tel:%28206%29%20667-1319>
> >>
> >>
> >> _______________________________________________
> >> Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org>
> >> <mailto:Bioc-devel at r-project.org <mailto:
> Bioc-devel at r-project.org
> >> >>
> >> <mailto:Bioc-devel at r-project.org
> >> <mailto:Bioc-devel at r-project.org>
> >> <mailto:Bioc-devel at r-project.org
> >> <mailto: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 fredhutch.org <mailto:hpages at fredhutch.org>
> >> <mailto:hpages at fredhutch.org <mailto:hpages at fredhutch.org>>
> >> Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
> >> <tel:%28206%29%20667-5791>
> >> Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
> >> <tel:%28206%29%20667-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 fredhutch.org <mailto:hpages at fredhutch.org>
> >> Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
> >> Fax: (206) 667-1319 <tel:%28206%29%20667-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 fredhutch.org
> > Phone: (206) 667-5791
> > Fax: (206) 667-1319
> >
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list