[Bioc-devel] as.character method for GenomicRanges?

Hervé Pagès hpages at fredhutch.org
Tue Sep 15 19:38:47 CEST 2015


Hi Michael and Michael,

It's on its way. Probably before the end of the week. Thanks for the
reminder!

H.

On 09/15/2015 10:07 AM, Michael Love wrote:
> +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 <mailto: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
>     <mailto: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>
>      >> <mailto: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>>
>      >>         <mailto: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>>>
>      >>                  <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
>     <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>>>
>      >>                  <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 <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>
>      >> >>
>      >>                  <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
>     <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>>>
>      >>                  <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
>     <mailto:hpages at fredhutch.org>>>>
>      >>                       Phone: (206) 667-5791
>     <tel:%28206%29%20667-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>
>      >>                  <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>
>      >> >>
>      >>                  <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
>     <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>
>      >>
>      >>
>      >>
>      >>     --
>      >>     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>
>      >
>
>              [[alternative HTML version deleted]]
>
>     _______________________________________________
>     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
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list