Closed knausb closed 2 years ago
Hi @knausb ,
We definitely recognize the importance of keeping up with the new versions of htslib. However, updating the Rhtslib package is very likely to break some of the packages that depend on it so it will be a time consuming process.
Furthermore we're still in the process of migrating the Rsamtools and VariantAnnotation packages to the current Rhtslib. These 2 packages are still based on a very old version of samtools (a copy of the samtools code is included in the Rsamtools package). This has been a big undertaking. So much has changed in the samtools/htslib interface that we had to refactor many parts of the Rsamtools and VariantAnnotation C code. We've been working on this for months now but the good news is that we're almost done. There will be an announcement on the bioc-devel mailing list once this migration is completed.
Then the next step will be to update Rhtslib to htslib 1.19. This won't happen before the next Bioconductor 6-month devel cycle though (which will start after the next Bioconductor release in Spring).
Best. H.
Thanks for getting back to me! I understand that this is a lot of work. But its really helpful to me to know that this is all in the works. Would a solution to breaking your current users be to have future versions of htslib be released as R packages that include the version number? For example "Rhtslib_1_9_1". You could then let the other versions slowly die as you stop maintaining them and give your user base some time to migrate to the new version. I'll take a look at your existing version and see if I can use it. I'm leaving this open because it hasn't been addressed yet. You're welcome to close it if you feel its in your long term plan. Thanks for all your hard work on this!
It's fine to leave this open.
I'm not too keen on the idea of encoding the htslib version in the package name itself. Note that you cannot have underscores in the name of an R package so the name would need to be something like Rhtslib.1.9.1
, and the source tarball would then be something like Rhtslib.1.9.1_0.0.0.tar.gz
. Pretty ugly!
But, most importantly, making various versions of htslib available in Bioconductor would kind of defeat one of the original purposes of the Rhtslib package which is to have everybody use the same version. When we update Rhtslib to the latest htslib version, everybody should follow. This will happen in BioC devel so a few things might break temporarily until everybody migrate their package to the new Rhtslib. This is ok. That's what BioC devel is for. Packages that don't get fixed in time then won't be part of the next Bioconductor release (which will be the Fall release, assuming the update of the Rhtslib happens during the next 6-month devel cycle that will start in Spring). That way people have an incentive to keep their package in sync with Rhtslib.
Hope this makes sense,
H.
Ah, I forgot about the no underscores in package names. Thanks for reminding me. And I'm all for the "use one version" philosophy. I'm more used to the CRAN system of package release where a package can be released on any date. Bioconductor sounds a bit different with their release every 6 months. Thanks for explaining that!
@knausb Hi, it took us a long time to decide to do it but we've finally updated Rhtslib to use the latest version of htslib (1.15.1). This is in Rhtslib 1.99.1 (see commit 4492b678e2867f419477153eb487823596a26108) which will become available to BioC 3.16 users via BiocManager::install()
in about 24 hours.
Thanks for your patience, I hope it was worth the wait ;-)
H.
Thank you @hpages ! I've moved on to other projects for now. But am excited to hear that Rhtslib is upgrading to keep up with htslib. I'll look forward to using it in the future!
Hi, thanks for making this resource available! I see htslib at 1.9.0 while Rhtslib is on 1.9.0. Would it be reasonable to update this? I'm not looking for specific features in 1.9.0. Its just that I'm going to try to learn to use Rhtslib and noticed it was a couple of versions back. I originally posted this here: https://github.com/nhayden/Rhtslib/issues/6 , but decided this may be more appropriate. Thanks!