Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

htslib version update? #4

Closed
knausb opened this issue Jan 29, 2019 · 6 comments
Closed

htslib version update? #4

knausb opened this issue Jan 29, 2019 · 6 comments

Comments

@knausb
Copy link

knausb commented Jan 29, 2019

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: nhayden/Rhtslib#6 , but decided this may be more appropriate.
Thanks!

@hpages
Copy link
Contributor

hpages commented Jan 30, 2019

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.

@knausb
Copy link
Author

knausb commented Jan 30, 2019

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!

@hpages
Copy link
Contributor

hpages commented Jan 30, 2019

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.

@knausb
Copy link
Author

knausb commented Jan 30, 2019

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!

@hpages
Copy link
Contributor

hpages commented May 5, 2022

@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 4492b67) 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.

@hpages hpages closed this as completed May 5, 2022
@knausb
Copy link
Author

knausb commented May 5, 2022

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants