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

Hervé Pagès hpages at fredhutch.org
Thu Sep 17 19:14:34 CEST 2015


Done. (see Coercion section in ?GRanges)

Thanks for trusting the professionals.

H.

On 09/15/2015 10:51 AM, Tim Triche, Jr. wrote:
> rad, I was just about to say, "hey, I've written that function in 3
> different places, I think I could send in a patch..." and then of course
> Herve is on it.
>
> I need to remember to leave things to the professionals...
>
> --t
>
> On Tue, Sep 15, 2015 at 10:38 AM, Hervé Pagès <hpages at fredhutch.org
> <mailto:hpages at fredhutch.org>> wrote:
>
>     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>
>         <mailto: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>
>              <mailto: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>>
>               >> <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 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>>>
>               >>         <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:
>               >>
>               >>              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>>>>
>               >>                  <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
>         <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>>>>
>               >>                  <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 <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>>
>               >> >>
>               >>                  <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
>         <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>>>>
>               >>                  <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 <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>
>               >>                  <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>
>               >>                  <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>>
>               >> >>
>               >>                  <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
>         <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>
>               >>
>               >>
>               >>
>               >>     --
>               >>     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>
>               >
>
>                       [[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>> 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>
>     Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
>     Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
>
>     _______________________________________________
>     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