Skip to content

Commit 06f2472

Browse files
alanclearyjdblischakleipzig
authored
Update TileDB Embedded to 2.28.1 (#826)
* Bump nightly build release branch to 2.28 (#819) * fix img and academy links (#815) Use TileDB Academy links for docs * remove ENTRYPOINT for Nextflow compatibility (#816) * remove ENTRYPOINT for Nextflow compatibility * add tiledbvcf to test_cmd since no entrypoint * Updated spdlog to version 1.15.3 (#821) This required adding an include of fmt/ranges.h because of a bug in libfmt 11, which spdlog depends on. * Revert "Updated spdlog to version 1.15.3 (#821)" (#824) This reverts commit e4b00ac. * Updated HTSlib to version 1.22.1 (#822) * Updated HTSlib to version 1.22.1 This includes changing the CMake External Project URL hash for HTSlib to use a SHA256 checksum because GitHub now auto-generates SHA256 checksums for HTSlib release artifacts. * Removed unused HTSlib CMake patch * Updated Azure CI config to install curl prior to bcftools bcftools 1.22 contains a bug fix that causes the build in this configuration to fail if curl is not present. * Update to TileDB Embedded 2.28.1 --------- Co-authored-by: John Blischak <jdblischak@gmail.com> Co-authored-by: Jeremy Leipzig <jeremy.leipzig@tiledb.com>
1 parent 9cb9113 commit 06f2472

9 files changed

Lines changed: 66 additions & 100 deletions

File tree

.azure-pipelines.yml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
trigger:
22
branches:
33
include:
4-
- main
5-
- release-*
6-
- refs/tags/*
4+
- main
5+
- release-*
6+
- refs/tags/*
77

88
variables:
99
isRefTag: $[startsWith(variables['Build.SourceBranch'], 'refs/tags')]
@@ -13,44 +13,44 @@ stages:
1313
- stage: CI
1414
condition: eq(variables.isRefTag, false)
1515
jobs:
16-
- job: Build
17-
strategy:
18-
matrix:
19-
linux:
20-
imageName: 'ubuntu-24.04'
21-
python.version: '3.x'
22-
CXX: g++
23-
BUILD_PYTHON_API: ON
24-
DOWNLOAD_TILEDB_PREBUILT: ON
25-
ARTIFACT_NAME: linux
26-
pool:
27-
vmImage: $(imageName)
28-
steps:
29-
- task: UsePythonVersion@0
30-
inputs:
31-
versionSpec: '$(python.version)'
32-
architecture: 'x64'
33-
- script: printenv
34-
displayName: 'Print Env'
35-
- template: ci/azure-linux_mac.yml
16+
- job: Build
17+
strategy:
18+
matrix:
19+
linux:
20+
imageName: "ubuntu-24.04"
21+
python.version: "3.x"
22+
CXX: g++
23+
BUILD_PYTHON_API: ON
24+
DOWNLOAD_TILEDB_PREBUILT: ON
25+
ARTIFACT_NAME: linux
26+
pool:
27+
vmImage: $(imageName)
28+
steps:
29+
- task: UsePythonVersion@0
30+
inputs:
31+
versionSpec: "$(python.version)"
32+
architecture: "x64"
33+
- script: printenv
34+
displayName: "Print Env"
35+
- template: ci/azure-linux_mac.yml
3636

3737
- stage: Docker
3838
condition: or(succeeded(), eq(variables.isRefTag, true))
3939
jobs:
4040
- job: Build
4141
pool:
42-
vmImage: 'ubuntu-24.04'
42+
vmImage: "ubuntu-24.04"
4343
strategy:
4444
matrix:
4545
cli:
4646
dockerfile: docker/Dockerfile-cli
4747
repository: tiledb/tiledbvcf-cli
4848
context: .
49-
test_cmd: version
49+
test_cmd: tiledbvcf version
5050
python:
5151
dockerfile: docker/Dockerfile-py
5252
repository: tiledb/tiledbvcf-py
5353
context: .
5454
test_cmd: -c "import tiledbvcf; print(tiledbvcf.version)"
5555
steps:
56-
- template: ci/build-images.yml
56+
- template: ci/build-images.yml

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
matrix:
2525
os: [macos-13, ubuntu-24.04]
2626
branches:
27-
- {libtiledb: release-2.27, tiledb-py: 0.33.3}
27+
- {libtiledb: release-2.28, tiledb-py: 0.34.0}
2828
- {libtiledb: main, tiledb-py: main}
2929
env:
3030
MACOSX_DEPLOYMENT_TARGET: 10.15

README.md

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<a href="https://tiledb.com"><img src="https://github.com/TileDB-Inc/TileDB/raw/dev/doc/source/_static/tiledb-logo_color_no_margin_@4x.png" alt="TileDB logo" width="400"></a>
1+
<a href="https://tiledb.com"><img src="https://github.com/TileDB-Inc/TileDB/raw/main/doc/source/_static/tiledb-logo_color_no_margin_@4x.png" alt="TileDB logo" width="400"></a>
22

33
[![Build Status](https://img.shields.io/azure-devops/build/tiledb-inc/836549eb-f74a-4986-a18f-7fbba6bbb5f0/8/main?label=Azure%20Pipelines&logo=azure-pipelines&style=flat-square)](https://dev.azure.com/TileDB-Inc/CI/_build/latest?definitionId=8&branchName=main)
44
[![Docker-CLI](https://img.shields.io/static/v1?label=Docker&message=tiledbvcf-cli&color=099cec&logo=docker&style=flat-square)](https://hub.docker.com/repository/docker/tiledb/tiledbvcf-cli)
@@ -12,7 +12,7 @@ A C++ library for efficient storage and retrieval of genomic variant-call data u
1212

1313
- Easily ingest large amounts of variant-call data at scale
1414
- Supports ingesting single sample VCF and BCF files
15-
- New samples are added *incrementally*, avoiding computationally expensive merging operations
15+
- New samples are added _incrementally_, avoiding computationally expensive merging operations
1616
- Allows for highly compressed storage using TileDB sparse arrays
1717
- Efficient, parallelized queries of variant data stored locally or remotely on S3
1818
- Export lossless VCF/BCF files or extract specific slices of a dataset
@@ -24,9 +24,9 @@ A C++ library for efficient storage and retrieval of genomic variant-call data u
2424

2525
## Quick Start
2626

27-
The [documentation website][vcf] provides comprehensive usage examples but here are a few quick exercises to get you started.
27+
The [TileDB Academy][vcf] provides comprehensive usage examples but here are a few quick exercises to get you started.
2828

29-
We'll use a dataset that includes 20 synthetic samples, each one containing over 20 million variants. We host a publicly accessible version of this dataset on S3, so if you have TileDB-VCF installed and you'd like to follow along just swap out the `uri`'s below for `s3://tiledb-inc-demo-data/tiledbvcf-arrays/v4/vcf-samples-20`. And if you *don't* have TileDB-VCF installed yet, you can use our [Docker images](docker/README.md) to test things out.
29+
We'll use a dataset that includes 20 synthetic samples, each one containing over 20 million variants. We host a publicly accessible version of this dataset on S3, so if you have TileDB-VCF installed and you'd like to follow along just swap out the `uri`'s below for `s3://tiledb-inc-demo-data/tiledbvcf-arrays/v4/vcf-samples-20`. And if you _don't_ have TileDB-VCF installed yet, you can use our [Docker images](docker/README.md) to test things out.
3030

3131
### CLI
3232

@@ -84,30 +84,28 @@ returns results as a pandas `DataFrame`
8484

8585
## Want to Learn More?
8686

87-
88-
* [Blog "Population Genomics is a Data Management Problem"][blog]
89-
* [Check out the full documentation][vcf]
90-
* [Why use TileDB-VCF?][docswhytile]
91-
* [Data Model][docsdatamodel]
92-
* [Installation][docsinstallation]
93-
* [How To][docshowto]
94-
* [Reference][docsreference]
95-
87+
- [Blog "Population Genomics is a Data Management Problem"][blogdatamgmt]
88+
- [Blog "TileDB 101: Population Genomics"][blogpopgen101]
89+
- [Check out the TileDB Academy][vcf]
90+
- [Data Model][docsdatamodel]
91+
- [Installation][docsinstallation]
92+
- [Tutorials][docstutorials]
93+
- [API Reference][docsreference]
9694

9795
# Code of Conduct
9896

9997
All participants in TileDB spaces are expected to adhere to high standards of
10098
professionalism in all interactions. This repository is governed by the
10199
specific standards and reporting procedures detailed in depth in the
102-
[TileDB core repository Code Of Conduct](
103-
https://github.com/TileDB-Inc/TileDB/blob/dev/CODE_OF_CONDUCT.md).
100+
[TileDB core repository Code Of Conduct](https://github.com/TileDB-Inc/TileDB/blob/dev/CODE_OF_CONDUCT.md).
104101

105102
<!-- links -->
103+
106104
[tiledb]: https://github.com/TileDB-Inc/TileDB
107-
[vcf]: https://docs.tiledb.com/main/integrations-and-extensions/population-genomics
108-
[docswhytile]: https://docs.tiledb.com/main/integrations-and-extensions/genomics/population-genomics#why-use-tiledb-vcf
109-
[docsdatamodel]: https://docs.tiledb.com/main/integrations-and-extensions/population-genomics/data-model
110-
[docsinstallation]: https://docs.tiledb.com/main/integrations-and-extensions/genomics/population-genomics/installation
111-
[docshowto]: https://docs.tiledb.com/main/integrations-and-extensions/genomics/population-genomics/how-to
112-
[docsreference]: https://docs.tiledb.com/main/integrations-and-extensions/genomics/population-genomics/api-reference
113-
[blog]: https://tiledb.com/blog/population-genomics-is-a-data-management-problem
105+
[vcf]: https://cloud.tiledb.com/academy/structure/life-sciences/population-genomics/
106+
[docsdatamodel]: https://cloud.tiledb.com/academy/structure/life-sciences/population-genomics/foundation/data-model/
107+
[docsinstallation]: https://cloud.tiledb.com/academy/structure/life-sciences/population-genomics/quickstart/#installation
108+
[docstutorials]: https://cloud.tiledb.com/academy/structure/life-sciences/population-genomics/tutorials/
109+
[docsreference]: https://cloud.tiledb.com/academy/structure/life-sciences/population-genomics/api-reference/
110+
[blogdatamgmt]: https://tiledb.com/blog/population-genomics-is-a-data-management-problem
111+
[blogpopgen101]: https://tiledb.com/blog/tiledb-101-population-genomics

apis/java/src/main/java/io/tiledb/libvcfnative/NativeLibLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ static void loadNativeTileDBVCFJNI() {
9595
/** Finds and loads native HTSlib. */
9696
static void loadNativeHTSLib() {
9797
String os = getOSClassifier();
98-
String versionedLibName = os.startsWith("osx") ? "libhts.1.20.dylib" : "libhts.so.1.20";
98+
String versionedLibName = os.startsWith("osx") ? "libhts.1.22.1.dylib" : "libhts.so.1.22.1";
9999
try {
100100
// Don't use name mapping to get the versioned htslib
101101
loadNativeLib(versionedLibName, false);

ci/azure-linux_mac.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ steps:
3939
4040
# Install htslib dependencies
4141
if [[ "$AGENT_OS" == "Linux" ]]; then
42-
sudo apt-get update && sudo apt-get install -y automake autoconf libbz2-dev liblzma-dev
42+
sudo apt-get update && sudo apt-get install -y automake autoconf libbz2-dev liblzma-dev libcurl4-openssl-dev
4343
fi
4444
4545
# Install bcftools (only required for running the CLI tests)
46-
version=1.20
46+
version=1.22
4747
if [[ "$AGENT_OS" == "Linux" ]]; then
4848
pushd /tmp
4949
wget https://github.com/samtools/bcftools/releases/download/${version}/bcftools-${version}.tar.bz2

docker/Dockerfile-cli

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,3 @@ COPY --from=builder /usr/local/include/* /usr/local/include/
5353
COPY --from=builder /usr/local/lib/* /usr/local/lib/
5454

5555
WORKDIR /data
56-
ENTRYPOINT ["/usr/local/bin/tiledbvcf"]

libtiledbvcf/cmake/Modules/FindHTSlib.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ if (NOT HTSLIB_FOUND)
6666
message(STATUS "Adding HTSlib as an external project")
6767
# Use explicit soname to avoid having to use library symlinks (easier for embedding).
6868
if (APPLE)
69-
set(EXTRA_LDFLAGS "-Wl,-install_name,@rpath/libhts.1.20.dylib")
69+
set(EXTRA_LDFLAGS "-Wl,-install_name,@rpath/libhts.1.22.1.dylib")
7070
else()
71-
set(EXTRA_LDFLAGS "-Wl,-soname,libhts.so.1.20")
71+
set(EXTRA_LDFLAGS "-Wl,-soname,libhts.so.1.22.1")
7272
endif()
7373
SET(CFLAGS "")
7474
string( TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE)
@@ -94,8 +94,8 @@ if (NOT HTSLIB_FOUND)
9494

9595
ExternalProject_Add(ep_htslib
9696
PREFIX "externals"
97-
URL https://github.com/TileDB-Inc/m2w64-htslib-build/releases/download/1.20-0/m2w64-htslib-1.20-0.tar.gz
98-
URL_HASH SHA1=da39a3ee5e6b4b0d3255bfef95601890afd80709
97+
URL "https://github.com/TileDB-Inc/m2w64-htslib-build/releases/download/1.22.1-0/m2w64-htslib-1.22.1-0.tar.gz"
98+
URL_HASH SHA256=d6bce9d6dd7001450a1804255af2144b7b00fee1792ab6bed6991733601cc75f
9999
UPDATE_COMMAND ""
100100
CONFIGURE_COMMAND ""
101101
BUILD_COMMAND ""
@@ -122,8 +122,8 @@ if (NOT HTSLIB_FOUND)
122122

123123
ExternalProject_Add(ep_htslib
124124
PREFIX "externals"
125-
URL "https://github.com/samtools/htslib/releases/download/1.20/htslib-1.20.tar.bz2"
126-
URL_HASH SHA1=da8bf95e4ae2404d1a48f88ece94ca25d69d6596
125+
URL "https://github.com/samtools/htslib/releases/download/1.22.1/htslib-1.22.1.tar.bz2"
126+
URL_HASH SHA256=3dfa6eeb71db719907fe3ef7c72cb2ec9965b20b58036547c858c89b58c342f7
127127
UPDATE_COMMAND ""
128128
CONFIGURE_COMMAND
129129
autoheader

libtiledbvcf/cmake/Modules/FindTileDB_EP.cmake

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,20 @@ else()
5252
# Try to download prebuilt artifacts unless the user specifies to build from source
5353
if(DOWNLOAD_TILEDB_PREBUILT)
5454
if (WIN32) # Windows
55-
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.0/tiledb-windows-x86_64-2.28.0-4764907.zip")
56-
SET(DOWNLOAD_SHA1 "3629193fc9b8e8aecff4156a2a2183f1c4c1a0ee")
55+
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.1/tiledb-windows-x86_64-2.28.1-d648231.zip")
56+
SET(DOWNLOAD_SHA1 "ca6ccd339b6e3ce0ad1ff8c195a00412e3392178")
5757
elseif(APPLE) # OSX
5858

5959
if (CMAKE_OSX_ARCHITECTURES STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|(^i.86$)")
60-
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.0/tiledb-macos-x86_64-2.28.0-4764907.tar.gz")
61-
SET(DOWNLOAD_SHA1 "4e053376b707765eb223afd9261505315f217be0")
60+
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.1/tiledb-macos-x86_64-2.28.1-d648231.tar.gz")
61+
SET(DOWNLOAD_SHA1 "6191aca6e76a95a57288e9733f299c7b47e0d55e")
6262
elseif (CMAKE_OSX_ARCHITECTURES STREQUAL arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
63-
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.0/tiledb-macos-arm64-2.28.0-4764907.tar.gz")
64-
SET(DOWNLOAD_SHA1 "de6f1c79351191702ebc08e15a7257ade8b40b92")
63+
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.1/tiledb-macos-arm64-2.28.1-d648231.tar.gz")
64+
SET(DOWNLOAD_SHA1 "ce14964eb027e1bab3704668208f5289c9fbca1d")
6565
endif()
6666
else() # Linux
67-
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.0/tiledb-linux-x86_64-2.28.0-4764907.tar.gz")
68-
SET(DOWNLOAD_SHA1 "cd65b2978920ecd5017b061e15f172048c081dd2")
67+
SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.28.1/tiledb-linux-x86_64-2.28.1-d648231.tar.gz")
68+
SET(DOWNLOAD_SHA1 "f7c2c76bae0373cfc259b2a854b464abb873bbee")
6969
endif()
7070

7171
ExternalProject_Add(ep_tiledb
@@ -87,8 +87,8 @@ else()
8787
else() # Build from source
8888
ExternalProject_Add(ep_tiledb
8989
PREFIX "externals"
90-
URL "https://github.com/TileDB-Inc/TileDB/archive/2.28.0.zip"
91-
URL_HASH SHA1=ec633e4440ff7d16f2668e37f24e80e3b7d168cd
90+
URL "https://github.com/TileDB-Inc/TileDB/archive/2.28.1.zip"
91+
URL_HASH SHA1=9118c60f166ebe62ac39ab7fc72c39403b5af086
9292
DOWNLOAD_NAME "tiledb.zip"
9393
CMAKE_ARGS
9494
-DCMAKE_INSTALL_PREFIX=${EP_INSTALL_PREFIX}

libtiledbvcf/cmake/patches/htslib-1.10-config.patch

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)