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 <hpa...@fredhutch.org <mailto:hpa...@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 <hpa...@fredhutch.org <mailto:hpa...@fredhutch.org> <mailto:hpa...@fredhutch.org <mailto:hpa...@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. phave...@gene.com <mailto:phave...@gene.com> <mailto:phave...@gene.com <mailto:phave...@gene.com>> [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org <mailto:Bioc-devel@r-project.org> <mailto:Bioc-devel@r-project.org <mailto:Bioc-devel@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: hpa...@fredhutch.org <mailto:hpa...@fredhutch.org> <mailto:hpa...@fredhutch.org <mailto:hpa...@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> _______________________________________________ Bioc-devel@r-project.org <mailto:Bioc-devel@r-project.org> <mailto:Bioc-devel@r-project.org <mailto:Bioc-devel@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: hpa...@fredhutch.org <mailto:hpa...@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: hpa...@fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319 _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel