[Bioc-devel] deprecation of keepSeqlevels and renameSeqlevels
Hervé Pagès
hpages at fhcrc.org
Tue May 21 01:13:30 CEST 2013
Hi,
On 05/20/2013 03:15 PM, Michael Lawrence wrote:
> On Mon, May 20, 2013 at 3:11 PM, Martin Morgan <mtmorgan at fhcrc.org> wrote:
>
>> Hi Michael --
>>
>>
>> On 5/20/2013 5:56 AM, Michael Lawrence wrote:
>>
>>> While it's cool that seqlevels<- has become so flexible, I still claim
>>> that
>>> rename/keep/drop would be a lot easier to read, because they describe the
>>> high-level operation, and there's no reason to deprecate them. They're
>>> also
>>> easier to remember. For example, for dropping with seqlevels<-, the user
>>> needs
>>> to remember that "force" is necessary to drop. Much easier to just say
>>> "dropSeqlevels(), please". And reimplementing keepSeqlevels is still too
>>> complicated. Is it such a maintenance burden to have these simple
>>> wrappers sit
>>> on top of the low-level manipulators?
>>>
>>> Another suggestion: renameSeqlevels should not require a named vector (in
>>> cases
>>> where it is unnamed, require that it is parallel to the existing
>>> seqlevels, as
>>> with seqlevels<-).
>>>
>>
>> I didn't really indicate what drove my desire to see keepSeqlevels
>> deprecated. keepSeqlevels, seqlevels<-, and isActiveSeq were developed more
>> or less independently, and have different contracts. The different
>> contracts are confusing to the user, as is creating a usable help system
>> when there are multiple end points for what is a common operation. The help
>> pages of each were inadequate in different ways. And because the code was
>> developed independently, support for different objects was inconsistent. So
>> actually, yes, the maintenance (and use) burden for the previous state of
>> affairs was substantial.
>>
>> On the other hand, I agree that keepSeqlevels is convenient as a simple
>> wrapper around seqlevels<-, in the same way that setNames and names<- are
>> both useful.
>>
>> So we could iterate to
>>
>> keepSeqlevels <-
>> function(x, value, ...)
>> {
>> seqlevels(x, force=TRUE) <- value
>> x
>> }
>>
>> but I'd be less enthusiastic about maintaining the original contract of
>> keepSeqlevels, where keepSeqlevels(gr1, gr2), would have worked for two
>> GRanges objects.
Why would this be called keepSeqlevels() if, depending on how it's used,
it will either add, drop, rename, or permute the seqlevels?
Couldn't this be called setSeqlevels?
H.
>>
>>
> Well, I wasn't even aware of that feature, so you've made your point about
> the documentation ;) Sounds like a good compromise to me.
>
> Thanks for understanding,
> Michael
>
>
>
>> Martin
>>
>>
>>> Michael
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Sat, May 18, 2013 at 6:00 PM, Martin Morgan <mtmorgan at fhcrc.org
>>> <mailto:mtmorgan at fhcrc.org>> wrote:
>>>
>>> On 05/18/2013 05:42 PM, Martin Morgan wrote:
>>>
>>> Some of the most common operations are straight-forward, e.g.,
>>>
>>> > gr = GRanges(paste0("chr", c(1:22, "X", "Y")), IRanges(1,
>>> 100))
>>> > seqlevels(gr) = sub("chr", "ch", seqlevels(gr))
>>>
>>>
>>> To get a more comprehensive example I should have followed my own
>>> advice and
>>> grabbed from the help page!
>>>
>>> ## Rename:
>>> seqlevels(txdb) <- sub("chr", "", seqlevels(txdb))
>>> seqlevels(txdb)
>>>
>>> seqlevels(txdb) <- paste0("CH", seqlevels(txdb))
>>> seqlevels(txdb)
>>>
>>> seqlevels(txdb)[seqlevels(__**txdb) == "CHM"] <- "M"
>>>
>>> seqlevels(txdb)
>>>
>>>
>>> --
>>> Computational Biology / Fred Hutchinson Cancer Research Center
>>> 1100 Fairview Ave. N.
>>> PO Box 19024 Seattle, WA 98109
>>>
>>> Location: Arnold Building M1 B861
>>> Phone: (206) 667-2793 <tel:%28206%29%20667-2793>
>>>
>>>
>>>
>>
>> --
>> Dr. Martin Morgan, PhD
>>
>> Fred Hutchinson Cancer Research Center
>> 1100 Fairview Ave. N.
>> PO Box 19024 Seattle, WA 98109
>>
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> 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 fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the Bioc-devel
mailing list