[Bioc-devel] orthogene: evolving dependencies

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Thu Apr 7 15:07:52 CEST 2022


Hi Brian,

On 06/04/2022 06:25, Brian Schilder wrote:

> Hi Herve,
>
> Thanks for checking this. I’ve managed to go through and fix the issues on Bioc 3.14 (now orthogene 1.0.1).
Great, thanks!
>   However, the larger question is at hand is: after the Bioc 3.14 release is frozen, how do I prevent this version of orthogene from breaking when there’s changes to its dependencies that I’m unable to control?

Unfortunately you can't prevent that. The only way you could maybe try 
to solve this is by convincing the author of the breaking change to 
revert the change.

>
> I’ll try tackling the errors on 3.15 next.

Sounds good.

Cheers,

H.

>
> Best,
> Brian
>
>> On 5 Apr 2022, at 06:30, Hervé Pagès <hpages.on.github using gmail.com> wrote:
>>
>> Hi Brian,
>>
>> Let's start by taking care of orthogene's failure in BioC 3.14 (this is orthogene 1.0.0):
>>
>> https://bioconductor.org/checkResults/3.14/bioc-LATEST/orthogene/
>>
>> The error we see there is different from what we see in devel for orthogene 1.1.4. In release the tests in 'test-map_orthologs_babelgene.R' fail at line 18. I can reproduce this on my laptop with:
>>
>>      library(testthat)
>>
>>      library(orthogene)
>>
>>      data("exp_mouse")
>>
>>      #### mouse ==> human ####
>>      gene_map1 <- orthogene:::map_orthologs_babelgene(
>>          genes = rownames(exp_mouse),
>>          input_species = "mouse",
>>          output_species = "human"
>>      )
>>      testthat::expect_gte(nrow(gene_map1), 13000)
>>
>>      #### human ==> mouse ####
>>      gene_map2 <- orthogene:::map_orthologs_babelgene(
>>          genes = gene_map1$ortholog_gene,
>>          input_species = "human",
>>          output_species = "mouse"
>>      )
>>      testthat::expect_gte(nrow(gene_map2), 13000)
>>
>> This last line produces:
>>
>>      Error: nrow(gene_map2) is not more than 13000. Difference: -1.3e+04
>>
>> See my sessionInfo() below.
>>
>> Best,
>>
>> H.
>>
>>> sessionInfo()
>> R version 4.1.1 (2021-08-10)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>> Running under: Ubuntu 21.10
>>
>> Matrix products: default
>> BLAS:   /home/hpages/R/R-4.1.1/lib/libRblas.so
>> LAPACK: /home/hpages/R/R-4.1.1/lib/libRlapack.so
>>
>> locale:
>>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>   [3] LC_TIME=en_GB              LC_COLLATE=en_US.UTF-8
>>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods base
>>
>> other attached packages:
>> [1] orthogene_1.0.0 testthat_3.1.3
>>
>> loaded via a namespace (and not attached):
>>   [1] tidyselect_1.1.2          purrr_0.3.4
>>   [3] lattice_0.20-45           carData_3.0-5
>>   [5] colorspace_2.0-3          gprofiler2_0.2.1
>>   [7] vctrs_0.4.0               generics_0.1.2
>>   [9] htmltools_0.5.2           viridisLite_0.4.0
>> [11] utf8_1.2.2                plotly_4.10.0
>> [13] rlang_1.0.2               ggpubr_0.4.0
>> [15] pillar_1.7.0              glue_1.6.2
>> [17] DBI_1.1.2                 GenomeInfoDbData_1.2.7
>> [19] lifecycle_1.0.1           munsell_0.5.0
>> [21] ggsignif_0.6.3            gtable_0.3.0
>> [23] htmlwidgets_1.5.4         fastmap_1.1.0
>> [25] parallel_4.1.1            fansi_1.0.3
>> [27] broom_0.7.12              scales_1.1.1
>> [29] backports_1.4.1           jsonlite_1.8.0
>> [31] abind_1.4-5               brio_1.1.3
>> [33] babelgene_22.3            ggplot2_3.3.5
>> [35] digest_0.6.29             rstatix_0.7.0
>> [37] dplyr_1.0.8               grid_4.1.1
>> [39] cli_3.2.0                 tools_4.1.1
>> [41] magrittr_2.0.3            patchwork_1.1.1
>> [43] lazyeval_0.2.2            tibble_3.1.6
>> [45] crayon_1.5.1              tidyr_1.2.0
>> [47] car_3.0-12                pkgconfig_2.0.3
>> [49] ellipsis_0.3.2            Matrix_1.4-1
>> [51] data.table_1.14.2         homologene_1.4.68.19.3.27
>> [53] assertthat_0.2.1          httr_1.4.2
>> [55] R6_2.5.1                  compiler_4.1.1
>>
>> On 04/04/2022 10:28, Brian Schilder wrote:
>>> Hello everyone,
>>>
>>> I’m the developer of orthogene <https://github.com/neurogenomics/orthogene>, a package for inter-species gene mapping.
>>>
>>> Despite orthogene passing all CRAN and Bioc checks on GitHub Actions <https://github.com/neurogenomics/orthogene/actions/runs/2079508299> (including when using the official Bioc devel Docker container <https://github.com/neurogenomics/orthogene/runs/5794025048?check_suite_focus=true> with Bioc 3.15 and R 4.2), it is consistently failing on Bioc’s VMs <http://bioconductor.org/checkResults/devel/bioc-LATEST/orthogene/>. Most if not all of these errors seem to be due to corrupted .rda files from babelgene (a central dependency of orthogene):
>>> Error in `load(filename)`: bad restore file magic number (file may be corrupted) -- no data loaded
>>> The developer of babelgene <https://github.com/igordot/babelgene/> has recently been making quite a few changes/updates to their package. They last submitted an update to CRAN on March 30th 2022 <https://cran.r-project.org/web/packages/babelgene/index.html>. Hopefully these will be complete soon so I can make any necessary adjustments to orthogene. Still, I’m not sure why I’ve been unable to replicate the errors seen on Bioc’s VMs over the past several weeks.
>>>
>>> In addition, I just received a message that the old version of orthogene on Bioc 3.14 is now failing <https://master.bioconductor.org/checkResults/3.14/bioc-LATEST/orthogene/nebbiolo2-checksrc.html> for the first time because of these changes. I hadn’t specified a version of babelgene in 3.14 because I designed my unit tests to pass after slight changes (e.g. varying numbers of mapped orthologs between mouse and human) but not failures (e.g. corrupted .rda files).
>>>
>>> So my questions are two-fold:
>>> Why am I unable to replicate the errors seen on Bioc’s VMs on my local machine (both within a Bioc 3.15 Docker container and outside of it) or on GHA (both within a Bioc 3.15 Docker container and outside of it).
>>> Since Bioc 3.14 is now frozen, how can I prevent orthogene from failing Bioc checks  <https://master.bioconductor.org/checkResults/3.14/bioc-LATEST/orthogene/nebbiolo2-checksrc.html>failing <https://master.bioconductor.org/checkResults/3.14/bioc-LATEST/orthogene/nebbiolo2-checksrc.html> Bioc checks due to the changes to babelgene?
>>>
>>> Many thanks in advance,
>>> Brian
>>>
>>> ___________
>>> Brian Schilder
>>> PhD Candidate
>>> UK Dementia Research Institute at Imperial College London
>>> Faculty of Medicine, Department of Brain Sciences, Neurogenomics Lab
>>> Profile | bit.ly/imperial_profile <https://bit.ly/imperial_profile>
>>> LinkedIn | linkedin.com/in/brian-schilder <https://www.linkedin.com/in/brian-schilder/>
>>> Twitter | twitter.com/BMSchilder <http://www.twitter.com/BMSchilder>
>>> Lab | neurogenomics.co.uk <http://neurogenomics.co.uk/>
>>> UK DRI | www.ukdri.ac.uk <http://www.ukdri.ac.uk/>
>>>
>>>
>>> 	[[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioc-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> -- 
>> Hervé Pagès
>>
>> Bioconductor Core Team
>> hpages.on.github using gmail.com
>>
-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com



More information about the Bioc-devel mailing list