FWIW, this change also affects code that don't call as.list() explicitly.

such as calling Reduce(union, granges), Reduce is implemented on base, and
will call as.list() if the predicate isn't a vector already.

I understand it wasn't intended to be used this way, but with this in mind
there are more packages potentially affected by the change.

On Fri, Feb 16, 2018 at 1:25 PM, Nathan Sheffield <nat...@code.databio.org>
wrote:

> For what it's worth, my package (LOLA) was one that used as.list on a
> GRanges or GRangesList, and those calls were broken by changes to devel.
> Since I was also pushing changes at the time, I assumed the devel build
> errors were due to my updates -- I spent quite a bit of time trying to
> figure out what was wrong before I realized this breakage was not caused by
> my updates, but by upstream changes in GRanges...eventually I tracked down
> errors to as.list (and ultimately, found other errors, which we discussed
> earlier on this list), but my conclusion from this was that, from my
> perspective, using the deployed bioc devel as a way to test for what
> refactoring will break doesn't seem like the ideal way to go -- I assumed
> that generally, other package changes wouldn't typically be pushed that
> would break my package's build, so it devalued the role of the dev builds
> and reduced my confidence in using that (now when I see error I may assume
> it's something else, and wait a few days, instead of diving right in to try
> to solve the problem).
>
> I like the idea of temporarily restoring as.list with a deprecation
> message -- also, as a general development philosophy going forward in terms
> of testing on devel. This would have saved me a lot of time troubleshooting
> in this instance.
>
> Just my 2 cents.
>
> -Nathan
>
>
>
> On 02/16/2018 02:57 AM, Bernat Gel wrote:
>
>> Hi Hervé and others,
>>
>> Thanks for the responses.
>>
>> I woudn't call as.list() of a GRanges an "obscure behaviour" but more a
>> "works as expected, even if not clearly documented" behaviour.
>>
>> In any case I can change the code to as(gr, "GRangesList") as suggested.
>>
>> Thanks again for the responses and discussion :)
>>
>> Bernat
>>
>>
>> *Bernat Gel Moreno*
>> Bioinformatician
>>
>> Hereditary Cancer Program
>> Program of Predictive and Personalized Medicine of Cancer (PMPPC)
>> Germans Trias i Pujol Research Institute (IGTP)
>>
>> Campus Can Ruti
>> Carretera de Can Ruti, Camí de les Escoles s/n
>> 08916 Badalona, Barcelona, Spain
>>
>> Tel: (+34) 93 554 3068
>> Fax: (+34) 93 497 8654
>> 08916 Badalona, Barcelona, Spain
>> b...@igtp.cat <mailto:b...@igtp.cat>
>> www.germanstrias.org <http://www.germanstrias.org/>
>>
>> <http://www.germanstrias.org/>
>>
>>
>>
>>
>>
>>
>>
>> El 02/15/2018 a las 11:19 PM, Hervé Pagès escribió:
>>
>>> On 02/15/2018 01:57 PM, Michael Lawrence wrote:
>>>
>>>>
>>>>
>>>> On Thu, Feb 15, 2018 at 1:45 PM, Hervé Pagès <hpa...@fredhutch.org
>>>> <mailto:hpa...@fredhutch.org>> wrote:
>>>>
>>>>     On 02/15/2018 11:53 AM, Cook, Malcolm wrote:
>>>>
>>>>         Hi,
>>>>
>>>>         Can I ask, is this change under discussion in current release or
>>>>         so far in Bioconductor devel only (my assumption)?
>>>>
>>>>
>>>>     Bioconductor devel only.
>>>>
>>>>
>>>>            > On 02/15/2018 08:37 AM, Michael Lawrence wrote:
>>>>            > > So is as.list() no longer supported for GRanges objects?
>>>>         I have found it
>>>>            > > useful in places.
>>>>            >
>>>>            > Very few places. I found a dozen of them in the entire
>>>>         software repo.
>>>>
>>>>         However there are probably more in the wild...
>>>>
>>>>
>>>>     What as.list() was doing on a GRanges object was not documented.
>>>> Relying
>>>>     on some kind of obscure undocumented feature is never a good idea.
>>>>
>>>>
>>>> There's just too much that is documented implicitly through inherited
>>>> behaviors, or where we say things like "this data structure behaves as one
>>>> would expect given base R". It's not fair to claim that those features are
>>>> undocumented. Our documentation is not complete enough to use it as an
>>>> excuse.
>>>>
>>>
>>> It's not fair to suggest that this is a widely used feature either.
>>>
>>> I've identified all the places in the 1500 software packages where
>>> this was used, and, as I said, there were very few places. BTW I
>>> fixed most of them but my plan is to fix all of them. Some of the
>>> code that is outside the Bioc package corpus might be affected but
>>> it's fair to assume that this will be a very rare occurence. This can
>>> be mitigated by temporary restoring as.list() on GRanges, with a
>>> deprecation message, and wait 1 more devel cycle to replace it with
>>> the new behavior. I chose to disable it for now, on purpose, so I can
>>> identify packages that break (the build report is a great tool for
>>> that) and fix them.
>>>
>>> I'm not using the fact that as.list() on a GRanges is not documented
>>> as an excuse for anything. Only to help those with concerns to
>>> relativize and relax.
>>>
>>> H.
>>>
>>>
>>>>
>>>>            > Now you should use as.list(as(gr, "GRangesList")) instead.
>>>>            > as.list() was behaving inconsistently on IRanges and
>>>>         GRanges objects,
>>>>            > which is blocking new developments. It will come back with
>>>>         a consistent
>>>>            > behavior. More generally speaking IRanges and GRanges will
>>>>         behave
>>>>            > consistently as far as their "list interpretation" is
>>>>         concerned.
>>>>
>>>>         Can we please be assured to be reminded of this prominently in
>>>>         release notes?
>>>>
>>>>
>>>>     The changes will be announced and described on this list and in the
>>>>     NEWS files of the IRanges and GenomicRanges packages.
>>>>
>>>>     H.
>>>>
>>>>
>>>>         Thanks!
>>>>
>>>>         ~malcolm
>>>>
>>>>
>>>>     --     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>
>>>>
>>>>
>>>>
>>>
>> _______________________________________________
>> Bioc-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
> _______________________________________________
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to