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

Build against more recent htslib versions #106

Closed
5 tasks done
jdblischak opened this issue Dec 22, 2023 · 9 comments
Closed
5 tasks done

Build against more recent htslib versions #106

jdblischak opened this issue Dec 22, 2023 · 9 comments
Assignees

Comments

@jdblischak
Copy link
Collaborator

jdblischak commented Dec 22, 2023

Migrated request from @nextgenusfs in TileDB-Inc/TileDB-VCF#455 (comment)

Summary:

  • tiledb-vcf-feedstock builds libtiledbvcf against the htslib in the tiledb channel (tiledb::htslib for linux/osx and tiledb::m2w64-htslib for win)
  • The tiledb channel provides htslib 1.16 and m2w64-htslib 1.15.1. The bioconda channel provides htslib 1.19
  • Using the latest samtools/bcftools requires htslib 1.19
  • Even though the libtiledbvcf recipe indicates htslib >= 1.15, due to the run exports of htslib recipe, the runtime requirement is very strict, eg htslib >=1.16,<1.17.0a0 on linux/osx

Proposed solution:

Blockers:

@jdblischak
Copy link
Collaborator Author

jdblischak commented Jan 3, 2024

tiledb::htslib 1.19 is now available for linux-64, osx-64, and osx-arm64

https://anaconda.org/tiledb/htslib/files?version=1.19

@jdblischak
Copy link
Collaborator Author

tiledb::m2w64-htslib 1.16 is now available for win-64

https://anaconda.org/tiledb/m2w64-htslib/files?version=1.16

@jdblischak
Copy link
Collaborator Author

m2w64-htslib 1.16 will be the latest we can provide for Windows builds for the time being. See TileDB-Inc/m2w64-htslib-build#4 for details

@jdblischak
Copy link
Collaborator Author

@nextgenusfs are you using linux or macOS? We recently build TileDB-VCF 0.27.1 for linux-only, which linked against the new htslib 1.19 I built, so this now solves:

mamba create --dry-run -n myenv --override-channels \
  -c conda-forge -c bioconda -c tiledb \
  "libtiledbvcf>=0.26.6" "tiledbvcf-py>=0.26.6" samtools=1.19 bcftools=1.19
## + libdeflate                        1.19  hd590300_0            conda-forge     Cached
## + openssl                          3.2.0  hd590300_1            conda-forge     Cached
## + tiledb                          2.18.3  hc1131af_1            conda-forge     Cached
## + htslib                            1.19  h81da01d_0            bioconda           3MB
## + bcftools                          1.19  h8b25389_0            bioconda         970kB
## + samtools                          1.19  h50ea8bc_0            bioconda         463kB
## + python                         3.10.13  hd12c33a_1_cpython    conda-forge     Cached
## + libtiledbvcf                    0.27.1  hb3db9ce_1            tiledb             1MB
## + tiledbvcf-py                    0.27.1  py310hde7a117_1       tiledb             2MB

@nextgenusfs
Copy link

Linux! Thanks for the efforts, I will give it a try on Monday!

@jdblischak
Copy link
Collaborator Author

In #107, I also backported this to TileDB-VCF 0.26.7 which is built against TileDB 2.17. This also rebuilt binaries against newer htslib versions for osx-64, osx-arm64, and win-64

mamba create --dry-run -n myenv --override-channels \
  -c conda-forge -c bioconda -c tiledb \
  "libtiledbvcf==0.26.7" "tiledbvcf-py==0.26.7" samtools=1.19 bcftools=1.19
## + libdeflate                  1.19  hd590300_0            conda-forge     Cached
## + openssl                    3.2.0  hd590300_1            conda-forge     Cached
## + tiledb                    2.17.4  h8c794c1_0            conda-forge        6MB
## + htslib                      1.19  h81da01d_0            bioconda           3MB
## + bcftools                    1.19  h8b25389_0            bioconda         970kB
## + samtools                    1.19  h50ea8bc_0            bioconda         463kB
## + python                   3.10.13  hd12c33a_1_cpython    conda-forge     Cached
## + libtiledbvcf              0.26.7  hb3db9ce_1            tiledb             1MB
## + tiledbvcf-py              0.26.7  py310h284cd70_1       tiledb             2MB

@jdblischak
Copy link
Collaborator Author

@nextgenusfs please let us know if you still have any trouble using TileDB-VCF with the latest samtools, etc.

@jdblischak
Copy link
Collaborator Author

Update: I was also able to build m2w64-htslib 1.19 for Windows. Future versions of TileDB-VCF will be built against this newer version. If anyone needs an older version of TileDB-VCF built against m2w64-htslib 1.19, please open a new Issue to request it

@nextgenusfs
Copy link

@jdblischak was working for me last week. Had to build a fresh conda environment due to python version but it solved successfully, thanks for the help!

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