[Bioc-devel] biocLite should warn when called from a non-current R version

Robert Castelo robert.castelo at upf.edu
Thu Jun 20 09:28:31 CEST 2013

Martin, Herve, Simon, et al,

i see a straightforward approach without the need to change biocLite() 
or BiocInstaller behavior. what about every package deciding in loading 
time to tell or not the user whether he/she should be using the latest 
version of the package, if he/she is not using it?

the following code could be adapted to each mantainer's taste.

.onAttach <-
     function(libname, pkgname)

pkgDate <- as.Date(gsub(" .+", "", 
packageDescription("DESeq")$Packaged), "%Y-%m-%d")

monthsdif <- round(as.integer(Sys.Date()-pkgDate)/(365.25/12))

if (monthsdif > 6)
   message("your preferred rant here.")

the code assumes that each BioC release occurs exactly every 6 months, 
that the package was built at BioC and that the system date of the user 
is correct.



On 06/20/2013 08:50 AM, Martin Morgan wrote:
> On 06/19/2013 11:17 PM, Hervé Pagès wrote:
>> Martin,
>> Just to make sure we are on the same page, we are talking about
>> the message we get when we source http://bioconductor.org/biocLite.R
>> (as Simon suggested), not the message we get when loading the
>> BiocInstaller package and/or everytime we use biocLite().
>> So it's a one time thing. IMO it can be loud. If people miss it, they
>> won't see it again...
> yes we're talking about the same thing. I suspect most people still
> source("http://bioconductor.org/biocLite.R"); biocLite() rather than
> BiocInstaller::biocLite() (that's what most of the documentation says,
> after all, and it's not an incorrect way of updating...), so it's not
> really a one-time thing. Certainly
> Bioconductor version 2.12 now available, see
> http://bioconductor.org/install
> is a reasonable and more direct alternative.
>> Almost any app those days (not only smart phone apps, but apps in
>> general) will notify the user when a new version of the app is
>> available. The wording is almost always the same (something like
>> "a new version of the software is available") and everybody knows
>> that this means less features, more bugs, a more restrictive
>> license, more memory requirements, etc... ;-)
>> H.
>> On 06/19/2013 10:50 PM, Martin Morgan wrote:
>>> On 06/19/2013 09:15 PM, Hervé Pagès wrote:
>>>> Hi Martin,
>>>> On 06/19/2013 05:21 PM, Martin Morgan wrote:
>>>>> On 06/19/2013 03:01 PM, Simon Anders wrote:
>>>>>> Hi
>>>>>> On 19/06/13 23:44, Martin Morgan wrote:
>>>>>>> As a message (not warning or error), how about
>>>>>>> New features are available in Bioconductor version 2.12, R version
>>>>>>> 3.0.1.
>>>>>>> See http://bioconductor.org/install
>>>>>>> and if the instructions / dire consequences at
>>>>>>> http://bioconductor.org/install are not sufficient then we can
>>>>>>> update
>>>>>>> that
>>>>>> I see Laurent's point, but this message would not be helpful. The
>>>>>> fact
>>>>>> that
>>>>>> biocLite.R does not pull the newest package version available is
>>>>>> unusual,
>>>>>> surprising, and a policy rather unique to Bioconductor. Hence it is
>>>>>> something
>>>>>> that even an otherwise computer-savvy user will appreciate being
>>>>>> warned about.
>>>>>> The fact that updating a system can break things, however, is common.
>>>>>> Furthermore, any user attempting to update his R version will nearly
>>>>>> automatically discover that his old R does not disappear if he does
>>>>>> not actively
>>>>>> delete it.
>>>>>> So, what about removing the advice to update but leaving in the
>>>>>> warning:
>>>>>> "Warning: The biocLite function will NOT install the most recent
>>>>>> release
>>>>>> versions of Bioconductor packages because you are not using a current
>>>>>> R version.
>>>>>> Please see http://... for more information."
>>>>> I moved a little on the wording
>>>>> New features require Bioconductor version 2.12, R version 3.0.1; your
>>>>> versions are 2.11 and 2.15.3. See http://bioconductor.org/install.
>>>> I think people want to make sure they're using the latest version.
>>>> Using the latest version of course means new features, bug fixes, speed
>>>> improvements, changes in the API, a new shinny color scheme, etc...
>>>> If you really want to keep this message as short and discrete as
>>>> possible (I wonder why you'd want that), then I think it's important
>>>> to mention those 3 words: new version available.
>>>> From the above message I can guess that this means I won't be
>>>> installing the latest version but why not be straightforward and just
>>>> say it? Also I'm not totally sure those new features are ready yet,
>>> Thanks Herve for your comments. I tried 'your out-of-date versions
>>> are...' and similar, but to me that (also flagging this as a 'warning')
>>> sounded too heavy-handed; there are good reasons (e.g., consistency) why
>>> one might want to stick with an out-of-date version. Also I used
>>> 'available' (hence the trifecta 'new', 'version', 'available') initially
>>> (also 'Bioconductor version 2.12 now available, see...', I think this
>>> would be a reasonable alternative to the current message), but 'require'
>>> seemed to be more forceful and to address Simon's concern (without
>>> saying 'n.b. to users of DESeq, estimateDispersions requires
>>> Bioconductor version...' ;) that users mistakenly expect new features to
>>> exist in old releases.
>>> It's easy to make changes to the message, so keep the suggestions
>>> coming. I might not say no to all of them.
>>> Martin
>>>> I mean, maybe the message is just suggesting me to install a
>>>> devel/alpha/beta/unstable version of BioC or something like that.
>>>> H.
>>>>> but won't elevate this to a warning or include language about what is
>>>>> supported (although I appreciate the value of both of these
>>>>> suggestions,
>>>>> thanks). The install page tries to be more explicit about the
>>>>> connection
>>>>> between R / Bioc version (remember that R is on a yearly release
>>>>> cycle,
>>>>> so it's no longer one-R one-Bioc). I haven't incorporated text
>>>>> about how
>>>>> to manage multiple R instances (I don't think I could do justice to
>>>>> this, and it's more of an R issue anyway; probably there should at
>>>>> least
>>>>> be a caution).
>>>>> I'm wondering why my iphone hasn't told me to update my nytimes app.
>>>>> Thanks for the suggestions.
>>>>> Martin
>>>>>> This brings me to another issue: How should a newcomer to
>>>>>> Bioconductor
>>>>>> know that
>>>>>> Bioconductor releases are tied to R versions and that biocLite will
>>>>>> always pull
>>>>>> packages from the Bioconductor release matched to the used R version
>>>>>> rather than
>>>>>> from the current Bioconductor release?
>>>>>> The page at http://bioconductor.org/install/ does _not_ mention this
>>>>>> important
>>>>>> fact! Could somebody please fix this?
>>>>>> Simon

Robert Castelo, PhD
Associate Professor
Dept. of Experimental and Health Sciences
Universitat Pompeu Fabra (UPF)
Barcelona Biomedical Research Park (PRBB)
Dr Aiguader 88
E-08003 Barcelona, Spain
telf: +34.933.160.514
fax: +34.933.160.550

More information about the Bioc-devel mailing list