Skip to content

[Bioc-devel] RcppAnnoy changed in CRAN from 0.0.14 to 0.0.15, and might have broken some packages

3 messages · Leonardo Collado Torres, Martin Morgan, Aaron Lun

#
Hi,

When installing BiocNeighbors (1.4.1, latest release from Bioconductor
version 3.10) from source on linux I noticed the issue as a few hours
ago it all worked fine but now it doesn't. Locally, I noticed that I
had to update from RcppAnnoy 0.0.14 to 0.0.15, and while at my macOS I
can install the BiocNeighbors 1.4.1 binary, I did the actual tests at
https://github.com/LTLA/BiocNeighbors/issues/10 and noticed that
RcppAnnoy's change lead to this. I have no idea how RcppAnnoy works,
but well, maybe if you use it in your package you do.

Now I need to google how to set on my DESCRIPTION to use the CRAN
archived version of RcppAnnoy 0.0.14 that you can install with

packageurl <- "https://cran.r-project.org/src/contrib/Archive/RcppAnnoy/RcppAnnoy_0.0.14.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
## From https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages

Best,
Leo
#
You can't use a package version other than the current release, so BiocNeighbors needs to be updated (assuming that's the problem); I'm sure it will be. Martin

?On 2/28/20, 2:51 AM, "Bioc-devel on behalf of Leonardo Collado Torres" <bioc-devel-bounces at r-project.org on behalf of lcolladotor at gmail.com> wrote:

    Hi,
    
    When installing BiocNeighbors (1.4.1, latest release from Bioconductor
    version 3.10) from source on linux I noticed the issue as a few hours
    ago it all worked fine but now it doesn't. Locally, I noticed that I
    had to update from RcppAnnoy 0.0.14 to 0.0.15, and while at my macOS I
    can install the BiocNeighbors 1.4.1 binary, I did the actual tests at
    https://github.com/LTLA/BiocNeighbors/issues/10 and noticed that
    RcppAnnoy's change lead to this. I have no idea how RcppAnnoy works,
    but well, maybe if you use it in your package you do.
    
    Now I need to google how to set on my DESCRIPTION to use the CRAN
    archived version of RcppAnnoy 0.0.14 that you can install with
    
    packageurl <- "https://cran.r-project.org/src/contrib/Archive/RcppAnnoy/RcppAnnoy_0.0.14.tar.gz"
    install.packages(packageurl, repos=NULL, type="source")
    ## From https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages
    
    Best,
    Leo
    
    _______________________________________________
    Bioc-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
#
This is a minor RcppAnnoy issue that should be fixed soon, hopefully.

Incidentally, this little episode has highlighted the advantages of 
Bioconductor's release/devel configuration. If the upstream dependency 
was a Bioc package, its updates are unlikely to break downstream 
packages in release. We are only broken in release right now because 
RcppAnnoy is a CRAN package and lies outside the release/devel cycle.

Of course, that is not to say that we shouldn't use CRAN packages. That 
brings me to my second point: BiocNeighbors explicitly serves as a 
wrapper for this dependency, and if I did not have faith in the 
RcppAnnoy maintainers to respond in a timely manner, I could just modify 
BiocNeighbors so that its Annoy functionality diverts to some other 
algorithm. This ensures that downstream packages that were using Annoy 
via BiocNeighbors can continue to operate - albeit with altered results 
due to the change in algorithm, but at least they don't break.

Right now, I do have faith in the RcppAnnoy maintainers so I have 
refrained from modifying BiocNeighbors in BioC-release. But the key 
point is that I can pull the trigger at any time.

-A
On 2/27/20 12:22 PM, Martin Morgan wrote: