diff --git a/Cargo.lock b/Cargo.lock index 2d8ce8d7a..4782bd712 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -310,9 +310,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -340,22 +340,22 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -411,9 +411,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", @@ -452,9 +452,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-config" -version = "1.8.2" +version = "1.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd9b83179adf8998576317ce47785948bcff399ec5b15f4dfbdedd44ddf5b92" +checksum = "c478f5b10ce55c9a33f87ca3404ca92768b144fc1bfdede7c0121214a8283a25" dependencies = [ "aws-credential-types", "aws-runtime", @@ -482,9 +482,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68c2194a190e1efc999612792e25b1ab3abfefe4306494efaaabc25933c0cbe" +checksum = "1541072f81945fa1251f8795ef6c92c4282d74d59f88498ae7d4bf00f0ebdad9" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -517,9 +517,9 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.5.9" +version = "1.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2090e664216c78e766b6bac10fe74d2f451c02441d43484cd76ac9a295075f7" +checksum = "c034a1bc1d70e16e7f4e4caf7e9f7693e4c9c24cd91cf17c2a0b21abaebc7c8b" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -542,9 +542,9 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.91.0" +version = "1.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c7d58f9c99e7d33e5a9b288ec84db24de046add7ba4c1e98baf6b3a5b37fde" +checksum = "af040a86ae4378b7ed2f62c83b36be1848709bbbf5757ec850d0e08596a26be9" dependencies = [ "aws-credential-types", "aws-runtime", @@ -576,9 +576,9 @@ dependencies = [ [[package]] name = "aws-sdk-secretsmanager" -version = "1.76.0" +version = "1.85.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb99bf4d3be2b4598ad26eed5da8d0c930b8d47d76b279a03e47d160151eb0fb" +checksum = "fe7f285ed0ee27aa5a248ac828d2c196570b44a87f60351a00535b0b4970350b" dependencies = [ "aws-credential-types", "aws-runtime", @@ -598,9 +598,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.76.0" +version = "1.81.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bf26698dd6d238ef1486bdda46f22a589dc813368ba868dc3d94c8d27b56ba" +checksum = "79ede098271e3471036c46957cba2ba30888f53bda2515bf04b560614a30a36e" dependencies = [ "aws-credential-types", "aws-runtime", @@ -620,9 +620,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.77.0" +version = "1.82.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cd07ed1edd939fae854a22054299ae3576500f4e0fadc560ca44f9c6ea1664" +checksum = "43326f724ba2cc957e6f3deac0ca1621a3e5d4146f5970c24c8a108dac33070f" dependencies = [ "aws-credential-types", "aws-runtime", @@ -642,9 +642,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.78.0" +version = "1.84.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37f7766d2344f56d10d12f3c32993da36d78217f32594fe4fb8e57a538c1cdea" +checksum = "91abcdbfb48c38a0419eb75e0eac772a4783a96750392680e4f3c25a8a0535b9" dependencies = [ "aws-credential-types", "aws-runtime", @@ -665,9 +665,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.3.3" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfb9021f581b71870a17eac25b52335b82211cdc092e02b6876b2bcefa61666" +checksum = "084c34162187d39e3740cb635acd73c4e3a551a36146ad6fe8883c929c9f876c" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", @@ -704,9 +704,9 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.63.5" +version = "0.63.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab9472f7a8ec259ddb5681d2ef1cb1cf16c0411890063e67cdc7b62562cc496" +checksum = "4dbef71cd3cf607deb5c407df52f7e589e6849b296874ee448977efbb6d0832b" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -724,9 +724,9 @@ dependencies = [ [[package]] name = "aws-smithy-eventstream" -version = "0.60.10" +version = "0.60.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604c7aec361252b8f1c871a7641d5e0ba3a7f5a586e51b66bc9510a5519594d9" +checksum = "182b03393e8c677347fb5705a04a9392695d47d20ef0a2f8cfe28c8e6b9b9778" dependencies = [ "aws-smithy-types", "bytes", @@ -735,9 +735,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.62.2" +version = "0.62.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c82ba4cab184ea61f6edaafc1072aad3c2a17dcf4c0fce19ac5694b90d8b5f" +checksum = "7c4dacf2d38996cf729f55e7a762b30918229917eca115de45dfa8dfb97796c9" dependencies = [ "aws-smithy-eventstream", "aws-smithy-runtime-api", @@ -756,9 +756,9 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.0.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f108f1ca850f3feef3009bdcc977be201bca9a91058864d9de0684e64514bee0" +checksum = "4fdbad9bd9dbcc6c5e68c311a841b54b70def3ca3b674c42fbebb265980539f8" dependencies = [ "aws-smithy-async", "aws-smithy-protocol-test", @@ -766,25 +766,26 @@ dependencies = [ "aws-smithy-types", "bytes", "h2 0.3.27", - "h2 0.4.11", + "h2 0.4.12", "http 0.2.12", "http 1.3.1", "http-body 0.4.6", "http-body 1.0.1", "hyper 0.14.32", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.24.2", "hyper-rustls 0.27.7", "hyper-util", "indexmap", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.29", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "serde", "serde_json", "tokio", + "tokio-rustls 0.26.2", "tower", "tracing", ] @@ -835,7 +836,7 @@ dependencies = [ "regex-lite", "roxmltree", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -850,9 +851,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.8.5" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "660f70d9d8af6876b4c9aa8dcb0dbaf0f89b04ee9a4455bea1b4ba03b15f26f6" +checksum = "a3d57c8b53a72d15c8e190475743acf34e4996685e346a3448dd54ef696fc6e0" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -875,9 +876,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.8.4" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38280ac228bc479f347fcfccf4bf4d22d68f3bb4629685cb591cabd856567bbc" +checksum = "07f5e0fc8a6b3f2303f331b94504bbf754d85488f402d6f1dd7a6080f99afe56" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -937,9 +938,9 @@ dependencies = [ [[package]] name = "aws-types" -version = "1.3.7" +version = "1.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a322fec39e4df22777ed3ad8ea868ac2f94cd15e1a55f6ee8d8d6305057689a" +checksum = "b069d19bf01e46298eaedd7c6f283fe565a59263e53eebec945f3e6398f42390" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -951,9 +952,9 @@ dependencies = [ [[package]] name = "aws_lambda_events" -version = "0.17.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cd5d79ca6be17e6cdc157fccf22a0190a8c83ea0e04dc8a4429aea65627740" +checksum = "144ec7565561115498a288850cc6a42b279e09b6c4b88f623eecb9c8ca96c08c" dependencies = [ "base64 0.22.1", "bytes", @@ -978,7 +979,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "itoa", "matchit", @@ -1089,9 +1090,9 @@ dependencies = [ [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bcrypt-pbkdf" @@ -1164,9 +1165,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29" [[package]] name = "blake2" @@ -1207,9 +1208,9 @@ dependencies = [ [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1253,9 +1254,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] name = "byteorder" @@ -1336,9 +1337,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.30" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -1356,9 +1357,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -1456,9 +1457,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.41" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" dependencies = [ "clap_builder", "clap_derive", @@ -1466,9 +1467,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.5.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" dependencies = [ "anstream", "anstyle", @@ -1478,9 +1479,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck", "proc-macro2", @@ -1517,9 +1518,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-str" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "041fbfcf8e7054df725fb9985297e92422cdc80fcf313665f5ca3d761bb63f4c" +checksum = "451d0640545a0553814b4c646eb549343561618838e9b42495f466131fe3ad49" [[package]] name = "cookie" @@ -1812,9 +1813,9 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-url" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" [[package]] name = "der" @@ -2041,9 +2042,9 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2188,9 +2189,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" @@ -2224,9 +2225,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -2253,9 +2254,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", @@ -2350,7 +2351,7 @@ dependencies = [ "http 0.2.12", "http 1.3.1", "reqwest", - "rustls 0.23.29", + "rustls 0.23.31", "serde", "serde_json", "tempfile", @@ -2372,13 +2373,13 @@ dependencies = [ "htsget-search", "htsget-test", "http 1.3.1", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "jsonwebtoken", "reqwest", - "rustls 0.23.29", + "rustls 0.23.31", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-rustls 0.26.2", "tower", @@ -2406,7 +2407,7 @@ dependencies = [ "rcgen", "regex", "reqwest", - "rustls 0.23.29", + "rustls 0.23.31", "rustls-pemfile 2.2.0", "rustls-pki-types", "schemars", @@ -2414,9 +2415,9 @@ dependencies = [ "serde_json", "serde_regex", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", - "toml 0.9.2", + "toml 0.9.5", "tracing", "tracing-subscriber", ] @@ -2438,7 +2439,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -2451,7 +2452,7 @@ dependencies = [ "htsget-config", "htsget-http", "lambda_http", - "rustls 0.23.29", + "rustls 0.23.31", "tokio", "tracing", ] @@ -2496,7 +2497,7 @@ dependencies = [ "pin-project-lite", "reqwest", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-util", "tower-http", @@ -2530,7 +2531,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", ] @@ -2650,20 +2651,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.11", + "futures-core", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -2692,9 +2695,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http 1.3.1", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", - "rustls 0.23.29", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -2716,7 +2719,7 @@ dependencies = [ "futures-util", "http 1.3.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", "ipnet", "libc", "percent-encoding", @@ -2839,9 +2842,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2999,15 +3002,15 @@ dependencies = [ [[package]] name = "jsonpath-rust" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d057f8fd19e20c3f14d3663983397155739b6bc1148dc5cd4c4a1a5b3130eb0" +checksum = "633a7320c4bb672863a3782e89b9094ad70285e097ff6832cddd0ec615beadfa" dependencies = [ "pest", "pest_derive", "regex", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -3027,18 +3030,20 @@ dependencies = [ [[package]] name = "lambda_http" -version = "0.15.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23610909b90cf7e6b4c11b169596289643f8d1d6bf1010bc124f70f3dd5449ac" +checksum = "8dfc9f1bd9a56576319c1fe37f84e8551c9f9757f7f2307aa03c5b5d4a3c4d1c" dependencies = [ "aws_lambda_events", + "base64 0.22.1", "bytes", "encoding_rs", + "futures", "futures-util", "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "lambda_runtime", "mime", "percent-encoding", @@ -3063,7 +3068,7 @@ dependencies = [ "http 1.3.1", "http-body-util", "http-serde", - "hyper 1.6.0", + "hyper 1.7.0", "lambda_runtime_api_client", "pin-project", "serde", @@ -3087,7 +3092,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "tower", "tracing", @@ -3178,15 +3183,15 @@ dependencies = [ [[package]] name = "libbz2-rs-sys" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775bf80d5878ab7c2b1080b5351a48b2f737d9f6f8b383574eebcc22be0dfccb" +checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libloading" @@ -3195,7 +3200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -3817,9 +3822,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" @@ -3828,7 +3833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.16", "ucd-trie", ] @@ -3998,9 +4003,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.35" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", "syn", @@ -4008,9 +4013,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -4061,9 +4066,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.29", + "rustls 0.23.31", "socket2 0.5.10", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", "web-time", @@ -4081,10 +4086,10 @@ dependencies = [ "rand 0.9.2", "ring", "rustc-hash 2.1.1", - "rustls 0.23.29", + "rustls 0.23.31", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.16", "tinyvec", "tracing", "web-time", @@ -4180,9 +4185,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -4190,9 +4195,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -4213,9 +4218,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.15" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ "bitflags", ] @@ -4292,9 +4297,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.22" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", @@ -4304,7 +4309,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.27.7", "hyper-util", "js-sys", @@ -4312,7 +4317,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.29", + "rustls 0.23.31", "rustls-pki-types", "serde", "serde_json", @@ -4389,9 +4394,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -4454,9 +4459,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.29" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "aws-lc-rs", "log", @@ -4489,7 +4494,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.3.0", ] [[package]] @@ -4544,9 +4549,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -4578,7 +4583,7 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "httparse", - "hyper 1.6.0", + "hyper 1.7.0", "itoa", "memchr", "mime", @@ -4594,7 +4599,7 @@ dependencies = [ "smallvec", "std-next", "sync_wrapper", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", "tokio", "tracing", @@ -4614,7 +4619,7 @@ dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "aws-smithy-types-convert", - "hyper 1.6.0", + "hyper 1.7.0", "s3s", "std-next", "sync_wrapper", @@ -4642,7 +4647,7 @@ dependencies = [ "s3s", "serde_json", "std-next", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", "tokio", "tokio-util", @@ -4761,9 +4766,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" dependencies = [ "bitflags", "core-foundation 0.10.1", @@ -4827,9 +4832,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "indexmap", "itoa", @@ -4927,9 +4932,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -4958,7 +4963,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] @@ -5023,7 +5028,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04082e93ed1a06debd9148c928234b46d2cf260bc65f44e1d1d3fa594c5beebc" dependencies = [ "simdutf8", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -5040,9 +5045,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -5071,15 +5076,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", "rustix 1.0.8", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5102,11 +5107,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", ] [[package]] @@ -5122,9 +5127,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", @@ -5193,9 +5198,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -5208,9 +5213,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.46.1" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", @@ -5221,9 +5226,9 @@ dependencies = [ "pin-project-lite", "signal-hook-registry", "slab", - "socket2 0.5.10", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5253,7 +5258,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.29", + "rustls 0.23.31", "tokio", ] @@ -5270,9 +5275,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -5296,9 +5301,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ "indexmap", "serde", @@ -5343,9 +5348,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" dependencies = [ "winnow", ] @@ -5604,9 +5609,9 @@ checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "url" -version = "2.5.4" +version = "2.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "137a3c834eaf7139b73688502f3f1141a0337c5d8e4d9b536f9b8c796e26a7c4" dependencies = [ "form_urlencoded", "idna", @@ -5633,9 +5638,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" dependencies = [ "getrandom 0.3.3", "js-sys", @@ -5843,11 +5848,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5939,7 +5944,7 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -5960,10 +5965,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.2" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -6208,9 +6214,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", diff --git a/data/README.md b/data/README.md index a27d4180d..9b539e30e 100644 --- a/data/README.md +++ b/data/README.md @@ -15,10 +15,10 @@ crypt4gh keygen --sk c4gh/keys/bob.sec --pk c4gh/keys/bob.pub Files were encrypted by running: ```sh -crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < bam/htsnexus_test_NA12878.bam > c4gh/htsnexus_test_NA12878.bam.c4gh +crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < bam/seraseq_cebpa_larger.bam > c4gh/seraseq_cebpa_larger.bam.c4gh crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < bcf/sample1-bcbio-cancer.bcf > c4gh/sample1-bcbio-cancer.bcf.c4gh crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < bcf/spec-v4.3.bcf > c4gh/spec-v4.3.bcf.c4gh -crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < cram/htsnexus_test_NA12878.cram > c4gh/htsnexus_test_NA12878.cram.c4gh +crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < cram/seraseq_cebpa_larger.cram > c4gh/seraseq_cebpa_larger.cram.c4gh crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < vcf/sample1-bcbio-cancer.vcf.gz > c4gh/sample1-bcbio-cancer.vcf.gz.c4gh crypt4gh encrypt --sk c4gh/keys/alice.sec --recipient_pk c4gh/keys/bob.pub < vcf/spec-v4.3.vcf.gz > c4gh/spec-v4.3.vcf.gz.c4gh ``` diff --git a/data/bam/htsnexus_test_NA12878.bam b/data/bam/htsnexus_test_NA12878.bam deleted file mode 100644 index c6065431a..000000000 Binary files a/data/bam/htsnexus_test_NA12878.bam and /dev/null differ diff --git a/data/bam/htsnexus_test_NA12878.bam.bai b/data/bam/htsnexus_test_NA12878.bam.bai deleted file mode 100644 index 6e723eb69..000000000 Binary files a/data/bam/htsnexus_test_NA12878.bam.bai and /dev/null differ diff --git a/data/bam/htsnexus_test_NA12878.bam.gzi b/data/bam/htsnexus_test_NA12878.bam.gzi deleted file mode 100644 index 507a42f83..000000000 Binary files a/data/bam/htsnexus_test_NA12878.bam.gzi and /dev/null differ diff --git a/data/bam/seraseq_cebpa_larger.bam b/data/bam/seraseq_cebpa_larger.bam new file mode 100644 index 000000000..986719b53 Binary files /dev/null and b/data/bam/seraseq_cebpa_larger.bam differ diff --git a/data/bam/seraseq_cebpa_larger.bam.bai b/data/bam/seraseq_cebpa_larger.bam.bai new file mode 100644 index 000000000..eae3dbd32 Binary files /dev/null and b/data/bam/seraseq_cebpa_larger.bam.bai differ diff --git a/data/cram/htsnexus_test_NA12878.cram b/data/cram/htsnexus_test_NA12878.cram deleted file mode 100644 index e207061eb..000000000 Binary files a/data/cram/htsnexus_test_NA12878.cram and /dev/null differ diff --git a/data/cram/htsnexus_test_NA12878.cram.crai b/data/cram/htsnexus_test_NA12878.cram.crai deleted file mode 100644 index 61ea847e0..000000000 Binary files a/data/cram/htsnexus_test_NA12878.cram.crai and /dev/null differ diff --git a/data/cram/seraseq_cebpa_larger.cram b/data/cram/seraseq_cebpa_larger.cram new file mode 100644 index 000000000..898b47b0c Binary files /dev/null and b/data/cram/seraseq_cebpa_larger.cram differ diff --git a/data/cram/seraseq_cebpa_larger.cram.crai b/data/cram/seraseq_cebpa_larger.cram.crai new file mode 100644 index 000000000..2973976ac Binary files /dev/null and b/data/cram/seraseq_cebpa_larger.cram.crai differ diff --git a/docker/examples/file/README.md b/docker/examples/file/README.md index fa03dac04..ce4933d35 100644 --- a/docker/examples/file/README.md +++ b/docker/examples/file/README.md @@ -13,7 +13,7 @@ This launches a `File` htsget-actix server serving data from the [`data`][data] The htsget-rs server can then be queried: ```sh -curl http://127.0.0.1:8080/reads/data/bam/htsnexus_test_NA12878 +curl http://127.0.0.1:8080/reads/data/bam/seraseq_cebpa_larger ``` Which outputs: @@ -23,7 +23,7 @@ Which outputs: "format": "BAM", "urls": [ { - "url": "http://0.0.0.0:8081/data/bam/htsnexus_test_NA12878.bam", + "url": "http://0.0.0.0:8081/data/bam/seraseq_cebpa_larger.bam", "headers": { "Range": "bytes=0-2596770" } diff --git a/docker/examples/minio/README.md b/docker/examples/minio/README.md index 97df6f08c..8e3acc4b0 100644 --- a/docker/examples/minio/README.md +++ b/docker/examples/minio/README.md @@ -32,7 +32,7 @@ docker compose up Then: ```sh -curl http://127.0.0.1:8080/reads/bam/htsnexus_test_NA12878 +curl http://127.0.0.1:8080/reads/bam/seraseq_cebpa_larger ``` Outputs: @@ -43,7 +43,7 @@ Outputs: "format": "BAM", "urls": [ { - "url": "http://data.minio:9000/bam/htsnexus_test_NA12878.bam?x-id=GetObject&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=user%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T014007Z&X-Amz-Expires=1000&X-Amz-SignedHeaders=host%3Brange&X-Amz-Signature=33a75bd6363ccbfd5ce8edf7e102a5edff8ca7cee17e3c654db01a880e98072d", + "url": "http://data.minio:9000/bam/seraseq_cebpa_larger.bam?x-id=GetObject&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=user%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T014007Z&X-Amz-Expires=1000&X-Amz-SignedHeaders=host%3Brange&X-Amz-Signature=33a75bd6363ccbfd5ce8edf7e102a5edff8ca7cee17e3c654db01a880e98072d", "headers": { "Range": "bytes=0-2596770" } @@ -59,7 +59,7 @@ Outputs: The url tickets can then be fetched within the compose network context: ```sh -docker exec -it minio curl -H "Range: bytes=0-2596770" "http://data.minio:9000/bam/htsnexus_test_NA12878.bam?x-id=GetObject&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=user%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T014007Z&X-Amz-Expires=1000&X-Amz-SignedHeaders=host%3Brange&X-Amz-Signature=33a75bd6363ccbfd5ce8edf7e102a5edff8ca7cee17e3c654db01a880e98072d" +docker exec -it minio curl -H "Range: bytes=0-2596770" "http://data.minio:9000/bam/seraseq_cebpa_larger.bam?x-id=GetObject&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=user%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T014007Z&X-Amz-Expires=1000&X-Amz-SignedHeaders=host%3Brange&X-Amz-Signature=33a75bd6363ccbfd5ce8edf7e102a5edff8ca7cee17e3c654db01a880e98072d" ``` [path-style-deprecated]: https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/ diff --git a/htsget-actix/benches/request_benchmarks.rs b/htsget-actix/benches/request_benchmarks.rs index 8289f2fd8..1a5d61cfb 100644 --- a/htsget-actix/benches/request_benchmarks.rs +++ b/htsget-actix/benches/request_benchmarks.rs @@ -234,8 +234,8 @@ fn criterion_benchmark(c: &mut Criterion) { bench_pair( &mut group, "[LIGHT] simple request", - format_url(&htsget_rs_url, "reads/data/bam/htsnexus_test_NA12878"), - format_url(&htsget_refserver_url, "reads/htsnexus_test_NA12878"), + format_url(&htsget_rs_url, "reads/data/bam/seraseq_cebpa_larger"), + format_url(&htsget_refserver_url, "reads/seraseq_cebpa_larger"), &json_content, ); @@ -254,8 +254,8 @@ fn criterion_benchmark(c: &mut Criterion) { bench_pair( &mut group, "[LIGHT] with region", - format_url(&htsget_rs_url, "reads/data/bam/htsnexus_test_NA12878"), - format_url(&htsget_refserver_url, "reads/htsnexus_test_NA12878"), + format_url(&htsget_rs_url, "reads/data/bam/seraseq_cebpa_larger"), + format_url(&htsget_refserver_url, "reads/seraseq_cebpa_larger"), &json_content, ); @@ -281,8 +281,8 @@ fn criterion_benchmark(c: &mut Criterion) { bench_pair( &mut group, "[LIGHT] with two regions", - format_url(&htsget_rs_url, "reads/data/bam/htsnexus_test_NA12878"), - format_url(&htsget_refserver_url, "reads/htsnexus_test_NA12878"), + format_url(&htsget_rs_url, "reads/data/bam/seraseq_cebpa_larger"), + format_url(&htsget_refserver_url, "reads/seraseq_cebpa_larger"), &json_content, ); diff --git a/htsget-axum/README.md b/htsget-axum/README.md index f54304628..d8d621bb6 100644 --- a/htsget-axum/README.md +++ b/htsget-axum/README.md @@ -122,7 +122,7 @@ cargo run -p htsget-axum --features experimental -- --config htsget-config/examp Crypt4GH encrypted byte ranges can be queried: ```sh -curl 'http://localhost:8080/reads/data/c4gh/htsnexus_test_NA12878?referenceName=11&start=5000000&end=5050000' +curl 'http://localhost:8080/reads/data/c4gh/seraseq_cebpa_larger?referenceName=11&start=5000000&end=5050000' ``` The output consists of the Crypt4GH header, which includes the original header, the edit lists, and the re-encrypted header that @@ -137,7 +137,7 @@ the recipient can use to decrypt bytes: "url": "data:;base64,Y3J5cHQ0Z2gBAAAAAwAAAA==" }, { - "url": "http://127.0.0.1:8081/data/c4gh/htsnexus_test_NA12878.bam.c4gh", + "url": "http://127.0.0.1:8081/data/c4gh/seraseq_cebpa_larger.bam.c4gh", "headers": { "Range": "bytes=16-123" } @@ -146,13 +146,13 @@ the recipient can use to decrypt bytes: "url": "data:;base64,bAAAAAAAAABPIoRdk+d+ifp2PWRFeXoe6Z9kPOj+HrREhzxZ3QiDa2SYh+0Gy8aKpFic4MtTa+ywMpkHziJgojVbcmbvBAr3G7o01lDubsBW98aQ/U1AcalIUCp0fGNkrtdTBN4NaVNIdtQmbAAAAAAAAABPIoRdk+d+ifp2PWRFeXoe6Z9kPOj+HrREhzxZ3QiDa+xJ+yh+52zHvw8qQXMyCtqT6jTFvaYhRPw/6ZzvOdt98YPQgCcTIut58VeTGmR3ien0TdcQFxmfE10MH4qapF2blgjX" }, { - "url": "http://127.0.0.1:8081/data/c4gh/htsnexus_test_NA12878.bam.c4gh", + "url": "http://127.0.0.1:8081/data/c4gh/seraseq_cebpa_larger.bam.c4gh", "headers": { "Range": "bytes=124-1114711" } }, { - "url": "http://127.0.0.1:8081/data/c4gh/htsnexus_test_NA12878.bam.c4gh", + "url": "http://127.0.0.1:8081/data/c4gh/seraseq_cebpa_larger.bam.c4gh", "headers": { "Range": "bytes=2557120-2598042" } @@ -165,7 +165,7 @@ the recipient can use to decrypt bytes: For example, using a [htsget client][htsget-client], the data can be concatenated, and then decrypted using the [Crypt4GH CLI][crypt4gh-cli]: ```sh -htsget 'http://localhost:8080/reads/data/c4gh/htsnexus_test_NA12878?referenceName=11&start=5000000&end=5050000' > out.c4gh +htsget 'http://localhost:8080/reads/data/c4gh/seraseq_cebpa_larger?referenceName=11&start=5000000&end=5050000' > out.c4gh crypt4gh decrypt --sk data/c4gh/keys/alice.sec < out.c4gh > out.bam samtools view out.bam ``` diff --git a/htsget-config/README.md b/htsget-config/README.md index 8a94b9a39..7a739f2bc 100644 --- a/htsget-config/README.md +++ b/htsget-config/README.md @@ -30,7 +30,7 @@ cargo run --all-features -p htsget-axum -- --config This will serve files under the [`data`][data] directory: ```sh -curl 'http://localhost:8080/reads/bam/htsnexus_test_NA12878' +curl 'http://localhost:8080/reads/bam/seraseq_cebpa_larger' ``` Locations allow htsget-rs access to bioinformatics files and indexes. Instead of local files, htsget-rs can access @@ -55,8 +55,8 @@ locations = [ "file://data/bam", "file://data/cram" ] This allows htsget-rs to serve data only when the request also contains the prefix: ```sh -curl 'http://localhost:8080/reads/bam/htsnexus_test_NA12878' -curl 'http://localhost:8080/reads/cram/htsnexus_test_NA12878?format=CRAM' +curl 'http://localhost:8080/reads/bam/seraseq_cebpa_larger' +curl 'http://localhost:8080/reads/cram/seraseq_cebpa_larger?format=CRAM' ``` Locations can be mixed, and don't all need to have the same directory or resource: diff --git a/htsget-http/src/lib.rs b/htsget-http/src/lib.rs index 4a1ba55c3..9fc2d7293 100644 --- a/htsget-http/src/lib.rs +++ b/htsget-http/src/lib.rs @@ -134,10 +134,10 @@ mod tests { let request = HashMap::new(); let mut expected_response_headers = Headers::default(); - expected_response_headers.insert("Range".to_string(), "bytes=0-2596798".to_string()); + expected_response_headers.insert("Range".to_string(), "bytes=0-986643".to_string()); let request = Request::new( - "bam/htsnexus_test_NA12878".to_string(), + "bam/seraseq_cebpa_larger".to_string(), request, Default::default(), ); @@ -154,7 +154,7 @@ mod tests { request.insert("format".to_string(), "VCF".to_string()); let request = Request::new( - "bam/htsnexus_test_NA12878".to_string(), + "bam/seraseq_cebpa_larger".to_string(), request, Default::default(), ); @@ -189,7 +189,7 @@ mod tests { #[tokio::test] async fn post_request() { - let request = Request::new_with_id("bam/htsnexus_test_NA12878".to_string()); + let request = Request::new_with_id("bam/seraseq_cebpa_larger".to_string()); let body = PostRequest { format: None, class: None, @@ -200,7 +200,7 @@ mod tests { }; let mut expected_response_headers = Headers::default(); - expected_response_headers.insert("Range".to_string(), "bytes=0-2596798".to_string()); + expected_response_headers.insert("Range".to_string(), "bytes=0-986643".to_string()); assert_eq!( post(get_searcher(), body, request, Endpoint::Reads).await, @@ -210,7 +210,7 @@ mod tests { #[tokio::test] async fn post_variants_request_with_reads_format() { - let request = Request::new_with_id("bam/htsnexus_test_NA12878".to_string()); + let request = Request::new_with_id("bam/seraseq_cebpa_larger".to_string()); let body = PostRequest { format: Some("BAM".to_string()), class: None, @@ -265,7 +265,7 @@ mod tests { JsonResponse::from(Response::new( Bam, vec![ - Url::new("http://127.0.0.1:8081/bam/htsnexus_test_NA12878.bam".to_string()) + Url::new("http://127.0.0.1:8081/bam/seraseq_cebpa_larger.bam".to_string()) .with_headers(headers), ], )) diff --git a/htsget-search/README.md b/htsget-search/README.md index 5ce4b52ba..7c169245d 100644 --- a/htsget-search/README.md +++ b/htsget-search/README.md @@ -78,10 +78,10 @@ produce minimal byte ranges. For example, consider this [file][example-file]: * Using just this data, the following query with: * `referenceName=11`, `start=5015000`, and `end=5050000` * Would produce these byte ranges: - * `bytes=0-4667` + * `bytes=0-38969` * `bytes=256721-1065951` * However, an equally valid response, with smaller byte ranges is: - * `bytes=0-4667` + * `bytes=0-38969` * `bytes=256721-647345` * `bytes=824361-842100` * `bytes=977196-996014` @@ -89,8 +89,8 @@ produce minimal byte ranges. For example, consider this [file][example-file]: To produce the smallest byte ranges, htsget-rs needs can search through GZI files and regular index files. It does not read data from the underlying target file. -[example-file]: ../data/bam/htsnexus_test_NA12878.bam -[example-index]: ../data/bam/htsnexus_test_NA12878.bam.bai +[example-file]: ../data/bam/seraseq_cebpa_larger.bam +[example-index]: ../data/bam/seraseq_cebpa_larger.bam.bai ## Benchmarks diff --git a/htsget-search/benches/search_benchmarks.rs b/htsget-search/benches/search_benchmarks.rs index 7020dbfa7..1f6c066ea 100644 --- a/htsget-search/benches/search_benchmarks.rs +++ b/htsget-search/benches/search_benchmarks.rs @@ -45,39 +45,39 @@ fn criterion_benchmark(c: &mut Criterion) { bench_query( &mut group, "[LIGHT] Bam query all", - Query::new_with_default_request("bam/htsnexus_test_NA12878", Bam), + Query::new_with_default_request("bam/seraseq_cebpa_larger", Bam), ); bench_query( &mut group, "[LIGHT] Bam query specific", - Query::new_with_default_request("bam/htsnexus_test_NA12878", Bam) - .with_reference_name("11") + Query::new_with_default_request("bam/seraseq_cebpa_larger", Bam) + .with_reference_name("chr19") .with_start(4999977) .with_end(5008321), ); bench_query( &mut group, "[LIGHT] Bam query header", - Query::new_with_default_request("bam/htsnexus_test_NA12878", Bam).with_class(Header), + Query::new_with_default_request("bam/seraseq_cebpa_larger", Bam).with_class(Header), ); bench_query( &mut group, "[LIGHT] Cram query all", - Query::new_with_default_request("cram/htsnexus_test_NA12878", Cram), + Query::new_with_default_request("cram/seraseq_cebpa_larger", Cram), ); bench_query( &mut group, "[LIGHT] Cram query specific", - Query::new_with_default_request("cram/htsnexus_test_NA12878", Cram) - .with_reference_name("11") + Query::new_with_default_request("cram/seraseq_cebpa_larger", Cram) + .with_reference_name("chr19") .with_start(4999977) .with_end(5008321), ); bench_query( &mut group, "[LIGHT] Cram query header", - Query::new_with_default_request("cram/htsnexus_test_NA12878", Cram).with_class(Header), + Query::new_with_default_request("cram/seraseq_cebpa_larger", Cram).with_class(Header), ); bench_query( diff --git a/htsget-search/src/bam_search.rs b/htsget-search/src/bam_search.rs index 69bf4ff65..c382eafb3 100644 --- a/htsget-search/src/bam_search.rs +++ b/htsget-search/src/bam_search.rs @@ -162,14 +162,14 @@ pub(crate) mod tests { }; const DATA_LOCATION: &str = "data/bam"; - const INDEX_FILE_LOCATION: &str = "htsnexus_test_NA12878.bam.bai"; - pub(crate) const BAM_FILE_NAME: &str = "htsnexus_test_NA12878.bam"; + const INDEX_FILE_LOCATION: &str = "seraseq_cebpa_larger.bam.bai"; + pub(crate) const BAM_FILE_NAME: &str = "seraseq_cebpa_larger.bam"; #[tokio::test] async fn search_all_reads() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam); let response = search.search(query).await; println!("{response:#?}"); @@ -177,7 +177,7 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-2596798")), + .with_headers(Headers::default().with_header("Range", "bytes=0-986643")), ], )); assert_eq!(response, expected_response); @@ -191,7 +191,7 @@ pub(crate) mod tests { async fn search_unmapped_reads() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) .with_reference_name("*"); let response = search.search(query).await; println!("{response:#?}"); @@ -200,10 +200,10 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=2060795-2596798")) + .with_headers(Headers::default().with_header("Range", "bytes=737972-986643")) .with_class(Body), ], )); @@ -218,8 +218,8 @@ pub(crate) mod tests { async fn search_reference_name_without_seq_range_chr11() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11"); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19"); let response = search.search(query).await; println!("{response:#?}"); @@ -242,7 +242,7 @@ pub(crate) mod tests { async fn search_reference_name_without_seq_range_chr20() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) .with_reference_name("20"); let response = search.search(query).await; println!("{response:#?}"); @@ -251,7 +251,7 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), Url::new(expected_url()) .with_headers(Headers::default().with_header("Range", "bytes=977196-2128165")) @@ -270,8 +270,8 @@ pub(crate) mod tests { async fn search_reference_name_with_seq_range() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19") .with_start(5015000) .with_end(5050000); let response = search.search(query).await; @@ -281,17 +281,17 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=256721-647345")) - .with_class(Body), - Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=824361-842100")) - .with_class(Body), - Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=977196-996014")) + .with_headers(Headers::default().with_header("Range", "bytes=986616-986643")) .with_class(Body), + // Url::new(expected_url()) + // .with_headers(Headers::default().with_header("Range", "bytes=824361-842100")) + // .with_class(Body), + // Url::new(expected_url()) + // .with_headers(Headers::default().with_header("Range", "bytes=977196-996014")) + // .with_class(Body), expected_eof_url(), ], )); @@ -306,8 +306,8 @@ pub(crate) mod tests { async fn search_reference_name_no_end_position() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19") .with_start(5015000); let response = search.search(query).await; println!("{response:#?}"); @@ -316,11 +316,11 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), - Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=256721-996014")) - .with_class(Body), + // Url::new(expected_url()) + // .with_headers(Headers::default().with_header("Range", "bytes=256721-996014")) + // .with_class(Body), expected_eof_url(), ], )); @@ -335,8 +335,8 @@ pub(crate) mod tests { async fn search_many_response_urls() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19") .with_start(4999976) .with_end(5003981); let response = search.search(query).await; @@ -348,14 +348,17 @@ pub(crate) mod tests { Url::new(expected_url()) .with_headers(Headers::default().with_header("Range", "bytes=0-273085")), Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=499249-574358")), + .with_headers(Headers::default().with_header("Range", "bytes=986616-986643")), + /* Url::new(expected_url()) .with_headers(Headers::default().with_header("Range", "bytes=627987-647345")), Url::new(expected_url()) .with_headers(Headers::default().with_header("Range", "bytes=824361-842100")), Url::new(expected_url()) .with_headers(Headers::default().with_header("Range", "bytes=977196-996014")), + */ expected_eof_url().set_class(None), + ], )); assert_eq!(response, expected_response); @@ -370,8 +373,8 @@ pub(crate) mod tests { with_local_storage_fn( |storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19") .with_start(5015000) .with_end(5050000); let response = search.search(query).await; @@ -381,10 +384,10 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=256721-1065951")) + .with_headers(Headers::default().with_header("Range", "bytes=986616-986643")) .with_class(Body), expected_eof_url(), ], @@ -404,7 +407,7 @@ pub(crate) mod tests { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam).with_class(Header); let response = search.search(query).await; println!("{response:#?}"); @@ -412,7 +415,7 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), ], )); @@ -430,8 +433,8 @@ pub(crate) mod tests { async fn search_header_with_no_mapped_reads() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("22"); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("no_mapped_region_in_cepba?"); let response = search.search(query).await; println!("{response:#?}"); @@ -439,7 +442,7 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-4667")) + .with_headers(Headers::default().with_header("Range", "bytes=0-38969")) .with_class(Header), expected_eof_url(), ], @@ -455,7 +458,7 @@ pub(crate) mod tests { async fn search_header_with_non_existent_reference_name() { with_local_storage(|storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) .with_reference_name("25"); let response = search.search(query).await; println!("{response:#?}"); @@ -472,7 +475,7 @@ pub(crate) mod tests { with_local_storage_fn( |storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -489,7 +492,7 @@ pub(crate) mod tests { with_local_storage_fn( |storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) .with_reference_name("20"); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -508,7 +511,7 @@ pub(crate) mod tests { |storage| async move { let mut search = BamSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam).with_class(Header); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -526,12 +529,12 @@ pub(crate) mod tests { |storage| async move { let search = BamSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam).with_class(Header); let index = search.read_index(&query).await.unwrap(); let response = search.get_header_end_offset(&index).await; - assert_eq!(response, Ok(70204)); + assert_eq!(response, Ok(104506)); None }, @@ -547,7 +550,7 @@ pub(crate) mod tests { with_aws_storage_fn( |storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam); let response = search.search(query).await; assert!(response.is_err()); @@ -565,7 +568,7 @@ pub(crate) mod tests { with_aws_storage_fn( |storage| async move { let mut search = BamSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) .with_reference_name("20"); let response = search.search(query).await; assert!(response.is_err()); @@ -585,7 +588,7 @@ pub(crate) mod tests { |storage| async move { let mut search = BamSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam).with_class(Header); let response = search.search(query).await; assert!(response.is_err()); @@ -603,13 +606,13 @@ pub(crate) mod tests { with_local_storage_c4gh(|storage| async move { let storage = C4GHStorage::new(get_decryption_keys().await, storage); let mut search = BamSearch::new(Storage::new(storage)); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam); let response = search.search(query).await.unwrap(); println!("{response:#?}"); Some(( - "htsnexus_test_NA12878.bam.c4gh".to_string(), + "seraseq_cebpa_larger.bam.c4gh".to_string(), (response, Body).into(), )) }) @@ -622,8 +625,8 @@ pub(crate) mod tests { with_local_storage_c4gh(|storage| async move { let storage = C4GHStorage::new(get_decryption_keys().await, storage); let mut search = BamSearch::new(Storage::new(storage)); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam) + .with_reference_name("chr19") .with_start(5015000) .with_end(5050000); let response = search.search(query).await.unwrap(); @@ -631,7 +634,7 @@ pub(crate) mod tests { println!("{response:#?}"); Some(( - "htsnexus_test_NA12878.bam.c4gh".to_string(), + "seraseq_cebpa_larger.bam.c4gh".to_string(), (response, Body).into(), )) }) @@ -647,12 +650,12 @@ pub(crate) mod tests { } pub(crate) fn expected_url() -> String { - "http://127.0.0.1:8081/htsnexus_test_NA12878.bam".to_string() + "http://127.0.0.1:8081/seraseq_cebpa_larger.bam".to_string() } pub(crate) fn expected_eof_url() -> Url { Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=2596771-2596798")) + .with_headers(Headers::default().with_header("Range", "bytes=2596771-986643")) .with_class(Body) } } diff --git a/htsget-search/src/cram_search.rs b/htsget-search/src/cram_search.rs index 0ab66eb93..ce9c10b0f 100644 --- a/htsget-search/src/cram_search.rs +++ b/htsget-search/src/cram_search.rs @@ -280,14 +280,14 @@ mod tests { }; const DATA_LOCATION: &str = "data/cram"; - const INDEX_FILE_LOCATION: &str = "htsnexus_test_NA12878.cram.crai"; - const CRAM_FILE_NAME: &str = "htsnexus_test_NA12878.cram"; + const INDEX_FILE_LOCATION: &str = "seraseq_cebpa_larger.cram.crai"; + const CRAM_FILE_NAME: &str = "seraseq_cebpa_larger.cram"; #[tokio::test] async fn search_all_reads() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram); let response = search.search(query).await; println!("{response:#?}"); @@ -309,7 +309,7 @@ mod tests { async fn search_unmapped_reads() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) .with_reference_name("*"); let response = search.search(query).await; println!("{response:#?}"); @@ -318,10 +318,10 @@ mod tests { Format::Cram, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-6133")) + .with_headers(Headers::default().with_header("Range", "bytes=0-42674")) .with_class(Header), Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=1324614-1672447")) + .with_headers(Headers::default().with_header("Range", "bytes=349349-349386")) .with_class(Body), ], )); @@ -336,8 +336,8 @@ mod tests { async fn search_reference_name_without_seq_range_chr11() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("11"); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19"); let response = search.search(query).await; println!("{response:#?}"); @@ -345,7 +345,7 @@ mod tests { Format::Cram, vec![ Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-625727")), + .with_headers(Headers::default().with_header("Range", "bytes=0-349386")), expected_eof_url().set_class(None), ], )); @@ -360,8 +360,8 @@ mod tests { async fn search_reference_name_without_seq_range_chr20() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("20"); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19"); let response = search.search(query).await; println!("{response:#?}"); @@ -388,8 +388,8 @@ mod tests { async fn search_reference_name_with_seq_range_no_overlap() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19") .with_start(5000000) .with_end(5050000); let response = search.search(query).await; @@ -414,8 +414,8 @@ mod tests { async fn search_reference_name_with_seq_range_overlap() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19") .with_start(5000000) .with_end(5100000); let response = search.search(query).await; @@ -433,8 +433,8 @@ mod tests { async fn search_reference_name_with_no_end_position() { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19") .with_start(5000000); let response = search.search(query).await; println!("{response:#?}"); @@ -463,7 +463,7 @@ mod tests { with_local_storage(|storage| async move { let mut search = CramSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram).with_class(Header); let response = search.search(query).await; println!("{response:#?}"); @@ -490,7 +490,7 @@ mod tests { with_local_storage_fn( |storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -507,7 +507,7 @@ mod tests { with_local_storage_fn( |storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) .with_reference_name("20"); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -526,7 +526,7 @@ mod tests { |storage| async move { let mut search = CramSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram).with_class(Header); let response = search.search(query).await; assert!(matches!(response, Err(NotFound(_)))); @@ -544,7 +544,7 @@ mod tests { with_aws_storage_fn( |storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram); let response = search.search(query).await; assert!(response.is_err()); @@ -562,7 +562,7 @@ mod tests { with_aws_storage_fn( |storage| async move { let mut search = CramSearch::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) .with_reference_name("20"); let response = search.search(query).await; assert!(response.is_err()); @@ -582,7 +582,7 @@ mod tests { |storage| async move { let mut search = CramSearch::new(storage); let query = - Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram).with_class(Header); + Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram).with_class(Header); let response = search.search(query).await; assert!(response.is_err()); @@ -600,13 +600,13 @@ mod tests { with_local_storage_c4gh(|storage| async move { let storage = C4GHStorage::new(get_decryption_keys().await, storage); let mut search = CramSearch::new(Storage::new(storage)); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram); let response = search.search(query).await.unwrap(); println!("{response:#?}"); Some(( - "htsnexus_test_NA12878.cram.c4gh".to_string(), + "seraseq_cebpa_larger.cram.c4gh".to_string(), (response, Body).into(), )) }) @@ -619,8 +619,8 @@ mod tests { with_local_storage_c4gh(|storage| async move { let storage = C4GHStorage::new(get_decryption_keys().await, storage); let mut search = CramSearch::new(Storage::new(storage)); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Cram) - .with_reference_name("11") + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Cram) + .with_reference_name("chr19") .with_start(5000000) .with_end(5050000); let response = search.search(query).await.unwrap(); @@ -628,7 +628,7 @@ mod tests { println!("{response:#?}"); Some(( - "htsnexus_test_NA12878.cram.c4gh".to_string(), + "seraseq_cebpa_larger.cram.c4gh".to_string(), (response, Body).into(), )) }) @@ -644,12 +644,12 @@ mod tests { } fn expected_url() -> String { - "http://127.0.0.1:8081/htsnexus_test_NA12878.cram".to_string() + "http://127.0.0.1:8081/seraseq_cebpa_larger.cram".to_string() } pub(crate) fn expected_eof_url() -> Url { Url::new(expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=1672410-1672447")) + .with_headers(Headers::default().with_header("Range", "bytes=349349-349386")) .with_class(Body) } } diff --git a/htsget-search/src/from_storage.rs b/htsget-search/src/from_storage.rs index 6d49e6653..c84da8c18 100644 --- a/htsget-search/src/from_storage.rs +++ b/htsget-search/src/from_storage.rs @@ -122,7 +122,7 @@ pub(crate) mod tests { async fn search_bam() { with_bam_local_storage(|storage| async move { let htsget = HtsGetFromStorage::new(storage); - let query = Query::new_with_default_request("htsnexus_test_NA12878", Format::Bam); + let query = Query::new_with_default_request("seraseq_cebpa_larger", Format::Bam); let response = htsget.search(query).await; println!("{response:#?}"); @@ -130,7 +130,7 @@ pub(crate) mod tests { Format::Bam, vec![ Url::new(bam_expected_url()) - .with_headers(Headers::default().with_header("Range", "bytes=0-2596798")), + .with_headers(Headers::default().with_header("Range", "bytes=0-986643")), ], )); assert_eq!(response, expected_response); diff --git a/htsget-storage/src/c4gh/edit.rs b/htsget-storage/src/c4gh/edit.rs index dbdaa8ac3..45ee78e18 100644 --- a/htsget-storage/src/c4gh/edit.rs +++ b/htsget-storage/src/c4gh/edit.rs @@ -238,7 +238,7 @@ mod tests { #[tokio::test] async fn test_create_edit_list() { let mut src = - File::open(default_dir().join("data/c4gh/htsnexus_test_NA12878.bam.c4gh")).unwrap(); + File::open(default_dir().join("data/c4gh/seraseq_cebpa_larger.bam.c4gh")).unwrap(); let mut buf = vec![]; src.read_to_end(&mut buf).unwrap();