I'd like to know whether the version of a database used in a given Bioconductor package will always be the same, given the same version of Bioconductor. In other words, is the version of Bioconductor synonymous with a given version of a database that a package is based upon?
For example:
Will Bioconductor 3.14 GO.db package always be based on "Gene Ontology http://current.geneontology.org/ontology/gobasic.obo With a date stamp from the source of: 2021-09-01" (per GO.db manual)?
Or is there a possibility that the GO.db package will reference an updated version of the GO ontology within the same version of Bioconductor?
Thanks in advance!
Fantastic, thank you! And I apologize if this information is stated elsewhere...
It's probably posted somewhere, but that's fine. It's not uncommon for questions to be asked when the answer might be found elsewhere.
I should point out that this isn't 100% true. A few releases ago we realized that GO had stopped updating the data we were downloading from them (the old SQL dumps they previously provided) and the only updated data were the OBO files. This happened after the release, and we had to quickly generate code to parse the OBO files, and then re-released GO.db. So hypothetically one could have the original 'bad' version of GO.db and then go back and update to get the re-released good version. But in normal situations what I said above is true.
I see. Was the version of the GO.db package updated so as to be able to differentiate between the 'bad' and 'good' version of GO.db, from the same Bioconductor release?
Yes. If you had that version of Bioc installed, and did
BiocManager::install()
, it would automatically download and install the corrected version.FWIW, the same thing happens for any bugfixes that happen during the release cycle. If someone realizes there is a pernicious bug in their package they will fix the bug, increment the version, and push to the Git repo. That will cause the package builder to make a new package (with the incremented version) and if you had that package installed and did
BiocManager::install()
, you would be told that there is a new version, and would you like to install it. The correct answer is almost always yes.