[1mdiff --git a/.cargo/config b/.cargo/config.toml[m
[1msimilarity index 100%[m
[1mrename from .cargo/config[m
[1mrename to .cargo/config.toml[m
[1mdiff --git a/.github/workflows/add-pr-to-project.yml b/.github/workflows/add-pr-to-project.yml[m
[1mdeleted file mode 100644[m
[1mindex 8d65069..0000000[m
[1m--- a/.github/workflows/add-pr-to-project.yml[m
[1m+++ /dev/null[m
[36m@@ -1,18 +0,0 @@[m
[31m-name: add needs-review pull requests to projects[m
[31m-[m
[31m-on:[m
[31m-  pull_request:[m
[31m-    types:[m
[31m-      - labeled[m
[31m-[m
[31m-jobs:[m
[31m-  add-to-project:[m
[31m-    name: Add pull request to project[m
[31m-    runs-on: ubuntu-latest[m
[31m-    steps:[m
[31m-      - name: register pull requests with release planning project[m
[31m-        uses: actions/add-to-project@v0.6.0[m
[31m-        with:[m
[31m-          project-url: https://github.com/orgs/varfish-org/projects/2[m
[31m-          labeled: needs-review[m
[31m-          github-token: ${{ secrets.BOT_TOKEN }}[m
[1mdiff --git a/.github/workflows/conventional-prs.yml b/.github/workflows/conventional-prs.yml[m
[1mindex b9bf6bc..ccba6a9 100644[m
[1m--- a/.github/workflows/conventional-prs.yml[m
[1m+++ b/.github/workflows/conventional-prs.yml[m
[36m@@ -11,7 +11,7 @@[m [mjobs:[m
   title-format:[m
     runs-on: ubuntu-latest[m
     steps:[m
[31m-      - uses: amannn/action-semantic-pull-request@v5.4.0[m
[32m+[m[32m      - uses: amannn/action-semantic-pull-request@v5.5.2[m
         env:[m
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}[m
         with:[m
[1mdiff --git a/CHANGELOG.md b/CHANGELOG.md[m
[1mindex d02c81b..b8100d5 100644[m
[1m--- a/CHANGELOG.md[m
[1m+++ b/CHANGELOG.md[m
[36m@@ -1,5 +1,12 @@[m
 # Changelog[m
 [m
[32m+[m[32m## [0.36.2](https://github.com/varfish-org/annonars/compare/v0.36.1...v0.36.2) (2024-05-08)[m
[32m+[m
[32m+[m
[32m+[m[32m### Bug Fixes[m
[32m+[m
[32m+[m[32m* update noodles group ([#447](https://github.com/varfish-org/annonars/issues/447)) ([683c84d](https://github.com/varfish-org/annonars/commit/683c84d0dcc17cae659bebb14120f23f7bf2ff4d))[m
[32m+[m
 ## [0.36.1](https://github.com/varfish-org/annonars/compare/v0.36.0...v0.36.1) (2024-03-01)[m
 [m
 [m
[1mdiff --git a/Cargo.lock b/Cargo.lock[m
[1mindex 41eed54..3ccdbb8 100644[m
[1m--- a/Cargo.lock[m
[1m+++ b/Cargo.lock[m
[36m@@ -8,7 +8,7 @@[m [mversion = "0.5.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"[m
 dependencies = [[m
[31m- "bitflags 2.4.2",[m
[32m+[m[32m "bitflags",[m
  "bytes",[m
  "futures-core",[m
  "futures-sink",[m
[36m@@ -21,17 +21,17 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "actix-http"[m
[31m-version = "3.6.0"[m
[32m+[m[32mversion = "3.7.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743"[m
[32m+[m[32mchecksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d"[m
 dependencies = [[m
  "actix-codec",[m
  "actix-rt",[m
  "actix-service",[m
  "actix-utils",[m
  "ahash",[m
[31m- "base64",[m
[31m- "bitflags 2.4.2",[m
[32m+[m[32m "base64 0.22.1",[m
[32m+[m[32m "bitflags",[m
  "brotli",[m
  "bytes",[m
  "bytestring",[m
[36m@@ -65,18 +65,20 @@[m [msource = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"[m
 dependencies = [[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "actix-router"[m
[31m-version = "0.5.2"[m
[32m+[m[32mversion = "0.5.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511"[m
[32m+[m[32mchecksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8"[m
 dependencies = [[m
  "bytestring",[m
[32m+[m[32m "cfg-if",[m
  "http",[m
  "regex",[m
[32m+[m[32m "regex-lite",[m
  "serde",[m
  "tracing",[m
 ][m
[36m@@ -131,9 +133,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "actix-web"[m
[31m-version = "4.5.1"[m
[32m+[m[32mversion = "4.6.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984"[m
[32m+[m[32mchecksum = "b1cf67dadb19d7c95e5a299e2dda24193b89d5d4f33a3b9800888ede9e19aa32"[m
 dependencies = [[m
  "actix-codec",[m
  "actix-http",[m
[36m@@ -160,6 +162,7 @@[m [mdependencies = [[m
  "once_cell",[m
  "pin-project-lite",[m
  "regex",[m
[32m+[m[32m "regex-lite",[m
  "serde",[m
  "serde_json",[m
  "serde_urlencoded",[m
[36m@@ -178,7 +181,7 @@[m [mdependencies = [[m
  "actix-router",[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -198,9 +201,9 @@[m [mchecksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"[m
 [m
 [[package]][m
 name = "ahash"[m
[31m-version = "0.8.7"[m
[32m+[m[32mversion = "0.8.11"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"[m
[32m+[m[32mchecksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"[m
 dependencies = [[m
  "cfg-if",[m
  "getrandom",[m
[36m@@ -211,9 +214,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "aho-corasick"[m
[31m-version = "1.1.2"[m
[32m+[m[32mversion = "1.1.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"[m
[32m+[m[32mchecksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"[m
 dependencies = [[m
  "memchr",[m
 ][m
[36m@@ -250,7 +253,7 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "annonars"[m
[31m-version = "0.36.1"[m
[32m+[m[32mversion = "0.36.2"[m
 dependencies = [[m
  "actix-web",[m
  "anyhow",[m
[36m@@ -270,6 +273,7 @@[m [mdependencies = [[m
  "indexmap",[m
  "indicatif",[m
  "insta",[m
[32m+[m[32m "itertools 0.13.0",[m
  "log",[m
  "noodles-bed",[m
  "noodles-bgzf",[m
[36m@@ -292,7 +296,7 @@[m [mdependencies = [[m
  "serde",[m
  "serde_json",[m
  "serde_with",[m
[31m- "strum 0.26.1",[m
[32m+[m[32m "strum 0.26.2",[m
  "temp_testdir",[m
  "test-log",[m
  "thiserror",[m
[36m@@ -303,47 +307,48 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "anstream"[m
[31m-version = "0.6.11"[m
[32m+[m[32mversion = "0.6.14"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"[m
[32m+[m[32mchecksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"[m
 dependencies = [[m
  "anstyle",[m
  "anstyle-parse",[m
  "anstyle-query",[m
  "anstyle-wincon",[m
  "colorchoice",[m
[32m+[m[32m "is_terminal_polyfill",[m
  "utf8parse",[m
 ][m
 [m
 [[package]][m
 name = "anstyle"[m
[31m-version = "1.0.6"[m
[32m+[m[32mversion = "1.0.7"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"[m
[32m+[m[32mchecksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"[m
 [m
 [[package]][m
 name = "anstyle-parse"[m
[31m-version = "0.2.3"[m
[32m+[m[32mversion = "0.2.4"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"[m
[32m+[m[32mchecksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"[m
 dependencies = [[m
  "utf8parse",[m
 ][m
 [m
 [[package]][m
 name = "anstyle-query"[m
[31m-version = "1.0.2"[m
[32m+[m[32mversion = "1.0.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"[m
[32m+[m[32mchecksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"[m
 dependencies = [[m
  "windows-sys 0.52.0",[m
 ][m
 [m
 [[package]][m
 name = "anstyle-wincon"[m
[31m-version = "3.0.2"[m
[32m+[m[32mversion = "3.0.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"[m
[32m+[m[32mchecksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"[m
 dependencies = [[m
  "anstyle",[m
  "windows-sys 0.52.0",[m
[36m@@ -351,9 +356,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "anyhow"[m
[31m-version = "1.0.80"[m
[32m+[m[32mversion = "1.0.86"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"[m
[32m+[m[32mchecksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"[m
 [m
 [[package]][m
 name = "approx"[m
[36m@@ -366,15 +371,15 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "autocfg"[m
[31m-version = "1.1.0"[m
[32m+[m[32mversion = "1.3.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"[m
[32m+[m[32mchecksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"[m
 [m
 [[package]][m
 name = "backtrace"[m
[31m-version = "0.3.69"[m
[32m+[m[32mversion = "0.3.71"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"[m
[32m+[m[32mchecksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"[m
 dependencies = [[m
  "addr2line",[m
  "cc",[m
[36m@@ -391,6 +396,12 @@[m [mversion = "0.21.7"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"[m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "base64"[m
[32m+[m[32mversion = "0.22.1"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"[m
[32m+[m
 [[package]][m
 name = "bgzip"[m
 version = "0.3.1"[m
[36m@@ -405,30 +416,29 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "bindgen"[m
[31m-version = "0.65.1"[m
[32m+[m[32mversion = "0.69.4"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5"[m
[32m+[m[32mchecksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"[m
 dependencies = [[m
[31m- "bitflags 1.3.2",[m
[32m+[m[32m "bitflags",[m
  "cexpr",[m
  "clang-sys",[m
[32m+[m[32m "itertools 0.12.1",[m
  "lazy_static",[m
  "lazycell",[m
[31m- "peeking_take_while",[m
[31m- "prettyplease",[m
  "proc-macro2",[m
  "quote",[m
  "regex",[m
  "rustc-hash",[m
  "shlex",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "bio"[m
[31m-version = "1.5.0"[m
[32m+[m[32mversion = "1.6.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "25dccfc5babf5a4f505ab5bdda0e18d4b5fc1600c222677c54992203632cbdf5"[m
[32m+[m[32mchecksum = "7a72cb93babf08c85b375c2938ac678cc637936b3ebb72266d433cec2577f6c2"[m
 dependencies = [[m
  "anyhow",[m
  "approx",[m
[36m@@ -441,8 +451,7 @@[m [mdependencies = [[m
  "editdistancek",[m
  "enum-map",[m
  "fxhash",[m
[31m- "getset",[m
[31m- "itertools",[m
[32m+[m[32m "itertools 0.11.0",[m
  "itertools-num",[m
  "lazy_static",[m
  "multimap 0.9.1",[m
[36m@@ -508,15 +517,9 @@[m [mchecksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"[m
 [m
 [[package]][m
 name = "bitflags"[m
[31m-version = "1.3.2"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"[m
[31m-[m
[31m-[[package]][m
[31m-name = "bitflags"[m
[31m-version = "2.4.2"[m
[32m+[m[32mversion = "2.5.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"[m
[32m+[m[32mchecksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"[m
 [m
 [[package]][m
 name = "block-buffer"[m
[36m@@ -535,9 +538,9 @@[m [mchecksum = "c057a3e5631e754d98c5a9e3baa56803fce8fe238b009ecd876e57d381d44c00"[m
 [m
 [[package]][m
 name = "brotli"[m
[31m-version = "3.4.0"[m
[32m+[m[32mversion = "6.0.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"[m
[32m+[m[32mchecksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"[m
 dependencies = [[m
  "alloc-no-stdlib",[m
  "alloc-stdlib",[m
[36m@@ -546,19 +549,29 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "brotli-decompressor"[m
[31m-version = "2.5.1"[m
[32m+[m[32mversion = "4.0.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"[m
[32m+[m[32mchecksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"[m
 dependencies = [[m
  "alloc-no-stdlib",[m
  "alloc-stdlib",[m
 ][m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "bstr"[m
[32m+[m[32mversion = "1.9.1"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"[m
[32m+[m[32mdependencies = [[m
[32m+[m[32m "memchr",[m
[32m+[m[32m "serde",[m
[32m+[m[32m][m
[32m+[m
 [[package]][m
 name = "bumpalo"[m
[31m-version = "3.14.0"[m
[32m+[m[32mversion = "3.16.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"[m
[32m+[m[32mchecksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"[m
 [m
 [[package]][m
 name = "bv"[m
[36m@@ -572,15 +585,15 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "bytecount"[m
[31m-version = "0.6.7"[m
[32m+[m[32mversion = "0.6.8"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"[m
[32m+[m[32mchecksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"[m
 [m
 [[package]][m
 name = "bytemuck"[m
[31m-version = "1.14.2"[m
[32m+[m[32mversion = "1.16.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "ea31d69bda4949c1c1562c1e6f042a1caefac98cdc8a298260a2ff41c1e2d42b"[m
[32m+[m[32mchecksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5"[m
 [m
 [[package]][m
 name = "byteorder"[m
[36m@@ -590,9 +603,9 @@[m [mchecksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"[m
 [m
 [[package]][m
 name = "bytes"[m
[31m-version = "1.5.0"[m
[32m+[m[32mversion = "1.6.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"[m
[32m+[m[32mchecksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"[m
 [m
 [[package]][m
 name = "bytestring"[m
[36m@@ -616,12 +629,13 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "cc"[m
[31m-version = "1.0.83"[m
[32m+[m[32mversion = "1.0.98"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"[m
[32m+[m[32mchecksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"[m
 dependencies = [[m
  "jobserver",[m
  "libc",[m
[32m+[m[32m "once_cell",[m
 ][m
 [m
 [[package]][m
[36m@@ -641,9 +655,9 @@[m [mchecksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"[m
 [m
 [[package]][m
 name = "chrono"[m
[31m-version = "0.4.34"[m
[32m+[m[32mversion = "0.4.38"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"[m
[32m+[m[32mchecksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"[m
 dependencies = [[m
  "android-tzdata",[m
  "iana-time-zone",[m
[36m@@ -651,14 +665,14 @@[m [mdependencies = [[m
  "num-traits",[m
  "serde",[m
  "wasm-bindgen",[m
[31m- "windows-targets 0.52.0",[m
[32m+[m[32m "windows-targets 0.52.5",[m
 ][m
 [m
 [[package]][m
 name = "clang-sys"[m
[31m-version = "1.7.0"[m
[32m+[m[32mversion = "1.8.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"[m
[32m+[m[32mchecksum = "a483f3cbf7cec2e153d424d0e92329d816becc6421389bd494375c6065921b9b"[m
 dependencies = [[m
  "glob",[m
  "libc",[m
[36m@@ -667,9 +681,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "clap"[m
[31m-version = "4.5.1"[m
[32m+[m[32mversion = "4.5.4"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"[m
[32m+[m[32mchecksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"[m
 dependencies = [[m
  "clap_builder",[m
  "clap_derive",[m
[36m@@ -677,9 +691,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "clap-verbosity-flag"[m
[31m-version = "2.1.2"[m
[32m+[m[32mversion = "2.2.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b57f73ca21b17a0352944b9bb61803b6007bd911b6cccfef7153f7f0600ac495"[m
[32m+[m[32mchecksum = "bb9b20c0dd58e4c2e991c8d203bbeb76c11304d1011659686b5b644bc29aa478"[m
 dependencies = [[m
  "clap",[m
  "log",[m
[36m@@ -687,26 +701,26 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "clap_builder"[m
[31m-version = "4.5.1"[m
[32m+[m[32mversion = "4.5.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"[m
[32m+[m[32mchecksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"[m
 dependencies = [[m
  "anstream",[m
  "anstyle",[m
  "clap_lex",[m
[31m- "strsim 0.11.0",[m
[32m+[m[32m "strsim",[m
 ][m
 [m
 [[package]][m
 name = "clap_derive"[m
[31m-version = "4.5.0"[m
[32m+[m[32mversion = "4.5.4"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"[m
[32m+[m[32mchecksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"[m
 dependencies = [[m
[31m- "heck",[m
[32m+[m[32m "heck 0.5.0",[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -717,9 +731,9 @@[m [mchecksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"[m
 [m
 [[package]][m
 name = "colorchoice"[m
[31m-version = "1.0.0"[m
[32m+[m[32mversion = "1.0.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"[m
[32m+[m[32mchecksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"[m
 [m
 [[package]][m
 name = "console"[m
[36m@@ -768,18 +782,18 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "crc32fast"[m
[31m-version = "1.3.2"[m
[32m+[m[32mversion = "1.4.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"[m
[32m+[m[32mchecksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"[m
 dependencies = [[m
  "cfg-if",[m
 ][m
 [m
 [[package]][m
 name = "crossbeam-channel"[m
[31m-version = "0.5.11"[m
[32m+[m[32mversion = "0.5.13"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"[m
[32m+[m[32mchecksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"[m
 dependencies = [[m
  "crossbeam-utils",[m
 ][m
[36m@@ -805,9 +819,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "crossbeam-utils"[m
[31m-version = "0.8.19"[m
[32m+[m[32mversion = "0.8.20"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"[m
[32m+[m[32mchecksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"[m
 [m
 [[package]][m
 name = "crypto-common"[m
[36m@@ -848,9 +862,9 @@[m [mchecksum = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"[m
 [m
 [[package]][m
 name = "darling"[m
[31m-version = "0.20.5"[m
[32m+[m[32mversion = "0.20.9"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"[m
[32m+[m[32mchecksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"[m
 dependencies = [[m
  "darling_core",[m
  "darling_macro",[m
[36m@@ -858,27 +872,27 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "darling_core"[m
[31m-version = "0.20.5"[m
[32m+[m[32mversion = "0.20.9"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"[m
[32m+[m[32mchecksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"[m
 dependencies = [[m
  "fnv",[m
  "ident_case",[m
  "proc-macro2",[m
  "quote",[m
[31m- "strsim 0.10.0",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "strsim",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "darling_macro"[m
[31m-version = "0.20.5"[m
[32m+[m[32mversion = "0.20.9"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"[m
[32m+[m[32mchecksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"[m
 dependencies = [[m
  "darling_core",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -938,9 +952,9 @@[m [mchecksum = "3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613"[m
 [m
 [[package]][m
 name = "either"[m
[31m-version = "1.9.0"[m
[32m+[m[32mversion = "1.12.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"[m
[32m+[m[32mchecksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"[m
 [m
 [[package]][m
 name = "encode_unicode"[m
[36m@@ -950,9 +964,9 @@[m [mchecksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"[m
 [m
 [[package]][m
 name = "encoding_rs"[m
[31m-version = "0.8.33"[m
[32m+[m[32mversion = "0.8.34"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"[m
[32m+[m[32mchecksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"[m
 dependencies = [[m
  "cfg-if",[m
 ][m
[36m@@ -975,7 +989,7 @@[m [mchecksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -990,9 +1004,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "env_logger"[m
[31m-version = "0.11.1"[m
[32m+[m[32mversion = "0.11.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8"[m
[32m+[m[32mchecksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"[m
 dependencies = [[m
  "anstream",[m
  "anstyle",[m
[36m@@ -1009,18 +1023,19 @@[m [mchecksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"[m
 [m
 [[package]][m
 name = "erased-serde"[m
[31m-version = "0.4.2"[m
[32m+[m[32mversion = "0.4.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "55d05712b2d8d88102bc9868020c9e5c7a1f5527c452b9b97450a1d006140ba7"[m
[32m+[m[32mchecksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d"[m
 dependencies = [[m
  "serde",[m
[32m+[m[32m "typeid",[m
 ][m
 [m
 [[package]][m
 name = "errno"[m
[31m-version = "0.3.8"[m
[32m+[m[32mversion = "0.3.9"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"[m
[32m+[m[32mchecksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"[m
 dependencies = [[m
  "libc",[m
  "windows-sys 0.52.0",[m
[36m@@ -1028,9 +1043,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "fastrand"[m
[31m-version = "2.0.1"[m
[32m+[m[32mversion = "2.1.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"[m
[32m+[m[32mchecksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"[m
 [m
 [[package]][m
 name = "feature-probe"[m
[36m@@ -1046,9 +1061,9 @@[m [mchecksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"[m
 [m
 [[package]][m
 name = "flate2"[m
[31m-version = "1.0.28"[m
[32m+[m[32mversion = "1.0.30"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"[m
[32m+[m[32mchecksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"[m
 dependencies = [[m
  "crc32fast",[m
  "miniz_oxide",[m
[36m@@ -1125,7 +1140,7 @@[m [mchecksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -1142,9 +1157,9 @@[m [mchecksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"[m
 [m
 [[package]][m
 name = "futures-timer"[m
[31m-version = "3.0.2"[m
[32m+[m[32mversion = "3.0.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"[m
[32m+[m[32mchecksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"[m
 [m
 [[package]][m
 name = "futures-util"[m
[36m@@ -1185,27 +1200,15 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "getrandom"[m
[31m-version = "0.2.12"[m
[32m+[m[32mversion = "0.2.15"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"[m
[32m+[m[32mchecksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"[m
 dependencies = [[m
  "cfg-if",[m
  "libc",[m
  "wasi",[m
 ][m
 [m
[31m-[[package]][m
[31m-name = "getset"[m
[31m-version = "0.1.2"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9"[m
[31m-dependencies = [[m
[31m- "proc-macro-error",[m
[31m- "proc-macro2",[m
[31m- "quote",[m
[31m- "syn 1.0.109",[m
[31m-][m
[31m-[m
 [[package]][m
 name = "gimli"[m
 version = "0.28.1"[m
[36m@@ -1220,9 +1223,9 @@[m [mchecksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"[m
 [m
 [[package]][m
 name = "h2"[m
[31m-version = "0.3.24"[m
[32m+[m[32mversion = "0.3.26"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"[m
[32m+[m[32mchecksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"[m
 dependencies = [[m
  "bytes",[m
  "fnv",[m
[36m@@ -1239,9 +1242,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "hashbrown"[m
[31m-version = "0.14.3"[m
[32m+[m[32mversion = "0.14.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"[m
[32m+[m[32mchecksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"[m
 [m
 [[package]][m
 name = "heck"[m
[36m@@ -1250,25 +1253,22 @@[m [msource = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"[m
 [m
 [[package]][m
[31m-name = "hex"[m
[31m-version = "0.4.3"[m
[32m+[m[32mname = "heck"[m
[32m+[m[32mversion = "0.5.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"[m
[32m+[m[32mchecksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"[m
 [m
 [[package]][m
[31m-name = "home"[m
[31m-version = "0.5.9"[m
[32m+[m[32mname = "hex"[m
[32m+[m[32mversion = "0.4.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"[m
[31m-dependencies = [[m
[31m- "windows-sys 0.52.0",[m
[31m-][m
[32m+[m[32mchecksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"[m
 [m
 [[package]][m
 name = "http"[m
[31m-version = "0.2.11"[m
[32m+[m[32mversion = "0.2.12"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"[m
[32m+[m[32mchecksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"[m
 dependencies = [[m
  "bytes",[m
  "fnv",[m
[36m@@ -1334,9 +1334,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "indexmap"[m
[31m-version = "2.2.3"[m
[32m+[m[32mversion = "2.2.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"[m
[32m+[m[32mchecksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"[m
 dependencies = [[m
  "equivalent",[m
  "hashbrown",[m
[36m@@ -1359,27 +1359,32 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "insta"[m
[31m-version = "1.36.1"[m
[32m+[m[32mversion = "1.39.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "0a7c22c4d34ef4788c351e971c52bfdfe7ea2766f8c5466bc175dd46e52ac22e"[m
[32m+[m[32mchecksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5"[m
 dependencies = [[m
  "console",[m
  "lazy_static",[m
  "linked-hash-map",[m
  "serde",[m
  "similar",[m
[31m- "yaml-rust",[m
 ][m
 [m
 [[package]][m
 name = "instant"[m
[31m-version = "0.1.12"[m
[32m+[m[32mversion = "0.1.13"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"[m
[32m+[m[32mchecksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"[m
 dependencies = [[m
  "cfg-if",[m
 ][m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "is_terminal_polyfill"[m
[32m+[m[32mversion = "1.70.0"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"[m
[32m+[m
 [[package]][m
 name = "itertools"[m
 version = "0.11.0"[m
[36m@@ -1389,6 +1394,24 @@[m [mdependencies = [[m
  "either",[m
 ][m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "itertools"[m
[32m+[m[32mversion = "0.12.1"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"[m
[32m+[m[32mdependencies = [[m
[32m+[m[32m "either",[m
[32m+[m[32m][m
[32m+[m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "itertools"[m
[32m+[m[32mversion = "0.13.0"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"[m
[32m+[m[32mdependencies = [[m
[32m+[m[32m "either",[m
[32m+[m[32m][m
[32m+[m
 [[package]][m
 name = "itertools-num"[m
 version = "0.1.3"[m
[36m@@ -1400,24 +1423,24 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "itoa"[m
[31m-version = "1.0.10"[m
[32m+[m[32mversion = "1.0.11"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"[m
[32m+[m[32mchecksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"[m
 [m
 [[package]][m
 name = "jobserver"[m
[31m-version = "0.1.28"[m
[32m+[m[32mversion = "0.1.31"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"[m
[32m+[m[32mchecksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"[m
 dependencies = [[m
  "libc",[m
 ][m
 [m
 [[package]][m
 name = "js-sys"[m
[31m-version = "0.3.68"[m
[32m+[m[32mversion = "0.3.69"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"[m
[32m+[m[32mchecksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"[m
 dependencies = [[m
  "wasm-bindgen",[m
 ][m
[36m@@ -1442,18 +1465,18 @@[m [mchecksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"[m
 [m
 [[package]][m
 name = "libc"[m
[31m-version = "0.2.153"[m
[32m+[m[32mversion = "0.2.155"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"[m
[32m+[m[32mchecksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"[m
 [m
 [[package]][m
 name = "libloading"[m
[31m-version = "0.8.1"[m
[32m+[m[32mversion = "0.8.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"[m
[32m+[m[32mchecksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"[m
 dependencies = [[m
  "cfg-if",[m
[31m- "windows-sys 0.48.0",[m
[32m+[m[32m "windows-targets 0.52.5",[m
 ][m
 [m
 [[package]][m
[36m@@ -1464,9 +1487,9 @@[m [mchecksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"[m
 [m
 [[package]][m
 name = "librocksdb-sys"[m
[31m-version = "0.11.0+8.1.1"[m
[32m+[m[32mversion = "0.16.0+8.10.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e"[m
[32m+[m[32mchecksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c"[m
 dependencies = [[m
  "bindgen",[m
  "bzip2-sys",[m
[36m@@ -1480,9 +1503,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "libz-sys"[m
[31m-version = "1.1.15"[m
[32m+[m[32mversion = "1.1.18"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"[m
[32m+[m[32mchecksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e"[m
 dependencies = [[m
  "cc",[m
  "pkg-config",[m
[36m@@ -1497,9 +1520,9 @@[m [mchecksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"[m
 [m
 [[package]][m
 name = "linux-raw-sys"[m
[31m-version = "0.4.13"[m
[32m+[m[32mversion = "0.4.14"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"[m
[32m+[m[32mchecksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"[m
 [m
 [[package]][m
 name = "local-channel"[m
[36m@@ -1520,9 +1543,9 @@[m [mchecksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487"[m
 [m
 [[package]][m
 name = "lock_api"[m
[31m-version = "0.4.11"[m
[32m+[m[32mversion = "0.4.12"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"[m
[32m+[m[32mchecksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"[m
 dependencies = [[m
  "autocfg",[m
  "scopeguard",[m
[36m@@ -1530,9 +1553,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "log"[m
[31m-version = "0.4.20"[m
[32m+[m[32mversion = "0.4.21"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"[m
[32m+[m[32mchecksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"[m
 [m
 [[package]][m
 name = "lz4-sys"[m
[36m@@ -1565,9 +1588,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "memchr"[m
[31m-version = "2.7.1"[m
[32m+[m[32mversion = "2.7.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"[m
[32m+[m[32mchecksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"[m
 [m
 [[package]][m
 name = "mime"[m
[36m@@ -1583,18 +1606,18 @@[m [mchecksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"[m
 [m
 [[package]][m
 name = "miniz_oxide"[m
[31m-version = "0.7.2"[m
[32m+[m[32mversion = "0.7.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"[m
[32m+[m[32mchecksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"[m
 dependencies = [[m
  "adler",[m
 ][m
 [m
 [[package]][m
 name = "mio"[m
[31m-version = "0.8.10"[m
[32m+[m[32mversion = "0.8.11"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"[m
[32m+[m[32mchecksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"[m
 dependencies = [[m
  "libc",[m
  "log",[m
[36m@@ -1602,12 +1625,6 @@[m [mdependencies = [[m
  "windows-sys 0.48.0",[m
 ][m
 [m
[31m-[[package]][m
[31m-name = "multimap"[m
[31m-version = "0.8.3"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"[m
[31m-[m
 [[package]][m
 name = "multimap"[m
 version = "0.9.1"[m
[36m@@ -1617,6 +1634,12 @@[m [mdependencies = [[m
  "serde",[m
 ][m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "multimap"[m
[32m+[m[32mversion = "0.10.0"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03"[m
[32m+[m
 [[package]][m
 name = "nalgebra"[m
 version = "0.29.0"[m
[36m@@ -1680,18 +1703,18 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "noodles-bed"[m
[31m-version = "0.12.0"[m
[32m+[m[32mversion = "0.13.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c116ff14e3dd3ffa6c58771d1a2ee1205690e1c0fe78b0a3456402eebf44ad27"[m
[32m+[m[32mchecksum = "57cdbb2ee5fce84ca241d9bafba8554aadf2ccc534f7ebb71e1c646e259b187c"[m
 dependencies = [[m
  "noodles-core",[m
 ][m
 [m
 [[package]][m
 name = "noodles-bgzf"[m
[31m-version = "0.26.0"[m
[32m+[m[32mversion = "0.30.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8970db2e84adb1007377dd3988258d7a64e3fc4c05602ebf94e1f8cba207c030"[m
[32m+[m[32mchecksum = "13f54d4840fd26ed94103ded9524aa5fdd757255a556f24653d162c0a45c47e8"[m
 dependencies = [[m
  "byteorder",[m
  "bytes",[m
[36m@@ -1701,15 +1724,18 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "noodles-core"[m
[31m-version = "0.14.0"[m
[32m+[m[32mversion = "0.15.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7336c3be652de4e05444c9b12a32331beb5ba3316e8872d92bfdd8ef3b06c282"[m
[32m+[m[32mchecksum = "c5a8c6b020d1205abef2b0fab4463a6c5ecc3c8f4d561ca8b0d1a42323376200"[m
[32m+[m[32mdependencies = [[m
[32m+[m[32m "bstr",[m
[32m+[m[32m][m
 [m
 [[package]][m
 name = "noodles-csi"[m
[31m-version = "0.30.0"[m
[32m+[m[32mversion = "0.35.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a60dfe0919f7ecbd081a82eb1d32e8f89f9041932d035fe8309073c8c01277bf"[m
[32m+[m[32mchecksum = "beb1618ca2aa88662d387197a188686105d6b5e25f6959c52b766276cbfc4620"[m
 dependencies = [[m
  "bit-vec",[m
  "byteorder",[m
[36m@@ -1720,9 +1746,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "noodles-gff"[m
[31m-version = "0.27.0"[m
[32m+[m[32mversion = "0.33.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "14f8ec87fe3630f57d6d8ea24cbc2cbd0bfed1fe66238bda7a7c3fb6a36d3713"[m
[32m+[m[32mchecksum = "578b6efaf5c3f029720af4c8590e34fd38e214666971d665a52e3566830170d0"[m
 dependencies = [[m
  "indexmap",[m
  "noodles-bgzf",[m
[36m@@ -1733,9 +1759,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "noodles-tabix"[m
[31m-version = "0.36.0"[m
[32m+[m[32mversion = "0.41.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "cc1ab29335a68d0c2bdf41460a67714ca69e23a1cbeb950ac5c38a9afa446a62"[m
[32m+[m[32mchecksum = "0cc110f78cb406f69f42c482d1986526c590b7295f37f0e37f1fc380413400ef"[m
 dependencies = [[m
  "bit-vec",[m
  "byteorder",[m
[36m@@ -1747,9 +1773,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "noodles-vcf"[m
[31m-version = "0.49.0"[m
[32m+[m[32mversion = "0.57.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "2e1f2fa749afaccadc596ec55ccb7bdcd8101fa79f8382384223c0dbae3e245b"[m
[32m+[m[32mchecksum = "4df6e162ec2e898581b5ccf5e8972e376a7c41807061b66152280dea2c53a989"[m
 dependencies = [[m
  "indexmap",[m
  "memchr",[m
[36m@@ -1772,9 +1798,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "num-complex"[m
[31m-version = "0.4.5"[m
[32m+[m[32mversion = "0.4.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6"[m
[32m+[m[32mchecksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"[m
 dependencies = [[m
  "num-traits",[m
 ][m
[36m@@ -1796,20 +1822,19 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "num-rational"[m
[31m-version = "0.4.1"[m
[32m+[m[32mversion = "0.4.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"[m
[32m+[m[32mchecksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"[m
 dependencies = [[m
[31m- "autocfg",[m
  "num-integer",[m
  "num-traits",[m
 ][m
 [m
 [[package]][m
 name = "num-traits"[m
[31m-version = "0.2.18"[m
[32m+[m[32mversion = "0.2.19"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"[m
[32m+[m[32mchecksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"[m
 dependencies = [[m
  "autocfg",[m
  "libm",[m
[36m@@ -1853,9 +1878,9 @@[m [mchecksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"[m
 [m
 [[package]][m
 name = "parking_lot"[m
[31m-version = "0.12.1"[m
[32m+[m[32mversion = "0.12.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"[m
[32m+[m[32mchecksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"[m
 dependencies = [[m
  "lock_api",[m
  "parking_lot_core",[m
[36m@@ -1863,22 +1888,22 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "parking_lot_core"[m
[31m-version = "0.9.9"[m
[32m+[m[32mversion = "0.9.10"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"[m
[32m+[m[32mchecksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"[m
 dependencies = [[m
  "cfg-if",[m
  "libc",[m
  "redox_syscall",[m
  "smallvec",[m
[31m- "windows-targets 0.48.5",[m
[32m+[m[32m "windows-targets 0.52.5",[m
 ][m
 [m
 [[package]][m
 name = "paste"[m
[31m-version = "1.0.14"[m
[32m+[m[32mversion = "1.0.15"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"[m
[32m+[m[32mchecksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"[m
 [m
 [[package]][m
 name = "pbjson"[m
[36m@@ -1886,7 +1911,7 @@[m [mversion = "0.6.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "1030c719b0ec2a2d25a5df729d6cff1acf3cc230bf766f4f97833591f7577b90"[m
 dependencies = [[m
[31m- "base64",[m
[32m+[m[32m "base64 0.21.7",[m
  "serde",[m
 ][m
 [m
[36m@@ -1896,8 +1921,8 @@[m [mversion = "0.6.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "2580e33f2292d34be285c5bc3dba5259542b083cfad6037b6d70345f24dcb735"[m
 dependencies = [[m
[31m- "heck",[m
[31m- "itertools",[m
[32m+[m[32m "heck 0.4.1",[m
[32m+[m[32m "itertools 0.11.0",[m
  "prost",[m
  "prost-types",[m
 ][m
[36m@@ -1917,12 +1942,6 @@[m [mdependencies = [[m
  "serde",[m
 ][m
 [m
[31m-[[package]][m
[31m-name = "peeking_take_while"[m
[31m-version = "0.1.2"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"[m
[31m-[m
 [[package]][m
 name = "percent-encoding"[m
 version = "2.3.1"[m
[36m@@ -1931,9 +1950,9 @@[m [mchecksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"[m
 [m
 [[package]][m
 name = "petgraph"[m
[31m-version = "0.6.4"[m
[32m+[m[32mversion = "0.6.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"[m
[32m+[m[32mchecksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"[m
 dependencies = [[m
  "fixedbitset",[m
  "indexmap",[m
[36m@@ -1941,9 +1960,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "pin-project-lite"[m
[31m-version = "0.2.13"[m
[32m+[m[32mversion = "0.2.14"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"[m
[32m+[m[32mchecksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"[m
 [m
 [[package]][m
 name = "pin-utils"[m
[36m@@ -1953,9 +1972,9 @@[m [mchecksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"[m
 [m
 [[package]][m
 name = "pkg-config"[m
[31m-version = "0.3.29"[m
[32m+[m[32mversion = "0.3.30"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"[m
[32m+[m[32mchecksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"[m
 [m
 [[package]][m
 name = "portable-atomic"[m
[36m@@ -1987,52 +2006,28 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "prettyplease"[m
[31m-version = "0.2.16"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"[m
[31m-dependencies = [[m
[31m- "proc-macro2",[m
[31m- "syn 2.0.48",[m
[31m-][m
[31m-[m
[31m-[[package]][m
[31m-name = "proc-macro-error"[m
[31m-version = "1.0.4"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"[m
[31m-dependencies = [[m
[31m- "proc-macro-error-attr",[m
[31m- "proc-macro2",[m
[31m- "quote",[m
[31m- "syn 1.0.109",[m
[31m- "version_check",[m
[31m-][m
[31m-[m
[31m-[[package]][m
[31m-name = "proc-macro-error-attr"[m
[31m-version = "1.0.4"[m
[32m+[m[32mversion = "0.2.20"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"[m
[32m+[m[32mchecksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"[m
 dependencies = [[m
  "proc-macro2",[m
[31m- "quote",[m
[31m- "version_check",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "proc-macro2"[m
[31m-version = "1.0.78"[m
[32m+[m[32mversion = "1.0.84"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"[m
[32m+[m[32mchecksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6"[m
 dependencies = [[m
  "unicode-ident",[m
 ][m
 [m
 [[package]][m
 name = "prost"[m
[31m-version = "0.12.3"[m
[32m+[m[32mversion = "0.12.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"[m
[32m+[m[32mchecksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29"[m
 dependencies = [[m
  "bytes",[m
  "prost-derive",[m
[36m@@ -2040,53 +2035,52 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "prost-build"[m
[31m-version = "0.12.3"[m
[32m+[m[32mversion = "0.12.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"[m
[32m+[m[32mchecksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4"[m
 dependencies = [[m
  "bytes",[m
[31m- "heck",[m
[31m- "itertools",[m
[32m+[m[32m "heck 0.5.0",[m
[32m+[m[32m "itertools 0.12.1",[m
  "log",[m
[31m- "multimap 0.8.3",[m
[32m+[m[32m "multimap 0.10.0",[m
  "once_cell",[m
  "petgraph",[m
  "prettyplease",[m
  "prost",[m
  "prost-types",[m
  "regex",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
  "tempfile",[m
[31m- "which",[m
 ][m
 [m
 [[package]][m
 name = "prost-derive"[m
[31m-version = "0.12.3"[m
[32m+[m[32mversion = "0.12.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"[m
[32m+[m[32mchecksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"[m
 dependencies = [[m
  "anyhow",[m
[31m- "itertools",[m
[32m+[m[32m "itertools 0.12.1",[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "prost-types"[m
[31m-version = "0.12.3"[m
[32m+[m[32mversion = "0.12.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"[m
[32m+[m[32mchecksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0"[m
 dependencies = [[m
  "prost",[m
 ][m
 [m
 [[package]][m
 name = "quote"[m
[31m-version = "1.0.35"[m
[32m+[m[32mversion = "1.0.36"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"[m
[32m+[m[32mchecksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"[m
 dependencies = [[m
  "proc-macro2",[m
 ][m
[36m@@ -2139,9 +2133,9 @@[m [mchecksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"[m
 [m
 [[package]][m
 name = "rayon"[m
[31m-version = "1.8.1"[m
[32m+[m[32mversion = "1.10.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"[m
[32m+[m[32mchecksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"[m
 dependencies = [[m
  "either",[m
  "rayon-core",[m
[36m@@ -2159,23 +2153,23 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "redox_syscall"[m
[31m-version = "0.4.1"[m
[32m+[m[32mversion = "0.5.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"[m
[32m+[m[32mchecksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"[m
 dependencies = [[m
[31m- "bitflags 1.3.2",[m
[32m+[m[32m "bitflags",[m
 ][m
 [m
 [[package]][m
 name = "regex"[m
[31m-version = "1.10.3"[m
[32m+[m[32mversion = "1.10.4"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"[m
[32m+[m[32mchecksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"[m
 dependencies = [[m
  "aho-corasick",[m
  "memchr",[m
[31m- "regex-automata 0.4.5",[m
[31m- "regex-syntax 0.8.2",[m
[32m+[m[32m "regex-automata 0.4.6",[m
[32m+[m[32m "regex-syntax 0.8.3",[m
 ][m
 [m
 [[package]][m
[36m@@ -2189,15 +2183,21 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "regex-automata"[m
[31m-version = "0.4.5"[m
[32m+[m[32mversion = "0.4.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"[m
[32m+[m[32mchecksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"[m
 dependencies = [[m
  "aho-corasick",[m
  "memchr",[m
[31m- "regex-syntax 0.8.2",[m
[32m+[m[32m "regex-syntax 0.8.3",[m
 ][m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "regex-lite"[m
[32m+[m[32mversion = "0.1.5"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"[m
[32m+[m
 [[package]][m
 name = "regex-syntax"[m
 version = "0.6.29"[m
[36m@@ -2206,21 +2206,21 @@[m [mchecksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"[m
 [m
 [[package]][m
 name = "regex-syntax"[m
[31m-version = "0.8.2"[m
[32m+[m[32mversion = "0.8.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"[m
[32m+[m[32mchecksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"[m
 [m
 [[package]][m
 name = "relative-path"[m
[31m-version = "1.9.2"[m
[32m+[m[32mversion = "1.9.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"[m
[32m+[m[32mchecksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"[m
 [m
 [[package]][m
 name = "rocksdb"[m
[31m-version = "0.21.0"[m
[32m+[m[32mversion = "0.22.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe"[m
[32m+[m[32mchecksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7"[m
 dependencies = [[m
  "libc",[m
  "librocksdb-sys",[m
[36m@@ -2228,9 +2228,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "rocksdb-utils-lookup"[m
[31m-version = "0.3.0"[m
[32m+[m[32mversion = "0.4.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b83002edb508bf7fc5b234bde1489ccaea5bffbaeaf0aae00270257c858b5f9f"[m
[32m+[m[32mchecksum = "cfdff1c5ed63d35ce75ffc688318b3b9791c5e16a0c4b1ed8d8400149384f7bf"[m
 dependencies = [[m
  "rocksdb",[m
  "thiserror",[m
[36m@@ -2239,9 +2239,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "rstest"[m
[31m-version = "0.18.2"[m
[32m+[m[32mversion = "0.19.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"[m
[32m+[m[32mchecksum = "9d5316d2a1479eeef1ea21e7f9ddc67c191d497abc8fc3ba2467857abbb68330"[m
 dependencies = [[m
  "futures",[m
  "futures-timer",[m
[36m@@ -2251,9 +2251,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "rstest_macros"[m
[31m-version = "0.18.2"[m
[32m+[m[32mversion = "0.19.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"[m
[32m+[m[32mchecksum = "04a9df72cc1f67020b0d63ad9bfe4a323e459ea7eb68e03bd9824db49f9a4c25"[m
 dependencies = [[m
  "cfg-if",[m
  "glob",[m
[36m@@ -2262,21 +2262,21 @@[m [mdependencies = [[m
  "regex",[m
  "relative-path",[m
  "rustc_version 0.4.0",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
  "unicode-ident",[m
 ][m
 [m
 [[package]][m
 name = "rustc-demangle"[m
[31m-version = "0.1.23"[m
[32m+[m[32mversion = "0.1.24"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"[m
[32m+[m[32mchecksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"[m
 [m
 [[package]][m
 name = "rustc-hash"[m
[31m-version = "1.1.0"[m
[32m+[m[32mversion = "1.2.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"[m
[32m+[m[32mchecksum = "3450ed37fe9609abb6bc3b8891b6e078404e4c53c7332350e2e15126a95229bf"[m
 [m
 [[package]][m
 name = "rustc_version"[m
[36m@@ -2293,16 +2293,16 @@[m [mversion = "0.4.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"[m
 dependencies = [[m
[31m- "semver 1.0.21",[m
[32m+[m[32m "semver 1.0.23",[m
 ][m
 [m
 [[package]][m
 name = "rustix"[m
[31m-version = "0.38.31"[m
[32m+[m[32mversion = "0.38.34"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"[m
[32m+[m[32mchecksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"[m
 dependencies = [[m
[31m- "bitflags 2.4.2",[m
[32m+[m[32m "bitflags",[m
  "errno",[m
  "libc",[m
  "linux-raw-sys",[m
[36m@@ -2311,15 +2311,15 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "rustversion"[m
[31m-version = "1.0.14"[m
[32m+[m[32mversion = "1.0.17"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"[m
[32m+[m[32mchecksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"[m
 [m
 [[package]][m
 name = "ryu"[m
[31m-version = "1.0.16"[m
[32m+[m[32mversion = "1.0.18"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"[m
[32m+[m[32mchecksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"[m
 [m
 [[package]][m
 name = "safe_arch"[m
[36m@@ -2344,35 +2344,35 @@[m [mchecksum = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac"[m
 [m
 [[package]][m
 name = "semver"[m
[31m-version = "1.0.21"[m
[32m+[m[32mversion = "1.0.23"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"[m
[32m+[m[32mchecksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"[m
 [m
 [[package]][m
 name = "serde"[m
[31m-version = "1.0.197"[m
[32m+[m[32mversion = "1.0.203"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"[m
[32m+[m[32mchecksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"[m
 dependencies = [[m
  "serde_derive",[m
 ][m
 [m
 [[package]][m
 name = "serde_derive"[m
[31m-version = "1.0.197"[m
[32m+[m[32mversion = "1.0.203"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"[m
[32m+[m[32mchecksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "serde_json"[m
[31m-version = "1.0.114"[m
[32m+[m[32mversion = "1.0.117"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"[m
[32m+[m[32mchecksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"[m
 dependencies = [[m
  "indexmap",[m
  "itoa",[m
[36m@@ -2394,15 +2394,16 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "serde_with"[m
[31m-version = "3.6.0"[m
[32m+[m[32mversion = "3.8.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "1b0ed1662c5a68664f45b76d18deb0e234aff37207086803165c961eb695e981"[m
[32m+[m[32mchecksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"[m
 dependencies = [[m
[31m- "base64",[m
[32m+[m[32m "base64 0.22.1",[m
  "chrono",[m
  "hex",[m
  "indexmap",[m
  "serde",[m
[32m+[m[32m "serde_derive",[m
  "serde_json",[m
  "serde_with_macros",[m
  "time",[m
[36m@@ -2410,14 +2411,14 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "serde_with_macros"[m
[31m-version = "3.6.0"[m
[32m+[m[32mversion = "3.8.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "568577ff0ef47b879f736cd66740e022f3672788cdf002a05a4e609ea5a6fb15"[m
[32m+[m[32mchecksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"[m
 dependencies = [[m
  "darling",[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -2448,9 +2449,9 @@[m [mchecksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"[m
 [m
 [[package]][m
 name = "signal-hook-registry"[m
[31m-version = "1.4.1"[m
[32m+[m[32mversion = "1.4.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"[m
[32m+[m[32mchecksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"[m
 dependencies = [[m
  "libc",[m
 ][m
[36m@@ -2470,9 +2471,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "similar"[m
[31m-version = "2.4.0"[m
[32m+[m[32mversion = "2.5.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"[m
[32m+[m[32mchecksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"[m
 [m
 [[package]][m
 name = "slab"[m
[36m@@ -2485,18 +2486,18 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "smallvec"[m
[31m-version = "1.13.1"[m
[32m+[m[32mversion = "1.13.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"[m
[32m+[m[32mchecksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"[m
 [m
 [[package]][m
 name = "socket2"[m
[31m-version = "0.5.5"[m
[32m+[m[32mversion = "0.5.7"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"[m
[32m+[m[32mchecksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"[m
 dependencies = [[m
  "libc",[m
[31m- "windows-sys 0.48.0",[m
[32m+[m[32m "windows-sys 0.52.0",[m
 ][m
 [m
 [[package]][m
[36m@@ -2514,15 +2515,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "strsim"[m
[31m-version = "0.10.0"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"[m
[31m-[m
[31m-[[package]][m
[31m-name = "strsim"[m
[31m-version = "0.11.0"[m
[32m+[m[32mversion = "0.11.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"[m
[32m+[m[32mchecksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"[m
 [m
 [[package]][m
 name = "strum"[m
[36m@@ -2532,11 +2527,11 @@[m [mchecksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"[m
 [m
 [[package]][m
 name = "strum"[m
[31m-version = "0.26.1"[m
[32m+[m[32mversion = "0.26.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"[m
[32m+[m[32mchecksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"[m
 dependencies = [[m
[31m- "strum_macros 0.26.1",[m
[32m+[m[32m "strum_macros 0.26.2",[m
 ][m
 [m
 [[package]][m
[36m@@ -2545,24 +2540,24 @@[m [mversion = "0.25.3"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"[m
 dependencies = [[m
[31m- "heck",[m
[32m+[m[32m "heck 0.4.1",[m
  "proc-macro2",[m
  "quote",[m
  "rustversion",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "strum_macros"[m
[31m-version = "0.26.1"[m
[32m+[m[32mversion = "0.26.2"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"[m
[32m+[m[32mchecksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"[m
 dependencies = [[m
[31m- "heck",[m
[32m+[m[32m "heck 0.4.1",[m
  "proc-macro2",[m
  "quote",[m
  "rustversion",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -2578,9 +2573,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "syn"[m
[31m-version = "2.0.48"[m
[32m+[m[32mversion = "2.0.66"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"[m
[32m+[m[32mchecksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[36m@@ -2595,9 +2590,9 @@[m [mchecksum = "921f1e9c427802414907a48b21a6504ff6b3a15a1a3cf37e699590949ad9befc"[m
 [m
 [[package]][m
 name = "tempfile"[m
[31m-version = "3.10.0"[m
[32m+[m[32mversion = "3.10.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"[m
[32m+[m[32mchecksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"[m
 dependencies = [[m
  "cfg-if",[m
  "fastrand",[m
[36m@@ -2607,50 +2602,51 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "test-log"[m
[31m-version = "0.2.15"[m
[32m+[m[32mversion = "0.2.16"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6"[m
[32m+[m[32mchecksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93"[m
 dependencies = [[m
  "env_logger",[m
  "test-log-macros",[m
[32m+[m[32m "tracing-subscriber",[m
 ][m
 [m
 [[package]][m
 name = "test-log-macros"[m
[31m-version = "0.2.15"[m
[32m+[m[32mversion = "0.2.16"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107"[m
[32m+[m[32mchecksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "thiserror"[m
[31m-version = "1.0.57"[m
[32m+[m[32mversion = "1.0.61"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"[m
[32m+[m[32mchecksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"[m
 dependencies = [[m
  "thiserror-impl",[m
 ][m
 [m
 [[package]][m
 name = "thiserror-impl"[m
[31m-version = "1.0.57"[m
[32m+[m[32mversion = "1.0.61"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"[m
[32m+[m[32mchecksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "thread_local"[m
[31m-version = "1.1.7"[m
[32m+[m[32mversion = "1.1.8"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"[m
[32m+[m[32mchecksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"[m
 dependencies = [[m
  "cfg-if",[m
  "once_cell",[m
[36m@@ -2658,9 +2654,9 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "time"[m
[31m-version = "0.3.34"[m
[32m+[m[32mversion = "0.3.36"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"[m
[32m+[m[32mchecksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"[m
 dependencies = [[m
  "deranged",[m
  "itoa",[m
[36m@@ -2679,9 +2675,9 @@[m [mchecksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"[m
 [m
 [[package]][m
 name = "time-macros"[m
[31m-version = "0.2.17"[m
[32m+[m[32mversion = "0.2.18"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"[m
[32m+[m[32mchecksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"[m
 dependencies = [[m
  "num-conv",[m
  "time-core",[m
[36m@@ -2704,9 +2700,9 @@[m [mchecksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"[m
 [m
 [[package]][m
 name = "tokio"[m
[31m-version = "1.36.0"[m
[32m+[m[32mversion = "1.37.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"[m
[32m+[m[32mchecksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"[m
 dependencies = [[m
  "backtrace",[m
  "bytes",[m
[36m@@ -2721,16 +2717,15 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "tokio-util"[m
[31m-version = "0.7.10"[m
[32m+[m[32mversion = "0.7.11"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"[m
[32m+[m[32mchecksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"[m
 dependencies = [[m
  "bytes",[m
  "futures-core",[m
  "futures-sink",[m
  "pin-project-lite",[m
  "tokio",[m
[31m- "tracing",[m
 ][m
 [m
 [[package]][m
[36m@@ -2753,7 +2748,7 @@[m [mchecksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
[36m@@ -2824,6 +2819,12 @@[m [mversion = "0.4.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63"[m
 [m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "typeid"[m
[32m+[m[32mversion = "1.0.0"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf"[m
[32m+[m
 [[package]][m
 name = "typenum"[m
 version = "1.17.0"[m
[36m@@ -2844,18 +2845,18 @@[m [mchecksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"[m
 [m
 [[package]][m
 name = "unicode-normalization"[m
[31m-version = "0.1.22"[m
[32m+[m[32mversion = "0.1.23"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"[m
[32m+[m[32mchecksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"[m
 dependencies = [[m
  "tinyvec",[m
 ][m
 [m
 [[package]][m
 name = "unicode-width"[m
[31m-version = "0.1.11"[m
[32m+[m[32mversion = "0.1.12"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"[m
[32m+[m[32mchecksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"[m
 [m
 [[package]][m
 name = "url"[m
[36m@@ -2909,9 +2910,9 @@[m [mchecksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"[m
 [m
 [[package]][m
 name = "wasm-bindgen"[m
[31m-version = "0.2.91"[m
[32m+[m[32mversion = "0.2.92"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"[m
[32m+[m[32mchecksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"[m
 dependencies = [[m
  "cfg-if",[m
  "wasm-bindgen-macro",[m
[36m@@ -2919,24 +2920,24 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "wasm-bindgen-backend"[m
[31m-version = "0.2.91"[m
[32m+[m[32mversion = "0.2.92"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"[m
[32m+[m[32mchecksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"[m
 dependencies = [[m
  "bumpalo",[m
  "log",[m
  "once_cell",[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
  "wasm-bindgen-shared",[m
 ][m
 [m
 [[package]][m
 name = "wasm-bindgen-macro"[m
[31m-version = "0.2.91"[m
[32m+[m[32mversion = "0.2.92"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"[m
[32m+[m[32mchecksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"[m
 dependencies = [[m
  "quote",[m
  "wasm-bindgen-macro-support",[m
[36m@@ -2944,40 +2945,28 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "wasm-bindgen-macro-support"[m
[31m-version = "0.2.91"[m
[32m+[m[32mversion = "0.2.92"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"[m
[32m+[m[32mchecksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
  "wasm-bindgen-backend",[m
  "wasm-bindgen-shared",[m
 ][m
 [m
 [[package]][m
 name = "wasm-bindgen-shared"[m
[31m-version = "0.2.91"[m
[32m+[m[32mversion = "0.2.92"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"[m
[31m-[m
[31m-[[package]][m
[31m-name = "which"[m
[31m-version = "4.4.2"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"[m
[31m-dependencies = [[m
[31m- "either",[m
[31m- "home",[m
[31m- "once_cell",[m
[31m- "rustix",[m
[31m-][m
[32m+[m[32mchecksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"[m
 [m
 [[package]][m
 name = "wide"[m
[31m-version = "0.7.15"[m
[32m+[m[32mversion = "0.7.21"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c"[m
[32m+[m[32mchecksum = "cd8dc749a1b03f3c255a3064a4f5c0ee5ed09b7c6bc6d4525d31f779cd74d7fc"[m
 dependencies = [[m
  "bytemuck",[m
  "safe_arch",[m
[36m@@ -3011,7 +3000,7 @@[m [mversion = "0.52.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"[m
 dependencies = [[m
[31m- "windows-targets 0.52.0",[m
[32m+[m[32m "windows-targets 0.52.5",[m
 ][m
 [m
 [[package]][m
[36m@@ -3029,7 +3018,7 @@[m [mversion = "0.52.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"[m
 dependencies = [[m
[31m- "windows-targets 0.52.0",[m
[32m+[m[32m "windows-targets 0.52.5",[m
 ][m
 [m
 [[package]][m
[36m@@ -3049,17 +3038,18 @@[m [mdependencies = [[m
 [m
 [[package]][m
 name = "windows-targets"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"[m
[32m+[m[32mchecksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"[m
 dependencies = [[m
[31m- "windows_aarch64_gnullvm 0.52.0",[m
[31m- "windows_aarch64_msvc 0.52.0",[m
[31m- "windows_i686_gnu 0.52.0",[m
[31m- "windows_i686_msvc 0.52.0",[m
[31m- "windows_x86_64_gnu 0.52.0",[m
[31m- "windows_x86_64_gnullvm 0.52.0",[m
[31m- "windows_x86_64_msvc 0.52.0",[m
[32m+[m[32m "windows_aarch64_gnullvm 0.52.5",[m
[32m+[m[32m "windows_aarch64_msvc 0.52.5",[m
[32m+[m[32m "windows_i686_gnu 0.52.5",[m
[32m+[m[32m "windows_i686_gnullvm",[m
[32m+[m[32m "windows_i686_msvc 0.52.5",[m
[32m+[m[32m "windows_x86_64_gnu 0.52.5",[m
[32m+[m[32m "windows_x86_64_gnullvm 0.52.5",[m
[32m+[m[32m "windows_x86_64_msvc 0.52.5",[m
 ][m
 [m
 [[package]][m
[36m@@ -3070,9 +3060,9 @@[m [mchecksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"[m
 [m
 [[package]][m
 name = "windows_aarch64_gnullvm"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"[m
[32m+[m[32mchecksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"[m
 [m
 [[package]][m
 name = "windows_aarch64_msvc"[m
[36m@@ -3082,9 +3072,9 @@[m [mchecksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"[m
 [m
 [[package]][m
 name = "windows_aarch64_msvc"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"[m
[32m+[m[32mchecksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"[m
 [m
 [[package]][m
 name = "windows_i686_gnu"[m
[36m@@ -3094,9 +3084,15 @@[m [mchecksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"[m
 [m
 [[package]][m
 name = "windows_i686_gnu"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
[32m+[m[32msource = "registry+https://github.com/rust-lang/crates.io-index"[m
[32m+[m[32mchecksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"[m
[32m+[m
[32m+[m[32m[[package]][m
[32m+[m[32mname = "windows_i686_gnullvm"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"[m
[32m+[m[32mchecksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"[m
 [m
 [[package]][m
 name = "windows_i686_msvc"[m
[36m@@ -3106,9 +3102,9 @@[m [mchecksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"[m
 [m
 [[package]][m
 name = "windows_i686_msvc"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"[m
[32m+[m[32mchecksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"[m
 [m
 [[package]][m
 name = "windows_x86_64_gnu"[m
[36m@@ -3118,9 +3114,9 @@[m [mchecksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"[m
 [m
 [[package]][m
 name = "windows_x86_64_gnu"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"[m
[32m+[m[32mchecksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"[m
 [m
 [[package]][m
 name = "windows_x86_64_gnullvm"[m
[36m@@ -3130,9 +3126,9 @@[m [mchecksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"[m
 [m
 [[package]][m
 name = "windows_x86_64_gnullvm"[m
[31m-version = "0.52.0"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"[m
[32m+[m[32mchecksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"[m
 [m
 [[package]][m
 name = "windows_x86_64_msvc"[m
[36m@@ -3142,18 +3138,9 @@[m [mchecksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"[m
 [m
 [[package]][m
 name = "windows_x86_64_msvc"[m
[31m-version = "0.52.0"[m
[31m-source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"[m
[31m-[m
[31m-[[package]][m
[31m-name = "yaml-rust"[m
[31m-version = "0.4.5"[m
[32m+[m[32mversion = "0.52.5"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"[m
[31m-dependencies = [[m
[31m- "linked-hash-map",[m
[31m-][m
[32m+[m[32mchecksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"[m
 [m
 [[package]][m
 name = "yansi"[m
[36m@@ -3163,47 +3150,47 @@[m [mchecksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"[m
 [m
 [[package]][m
 name = "zerocopy"[m
[31m-version = "0.7.32"[m
[32m+[m[32mversion = "0.7.34"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"[m
[32m+[m[32mchecksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"[m
 dependencies = [[m
  "zerocopy-derive",[m
 ][m
 [m
 [[package]][m
 name = "zerocopy-derive"[m
[31m-version = "0.7.32"[m
[32m+[m[32mversion = "0.7.34"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"[m
[32m+[m[32mchecksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"[m
 dependencies = [[m
  "proc-macro2",[m
  "quote",[m
[31m- "syn 2.0.48",[m
[32m+[m[32m "syn 2.0.66",[m
 ][m
 [m
 [[package]][m
 name = "zstd"[m
[31m-version = "0.13.0"[m
[32m+[m[32mversion = "0.13.1"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"[m
[32m+[m[32mchecksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"[m
 dependencies = [[m
  "zstd-safe",[m
 ][m
 [m
 [[package]][m
 name = "zstd-safe"[m
[31m-version = "7.0.0"[m
[32m+[m[32mversion = "7.1.0"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"[m
[32m+[m[32mchecksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"[m
 dependencies = [[m
  "zstd-sys",[m
 ][m
 [m
 [[package]][m
 name = "zstd-sys"[m
[31m-version = "2.0.9+zstd.1.5.5"[m
[32m+[m[32mversion = "2.0.10+zstd.1.5.6"[m
 source = "registry+https://github.com/rust-lang/crates.io-index"[m
[31m-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"[m
[32m+[m[32mchecksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"[m
 dependencies = [[m
  "cc",[m
  "pkg-config",[m
[1mdiff --git a/Cargo.toml b/Cargo.toml[m
[1mindex 1a0e5df..902648c 100644[m
[1m--- a/Cargo.toml[m
[1m+++ b/Cargo.toml[m
[36m@@ -1,11 +1,11 @@[m
 [package][m
 name = "annonars"[m
[31m-version = "0.36.1"[m
[32m+[m[32mversion = "0.36.2"[m
 edition = "2021"[m
 authors = ["Manuel Holtgrewe <manuel.holtgrewe@bih-charite.de>"][m
 description = "Rust template repository"[m
 license = "Apache-2.0"[m
[31m-homepage = "https://github.com/varfish-org/annonars"[m
[32m+[m[32mrepository = "https://github.com/varfish-org/annonars"[m
 readme = "README.md"[m
 autobins = false[m
 exclude = ["/tests"][m
[36m@@ -27,48 +27,49 @@[m [mbiocommons-bioutils = "0.1.0"[m
 boolvec = "0.2"[m
 byteorder = "1.4"[m
 chrono = { version = "0.4", features = ["serde"] }[m
[31m-clap-verbosity-flag = "2.1"[m
 clap = { version = "4.5", features = ["derive", "env"] }[m
[32m+[m[32mclap-verbosity-flag = "2.2"[m
 csv = "1.2"[m
 enum-map = { version = "2.7.3", features = ["serde"] }[m
 env_logger = "0.11"[m
[32m+[m[32merased-serde = "0.4.2"[m
 flate2 = "1.0"[m
 indexmap = { version = "2.2", features = ["serde"] }[m
 indicatif = { version = "0.17", features = ["rayon"] }[m
[32m+[m[32mitertools = "0.13.0"[m
 log = "0.4"[m
[31m-noodles-bed = "0.12"[m
[31m-noodles-bgzf = "0.26"[m
[31m-noodles-core = "0.14"[m
[31m-noodles-csi = "0.30"[m
[31m-noodles-tabix = "0.36"[m
[31m-noodles-vcf = "0.49"[m
[32m+[m[32mnoodles-bed = "0.13"[m
[32m+[m[32mnoodles-bgzf = "0.30"[m
[32m+[m[32mnoodles-core = "0.15"[m
[32m+[m[32mnoodles-csi = "0.35"[m
[32m+[m[32mnoodles-gff = "0.33.0"[m
[32m+[m[32mnoodles-tabix = "0.41"[m
[32m+[m[32mnoodles-vcf = "0.57"[m
 pbjson = "0.6"[m
 pbjson-types = "0.6"[m
 prost = "0.12"[m
 rayon = "1.8"[m
[31m-rocksdb-utils-lookup = "0.3"[m
[31m-rocksdb = { version = "0.21", features = ["multi-threaded-cf"] }[m
[31m-serde_json = { version = "1.0", features=["preserve_order"] }[m
[32m+[m[32mrocksdb = { version = "0.22", features = ["multi-threaded-cf"] }[m
[32m+[m[32mrocksdb-utils-lookup = "0.4"[m
[32m+[m[32mrustc-hash = "1.1.0"[m
 serde = { version = "1.0", features = ["derive"] }[m
[32m+[m[32mserde_json = { version = "1.0", features=["preserve_order"] }[m
 serde_with = { version = "3.6", features=["alloc", "macros", "indexmap_2"], default-features = false }[m
 strum = { version = "0.26", features = ["strum_macros", "derive"] }[m
 thiserror = "1.0"[m
 tracing = "0.1"[m
 tracing-subscriber = "0.3"[m
[31m-rustc-hash = "1.1.0"[m
[31m-noodles-gff = "0.27.0"[m
[31m-erased-serde = "0.4.2"[m
 [m
 [build-dependencies][m
[31m-prost-build = "0.12"[m
[31m-pbjson-build = "0.6"[m
 anyhow = "1.0"[m
[32m+[m[32mpbjson-build = "0.6"[m
[32m+[m[32mprost-build = "0.12"[m
 [m
 [dev-dependencies][m
 insta = { version = "1.36", features = ["yaml"] }[m
 log = "0.4"[m
 pretty_assertions = "1.4"[m
[31m-rstest = "0.18.2"[m
[32m+[m[32mrstest = "0.19.0"[m
 temp_testdir = "0.2"[m
 test-log = "0.2"[m
 tracing-subscriber = "0.3"[m
[1mdiff --git a/build.rs b/build.rs[m
[1mindex 1c30e60..8c12acf 100644[m
[1m--- a/build.rs[m
[1m+++ b/build.rs[m
[36m@@ -27,6 +27,11 @@[m [mfn main() -> Result<(), anyhow::Error> {[m
         "annonars/gnomad/vep_gnomad4.proto",[m
         "annonars/helixmtdb/base.proto",[m
         "annonars/regions/clingen.proto",[m
[32m+[m[32m        "clinvar_data/class_by_freq.proto",[m
[32m+[m[32m        "clinvar_data/clinvar_public.proto",[m
[32m+[m[32m        "clinvar_data/extracted_vars.proto",[m
[32m+[m[32m        "clinvar_data/gene_impact.proto",[m
[32m+[m[32m        "clinvar_data/phenotype_link.proto",[m
     ][m
     .iter()[m
     .map(|f| root.join(f))[m
[36m@@ -51,7 +56,7 @@[m [mfn main() -> Result<(), anyhow::Error> {[m
     let descriptor_set = std::fs::read(descriptor_path).unwrap();[m
     pbjson_build::Builder::new()[m
         .register_descriptors(&descriptor_set)?[m
[31m-        .build(&[".annonars"])?;[m
[32m+[m[32m        .build(&[".annonars", ".clinvar_data"])?;[m
 [m
     Ok(())[m
 }[m
[1mdiff --git a/protos/annonars/clinvar/per_gene.proto b/protos/annonars/clinvar/per_gene.proto[m
[1mindex 1f4457e..1469d44 100644[m
[1m--- a/protos/annonars/clinvar/per_gene.proto[m
[1m+++ b/protos/annonars/clinvar/per_gene.proto[m
[36m@@ -5,87 +5,16 @@[m [msyntax = "proto3";[m
 package annonars.clinvar.per_gene;[m
 [m
 import "annonars/clinvar/minimal.proto";[m
[31m-[m
[31m-// Impact on gene in ClinVar.[m
[31m-enum Impact {[m
[31m-    // unknown[m
[31m-    IMPACT_UNKNOWN = 0;[m
[31m-    // 3' UTR variant[m
[31m-    IMPACT_THREE_PRIME_UTR_VARIANT = 1;[m
[31m-    // 5' UTR variant[m
[31m-    IMPACT_FIVE_PRIME_UTR_VARIANT = 2;[m
[31m-    // downstream gene variant[m
[31m-    IMPACT_DOWNSTREAM_TRANSCRIPT_VARIANT = 3;[m
[31m-    // frameshift variant[m
[31m-    IMPACT_FRAMESHIFT_VARIANT = 4;[m
[31m-    // inframe indel[m
[31m-    IMPACT_INFRAME_INDEL = 5;[m
[31m-    // start lost[m
[31m-    IMPACT_START_LOST = 6;[m
[31m-    // intron variant[m
[31m-    IMPACT_INTRON_VARIANT = 7;[m
[31m-    // missense variant[m
[31m-    IMPACT_MISSENSE_VARIANT = 8;[m
[31m-    // non-coding transcript variant[m
[31m-    IMPACT_NON_CODING_TRANSCRIPT_VARIANT = 9;[m
[31m-    // stop gained[m
[31m-    IMPACT_STOP_GAINED = 10;[m
[31m-    // no sequence alteration[m
[31m-    IMPACT_NO_SEQUENCE_ALTERATION = 11;[m
[31m-    // splice acceptor variant[m
[31m-    IMPACT_SPLICE_ACCEPTOR_VARIANT = 12;[m
[31m-    // splice donor variant[m
[31m-    IMPACT_SPLICE_DONOR_VARIANT = 13;[m
[31m-    // stop lost[m
[31m-    IMPACT_STOP_LOST = 14;[m
[31m-    // synonymous variant[m
[31m-    IMPACT_SYNONYMOUS_VARIANT = 15;[m
[31m-    // upstream gene variant[m
[31m-    IMPACT_UPSTREAM_TRANSCRIPT_VARIANT = 16;[m
[31m-}[m
[31m-[m
[31m-// Counts of variants by impact.[m
[31m-message GeneImpactRecordCounts {[m
[31m-    // Impact[m
[31m-    Impact impact = 1;[m
[31m-    // Counts for ACMG1..5[m
[31m-    repeated uint32 counts = 2;[m
[31m-}[m
[31m-[m
[31m-// Coarsened clinical significance[m
[31m-enum CoarseClinicalSignificance {[m
[31m-    // unknown[m
[31m-    COARSE_CLINICAL_SIGNIFICANCE_UNKNOWN = 0;[m
[31m-    // benign / likely benign[m
[31m-    COARSE_CLINICAL_SIGNIFICANCE_BENIGN = 1;[m
[31m-    // uncertain signifiance[m
[31m-    COARSE_CLINICAL_SIGNIFICANCE_UNCERTAIN = 2;[m
[31m-    // pathogenic / likely pathogenic[m
[31m-    COARSE_CLINICAL_SIGNIFICANCE_PATHOGENIC = 3;[m
[31m-}[m
[31m-[m
[31m-// Counts per frequency and impact.[m
[31m-message GeneFreqRecordCounts {[m
[31m-    // Frequency[m
[31m-    CoarseClinicalSignificance coarse_clinsig = 1;[m
[31m-    // Counts for ACMG1..5[m
[31m-    repeated uint32 counts = 2;[m
[31m-}[m
[31m-[m
[31m-// Variants for a given genome release / assembly.[m
[31m-message GeneVariantsForRelease {[m
[31m-    // Genome release / assembly[m
[31m-    string genome_release = 1;[m
[31m-    // Variants[m
[31m-    repeated annonars.clinvar.minimal.Record variants = 2;[m
[31m-}[m
[32m+[m[32mimport "clinvar_data/class_by_freq.proto";[m
[32m+[m[32mimport "clinvar_data/extracted_vars.proto";[m
[32m+[m[32mimport "clinvar_data/gene_impact.proto";[m
 [m
 // ClinVar detailed information per gene.[m
 message ClinvarPerGeneRecord {[m
     // Counts of variants per impact[m
[31m-    repeated GeneImpactRecordCounts per_impact_counts = 1;[m
[32m+[m[32m    optional clinvar_data.gene_impact.GeneImpactCounts per_impact_counts = 1;[m
     // Counts of variants per impact / frequency[m
[31m-    repeated GeneFreqRecordCounts per_freq_counts = 2;[m
[32m+[m[32m    optional clinvar_data.class_by_freq.GeneCoarseClinsigFrequencyCounts per_freq_counts = 2;[m
     // Variants for the given gene.[m
[31m-    repeated GeneVariantsForRelease variants = 3;[m
[32m+[m[32m    repeated clinvar_data.extracted_vars.ExtractedVcvRecord variants = 3;[m
 }[m
[1mdiff --git a/protos/clinvar_data/class_by_freq.proto b/protos/clinvar_data/class_by_freq.proto[m
[1mnew file mode 100644[m
[1mindex 0000000..11ab76c[m
[1m--- /dev/null[m
[1m+++ b/protos/clinvar_data/class_by_freq.proto[m
[36m@@ -0,0 +1,29 @@[m
[32m+[m[32m// Protocol buffers for types for class-by-freq tool.[m
[32m+[m
[32m+[m[32msyntax = "proto3";[m
[32m+[m
[32m+[m[32mpackage clinvar_data.class_by_freq;[m
[32m+[m
[32m+[m[32m// Enumeration for coarse-grain classification.[m
[32m+[m[32menum CoarseClinicalSignificance {[m
[32m+[m[32m  // unspecified coarse clinical significance[m
[32m+[m[32m  COARSE_CLINICAL_SIGNIFICANCE_UNSPECIFIED = 0;[m
[32m+[m[32m  // Corresponds to "benign".[m
[32m+[m[32m  COARSE_CLINICAL_SIGNIFICANCE_BENIGN = 1;[m
[32m+[m[32m  // Corresponds to "uncertain".[m
[32m+[m[32m  COARSE_CLINICAL_SIGNIFICANCE_UNCERTAIN = 2;[m
[32m+[m[32m  // Corresponds to "pathogenic".[m
[32m+[m[32m  COARSE_CLINICAL_SIGNIFICANCE_PATHOGENIC = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Output record.[m
[32m+[m[32mmessage GeneCoarseClinsigFrequencyCounts {[m
[32m+[m[32m  // The gene HGNC ID.[m
[32m+[m[32m  string hgnc_id = 1;[m
[32m+[m[32m  // The counts for (likely) pathogenic.[m
[32m+[m[32m  repeated uint32 pathogenic_counts = 2;[m
[32m+[m[32m  // The counts for uncertain significance.[m
[32m+[m[32m  repeated uint32 uncertain_counts = 3;[m
[32m+[m[32m  // The counts for (likely) benign.[m
[32m+[m[32m  repeated uint32 benign_counts = 4;[m
[32m+[m[32m}[m
[1mdiff --git a/protos/clinvar_data/clinvar_public.proto b/protos/clinvar_data/clinvar_public.proto[m
[1mnew file mode 100644[m
[1mindex 0000000..b6e8502[m
[1m--- /dev/null[m
[1m+++ b/protos/clinvar_data/clinvar_public.proto[m
[36m@@ -0,0 +1,2708 @@[m
[32m+[m[32m// Protobuf file for representing the types from the ClinVar VCV XSD file.[m
[32m+[m
[32m+[m[32msyntax = "proto3";[m
[32m+[m
[32m+[m[32mpackage clinvar_data.clinvar_public;[m
[32m+[m
[32m+[m[32mimport "google/protobuf/timestamp.proto";[m
[32m+[m
[32m+[m[32m// Enumeration describing connection between genes and variants.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to XSD type "GeneVariantRelationship".[m
[32m+[m[32menum GeneVariantRelationship {[m
[32m+[m[32m  // unspecified gene variant[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "variant within gene"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_VARIANT_WITHIN_GENE = 1;[m
[32m+[m[32m  // corresponds to "gene overlapped by variant" and[m
[32m+[m[32m  // (legacy:) "genes overlapped by variant"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_GENE_OVERLAPPED_BY_VARIANT = 2;[m
[32m+[m[32m  // corresponds to "variant near gene, upstream" and[m
[32m+[m[32m  // (legacy:) "near gene, upstream"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_NEAR_GENE_UPSTREAM = 3;[m
[32m+[m[32m  // corresponds to "variant near gene, downstream" and[m
[32m+[m[32m  // (legacy:) "near gene, downstream"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_NEAR_GENE_DOWNSTREAM = 4;[m
[32m+[m[32m  // corresponds to "asserted, but not computed"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_ASSERTED_BUT_NOT_COMPUTED = 5;[m
[32m+[m[32m  // corresponds to "within multiple genes by overlap"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_WITHIN_MULTIPLE_GENES_BY_OVERLAP = 6;[m
[32m+[m[32m  // corresponds to "within single gene"[m
[32m+[m[32m  GENE_VARIANT_RELATIONSHIP_WITHIN_SINGLE_GENE = 7;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing severity.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to XSD type "typeSeverity"[m
[32m+[m[32menum Severity {[m
[32m+[m[32m  // unspecified severity[m
[32m+[m[32m  SEVERITY_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "mild"[m
[32m+[m[32m  SEVERITY_MILD = 1;[m
[32m+[m[32m  // corresponds to "moderate"[m
[32m+[m[32m  SEVERITY_MODERATE = 2;[m
[32m+[m[32m  // corresponds to "sever"[m
[32m+[m[32m  SEVERITY_SEVERE = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing status.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeStatus` in XSD.[m
[32m+[m[32menum Status {[m
[32m+[m[32m  // unspecified status[m
[32m+[m[32m  STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "current"[m
[32m+[m[32m  STATUS_CURRENT = 1;[m
[32m+[m[32m  // corresponds to "completed and retired"[m
[32m+[m[32m  STATUS_COMPLETED_AND_RETIRED = 2;[m
[32m+[m[32m  // corresponds to "delete"[m
[32m+[m[32m  STATUS_DELETE = 3;[m
[32m+[m[32m  // corresponds to "in development"[m
[32m+[m[32m  STATUS_IN_DEVELOPMENT = 4;[m
[32m+[m[32m  // corresponds to "reclassified"[m
[32m+[m[32m  STATUS_RECLASSIFIED = 5;[m
[32m+[m[32m  // corresponds to "reject"[m
[32m+[m[32m  STATUS_REJECT = 6;[m
[32m+[m[32m  // corresponds to "secondary"[m
[32m+[m[32m  STATUS_SECONDARY = 7;[m
[32m+[m[32m  // corresponds to "suppressed"[m
[32m+[m[32m  STATUS_SUPPRESSED = 8;[m
[32m+[m[32m  // corresponds to "under review"[m
[32m+[m[32m  STATUS_UNDER_REVIEW = 9;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing submitter review status.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeSubmitterReviewStatusValue` in XSD.[m
[32m+[m[32menum SubmitterReviewStatus {[m
[32m+[m[32m  // unspecified status[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "no classification provided"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED = 1;[m
[32m+[m[32m  // corresponds to "no assertion criteria provided"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED = 2;[m
[32m+[m[32m  // corresponds to "criteria provided, single submitter"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER = 3;[m
[32m+[m[32m  // corresponds to "reviewed by expert panel"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL = 4;[m
[32m+[m[32m  // corresponds to "practice guideline"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_PRACTICE_GUIDELINE = 5;[m
[32m+[m[32m  // corresponds to "flagged submission"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_FLAGGED_SUBMISSION = 6;[m
[32m+[m[32m  // corresponds to "criteria provided, multiple submitters, no conflicts"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS = 7;[m
[32m+[m[32m  // corresponds to "criteria provided, conflicting classifications"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_CRITERIA_PROVIDED_CONFLICTING_CLASSIFICATIONS = 8;[m
[32m+[m[32m  // corresponds to "classified by single submitter"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_CLASSIFIED_BY_SINGLE_SUBMITTER = 9;[m
[32m+[m[32m  // corresponds to "reviewed by professional society"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_REVIEWED_BY_PROFESSIONAL_SOCIETY = 10;[m
[32m+[m[32m  // corresponds to "not classified by submitter"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_NOT_CLASSIFIED_BY_SUBMITTER = 11;[m
[32m+[m[32m  // corresponds to "classified by multiple submitters"[m
[32m+[m[32m  SUBMITTER_REVIEW_STATUS_CLASSIFIED_BY_MULTIPLE_SUBMITTERS = 12;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing zygosity.[m
[32m+[m[32menum Zygosity {[m
[32m+[m[32m  // unspecified zygosity[m
[32m+[m[32m  ZYGOSITY_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "Homozygote"[m
[32m+[m[32m  ZYGOSITY_HOMOZYGOTE = 1;[m
[32m+[m[32m  // corresponds to "SingleHeterozygote"[m
[32m+[m[32m  ZYGOSITY_SINGLE_HETEROZYGOTE = 2;[m
[32m+[m[32m  // corresponds to "CompoundHeterozygote"[m
[32m+[m[32m  ZYGOSITY_COMPOUND_HETEROZYGOTE = 3;[m
[32m+[m[32m  // corresponds to "Hemizygote"[m
[32m+[m[32m  ZYGOSITY_HEMIZYGOTE = 4;[m
[32m+[m[32m  // corresponds to "not provided"[m
[32m+[m[32m  ZYGOSITY_NOT_PROVIDED = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing assertion type attributes.[m
[32m+[m[32menum Assertion {[m
[32m+[m[32m  // unspecified assertion type attribute[m
[32m+[m[32m  ASSERTION_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "variation to disease"[m
[32m+[m[32m  ASSERTION_VARIATION_TO_DISEASE = 1;[m
[32m+[m[32m  // corresponds to "variation to included disease"[m
[32m+[m[32m  ASSERTION_VARIATION_TO_INCLUDED_DISEASE = 2;[m
[32m+[m[32m  // corresponds to "variation in modifier gene to disease"[m
[32m+[m[32m  ASSERTION_VARIATION_IN_MODIFIER_GENE_TO_DISEASE = 3;[m
[32m+[m[32m  // corresponds to "confers sensitivity"[m
[32m+[m[32m  ASSERTION_CONFERS_SENSITIVITY = 4;[m
[32m+[m[32m  // corresponds to "confers resistance"[m
[32m+[m[32m  ASSERTION_CONFERS_RESISTANCE = 5;[m
[32m+[m[32m  // corresponds to "variant to named protein"[m
[32m+[m[32m  ASSERTION_VARIANT_TO_NAMED_PROTEIN = 6;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing aggregate germline review status value.[m
[32m+[m[32menum AggregateGermlineReviewStatus {[m
[32m+[m[32m  // unspecified aggregate germline review status value[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "no classification provided"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED = 1;[m
[32m+[m[32m  // corresponds to "no assertion criteria provided"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED = 2;[m
[32m+[m[32m  // corresponds to "criteria provided, single submitter"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER = 3;[m
[32m+[m[32m  // corresponds to "criteria provided, multiple submitters, no conflicts"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS = 4;[m
[32m+[m[32m  // corresponds to "criteria provided, conflicting classifications"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_CONFLICTING_CLASSIFICATIONS = 5;[m
[32m+[m[32m  // corresponds to "reviewed by expert panel"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL = 6;[m
[32m+[m[32m  // corresponds to "practice guideline"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_PRACTICE_GUIDELINE = 7;[m
[32m+[m[32m  // corresponds to "no classifications from unflagged records"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_NO_CLASSIFICATIONS_FROM_UNFLAGGED_RECORDS = 8;[m
[32m+[m[32m  // corresponds to "no classification for the single variant"[m
[32m+[m[32m  AGGREGATE_GERMLINE_REVIEW_STATUS_NO_CLASSIFICATION_FOR_THE_SINGLE_VARIANT = 9;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing aggregate somatic clinical impact review status value.[m
[32m+[m[32menum AggregateSomaticClinicalImpactReviewStatus {[m
[32m+[m[32m  // unspecified aggregate somatic clinical impact review status value[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "no classification provided"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED = 1;[m
[32m+[m[32m  // corresponds to "no assertion criteria provided"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED = 2;[m
[32m+[m[32m  // corresponds to "criteria provided, single submitter"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER = 3;[m
[32m+[m[32m  // corresponds to "criteria provided, multiple submitters"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS = 4;[m
[32m+[m[32m  // corresponds to "reviewed by expert panel"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL = 5;[m
[32m+[m[32m  // corresponds to "practice guideline"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_PRACTICE_GUIDELINE = 6;[m
[32m+[m[32m  // corresponds to "no classifications from unflagged records"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_NO_CLASSIFICATIONS_FROM_UNFLAGGED_RECORDS = 7;[m
[32m+[m[32m  // corresponds to "no classification for the single variant"[m
[32m+[m[32m  AGGREGATE_SOMATIC_CLINICAL_IMPACT_REVIEW_STATUS_NO_CLASSIFICATION_FOR_THE_SINGLE_VARIANT = 8;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing aggregate oncogenicity review status value.[m
[32m+[m[32menum AggregateOncogenicityReviewStatus {[m
[32m+[m[32m  // unspecified aggregate oncogenicity review status value[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "no classification provided"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED = 1;[m
[32m+[m[32m  // corresponds to "no assertion criteria provided"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED = 2;[m
[32m+[m[32m  // corresponds to "criteria provided, single submitter"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER = 3;[m
[32m+[m[32m  // corresponds to "criteria provided, multiple submitters, no conflicts"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS = 4;[m
[32m+[m[32m  // corresponds to "criteria provided, conflicting classifications"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_CRITERIA_PROVIDED_CONFLICTING_CLASSIFICATIONS = 5;[m
[32m+[m[32m  // corresponds to "reviewed by expert panel"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL = 6;[m
[32m+[m[32m  // corresponds to "practice guideline"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_PRACTICE_GUIDELINE = 7;[m
[32m+[m[32m  // corresponds to "no classifications from unflagged records"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_NO_CLASSIFICATIONS_FROM_UNFLAGGED_RECORDS = 8;[m
[32m+[m[32m  // corresponds to "no classification for the single variant"[m
[32m+[m[32m  AGGREGATE_ONCOGENICITY_REVIEW_STATUS_NO_CLASSIFICATION_FOR_THE_SINGLE_VARIANT = 9;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing origin.[m
[32m+[m[32menum Origin {[m
[32m+[m[32m  // unspecified origin[m
[32m+[m[32m  ORIGIN_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "germline"[m
[32m+[m[32m  ORIGIN_GERMLINE = 1;[m
[32m+[m[32m  // corresponds to "somatic"[m
[32m+[m[32m  ORIGIN_SOMATIC = 2;[m
[32m+[m[32m  // corresponds to "de novo"[m
[32m+[m[32m  ORIGIN_DE_NOVO = 3;[m
[32m+[m[32m  // corresponds to "not provided"[m
[32m+[m[32m  ORIGIN_NOT_PROVIDED = 4;[m
[32m+[m[32m  // corresponds to "inherited"[m
[32m+[m[32m  ORIGIN_INHERITED = 5;[m
[32m+[m[32m  // corresponds to "maternal"[m
[32m+[m[32m  ORIGIN_MATERNAL = 6;[m
[32m+[m[32m  // corresponds to "paternal"[m
[32m+[m[32m  ORIGIN_PATERNAL = 7;[m
[32m+[m[32m  // corresponds to "uniparental"[m
[32m+[m[32m  ORIGIN_UNIPARENTAL = 8;[m
[32m+[m[32m  // corresponds to "biparental"[m
[32m+[m[32m  ORIGIN_BIPARENTAL = 9;[m
[32m+[m[32m  // corresponds to "not-reported"[m
[32m+[m[32m  ORIGIN_NOT_REPORTED = 10;[m
[32m+[m[32m  // corresponds to "tested-inconclusive"[m
[32m+[m[32m  ORIGIN_TESTED_INCONCLUSIVE = 11;[m
[32m+[m[32m  // corresponds to "unknown"[m
[32m+[m[32m  ORIGIN_UNKNOWN = 12;[m
[32m+[m[32m  // corresponds to "not applicable"[m
[32m+[m[32m  ORIGIN_NOT_APPLICABLE = 13;[m
[32m+[m[32m  // corresponds to "experimentally generated"[m
[32m+[m[32m  ORIGIN_EXPERIMENTALLY_GENERATED = 14;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing chromosome.[m
[32m+[m[32menum Chromosome {[m
[32m+[m[32m  // unspecified chromosome[m
[32m+[m[32m  CHROMOSOME_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "1"[m
[32m+[m[32m  CHROMOSOME_1 = 1;[m
[32m+[m[32m  // corresponds to "2"[m
[32m+[m[32m  CHROMOSOME_2 = 2;[m
[32m+[m[32m  // corresponds to "3"[m
[32m+[m[32m  CHROMOSOME_3 = 3;[m
[32m+[m[32m  // corresponds to "4"[m
[32m+[m[32m  CHROMOSOME_4 = 4;[m
[32m+[m[32m  // corresponds to "5"[m
[32m+[m[32m  CHROMOSOME_5 = 5;[m
[32m+[m[32m  // corresponds to "6"[m
[32m+[m[32m  CHROMOSOME_6 = 6;[m
[32m+[m[32m  // corresponds to "7"[m
[32m+[m[32m  CHROMOSOME_7 = 7;[m
[32m+[m[32m  // corresponds to "8"[m
[32m+[m[32m  CHROMOSOME_8 = 8;[m
[32m+[m[32m  // corresponds to "9"[m
[32m+[m[32m  CHROMOSOME_9 = 9;[m
[32m+[m[32m  // corresponds to "10"[m
[32m+[m[32m  CHROMOSOME_10 = 10;[m
[32m+[m[32m  // corresponds to "11"[m
[32m+[m[32m  CHROMOSOME_11 = 11;[m
[32m+[m[32m  // corresponds to "12"[m
[32m+[m[32m  CHROMOSOME_12 = 12;[m
[32m+[m[32m  // corresponds to "13"[m
[32m+[m[32m  CHROMOSOME_13 = 13;[m
[32m+[m[32m  // corresponds to "14"[m
[32m+[m[32m  CHROMOSOME_14 = 14;[m
[32m+[m[32m  // corresponds to "15"[m
[32m+[m[32m  CHROMOSOME_15 = 15;[m
[32m+[m[32m  // corresponds to "16"[m
[32m+[m[32m  CHROMOSOME_16 = 16;[m
[32m+[m[32m  // corresponds to "17"[m
[32m+[m[32m  CHROMOSOME_17 = 17;[m
[32m+[m[32m  // corresponds to "18"[m
[32m+[m[32m  CHROMOSOME_18 = 18;[m
[32m+[m[32m  // corresponds to "19"[m
[32m+[m[32m  CHROMOSOME_19 = 19;[m
[32m+[m[32m  // corresponds to "20"[m
[32m+[m[32m  CHROMOSOME_20 = 20;[m
[32m+[m[32m  // corresponds to "21"[m
[32m+[m[32m  CHROMOSOME_21 = 21;[m
[32m+[m[32m  // corresponds to "22"[m
[32m+[m[32m  CHROMOSOME_22 = 22;[m
[32m+[m[32m  // corresponds to "X"[m
[32m+[m[32m  CHROMOSOME_X = 23;[m
[32m+[m[32m  // corresponds to "Y"[m
[32m+[m[32m  CHROMOSOME_Y = 24;[m
[32m+[m[32m  // corresponds to "MT"[m
[32m+[m[32m  CHROMOSOME_MT = 25;[m
[32m+[m[32m  // corresponds to "PAR"[m
[32m+[m[32m  CHROMOSOME_PAR = 26;[m
[32m+[m[32m  // corresponds to "Un"[m
[32m+[m[32m  CHROMOSOME_UN = 27;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing comment type.[m
[32m+[m[32menum CommentType {[m
[32m+[m[32m  // unspecified comment type[m
[32m+[m[32m  COMMENT_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "public"[m
[32m+[m[32m  COMMENT_TYPE_PUBLIC = 1;[m
[32m+[m[32m  // corresponds to "ConvertedByNCBI"[m
[32m+[m[32m  COMMENT_TYPE_CONVERTED_BY_NCB = 2;[m
[32m+[m[32m  // corresponds to "MissingFromAssembly"[m
[32m+[m[32m  COMMENT_TYPE_MISSING_FROM_ASSEMBLY = 3;[m
[32m+[m[32m  // corresponds to "GenomicLocationNotEstablished"[m
[32m+[m[32m  COMMENT_TYPE_GENOMIC_LOCATION_NOT_ESTABLISHED = 4;[m
[32m+[m[32m  // corresponds to "LocationOnGenomeAndProductNotAligned"[m
[32m+[m[32m  COMMENT_TYPE_LOCATION_ON_GENOME_AND_PRODUCT_NOT_ALIGNED = 5;[m
[32m+[m[32m  // corresponds to "DeletionComment"[m
[32m+[m[32m  COMMENT_TYPE_DELETION_COMMENT = 6;[m
[32m+[m[32m  // corresponds to "MergeComment"[m
[32m+[m[32m  COMMENT_TYPE_MERGE_COMMENT = 7;[m
[32m+[m[32m  // corresponds to "AssemblySpecificAlleleDefinition"[m
[32m+[m[32m  COMMENT_TYPE_ASSEMBLY_SPECIFIC_ALLELE_DEFINITION = 8;[m
[32m+[m[32m  // corresponds to "AlignmentGapMakesAppearInconsistent"[m
[32m+[m[32m  COMMENT_TYPE_ALIGNMENT_GAP_MAKES_APPEAR_INCONSISTENT = 9;[m
[32m+[m[32m  // corresponds to "ExplanationOfClassification"[m
[32m+[m[32m  COMMENT_TYPE_EXPLANATION_OF_CLASSIFICATION = 10;[m
[32m+[m[32m  // corresponds to "FlaggedComment"[m
[32m+[m[32m  COMMENT_TYPE_FLAGGED_COMMENT = 11;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing nucleotide sequence.[m
[32m+[m[32menum NucleotideSequence {[m
[32m+[m[32m  // unspecified nucleotide sequence[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "genomic, top-level"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_GENOMIC_TOP_LEVEL = 1;[m
[32m+[m[32m  // corresponds to "genomic, RefSeqGene"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_GENOMIC_REF_SEQ_GENE = 2;[m
[32m+[m[32m  // corresponds to "genomic"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_GENOMIC = 3;[m
[32m+[m[32m  // corresponds to "coding"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_CODING = 4;[m
[32m+[m[32m  // corresponds to "non-coding"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_NON_CODING = 5;[m
[32m+[m[32m  // corresponds to "protein"[m
[32m+[m[32m  NUCLEOTIDE_SEQUENCE_PROTEIN = 6;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing protein sequence.[m
[32m+[m[32menum ProteinSequence {[m
[32m+[m[32m  // unspecified protein sequence[m
[32m+[m[32m  PROTEIN_SEQUENCE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "protein"[m
[32m+[m[32m  PROTEIN_SEQUENCE_PROTEIN = 1;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing phenotype set.[m
[32m+[m[32menum PhenotypeSetType {[m
[32m+[m[32m  // unspecified phenotype set[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "Disease"[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_DISEASE = 1;[m
[32m+[m[32m  // corresponds to "DrugResponse"[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_DRUG_RESPONSE = 2;[m
[32m+[m[32m  // corresponds to "Finding"[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_FINDING = 3;[m
[32m+[m[32m  // corresponds to "PhenotypeInstruction"[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_PHENOTYPE_INSTRUCTION = 4;[m
[32m+[m[32m  // corresponds to "TraitChoice"[m
[32m+[m[32m  PHENOTYPE_SET_TYPE_TRAIT_CHOICE = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing variation type.[m
[32m+[m[32menum VariationType {[m
[32m+[m[32m  // unspecified variation type[m
[32m+[m[32m  VARIATION_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "Diplotype"[m
[32m+[m[32m  VARIATION_TYPE_DIPLOTYPE = 1;[m
[32m+[m[32m  // corresponds to "CompoundHeterozygote"[m
[32m+[m[32m  VARIATION_TYPE_COMPOUND_HETEROZYGOTE = 2;[m
[32m+[m[32m  // corresponds to "Distinct chromosomes"[m
[32m+[m[32m  VARIATION_TYPE_DISTINCT_CHROMOSOMES = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing evidence type.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "EvidenceType" in XSD.[m
[32m+[m[32menum EvidenceType {[m
[32m+[m[32m  // unspecified evidence type[m
[32m+[m[32m  EVIDENCE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "Genetic"[m
[32m+[m[32m  EVIDENCE_TYPE_GENETIC = 1;[m
[32m+[m[32m  // corresponds to "Experimental"[m
[32m+[m[32m  EVIDENCE_TYPE_EXPERIMENTAL = 2;[m
[32m+[m[32m  // corresponds to "Population"[m
[32m+[m[32m  EVIDENCE_TYPE_POPULATION = 3;[m
[32m+[m[32m  // corresponds to "Computational"[m
[32m+[m[32m  EVIDENCE_TYPE_COMPUTATIONAL = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing method list.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "MethodListType" in XSD.[m
[32m+[m[32menum MethodListType {[m
[32m+[m[32m  // unspecified method[m
[32m+[m[32m  METHOD_LIST_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "literature only"[m
[32m+[m[32m  METHOD_LIST_TYPE_LITERATURE_ONLY = 1;[m
[32m+[m[32m  // corresponds to "reference population"[m
[32m+[m[32m  METHOD_LIST_TYPE_REFERENCE_POPULATION = 2;[m
[32m+[m[32m  // corresponds to "case-control"[m
[32m+[m[32m  METHOD_LIST_TYPE_CASE_CONTROL = 3;[m
[32m+[m[32m  // corresponds to "clinical testing"[m
[32m+[m[32m  METHOD_LIST_TYPE_CLINICAL_TESTING = 4;[m
[32m+[m[32m  // corresponds to "in vitro"[m
[32m+[m[32m  METHOD_LIST_TYPE_IN_VITRO = 5;[m
[32m+[m[32m  // corresponds to "in vivo"[m
[32m+[m[32m  METHOD_LIST_TYPE_IN_VIVO = 6;[m
[32m+[m[32m  // corresponds to "research"[m
[32m+[m[32m  METHOD_LIST_TYPE_RESEARCH = 7;[m
[32m+[m[32m  // corresponds to "curation"[m
[32m+[m[32m  METHOD_LIST_TYPE_CURATION = 8;[m
[32m+[m[32m  // corresponds to "not provided"[m
[32m+[m[32m  METHOD_LIST_TYPE_NOT_PROVIDED = 9;[m
[32m+[m[32m  // corresponds to "provider interpretation"[m
[32m+[m[32m  METHOD_LIST_TYPE_PROVIDER_INTERPRETATION = 10;[m
[32m+[m[32m  // corresponds to "phenotyping only"[m
[32m+[m[32m  METHOD_LIST_TYPE_PHENOTYPING_ONLY = 11;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing HGVS types.[m
[32m+[m[32menum HgvsType {[m
[32m+[m[32m  // unspecified HGVS type[m
[32m+[m[32m  HGVS_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "coding"[m
[32m+[m[32m  HGVS_TYPE_CODING = 1;[m
[32m+[m[32m  // corresponds to "genomic"[m
[32m+[m[32m  HGVS_TYPE_GENOMIC = 2;[m
[32m+[m[32m  // corresponds to "genomic, top-level"[m
[32m+[m[32m  HGVS_TYPE_GENOMIC_TOP_LEVEL = 3;[m
[32m+[m[32m  // corresponds to "non-coding"[m
[32m+[m[32m  HGVS_TYPE_NON_CODING = 4;[m
[32m+[m[32m  // corresponds to "protein"[m
[32m+[m[32m  HGVS_TYPE_PROTEIN = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing clinical features affected status.[m
[32m+[m[32menum ClinicalFeaturesAffectedStatusType {[m
[32m+[m[32m  // unspecified status[m
[32m+[m[32m  CLINICAL_FEATURES_AFFECTED_STATUS_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "present"[m
[32m+[m[32m  CLINICAL_FEATURES_AFFECTED_STATUS_TYPE_PRESENT = 1;[m
[32m+[m[32m  // corresponds to "absent"[m
[32m+[m[32m  CLINICAL_FEATURES_AFFECTED_STATUS_TYPE_ABSENT = 2;[m
[32m+[m[32m  // corresponds to "not tested"[m
[32m+[m[32m  CLINICAL_FEATURES_AFFECTED_STATUS_TYPE_NOT_TESTED = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Enumeration describing haplotype variation types.[m
[32m+[m[32menum HaploVariationType {[m
[32m+[m[32m  // unspecified haplotype variation type[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // corresponds to "Haplotype"[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_HAPLOTYPE = 1;[m
[32m+[m[32m  // corresponds to "Haplotype, single variant"[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_HAPLOTYPE_SINGLE_VARIANT = 2;[m
[32m+[m[32m  // corresponds to "Variation"[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_VARIATION = 3;[m
[32m+[m[32m  // corresponds to "Phase unknown"[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_PHASE_UNKNOWN = 4;[m
[32m+[m[32m  // corresponds to "Haplotype defined by a single variant"[m
[32m+[m[32m  HAPLO_VARIATION_TYPE_HAPLOTYPE_DEFINED_BY_SINGLE_VARIANT = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A structure to support reporting unformatted content, with type and[m
[32m+[m[32m// source specified.[m
[32m+[m[32mmessage Comment {[m
[32m+[m[32m  // The comment's value.[m
[32m+[m[32m  string value = 1;[m
[32m+[m[32m  // The optional comment data source.[m
[32m+[m[32m  optional string data_source = 2;[m
[32m+[m[32m  // The comment's type.[m
[32m+[m[32m  optional CommentType type = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This structure is used to represent how an object described in the[m
[32m+[m[32m// submission relates to objects in other databases.[m
[32m+[m[32mmessage Xref {[m
[32m+[m[32m  // The name of the database. When there is an overlap with sequence[m
[32m+[m[32m  // databases, that name is used.[m
[32m+[m[32m  string db = 1;[m
[32m+[m[32m  // The identifier used by the database. Being exported as a string[m
[32m+[m[32m  // even though internally the database has rules for defining which datases use[m
[32m+[m[32m  // integer identifers.[m
[32m+[m[32m  string id = 2;[m
[32m+[m[32m  // Used to differentiate between different types of identifiers that[m
[32m+[m[32m  // a database may provide.[m
[32m+[m[32m  optional string type = 3;[m
[32m+[m[32m  // Optional URL to the database entry.[m
[32m+[m[32m  optional string url = 4;[m
[32m+[m[32m  // The status; defaults to "current".[m
[32m+[m[32m  optional Status status = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of a citation.[m
[32m+[m[32mmessage Citation {[m
[32m+[m[32m  // Local ID with source.[m
[32m+[m[32m  message IdType {[m
[32m+[m[32m    // The citation's value.[m
[32m+[m[32m    string value = 1;[m
[32m+[m[32m    // If there is an identifier, what database provides it.[m
[32m+[m[32m    string source = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Optional list of IDs.[m
[32m+[m[32m  repeated IdType ids = 1;[m
[32m+[m[32m  // Optional URL.[m
[32m+[m[32m  optional string url = 2;[m
[32m+[m[32m  // Optional citation text.[m
[32m+[m[32m  optional string citation_text = 3;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // This maintained distinct from publication types in PubMed and[m
[32m+[m[32m  // established by GTR curators.  The default is 'general'.[m
[32m+[m[32m  optional string type = 4;[m
[32m+[m[32m  // Corresponds to the abbreviation reported by GTR.[m
[32m+[m[32m  optional string abbrev = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// The attribute is a general element to represent a defined set of data[m
[32m+[m[32m// qualified by an enumerated set of types. For each attribute element, the value will[m
[32m+[m[32m// be a character string and is optional. Source shall be used to store identifiers for[m
[32m+[m[32m// supplied data from source other than the submitter (e.g. SequenceOntology). The data[m
[32m+[m[32m// submitted where Type="variation" shall be validated against sequence_alternation in[m
[32m+[m[32m// Sequence Ontology http://www.sequenceontology.org/. This is to be a generic version[m
[32m+[m[32m// of AttributeType and should be used with extension when it is used to specify Type[m
[32m+[m[32m// and its enumerations.[m
[32m+[m[32mmessage BaseAttribute {[m
[32m+[m[32m  // The attribute's value; can be empty.[m
[32m+[m[32m  optional string value = 1;[m
[32m+[m[32m  // The optional integer value.[m
[32m+[m[32m  optional int64 integer_value = 2;[m
[32m+[m[32m  // The optional date value.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_value = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of a nucleotide sequence expression.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeNucleotideSequenceExpression`[m
[32m+[m[32mmessage HgvsNucleotideExpression {[m
[32m+[m[32m  // The expression values.[m
[32m+[m[32m  string expression = 1;[m
[32m+[m[32m  // The type of the nucleotide sequence.[m
[32m+[m[32m  optional NucleotideSequence sequence_type = 2;[m
[32m+[m[32m  // Optional sequence accession version.[m
[32m+[m[32m  optional string sequence_accession_version = 3;[m
[32m+[m[32m  // Optional sequence accession.[m
[32m+[m[32m  optional string sequence_accession = 4;[m
[32m+[m[32m  // Optional sequence version.[m
[32m+[m[32m  optional int32 sequence_version = 5;[m
[32m+[m[32m  // Optional description of the change.[m
[32m+[m[32m  optional string change = 6;[m
[32m+[m[32m  // Optional assembly information.[m
[32m+[m[32m  optional string assembly = 7;[m
[32m+[m[32m  // Optional submission information.[m
[32m+[m[32m  optional string submitted = 8;[m
[32m+[m[32m  // Optional MANE Select flag.[m
[32m+[m[32m  optional bool mane_select = 9;[m
[32m+[m[32m  // Optional MANE Plus Clinical flag.[m
[32m+[m[32m  optional bool mane_plus_clinical = 10;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m
[32m+[m[32m// Description of a protein sequence expression.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeProteinSequenceExpression` in XSD.[m
[32m+[m[32mmessage HgvsProteinExpression {[m
[32m+[m[32m  // The expression values.[m
[32m+[m[32m  string expression = 1;[m
[32m+[m[32m  // Optional sequence accession version.[m
[32m+[m[32m  optional string sequence_accession_version = 2;[m
[32m+[m[32m  // Optional sequence accession.[m
[32m+[m[32m  optional string sequence_accession = 3;[m
[32m+[m[32m  // Optional sequence version.[m
[32m+[m[32m  optional int32 sequence_version = 4;[m
[32m+[m[32m  // Optional description of the change.[m
[32m+[m[32m  optional string change = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A structure to represent an HGVS expression for a nucleotide sequence[m
[32m+[m[32m// variant, along with the predicted protein change and the predicted molecular[m
[32m+[m[32m// consequence. Also used to represent only the protein change if that is all that has[m
[32m+[m[32m// been reported.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeHVSExpression` in XSD.[m
[32m+[m[32mmessage HgvsExpression {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Optional nucleotide sequence expression.[m
[32m+[m[32m  optional HgvsNucleotideExpression nucleotide_expression = 1;[m
[32m+[m[32m  // Optional protein sequence expression.[m
[32m+[m[32m  optional HgvsProteinExpression protein_expression = 2;[m
[32m+[m[32m  // List of molecular consequences.[m
[32m+[m[32m  repeated Xref molecular_consequences = 3;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Type of HGVS expression.[m
[32m+[m[32m  HgvsType type = 4;[m
[32m+[m[32m  // Optional assembly.[m
[32m+[m[32m  optional string assembly = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// // Phenotype list details.[m
[32m+[m[32m// message PhenotypeListDetailsType {[m
[32m+[m[32m//   // Local type for phenotype.[m
[32m+[m[32m//   message Phenotype {[m
[32m+[m[32m//     message XRefList {[m
[32m+[m[32m//       repeated Xref xrefs = 1;[m
[32m+[m[32m//     }[m
[32m+[m
[32m+[m[32m//     /* nested elements */[m
[32m+[m[32m//     repeated XRefList xref_list = 1;[m
[32m+[m
[32m+[m[32m//     /* attributes */[m
[32m+[m
[32m+[m[32m//     // `name` attribute[m
[32m+[m[32m//     string name = 2;[m
[32m+[m[32m//     // `target_id` attribute[m
[32m+[m[32m//     int64 target_id = 3;[m
[32m+[m[32m//     // `AffectedStatus` attribute.[m
[32m+[m[32m//     optional string affected_status = 4;[m
[32m+[m[32m//   }[m
[32m+[m
[32m+[m[32m//   /* nested elements */[m
[32m+[m
[32m+[m[32m//   // List phenotypes.[m
[32m+[m[32m//   repeated Phenotype phenotypes = 1;[m
[32m+[m[32m//   // List of phenotype details.[m
[32m+[m[32m//   repeated PhenotypeDetails phenotype_details = 2;[m
[32m+[m
[32m+[m[32m//   /* attributes */[m
[32m+[m
[32m+[m[32m//   // Type of the phenotype set.[m
[32m+[m[32m//   PhenotypeSetType phenotype_set_type = 3;[m
[32m+[m[32m// }[m
[32m+[m
[32m+[m[32m// Description of a software.[m
[32m+[m[32mmessage Software {[m
[32m+[m[32m  // Name of the software.[m
[32m+[m[32m  string name = 1;[m
[32m+[m[32m  // Version of the software; optional.[m
[32m+[m[32m  optional string version = 2;[m
[32m+[m[32m  // Purpose of the software; optional.[m
[32m+[m[32m  optional string purpose = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of the history of a record.[m
[32m+[m[32m//[m
[32m+[m[32m// Called ``typeDescriptionHistory`` in XSD.[m
[32m+[m[32mmessage DescriptionHistory {[m
[32m+[m[32m  // The pathogenicity description.[m
[32m+[m[32m  string description = 1;[m
[32m+[m[32m  // The date of the description.[m
[32m+[m[32m  optional google.protobuf.Timestamp dated = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Entry in an element set.[m
[32m+[m[32m//[m
[32m+[m[32m// Called ``SetElementSetType`` in XSD.[m
[32m+[m[32mmessage GenericSetElement {[m
[32m+[m[32m  // The element's value.[m
[32m+[m[32m  string value = 1;[m
[32m+[m[32m  // The element's type.[m
[32m+[m[32m  string type = 2;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 3;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 4;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Common type for an entry in a set of attributes.[m
[32m+[m[32m//[m
[32m+[m[32m// Called ``typeAttributeSet`` in XSD.[m
[32m+[m[32mmessage AttributeSetElement {[m
[32m+[m[32m  // Extend the BaseAttribute with a `type` field.[m
[32m+[m[32m  message Attribute {[m
[32m+[m[32m    // The base value.[m
[32m+[m[32m    BaseAttribute base = 1;[m
[32m+[m[32m    // The type of the attribute.[m
[32m+[m[32m    string type = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // The attribute value.[m
[32m+[m[32m  Attribute attribute = 1;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 2;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 3;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Type to describe traits in various places.[m
[32m+[m[32mmessage Trait {[m
[32m+[m[32m  // Local type for trait relationship.[m
[32m+[m[32m  message TraitRelationship {[m
[32m+[m[32m    // Local enumeration for trait types.[m
[32m+[m[32m    //[m
[32m+[m[32m    // NB: only DrugResponseAndDisease is used in the XML.[m
[32m+[m[32m    enum Type {[m
[32m+[m[32m      // unspecified trait type[m
[32m+[m[32m      TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m      // corresponds to "phenotype"[m
[32m+[m[32m      TYPE_PHENOTYPE = 1;[m
[32m+[m[32m      // corresponds to "Subphenotype"[m
[32m+[m[32m      TYPE_SUBPHENOTYPE = 2;[m
[32m+[m[32m      // corresponds to "DrugResponseAndDisease"[m
[32m+[m[32m      TYPE_DRUG_RESPONSE_AND_DISEASE = 3;[m
[32m+[m[32m      // corresponds to "co-occuring condition"[m
[32m+[m[32m      TYPE_CO_OCCURING_CONDITION = 4;[m
[32m+[m[32m      // corresponds to "Finding member"[m
[32m+[m[32m      TYPE_FINDING_MEMBER = 5;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    /* nested elements */[m
[32m+[m
[32m+[m[32m    // names[m
[32m+[m[32m    //[m
[32m+[m[32m    // NB: in XSD this is explictely given as unbounded but XML always has[m
[32m+[m[32m    // one element[m
[32m+[m[32m    repeated GenericSetElement names = 1;[m
[32m+[m[32m    // symbols (NB: never occur in the XML)[m
[32m+[m[32m    repeated GenericSetElement symbols = 2;[m
[32m+[m[32m    // attributes (NB: never occur in the XML)[m
[32m+[m[32m    repeated AttributeSetElement attributes = 3;[m
[32m+[m[32m    // Citation list.[m
[32m+[m[32m    repeated Citation citations = 4;[m
[32m+[m[32m    // Xref list.[m
[32m+[m[32m    repeated Xref xrefs = 5;[m
[32m+[m[32m    // Comment list.[m
[32m+[m[32m    repeated Comment comments = 6;[m
[32m+[m[32m    // Sources[m
[32m+[m[32m    repeated string sources = 7;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // Trait type.[m
[32m+[m[32m    Type type = 8;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // names[m
[32m+[m[32m  repeated GenericSetElement names = 1;[m
[32m+[m[32m  // symbols[m
[32m+[m[32m  repeated GenericSetElement symbols = 2;[m
[32m+[m[32m  // attributes[m
[32m+[m[32m  repeated AttributeSetElement attributes = 3;[m
[32m+[m[32m  // Trait relationships[m
[32m+[m[32m  repeated TraitRelationship trait_relationships = 4;[m
[32m+[m[32m  // Citation list.[m
[32m+[m[32m  repeated Citation citations = 5;[m
[32m+[m[32m  // Xref list.[m
[32m+[m[32m  repeated Xref xrefs = 6;[m
[32m+[m[32m  // Comment list.[m
[32m+[m[32m  repeated Comment comments = 7;[m
[32m+[m[32m  // Sources[m
[32m+[m[32m  repeated string sources = 8;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Describes an indication.[m
[32m+[m[32m//[m
[32m+[m[32m// NB: Called "IndicationType" in the XSD.[m
[32m+[m[32mmessage Indication {[m
[32m+[m[32m  // Enumeration for the indication type.[m
[32m+[m[32m  enum Type {[m
[32m+[m[32m    // unspecified indication type.[m
[32m+[m[32m    TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "Indication"[m
[32m+[m[32m    TYPE_INDICATION = 1;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Represents the value for the test indication as a name of a trait.[m
[32m+[m[32m  repeated Trait traits = 1;[m
[32m+[m[32m  // List of names.[m
[32m+[m[32m  repeated GenericSetElement names = 2;[m
[32m+[m[32m  // List of attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 3;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 4;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 5;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 6;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // The type of indication.[m
[32m+[m[32m  Type type = 7;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A set of ``Trait`` objects.[m
[32m+[m[32m//[m
[32m+[m[32m// NB: Called "ClinAsserTraitSetType" in the XSD.[m
[32m+[m[32mmessage TraitSet {[m
[32m+[m[32m  // Local type.[m
[32m+[m[32m  enum Type {[m
[32m+[m[32m    // unspecified type[m
[32m+[m[32m    TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "Disease"[m
[32m+[m[32m    TYPE_DISEASE = 1;[m
[32m+[m[32m    // corresponds to "DrugResponse"[m
[32m+[m[32m    TYPE_DRUG_RESPONSE = 2;[m
[32m+[m[32m    // corresponds to "Finding"[m
[32m+[m[32m    TYPE_FINDING = 3;[m
[32m+[m[32m    // corresponds to "PhenotypeInstruction"[m
[32m+[m[32m    TYPE_PHENOTYPE_INSTRUCTION = 4;[m
[32m+[m[32m    // corresponds to "TraitChoice"[m
[32m+[m[32m    TYPE_TRAIT_CHOICE = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The traits.[m
[32m+[m[32m  repeated Trait traits = 1;[m
[32m+[m[32m  // The names.[m
[32m+[m[32m  repeated GenericSetElement names = 2;[m
[32m+[m[32m  // The symbols.[m
[32m+[m[32m  repeated GenericSetElement symbols = 3;[m
[32m+[m[32m  // The attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 4;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 5;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 6;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 7;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // The type.[m
[32m+[m[32m  Type type = 8;[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 9;[m
[32m+[m[32m  // ID.[m
[32m+[m[32m  optional int64 id = 10;[m
[32m+[m[32m  // Whether contributes to aggregate classification.[m
[32m+[m[32m  optional bool contributes_to_aggregate_classification = 11;[m
[32m+[m[32m  // Lower level of evidence.[m
[32m+[m[32m  optional bool lower_level_of_evidence = 12;[m
[32m+[m[32m  // Explanation of or multiple conditions.[m
[32m+[m[32m  optional string multiple_condition_explanation = 13;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Aggregated germline classification info.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to ``typeAggregatedGermlineClassification`` in XSD.[m
[32m+[m[32mmessage AggregatedGermlineClassification {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The aggregate review status based on all germline submissions[m
[32m+[m[32m  // for this record.[m
[32m+[m[32m  AggregateGermlineReviewStatus review_status = 1;[m
[32m+[m[32m  // We are not providing an enumeration for the values we report[m
[32m+[m[32m  // for germline classification within the xsd. Details are in[m
[32m+[m[32m  // https://github.com/ncbi/clinvar/ClassificationOnClinVar.md[m
[32m+[m[32m  //[m
[32m+[m[32m  optional string description = 2;[m
[32m+[m[32m  // Explanation is used only when the description is 'conflicting[m
[32m+[m[32m  // data from submitters' The element summarizes the conflict.[m
[32m+[m[32m  optional Comment explanation = 3;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 4;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 5;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 6;[m
[32m+[m
[32m+[m[32m  // History information.[m
[32m+[m[32m  repeated DescriptionHistory history_records = 7;[m
[32m+[m[32m  // List of conditions.[m
[32m+[m[32m  repeated TraitSet conditions = 8;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 9;[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp date_created = 10;[m
[32m+[m[32m  // Date of most recent submission.[m
[32m+[m[32m  google.protobuf.Timestamp most_recent_submission = 11;[m
[32m+[m[32m  // Number of submitters.[m
[32m+[m[32m  optional int32 number_of_submitters = 12;[m
[32m+[m[32m  // Number of submissions.[m
[32m+[m[32m  optional int32 number_of_submissions = 13;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Aggregated somatic clinical impact info.[m
[32m+[m[32mmessage AggregatedSomaticClinicalImpact {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The aggregate review status based on all somatic clinical[m
[32m+[m[32m  // impact submissions for this record.[m
[32m+[m[32m  AggregateSomaticClinicalImpactReviewStatus review_status = 1;[m
[32m+[m[32m  // We are not providing an enumeration for the values we report[m
[32m+[m[32m  // for somatic clinical impact classification within the xsd. Details are in[m
[32m+[m[32m  // https://github.com/ncbi/clinvar/ClassificationOnClinVar.md[m
[32m+[m[32m  optional string description = 2;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 3;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 4;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 5;[m
[32m+[m
[32m+[m[32m  // History information.[m
[32m+[m[32m  repeated DescriptionHistory history_records = 6;[m
[32m+[m[32m  // List of conditions.[m
[32m+[m[32m  repeated TraitSet conditions = 7;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 8;[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp date_created = 9;[m
[32m+[m[32m  // Date of most recent submission.[m
[32m+[m[32m  google.protobuf.Timestamp most_recent_submission = 10;[m
[32m+[m[32m  // Number of submitters.[m
[32m+[m[32m  optional int32 number_of_submitters = 11;[m
[32m+[m[32m  // Number of submissions.[m
[32m+[m[32m  optional int32 number_of_submissions = 12;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Aggregated oncogenicity classification info.[m
[32m+[m[32mmessage AggregatedOncogenicityClassification {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The aggregate review status based on all somatic clinical[m
[32m+[m[32m  // impact submissions for this record.[m
[32m+[m[32m  AggregateOncogenicityReviewStatus review_status = 1;[m
[32m+[m[32m  // We are not providing an enumeration for the values we report[m
[32m+[m[32m  // for somatic clinical impact classification within the xsd. Details are in[m
[32m+[m[32m  // https://github.com/ncbi/clinvar/ClassificationOnClinVar.md[m
[32m+[m[32m  optional string description = 2;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 3;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 4;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 5;[m
[32m+[m
[32m+[m[32m  // History information.[m
[32m+[m[32m  repeated DescriptionHistory history_records = 6;[m
[32m+[m[32m  // List of conditions.[m
[32m+[m[32m  repeated TraitSet conditions = 7;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 8;[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp date_created = 9;[m
[32m+[m[32m  // Date of most recent submission.[m
[32m+[m[32m  google.protobuf.Timestamp most_recent_submission = 10;[m
[32m+[m[32m  // Number of submitters.[m
[32m+[m[32m  optional int32 number_of_submitters = 11;[m
[32m+[m[32m  // Number of submissions.[m
[32m+[m[32m  optional int32 number_of_submissions = 12;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Used to bundle different types of Classifications (germline,[m
[32m+[m[32m// oncogenic, somatic clinical impact) ; Supports summary as[m
[32m+[m[32m// well as submission details.[m
[32m+[m[32m//[m
[32m+[m[32m// NB: called "typeAggregateClassificationSet" in XSD.[m
[32m+[m[32mmessage AggregateClassificationSet {[m
[32m+[m[32m  // The aggregate germline classification.[m
[32m+[m[32m  optional AggregatedGermlineClassification germline_classification = 1;[m
[32m+[m[32m  // The aggregate somatic clinical impact.[m
[32m+[m[32m  repeated AggregatedSomaticClinicalImpact somatic_clinical_impacts = 2;[m
[32m+[m[32m  // The aggregate oncogenicity classification.[m
[32m+[m[32m  optional AggregatedOncogenicityClassification oncogenicity_classification = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Describes the clinical significance of a variant.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `ClinicalSignificanceType` in XSD.[m
[32m+[m[32mmessage ClinicalSignificance {[m
[32m+[m[32m  /* contained elements */[m
[32m+[m
[32m+[m[32m  // The optional review status.[m
[32m+[m[32m  optional SubmitterReviewStatus review_status = 1;[m
[32m+[m[32m  // Structure used to support old data of AlleleDescriptionSet[m
[32m+[m[32m  // within Co-occurenceSet.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: unused in XML[m
[32m+[m[32m  optional string description = 2;[m
[32m+[m[32m  // Optional explanatory comment.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Explanation is used only when the description is 'conflicting[m
[32m+[m[32m  // data from submitters' The element summarizes the conflict.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: unused in XML[m
[32m+[m[32m  optional Comment explanation = 3;[m
[32m+[m[32m  // Optional list of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 4;[m
[32m+[m[32m  // Optional list of citations.[m
[32m+[m[32m  repeated Citation citations = 5;[m
[32m+[m[32m  // Optional list of comments.[m
[32m+[m[32m  repeated Comment comments = 6;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: unused in XML[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 7;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This is to be used within co-occurrence set.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeAlleleDescr` in XSD.[m
[32m+[m[32mmessage AlleleDescription {[m
[32m+[m[32m  // Enumeration for relative orientation.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: unused in XML[m
[32m+[m[32m  enum RelativeOrientation {[m
[32m+[m[32m    // unspecified relative orientation[m
[32m+[m[32m    RELATIVE_ORIENTATION_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "cis"[m
[32m+[m[32m    RELATIVE_ORIENTATION_CIS = 1;[m
[32m+[m[32m    // corresponds to "trans"[m
[32m+[m[32m    RELATIVE_ORIENTATION_TRANS = 2;[m
[32m+[m[32m    // corresponds to "unknown"[m
[32m+[m[32m    RELATIVE_ORIENTATION_UNKNOWN = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // The name of the allele.[m
[32m+[m[32m  string name = 1;[m
[32m+[m[32m  // Optional relative orientation.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: Unused in XML[m
[32m+[m[32m  optional RelativeOrientation relative_orientation = 2;[m
[32m+[m[32m  // Optional zygosity.[m
[32m+[m[32m  optional Zygosity zygosity = 3;[m
[32m+[m[32m  // Optional clinical significance.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Corresponds to `ClinicalSignificanceType` in XSD.[m
[32m+[m[32m  optional ClinicalSignificance clinical_significance = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A structure to support reporting of an accession, its version, the[m
[32m+[m[32m// date its status changed, and text describing that change.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeRecordHistory` in XSD.[m
[32m+[m[32mmessage RecordHistory {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Optional comment on the history record.[m
[32m+[m[32m  optional Comment comment = 1;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // The accession.[m
[32m+[m[32m  string accession = 2;[m
[32m+[m[32m  // The version.[m
[32m+[m[32m  int32 version = 3;[m
[32m+[m[32m  // The date the record.[m
[32m+[m[32m  google.protobuf.Timestamp date_changed = 4;[m
[32m+[m[32m  // Attribute @VaritionID is only populated for VCV, where @Accession[m
[32m+[m[32m  // is like VCV000000009[m
[32m+[m[32m  optional int64 variation_id = 5;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Report classification of a variant for a SCV.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `ClassificationTypeSCV` in XSD.[m
[32m+[m[32mmessage ClassificationScv {[m
[32m+[m[32m  // Clinical impact of a somatic variatn.[m
[32m+[m[32m  message SomaticClinicalImpact {[m
[32m+[m[32m    // The somatic clinical impact value.[m
[32m+[m[32m    string value = 1;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // Type of the clinical impact assertion.[m
[32m+[m[32m    optional string clinical_impact_assertion_type = 2;[m
[32m+[m[32m    // Clinical impact significance.[m
[32m+[m[32m    optional string clinical_impact_clinical_significance = 3;[m
[32m+[m[32m    // Name of the drug for the therapeutic assertion.[m
[32m+[m[32m    optional string drug_for_therapeutic_assertion = 4;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Classification score description.[m
[32m+[m[32m  message ClassificationScore {[m
[32m+[m[32m    // The score's value.[m
[32m+[m[32m    double value = 1;[m
[32m+[m[32m    // The score's type; optional.[m
[32m+[m[32m    optional string type = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The field's review status.[m
[32m+[m[32m  SubmitterReviewStatus review_status = 1;[m
[32m+[m[32m  // The germline classification; mutually exlusive with `somatic_clinical_impact`[m
[32m+[m[32m  // and `oncogenicity_classification`.[m
[32m+[m[32m  optional string germline_classification = 2;[m
[32m+[m[32m  // Information on the clinical impact; mutually exlusive with `germline_classification`[m
[32m+[m[32m  // and `oncogenicity_classification`.[m
[32m+[m[32m  optional SomaticClinicalImpact somatic_clinical_impacts = 3;[m
[32m+[m[32m  // The oncogenicity classification; mutually exlusive with `germline_classification`[m
[32m+[m[32m  // and `oncogenicity_classification`.[m
[32m+[m[32m  optional string oncogenicity_classification = 4;[m
[32m+[m[32m  // Optional explanation of classification.[m
[32m+[m[32m  optional string explanation_of_classification = 5;[m
[32m+[m[32m  // List of classification scores.[m
[32m+[m[32m  repeated ClassificationScore classification_scores = 6;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 7;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 8;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 9;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of last evaluation.[m
[32m+[m[32m  optional google.protobuf.Timestamp date_last_evaluated = 10;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Set of attributes for the primary submitter. Any addtional submitters[m
[32m+[m[32m// are captured in the AdditionalSubmitters element.[m
[32m+[m[32mmessage SubmitterIdentifiers {[m
[32m+[m[32m  // Name of submitter.[m
[32m+[m[32m  string submitter_name = 1;[m
[32m+[m[32m  // Organization ID.[m
[32m+[m[32m  int64 org_id = 2;[m
[32m+[m[32m  // Organization category.[m
[32m+[m[32m  string org_category = 3;[m
[32m+[m[32m  // Organization abbreviation; optional.[m
[32m+[m[32m  optional string org_abbreviation = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Definition of a species.[m
[32m+[m[32mmessage Species {[m
[32m+[m[32m  // Name of the species.[m
[32m+[m[32m  string name = 1;[m
[32m+[m[32m  // Optional taxonomy ID.[m
[32m+[m[32m  optional int32 taxonomy_id = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Interpreted condition for an RCV record.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeRCVInterpretedCondition` in XSD.[m
[32m+[m[32mmessage ClassifiedCondition {[m
[32m+[m[32m  // Condition value.[m
[32m+[m[32m  string value = 1;[m
[32m+[m[32m  // Database name.[m
[32m+[m[32m  optional string db = 2;[m
[32m+[m[32m  // Identifier in database.[m
[32m+[m[32m  optional string id = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Inside ClinicalAssertion, a structure to support reporting of an[m
[32m+[m[32m// accession, its version, the date its status changed, and text describing that[m
[32m+[m[32m// change.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeClinicalAssertionRecordHistory` in XSD.[m
[32m+[m[32mmessage ClinicalAssertionRecordHistory {[m
[32m+[m[32m  // Optional comment.[m
[32m+[m[32m  optional Comment comment = 1;[m
[32m+[m[32m  // Accession.[m
[32m+[m[32m  string accession = 2;[m
[32m+[m[32m  // Optional version.[m
[32m+[m[32m  optional int32 version = 3;[m
[32m+[m[32m  // Date of the record.[m
[32m+[m[32m  google.protobuf.Timestamp date_changed = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of a functional consequence.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeFunctionalConsequence` in XSD.[m
[32m+[m[32mmessage FunctionalConsequence {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 1;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 2;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 3;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Value of functional consequence.[m
[32m+[m[32m  string value = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Type for the tag `GeneralCitations`.[m
[32m+[m[32mmessage GeneralCitations {[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 1;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This refers to the zygosity of the variant being asserted.[m
[32m+[m[32mmessage Cooccurrence {[m
[32m+[m[32m  // Optional zygosity.[m
[32m+[m[32m  optional Zygosity zygosity = 1;[m
[32m+[m[32m  // The allele descriptions.[m
[32m+[m[32m  repeated AlleleDescription allele_descriptions = 2;[m
[32m+[m[32m  // The optional count.[m
[32m+[m[32m  optional int32 count = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A structure to support reporting the name of a submitter, its[m
[32m+[m[32m// organization id, and its abbreviation and type.[m
[32m+[m[32mmessage Submitter {[m
[32m+[m[32m  // Enumeration of submitter kind.[m
[32m+[m[32m  enum Type {[m
[32m+[m[32m    // unspecified submitter type[m
[32m+[m[32m    TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "primary"[m
[32m+[m[32m    TYPE_PRIMARY = 1;[m
[32m+[m[32m    // corresponds to "secondary"[m
[32m+[m[32m    TYPE_SECONDARY = 2;[m
[32m+[m[32m    // corresponds to "behalf"[m
[32m+[m[32m    TYPE_BEHALF = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // The submitter's identifier.[m
[32m+[m[32m  SubmitterIdentifiers submitter_identifiers = 1;[m
[32m+[m[32m  // The submitter type.[m
[32m+[m[32m  Type type = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m
[32m+[m[32m// Haploinsufficiency/Triplosensitivity of gene.[m
[32m+[m[32mmessage DosageSensitivity {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Value.[m
[32m+[m[32m  string value = 1;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Optional last evaluated date.[m
[32m+[m[32m  optional google.protobuf.Timestamp last_evaluated = 2;[m
[32m+[m[32m  // URL to ClinGen.[m
[32m+[m[32m  optional string clingen = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A name with an optional type.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeNames` in XSD.[m
[32m+[m[32mmessage OtherName {[m
[32m+[m[32m  // The name's value.[m
[32m+[m[32m  string value = 1;[m
[32m+[m[32m  // The name's type.[m
[32m+[m[32m  optional string type = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A structure to support reporting of an accession, its version, the[m
[32m+[m[32m// date it was deleted and a free-text summary of why it was deleted.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeDeletedSCV`.[m
[32m+[m[32mmessage DeletedScv {[m
[32m+[m[32m  // The accession.[m
[32m+[m[32m  string accession = 1;[m
[32m+[m[32m  // The version.[m
[32m+[m[32m  int32 version = 2;[m
[32m+[m[32m  // The date of deletion.[m
[32m+[m[32m  google.protobuf.Timestamp date_deleted = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// There can be multiple types of location, and the locations may have[m
[32m+[m[32m// identifiers in other databases.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeLocation` in XSD.[m
[32m+[m[32mmessage Location {[m
[32m+[m[32m  // Local type for sequence location.[m
[32m+[m[32m  message SequenceLocation {[m
[32m+[m[32m    // Local enum for the assembly status.[m
[32m+[m[32m    enum AssemblyStatus {[m
[32m+[m[32m      // unspecified assembly status[m
[32m+[m[32m      ASSEMBLY_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m      // corresponds to "current"[m
[32m+[m[32m      ASSEMBLY_STATUS_CURRENT = 1;[m
[32m+[m[32m      // corresponds to "previous"[m
[32m+[m[32m      ASSEMBLY_STATUS_PREVIOUS = 2;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // forDisplay value.[m
[32m+[m[32m    optional bool for_display = 1;[m
[32m+[m[32m    // Name of assembly.[m
[32m+[m[32m    string assembly = 2;[m
[32m+[m[32m    // Chromosomeof variant.[m
[32m+[m[32m    Chromosome chr = 3;[m
[32m+[m[32m    // Optional chromosome accession.[m
[32m+[m[32m    optional string accession = 4;[m
[32m+[m[32m    // Outer start position.[m
[32m+[m[32m    optional uint32 outer_start = 5;[m
[32m+[m[32m    // Inner start position.[m
[32m+[m[32m    optional uint32 inner_start = 6;[m
[32m+[m[32m    // Start position.[m
[32m+[m[32m    optional uint32 start = 7;[m
[32m+[m[32m    // Stop position.[m
[32m+[m[32m    optional uint32 stop = 8;[m
[32m+[m[32m    // Inner stop position.[m
[32m+[m[32m    optional uint32 inner_stop = 9;[m
[32m+[m[32m    // Outer stop position.[m
[32m+[m[32m    optional uint32 outer_stop = 10;[m
[32m+[m[32m    // Display start position.[m
[32m+[m[32m    optional uint32 display_start = 11;[m
[32m+[m[32m    // Display stop position.[m
[32m+[m[32m    optional uint32 display_stop = 12;[m
[32m+[m[32m    // Strand.[m
[32m+[m[32m    optional string strand = 13;[m
[32m+[m[32m    // Variant length.[m
[32m+[m[32m    optional uint32 variant_length = 14;[m
[32m+[m[32m    // Reference allele.[m
[32m+[m[32m    optional string reference_allele = 15;[m
[32m+[m[32m    // Alternate allele.[m
[32m+[m[32m    optional string alternate_allele = 16;[m
[32m+[m[32m    // Assembly accession version.[m
[32m+[m[32m    optional string assembly_accession_version = 17;[m
[32m+[m[32m    // Assembly status.[m
[32m+[m[32m    optional AssemblyStatus assembly_status = 18;[m
[32m+[m[32m    // Position in VCF.[m
[32m+[m[32m    optional uint32 position_vcf = 19;[m
[32m+[m[32m    // Reference allele in VCF.[m
[32m+[m[32m    optional string reference_allele_vcf = 20;[m
[32m+[m[32m    // Alternate allele in VCF.[m
[32m+[m[32m    optional string alternate_allele_vcf = 21;[m
[32m+[m[32m    // For display length.[m
[32m+[m[32m    optional uint32 for_display_length = 22;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Cytogenetic location is maintained independent of sequence[m
[32m+[m[32m  // location, and can be submitted or computed from the sequence location.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Between 0 and 4 entries.[m
[32m+[m[32m  repeated string cytogenetic_locations = 1;[m
[32m+[m[32m  // Location on a defined sequence, with reference and alternate[m
[32m+[m[32m  // allele, and start /stop values depending on the specificity with which the[m
[32m+[m[32m  // variant location is known. The number system of offset 1, and[m
[32m+[m[32m  // right-justified to be consistent with HGVS location data.[m
[32m+[m[32m  repeated SequenceLocation sequence_locations = 2;[m
[32m+[m[32m  // The location of the variant relative to features within the gene.[m
[32m+[m[32m  repeated string gene_locations = 3;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 4;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of a SCV.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "typeSCV" in XSD.[m
[32m+[m[32mmessage Scv {[m
[32m+[m[32m  // Optional title.[m
[32m+[m[32m  optional string title = 1;[m
[32m+[m[32m  // Accession.[m
[32m+[m[32m  string accession = 2;[m
[32m+[m[32m  // Version.[m
[32m+[m[32m  int32 version = 3;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// // Description of a list of indications.[m
[32m+[m[32m// //[m
[32m+[m[32m// // Corresponds to `IndicationListType` in XSD.[m
[32m+[m[32m// message Indications {[m
[32m+[m[32m//   // The indication may be a set of phenotypic descriptions.[m
[32m+[m[32m//   message Indication {[m
[32m+[m[32m//     // Xrefs.[m
[32m+[m[32m//     repeated Xref xrefs = 1;[m
[32m+[m[32m//     // Name of the indication.[m
[32m+[m[32m//     string name = 2;[m
[32m+[m[32m//     // Target ID.[m
[32m+[m[32m//     int64 target_id = 3;[m
[32m+[m[32m//   }[m
[32m+[m
[32m+[m[32m//   // Type of the phenotype.[m
[32m+[m[32m//   PhenotypeSetType phenotype_set_type = 1;[m
[32m+[m[32m// }[m
[32m+[m
[32m+[m[32m// // Description of a pharma.[m
[32m+[m[32m// message PharmaType {[m
[32m+[m[32m//   // Local type for drug response.[m
[32m+[m[32m//   message DrugResponse {[m
[32m+[m[32m//     // // The phenotype details.[m
[32m+[m[32m//     // repeated PhenotypeListDetailsType phenotype_details = 1;[m
[32m+[m[32m//     // Xref list.[m
[32m+[m[32m//     repeated Xref xrefs = 1;[m
[32m+[m[32m//     // Name of drug.[m
[32m+[m[32m//     string drug_name = 2;[m
[32m+[m[32m//     // Target ID.[m
[32m+[m[32m//     int64 target_id = 3;[m
[32m+[m[32m//   }[m
[32m+[m
[32m+[m[32m//   // Drug responses.[m
[32m+[m[32m//   repeated DrugResponse drug_responses = 1;[m
[32m+[m[32m// }[m
[32m+[m
[32m+[m[32m// // Description of a single method.[m
[32m+[m[32m// //[m
[32m+[m[32m// // Corresponds to `typeMethodRefs` in XSD.[m
[32m+[m[32m// message MethodWithXrefs {[m
[32m+[m[32m//   // Name of the method.[m
[32m+[m[32m//   string method_name = 1;[m
[32m+[m[32m//   // Xrefs.[m
[32m+[m[32m//   repeated Xref xrefs = 2;[m
[32m+[m[32m// }[m
[32m+[m
[32m+[m[32m// Structure to describe attributes of any family data in an observation.[m
[32m+[m[32m// If the details of the number of families and the de-identified pedigree id are not[m
[32m+[m[32m// available, use FamilyHistory to describe what type of family data is available. Can[m
[32m+[m[32m// also be used to report 'Yes' or 'No' if there are no more details.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "FamilyInfo" in XSD.[m
[32m+[m[32mmessage FamilyData {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Optional family history.[m
[32m+[m[32m  optional string family_history = 1;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Number of families.[m
[32m+[m[32m  optional int32 num_families = 2;[m
[32m+[m[32m  // Number of families with variant.[m
[32m+[m[32m  optional int32 num_families_with_variant = 3;[m
[32m+[m[32m  // Number of families with segregation observed.[m
[32m+[m[32m  optional int32 num_families_with_segregation_observed = 4;[m
[32m+[m[32m  // Pedigree ID.[m
[32m+[m[32m  optional string pedigree_id = 5;[m
[32m+[m[32m  // Segregation oberved (yes, no, number)[m
[32m+[m[32m  optional string segregation_observed = 6;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Description of a sample.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeSample` in XSD.[m
[32m+[m[32mmessage Sample {[m
[32m+[m[32m  // Local type for sample description.[m
[32m+[m[32m  message SampleDescription {[m
[32m+[m[32m    // Description of sample.[m
[32m+[m[32m    optional Comment description = 1;[m
[32m+[m[32m    // Citation.[m
[32m+[m[32m    optional Citation citation = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for presence in normal tissue.[m
[32m+[m[32m  enum SomaticVariantInNormalTissue {[m
[32m+[m[32m    // unspecified presence[m
[32m+[m[32m    SOMATIC_VARIANT_IN_NORMAL_TISSUE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "present"[m
[32m+[m[32m    SOMATIC_VARIANT_IN_NORMAL_TISSUE_PRESENT = 1;[m
[32m+[m[32m    // corresponds to "absent"[m
[32m+[m[32m    SOMATIC_VARIANT_IN_NORMAL_TISSUE_ABSENT = 2;[m
[32m+[m[32m    // corresponds to "not tested"[m
[32m+[m[32m    SOMATIC_VARIANT_IN_NORMAL_TISSUE_NOT_TESTED = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for an age unit.[m
[32m+[m[32m  enum AgeUnit {[m
[32m+[m[32m    // unspecified age unit[m
[32m+[m[32m    AGE_UNIT_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "days"[m
[32m+[m[32m    AGE_UNIT_DAYS = 1;[m
[32m+[m[32m    // corresponds to "weeks"[m
[32m+[m[32m    AGE_UNIT_WEEKS = 2;[m
[32m+[m[32m    // corresponds to "months"[m
[32m+[m[32m    AGE_UNIT_MONTHS = 3;[m
[32m+[m[32m    // corresponds to "years"[m
[32m+[m[32m    AGE_UNIT_YEARS = 4;[m
[32m+[m[32m    // corresponds to "weeks gestation"[m
[32m+[m[32m    AGE_UNIT_WEEKS_GESTATION = 5;[m
[32m+[m[32m    // corresponds to "months gestation"[m
[32m+[m[32m    AGE_UNIT_MONTHS_GESTATION = 6;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for an age type.[m
[32m+[m[32m  enum AgeType {[m
[32m+[m[32m    // unspecified age type[m
[32m+[m[32m    AGE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "minimum"[m
[32m+[m[32m    AGE_TYPE_MINIMUM = 1;[m
[32m+[m[32m    // corresponds to "maximum"[m
[32m+[m[32m    AGE_TYPE_MAXIMUM = 2;[m
[32m+[m[32m    // corresponds to "single"[m
[32m+[m[32m    AGE_TYPE_SINGLE = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for the affected status.[m
[32m+[m[32m  enum AffectedStatus {[m
[32m+[m[32m    // unspecified affected status[m
[32m+[m[32m    AFFECTED_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "yes"[m
[32m+[m[32m    AFFECTED_STATUS_YES = 1;[m
[32m+[m[32m    // corresponds to "no"[m
[32m+[m[32m    AFFECTED_STATUS_NO = 2;[m
[32m+[m[32m    // corresponds to "not provided"[m
[32m+[m[32m    AFFECTED_STATUS_NOT_PROVIDED = 3;[m
[32m+[m[32m    // corresponds to "unknown"[m
[32m+[m[32m    AFFECTED_STATUS_UNKNOWN = 4;[m
[32m+[m[32m    // corresponds to "not applicable"[m
[32m+[m[32m    AFFECTED_STATUS_NOT_APPLICABLE = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for an age.[m
[32m+[m[32m  message Age {[m
[32m+[m[32m    // The age value.[m
[32m+[m[32m    int32 value = 1;[m
[32m+[m[32m    // The age unit.[m
[32m+[m[32m    AgeUnit unit = 2;[m
[32m+[m[32m    // The age type.[m
[32m+[m[32m    AgeType type = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for gender.[m
[32m+[m[32m  enum Gender {[m
[32m+[m[32m    // unspecified gender[m
[32m+[m[32m    GENDER_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "male"[m
[32m+[m[32m    GENDER_MALE = 1;[m
[32m+[m[32m    // corresponds to "female"[m
[32m+[m[32m    GENDER_FEMALE = 2;[m
[32m+[m[32m    // corresponds to "mixed"[m
[32m+[m[32m    GENDER_MIXED = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for SourceType.[m
[32m+[m[32m  enum SourceType {[m
[32m+[m[32m    // unspecified source type[m
[32m+[m[32m    SOURCE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "submitter-generated"[m
[32m+[m[32m    SOURCE_TYPE_SUBMITTER_GENERATED = 1;[m
[32m+[m[32m    // corresponds to "data mining"[m
[32m+[m[32m    SOURCE_TYPE_DATA_MINING = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // The sample description.[m
[32m+[m[32m  optional SampleDescription sample_description = 1;[m
[32m+[m[32m  // The sample origin.[m
[32m+[m[32m  optional Origin origin = 2;[m
[32m+[m[32m  // Sample ethnicity.[m
[32m+[m[32m  optional string ethnicity = 3;[m
[32m+[m[32m  // Sample geographic origin.[m
[32m+[m[32m  optional string geographic_origin = 4;[m
[32m+[m[32m  // Sample tissue.[m
[32m+[m[32m  optional string tissue = 5;[m
[32m+[m[32m  // Presence of variant in normal tissue.[m
[32m+[m[32m  optional SomaticVariantInNormalTissue somatic_variant_in_normal_tissue = 6;[m
[32m+[m[32m  // Somatic variant allele fraction.[m
[32m+[m[32m  optional string somatic_variant_allele_fraction = 7;[m
[32m+[m[32m  // Cell line name.[m
[32m+[m[32m  optional string cell_line = 8;[m
[32m+[m[32m  // Species.[m
[32m+[m[32m  optional Species species = 9;[m
[32m+[m[32m  // Age (range), max. size of 2.[m
[32m+[m[32m  repeated Age ages = 10;[m
[32m+[m[32m  // Strain.[m
[32m+[m[32m  optional string strain = 11;[m
[32m+[m[32m  // Affected status.[m
[32m+[m[32m  optional AffectedStatus affected_status = 12;[m
[32m+[m[32m  // Denominator, total individuals included in this observation set.[m
[32m+[m[32m  optional int32 numer_tested = 13;[m
[32m+[m[32m  // Denominator, total males included in this observation set.[m
[32m+[m[32m  optional int32 number_males = 14;[m
[32m+[m[32m  // Denominator, total females included in this observation set.[m
[32m+[m[32m  optional int32 number_females = 15;[m
[32m+[m[32m  // Denominator, total number chromosomes tested. Number affected[m
[32m+[m[32m  // and unaffected are captured in the element NumberObserved.[m
[32m+[m[32m  optional int32 number_chr_tested = 16;[m
[32m+[m[32m  // Gender should be used ONLY if explicit values are not[m
[32m+[m[32m  // available for number of males or females, and there is a need to indicate[m
[32m+[m[32m  // that the genders in the sample are known.[m
[32m+[m[32m  optional Gender gender = 17;[m
[32m+[m[32m  // Family information.[m
[32m+[m[32m  optional FamilyData family_data = 18;[m
[32m+[m[32m  // Optional proband ID.[m
[32m+[m[32m  optional string proband = 19;[m
[32m+[m[32m  // Optional indication.[m
[32m+[m[32m  optional Indication indication = 20;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 21;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 22;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 23;[m
[32m+[m[32m  // Source type.[m
[32m+[m[32m  optional SourceType source_type = 24;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Details of a method used to generate variant calls or predict/report[m
[32m+[m[32m// functional consequence. The name of the platform should represent a sequencer or an[m
[32m+[m[32m// array, e.g. sequencing or array , e.g. capillary, 454, Helicos, Solexa, SOLiD. This[m
[32m+[m[32m// structure should also be used if the method is 'Curation'.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `MethodType` in XSD.[m
[32m+[m[32mmessage Method {[m
[32m+[m[32m  // Local enumeration for result types.[m
[32m+[m[32m  enum ResultType {[m
[32m+[m[32m    // unspecified result type[m
[32m+[m[32m    RESULT_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "number of occurrences"[m
[32m+[m[32m    RESULT_TYPE_NUMBER_OF_OCCURRENCES = 1;[m
[32m+[m[32m    // corresponds to "p value"[m
[32m+[m[32m    RESULT_TYPE_P_VALUE = 2;[m
[32m+[m[32m    // corresponds to "odds ratio"[m
[32m+[m[32m    RESULT_TYPE_ODDS_RATIO = 3;[m
[32m+[m[32m    // corresponds to "variant call"[m
[32m+[m[32m    RESULT_TYPE_VARIANT_CALL = 4;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enumeration for SourceType.[m
[32m+[m[32m  enum SourceType {[m
[32m+[m[32m    // unspecified source type[m
[32m+[m[32m    SOURCE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "submitter-generated"[m
[32m+[m[32m    SOURCE_TYPE_SUBMITTER_GENERATED = 1;[m
[32m+[m[32m    // corresponds to "data mining"[m
[32m+[m[32m    SOURCE_TYPE_DATA_MINING = 2;[m
[32m+[m[32m    // corresponds to "data review"[m
[32m+[m[32m    SOURCE_TYPE_DATA_REVIEW = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for method attribute.[m
[32m+[m[32m  message MethodAttribute {[m
[32m+[m[32m    // Local enumeration of attribute type.[m
[32m+[m[32m    enum AttributeType {[m
[32m+[m[32m      // unspecified attribute type[m
[32m+[m[32m      ATTRIBUTE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m      // corresponds to "Location"[m
[32m+[m[32m      ATTRIBUTE_TYPE_LOCATION = 1;[m
[32m+[m[32m      // corresponds to "ControlsAppropriate"[m
[32m+[m[32m      ATTRIBUTE_TYPE_CONTROLS_APPROPRIATE = 2;[m
[32m+[m[32m      // corresponds to "MethodAppropriate"[m
[32m+[m[32m      ATTRIBUTE_TYPE_METHOD_APPROPRIATE = 3;[m
[32m+[m[32m      // corresponds to "TestName"[m
[32m+[m[32m      ATTRIBUTE_TYPE_TEST_NAME = 4;[m
[32m+[m[32m      // corresponds to "StructVarMethod"[m
[32m+[m[32m      ATTRIBUTE_TYPE_STRUCT_VAR_METHOD_TYPE = 5;[m
[32m+[m[32m      // corresponds to "ProbeAccession"[m
[32m+[m[32m      ATTRIBUTE_TYPE_PROBE_ACCESSION = 6;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The base value.[m
[32m+[m[32m    BaseAttribute base = 1;[m
[32m+[m[32m    // The attribute type.[m
[32m+[m[32m    AttributeType type = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for observation method attribute.[m
[32m+[m[32m  message ObsMethodAttribute {[m
[32m+[m[32m    // Local enumeration for attribute type.[m
[32m+[m[32m    enum AttributeType {[m
[32m+[m[32m      // unspecified attribute type[m
[32m+[m[32m      ATTRIBUTE_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m      // corresponds to "MethodResult"[m
[32m+[m[32m      ATTRIBUTE_TYPE_METHOD_RESULT = 1;[m
[32m+[m[32m      // corresponds to "TestingLaboratory"[m
[32m+[m[32m      ATTRIBUTE_TYPE_TESTING_LABORATORY = 2;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The base value.[m
[32m+[m[32m    BaseAttribute base = 1;[m
[32m+[m[32m    // The attribute type.[m
[32m+[m[32m    AttributeType type = 2;[m
[32m+[m[32m    // Optional comments.[m
[32m+[m[32m    repeated Comment comments = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Platform name.[m
[32m+[m[32m  optional string name_platform = 1;[m
[32m+[m[32m  // Platform type.[m
[32m+[m[32m  optional string type_platform = 2;[m
[32m+[m[32m  // Method purpose.[m
[32m+[m[32m  optional string purpose= 3;[m
[32m+[m[32m  // Method result type.[m
[32m+[m[32m  optional ResultType result_type = 4;[m
[32m+[m[32m  // Smallest reported.[m
[32m+[m[32m  optional string min_reported = 5;[m
[32m+[m[32m  // Largest reported.[m
[32m+[m[32m  optional string max_reported = 6;[m
[32m+[m[32m  // Reference standard.[m
[32m+[m[32m  optional string reference_standard = 7;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 8;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 9;[m
[32m+[m[32m  // Free text to enrich the description of the method and to[m
[32m+[m[32m  // provide information not captured in specific fields.[m
[32m+[m[32m  optional string description = 10;[m
[32m+[m[32m  // List of softwares used.[m
[32m+[m[32m  repeated Software software = 11;[m
[32m+[m[32m  // Source type.[m
[32m+[m[32m  optional SourceType source_type = 12;[m
[32m+[m[32m  // Method type.[m
[32m+[m[32m  MethodListType method_type = 13;[m
[32m+[m[32m  // Method attribute.[m
[32m+[m[32m  repeated MethodAttribute method_attributes = 14;[m
[32m+[m[32m  // ObsMethodAttribute is used to indicate an attribute specific[m
[32m+[m[32m  // to a particular method in conjunction with a particular observation .[m
[32m+[m[32m  repeated ObsMethodAttribute obs_method_attributes = 15;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This is a record per variant (Measure/@ID,AlleleID) as submitted for[m
[32m+[m[32m// accessioning in an SCV.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "typeAlleleSCV" in XSD.[m
[32m+[m[32mmessage AlleleScv {[m
[32m+[m[32m  // Local type for Gene.[m
[32m+[m[32m  message Gene {[m
[32m+[m[32m    /* nested elements */[m
[32m+[m
[32m+[m[32m    // Gene name.[m
[32m+[m[32m    optional string name = 1;[m
[32m+[m[32m    // Used to set key words for retrieval or[m
[32m+[m[32m    // display about a gene, such as genes listed by the[m
[32m+[m[32m    // ACMG guidelines.[m
[32m+[m[32m    repeated string properties = 2;[m
[32m+[m[32m    // Used for gene specific identifiers[m
[32m+[m[32m    // such as MIM number, Gene ID, HGNC ID, etc.[m
[32m+[m[32m    repeated Xref xrefs = 3;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // Optional gene symbol.[m
[32m+[m[32m    optional string symbol = 4;[m
[32m+[m[32m    // Relationship between gene and variant.[m
[32m+[m[32m    optional GeneVariantRelationship relationship_type = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for MolecularConsequence.[m
[32m+[m[32m  message MolecularConsequence {[m
[32m+[m[32m    /* nested elements */[m
[32m+[m
[32m+[m[32m    // Xref list.[m
[32m+[m[32m    repeated Xref xrefs = 1;[m
[32m+[m[32m    // Citation list.[m
[32m+[m[32m    repeated Citation citations = 2;[m
[32m+[m[32m    // Comment list.[m
[32m+[m[32m    repeated Comment comments = 3;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // RS id.[m
[32m+[m[32m    optional int64 rs = 4;[m
[32m+[m[32m    // Optional HGVS expression.[m
[32m+[m[32m    optional string hgvs = 5;[m
[32m+[m[32m    // Optional SO id.[m
[32m+[m[32m    optional string so_id = 6;[m
[32m+[m[32m    // Function.[m
[32m+[m[32m    string function = 7;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // 0 to many genes (and related data ) related to the allele[m
[32m+[m[32m  // being reported.[m
[32m+[m[32m  repeated Gene genes = 1;[m
[32m+[m[32m  // Name provided by the submitter.[m
[32m+[m[32m  repeated OtherName names = 2;[m
[32m+[m[32m  // Variant type.[m
[32m+[m[32m  optional string variant_type = 3;[m
[32m+[m[32m  // Location.[m
[32m+[m[32m  optional Location location = 4;[m
[32m+[m[32m  // List of other names.[m
[32m+[m[32m  repeated OtherName other_names = 5;[m
[32m+[m[32m  // Single letter representation of the amino acid change and its[m
[32m+[m[32m  // location.[m
[32m+[m[32m  repeated string protein_changes = 6;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 7;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 8;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 9;[m
[32m+[m[32m  // Currently redundant with the MolecularConsequence element of[m
[32m+[m[32m  // the HGVS element?[m
[32m+[m[32m  repeated MolecularConsequence molecular_consequences = 10;[m
[32m+[m[32m  // Functional consequences.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 11;[m
[32m+[m[32m  // Attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 12;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Allele ID.[m
[32m+[m[32m  optional int64 allele_id = 13;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This is a record of a haplotype in SCV.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeHaplotypeSCV` in XSD.[m
[32m+[m[32mmessage HaplotypeScv {[m
[32m+[m[32m  // The list of alleles in the haplotype.[m
[32m+[m[32m  repeated AlleleScv simple_alleles = 1;[m
[32m+[m[32m  // The preferred representation of the haplotype.[m
[32m+[m[32m  optional string name = 2;[m
[32m+[m[32m  // Names other than 'preferred' used for the haplotype.[m
[32m+[m[32m  repeated OtherName other_names = 3;[m
[32m+[m[32m  // Classification of the variant.[m
[32m+[m[32m  optional AggregateClassificationSet classification = 4;[m
[32m+[m[32m  // Functional consequences of the variant.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 5;[m
[32m+[m[32m  // List of attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 6;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 7;[m
[32m+[m[32m  // List of cross-references.[m
[32m+[m[32m  repeated Xref xrefs = 8;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 9;[m
[32m+[m
[32m+[m[32m  // Variation ID.[m
[32m+[m[32m  optional int64 variation_id = 10;[m
[32m+[m[32m  // Number of copies.[m
[32m+[m[32m  optional int32 number_of_copies = 11;[m
[32m+[m[32m  // Number of chromosomes.[m
[32m+[m[32m  optional int32 number_of_chromosomes = 12;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Used to report genotypes, be they simple or complex diplotypes.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "typeGenotypeSCV" in XSD.[m
[32m+[m[32mmessage GenotypeScv {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Simple alleles; mutually exclusive with `haplotypes`.[m
[32m+[m[32m  repeated AlleleScv simple_alleles = 1;[m
[32m+[m[32m  // Haplotype; mutually exclusive with `simple_alleles`.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Allows more than 2 haplotypes per genotype to support[m
[32m+[m[32m  // representation of ploidy.[m
[32m+[m[32m  repeated HaplotypeScv haplotypes = 2;[m
[32m+[m[32m  // Optional name.[m
[32m+[m[32m  optional string name = 3;[m
[32m+[m[32m  // Other names used for the genotype.[m
[32m+[m[32m  repeated OtherName other_names = 4;[m
[32m+[m[32m  // The variation type.[m
[32m+[m[32m  VariationType variation_type = 5;[m
[32m+[m[32m  // Functional consequences.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 6;[m
[32m+[m[32m  // Attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 7;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 8;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 9;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 10;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Variation ID.[m
[32m+[m[32m  optional int64 variation_id = 11;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// // Observation of one piece of evidence.[m
[32m+[m[32m// message typeEvidenceObservation {[m
[32m+[m[32m//   // // Method of data capture, not method of evaluation.[m
[32m+[m[32m//   // repeated MethodWithXrefs methods = 1;[m
[32m+[m[32m//   // Modes of inheritance.[m
[32m+[m[32m//   repeated string modes_of_inheritance = 1;[m
[32m+[m[32m//   // List of citations.[m
[32m+[m[32m//   repeated Citation citations = 2;[m
[32m+[m[32m//   // Comments.[m
[32m+[m[32m//   repeated Comment comments = 3;[m
[32m+[m[32m//   // // Observed phenotypes.[m
[32m+[m[32m//   // repeated PhenotypeListDetailsType observed_phenotypes = 5;[m
[32m+[m[32m//   // // Indications.[m
[32m+[m[32m//   // repeated Indications indications = 6;[m
[32m+[m[32m//   // The submitter's identifiers.[m
[32m+[m[32m//   repeated Submitter submitter_identifiers = 4;[m
[32m+[m[32m//   // Families.[m
[32m+[m[32m//   optional string families = 5;[m
[32m+[m[32m//   // Individuals.[m
[32m+[m[32m//   optional string individuals = 6;[m
[32m+[m[32m//   // Segregation.[m
[32m+[m[32m//   optional string segregations = 7;[m
[32m+[m[32m//   // Other gene.[m
[32m+[m[32m//   optional string other_gene = 8;[m
[32m+[m[32m//   // Same gene.[m
[32m+[m[32m//   optional string same_gene = 9;[m
[32m+[m[32m//   // Evident type.[m
[32m+[m[32m//   EvidenceType evidence_type = 10;[m
[32m+[m[32m//   // Allele frequency.[m
[32m+[m[32m//   optional string allele_frequency = 11;[m
[32m+[m[32m//   // Allele origin.[m
[32m+[m[32m//   optional string allele_origin = 12;[m
[32m+[m[32m//   // Ethnicity.[m
[32m+[m[32m//   optional string ethnicity = 13;[m
[32m+[m[32m//   // Geographic origin.[m
[32m+[m[32m//   optional string geographic_origin = 14;[m
[32m+[m[32m// }[m
[32m+[m
[32m+[m[32m// Documents in what populations or samples an allele or genotype has[m
[32m+[m[32m// been observed relative to the described trait. Summary observations can be[m
[32m+[m[32m// registered per submitted assertion, grouped by common citation, study type, origin,[m
[32m+[m[32m// ethnicity, tissue, cell line, and species data. Not all options are valid per study[m
[32m+[m[32m// type, but these will not be validated in the xsd.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `ObservationSet` in XSD.[m
[32m+[m[32mmessage ObservedIn {[m
[32m+[m[32m  // Local enum for the method type.[m
[32m+[m[32m  enum MethodType {[m
[32m+[m[32m    // unspecified method type[m
[32m+[m[32m    METHOD_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "literature only"[m
[32m+[m[32m    METHOD_TYPE_LITERATURE_ONLY = 1;[m
[32m+[m[32m    // corresponds to "reference population"[m
[32m+[m[32m    METHOD_TYPE_REFERENCE_POPULATION = 2;[m
[32m+[m[32m    // corresponds to "case-control"[m
[32m+[m[32m    METHOD_TYPE_CASE_CONTROL = 3;[m
[32m+[m[32m    // corresponds to "clinical testing"[m
[32m+[m[32m    METHOD_TYPE_CLINICAL_TESTING = 4;[m
[32m+[m[32m    // corresponds to "in vitro"[m
[32m+[m[32m    METHOD_TYPE_IN_VITRO = 5;[m
[32m+[m[32m    // corresponds to "in vivo"[m
[32m+[m[32m    METHOD_TYPE_IN_VIVO = 6;[m
[32m+[m[32m    // corresponds to "inferred from source"[m
[32m+[m[32m    METHOD_TYPE_INFERRED_FROM_SOURCE = 7;[m
[32m+[m[32m    // corresponds to "research"[m
[32m+[m[32m    METHOD_TYPE_RESEARCH = 8;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local struct for attributes based on `BaseAttribute`.[m
[32m+[m[32m  message ObservedDataAttribute {[m
[32m+[m[32m    // Local enum for the observed data type.[m
[32m+[m[32m    enum Type {[m
[32m+[m[32m      // unspecified observed data attribute type[m
[32m+[m[32m      TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m      // corresponds to "Description"[m
[32m+[m[32m      TYPE_DESCRIPTION = 1;[m
[32m+[m[32m      // corresponds to "VariantAlleles"[m
[32m+[m[32m      TYPE_VARIANT_ALLELES = 2;[m
[32m+[m[32m      // corresponds to "SubjectsWithVariant"[m
[32m+[m[32m      TYPE_SUBJECTS_WITH_VARIANT = 3;[m
[32m+[m[32m      // corresponds to "SubjectsWithDifferentCausativeVariant"[m
[32m+[m[32m      TYPE_SUBJECTS_WITH_DIFFERENT_CAUSATIVE_VARIANT = 4;[m
[32m+[m[32m      // corresponds to "VariantChromosomes"[m
[32m+[m[32m      TYPE_VARIANT_CHROMOSOMES = 5;[m
[32m+[m[32m      // corresponds to "IndependentObservations"[m
[32m+[m[32m      TYPE_INDEPENDENT_OBSERVATIONS = 6;[m
[32m+[m[32m      // corresponds to "SingleHeterozygote"[m
[32m+[m[32m      TYPE_SINGLE_HETEROZYGOUS = 7;[m
[32m+[m[32m      // corresponds to "CompoundHeterozygote"[m
[32m+[m[32m      TYPE_COMPOUND_HETEROZYGOUS = 8;[m
[32m+[m[32m      // corresponds to "Homozygote"[m
[32m+[m[32m      TYPE_HOMOZYGOUS = 9;[m
[32m+[m[32m      // corresponds to "Hemizygote"[m
[32m+[m[32m      TYPE_HEMIZYGOUS = 10;[m
[32m+[m[32m      // corresponds to "NumberMosaic"[m
[32m+[m[32m      TYPE_NUMBER_MOSAIC = 11;[m
[32m+[m[32m      // corresponds to "ObservedUnspecified"[m
[32m+[m[32m      TYPE_OBSERVED_UNSPECIFIED = 12;[m
[32m+[m[32m      // corresponds to "AlleleFrequency"[m
[32m+[m[32m      TYPE_ALLELE_FREQUENCY = 13;[m
[32m+[m[32m      // corresponds to "SecondaryFinding"[m
[32m+[m[32m      TYPE_SECONDARY_FINDING = 14;[m
[32m+[m[32m      // corresponds to "GenotypeAndMOIConsistent"[m
[32m+[m[32m      TYPE_GENOTYPE_AND_MOI_CONSISTENT = 15;[m
[32m+[m[32m      // corresponds to "UnaffectedFamilyMemberWithCausativeVariant"[m
[32m+[m[32m      TYPE_UNAFFECTED_FAMILY_MEMBER_WITH_CAUSATIVE_VARIANT = 16;[m
[32m+[m[32m      // corresponds to "HetParentTransmitNormalAllele"[m
[32m+[m[32m      TYPE_HET_PARENT_TRANSMIT_NORMAL_ALLELE = 17;[m
[32m+[m[32m      // corresponds to "CosegregatingFamilies"[m
[32m+[m[32m      TYPE_COSEGREGATING_FAMILIES = 18;[m
[32m+[m[32m      // corresponds to "InformativeMeioses"[m
[32m+[m[32m      TYPE_INFORMATIVE_MEIOSES = 19;[m
[32m+[m[32m      // corresponds to "SampleLocalID"[m
[32m+[m[32m      TYPE_SAMPLE_LOCAL_ID = 20;[m
[32m+[m[32m      // corresponds to "SampleVariantID"[m
[32m+[m[32m      TYPE_SAMPLE_VARIANT_ID = 21;[m
[32m+[m[32m      // corresponds to "FamilyHistory"[m
[32m+[m[32m      TYPE_FAMILY_HISTORY = 22;[m
[32m+[m[32m      // corresponds to "NumFamiliesWithVariant"[m
[32m+[m[32m      TYPE_NUM_FAMILIES_WITH_VARIANT = 23;[m
[32m+[m[32m      // corresponds to "NumFamiliesWithSegregationObserved"[m
[32m+[m[32m      TYPE_NUM_FAMILIES_WITH_SEGREGATION_OBSERVED = 24;[m
[32m+[m[32m      // corresponds to "SegregationObserved"[m
[32m+[m[32m      TYPE_SEGREGATION_OBSERVED = 25;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // base[m
[32m+[m[32m    BaseAttribute base = 1;[m
[32m+[m[32m    // type[m
[32m+[m[32m    Type type = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // This is an AttributeSet, there will be 1 attribute supported[m
[32m+[m[32m  // by optional citations, xrefs and comment. There must be at least one[m
[32m+[m[32m  // ObservedData Set, but can be any number. For each ObservedData set the[m
[32m+[m[32m  // Attribute will be either decimal or string depending on type. The value will[m
[32m+[m[32m  // be stored here, but decimals will be entered to the database as a string.[m
[32m+[m[32m  message ObservedData {[m
[32m+[m[32m    // Attributes.[m
[32m+[m[32m    repeated ObservedDataAttribute attributes = 1;[m
[32m+[m[32m    // Severity.[m
[32m+[m[32m    optional Severity severity = 2;[m
[32m+[m[32m    // Citation list.[m
[32m+[m[32m    repeated Citation citations = 3;[m
[32m+[m[32m    // Xref list.[m
[32m+[m[32m    repeated Xref xrefs = 4;[m
[32m+[m[32m    // Comment list.[m
[32m+[m[32m    repeated Comment comments = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Sample.[m
[32m+[m[32m  Sample sample = 1;[m
[32m+[m[32m  // Observed data.[m
[32m+[m[32m  repeated ObservedData observed_data = 2;[m
[32m+[m[32m  // Co-occurence set.[m
[32m+[m[32m  repeated Cooccurrence cooccurrence_sets = 3;[m
[32m+[m[32m  // TraitSet.[m
[32m+[m[32m  optional TraitSet trait_set = 4;[m
[32m+[m[32m  // Citation list.[m
[32m+[m[32m  repeated Citation citations = 5;[m
[32m+[m[32m  // Xref list.[m
[32m+[m[32m  repeated Xref xrefs = 6;[m
[32m+[m[32m  // Comment list.[m
[32m+[m[32m  repeated Comment comments = 7;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// A clinical assertion as submitted (SCV record).[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `MeasureTraitType` in XSD and `<ClinicalAssertion>` in XML[m
[32m+[m[32mmessage ClinicalAssertion {[m
[32m+[m[32m  // Local type for ClinVarSubmissionID.[m
[32m+[m[32m  message ClinvarSubmissionId {[m
[32m+[m[32m    // The identifier provided by the submitter to facilitate[m
[32m+[m[32m    // identification of records corresponding to their submissions. If not[m
[32m+[m[32m    // provided by a submitter, NCBI generates one. If provided by[m
[32m+[m[32m    // submitter, that is represented in localKeyIsSubmitted.[m
[32m+[m[32m    string local_key = 1;[m
[32m+[m[32m    // Optional title.[m
[32m+[m[32m    optional string title = 2;[m
[32m+[m[32m    // Optional indication whether local key has been submitted.[m
[32m+[m[32m    optional bool local_key_is_submitted = 3;[m
[32m+[m[32m    // Optional assembly of submission.[m
[32m+[m[32m    optional string submitted_assembly = 4;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for attribute set.[m
[32m+[m[32m  message AttributeSetElement {[m
[32m+[m[32m    // Local enum for types.[m
[32m+[m[32m    enum Type {[m
[32m+[m[32m      // unspecified type[m
[32m+[m[32m      TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m      // Corresponds to "ModeOfInheritance"[m
[32m+[m[32m      TYPE_MODE_OF_INHERITANCE = 1;[m
[32m+[m[32m      // Corresponds to "Penetrance"[m
[32m+[m[32m      TYPE_PENETRANCE = 2;[m
[32m+[m[32m      // Corresponds to "AgeOfOnset"[m
[32m+[m[32m      TYPE_AGE_OF_ONSET = 3;[m
[32m+[m[32m      // Corresponds to "Severity"[m
[32m+[m[32m      TYPE_SEVERITY = 4;[m
[32m+[m[32m      // Corresponds to "ClassificationHistory"[m
[32m+[m[32m      TYPE_CLASSIFICATION_HISTORY = 5;[m
[32m+[m[32m      // Corresponds to "SeverityDescription"[m
[32m+[m[32m      TYPE_SEVERITY_DESCRIPTION = 6;[m
[32m+[m[32m      // Corresponds to "AssertionMethod"[m
[32m+[m[32m      TYPE_ASSERTION_METHOD = 7;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The base value.[m
[32m+[m[32m    BaseAttribute attribute = 1;[m
[32m+[m[32m    // The type of the attribute.[m
[32m+[m[32m    Type type = 2;[m
[32m+[m[32m    // List of xrefs.[m
[32m+[m[32m    repeated Xref xrefs = 3;[m
[32m+[m[32m    // List of citations.[m
[32m+[m[32m    repeated Citation citations = 4;[m
[32m+[m[32m    // List of comments.[m
[32m+[m[32m    repeated Comment comments = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for `ClinVarAccession`[m
[32m+[m[32m  message ClinvarAccession {[m
[32m+[m[32m    // Accession.[m
[32m+[m[32m    string accession = 1;[m
[32m+[m[32m    // Version.[m
[32m+[m[32m    int32 version = 2;[m
[32m+[m[32m    // The submitter's identifier.[m
[32m+[m[32m    SubmitterIdentifiers submitter_identifiers = 3;[m
[32m+[m[32m    // The date that the latest update to the submitted[m
[32m+[m[32m    // record (SCV) became public in ClinVar.[m
[32m+[m[32m    optional google.protobuf.Timestamp date_updated = 4;[m
[32m+[m[32m    // DateCreated is the date when the record first became[m
[32m+[m[32m    // public in ClinVar.[m
[32m+[m[32m    optional google.protobuf.Timestamp date_created = 5;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local enum for record status.[m
[32m+[m[32m  enum RecordStatus {[m
[32m+[m[32m    // unspecified record status[m
[32m+[m[32m    RECORD_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "current"[m
[32m+[m[32m    RECORD_STATUS_CURRENT = 1;[m
[32m+[m[32m    // corresponds to "replaced"[m
[32m+[m[32m    RECORD_STATUS_REPLACED = 2;[m
[32m+[m[32m    // corresponds to "removed"[m
[32m+[m[32m    RECORD_STATUS_REMOVED = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The ClinVar submission ID.[m
[32m+[m[32m  ClinvarSubmissionId clinvar_submission_id = 1;[m
[32m+[m[32m  // The ClinVar SCV accessions.[m
[32m+[m[32m  ClinvarAccession clinvar_accession = 2;[m
[32m+[m[32m  // Optional list of additional submitters.[m
[32m+[m[32m  repeated Submitter additional_submitters = 3;[m
[32m+[m[32m  // Record status.[m
[32m+[m[32m  RecordStatus record_status = 4;[m
[32m+[m[32m  // Replaces; mutually exclusive with replaceds[m
[32m+[m[32m  repeated string replaces = 5;[m
[32m+[m[32m  // Replaced list; mutually exclusive with replaces[m
[32m+[m[32m  repeated ClinicalAssertionRecordHistory replaceds = 6;[m
[32m+[m
[32m+[m[32m  // SCV classifications.[m
[32m+[m[32m  repeated ClassificationScv classifications = 7;[m
[32m+[m[32m  // The assertion.[m
[32m+[m[32m  Assertion assertion = 8;[m
[32m+[m[32m  // Attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 9;[m
[32m+[m[32m  // Observed in.[m
[32m+[m[32m  repeated ObservedIn observed_ins = 10;[m
[32m+[m
[32m+[m[32m  // Allele in SCV; mutually exclusive with haplotype/genotype.[m
[32m+[m[32m  optional AlleleScv simple_allele = 11;[m
[32m+[m[32m  // Haplotype in SCV; mutually exclusive with allele/genotype.[m
[32m+[m[32m  optional HaplotypeScv haplotype = 12;[m
[32m+[m[32m  // Genotype in SCV; mutually exclusive with allele/haplotype.[m
[32m+[m[32m  optional GenotypeScv genotype = 13;[m
[32m+[m
[32m+[m[32m  // The trait set.[m
[32m+[m[32m  TraitSet trait_set = 14;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 15;[m
[32m+[m[32m  // Optional study name.[m
[32m+[m[32m  optional string study_name = 16;[m
[32m+[m[32m  // Optional study description.[m
[32m+[m[32m  optional string study_description = 17;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 18;[m
[32m+[m[32m  // List of submissions.[m
[32m+[m[32m  repeated string submission_names = 19;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp date_created = 20;[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp date_last_updated = 21;[m
[32m+[m[32m  // Date of creation.[m
[32m+[m[32m  google.protobuf.Timestamp submission_date = 22;[m
[32m+[m[32m  // ID.[m
[32m+[m[32m  optional uint64 id = 23;[m
[32m+[m[32m  // Whether it is an FDA recognized database.[m
[32m+[m[32m  optional bool fda_recognized_database = 24;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This is a record per variant (Measure/@ID,AlleleID).[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "typeAllele" in XSD.[m
[32m+[m[32mmessage Allele {[m
[32m+[m[32m  // Local type for Gene.[m
[32m+[m[32m  message Gene {[m
[32m+[m[32m    /* nested elements */[m
[32m+[m
[32m+[m[32m    // Gene's locations.[m
[32m+[m[32m    repeated Location locations = 1;[m
[32m+[m[32m    // OMIM ID.[m
[32m+[m[32m    repeated uint64 omims = 2;[m
[32m+[m[32m    // Haploinsuffiency.[m
[32m+[m[32m    optional DosageSensitivity haploinsufficiency = 3;[m
[32m+[m[32m    // Triplosensitivity.[m
[32m+[m[32m    optional DosageSensitivity triplosensitivity = 4;[m
[32m+[m[32m    // Used to set key words for retrieval or[m
[32m+[m[32m    // display about a gene, such as genes listed by the[m
[32m+[m[32m    // ACMG guidelines.[m
[32m+[m[32m    repeated string properties = 5;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // Optional gene symbol.[m
[32m+[m[32m    optional string symbol = 6;[m
[32m+[m[32m    // Full gene name.[m
[32m+[m[32m    string full_name = 7;[m
[32m+[m[32m    // Gene ID.[m
[32m+[m[32m    int64 gene_id = 8;[m
[32m+[m[32m    // Optional HGNC ID.[m
[32m+[m[32m    optional string hgnc_id = 9;[m
[32m+[m[32m    // Source of gene (calculated or submitted).[m
[32m+[m[32m    string source = 10;[m
[32m+[m[32m    // Relationship between gene and variant.[m
[32m+[m[32m    optional GeneVariantRelationship relationship_type = 11;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for allele frequency.[m
[32m+[m[32m  message AlleleFrequency {[m
[32m+[m[32m    // Value.[m
[32m+[m[32m    double value = 1;[m
[32m+[m[32m    // Source.[m
[32m+[m[32m    string source = 2;[m
[32m+[m[32m    // URL.[m
[32m+[m[32m    optional string url = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for GlobalMinorAlleleFrequency.[m
[32m+[m[32m  message GlobalMinorAlleleFrequency {[m
[32m+[m[32m    // Value.[m
[32m+[m[32m    double value = 1;[m
[32m+[m[32m    // Source.[m
[32m+[m[32m    string source = 2;[m
[32m+[m[32m    // Minor allele.[m
[32m+[m[32m    optional string minor_allele = 3;[m
[32m+[m[32m    // URL.[m
[32m+[m[32m    optional string url = 4;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for allele name.[m
[32m+[m[32m  message Name {[m
[32m+[m[32m    // The name's value.[m
[32m+[m[32m    string value = 1;[m
[32m+[m[32m    // The name's type.[m
[32m+[m[32m    optional string type = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Gene list.[m
[32m+[m[32m  repeated Gene genes = 1;[m
[32m+[m[32m  // Name.[m
[32m+[m[32m  string name = 2;[m
[32m+[m[32m  // Canonical SPDI.[m
[32m+[m[32m  optional string canonical_spdi = 3;[m
[32m+[m[32m  // Variant type(s).[m
[32m+[m[32m  repeated string variant_types = 4;[m
[32m+[m[32m  // Location.[m
[32m+[m[32m  repeated Location locations = 5;[m
[32m+[m[32m  // List of other names.[m
[32m+[m[32m  repeated OtherName other_names = 6;[m
[32m+[m[32m  // These are the single-letter representations of the protein change.[m
[32m+[m[32m  repeated string protein_changes = 7;[m
[32m+[m[32m  // List of HGVS expressions.[m
[32m+[m[32m  repeated HgvsExpression hgvs_expressions = 8;[m
[32m+[m[32m  // Aggregated classifications.[m
[32m+[m[32m  optional AggregateClassificationSet classifications = 9;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 10;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 11;[m
[32m+[m[32m  // List of functional consequences.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 12;[m
[32m+[m[32m  // Allele frequencies.[m
[32m+[m[32m  repeated AlleleFrequency allele_frequencies = 13;[m
[32m+[m[32m  // Global minor allele frequencies.[m
[32m+[m[32m  optional GlobalMinorAlleleFrequency global_minor_allele_frequency = 14;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Allele ID.[m
[32m+[m[32m  int64 allele_id = 15;[m
[32m+[m[32m  // Variation ID.[m
[32m+[m[32m  int64 variation_id = 16;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This is a record of one or more simple alleles on the same chromosome[m
[32m+[m[32m// molecule.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to `typeHaplotype` in XSD[m
[32m+[m[32mmessage Haplotype {[m
[32m+[m[32m  // The list of alleles in the haplotype.[m
[32m+[m[32m  repeated Allele simple_alleles = 1;[m
[32m+[m[32m  // The preferred representation of the haplotype.[m
[32m+[m[32m  string name = 2;[m
[32m+[m[32m  // The type of the haplotype.[m
[32m+[m[32m  HaploVariationType variation_type = 3;[m
[32m+[m[32m  // Names other than 'preferred' used for the haplotype.[m
[32m+[m[32m  repeated OtherName other_names = 4;[m
[32m+[m[32m  // List of all the HGVS expressions valid for, or used to submit,[m
[32m+[m[32m  // a variant.[m
[32m+[m[32m  repeated HgvsExpression hgvs_expressions = 5;[m
[32m+[m[32m  // Classifications of the variant.[m
[32m+[m[32m  optional AggregateClassificationSet classifications = 6;[m
[32m+[m[32m  // Functional consequences of the variant.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 7;[m
[32m+[m[32m  // List of cross-references.[m
[32m+[m[32m  repeated Xref xrefs = 8;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 9;[m
[32m+[m
[32m+[m[32m  // Variation ID.[m
[32m+[m[32m  int64 variation_id = 10;[m
[32m+[m[32m  // Number of copies.[m
[32m+[m[32m  optional int32 number_of_copies = 11;[m
[32m+[m[32m  // Number of chromosomes.[m
[32m+[m[32m  optional int32 number_of_chromosomes = 12;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This element is used for alleles that were not directly part of a[m
[32m+[m[32m// submission but were part of a complex submission. They have no direct submitted[m
[32m+[m[32m// classification, but are being reported for a complete representation of all alleles[m
[32m+[m[32m// in ClinVar. Compare to ClassifiedRecord.[m
[32m+[m[32mmessage IncludedRecord {[m
[32m+[m[32m  // Local type for tag `ClassifiedVariation`.[m
[32m+[m[32m  message ClassifiedVariation {[m
[32m+[m[32m    // Variation ID.[m
[32m+[m[32m    int64 variation_id = 1;[m
[32m+[m[32m    // Optional accession.[m
[32m+[m[32m    optional string accession = 2;[m
[32m+[m[32m    // Version.[m
[32m+[m[32m    int32 version = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Simple allele; mutually exclusive with haplotype.[m
[32m+[m[32m  optional Allele simple_allele = 1;[m
[32m+[m[32m  // Haplotype; mutually exclusive with simple_allele.[m
[32m+[m[32m  optional Haplotype haplotype = 2;[m
[32m+[m[32m  // Aggregate classification sets.[m
[32m+[m[32m  optional AggregateClassificationSet classifications = 3;[m
[32m+[m[32m  // List of submitted records.[m
[32m+[m[32m  repeated Scv submitted_classifications = 4;[m
[32m+[m[32m  // Maintains the list of classified variants represented in[m
[32m+[m[32m  // this submission, although not submitted with an Classification[m
[32m+[m[32m  // independently.[m
[32m+[m[32m  repeated ClassifiedVariation classified_variations = 5;[m
[32m+[m[32m  // List of general citations.[m
[32m+[m[32m  repeated GeneralCitations general_citations = 6;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Used to report genotypes, be they simple or complex diplotypes.[m
[32m+[m[32m//[m
[32m+[m[32m// Corresponds to "typeGenotype" in XSD.[m
[32m+[m[32mmessage Genotype {[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // Simple allele; mutually exclusive with `haplotype`.[m
[32m+[m[32m  repeated Allele simple_alleles = 1;[m
[32m+[m[32m  // Haplotype; mutually exclusive with `simple_allele`.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Allows more than 2 haplotypes per genotype to support[m
[32m+[m[32m  // representation of ploidy.[m
[32m+[m[32m  repeated Haplotype haplotypes = 2;[m
[32m+[m[32m  // Optional name.[m
[32m+[m[32m  string name = 3;[m
[32m+[m[32m  // The variation type.[m
[32m+[m[32m  VariationType variation_type = 4;[m
[32m+[m[32m  // Names other than 'preferred' used for the Genotype.[m
[32m+[m[32m  repeated OtherName other_names = 5;[m
[32m+[m[32m  // HGVS descriptions.[m
[32m+[m[32m  repeated HgvsExpression hgvs_expressions = 6;[m
[32m+[m[32m  // Functional consequences.[m
[32m+[m[32m  repeated FunctionalConsequence functional_consequences = 7;[m
[32m+[m[32m  // Aggregated classifications.[m
[32m+[m[32m  optional AggregateClassificationSet classifications = 8;[m
[32m+[m[32m  // List of xrefs.[m
[32m+[m[32m  repeated Xref xrefs = 9;[m
[32m+[m[32m  // List of citations.[m
[32m+[m[32m  repeated Citation citations = 10;[m
[32m+[m[32m  // List of comments.[m
[32m+[m[32m  repeated Comment comments = 11;[m
[32m+[m[32m  // Attributes.[m
[32m+[m[32m  repeated AttributeSetElement attributes = 12;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Variation ID.[m
[32m+[m[32m  optional int64 variation_id = 13;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Corresponds to "typeRCV" in XSD.[m
[32m+[m[32mmessage RcvAccession {[m
[32m+[m[32m  // Local type for ClassifiedConditionList.[m
[32m+[m[32m  message ClassifiedConditionList {[m
[32m+[m[32m    /* nested elements */[m
[32m+[m
[32m+[m[32m    // List of interpreted conditions.[m
[32m+[m[32m    repeated ClassifiedCondition classified_conditions = 1;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // Trait set ID.[m
[32m+[m[32m    optional int64 trait_set_id = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for GermlineClassification.[m
[32m+[m[32m  //[m
[32m+[m[32m  // The aggregate review status based on[m
[32m+[m[32m  // all germline submissions for this record.[m
[32m+[m[32m  message GermlineClassification {[m
[32m+[m[32m    // Local type for Description.[m
[32m+[m[32m    message Description {[m
[32m+[m[32m      // The description.[m
[32m+[m[32m      string value = 1;[m
[32m+[m
[32m+[m[32m      /* attributes */[m
[32m+[m
[32m+[m[32m      // The date of the description.[m
[32m+[m[32m      optional google.protobuf.Timestamp date_last_evaluated = 2;[m
[32m+[m[32m      // The number of submissions.[m
[32m+[m[32m      optional uint32 submission_count = 3;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The aggregate review status based on[m
[32m+[m[32m    // all somatic clinical impact submissions for this[m
[32m+[m[32m    // record.[m
[32m+[m[32m    AggregateGermlineReviewStatus review_status = 1;[m
[32m+[m[32m    // The oncogenicity description.[m
[32m+[m[32m    Description description = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for SomaticClinicalImpact.[m
[32m+[m[32m  //[m
[32m+[m[32m  // The aggregate review status based on[m
[32m+[m[32m  // all somatic clinical impact submissions for this[m
[32m+[m[32m  // record.[m
[32m+[m[32m  message SomaticClinicalImpact {[m
[32m+[m[32m    // Local type for Description.[m
[32m+[m[32m    message Description {[m
[32m+[m[32m      // The description.[m
[32m+[m[32m      string value = 1;[m
[32m+[m
[32m+[m[32m      /* attributes */[m
[32m+[m
[32m+[m[32m      // Clinical impact assertion type.[m
[32m+[m[32m      optional string clinical_impact_assertion_type = 2;[m
[32m+[m[32m      // Clinical impact significance[m
[32m+[m[32m      optional string clinical_impact_clinical_significance = 3;[m
[32m+[m[32m      // The date of the description.[m
[32m+[m[32m      optional google.protobuf.Timestamp date_last_evaluated = 4;[m
[32m+[m[32m      // The number of submissions.[m
[32m+[m[32m      optional uint32 submission_count = 5;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The aggregate review status based on[m
[32m+[m[32m    // all somatic clinical impact submissions for this[m
[32m+[m[32m    // record.[m
[32m+[m[32m    AggregateSomaticClinicalImpactReviewStatus review_status = 1;[m
[32m+[m[32m    // The oncogenicity description.[m
[32m+[m[32m    repeated Description descriptions = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for OncogenicityClassification.[m
[32m+[m[32m  message OncogenicityClassification {[m
[32m+[m[32m    // Local type for Description.[m
[32m+[m[32m    message Description {[m
[32m+[m[32m      // The description.[m
[32m+[m[32m      string value = 1;[m
[32m+[m
[32m+[m[32m      /* attributes */[m
[32m+[m
[32m+[m[32m      // The date of the description.[m
[32m+[m[32m      optional google.protobuf.Timestamp date_last_evaluated = 2;[m
[32m+[m[32m      // The number of submissions.[m
[32m+[m[32m      optional uint32 submission_count = 3;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    // The aggregate review status based on[m
[32m+[m[32m    // all oncogenic submissions for this record.[m
[32m+[m[32m    AggregateOncogenicityReviewStatus review_status = 1;[m
[32m+[m[32m    // The oncogenicity description.[m
[32m+[m[32m    Description description = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for RCV classifications.[m
[32m+[m[32m  message RcvClassifications {[m
[32m+[m[32m    // Germline classification.[m
[32m+[m[32m    optional GermlineClassification germline_classification = 1;[m
[32m+[m[32m    // Somatic clinical impact.[m
[32m+[m[32m    optional SomaticClinicalImpact somatic_clinical_impact = 2;[m
[32m+[m[32m    // Oncogenicity classification.[m
[32m+[m[32m    optional OncogenicityClassification oncogenicity_classification = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* nested elements */[m
[32m+[m
[32m+[m[32m  // The list of classified conditions.[m
[32m+[m[32m  optional ClassifiedConditionList classified_condition_list = 1;[m
[32m+[m[32m  // The list of RCV classifications.[m
[32m+[m[32m  RcvClassifications rcv_classifications = 2;[m
[32m+[m[32m  // The list of RCV accessions this record has replaced.[m
[32m+[m[32m  repeated RecordHistory replaceds = 3;[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Optional title.[m
[32m+[m[32m  optional string title = 4;[m
[32m+[m[32m  // Accession.[m
[32m+[m[32m  string accession = 5;[m
[32m+[m[32m  // Version.[m
[32m+[m[32m  int32 version = 6;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This element is restricted to variation records for which an explicit[m
[32m+[m[32m// classification was submitted.  Compare to IncludedRecord, which provides aggregate[m
[32m+[m[32m// information about variants that are part of another submission, but for which[m
[32m+[m[32m// ClinVar has *not* received a submission specific to that variant independently.[m
[32m+[m[32mmessage ClassifiedRecord {[m
[32m+[m[32m  // Local type for tag `RCVList`.[m
[32m+[m[32m  message RcvList {[m
[32m+[m[32m    // The RCV record.[m
[32m+[m[32m    repeated RcvAccession rcv_accessions = 1;[m
[32m+[m[32m    // The number of submissions (SCV accessions) referencing the VariationID.[m
[32m+[m[32m    optional int32 submission_count = 2;[m
[32m+[m[32m    // The number of idependent observations.[m
[32m+[m[32m    optional int32 independent_observations = 3;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for the attribute `@MappingType`.[m
[32m+[m[32m  enum MappingType {[m
[32m+[m[32m    // unspecified mapping type[m
[32m+[m[32m    MAPPING_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "Name"[m
[32m+[m[32m    MAPPING_TYPE_NAME = 1;[m
[32m+[m[32m    // corresponds to "Xref"[m
[32m+[m[32m    MAPPING_TYPE_XREF = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Local type for the tag `TraitMapping`.[m
[32m+[m[32m  message TraitMapping {[m
[32m+[m[32m    // Local type for the tag "MedGen"[m
[32m+[m[32m    message Medgen {[m
[32m+[m[32m      // Name.[m
[32m+[m[32m      string name = 1;[m
[32m+[m[32m      // CUI.[m
[32m+[m[32m      string cui = 2;[m
[32m+[m[32m    }[m
[32m+[m
[32m+[m[32m    /* nested elements */[m
[32m+[m[32m    repeated Medgen medgens = 1;[m
[32m+[m
[32m+[m[32m    /* attributes */[m
[32m+[m
[32m+[m[32m    // ID of clinical assertion.[m
[32m+[m[32m    int64 clinical_assertion_id = 2;[m
[32m+[m[32m    // The trait type.[m
[32m+[m[32m    string trait_type = 3;[m
[32m+[m[32m    // The mapping type.[m
[32m+[m[32m    MappingType mapping_type = 4;[m
[32m+[m[32m    // The mapping value.[m
[32m+[m[32m    string mapping_value = 5;[m
[32m+[m[32m    // The mapping reference.[m
[32m+[m[32m    string mapping_ref = 6;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Describes a single sequence change relative to a[m
[32m+[m[32m  // contiguous region of a chromosome or the mitochondrion.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Mutually exclusive with `haplotype` and `genotype`.[m
[32m+[m[32m  optional Allele simple_allele = 1;[m
[32m+[m[32m  // Describes multiple sequence changes on one of the[m
[32m+[m[32m  // chromosomes of a homologous pair or on the mitochondrion.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Mutually exclusive with `simple_allele` and `genotype`.[m
[32m+[m[32m  optional Haplotype haplotype = 2;[m
[32m+[m[32m  // Describes the combination of sequence changes on each[m
[32m+[m[32m  // chromosome of a homologous pair.[m
[32m+[m[32m  //[m
[32m+[m[32m  // Mutually exclusive with `simple_allele` and `haplotype`.[m
[32m+[m[32m  optional Genotype genotype = 3;[m
[32m+[m[32m  // List of RCV records.[m
[32m+[m[32m  RcvList rcv_list = 4;[m
[32m+[m[32m  // List of classifications.[m
[32m+[m[32m  AggregateClassificationSet classifications = 5;[m
[32m+[m[32m  // List of clinical assertions.[m
[32m+[m[32m  repeated ClinicalAssertion clinical_assertions = 6;[m
[32m+[m[32m  // This element is used to report how each user-submitted[m
[32m+[m[32m  // trait name was mapped to a MedGen CUI identifier and a preferred name.[m
[32m+[m[32m  // The structure may be used in the future to report, when a trait is[m
[32m+[m[32m  // identified by a source's identifier (e.g. MIM number), the preferred[m
[32m+[m[32m  // name used by that source at the time of submission. For MappingType[m
[32m+[m[32m  // XRef, MappingRef is the database name and MappingValue is the database's[m
[32m+[m[32m  // identifier. For MappingType Name, MappingRef is Alternate or Preferred,[m
[32m+[m[32m  // and MappingValue is the submitted name of the trait. ClinicalAssertionID[m
[32m+[m[32m  // is an integer identifier that corresponds 1:1 to the SCV assigned to the[m
[32m+[m[32m  // submission.[m
[32m+[m[32m  repeated TraitMapping trait_mappings = 7;[m
[32m+[m[32m  // List of deleted SCVs.[m
[32m+[m[32m  repeated DeletedScv deleted_scvs = 8;[m
[32m+[m[32m  // List of general citations.[m
[32m+[m[32m  repeated GeneralCitations general_citations = 9;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// This element groups the set of data specific to a VariationArchive[m
[32m+[m[32m// record, namely the summary data of what has been submitted about a[m
[32m+[m[32m// VariationID AND for Classified records only, the content each[m
[32m+[m[32m// submission (SCV) provided.[m
[32m+[m[32m//[m
[32m+[m[32m// Type for the `<VariationArchive>` type.[m
[32m+[m[32mmessage VariationArchive {[m
[32m+[m[32m  // Enumeration for `@RecordType`.[m
[32m+[m[32m  enum RecordType {[m
[32m+[m[32m    // unspecified record type[m
[32m+[m[32m    RECORD_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "included"[m
[32m+[m[32m    RECORD_TYPE_INCLUDED = 1;[m
[32m+[m[32m    // corresponds to "classified"[m
[32m+[m[32m    RECORD_TYPE_CLASSIFIED = 2;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // Enumeration for `@RecordStatus`.[m
[32m+[m[32m  enum RecordStatus {[m
[32m+[m[32m    // unspecified record status[m
[32m+[m[32m    RECORD_STATUS_UNSPECIFIED = 0;[m
[32m+[m[32m    // corresponds to "current"[m
[32m+[m[32m    RECORD_STATUS_CURRENT = 1;[m
[32m+[m[32m    // corresponds to "previous"[m
[32m+[m[32m    RECORD_STATUS_PREVIOUS = 2;[m
[32m+[m[32m    // corresponds to "replaced"[m
[32m+[m[32m    RECORD_STATUS_REPLACED = 3;[m
[32m+[m[32m    // correspodns to "deleted"[m
[32m+[m[32m    RECORD_STATUS_DELETED = 4;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // Numeric variation ID.[m
[32m+[m[32m  int64 variation_id = 1;[m
[32m+[m[32m  // This is ClinVar's name for the variant.  ClinVar uses this term in[m
[32m+[m[32m  // its web displays[m
[32m+[m[32m  string variation_name = 2;[m
[32m+[m[32m  // Type of the variant.[m
[32m+[m[32m  string variation_type = 3;[m
[32m+[m[32m  // DateCreated is the date when the record first became public in[m
[32m+[m[32m  // ClinVar.[m
[32m+[m[32m  google.protobuf.Timestamp date_created = 4;[m
[32m+[m[32m  // The date the record was last updated in the public database. The[m
[32m+[m[32m  // update may be a change to one of the submitted records (SCVs) or[m
[32m+[m[32m  // annotation added to the aggregate record by NCBI staff. This date[m
[32m+[m[32m  // is independent of a version change; annotated added by NCBI may[m
[32m+[m[32m  // change without representing a change in the version.[m
[32m+[m[32m  google.protobuf.Timestamp date_last_updated = 5;[m
[32m+[m[32m  // This date is of the most recent submitted record (SCV) for the[m
[32m+[m[32m  // VCV; it may reflect a new submitted record or an update to a submitted record.[m
[32m+[m[32m  google.protobuf.Timestamp most_recent_submission = 6;[m
[32m+[m[32m  // Accession assigned to the variant, or set of variants, that was[m
[32m+[m[32m  // Classified[m
[32m+[m[32m  string accession = 7;[m
[32m+[m[32m  // Version of record and suffix for accession.[m
[32m+[m[32m  int32 version = 8;[m
[32m+[m[32m  // Number of submitters in record.[m
[32m+[m[32m  int32 number_of_submitters = 9;[m
[32m+[m[32m  // Number of submissions in record.[m
[32m+[m[32m  int32 number_of_submissions = 10;[m
[32m+[m[32m  // Record type.[m
[32m+[m[32m  RecordType record_type = 11;[m
[32m+[m
[32m+[m[32m  /* contained elements */[m
[32m+[m
[32m+[m[32m  // The record's status.[m
[32m+[m[32m  RecordStatus record_status = 12;[m
[32m+[m[32m  // Pointer to the replacing record; optional.[m
[32m+[m[32m  RecordHistory replaced_by = 13;[m
[32m+[m[32m  // The list of VCV accessions this record has replaced.[m
[32m+[m[32m  repeated RecordHistory replaceds = 14;[m
[32m+[m[32m  // Comment on the record; optional.[m
[32m+[m[32m  Comment comment = 15;[m
[32m+[m[32m  // Specification of the species.[m
[32m+[m[32m  Species species = 16;[m
[32m+[m
[32m+[m[32m  // This element describes the classification of a single[m
[32m+[m[32m  // allele, haplotype, or genotype based on all submissions to ClinVar. This[m
[32m+[m[32m  // differs from the element IncludedRecord, which describes simple alleles[m
[32m+[m[32m  // or haplotypes, referenced in ClassifiedRecord, but for which no explicit[m
[32m+[m[32m  // classification was submitted. Once that variation is described, details[m
[32m+[m[32m  // are added about the phenotypes being classified, the classification, the[m
[32m+[m[32m  // submitters providing the classifications, and all supported evidence.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: mutually exclusive with `included_record`.[m
[32m+[m[32m  optional ClassifiedRecord classified_record = 17;[m
[32m+[m
[32m+[m[32m  // This element describes a single allele or haplotype[m
[32m+[m[32m  // included in submissions to ClinVar, but for which no explicit[m
[32m+[m[32m  // classification was submitted. It also references the submissions and the[m
[32m+[m[32m  // Classified records that include them.[m
[32m+[m[32m  //[m
[32m+[m[32m  // NB: mutually exclusive with `classified_record`.[m
[32m+[m[32m  optional IncludedRecord included_record = 18;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// The element to group each VariationArchive element in the release[m
[32m+[m[32m//[m
[32m+[m[32m// Type for the `<ClinVarVariationRelease>` tag.[m
[32m+[m[32mmessage ClinvarVariationRelease {[m
[32m+[m[32m  /* attributes */[m
[32m+[m
[32m+[m[32m  // The current release.[m
[32m+[m[32m  google.protobuf.Timestamp release_date = 1;[m
[32m+[m
[32m+[m[32m  /* contained elements */[m
[32m+[m
[32m+[m[32m  // List of `<VariationArchive>` tags.[m
[32m+[m[32m  repeated VariationArchive variation_archives = 2;[m
[32m+[m[32m}[m
[1mdiff --git a/protos/clinvar_data/extracted_vars.proto b/protos/clinvar_data/extracted_vars.proto[m
[1mnew file mode 100644[m
[1mindex 0000000..3e227b3[m
[1m--- /dev/null[m
[1m+++ b/protos/clinvar_data/extracted_vars.proto[m
[36m@@ -0,0 +1,73 @@[m
[32m+[m[32m// Protocol buffers to store the extracted variants from ClinVar.[m
[32m+[m
[32m+[m[32msyntax = "proto3";[m
[32m+[m
[32m+[m[32mpackage clinvar_data.extracted_vars;[m
[32m+[m
[32m+[m[32mimport "clinvar_data/clinvar_public.proto";[m
[32m+[m
[32m+[m[32m// Enumeration for the type of the variant.[m
[32m+[m[32menum VariationType {[m
[32m+[m[32m  // unspecified variation type[m
[32m+[m[32m  VARIATION_TYPE_UNSPECIFIED = 0;[m
[32m+[m[32m  // Corresponds to "insertion".[m
[32m+[m[32m  VARIATION_TYPE_INSERTION = 1;[m
[32m+[m[32m  // Corresponds to "deletion".[m
[32m+[m[32m  VARIATION_TYPE_DELETION = 2;[m
[32m+[m[32m  // Corresponds to "single nucleotide variant".[m
[32m+[m[32m  VARIATION_TYPE_SNV = 3;[m
[32m+[m[32m  // Corresponds to "indel".[m
[32m+[m[32m  VARIATION_TYPE_INDEL = 4;[m
[32m+[m[32m  // Corresponds to "duplication".[m
[32m+[m[32m  VARIATION_TYPE_DUPLICATION = 5;[m
[32m+[m[32m  // Corresponds to "tandem duplication".[m
[32m+[m[32m  VARIATION_TYPE_TANDEM_DUPLICATION = 6;[m
[32m+[m[32m  // Corresponds to "structural variant".[m
[32m+[m[32m  VARIATION_TYPE_STRUCTURAL_VARIANT = 7;[m
[32m+[m[32m  // Corresponds to "copy number gain".[m
[32m+[m[32m  VARIATION_TYPE_COPY_NUMBER_GAIN = 8;[m
[32m+[m[32m  // Corresponds to "copy number loss".[m
[32m+[m[32m  VARIATION_TYPE_COPY_NUMBER_LOSS = 9;[m
[32m+[m[32m  // Corresponds to "protein only".[m
[32m+[m[32m  VARIATION_TYPE_PROTEIN_ONLY = 10;[m
[32m+[m[32m  // Corresponds to "microsatellite".[m
[32m+[m[32m  VARIATION_TYPE_MICROSATELLITE = 11;[m
[32m+[m[32m  // Corresponds to "inversion".[m
[32m+[m[32m  VARIATION_TYPE_INVERSION = 12;[m
[32m+[m[32m  // Corresponds to "other".[m
[32m+[m[32m  VARIATION_TYPE_OTHER = 13;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Accession with version.[m
[32m+[m[32mmessage VersionedAccession {[m
[32m+[m[32m  // The accession.[m
[32m+[m[32m  string accession = 1;[m
[32m+[m[32m  // The version.[m
[32m+[m[32m  int32 version = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Protocol buffer for storing essential information of one RCV.[m
[32m+[m[32mmessage ExtractedRcvRecord {[m
[32m+[m[32m  // The accession.[m
[32m+[m[32m  VersionedAccession accession = 1;[m
[32m+[m[32m  // Title of RCV.[m
[32m+[m[32m  string title = 2;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m// Protocol buffer for storing essential information of one VCV.[m
[32m+[m[32mmessage ExtractedVcvRecord {[m
[32m+[m[32m  // The accession.[m
[32m+[m[32m  VersionedAccession accession = 1;[m
[32m+[m[32m  // List of aggregated RCVs.[m
[32m+[m[32m  repeated ExtractedRcvRecord rcvs = 2;[m
[32m+[m[32m  // Name of VCV.[m
[32m+[m[32m  string name = 3;[m
[32m+[m[32m  // The type of the variant.[m
[32m+[m[32m  VariationType variation_type = 4;[m
[32m+[m[32m  // Classifications.[m
[32m+[m[32m  clinvar_data.clinvar_public.AggregateClassificationSet classifications = 5;[m
[32m+[m[32m  // The sequence location on one reference.[m
[32m+[m[32m  clinvar_data.clinvar_public.Location.SequenceLocation sequence_location = 6;[m
[32m+[m[32m  // List of HGNC IDs.[m
[32m+[m[32m  repeated string hgnc_ids = 7;[m
[32m+[m[32m}[m
[1mdiff --git a/protos/clinvar_data/gene_impact.proto b/protos/clinvar_data/gene_impact.proto[m
[1mnew file mode 100644[m
[1mindex 0000000..eca9695[m
[1m--- /dev/null[m
[1m+++ b/protos/clinvar_data/gene_impact.proto[m
[36m@@ -0,0 +1,91 @@[m
[32m+[m[32m// Protocol buffers for types for per-gene impact.[m
[32m+[m
[32m+[m[32msyntax = "proto3";[m
[32m+[m
[32m+[m[32mpackage clinvar_data.gene_impact;[m
[32m+[m
[32m+[m[32mimport "clinvar_data/clinvar_public.proto";[m
[32m+[m
[32m+[m[32m// Enumeration with the variant consequence.[m
[32m+[m[32menum GeneImpact {[m
[32m+[m[32m  // unspecified impact[m
[32m+[m[32m  GENE_IMPACT_UNSPECIFIED = 0;[m
[32m+[m[32m  // Corresponds to "3_prime_UTR_variant"[m
[32m+[m[32m  GENE_IMPACT_THREE_PRIME_UTR_VARIANT = 1;[m
[32m+[m[32m  // Corresponds to "5_prime_UTR_variant"[m
[32m+[m[32m  GENE_IMPACT_FIVE_PRIME_UTR_VARIANT = 2;[m
[32m+[m[32m  // Corresponds to "downstream_gene_variant"[m
[32m+[m[32m  GENE_IMPACT_DOWNSTREAM_TRANSCRIPT_VARIANT = 3;[m
[32m+[m[32m  // Corresponds to "frameshift_variant"[m
[32m+[m[32m  GENE_IMPACT_FRAMESHIFT_VARIANT = 4;[m
[32m+[m[32m  // Corresponds to "inframe_indel"[m
[32m+[m[32m  GENE_IMPACT_INFRAME_INDEL = 5;[m
[32m+[m[32m  // Corresponds to "start_lost"[m
[32m+[m[32m  GENE_IMPACT_START_LOST = 6;[m
[32m+[m[32m  // Corresponds to "intron_variant"[m
[32m+[m[32m  GENE_IMPACT_INTRON_VARIANT = 7;[m
[32m+[m[32m  // Corresponds to "missense_variant"[m
[32m+[m[32m  GENE_IMPACT_MISSENSE_VARIANT = 8;[m
[32m+[m[32m  // Corresponds to "non_codnig_transcript_variant"[m
[32m+[m[32m  GENE_IMPACT_NON_CODING_TRANSCRIPT_VARIANT = 9;[m
[32m+[m[32m  // Corresponds to "stop_gained"[m
[32m+[m[32m  GENE_IMPACT_STOP_GAINED = 10;[m
[32m+[m[32m  // Corresponds to "no_sequence_alteration"[m
[32m+[m[32m  GENE_IMPACT_NO_SEQUENCE_ALTERATION = 11;[m
[32m+[m[32m  // Corresponds to "splice_acceptor_variant"[m
[32m+[m[32m  GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT = 12;[m
[32m+[m[32m  // Corresponds to "splice_donor_variant"[m
[32m+[m[32m  GENE_IMPACT_SPLICE_DONOR_VARIANT = 13;[m
[32m+[m[32m  // Corresponds to "stop_lost"[m
[32m+[m[32m  GENE_IMPACT_STOP_LOST = 14;[m
[32m+[m[32m  // Corresponds to "synonymous_variant"[m
[32m+[m[32m  GENE_IMPACT_SYNONYMOUS_VARIANT = 15;[m
[32m+[m[32m  // Corresponds to "upstream_gene_variant"[m
[32m+[m[32m  GENE_IMPACT_UPSTREAM_TRANSCRIPT_VARIANT = 16;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m
[32m+[m[32m// Enumeration for ACMG clinical significance.[m
[32m+[m[32menum ClinicalSignificance {[m
[32m+[m[32m  // unspecified clinical significance[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_UNSPECIFIED = 0;[m
[32m+[m[32m  // Corresponds to "Benign"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_BENIGN = 1;[m
[32m+[m[32m  // Corresponds to "Likely benign"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_LIKELY_BENIGN = 2;[m
[32m+[m[32m  // Corresponds to "Uncertain significance"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_UNCERTAIN_SIGNIFICANCE = 3;[m
[32m+[m[32m  // Corresponds to "Likely pathogenic"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_LIKELY_PATHOGENIC = 4;[m
[32m+[m[32m  // Corresponds to "Pathogenic"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_PATHOGENIC = 5;[m
[32m+[m[32m  // Corresponds to "not provided"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_NOT_PROVIDED = 6;[m
[32m+[m[32m  // Corresponds to "other"[m
[32m+[m[32m  CLINICAL_SIGNIFICANCE_OTHER = 7;[m
[32m+[m[32m}[m
[32m+[m
[32m+[m
[32m+[m[32m// Entry for storing counts of `GeneImpact` and `ClinicalSignificance`.[m
[32m+[m[32mmessage GeneImpactCounts {[m
[32m+[m[32m  // Stores the counts for a gene impact.[m
[32m+[m[32m  message ImpactCounts {[m
[32m+[m[32m    // The gene impact.[m
[32m+[m[32m    GeneImpact gene_impact = 1;[m
[32m+[m[32m    // The counts for the benign impact.[m
[32m+[m[32m    uint32 count_benign = 2;[m
[32m+[m[32m    // The counts for the likely benign impact.[m
[32m+[m[32m    uint32 count_likely_benign = 3;[m
[32m+[m[32m    // The counts for the uncertain significance impact.[m
[32m+[m[32m    uint32 count_uncertain_significance = 4;[m
[32m+[m[32m    // The counts for the likely pathogenic impact.[m
[32m+[m[32m    uint32 count_likely_pathogenic = 5;[m
[32m+[m[32m    // The counts for the pathogenic impact.[m
[32m+[m[32m    uint32 count_pathogenic = 6;[m
[32m+[m[32m  }[m
[32m+[m
[32m+[m[32m  // The gene HGNC ID.[m
[32m+[m[32m  string hgnc_id = 1;[m
[32m+[m[32m  // The impact counts.[m
[32m+[m[32m  repeated ImpactCounts impact_counts = 2;[m
[32m+[m[32m}[m
[1mdiff --git a/protos/clinvar_data/phenotype_link.proto b/protos/clinvar_data/phenotype_link.proto[m
[1mnew file mode 100644[m
[1mindex 0000000..1fe96c7[m
[1m--- /dev/null[m
[1m+++ b/protos/clinvar_data/phenotype_link.proto[m
[36m@@ -0,0 +1,28 @@[m
[32m+[m[32m// Protocol buffers to store the gene-to-phenotype links extracted from ClinVar.[m
[32m+[m
[32m+[m[32msyntax = "proto3";[m
[32m+[m
[32m+[m[32mpackage clinvar_data.phenotype_link;[m
[32m+[m
[32m+[m[32mimport "clinvar_data/extracted_vars.proto";[m
[32m+[m
[32m+[m
[32m+[m[32m// A record linking gene to phenotype.[m
[32m+[m[32mmessage GenePhenotypeRecord {[m
[32m+[m[32m  // VCV[m
[32m+[m[32m  clinvar_data.extracted_vars.VersionedAccession vcv = 1;[m
[32m+[m[32m  // SCV[m
[32m+[m[32m  clinvar_data.extracted_vars.VersionedAccession scv = 2;[m
[32m+[m[32m  // Clinical germline classification.[m
[32m+[m[32m  string germline_classification = 3;[m
[32m+[m[32m  // Submitter[m
[32m+[m[32m  string submitter_name = 4;[m
[32m+[m[32m  // Gene HGNC ID[m
[32m+[m[32m  repeated string hgnc_ids = 5;[m
[32m+[m[32m  // Linked OMIM terms[m
[32m+[m[32m  repeated string omim_terms = 6;[m
[32m+[m[32m  // Linked MONDO terms[m
[32m+[m[32m  repeated string mondo_terms = 7;[m
[32m+[m[32m  // Linked HPO terms[m
[32m+[m[32m  repeated string hpo_terms = 8;[m
[32m+[m[32m}[m
[1mdiff --git a/protos/fetch.sh b/protos/fetch.sh[m
[1mnew file mode 100644[m
[1mindex 0000000..dfccab0[m
[1m--- /dev/null[m
[1m+++ b/protos/fetch.sh[m
[36m@@ -0,0 +1,19 @@[m
[32m+[m[32m#!/usr/bin/bash[m
[32m+[m
[32m+[m[32mSCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )[m
[32m+[m
[32m+[m[32m# Helper script to download protobuf files from elsewhere.[m
[32m+[m
[32m+[m[32mcd $SCRIPT_DIR[m
[32m+[m
[32m+[m[32mmkdir -p clinvar_data[m
[32m+[m[32mfor name in class_by_freq clinvar_public extracted_vars gene_impact phenotype_link; do[m
[32m+[m[32m    wget \[m
[32m+[m[32m        -O clinvar_data/$name.proto \[m
[32m+[m[32m        https://raw.githubusercontent.com/varfish-org/clinvar-this/main/protos/clinvar_data/pbs/$name.proto[m
[32m+[m[32mdone[m
[32m+[m[32msed \[m
[32m+[m[32m    -i \[m
[32m+[m[32m    -e 's/clinvar_data\.pbs\./clinvar_data./g' \[m
[32m+[m[32m    -e 's|clinvar_data/pbs/|clinvar_data/|g' \[m
[32m+[m[32m    clinvar_data/*.proto[m
[1mdiff --git a/src/clinvar_genes/cli/import.rs b/src/clinvar_genes/cli/import.rs[m
[1mindex 7f88b88..47e7b32 100644[m
[1m--- a/src/clinvar_genes/cli/import.rs[m
[1m+++ b/src/clinvar_genes/cli/import.rs[m
[36m@@ -5,14 +5,14 @@[m [muse std::{collections::HashSet, io::BufRead, sync::Arc};[m
 use clap::Parser;[m
 use prost::Message;[m
 [m
[32m+[m[32muse crate::pbs::clinvar::class_by_freq::GeneCoarseClinsigFrequencyCounts;[m
[32m+[m[32muse crate::pbs::clinvar::extracted_vars::ExtractedVcvRecord;[m
[32m+[m[32muse crate::pbs::clinvar::gene_impact::GeneImpactCounts;[m
 use crate::pbs::clinvar::minimal::{[m
     ClinicalSignificance, Record, ReferenceAssertion, ReviewStatus,[m
 };[m
[31m-use crate::pbs::clinvar::per_gene::{[m
[31m-    ClinvarPerGeneRecord, CoarseClinicalSignificance, GeneFreqRecordCounts, GeneImpactRecordCounts,[m
[31m-    GeneVariantsForRelease, Impact,[m
[31m-};[m
[31m-use crate::{clinvar_genes, clinvar_minimal, common};[m
[32m+[m[32muse crate::pbs::clinvar::per_gene::ClinvarPerGeneRecord;[m
[32m+[m[32muse crate::{clinvar_minimal, common};[m
 [m
 /// Command line arguments for `tsv import` sub command.[m
 #[derive(Parser, Debug, Clone)][m
[36m@@ -42,7 +42,7 @@[m [mpub struct Args {[m
 /// Load per-impact JSONL file.[m
 fn load_per_impact_jsonl([m
     path_per_impact_jsonl: &str,[m
[31m-) -> Result<indexmap::IndexMap<String, Vec<GeneImpactRecordCounts>>, anyhow::Error> {[m
[32m+[m[32m) -> Result<indexmap::IndexMap<String, GeneImpactCounts>, anyhow::Error> {[m
     // Open reader, possibly decompressing gziped files.[m
     let reader: Box<dyn std::io::Read> = if path_per_impact_jsonl.ends_with(".gz") {[m
         Box::new(flate2::read::GzDecoder::new(std::fs::File::open([m
[36m@@ -57,18 +57,8 @@[m [mfn load_per_impact_jsonl([m
     let reader = std::io::BufReader::new(reader);[m
     for line in reader.lines() {[m
         let line = line?;[m
[31m-        let record =[m
[31m-            serde_json::from_str::<clinvar_genes::cli::reading::gene_impact::Record>(&line)?;[m
[31m-[m
[31m-        let mut count_out = Vec::new();[m
[31m-        for (impact, counts) in record.counts {[m
[31m-            let impact: Impact = impact.into();[m
[31m-            count_out.push(GeneImpactRecordCounts {[m
[31m-                impact: impact as i32,[m
[31m-                counts,[m
[31m-            });[m
[31m-        }[m
[31m-        result.insert(record.hgnc.clone(), count_out);[m
[32m+[m[32m        let record = serde_json::from_str::<GeneImpactCounts>(&line)?;[m
[32m+[m[32m        result.insert(record.hgnc_id.clone(), record);[m
     }[m
 [m
     Ok(result)[m
[36m@@ -77,7 +67,7 @@[m [mfn load_per_impact_jsonl([m
 /// Load per-frequency JSONL file.[m
 fn load_per_frequency_jsonl([m
     path_per_impact_jsonl: &str,[m
[31m-) -> Result<indexmap::IndexMap<String, Vec<GeneFreqRecordCounts>>, anyhow::Error> {[m
[32m+[m[32m) -> Result<indexmap::IndexMap<String, GeneCoarseClinsigFrequencyCounts>, anyhow::Error> {[m
     // Open reader, possibly decompressing gziped files.[m
     let reader: Box<dyn std::io::Read> = if path_per_impact_jsonl.ends_with(".gz") {[m
         Box::new(flate2::read::GzDecoder::new(std::fs::File::open([m
[36m@@ -92,18 +82,8 @@[m [mfn load_per_frequency_jsonl([m
     let reader = std::io::BufReader::new(reader);[m
     for line in reader.lines() {[m
         let line = line?;[m
[31m-        let record =[m
[31m-            serde_json::from_str::<clinvar_genes::cli::reading::counts_by_freq::Record>(&line)?;[m
[31m-[m
[31m-        let mut count_out = Vec::new();[m
[31m-        for (clinsig, counts) in record.counts {[m
[31m-            let coarse_clinsig: CoarseClinicalSignificance = clinsig.into();[m
[31m-            count_out.push(GeneFreqRecordCounts {[m
[31m-                coarse_clinsig: coarse_clinsig as i32,[m
[31m-                counts,[m
[31m-            });[m
[31m-        }[m
[31m-        result.insert(record.hgnc.clone(), count_out);[m
[32m+[m[32m        let record = serde_json::from_str::<GeneCoarseClinsigFrequencyCounts>(&line)?;[m
[32m+[m[32m        result.insert(record.hgnc_id.clone(), record);[m
     }[m
 [m
     Ok(result)[m
[36m@@ -132,23 +112,29 @@[m [mfn load_variants_jsonl([m
 [m
         for line in reader.lines() {[m
             let line = line?;[m
[31m-            let input_record = serde_json::from_str::<clinvar_minimal::cli::reading::Record>(&line);[m
[32m+[m[32m            let input_record = serde_json::from_str::<ExtractedVcvRecord>(&line);[m
             match input_record {[m
                 Err(e) => {[m
                     tracing::warn!("skipping line because of error: {}", e);[m
                     continue;[m
                 }[m
                 Ok(input_record) => {[m
[31m-                    let clinvar_minimal::cli::reading::Record {[m
[31m-                        vcv,[m
[31m-                        rcv,[m
[31m-                        title,[m
[31m-                        hgnc_ids,[m
[31m-                        clinical_significance,[m
[31m-                        review_status,[m
[32m+[m[32m                    let ExtractedVcvRecord {[m
[32m+[m[32m                        accession,[m
[32m+[m[32m                        rcvs,[m
[32m+[m[32m                        name,[m
[32m+[m[32m                        variation_type,[m
[32m+[m[32m                        classifications,[m
                         sequence_location,[m
[31m-                        ..[m
[32m+[m[32m                        hgnc_ids[m
                     } = input_record;[m
[32m+[m
[32m+[m[32m                    if let (Some(accession), Some(classifications)) = (accession, classifications) {[m
[32m+[m
[32m+[m[32m                    } else {[m
[32m+[m[32m                        continue;[m
[32m+[m[32m                    }[m
[32m+[m
                     let clinvar_minimal::cli::reading::SequenceLocation {[m
                         assembly,[m
                         chr,[m
[1mdiff --git a/src/clinvar_genes/cli/mod.rs b/src/clinvar_genes/cli/mod.rs[m
[1mindex b4b20cc..e4aad4c 100644[m
[1m--- a/src/clinvar_genes/cli/mod.rs[m
[1m+++ b/src/clinvar_genes/cli/mod.rs[m
[36m@@ -2,4 +2,3 @@[m
 [m
 pub mod import;[m
 pub mod query;[m
[31m-pub mod reading;[m
[1mdiff --git a/src/clinvar_genes/cli/reading.rs b/src/clinvar_genes/cli/reading.rs[m
[1mdeleted file mode 100644[m
[1mindex 2f75d92..0000000[m
[1m--- a/src/clinvar_genes/cli/reading.rs[m
[1m+++ /dev/null[m
[36m@@ -1,173 +0,0 @@[m
[31m-//! Reading JSONL data for per-gene ClinVar information.[m
[31m-[m
[31m-/// Reading of gene per-impact counts records.[m
[31m-pub mod gene_impact {[m
[31m-    /// SO terms for impact on gene[m
[31m-    #[derive(Debug, serde::Deserialize, serde::Serialize, PartialEq, Eq, Hash)][m
[31m-    pub enum Impact {[m
[31m-        /// 3' UTR variant[m
[31m-        #[serde(rename = "3_prime_UTR_variant")][m
[31m-        ThreePrimeUtrVariant,[m
[31m-        /// 5' UTR variant[m
[31m-        #[serde(rename = "5_prime_UTR_variant")][m
[31m-        FivePrimeUtrVariant,[m
[31m-        /// downstream gene variant[m
[31m-        #[serde(rename = "downstream_gene_variant")][m
[31m-        DownstreamGeneVariant,[m
[31m-        /// frameshift variant[m
[31m-        #[serde(rename = "frameshift_variant")][m
[31m-        FrameshiftVariant,[m
[31m-        /// inframe deletion[m
[31m-        #[serde(rename = "inframe_indel")][m
[31m-        InframeIndel,[m
[31m-        /// start lost[m
[31m-        #[serde(rename = "start_lost")][m
[31m-        StartLost,[m
[31m-        /// intron variant[m
[31m-        #[serde(rename = "intron_variant")][m
[31m-        IntronVariant,[m
[31m-        /// missense variant[m
[31m-        #[serde(rename = "missense_variant")][m
[31m-        MissenseVariant,[m
[31m-        /// non-coding transcript variant[m
[31m-        #[serde(rename = "non_coding_transcript_variant")][m
[31m-        NonCodingTranscriptVariant,[m
[31m-        /// stop gained[m
[31m-        #[serde(rename = "stop_gained")][m
[31m-        StopGained,[m
[31m-        /// no sequence alteration[m
[31m-        #[serde(rename = "no_sequence_alteration")][m
[31m-        NoSequenceAlteration,[m
[31m-        /// splice acceptor variant[m
[31m-        #[serde(rename = "splice_acceptor_variant")][m
[31m-        SpliceAcceptorVariant,[m
[31m-        /// splice donor variant[m
[31m-        #[serde(rename = "splice_donor_variant")][m
[31m-        SpliceDonorVariant,[m
[31m-        /// stop lost[m
[31m-        #[serde(rename = "stop_lost")][m
[31m-        StopLost,[m
[31m-        /// synonymous variant[m
[31m-        #[serde(rename = "synonymous_variant")][m
[31m-        SyonymousVariant,[m
[31m-        /// upstream gene variant[m
[31m-        #[serde(rename = "upstream_gene_variant")][m
[31m-        UpstreamGeneVariant,[m
[31m-    }[m
[31m-[m
[31m-    impl From<Impact> for crate::pbs::clinvar::per_gene::Impact {[m
[31m-        fn from(val: Impact) -> Self {[m
[31m-            match val {[m
[31m-                Impact::ThreePrimeUtrVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::ThreePrimeUtrVariant[m
[31m-                }[m
[31m-                Impact::FivePrimeUtrVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::FivePrimeUtrVariant[m
[31m-                }[m
[31m-                Impact::DownstreamGeneVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::DownstreamTranscriptVariant[m
[31m-                }[m
[31m-                Impact::FrameshiftVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::FrameshiftVariant[m
[31m-                }[m
[31m-                Impact::InframeIndel => crate::pbs::clinvar::per_gene::Impact::InframeIndel,[m
[31m-                Impact::StartLost => crate::pbs::clinvar::per_gene::Impact::StartLost,[m
[31m-                Impact::IntronVariant => crate::pbs::clinvar::per_gene::Impact::IntronVariant,[m
[31m-                Impact::MissenseVariant => crate::pbs::clinvar::per_gene::Impact::MissenseVariant,[m
[31m-                Impact::NonCodingTranscriptVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::NonCodingTranscriptVariant[m
[31m-                }[m
[31m-                Impact::StopGained => crate::pbs::clinvar::per_gene::Impact::StopGained,[m
[31m-                Impact::NoSequenceAlteration => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::NoSequenceAlteration[m
[31m-                }[m
[31m-                Impact::SpliceAcceptorVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::SpliceAcceptorVariant[m
[31m-                }[m
[31m-                Impact::SpliceDonorVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::SpliceDonorVariant[m
[31m-                }[m
[31m-                Impact::StopLost => crate::pbs::clinvar::per_gene::Impact::StopLost,[m
[31m-                Impact::SyonymousVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::SynonymousVariant[m
[31m-                }[m
[31m-                Impact::UpstreamGeneVariant => {[m
[31m-                    crate::pbs::clinvar::per_gene::Impact::UpstreamTranscriptVariant[m
[31m-                }[m
[31m-            }[m
[31m-        }[m
[31m-    }[m
[31m-[m
[31m-    /// ACMG clinical significance[m
[31m-    #[derive(Debug, serde::Deserialize, serde::Serialize, PartialEq, Eq, Hash)][m
[31m-    pub enum ClinicalSignificance {[m
[31m-        /// Benign[m
[31m-        #[serde(rename = "benign")][m
[31m-        Benign,[m
[31m-        /// Likely benign[m
[31m-        #[serde(rename = "likely benign")][m
[31m-        LikelyBenign,[m
[31m-        /// Uncertain significance[m
[31m-        #[serde(rename = "uncertain significance")][m
[31m-        UncertainSignificance,[m
[31m-        /// Likely pathogenic[m
[31m-        #[serde(rename = "likely pathogenic")][m
[31m-        LikelyPathogenic,[m
[31m-        /// Pathogenic[m
[31m-        #[serde(rename = "pathogenic")][m
[31m-        Pathogenic,[m
[31m-    }[m
[31m-[m
[31m-    /// Gene-wise counts record.[m
[31m-    #[derive(Debug, serde::Deserialize, serde::Serialize)][m
[31m-    pub struct Record {[m
[31m-        /// HGNC gene ID[m
[31m-        pub hgnc: String,[m
[31m-        /// Per-impact counts[m
[31m-        pub counts: indexmap::IndexMap<Impact, Vec<u32>>,[m
[31m-    }[m
[31m-}[m
[31m-[m
[31m-/// Reading of ACMG class by frequency counts records.[m
[31m-pub mod counts_by_freq {[m
[31m-    /// Coarsened clinical significance[m
[31m-    #[derive(Debug, serde::Deserialize, serde::Serialize, PartialEq, Eq, Hash)][m
[31m-    pub enum CoarseClinicalSignificance {[m
[31m-        /// Likely benign / benign[m
[31m-        #[serde(rename = "benign")][m
[31m-        Benign,[m
[31m-        /// Uncertain significance[m
[31m-        #[serde(rename = "uncertain")][m
[31m-        Uncertain,[m
[31m-        /// Likely pathogenic / pathogenic[m
[31m-        #[serde(rename = "pathogenic")][m
[31m-        Pathogenic,[m
[31m-    }[m
[31m-[m
[31m-    impl From<CoarseClinicalSignificance>[m
[31m-        for crate::pbs::clinvar::per_gene::CoarseClinicalSignificance[m
[31m-    {[m
[31m-        fn from(val: CoarseClinicalSignificance) -> Self {[m
[31m-            match val {[m
[31m-                CoarseClinicalSignificance::Benign => {[m
[31m-                    crate::pbs::clinvar::per_gene::CoarseClinicalSignificance::Benign[m
[31m-                }[m
[31m-                CoarseClinicalSignificance::Uncertain => {[m
[31m-                    crate::pbs::clinvar::per_gene::CoarseClinicalSignificance::Uncertain[m
[31m-                }[m
[31m-                CoarseClinicalSignificance::Pathogenic => {[m
[31m-                    crate::pbs::clinvar::per_gene::CoarseClinicalSignificance::Pathogenic[m
[31m-                }[m
[31m-            }[m
[31m-        }[m
[31m-    }[m
[31m-[m
[31m-    /// Per-pathogenicity counts.[m
[31m-    #[derive(Debug, serde::Deserialize, serde::Serialize)][m
[31m-    pub struct Record {[m
[31m-        /// HGNC gene ID[m
[31m-        pub hgnc: String,[m
[31m-        /// Per-impact counts[m
[31m-        pub counts: indexmap::IndexMap<CoarseClinicalSignificance, Vec<u32>>,[m
[31m-    }[m
[31m-}[m
[1mdiff --git a/src/common/keys.rs b/src/common/keys.rs[m
[1mindex 53a6ff0..2ee689e 100644[m
[1m--- a/src/common/keys.rs[m
[1m+++ b/src/common/keys.rs[m
[36m@@ -92,19 +92,19 @@[m [mimpl Var {[m
     }[m
 [m
     /// Create for all alternate alleles from the given VCF record.[m
[31m-    pub fn from_vcf_allele(value: &noodles_vcf::Record, allele_no: usize) -> Self {[m
[31m-        let chrom = match value.chromosome() {[m
[31m-            noodles_vcf::record::Chromosome::Name(name)[m
[31m-            | noodles_vcf::record::Chromosome::Symbol(name) => name.to_owned(),[m
[31m-        };[m
[31m-        let pos: usize = value.position().into();[m
[31m-        let pos = pos as i32;[m
[32m+[m[32m    pub fn from_vcf_allele(value: &noodles_vcf::variant::RecordBuf, allele_no: usize) -> Self {[m
[32m+[m[32m        let chrom = value.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = value[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos = i32::try_from(pos).unwrap();[m
         let reference = value.reference_bases().to_string();[m
         Var {[m
             chrom,[m
             pos,[m
             reference,[m
[31m-            alternative: value.alternate_bases()[allele_no].to_string(),[m
[32m+[m[32m            alternative: value.alternate_bases().as_ref()[allele_no].to_string(),[m
         }[m
     }[m
 }[m
[1mdiff --git a/src/common/noodles.rs b/src/common/noodles.rs[m
[1mindex 1b88f33..ecc37fb 100644[m
[1m--- a/src/common/noodles.rs[m
[1m+++ b/src/common/noodles.rs[m
[36m@@ -2,14 +2,17 @@[m
 [m
 use std::str::FromStr;[m
 [m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 /// Extract a `String` field from a record.[m
[31m-pub fn get_string(record: &noodles_vcf::Record, name: &str) -> Result<String, anyhow::Error> {[m
[31m-    if let Some(Some(field::Value::String(v))) = record.info().get(&field::Key::from_str(name)?) {[m
[32m+[m[32mpub fn get_string([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<String, anyhow::Error> {[m
[32m+[m[32m    if let Some(Some(field::Value::String(v))) = record.info().get(name) {[m
         Ok(v.to_string())[m
     } else if let Some(Some(field::Value::Array(field::value::Array::String(vs)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(vs.first().unwrap().as_ref().unwrap().to_string())[m
     } else {[m
[36m@@ -18,19 +21,22 @@[m [mpub fn get_string(record: &noodles_vcf::Record, name: &str) -> Result<String, an[m
 }[m
 [m
 /// Extract a flag field from a record.[m
[31m-pub fn get_flag(record: &noodles_vcf::Record, name: &str) -> Result<bool, anyhow::Error> {[m
[32m+[m[32mpub fn get_flag([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<bool, anyhow::Error> {[m
     Ok(matches!([m
[31m-        record.info().get(&field::Key::from_str(name)?),[m
[32m+[m[32m        record.info().get(name),[m
         Some(Some(field::Value::Flag))[m
     ))[m
 }[m
 [m
 /// Extract an `i32` field from a record.[m
[31m-pub fn get_i32(record: &noodles_vcf::Record, name: &str) -> Result<i32, anyhow::Error> {[m
[31m-    if let Some(Some(field::Value::Integer(v))) = record.info().get(&field::Key::from_str(name)?) {[m
[32m+[m[32mpub fn get_i32(record: &noodles_vcf::variant::RecordBuf, name: &str) -> Result<i32, anyhow::Error> {[m
[32m+[m[32m    if let Some(Some(field::Value::Integer(v))) = record.info().get(name) {[m
         Ok(*v)[m
     } else if let Some(Some(field::Value::Array(field::value::Array::Integer(vs)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(vs.first().unwrap().unwrap())[m
     } else {[m
[36m@@ -39,11 +45,11 @@[m [mpub fn get_i32(record: &noodles_vcf::Record, name: &str) -> Result<i32, anyhow::[m
 }[m
 [m
 /// Extract an `f32` field from a record.[m
[31m-pub fn get_f32(record: &noodles_vcf::Record, name: &str) -> Result<f32, anyhow::Error> {[m
[31m-    if let Some(Some(field::Value::Float(v))) = record.info().get(&field::Key::from_str(name)?) {[m
[32m+[m[32mpub fn get_f32(record: &noodles_vcf::variant::RecordBuf, name: &str) -> Result<f32, anyhow::Error> {[m
[32m+[m[32m    if let Some(Some(field::Value::Float(v))) = record.info().get(name) {[m
         Ok(*v)[m
     } else if let Some(Some(field::Value::Array(field::value::Array::Float(vs)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(vs.first().unwrap().unwrap())[m
     } else {[m
[36m@@ -54,9 +60,12 @@[m [mpub fn get_f32(record: &noodles_vcf::Record, name: &str) -> Result<f32, anyhow::[m
 /// Extract an `Vec<String>` field from record with an array field.[m
 ///[m
 /// This is different than parsing the histograms from pipe-separated strings.[m
[31m-pub fn get_vec_str(record: &noodles_vcf::Record, name: &str) -> Result<Vec<String>, anyhow::Error> {[m
[32m+[m[32mpub fn get_vec_str([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<Vec<String>, anyhow::Error> {[m
     if let Some(Some(field::Value::Array(field::value::Array::String(vs)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(vs.iter().flatten().cloned().collect())[m
     } else {[m
[36m@@ -67,9 +76,12 @@[m [mpub fn get_vec_str(record: &noodles_vcf::Record, name: &str) -> Result<Vec<Strin[m
 /// Extract an `Vec<i32>` field from record with an array field.[m
 ///[m
 /// This is different than parsing the histograms from pipe-separated strings.[m
[31m-pub fn get_vec_i32(record: &noodles_vcf::Record, name: &str) -> Result<Vec<i32>, anyhow::Error> {[m
[32m+[m[32mpub fn get_vec_i32([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<Vec<i32>, anyhow::Error> {[m
     if let Some(Some(field::Value::Array(field::value::Array::Integer(vs)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(vs.iter().flatten().cloned().collect())[m
     } else {[m
[36m@@ -78,11 +90,14 @@[m [mpub fn get_vec_i32(record: &noodles_vcf::Record, name: &str) -> Result<Vec<i32>,[m
 }[m
 [m
 /// Extract an `Vec<FromStr>` field from a record encoded as a pipe symbol separated string.[m
[31m-pub fn get_vec<T>(record: &noodles_vcf::Record, name: &str) -> Result<Vec<T>, anyhow::Error>[m
[32m+[m[32mpub fn get_vec<T>([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<Vec<T>, anyhow::Error>[m
 where[m
     T: FromStr,[m
 {[m
[31m-    if let Some(Some(field::Value::String(v))) = record.info().get(&field::Key::from_str(name)?) {[m
[32m+[m[32m    if let Some(Some(field::Value::String(v))) = record.info().get(name) {[m
         v.split('|')[m
             .map(|s| s.parse())[m
             .collect::<Result<Vec<_>, _>>()[m
[36m@@ -94,12 +109,15 @@[m [mwhere[m
 [m
 /// Extract an `Vec<Vec<FromStr>>` field from a record encoded as a list of pipe symbol[m
 /// separated string.[m
[31m-pub fn get_vec_vec<T>(record: &noodles_vcf::Record, name: &str) -> Result<Vec<T>, anyhow::Error>[m
[32m+[m[32mpub fn get_vec_vec<T>([m
[32m+[m[32m    record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    name: &str,[m
[32m+[m[32m) -> Result<Vec<T>, anyhow::Error>[m
 where[m
     T: FromStr,[m
 {[m
     if let Some(Some(field::Value::Array(field::value::Array::String(value)))) =[m
[31m-        record.info().get(&field::Key::from_str(name)?)[m
[32m+[m[32m        record.info().get(name)[m
     {[m
         Ok(value[m
             .iter()[m
[1mdiff --git a/src/dbsnp/cli/import.rs b/src/dbsnp/cli/import.rs[m
[1mindex 10665c7..5277d5f 100644[m
[1m--- a/src/dbsnp/cli/import.rs[m
[1m+++ b/src/dbsnp/cli/import.rs[m
[36m@@ -8,6 +8,7 @@[m [muse clap::Parser;[m
 use indicatif::ParallelProgressIterator;[m
 use noodles_csi::BinningIndex as _;[m
 use noodles_vcf::header::record;[m
[32m+[m[32muse noodles_vcf::variant::RecordBuf;[m
 use prost::Message;[m
 use rayon::prelude::{IntoParallelRefIterator, ParallelIterator};[m
 [m
[36m@@ -105,7 +106,7 @@[m [mfn process_window([m
     let cf_dbsnp = db.cf_handle(&args.cf_name).unwrap();[m
     let cf_dbsnp_by_rsid = db.cf_handle(&args.cf_name_by_rsid).unwrap();[m
     let mut reader =[m
[31m-        noodles_vcf::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
[32m+[m[32m        noodles_vcf::io::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
     let raw_region = format!("{}:{}-{}", chrom, begin + 1, end);[m
[36m@@ -130,10 +131,10 @@[m [mfn process_window([m
     // exist).[m
     if let Some(query) = query {[m
         for result in query {[m
[31m-            let vcf_record = result?;[m
[32m+[m[32m            let vcf_record = RecordBuf::try_from_variant_record(&header, &result?)?;[m
 [m
             // Process each alternate allele into one record.[m
[31m-            for allele_no in 0..vcf_record.alternate_bases().len() {[m
[32m+[m[32m            for allele_no in 0..vcf_record.alternate_bases().as_ref().len() {[m
                 let key_buf: Vec<u8> =[m
                     common::keys::Var::from_vcf_allele(&vcf_record, allele_no).into();[m
                 let record = dbsnp::pbs::Record::from_vcf_allele(&vcf_record, allele_no)?;[m
[36m@@ -158,7 +159,7 @@[m [mpub fn run(common: &common::cli::Args, args: &Args) -> Result<(), anyhow::Error>[m
     tracing::info!("Opening dbSNP VCF file...");[m
     let before_loading = std::time::Instant::now();[m
     let mut reader_vcf =[m
[31m-        noodles_vcf::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
[32m+[m[32m        noodles_vcf::io::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
     let header = reader_vcf.read_header()?;[m
     let dbsnp_reference = if let record::value::Collection::Unstructured(values) = header[m
         .other_records()[m
[1mdiff --git a/src/dbsnp/pbs.rs b/src/dbsnp/pbs.rs[m
[1mindex 8ffb434..d4a5e52 100644[m
[1m--- a/src/dbsnp/pbs.rs[m
[1m+++ b/src/dbsnp/pbs.rs[m
[36m@@ -1,28 +1,30 @@[m
 //! Data structures for (de-)serialization as generated by `prost-build`.[m
 [m
[31m-use std::str::FromStr;[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 [m
 pub use crate::pbs::dbsnp::Record;[m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 impl Record {[m
     /// Creates a new `Record` from a VCF record and allele number.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
     ) -> Result<Self, anyhow::Error> {[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[31m-        let pos: i32 = pos.try_into()?;[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos: i32 = i32::try_from(pos)?;[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
[31m-        let rs_id = if let Some(Some(field::Value::Integer(rs))) =[m
[31m-            record.info().get(&field::Key::from_str("RS")?)[m
[31m-        {[m
[32m+[m[32m        let rs_id = if let Some(Some(field::Value::Integer(rs))) = record.info().get("RS") {[m
             *rs[m
         } else {[m
             anyhow::bail!("no rs id in dbSNP record")[m
[1mdiff --git a/src/freqs/cli/import/auto.rs b/src/freqs/cli/import/auto.rs[m
[1mindex 3000366..d7e854f 100644[m
[1m--- a/src/freqs/cli/import/auto.rs[m
[1m+++ b/src/freqs/cli/import/auto.rs[m
[36m@@ -7,8 +7,8 @@[m [mfn write_record([m
     db: &rocksdb::DBWithThreadMode<rocksdb::MultiThreaded>,[m
     cf: &std::sync::Arc<rocksdb::BoundColumnFamily>,[m
     record_key: &common::keys::Var,[m
[31m-    record_genome: &mut Option<noodles_vcf::Record>,[m
[31m-    record_exome: &mut Option<noodles_vcf::Record>,[m
[32m+[m[32m    record_genome: &mut Option<noodles_vcf::variant::RecordBuf>,[m
[32m+[m[32m    record_exome: &mut Option<noodles_vcf::variant::RecordBuf>,[m
 ) -> Result<(), anyhow::Error> {[m
     if record_genome.is_none() && record_exome.is_none() {[m
         // Early exit, nothing to write out.[m
[36m@@ -56,11 +56,14 @@[m [mpub fn import_region([m
     let mut readers = Vec::new();[m
     if let Some(path_genome) = path_genome {[m
         is_genome.push(true);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_genome)?);[m
[32m+[m[32m        readers.push([m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_genome)?,[m
[32m+[m[32m        );[m
     }[m
     if let Some(path_exome) = path_exome {[m
         is_genome.push(false);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_exome)?);[m
[32m+[m[32m        readers[m
[32m+[m[32m            .push(noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_exome)?);[m
     }[m
     // Read headers.[m
     let headers: Vec<_> = readers[m
[36m@@ -75,7 +78,7 @@[m [mpub fn import_region([m
         .map(|(reader, header)| reader.query(header, region))[m
         .collect::<Result<_, _>>()?;[m
     // Construct the `MultiQuery`.[m
[31m-    let multi_query = super::reading::MultiQuery::new(queries)?;[m
[32m+[m[32m    let multi_query = super::reading::MultiQuery::new(queries, &headers)?;[m
 [m
     // Now iterate over the `MultiQuery` and write to the database.[m
     //[m
[1mdiff --git a/src/freqs/cli/import/mod.rs b/src/freqs/cli/import/mod.rs[m
[1mindex 602ca69..a9d74b1 100644[m
[1m--- a/src/freqs/cli/import/mod.rs[m
[1m+++ b/src/freqs/cli/import/mod.rs[m
[36m@@ -76,21 +76,24 @@[m [mfn assign_to_chrom([m
     let mut res = HashMap::new();[m
 [m
     for path in paths {[m
[31m-        let mut reader = noodles_vcf::indexed_reader::Builder::default().build_from_path(path)?;[m
[32m+[m[32m        let mut reader =[m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path)?;[m
         let header = Box::new(reader.read_header()?);[m
         freqs::cli::import::reading::guess_assembly(header.as_ref(), true, Some(assembly))?;[m
         let record = reader[m
[31m-            .records(header.as_ref())[m
[32m+[m[32m            .record_bufs(header.as_ref())[m
             .next()[m
             .transpose()?[m
             .ok_or(anyhow::anyhow!("No records in VCF file {}", path))?;[m
[31m-        let k = contig_map.chrom_to_idx(record.chromosome()).map_err(|e| {[m
[31m-            anyhow::anyhow!([m
[31m-                "Error mapping chromosome {} to index: {}",[m
[31m-                record.chromosome(),[m
[31m-                e[m
[31m-            )[m
[31m-        })?;[m
[32m+[m[32m        let k = contig_map[m
[32m+[m[32m            .chrom_to_idx(record.reference_sequence_name())[m
[32m+[m[32m            .map_err(|e| {[m
[32m+[m[32m                anyhow::anyhow!([m
[32m+[m[32m                    "Error mapping chromosome {} to index: {}",[m
[32m+[m[32m                    record.reference_sequence_name(),[m
[32m+[m[32m                    e[m
[32m+[m[32m                )[m
[32m+[m[32m            })?;[m
         let v = path.clone();[m
         res.insert(k, v);[m
     }[m
[1mdiff --git a/src/freqs/cli/import/mt.rs b/src/freqs/cli/import/mt.rs[m
[1mindex 32ef54c..ec8028b 100644[m
[1m--- a/src/freqs/cli/import/mt.rs[m
[1m+++ b/src/freqs/cli/import/mt.rs[m
[36m@@ -7,8 +7,8 @@[m [mfn write_record([m
     db: &rocksdb::DBWithThreadMode<rocksdb::MultiThreaded>,[m
     cf: &std::sync::Arc<rocksdb::BoundColumnFamily>,[m
     record_key: &common::keys::Var,[m
[31m-    record_gnomad: &mut Option<noodles_vcf::Record>,[m
[31m-    record_helix: &mut Option<noodles_vcf::Record>,[m
[32m+[m[32m    record_gnomad: &mut Option<noodles_vcf::variant::RecordBuf>,[m
[32m+[m[32m    record_helix: &mut Option<noodles_vcf::variant::RecordBuf>,[m
 ) -> Result<(), anyhow::Error> {[m
     if record_gnomad.is_none() && record_helix.is_none() {[m
         // Early exit, nothing to write out.[m
[36m@@ -59,12 +59,15 @@[m [mpub fn import_region([m
     if let Some(path_gnomad) = path_gnomad {[m
         is_gnomad.push(true);[m
         paths.push(path_gnomad);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_gnomad)?);[m
[32m+[m[32m        readers.push([m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_gnomad)?,[m
[32m+[m[32m        );[m
     }[m
     if let Some(path_helix) = path_helix {[m
         is_gnomad.push(false);[m
         paths.push(path_helix);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_helix)?);[m
[32m+[m[32m        readers[m
[32m+[m[32m            .push(noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_helix)?);[m
     }[m
     // Read headers.[m
     let headers: Vec<_> = readers[m
[36m@@ -92,7 +95,7 @@[m [mpub fn import_region([m
         })[m
         .collect::<Result<_, _>>()?;[m
     // Construct the `MultiQuery`.[m
[31m-    let multi_query = super::reading::MultiQuery::new(queries)?;[m
[32m+[m[32m    let multi_query = super::reading::MultiQuery::new(queries, &headers)?;[m
 [m
     // Now iterate over the `MultiQuery` and write to the database.[m
     //[m
[1mdiff --git a/src/freqs/cli/import/reading.rs b/src/freqs/cli/import/reading.rs[m
[1mindex 6b48263..b1ba1ae 100644[m
[1m--- a/src/freqs/cli/import/reading.rs[m
[1m+++ b/src/freqs/cli/import/reading.rs[m
[36m@@ -3,6 +3,9 @@[m
 use std::collections::{BTreeMap, HashMap};[m
 [m
 use biocommons_bioutils::assemblies::{Assembly, Sequence, ASSEMBLY_INFOS};[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
[32m+[m[32muse noodles_vcf::variant::RecordBuf;[m
[32m+[m[32muse noodles_vcf::Header;[m
 [m
 use crate::common::cli::CANONICAL;[m
 [m
[36m@@ -42,14 +45,8 @@[m [mimpl ContigMap {[m
     }[m
 [m
     /// Map chromosome to index.[m
[31m-    pub fn chrom_to_idx([m
[31m-        &self,[m
[31m-        chrom: &noodles_vcf::record::Chromosome,[m
[31m-    ) -> Result<usize, ContigMapError> {[m
[31m-        match chrom {[m
[31m-            noodles_vcf::record::Chromosome::Name(s)[m
[31m-            | noodles_vcf::record::Chromosome::Symbol(s) => self.chrom_name_to_idx(s),[m
[31m-        }[m
[32m+[m[32m    pub fn chrom_to_idx(&self, chrom: &str) -> Result<usize, ContigMapError> {[m
[32m+[m[32m        self.chrom_name_to_idx(chrom)[m
     }[m
 [m
     /// Map chromosome name to index.[m
[36m@@ -72,7 +69,7 @@[m [mstruct Key {[m
     /// Chromosome.[m
     chrom: String,[m
     /// Noodles position.[m
[31m-    pos: noodles_vcf::record::Position,[m
[32m+[m[32m    pos: noodles_core::Position,[m
     /// Reference allele.[m
     reference: String,[m
     /// First (and only) alternate allelele.[m
[36m@@ -82,14 +79,18 @@[m [mstruct Key {[m
 }[m
 [m
 /// Build a key from a VCF record.[m
[31m-fn build_key(record: &noodles_vcf::Record, i: usize) -> Key {[m
[32m+[m[32mfn build_key(record: &RecordBuf, i: usize) -> Key {[m
     Key {[m
[31m-        chrom: record.chromosome().to_string(),[m
[31m-        pos: record.position(),[m
[32m+[m[32m        chrom: record.reference_sequence_name().to_string(),[m
[32m+[m[32m        pos: record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported"),[m
         reference: record.reference_bases().to_string(),[m
         alternative: record[m
             .alternate_bases()[m
[31m-            .first()[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .next()[m
[32m+[m[32m            .expect("must have alternate allele")[m
             .expect("must have alternate allele")[m
             .to_string(),[m
         idx: i,[m
[36m@@ -99,27 +100,33 @@[m [mfn build_key(record: &noodles_vcf::Record, i: usize) -> Key {[m
 /// Read through multiple `noodles_vcf::vcf::reader::Query`s at once.[m
 pub struct MultiQuery<'r, 'h, R>[m
 where[m
[31m-    R: std::io::Read + std::io::Seek,[m
[32m+[m[32m    R: std::io::Read + noodles_bgzf::io::Seek,[m
 {[m
     /// One query for each input file.[m
[31m-    queries: Vec<noodles_vcf::reader::Query<'r, 'h, R>>,[m
[32m+[m[32m    queries: Vec<noodles_vcf::io::reader::Query<'r, 'h, R>>,[m
[32m+[m
[32m+[m[32m    /// One header for each input file. (Not accessible from Query)[m
[32m+[m[32m    headers: Vec<Header>,[m
[32m+[m
     /// The current smallest-by-coordinate records.[m
[31m-    records: BTreeMap<Key, noodles_vcf::Record>,[m
[32m+[m[32m    records: BTreeMap<Key, RecordBuf>,[m
 }[m
 [m
 impl<'r, 'h, R> MultiQuery<'r, 'h, R>[m
 where[m
[31m-    R: std::io::Read + std::io::Seek,[m
[32m+[m[32m    R: noodles_bgzf::io::BufRead + noodles_bgzf::io::Seek,[m
 {[m
     /// Construct a new `MultiQuery`.[m
     pub fn new([m
[31m-        mut record_iters: Vec<noodles_vcf::reader::Query<'r, 'h, R>>,[m
[32m+[m[32m        mut record_iters: Vec<noodles_vcf::io::reader::Query<'r, 'h, R>>,[m
[32m+[m[32m        headers: &[Header],[m
     ) -> std::io::Result<Self> {[m
         let mut records = BTreeMap::new();[m
 [m
[31m-        for (i, iter) in record_iters.iter_mut().enumerate() {[m
[32m+[m[32m        for (i, (iter, header)) in record_iters.iter_mut().zip(headers).enumerate() {[m
             if let Some(result) = iter.next() {[m
                 let record = result?;[m
[32m+[m[32m                let record = RecordBuf::try_from_variant_record(header, &record)?;[m
                 let key = build_key(&record, i);[m
                 records.insert(key, record);[m
             }[m
[36m@@ -127,6 +134,7 @@[m [mwhere[m
 [m
         Ok(Self {[m
             queries: record_iters,[m
[32m+[m[32m            headers: headers.to_vec(),[m
             records,[m
         })[m
     }[m
[36m@@ -134,9 +142,9 @@[m [mwhere[m
 [m
 impl<'r, 'h, R> Iterator for MultiQuery<'r, 'h, R>[m
 where[m
[31m-    R: std::io::Read + std::io::Seek,[m
[32m+[m[32m    R: noodles_bgzf::io::BufRead + noodles_bgzf::io::Seek,[m
 {[m
[31m-    type Item = std::io::Result<(usize, noodles_vcf::Record)>;[m
[32m+[m[32m    type Item = std::io::Result<(usize, RecordBuf)>;[m
 [m
     /// Return next item if any.[m
     fn next(&mut self) -> Option<Self::Item> {[m
[36m@@ -145,6 +153,8 @@[m [mwhere[m
         if let Some(result) = self.queries[idx].next() {[m
             match result {[m
                 Ok(record) => {[m
[32m+[m[32m                    let record =[m
[32m+[m[32m                        RecordBuf::try_from_variant_record(&self.headers[idx], &record).ok()?;[m
                     let key = build_key(&record, idx);[m
                     self.records.insert(key, record);[m
                 }[m
[36m@@ -193,7 +203,7 @@[m [mpub fn guess_assembly([m
         let mut compatible = 0;[m
         for (name, data) in vcf_header.contigs() {[m
             if let Some(length) = data.length() {[m
[31m-                let idx = contig_map.name_map.get(name.as_ref());[m
[32m+[m[32m                let idx = contig_map.name_map.get(name);[m
                 if let Some(idx) = idx {[m
                     let name = &info.sequences[*idx].name;[m
                     if CANONICAL.contains(&name.as_ref()) {[m
[36m@@ -260,7 +270,7 @@[m [mmod test {[m
     #[test][m
     fn guess_assembly_helix_chrmt_ambiguous_ok_initial_none() -> Result<(), anyhow::Error> {[m
         let path = "tests/freqs/grch37/v2.1/reading/helix.chrM.vcf";[m
[31m-        let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path)?;[m
[32m+[m[32m        let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path)?;[m
         let header = reader.read_header()?;[m
 [m
         let actual = guess_assembly(&header, true, None)?;[m
[36m@@ -272,7 +282,7 @@[m [mmod test {[m
     #[test][m
     fn guess_assembly_helix_chrmt_ambiguous_ok_initial_override() -> Result<(), anyhow::Error> {[m
         let path = "tests/freqs/grch37/v2.1/reading/helix.chrM.vcf";[m
[31m-        let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path)?;[m
[32m+[m[32m        let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path)?;[m
         let header = reader.read_header()?;[m
 [m
         let actual = guess_assembly(&header, true, Some(Assembly::Grch37p10))?;[m
[36m@@ -285,7 +295,7 @@[m [mmod test {[m
     fn guess_assembly_helix_chrmt_ambiguous_ok_initial_override_fails() -> Result<(), anyhow::Error>[m
     {[m
         let path = "tests/freqs/grch37/v2.1/reading/helix.chrM.vcf";[m
[31m-        let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path)?;[m
[32m+[m[32m        let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path)?;[m
         let header = reader.read_header()?;[m
 [m
         assert!(guess_assembly(&header, false, Some(Assembly::Grch37)).is_err());[m
[36m@@ -296,7 +306,7 @@[m [mmod test {[m
     #[test][m
     fn guess_assembly_helix_chrmt_ambiguous_fail() -> Result<(), anyhow::Error> {[m
         let path = "tests/freqs/grch37/v2.1/reading/helix.chrM.vcf";[m
[31m-        let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path)?;[m
[32m+[m[32m        let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path)?;[m
         let header = reader.read_header()?;[m
 [m
         assert!(guess_assembly(&header, false, None).is_err());[m
[36m@@ -313,9 +323,9 @@[m [mmod test {[m
     #[test][m
     fn test_multiquery() -> Result<(), anyhow::Error> {[m
         let mut readers = vec![[m
[31m-            noodles_vcf::indexed_reader::Builder::default()[m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default()[m
                 .build_from_path("tests/freqs/grch37/v2.1/reading/gnomad.chrM.vcf.bgz")?,[m
[31m-            noodles_vcf::indexed_reader::Builder::default()[m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default()[m
                 .build_from_path("tests/freqs/grch37/v2.1/reading/helix.chrM.vcf.bgz")?,[m
         ];[m
 [m
[36m@@ -334,7 +344,7 @@[m [mmod test {[m
             .map(|(reader, header)| reader.query(header, &region))[m
             .collect::<Result<_, _>>()?;[m
 [m
[31m-        let multi_query = MultiQuery::new(queries)?;[m
[32m+[m[32m        let multi_query = MultiQuery::new(queries, &headers)?;[m
 [m
         let mut records = Vec::new();[m
         for result in multi_query {[m
[1mdiff --git a/src/freqs/cli/import/snapshots/annonars__freqs__cli__import__reading__test__multiquery.snap b/src/freqs/cli/import/snapshots/annonars__freqs__cli__import__reading__test__multiquery.snap[m
[1mindex aa73c88..31f6a1b 100644[m
[1m--- a/src/freqs/cli/import/snapshots/annonars__freqs__cli__import__reading__test__multiquery.snap[m
[1m+++ b/src/freqs/cli/import/snapshots/annonars__freqs__cli__import__reading__test__multiquery.snap[m
[36m@@ -1,54 +1,41 @@[m
 ---[m
 source: src/freqs/cli/import/reading.rs[m
[32m+[m[32massertion_line: 354[m
 expression: records[m
 ---[m
 [[m
     ([m
         0,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                3,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    3,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    T,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "T",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            C,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "C",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Pass,[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "PASS",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "variant_collapsed",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "variant_collapsed": Some([m
                         String([m
                             "T3C",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "vep",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "vep": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -59,207 +46,117 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "base_qual_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "base_qual_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "position_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "position_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "strand_bias_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "strand_bias_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "weak_evidence_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "weak_evidence_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "contamination_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "contamination_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "heteroplasmy_below_min_het_threshold_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "heteroplasmy_below_min_het_threshold_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "excluded_AC",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "excluded_AC": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             56434,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             19,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hl_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|1|19",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_mean": Some([m
                         Float([m
                             2522.87,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "mq_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "mq_mean": Some([m
                         Float([m
                             60.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "tlod_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "tlod_mean": Some([m
                         Float([m
                             6805.54,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AF_hom": Some([m
                         Float([m
                             0.000336676,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AF_het": Some([m
                         Float([m
                             1.77198e-5,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "max_hl",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "max_hl": Some([m
                         Float([m
                             0.997,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AN": Some([m
                         String([m
                             "2680|1537|868|603|34|282|91|14784|701|934|3144|2732|663|2977|4724|5672|126|1|1298|366|7|393|3080|6037|1234|819|546|12|89",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|17|1|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|6.76407e-05|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|5.51948e-03|1.65645e-04|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|3.24675e-04|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -354,92 +251,52 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_faf_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_faf_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|3.51633e-03|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hapmax_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hapmax_AF_hom": Some([m
                         String([m
                             "T",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hapmax_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hapmax_AF_het": Some([m
                         String([m
                             "T",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "faf_hapmax_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "faf_hapmax_hom": Some([m
                         Float([m
                             0.00351633,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AN": Some([m
                         String([m
                             "14347|392|5718|1415|1482|4892|25849|826|1493|20",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|1|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|19|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|7.35038e-04|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|3.86862e-05|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -477,99 +334,59 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_bin_freq": Some([m
                         String([m
                             "0|1|0|2|1|0|0|2|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_smaller": Some([m
                         Integer([m
                             3,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_smaller": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_n_larger": Some([m
                         Integer([m
                             35782,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_n_larger": Some([m
                         Integer([m
                             11,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_bin_freq": Some([m
                         String([m
                             "0|1|217|1234|2334|2600|2967|3324|3791|4184",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_bin_freq": Some([m
                         String([m
                             "0|0|0|0|2|0|1|4|2|0",[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[36m@@ -579,64 +396,48 @@[m [mexpression: records[m
     ),[m
     ([m
         1,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                5,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    5,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    A,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "A",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            C,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "C",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Pass,[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "PASS",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             196554,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[36m@@ -646,50 +447,31 @@[m [mexpression: records[m
     ),[m
     ([m
         0,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                6,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    6,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    C,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "C",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            C,[m
[31m-                            C,[m
[31m-                            T,[m
[31m-                            C,[m
[31m-                            A,[m
[31m-                            A,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "CCTCAA",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Fail([m
[31m-                    {[m
[31m-                        "npg",[m
[31m-                    },[m
[31m-                ),[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "npg",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "filters",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "filters": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -700,20 +482,12 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "variant_collapsed",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "variant_collapsed": Some([m
                         String([m
                             "C6CCTCAA",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "vep",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "vep": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -724,207 +498,117 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "base_qual_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "base_qual_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "position_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "position_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "strand_bias_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "strand_bias_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "weak_evidence_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "weak_evidence_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "contamination_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "contamination_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "heteroplasmy_below_min_het_threshold_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "heteroplasmy_below_min_het_threshold_hist": Some([m
                         String([m
                             "1|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "excluded_AC",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "excluded_AC": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             56433,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hl_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_mean": Some([m
                         Float([m
                             2527.78,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "mq_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "mq_mean": Some([m
                         Float([m
                             60.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "tlod_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "tlod_mean": Some([m
                         Float([m
                             0.537,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AF_hom": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AF_het": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "max_hl",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "max_hl": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AN": Some([m
                         String([m
                             "2679|1537|868|603|34|282|91|14784|701|934|3144|2732|663|2977|4724|5672|126|1|1298|366|7|393|3080|6037|1234|819|546|12|89",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1019,74 +703,42 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_faf_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_faf_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "faf_hapmax_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "faf_hapmax_hom": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AN": Some([m
                         String([m
                             "14347|392|5717|1415|1482|4892|25849|826|1493|20",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1124,99 +776,59 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_smaller": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_smaller": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_n_larger": Some([m
                         Integer([m
                             35855,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_bin_freq": Some([m
                         String([m
                             "0|0|216|1236|2310|2568|2964|3302|3802|4180",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[36m@@ -1226,45 +838,31 @@[m [mexpression: records[m
     ),[m
     ([m
         0,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                10,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    10,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    T,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "T",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            C,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "C",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Fail([m
[31m-                    {[m
[31m-                        "npg",[m
[31m-                    },[m
[31m-                ),[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "npg",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "filters",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "filters": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1275,20 +873,12 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "variant_collapsed",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "variant_collapsed": Some([m
                         String([m
                             "A7G",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "vep",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "vep": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1299,199 +889,109 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "base_qual_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "base_qual_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "position_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "position_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "strand_bias_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "strand_bias_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "weak_evidence_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "weak_evidence_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "contamination_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "contamination_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "heteroplasmy_below_min_het_threshold_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "heteroplasmy_below_min_het_threshold_hist": Some([m
                         String([m
                             "1|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "excluded_AC",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "excluded_AC": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             56433,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hl_hist": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_mean",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_mean": Some([m
                         Float([m
                             2555.14,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "mq_mean",[m
[31m-                        ),[m
[31m-                    ): None,[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "tlod_mean",[m
[31m-                        ),[m
[31m-                    ): None,[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "mq_mean": None,[m
[32m+[m[32m                    "tlod_mean": None,[m
[32m+[m[32m                    "AF_hom": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AF_het": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "max_hl",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "max_hl": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AN": Some([m
                         String([m
                             "2679|1537|868|603|34|282|91|14784|701|934|3144|2732|663|2977|4724|5672|126|1|1298|366|7|393|3080|6037|1234|819|546|12|89",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1586,74 +1086,42 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "hap_faf_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "hap_faf_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "faf_hapmax_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "faf_hapmax_hom": Some([m
                         Float([m
                             0.0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AN",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AN": Some([m
                         String([m
                             "14347|392|5717|1415|1482|4892|25849|826|1493|20",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_het": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AC_hom": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_hom": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_AF_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_AF_het": Some([m
                         String([m
                             "0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00|0.00000e+00",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "pop_hl_hist",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "pop_hl_hist": Some([m
                         Array([m
                             String([m
                                 [[m
[36m@@ -1691,99 +1159,59 @@[m [mexpression: records[m
                             ),[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_smaller": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_hom_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_hom_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_smaller",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_smaller": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "age_hist_het_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "age_hist_het_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_n_larger": Some([m
                         Integer([m
                             36388,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_n_larger",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_n_larger": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_all_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_all_bin_freq": Some([m
                         String([m
                             "0|0|194|1156|2241|2524|2903|3254|3706|4067",[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "dp_hist_alt_bin_freq",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "dp_hist_alt_bin_freq": Some([m
                         String([m
                             "0|0|0|0|0|0|0|0|0|0",[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[36m@@ -1793,64 +1221,48 @@[m [mexpression: records[m
     ),[m
     ([m
         1,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                10,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    10,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    T,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "T",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            C,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "C",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Pass,[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "PASS",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             196554,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             7,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[36m@@ -1860,64 +1272,48 @@[m [mexpression: records[m
     ),[m
     ([m
         1,[m
[31m-        Record {[m
[31m-            chromosome: Name([m
[31m-                "chrM",[m
[31m-            ),[m
[31m-            position: Position([m
[31m-                11,[m
[32m+[m[32m        RecordBuf {[m
[32m+[m[32m            reference_sequence_name: "chrM",[m
[32m+[m[32m            variant_start: Some([m
[32m+[m[32m                Position([m
[32m+[m[32m                    11,[m
[32m+[m[32m                ),[m
             ),[m
             ids: Ids([m
                 {},[m
             ),[m
[31m-            reference_bases: ReferenceBases([m
[31m-                [[m
[31m-                    C,[m
[31m-                ],[m
[31m-            ),[m
[32m+[m[32m            reference_bases: "C",[m
             alternate_bases: AlternateBases([m
                 [[m
[31m-                    Bases([m
[31m-                        [[m
[31m-                            T,[m
[31m-                        ],[m
[31m-                    ),[m
[32m+[m[32m                    "T",[m
                 ],[m
             ),[m
             quality_score: None,[m
[31m-            filters: Some([m
[31m-                Pass,[m
[32m+[m[32m            filters: Filters([m
[32m+[m[32m                {[m
[32m+[m[32m                    "PASS",[m
[32m+[m[32m                },[m
             ),[m
             info: Info([m
                 {[m
[31m-                    Standard([m
[31m-                        TotalAlleleCount,[m
[31m-                    ): Some([m
[32m+[m[32m                    "AN": Some([m
                         Integer([m
                             196554,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_hom",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_hom": Some([m
                         Integer([m
                             0,[m
                         ),[m
                     ),[m
[31m-                    Other([m
[31m-                        Other([m
[31m-                            "AC_het",[m
[31m-                        ),[m
[31m-                    ): Some([m
[32m+[m[32m                    "AC_het": Some([m
                         Integer([m
                             1,[m
                         ),[m
                     ),[m
                 },[m
             ),[m
[31m-            genotypes: Genotypes {[m
[32m+[m[32m            samples: Samples {[m
                 keys: Keys([m
                     {},[m
                 ),[m
[1mdiff --git a/src/freqs/cli/import/xy.rs b/src/freqs/cli/import/xy.rs[m
[1mindex 04b8623..6c71338 100644[m
[1m--- a/src/freqs/cli/import/xy.rs[m
[1m+++ b/src/freqs/cli/import/xy.rs[m
[36m@@ -7,8 +7,8 @@[m [mfn write_record([m
     db: &rocksdb::DBWithThreadMode<rocksdb::MultiThreaded>,[m
     cf: &std::sync::Arc<rocksdb::BoundColumnFamily>,[m
     record_key: &common::keys::Var,[m
[31m-    record_genome: &mut Option<noodles_vcf::Record>,[m
[31m-    record_exome: &mut Option<noodles_vcf::Record>,[m
[32m+[m[32m    record_genome: &mut Option<noodles_vcf::variant::RecordBuf>,[m
[32m+[m[32m    record_exome: &mut Option<noodles_vcf::variant::RecordBuf>,[m
 ) -> Result<(), anyhow::Error> {[m
     if record_genome.is_none() && record_exome.is_none() {[m
         // Early exit, nothing to write out.[m
[36m@@ -56,11 +56,14 @@[m [mpub fn import_region([m
     let mut readers = Vec::new();[m
     if let Some(path_genome) = path_genome {[m
         is_genome.push(true);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_genome)?);[m
[32m+[m[32m        readers.push([m
[32m+[m[32m            noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_genome)?,[m
[32m+[m[32m        );[m
     }[m
     if let Some(path_exome) = path_exome {[m
         is_genome.push(false);[m
[31m-        readers.push(noodles_vcf::indexed_reader::Builder::default().build_from_path(path_exome)?);[m
[32m+[m[32m        readers[m
[32m+[m[32m            .push(noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_exome)?);[m
     }[m
     // Read headers.[m
     let headers: Vec<_> = readers[m
[36m@@ -75,7 +78,7 @@[m [mpub fn import_region([m
         .map(|(reader, header)| reader.query(header, region))[m
         .collect::<Result<_, _>>()?;[m
     // Construct the `MultiQuery`.[m
[31m-    let multi_query = super::reading::MultiQuery::new(queries)?;[m
[32m+[m[32m    let multi_query = super::reading::MultiQuery::new(queries, &headers)?;[m
 [m
     // Now iterate over the `MultiQuery` and write to the database.[m
     //[m
[1mdiff --git a/src/freqs/serialized/auto.rs b/src/freqs/serialized/auto.rs[m
[1mindex e403e93..c459d84 100644[m
[1m--- a/src/freqs/serialized/auto.rs[m
[1m+++ b/src/freqs/serialized/auto.rs[m
[36m@@ -1,6 +1,7 @@[m
 //! Autosomal counts.[m
 [m
 use byteorder::{ByteOrder, LittleEndian};[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 [m
 use crate::common::noodles;[m
 [m
[36m@@ -17,7 +18,7 @@[m [mpub struct Counts {[m
 [m
 impl Counts {[m
     /// Create from the given VCF record.[m
[31m-    pub fn from_vcf_allele(value: &noodles_vcf::Record, _allele_no: usize) -> Self {[m
[32m+[m[32m    pub fn from_vcf_allele(value: &noodles_vcf::variant::RecordBuf, _allele_no: usize) -> Self {[m
         tracing::trace!("@ {:?}", &value);[m
         assert_eq!([m
             value.alternate_bases().len(),[m
[1mdiff --git a/src/freqs/serialized/mt.rs b/src/freqs/serialized/mt.rs[m
[1mindex e4ba61f..de33fc8 100644[m
[1m--- a/src/freqs/serialized/mt.rs[m
[1m+++ b/src/freqs/serialized/mt.rs[m
[36m@@ -1,6 +1,7 @@[m
 //! Mitochondrial counts.[m
 [m
 use byteorder::{ByteOrder, LittleEndian};[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 [m
 use crate::common::noodles;[m
 // use noodles_vcf::{[m
[36m@@ -22,7 +23,7 @@[m [mpub struct Counts {[m
 [m
 impl Counts {[m
     /// Create from the given VCF record.[m
[31m-    pub fn from_vcf_allele(value: &noodles_vcf::Record, _allele_no: usize) -> Self {[m
[32m+[m[32m    pub fn from_vcf_allele(value: &noodles_vcf::variant::RecordBuf, _allele_no: usize) -> Self {[m
         assert_eq!([m
             value.alternate_bases().len(),[m
             1,[m
[1mdiff --git a/src/freqs/serialized/xy.rs b/src/freqs/serialized/xy.rs[m
[1mindex dabbed8..1730107 100644[m
[1m--- a/src/freqs/serialized/xy.rs[m
[1m+++ b/src/freqs/serialized/xy.rs[m
[36m@@ -1,6 +1,7 @@[m
 //! gonosomal counts.[m
 [m
 use byteorder::{ByteOrder, LittleEndian};[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 [m
 use crate::common::noodles;[m
 [m
[36m@@ -19,7 +20,7 @@[m [mpub struct Counts {[m
 [m
 impl Counts {[m
     /// Create from the given VCF record.[m
[31m-    pub fn from_vcf_allele(value: &noodles_vcf::Record, _allele_no: usize) -> Self {[m
[32m+[m[32m    pub fn from_vcf_allele(value: &noodles_vcf::variant::RecordBuf, _allele_no: usize) -> Self {[m
         assert_eq!([m
             value.alternate_bases().len(),[m
             1,[m
[1mdiff --git a/src/gnomad_mtdna/cli/import.rs b/src/gnomad_mtdna/cli/import.rs[m
[1mindex 1bbe02f..fb69e4f 100644[m
[1m--- a/src/gnomad_mtdna/cli/import.rs[m
[1m+++ b/src/gnomad_mtdna/cli/import.rs[m
[36m@@ -5,6 +5,8 @@[m [muse std::sync::Arc;[m
 use clap::Parser;[m
 use indicatif::ParallelProgressIterator as _;[m
 use noodles_csi::BinningIndex as _;[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
[32m+[m[32muse noodles_vcf::variant::RecordBuf;[m
 use prost::Message as _;[m
 use rayon::prelude::{IntoParallelRefIterator, ParallelIterator};[m
 [m
[36m@@ -109,7 +111,7 @@[m [mfn process_window([m
 ) -> Result<(), anyhow::Error> {[m
     let cf_gnomad = db.cf_handle(&args.cf_name).unwrap();[m
     let mut reader =[m
[31m-        noodles_vcf::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
[32m+[m[32m        noodles_vcf::io::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
     let raw_region = format!("{}:{}-{}", chrom, begin + 1, end);[m
[36m@@ -136,6 +138,7 @@[m [mfn process_window([m
     if let Some(query) = query {[m
         for result in query {[m
             let vcf_record = result?;[m
[32m+[m[32m            let vcf_record = RecordBuf::try_from_variant_record(&header, &vcf_record)?;[m
 [m
             // Process each alternate allele into one record.[m
             let details_options = serde_json::from_str([m
[1mdiff --git a/src/gnomad_nuclear/cli/import.rs b/src/gnomad_nuclear/cli/import.rs[m
[1mindex d6d54be..2b301ed 100644[m
[1m--- a/src/gnomad_nuclear/cli/import.rs[m
[1m+++ b/src/gnomad_nuclear/cli/import.rs[m
[36m@@ -6,6 +6,8 @@[m [muse clap::Parser;[m
 use indicatif::ParallelProgressIterator;[m
 use noodles_csi::BinningIndex as _;[m
 use noodles_vcf::header::record;[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
[32m+[m[32muse noodles_vcf::variant::RecordBuf;[m
 use prost::Message;[m
 use rayon::prelude::{IntoParallelRefIterator, ParallelIterator};[m
 [m
[36m@@ -174,7 +176,7 @@[m [mfn process_window([m
 ) -> Result<(), anyhow::Error> {[m
     let cf_gnomad = db.cf_handle(&args.cf_name).unwrap();[m
     let mut reader =[m
[31m-        noodles_vcf::indexed_reader::Builder::default().build_from_path(path_in_vcf)?;[m
[32m+[m[32m        noodles_vcf::io::indexed_reader::Builder::default().build_from_path(path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
     let raw_region = format!("{}:{}-{}", chrom, begin + 1, end);[m
[36m@@ -201,6 +203,7 @@[m [mfn process_window([m
     if let Some(query) = query {[m
         for result in query {[m
             let vcf_record = result?;[m
[32m+[m[32m            let vcf_record = RecordBuf::try_from_variant_record(&header, &vcf_record)?;[m
 [m
             // Process each alternate allele into one record.[m
             for allele_no in 0..vcf_record.alternate_bases().len() {[m
[36m@@ -328,7 +331,7 @@[m [mpub fn run(common: &common::cli::Args, args: &Args) -> Result<(), anyhow::Error>[m
     tracing::info!("Opening gnomAD-nuclear VCF file...");[m
     let before_loading = std::time::Instant::now();[m
     let mut reader_vcf =[m
[31m-        noodles_vcf::reader::Builder::default().build_from_path(&args.path_in_vcf[0])?;[m
[32m+[m[32m        noodles_vcf::io::reader::Builder::default().build_from_path(&args.path_in_vcf[0])?;[m
     let header = reader_vcf.read_header()?;[m
 [m
     let vep_version = if let Some(record::value::Collection::Unstructured(values)) = header[m
[1mdiff --git a/src/gnomad_sv/cli/import/gnomad_cnv4.rs b/src/gnomad_sv/cli/import/gnomad_cnv4.rs[m
[1mindex 8e77ab3..3b73833 100644[m
[1m--- a/src/gnomad_sv/cli/import/gnomad_cnv4.rs[m
[1m+++ b/src/gnomad_sv/cli/import/gnomad_cnv4.rs[m
[36m@@ -1,6 +1,8 @@[m
 //! gnomAD CNV v4 import.[m
 [m
[31m-use std::{str::FromStr, sync::Arc};[m
[32m+[m[32muse itertools::Itertools;[m
[32m+[m[32muse noodles_vcf::variant::record::Ids;[m
[32m+[m[32muse std::{fmt, str::FromStr, sync::Arc};[m
 [m
 use crate::{[m
     common::noodles::{get_f32, get_i32, get_string, get_vec_str},[m
[36m@@ -43,17 +45,17 @@[m [mimpl FromStr for Population {[m
     }[m
 }[m
 [m
[31m-impl ToString for Population {[m
[31m-    fn to_string(&self) -> String {[m
[32m+[m[32mimpl fmt::Display for Population {[m
[32m+[m[32m    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {[m
         match self {[m
[31m-            Population::Afr => "AFR".to_string(),[m
[31m-            Population::Amr => "AMR".to_string(),[m
[31m-            Population::Asj => "ASJ".to_string(),[m
[31m-            Population::Eas => "EAS".to_string(),[m
[31m-            Population::Fin => "FIN".to_string(),[m
[31m-            Population::Mid => "MID".to_string(),[m
[31m-            Population::Nfe => "NFE".to_string(),[m
[31m-            Population::Sas => "SAS".to_string(),[m
[32m+[m[32m            Population::Afr => write!(f, "AFR"),[m
[32m+[m[32m            Population::Amr => write!(f, "AMR"),[m
[32m+[m[32m            Population::Asj => write!(f, "ASJ"),[m
[32m+[m[32m            Population::Eas => write!(f, "EAS"),[m
[32m+[m[32m            Population::Fin => write!(f, "FIN"),[m
[32m+[m[32m            Population::Mid => write!(f, "MID"),[m
[32m+[m[32m            Population::Nfe => write!(f, "NFE"),[m
[32m+[m[32m            Population::Sas => write!(f, "SAS"),[m
             _ => unreachable!("unknown population: {:?}", self),[m
         }[m
     }[m
[36m@@ -75,11 +77,14 @@[m [mimpl Record {[m
     ///[m
     /// * Any error encountered during the creation.[m
     pub fn from_vcf_record([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         cohort_name: &str,[m
     ) -> Result<Self, anyhow::Error> {[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let start: usize = record.position().into();[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let start: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
         let stop = get_i32(record, "END").expect("no END?");[m
         let inner_start = get_i32(record, "POSMAX").expect("no POSMAX?");[m
         let outer_start = get_i32(record, "POSMIN").expect("no POSMIN?");[m
[36m@@ -147,7 +152,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts from VCF record.[m
     fn carrier_counts_by_sex_from_vcf_record([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         population: Option<Population>,[m
     ) -> Result<CarrierCountsBySex, anyhow::Error> {[m
         let pop_prefix = population[m
[36m@@ -163,7 +168,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts for a given population from VCF record.[m
     fn extract_carrier_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         prefix: &str,[m
     ) -> Result<CarrierCounts, anyhow::Error> {[m
         let sc = get_f32(record, &format!("{}SC", prefix)).unwrap_or_default() as i32;[m
[36m@@ -217,12 +222,13 @@[m [mpub fn import([m
     };[m
     tracing::info!("importing gnomAD-CNV v4 {} cohort", cohort_name);[m
 [m
[31m-    let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path_in_vcf)?;[m
[32m+[m[32m    let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
[31m-    for result in reader.records(&header) {[m
[32m+[m[32m    for result in reader.record_bufs(&header) {[m
         let vcf_record = result?;[m
[31m-        let key = format!("{}", vcf_record.ids()).into_bytes();[m
[32m+[m[32m        // TODO make sure this doesn't change anything[m
[32m+[m[32m        let key = vcf_record.ids().as_ref().iter().join(",").into_bytes();[m
 [m
         // Build record for VCF record.[m
         let record = Record::from_vcf_record(&vcf_record, cohort_name)[m
[1mdiff --git a/src/gnomad_sv/cli/import/gnomad_sv2.rs b/src/gnomad_sv/cli/import/gnomad_sv2.rs[m
[1mindex b5aadfa..5398fb3 100644[m
[1m--- a/src/gnomad_sv/cli/import/gnomad_sv2.rs[m
[1m+++ b/src/gnomad_sv/cli/import/gnomad_sv2.rs[m
[36m@@ -3,7 +3,11 @@[m
 //! Note that gnomAD v2 did not have distinction between different cohorts within[m
 //! one file.  Rather, there is one file for each cohort (all, controls, non-neuro).[m
 [m
[31m-use std::{str::FromStr, sync::Arc};[m
[32m+[m[32muse std::{fmt, str::FromStr, sync::Arc};[m
[32m+[m
[32m+[m[32muse itertools::Itertools;[m
[32m+[m[32muse noodles_vcf::variant::record::Ids;[m
[32m+[m[32muse prost::Message;[m
 [m
 use crate::{[m
     common::noodles::{get_f32, get_i32, get_string},[m
[36m@@ -13,8 +17,6 @@[m [muse crate::{[m
     },[m
 };[m
 [m
[31m-use prost::Message;[m
[31m-[m
 impl FromStr for Filter {[m
     type Err = anyhow::Error;[m
 [m
[36m@@ -46,17 +48,16 @@[m [mimpl FromStr for Population {[m
     }[m
 }[m
 [m
[31m-impl ToString for Population {[m
[31m-    fn to_string(&self) -> String {[m
[32m+[m[32mimpl fmt::Display for Population {[m
[32m+[m[32m    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {[m
         match self {[m
[31m-            Population::Afr => "AFR",[m
[31m-            Population::Amr => "AMR",[m
[31m-            Population::Eas => "EAS",[m
[31m-            Population::Eur => "EUR",[m
[31m-            Population::Other => "OTH",[m
[32m+[m[32m            Population::Afr => write!(f, "AFR"),[m
[32m+[m[32m            Population::Amr => write!(f, "AMR"),[m
[32m+[m[32m            Population::Eas => write!(f, "EAS"),[m
[32m+[m[32m            Population::Eur => write!(f, "EUR"),[m
[32m+[m[32m            Population::Other => write!(f, "OTH"),[m
             _ => unreachable!("unknown population: {:?}", self),[m
         }[m
[31m-        .to_string()[m
     }[m
 }[m
 [m
[36m@@ -125,12 +126,15 @@[m [mimpl Record {[m
     ///[m
     /// * Any error encountered during the creation.[m
     pub fn from_vcf_record([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         cohort_name: &str,[m
     ) -> Result<Self, anyhow::Error> {[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[31m-        let pos = pos as i32;[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos = i32::try_from(pos)?;[m
         let end = get_i32(record, "END").ok();[m
         let chrom2 = get_string(record, "CHROM2").ok();[m
         let end2 = get_i32(record, "END2").ok();[m
[36m@@ -140,25 +144,20 @@[m [mimpl Record {[m
             .next()[m
             .map(|s| s.to_string())[m
             .ok_or_else(|| anyhow::anyhow!("no ID found in VCF record"))?;[m
[31m-        let filters = record[m
[31m-            .filters()[m
[31m-            .map(|f| -> Result<_, anyhow::Error> {[m
[31m-                use noodles_vcf::record::Filters::*;[m
[31m-                Ok(match f {[m
[31m-                    Pass => vec![Filter::Pass as i32],[m
[31m-                    Fail(f) => {[m
[31m-                        let mut result = f[m
[31m-                            .iter()[m
[31m-                            .map(|s| s.parse::<Filter>().map(|f| f as i32))[m
[31m-                            .collect::<Result<Vec<_>, _>>()[m
[31m-                            .map_err(|e| anyhow::anyhow!("problem parsing FILTER: {}", e))?;[m
[31m-                        result.sort();[m
[31m-                        result[m
[31m-                    }[m
[31m-                })[m
[31m-            })[m
[31m-            .transpose()?[m
[31m-            .unwrap_or_else(|| vec![Filter::Pass as i32]);[m
[32m+[m[32m        let filters = if record.filters().is_pass() {[m
[32m+[m[32m            vec![Filter::Pass as i32][m
[32m+[m[32m        } else {[m
[32m+[m[32m            let mut result = record[m
[32m+[m[32m                .filters()[m
[32m+[m[32m                .as_ref()[m
[32m+[m[32m                .iter()[m
[32m+[m[32m                .map(|s| s.parse::<Filter>().map(|f| f as i32))[m
[32m+[m[32m                .collect::<Result<Vec<_>, _>>()[m
[32m+[m[32m                .map_err(|e| anyhow::anyhow!("problem parsing FILTER: {}", e))?;[m
[32m+[m[32m            result.sort();[m
[32m+[m[32m            result[m
[32m+[m[32m        };[m
[32m+[m
         let sv_type = get_string(record, "SVTYPE")?[m
             .parse::<SvType>()[m
             .map(|x| x as i32)?;[m
[36m@@ -184,7 +183,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts from VCF record.[m
     fn allele_counts_from_vcf_record([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         cohort_name: &str,[m
     ) -> Result<CohortAlleleCounts, anyhow::Error> {[m
         let cohort = if cohort_name == "all" {[m
[36m@@ -224,7 +223,7 @@[m [mimpl Record {[m
 [m
     /// Extract poulation allele counts.[m
     fn extract_population_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         population: Population,[m
     ) -> Result<PopulationAlleleCounts, anyhow::Error> {[m
         let pop_str = population.to_string();[m
[36m@@ -246,7 +245,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts for a given population from VCF record.[m
     fn extract_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         prefix: &str,[m
         population: &str,[m
     ) -> Result<AlleleCounts, anyhow::Error> {[m
[36m@@ -327,12 +326,12 @@[m [mpub fn import([m
     };[m
     tracing::info!("importing gnomAD-SV v2 {} cohort", cohort_name);[m
 [m
[31m-    let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path_in_vcf)?;[m
[32m+[m[32m    let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
[31m-    for result in reader.records(&header) {[m
[32m+[m[32m    for result in reader.record_bufs(&header) {[m
         let vcf_record = result?;[m
[31m-        let key = format!("{}", vcf_record.ids()).into_bytes();[m
[32m+[m[32m        let key = vcf_record.ids().as_ref().iter().join(",").into_bytes();[m
 [m
         // Build record for VCF record.[m
         let record = Record::from_vcf_record(&vcf_record, cohort_name)[m
[1mdiff --git a/src/gnomad_sv/cli/import/gnomad_sv4.rs b/src/gnomad_sv/cli/import/gnomad_sv4.rs[m
[1mindex 87f0022..066bb1e 100644[m
[1m--- a/src/gnomad_sv/cli/import/gnomad_sv4.rs[m
[1m+++ b/src/gnomad_sv/cli/import/gnomad_sv4.rs[m
[36m@@ -3,7 +3,12 @@[m
 //! Note that gnomAD v2 did not have distinction between different cohorts within[m
 //! one file.  Rather, there is one file for each cohort (all, controls, non-neuro).[m
 [m
[31m-use std::{str::FromStr, sync::Arc};[m
[32m+[m[32muse std::{fmt, str::FromStr, sync::Arc};[m
[32m+[m
[32m+[m[32muse indicatif::ParallelProgressIterator as _;[m
[32m+[m[32muse noodles_vcf::variant::record::Ids;[m
[32m+[m[32muse prost::Message as _;[m
[32m+[m[32muse rayon::iter::{IntoParallelRefIterator as _, ParallelIterator as _};[m
 [m
 use crate::{[m
     common::{[m
[36m@@ -17,10 +22,6 @@[m [muse crate::{[m
     },[m
 };[m
 [m
[31m-use indicatif::ParallelProgressIterator as _;[m
[31m-use prost::Message as _;[m
[31m-use rayon::iter::{IntoParallelRefIterator as _, ParallelIterator as _};[m
[31m-[m
 impl FromStr for Filter {[m
     type Err = anyhow::Error;[m
 [m
[36m@@ -62,22 +63,21 @@[m [mimpl FromStr for Population {[m
     }[m
 }[m
 [m
[31m-impl ToString for Population {[m
[31m-    fn to_string(&self) -> String {[m
[32m+[m[32mimpl fmt::Display for Population {[m
[32m+[m[32m    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {[m
         match self {[m
[31m-            Population::Afr => "AFR",[m
[31m-            Population::Ami => "AMI",[m
[31m-            Population::Amr => "AMR",[m
[31m-            Population::Asj => "ASJ",[m
[31m-            Population::Eas => "EAS",[m
[31m-            Population::Fin => "FIN",[m
[31m-            Population::Mid => "MID",[m
[31m-            Population::Nfe => "NFE",[m
[31m-            Population::Sas => "SAS",[m
[31m-            Population::Other => "OTH",[m
[32m+[m[32m            Population::Afr => write!(f, "AFR"),[m
[32m+[m[32m            Population::Ami => write!(f, "AMI"),[m
[32m+[m[32m            Population::Amr => write!(f, "AMR"),[m
[32m+[m[32m            Population::Asj => write!(f, "ASJ"),[m
[32m+[m[32m            Population::Eas => write!(f, "EAS"),[m
[32m+[m[32m            Population::Fin => write!(f, "FIN"),[m
[32m+[m[32m            Population::Mid => write!(f, "MID"),[m
[32m+[m[32m            Population::Nfe => write!(f, "NFE"),[m
[32m+[m[32m            Population::Sas => write!(f, "SAS"),[m
[32m+[m[32m            Population::Other => write!(f, "OTH"),[m
             _ => unreachable!("unknown population: {:?}", self),[m
         }[m
[31m-        .to_string()[m
     }[m
 }[m
 [m
[36m@@ -120,10 +120,15 @@[m [mimpl Record {[m
     /// # Errors[m
     ///[m
     /// * Any error encountered during the creation.[m
[31m-    pub fn from_vcf_record(record: &noodles_vcf::Record) -> Result<Self, anyhow::Error> {[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[31m-        let pos = pos as i32;[m
[32m+[m[32m    pub fn from_vcf_record([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<Self, anyhow::Error> {[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos = i32::try_from(pos)?;[m
         let end = get_i32(record, "END").ok();[m
         let chrom2 = get_string(record, "CHROM2").ok();[m
         let end2 = get_i32(record, "END2").ok();[m
[36m@@ -133,25 +138,20 @@[m [mimpl Record {[m
             .next()[m
             .map(|s| s.to_string())[m
             .ok_or_else(|| anyhow::anyhow!("no ID found in VCF record"))?;[m
[31m-        let filters = record[m
[31m-            .filters()[m
[31m-            .map(|f| -> Result<_, anyhow::Error> {[m
[31m-                use noodles_vcf::record::Filters::*;[m
[31m-                Ok(match f {[m
[31m-                    Pass => vec![Filter::Pass as i32],[m
[31m-                    Fail(f) => {[m
[31m-                        let mut result = f[m
[31m-                            .iter()[m
[31m-                            .map(|s| s.parse::<Filter>().map(|f| f as i32))[m
[31m-                            .collect::<Result<Vec<_>, _>>()[m
[31m-                            .map_err(|e| anyhow::anyhow!("problem parsing FILTER: {}", e))?;[m
[31m-                        result.sort();[m
[31m-                        result[m
[31m-                    }[m
[31m-                })[m
[31m-            })[m
[31m-            .transpose()?[m
[31m-            .unwrap_or_else(|| vec![Filter::Pass as i32]);[m
[32m+[m[32m        let filters = if record.filters().is_pass() {[m
[32m+[m[32m            vec![Filter::Pass as i32][m
[32m+[m[32m        } else {[m
[32m+[m[32m            let mut result = record[m
[32m+[m[32m                .filters()[m
[32m+[m[32m                .as_ref()[m
[32m+[m[32m                .iter()[m
[32m+[m[32m                .map(|s| s.parse::<Filter>().map(|f| f as i32))[m
[32m+[m[32m                .collect::<Result<Vec<_>, _>>()[m
[32m+[m[32m                .map_err(|e| anyhow::anyhow!("problem parsing FILTER: {}", e))?;[m
[32m+[m[32m            result.sort();[m
[32m+[m[32m            result[m
[32m+[m[32m        };[m
[32m+[m
         let sv_type = get_string(record, "SVTYPE")?[m
             .parse::<SvType>()[m
             .map(|x| x as i32)?;[m
[36m@@ -180,7 +180,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts from VCF record.[m
     fn allele_counts_from_vcf_record([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         cohort_name: &str,[m
     ) -> Result<CohortAlleleCounts, anyhow::Error> {[m
         let cohort = if cohort_name == "all" {[m
[36m@@ -225,7 +225,7 @@[m [mimpl Record {[m
 [m
     /// Extract poulation allele counts.[m
     fn extract_population_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         population: Population,[m
     ) -> Result<PopulationAlleleCounts, anyhow::Error> {[m
         let pop_str = population.to_string();[m
[36m@@ -247,7 +247,7 @@[m [mimpl Record {[m
 [m
     /// Extract allele counts for a given population from VCF record.[m
     fn extract_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         prefix: &str,[m
         population: &str,[m
     ) -> Result<AlleleCounts, anyhow::Error> {[m
[36m@@ -317,13 +317,15 @@[m [mfn import_file([m
     cf_data_name: &str,[m
     path_in_vcf: &str,[m
 ) -> Result<(), anyhow::Error> {[m
[31m-    let mut reader = noodles_vcf::reader::Builder::default().build_from_path(path_in_vcf)?;[m
[32m+[m[32m    let mut reader = noodles_vcf::io::reader::Builder::default().build_from_path(path_in_vcf)?;[m
     let header = reader.read_header()?;[m
     let cf_data = db.cf_handle(cf_data_name).unwrap();[m
 [m
[31m-    for result in reader.records(&header) {[m
[32m+[m[32m    for result in reader.record_bufs(&header) {[m
         let vcf_record = result?;[m
[31m-        let key = format!("{}", vcf_record.ids()).into_bytes();[m
[32m+[m[32m        // TODO check if this key is the same as before[m
[32m+[m[32m        use itertools::Itertools;[m
[32m+[m[32m        let key = vcf_record.ids().as_ref().iter().join(",").into_bytes();[m
 [m
         // Build record for VCF record.[m
         let record = Record::from_vcf_record(&vcf_record)[m
[1mdiff --git a/src/helixmtdb/cli/import.rs b/src/helixmtdb/cli/import.rs[m
[1mindex 5e7189d..d51164d 100644[m
[1m--- a/src/helixmtdb/cli/import.rs[m
[1m+++ b/src/helixmtdb/cli/import.rs[m
[36m@@ -5,6 +5,8 @@[m [muse std::sync::Arc;[m
 use clap::Parser;[m
 use indicatif::ParallelProgressIterator;[m
 use noodles_csi::BinningIndex as _;[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
[32m+[m[32muse noodles_vcf::variant::RecordBuf;[m
 use prost::Message;[m
 use rayon::prelude::{IntoParallelRefIterator, ParallelIterator};[m
 [m
[36m@@ -98,7 +100,7 @@[m [mfn process_window([m
 ) -> Result<(), anyhow::Error> {[m
     let cf_helix = db.cf_handle(&args.cf_name).unwrap();[m
     let mut reader =[m
[31m-        noodles_vcf::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
[32m+[m[32m        noodles_vcf::io::indexed_reader::Builder::default().build_from_path(&args.path_in_vcf)?;[m
     let header = reader.read_header()?;[m
 [m
     let raw_region = format!("{}:{}-{}", chrom, begin + 1, end);[m
[36m@@ -125,6 +127,7 @@[m [mfn process_window([m
     if let Some(query) = query {[m
         for result in query {[m
             let vcf_record = result?;[m
[32m+[m[32m            let vcf_record = RecordBuf::try_from_variant_record(&header, &vcf_record)?;[m
 [m
             // Process each alternate allele into one record.[m
             for allele_no in 0..vcf_record.alternate_bases().len() {[m
[1mdiff --git a/src/helixmtdb/pbs.rs b/src/helixmtdb/pbs.rs[m
[1mindex 6718448..a1819ba 100644[m
[1m--- a/src/helixmtdb/pbs.rs[m
[1m+++ b/src/helixmtdb/pbs.rs[m
[36m@@ -1,60 +1,59 @@[m
 //! Data structures for (de-)serialization as generated by `prost-build`.[m
 [m
[31m-use std::str::FromStr;[m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 [m
 pub use crate::pbs::helixmtdb::Record;[m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 impl Record {[m
     /// Creates a new `Record` from a VCF record and allele number.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
     ) -> Result<Self, anyhow::Error> {[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[31m-        let pos = pos as i32;[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos = i32::try_from(pos)?;[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
[31m-        let num_total = if let Some(Some(field::Value::Integer(num_total))) =[m
[31m-            record.info().get(&field::Key::from_str("AN")?)[m
[31m-        {[m
[31m-            *num_total[m
[31m-        } else {[m
[31m-            anyhow::bail!("missing INFO/AN in HelixMtDb record")[m
[31m-        };[m
[31m-        let num_het = if let Some(Some(field::Value::Integer(num_het))) =[m
[31m-            record.info().get(&field::Key::from_str("AC_het")?)[m
[31m-        {[m
[31m-            *num_het[m
[31m-        } else {[m
[31m-            anyhow::bail!("missing INFO/AC in HelixMtDb record")[m
[31m-        };[m
[31m-        let num_hom = if let Some(Some(field::Value::Integer(num_hom))) =[m
[31m-            record.info().get(&field::Key::from_str("AC_hom")?)[m
[31m-        {[m
[31m-            *num_hom[m
[31m-        } else {[m
[31m-            anyhow::bail!("missing INFO/AC_hom in HelixMtDb record")[m
[31m-        };[m
[31m-        let feature_type = if let Some(Some(field::Value::String(feature))) =[m
[31m-            record.info().get(&field::Key::from_str("FEATURE")?)[m
[31m-        {[m
[31m-            feature.to_string()[m
[31m-        } else {[m
[31m-            anyhow::bail!("missing INFO/FEATURE in HelixMtDb record")[m
[31m-        };[m
[31m-        let gene_name = if let Some(Some(field::Value::String(gene_name))) =[m
[31m-            record.info().get(&field::Key::from_str("GENE")?)[m
[31m-        {[m
[31m-            gene_name.to_string()[m
[31m-        } else {[m
[31m-            anyhow::bail!("missing INFO/GENE in HelixMtDb record")[m
[31m-        };[m
[32m+[m[32m        let num_total =[m
[32m+[m[32m            if let Some(Some(field::Value::Integer(num_total))) = record.info().get("AN") {[m
[32m+[m[32m                *num_total[m
[32m+[m[32m            } else {[m
[32m+[m[32m                anyhow::bail!("missing INFO/AN in HelixMtDb record")[m
[32m+[m[32m            };[m
[32m+[m[32m        let num_het =[m
[32m+[m[32m            if let Some(Some(field::Value::Integer(num_het))) = record.info().get("AC_het") {[m
[32m+[m[32m                *num_het[m
[32m+[m[32m            } else {[m
[32m+[m[32m                anyhow::bail!("missing INFO/AC in HelixMtDb record")[m
[32m+[m[32m            };[m
[32m+[m[32m        let num_hom =[m
[32m+[m[32m            if let Some(Some(field::Value::Integer(num_hom))) = record.info().get("AC_hom") {[m
[32m+[m[32m                *num_hom[m
[32m+[m[32m            } else {[m
[32m+[m[32m                anyhow::bail!("missing INFO/AC_hom in HelixMtDb record")[m
[32m+[m[32m            };[m
[32m+[m[32m        let feature_type =[m
[32m+[m[32m            if let Some(Some(field::Value::String(feature))) = record.info().get("FEATURE") {[m
[32m+[m[32m                feature.to_string()[m
[32m+[m[32m            } else {[m
[32m+[m[32m                anyhow::bail!("missing INFO/FEATURE in HelixMtDb record")[m
[32m+[m[32m            };[m
[32m+[m[32m        let gene_name =[m
[32m+[m[32m            if let Some(Some(field::Value::String(gene_name))) = record.info().get("GENE") {[m
[32m+[m[32m                gene_name.to_string()[m
[32m+[m[32m            } else {[m
[32m+[m[32m                anyhow::bail!("missing INFO/GENE in HelixMtDb record")[m
[32m+[m[32m            };[m
 [m
         Ok(Record {[m
             chrom,[m
[1mdiff --git a/src/pbs/clinvar.rs b/src/pbs/clinvar.rs[m
[1mindex ebdc58b..1e14aa0 100644[m
[1m--- a/src/pbs/clinvar.rs[m
[1m+++ b/src/pbs/clinvar.rs[m
[36m@@ -1,5 +1,50 @@[m
 //! Code generate for protobufs by `prost-build`.[m
 [m
[32m+[m[32m/// Code generated for protobufs by `prost-build`.[m
[32m+[m[32mpub mod class_by_freq {[m
[32m+[m[32m    include!(concat!(env!("OUT_DIR"), "/clinvar_data.class_by_freq.rs"));[m
[32m+[m[32m    include!(concat!([m
[32m+[m[32m        env!("OUT_DIR"),[m
[32m+[m[32m        "/clinvar_data.class_by_freq.serde.rs"[m
[32m+[m[32m    ));[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m/// Code generated for protobufs by `prost-build`.[m
[32m+[m[32mpub mod clinvar_public {[m
[32m+[m[32m    include!(concat!(env!("OUT_DIR"), "/clinvar_data.clinvar_public.rs"));[m
[32m+[m[32m    include!(concat!([m
[32m+[m[32m        env!("OUT_DIR"),[m
[32m+[m[32m        "/clinvar_data.clinvar_public.serde.rs"[m
[32m+[m[32m    ));[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m/// Code generated for protobufs by `prost-build`.[m
[32m+[m[32mpub mod extracted_vars {[m
[32m+[m[32m    include!(concat!(env!("OUT_DIR"), "/clinvar_data.extracted_vars.rs"));[m
[32m+[m[32m    include!(concat!([m
[32m+[m[32m        env!("OUT_DIR"),[m
[32m+[m[32m        "/clinvar_data.extracted_vars.serde.rs"[m
[32m+[m[32m    ));[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m/// Code generated for protobufs by `prost-build`.[m
[32m+[m[32mpub mod gene_impact {[m
[32m+[m[32m    include!(concat!(env!("OUT_DIR"), "/clinvar_data.gene_impact.rs"));[m
[32m+[m[32m    include!(concat!([m
[32m+[m[32m        env!("OUT_DIR"),[m
[32m+[m[32m        "/clinvar_data.gene_impact.serde.rs"[m
[32m+[m[32m    ));[m
[32m+[m[32m}[m
[32m+[m
[32m+[m[32m/// Code generated for protobufs by `prost-build`.[m
[32m+[m[32mpub mod phenotype_link {[m
[32m+[m[32m    include!(concat!(env!("OUT_DIR"), "/clinvar_data.phenotype_link.rs"));[m
[32m+[m[32m    include!(concat!([m
[32m+[m[32m        env!("OUT_DIR"),[m
[32m+[m[32m        "/clinvar_data.phenotype_link.serde.rs"[m
[32m+[m[32m    ));[m
[32m+[m[32m}[m
[32m+[m
 /// Code generate for protobufs by `prost-build`.[m
 pub mod minimal {[m
     include!(concat!(env!("OUT_DIR"), "/annonars.clinvar.minimal.rs"));[m
[1mdiff --git a/src/pbs/gnomad/gnomad2.rs b/src/pbs/gnomad/gnomad2.rs[m
[1mindex c0450a6..c9e4d2c 100644[m
[1m--- a/src/pbs/gnomad/gnomad2.rs[m
[1m+++ b/src/pbs/gnomad/gnomad2.rs[m
[36m@@ -1,8 +1,9 @@[m
 //! Code generate for protobufs by `prost-build`.[m
 [m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 use std::str::FromStr;[m
 [m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 use crate::common;[m
 [m
[36m@@ -85,7 +86,7 @@[m [mimpl DetailsOptions {[m
 impl Record {[m
     /// Creates a new `Record` from a VCF record and allele number.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
         options: &DetailsOptions,[m
     ) -> Result<Self, anyhow::Error> {[m
[36m@@ -94,14 +95,18 @@[m [mimpl Record {[m
         assert!(allele_no == 0, "only allele 0 is supported");[m
 [m
         // Extract mandatory fields.[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[31m-        let pos = pos as i32;[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
[32m+[m[32m        let pos = i32::try_from(pos).unwrap();[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
         let filters = Self::extract_filters(record)?;[m
         let allele_counts = Self::extract_cohorts_allele_counts(record, options)?;[m
[36m@@ -159,10 +164,10 @@[m [mimpl Record {[m
 [m
     /// Extract the "vep" field into gnomAD v2 `Vep` records.[m
     fn extract_vep([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<Vec<super::vep_gnomad2::Vep>, anyhow::Error> {[m
         if let Some(Some(field::Value::Array(field::value::Array::String(v)))) =[m
[31m-            record.info().get(&field::Key::from_str("vep")?)[m
[32m+[m[32m            record.info().get("vep")[m
         {[m
             v.iter()[m
                 .flat_map(|v| {[m
[36m@@ -184,7 +189,7 @@[m [mimpl Record {[m
 [m
     /// Extract the liftover related fields into gnomAD v2 `Vep` records.[m
     fn extract_liftover([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<Option<LiftoverInfo>, anyhow::Error> {[m
         let tmp = LiftoverInfo {[m
             reverse_complemented_alleles: common::noodles::get_flag([m
[36m@@ -210,7 +215,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the details on the random forest.[m
[31m-    fn extract_rf_info(record: &noodles_vcf::Record) -> Result<RandomForestInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_rf_info([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<RandomForestInfo, anyhow::Error> {[m
         Ok(RandomForestInfo {[m
             rf_tp_probability: common::noodles::get_f32(record, "rf_tp_probability")?,[m
             rf_positive_label: common::noodles::get_flag(record, "rf_positive_label")?,[m
[36m@@ -221,7 +228,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the details on the variant.[m
[31m-    fn extract_variant_info(record: &noodles_vcf::Record) -> Result<VariantInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_variant_info([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<VariantInfo, anyhow::Error> {[m
         Ok(VariantInfo {[m
             variant_type: common::noodles::get_string(record, "variant_type")?,[m
             allele_type: common::noodles::get_string(record, "allele_type")?,[m
[36m@@ -232,10 +241,12 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the filters fields.[m
[31m-    fn extract_filters(record: &noodles_vcf::Record) -> Result<Vec<i32>, anyhow::Error> {[m
[32m+[m[32m    fn extract_filters([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<Vec<i32>, anyhow::Error> {[m
         Ok([m
             if let Some(Some(field::Value::Array(field::value::Array::String(value)))) =[m
[31m-                record.info().get(&field::Key::from_str("filters")?)[m
[32m+[m[32m                record.info().get("filters")[m
             {[m
                 value[m
                     .iter()[m
[36m@@ -255,7 +266,7 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the age related fields from the VCF record.[m
[31m-    fn extract_age(record: &noodles_vcf::record::Record) -> Result<AgeInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_age(record: &noodles_vcf::variant::RecordBuf) -> Result<AgeInfo, anyhow::Error> {[m
         Ok(AgeInfo {[m
             age_hist_hom_bin_freq: common::noodles::get_vec::<i32>(record, "age_hist_hom_bin_freq")[m
                 .unwrap_or_default(),[m
[36m@@ -269,7 +280,7 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the depth related fields from the VCF record.[m
[31m-    fn extract_depth(record: &noodles_vcf::record::Record) -> Result<DepthInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_depth(record: &noodles_vcf::variant::RecordBuf) -> Result<DepthInfo, anyhow::Error> {[m
         Ok(DepthInfo {[m
             dp_hist_all_n_larger: common::noodles::get_i32(record, "dp_hist_all_n_larger").ok(),[m
             dp_hist_alt_n_larger: common::noodles::get_i32(record, "dp_hist_alt_n_larger").ok(),[m
[36m@@ -281,7 +292,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the quality-related fields from the VCF record.[m
[31m-    fn extract_quality(record: &noodles_vcf::record::Record) -> Result<QualityInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_quality([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<QualityInfo, anyhow::Error> {[m
         Ok(QualityInfo {[m
             fs: common::noodles::get_f32(record, "FS").ok(),[m
             inbreeding_coeff: common::noodles::get_f32(record, "InbreedingCoeff").ok(),[m
[36m@@ -313,7 +326,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` as configured in `options`.[m
     fn extract_cohorts_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         options: &DetailsOptions,[m
     ) -> Result<Vec<CohortAlleleCounts>, anyhow::Error> {[m
         // Initialize global cohort.  We will always extract the non-population specific[m
[36m@@ -388,7 +401,7 @@[m [mimpl Record {[m
 [m
     /// Extrac the population allele counts from the `record`.[m
     fn extract_population_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         prefix: &str,[m
         pop: &str,[m
     ) -> Result<PopulationAlleleCounts, anyhow::Error> {[m
[36m@@ -408,7 +421,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` with the given prefix and suffix.[m
     fn extract_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         prefix: &str,[m
         suffix: &str,[m
     ) -> Result<Option<AlleleCounts>, anyhow::Error> {[m
[36m@@ -438,11 +451,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_exomes_grch37() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-exomes-grch37/v2.1/gnomad-exomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record =[m
                 Record::from_vcf_allele(&vcf_record, 0, &DetailsOptions::with_all_enabled())?;[m
[36m@@ -457,11 +471,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_genomes_grch37() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-genomes-grch37/v2.1/gnomad-genomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record =[m
                 Record::from_vcf_allele(&vcf_record, 0, &DetailsOptions::with_all_enabled())?;[m
[36m@@ -476,11 +491,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_exomes_grch38() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-exomes-grch38/v2.1/gnomad-exomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record =[m
                 Record::from_vcf_allele(&vcf_record, 0, &DetailsOptions::with_all_enabled())?;[m
[1mdiff --git a/src/pbs/gnomad/gnomad3.rs b/src/pbs/gnomad/gnomad3.rs[m
[1mindex 7803922..6e4715d 100644[m
[1m--- a/src/pbs/gnomad/gnomad3.rs[m
[1m+++ b/src/pbs/gnomad/gnomad3.rs[m
[36m@@ -1,8 +1,9 @@[m
 //! Code generate for protobufs by `prost-build`.[m
 [m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 use std::str::FromStr;[m
 [m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 use crate::common;[m
 [m
[36m@@ -86,23 +87,25 @@[m [mimpl DetailsOptions {[m
 impl Record {[m
     /// Creates a new `Record` from a VCF record and allele number.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
         options: &DetailsOptions,[m
     ) -> Result<Self, anyhow::Error> {[m
         assert!(allele_no == 0, "only allele 0 is supported");[m
 [m
[31m-        assert!(allele_no == 0, "only allele 0 is supported");[m
[31m-[m
         // Extract mandatory fields.[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
         let pos = pos as i32;[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
         let filters = Self::extract_filters(record)?;[m
         let allele_counts = Self::extract_cohorts_allele_counts(record, options)?;[m
[36m@@ -154,10 +157,10 @@[m [mimpl Record {[m
 [m
     /// Extract the "vep" field into gnomAD v3 `Vep` records.[m
     pub(crate) fn extract_vep([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<Vec<super::vep_gnomad3::Vep>, anyhow::Error> {[m
         if let Some(Some(field::Value::Array(field::value::Array::String(v)))) =[m
[31m-            record.info().get(&field::Key::from_str("vep")?)[m
[32m+[m[32m            record.info().get("vep")[m
         {[m
             v.iter()[m
                 .flat_map(|v| {[m
[36m@@ -179,7 +182,7 @@[m [mimpl Record {[m
 [m
     /// Extract the details on the variant.[m
     pub(crate) fn extract_variant_info([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<VariantInfo, anyhow::Error> {[m
         Ok(VariantInfo {[m
             variant_type: common::noodles::get_string(record, "variant_type")?,[m
[36m@@ -194,7 +197,7 @@[m [mimpl Record {[m
 [m
     /// Extract details on the variant effects.[m
     pub(crate) fn extract_effect_info([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<EffectInfo, anyhow::Error> {[m
         Ok(EffectInfo {[m
             primate_ai_score: common::noodles::get_f32(record, "primate_ai_score").ok(),[m
[36m@@ -208,10 +211,12 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the filters fields.[m
[31m-    pub(crate) fn extract_filters(record: &noodles_vcf::Record) -> Result<Vec<i32>, anyhow::Error> {[m
[32m+[m[32m    pub(crate) fn extract_filters([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<Vec<i32>, anyhow::Error> {[m
         Ok([m
             if let Some(Some(field::Value::Array(field::value::Array::String(value)))) =[m
[31m-                record.info().get(&field::Key::from_str("filters")?)[m
[32m+[m[32m                record.info().get("filters")[m
             {[m
                 value[m
                     .iter()[m
[36m@@ -234,7 +239,7 @@[m [mimpl Record {[m
 [m
     /// Extract the age related fields from the VCF record.[m
     pub(crate) fn extract_age([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<AgeInfo, anyhow::Error> {[m
         Ok(AgeInfo {[m
             age_hist_hom_bin_freq: common::noodles::get_vec::<i32>(record, "age_hist_hom_bin_freq")[m
[36m@@ -250,7 +255,7 @@[m [mimpl Record {[m
 [m
     /// Extract the depth related fields from the VCF record.[m
     pub(crate) fn extract_depth([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<DepthInfo, anyhow::Error> {[m
         Ok(DepthInfo {[m
             dp_hist_all_n_larger: common::noodles::get_i32(record, "dp_hist_all_n_larger").ok(),[m
[36m@@ -264,7 +269,7 @@[m [mimpl Record {[m
 [m
     /// Extract the quality-related fields from the VCF record.[m
     pub(crate) fn extract_quality([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<QualityInfo, anyhow::Error> {[m
         Ok(QualityInfo {[m
             as_fs: common::noodles::get_f32(record, "AS_FS").ok(),[m
[36m@@ -294,7 +299,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` as configured in `options`.[m
     pub(crate) fn extract_cohorts_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         options: &DetailsOptions,[m
     ) -> Result<Vec<CohortAlleleCounts>, anyhow::Error> {[m
         // Initialize global cohort.  We will always extract the non-population specific[m
[36m@@ -367,7 +372,7 @@[m [mimpl Record {[m
 [m
     /// Extrac the population allele counts from the `record`.[m
     pub(crate) fn extract_population_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         infix: &str,[m
         pop: &str,[m
     ) -> Result<PopulationAlleleCounts, anyhow::Error> {[m
[36m@@ -403,7 +408,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` with the given infix and suffix.[m
     pub(crate) fn extract_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         infix: &str,[m
         suffix: &str,[m
     ) -> Result<AlleleCounts, anyhow::Error> {[m
[36m@@ -427,11 +432,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_genomes_grch38() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-genomes-grch38/v3.1/gnomad-genomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record =[m
                 Record::from_vcf_allele(&vcf_record, 0, &DetailsOptions::with_all_enabled())?;[m
[1mdiff --git a/src/pbs/gnomad/gnomad4.rs b/src/pbs/gnomad/gnomad4.rs[m
[1mindex 7f893af..8e633a7 100644[m
[1m--- a/src/pbs/gnomad/gnomad4.rs[m
[1m+++ b/src/pbs/gnomad/gnomad4.rs[m
[36m@@ -1,8 +1,9 @@[m
 //! Code generate for protobufs by `prost-build`.[m
 [m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 use std::str::FromStr;[m
 [m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 use super::gnomad3;[m
 use crate::common;[m
[36m@@ -58,7 +59,7 @@[m [mimpl Record {[m
     ///[m
     /// The `Record` or an error if the record could not be extracted.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
         options: &gnomad3::DetailsOptions,[m
         record_type: RecordType,[m
[36m@@ -68,14 +69,18 @@[m [mimpl Record {[m
         assert!(allele_no == 0, "only allele 0 is supported");[m
 [m
         // Extract mandatory fields.[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
         let pos = pos as i32;[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
         let filters = gnomad3::Record::extract_filters(record)?;[m
         let allele_counts = Self::extract_cohorts_allele_counts(record, record_type)?;[m
[36m@@ -143,10 +148,10 @@[m [mimpl Record {[m
 [m
     /// Extract the "vep" field into gnomAD v3 `Vep` records.[m
     fn extract_vep([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<Vec<super::vep_gnomad4::Vep>, anyhow::Error> {[m
         if let Some(Some(field::Value::Array(field::value::Array::String(v)))) =[m
[31m-            record.info().get(&field::Key::from_str("vep")?)[m
[32m+[m[32m            record.info().get("vep")[m
         {[m
             v.iter()[m
                 .flat_map(|v| {[m
[36m@@ -167,7 +172,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the VRS infos.[m
[31m-    fn extract_vrs_info(record: &noodles_vcf::Record) -> Result<VrsInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_vrs_info([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<VrsInfo, anyhow::Error> {[m
         Ok(VrsInfo {[m
             allele_ids: common::noodles::get_vec_str(record, "VRS_Allele_IDs").unwrap_or_default(),[m
             ends: common::noodles::get_vec_i32(record, "VRS_Ends").unwrap_or_default(),[m
[36m@@ -177,7 +184,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract details on the variant effects.[m
[31m-    fn extract_effect_info(record: &noodles_vcf::Record) -> Result<EffectInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_effect_info([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<EffectInfo, anyhow::Error> {[m
         Ok(EffectInfo {[m
             pangolin_largest_ds: common::noodles::get_f32(record, "pangolin_largest_ds").ok(),[m
             phylop: common::noodles::get_f32(record, "phylop").ok(),[m
[36m@@ -192,7 +201,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` as configured in `options`.[m
     fn extract_cohorts_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         record_type: RecordType,[m
     ) -> Result<Vec<CohortAlleleCounts>, anyhow::Error> {[m
         // Initialize global cohort.[m
[36m@@ -270,7 +279,7 @@[m [mimpl Record {[m
 [m
     /// Extrac the ancestry group allele counts from the `record`.[m
     fn extract_ancestry_group_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         infix: &str,[m
         grp: &str,[m
     ) -> Result<AncestryGroupAlleleCounts, anyhow::Error> {[m
[36m@@ -306,7 +315,7 @@[m [mimpl Record {[m
 [m
     /// Extract the allele counts from the `record` with the given infix and suffix.[m
     fn extract_allele_counts([m
[31m-        record: &noodles_vcf::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         infix: &str,[m
         suffix: &str,[m
     ) -> Result<gnomad3::AlleleCounts, anyhow::Error> {[m
[36m@@ -330,11 +339,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_genomes_grch38() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-genomes-grch38/v4.0/gnomad-genomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record = Record::from_vcf_allele([m
                 &vcf_record,[m
[36m@@ -353,11 +363,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele_gnomad_exomess_grch38() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-nuclear/example-exomes-grch38/v4.0/gnomad-exomes.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record = Record::from_vcf_allele([m
                 &vcf_record,[m
[1mdiff --git a/src/pbs/gnomad/mtdna.rs b/src/pbs/gnomad/mtdna.rs[m
[1mindex 7c2a4e0..acc1d85 100644[m
[1m--- a/src/pbs/gnomad/mtdna.rs[m
[1m+++ b/src/pbs/gnomad/mtdna.rs[m
[36m@@ -1,8 +1,9 @@[m
 //! Code generate for protobufs by `prost-build`.[m
 [m
[32m+[m[32muse noodles_vcf::variant::record::AlternateBases;[m
 use std::str::FromStr;[m
 [m
[31m-use noodles_vcf::record::info::field;[m
[32m+[m[32muse noodles_vcf::variant::record_buf::info::field;[m
 [m
 use super::vep_gnomad3::Vep;[m
 use crate::common;[m
[36m@@ -68,21 +69,25 @@[m [mimpl DetailsOptions {[m
 impl Record {[m
     /// Creates a new `Record` from a VCF record and allele number.[m
     pub fn from_vcf_allele([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
         allele_no: usize,[m
         options: &DetailsOptions,[m
     ) -> Result<Self, anyhow::Error> {[m
         assert!(allele_no == 0, "only allele 0 is supported");[m
 [m
         // Extract mandatory fields.[m
[31m-        let chrom = record.chromosome().to_string();[m
[31m-        let pos: usize = record.position().into();[m
[32m+[m[32m        let chrom = record.reference_sequence_name().to_string();[m
[32m+[m[32m        let pos: usize = record[m
[32m+[m[32m            .variant_start()[m
[32m+[m[32m            .expect("Telomeric breakends not supported")[m
[32m+[m[32m            .get();[m
         let pos = pos as i32;[m
         let ref_allele = record.reference_bases().to_string();[m
         let alt_allele = record[m
             .alternate_bases()[m
[31m-            .get(allele_no)[m
[31m-            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))?[m
[32m+[m[32m            .iter()[m
[32m+[m[32m            .nth(allele_no)[m
[32m+[m[32m            .ok_or_else(|| anyhow::anyhow!("no such allele: {}", allele_no))??[m
             .to_string();[m
         let variant_collapsed = common::noodles::get_string(record, "variant_collapsed")?;[m
         let excluded_ac = common::noodles::get_i32(record, "excluded_AC")?;[m
[36m@@ -164,9 +169,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the "vep" field.[m
[31m-    fn extract_vep(record: &noodles_vcf::Record) -> Result<Vec<Vep>, anyhow::Error> {[m
[32m+[m[32m    fn extract_vep(record: &noodles_vcf::variant::RecordBuf) -> Result<Vec<Vep>, anyhow::Error> {[m
         if let Some(Some(field::Value::Array(field::value::Array::String(v)))) =[m
[31m-            record.info().get(&field::Key::from_str("vep")?)[m
[32m+[m[32m            record.info().get("vep")[m
         {[m
             v.iter()[m
                 .flat_map(|v| v.as_ref().map(|s| Vep::from_str(s)))[m
[36m@@ -178,7 +183,7 @@[m [mimpl Record {[m
 [m
     /// Extract the heteroplasmy-related fields from the VCF record.[m
     fn extract_heteroplasmy([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<HeteroplasmyInfo, anyhow::Error> {[m
         Ok(HeteroplasmyInfo {[m
             heteroplasmy_below_min_het_threshold_hist: common::noodles::get_vec::<i32>([m
[36m@@ -193,7 +198,7 @@[m [mimpl Record {[m
 [m
     /// Extract the filter histogram related fields form the VCF record.[m
     fn extract_filter_histograms([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<FilterHistograms, anyhow::Error> {[m
         Ok(FilterHistograms {[m
             base_qual_hist: common::noodles::get_vec::<i32>(record, "base_qual_hist")[m
[36m@@ -211,7 +216,7 @@[m [mimpl Record {[m
 [m
     /// Extract the population related fields from the VCF record.[m
     fn extract_population([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<PopulationInfo, anyhow::Error> {[m
         Ok(PopulationInfo {[m
             pop_an: common::noodles::get_vec::<i32>(record, "pop_AN")?,[m
[36m@@ -226,7 +231,7 @@[m [mimpl Record {[m
 [m
     /// Extract the haplogroup related fields from the VCF record.[m
     fn extract_haplogroup([m
[31m-        record: &noodles_vcf::record::Record,[m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
     ) -> Result<HaplogroupInfo, anyhow::Error> {[m
         Ok(HaplogroupInfo {[m
             hap_defining_variant: common::noodles::get_flag(record, "hap_defining_variant")?,[m
[36m@@ -245,7 +250,7 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the age related fields from the VCF record.[m
[31m-    fn extract_age(record: &noodles_vcf::record::Record) -> Result<AgeInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_age(record: &noodles_vcf::variant::RecordBuf) -> Result<AgeInfo, anyhow::Error> {[m
         Ok(AgeInfo {[m
             age_hist_hom_bin_freq: common::noodles::get_vec::<i32>(record, "age_hist_hom_bin_freq")[m
                 .unwrap_or_default(),[m
[36m@@ -259,7 +264,7 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the depth related fields from the VCF record.[m
[31m-    fn extract_depth(record: &noodles_vcf::record::Record) -> Result<DepthInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_depth(record: &noodles_vcf::variant::RecordBuf) -> Result<DepthInfo, anyhow::Error> {[m
         Ok(DepthInfo {[m
             dp_hist_all_n_larger: common::noodles::get_i32(record, "dp_hist_all_n_larger").ok(),[m
             dp_hist_alt_n_larger: common::noodles::get_i32(record, "dp_hist_alt_n_larger").ok(),[m
[36m@@ -271,7 +276,9 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the quality-related fields from the VCF record.[m
[31m-    fn extract_quality(record: &noodles_vcf::record::Record) -> Result<QualityInfo, anyhow::Error> {[m
[32m+[m[32m    fn extract_quality([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<QualityInfo, anyhow::Error> {[m
         Ok(QualityInfo {[m
             dp_mean: common::noodles::get_f32(record, "dp_mean").ok(),[m
             mq_mean: common::noodles::get_f32(record, "mq_mean").ok(),[m
[36m@@ -280,10 +287,12 @@[m [mimpl Record {[m
     }[m
 [m
     /// Extract the filters fields.[m
[31m-    fn extract_filters(record: &noodles_vcf::Record) -> Result<Vec<i32>, anyhow::Error> {[m
[32m+[m[32m    fn extract_filters([m
[32m+[m[32m        record: &noodles_vcf::variant::RecordBuf,[m
[32m+[m[32m    ) -> Result<Vec<i32>, anyhow::Error> {[m
         Ok([m
             if let Some(Some(field::Value::Array(field::value::Array::String(value)))) =[m
[31m-                record.info().get(&field::Key::from_str("filters")?)[m
[32m+[m[32m                record.info().get("filters")[m
             {[m
                 value[m
                     .iter()[m
[36m@@ -309,11 +318,12 @@[m [mmod test {[m
     #[test][m
     fn test_record_from_vcf_allele() -> Result<(), anyhow::Error> {[m
         let path_vcf = "tests/gnomad-mtdna/example/gnomad-mtdna.vcf";[m
[31m-        let mut reader_vcf = noodles_vcf::reader::Builder::default().build_from_path(path_vcf)?;[m
[32m+[m[32m        let mut reader_vcf =[m
[32m+[m[32m            noodles_vcf::io::reader::Builder::default().build_from_path(path_vcf)?;[m
         let header = reader_vcf.read_header()?;[m
 [m
         let mut records = Vec::new();[m
[31m-        for row in reader_vcf.records(&header) {[m
[32m+[m[32m        for row in reader_vcf.record_bufs(&header) {[m
             let vcf_record = row?;[m
             let record =[m
                 Record::from_vcf_allele(&vcf_record, 0, &DetailsOptions::with_all_enabled())?;[m
[1mdiff --git a/src/server/actix_server/annos_db_info.rs b/src/server/actix_server/annos_db_info.rs[m
[1mindex 9fb0cb3..84e064c 100644[m
[1m--- a/src/server/actix_server/annos_db_info.rs[m
[1m+++ b/src/server/actix_server/annos_db_info.rs[m
[36m@@ -5,9 +5,7 @@[m [muse actix_web::{[m
     web::{self, Data, Json, Path},[m
     Responder,[m
 };[m
[31m-use serde::{Deserialize, Serialize};[m
[31m-[m
[31m-use crate::server::DbInfo;[m
[32m+[m[32muse serde::Deserialize;[m
 [m
 use super::{error::CustomError, WebServerData};[m
 [m
[36m@@ -20,13 +18,6 @@[m [mstruct Request {[m
     pub genome_release: String,[m
 }[m
 [m
[31m-/// Result for `handle`.[m
[31m-#[derive(Serialize, Debug, Clone)][m
[31m-struct ResultEntry {[m
[31m-    /// Information for each database.[m
[31m-    pub db_info: indexmap::IndexMap<String, DbInfo>,[m
[31m-}[m
[31m-[m
 /// Query for annotations for one variant.[m
 #[get("/annos/db-info")][m
 async fn handle([m
[1mdiff --git a/src/tsv/coding.rs b/src/tsv/coding.rs[m
[1mindex c3ef162..41f7b9e 100644[m
[1m--- a/src/tsv/coding.rs[m
[1m+++ b/src/tsv/coding.rs[m
[36m@@ -221,7 +221,7 @@[m [mimpl Context {[m
                     // skip if not lifted to this genome build[m
                     return Ok(None);[m
                 } else if let serde_json::Value::String(chrom) = val {[m
[31m-                    res.chrom = chrom.clone();[m
[32m+[m[32m                    res.chrom.clone_from(chrom);[m
                 } else {[m
                     return Err(error::Error::InvalidType([m
                         self.config.col_chrom.clone(),[m
[36m@@ -248,7 +248,7 @@[m [mimpl Context {[m
                 }[m
             } else if col.name == self.config.col_ref {[m
                 if let serde_json::Value::String(reference) = val {[m
[31m-                    res.reference = reference.clone();[m
[32m+[m[32m                    res.reference.clone_from(reference);[m
                 } else {[m
                     return Err(error::Error::InvalidType([m
                         self.config.col_ref.clone(),[m
[36m@@ -257,7 +257,7 @@[m [mimpl Context {[m
                 }[m
             } else if col.name == self.config.col_alt {[m
                 if let serde_json::Value::String(alternative) = val {[m
[31m-                    res.alternative = alternative.clone();[m
[32m+[m[32m                    res.alternative.clone_from(alternative);[m
                 } else {[m
                     return Err(error::Error::InvalidType([m
                         self.config.col_alt.clone(),[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/000014.sst b/tests/clinvar-genes/clinvar-genes.db/000014.sst[m
[1mdeleted file mode 100644[m
[1mindex d5e7382..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/000014.sst[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:0e814dbc1b164581fe27671fa52382d0a5d548fb29b3f888c5c7deea007057ea[m
[31m-size 1289[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/000016.sst b/tests/clinvar-genes/clinvar-genes.db/000016.sst[m
[1mdeleted file mode 100644[m
[1mindex 64f0f6c..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/000016.sst[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:4f092a7c9399b0b357de72a74ae2595322c50ea6d4193891a7f5ce3b3a820d04[m
[31m-size 3060[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/CURRENT b/tests/clinvar-genes/clinvar-genes.db/CURRENT[m
[1mdeleted file mode 100644[m
[1mindex f8d5048..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/CURRENT[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:9c283f6e81028b9eb0760d918ee4bc0aa256ed3b926393c1734c760c4bd724fd[m
[31m-size 16[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/IDENTITY b/tests/clinvar-genes/clinvar-genes.db/IDENTITY[m
[1mdeleted file mode 100644[m
[1mindex cb0c144..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/IDENTITY[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:b4ddf89532e4f83b30ddcb6dbe34568f2bf2d736d2fe0b76723e29b0a9ecb13d[m
[31m-size 36[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/LOCK b/tests/clinvar-genes/clinvar-genes.db/LOCK[m
[1mdeleted file mode 100644[m
[1mindex e69de29..0000000[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/LOG b/tests/clinvar-genes/clinvar-genes.db/LOG[m
[1mdeleted file mode 100644[m
[1mindex f706ee9..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/LOG[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:2b45c9959fb2c01fb6a3801eb1117a8d9b57ce335fe1561c68cac49aeccdaa3f[m
[31m-size 62348[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/MANIFEST-000005 b/tests/clinvar-genes/clinvar-genes.db/MANIFEST-000005[m
[1mdeleted file mode 100644[m
[1mindex c04a9d6..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/MANIFEST-000005[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:de1314c30fac75289cf71a1e0357ff6c8ffd7caa114e1d8d946879d7d24e705a[m
[31m-size 647[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000009 b/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000009[m
[1mdeleted file mode 100644[m
[1mindex a2ad867..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000009[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:43b5ef50591a721fdda5576cf873fa4b515539decb35cac720deccaf7be8a61d[m
[31m-size 15369[m
[1mdiff --git a/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000011 b/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000011[m
[1mdeleted file mode 100644[m
[1mindex a2ad867..0000000[m
[1m--- a/tests/clinvar-genes/clinvar-genes.db/OPTIONS-000011[m
[1m+++ /dev/null[m
[36m@@ -1,3 +0,0 @@[m
[31m-version https://git-lfs.github.com/spec/v1[m
[31m-oid sha256:43b5ef50591a721fdda5576cf873fa4b515539decb35cac720deccaf7be8a61d[m
[31m-size 15369[m
[1mdiff --git a/tests/clinvar-genes/clinvar-variants-grch37-seqvars.jsonl b/tests/clinvar-genes/clinvar-variants-grch37-seqvars.jsonl[m
[1mindex 13c715f..989b6f9 100644[m
[1m--- a/tests/clinvar-genes/clinvar-variants-grch37-seqvars.jsonl[m
[1m+++ b/tests/clinvar-genes/clinvar-variants-grch37-seqvars.jsonl[m
[36m@@ -1,10 +1,10 @@[m
[31m-{"rcv": "RCV000000009", "vcv": "VCV000018396", "title": "NM_002036.4(ACKR1):c.265C>T (p.Arg89Cys) AND DUFFY BLOOD GROUP SYSTEM, FY(bwk) PHENOTYPE", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "1", "accession": "NC_000001.10", "outer_start": null, "inner_start": null, "start": 159175494, "stop": 159175494, "inner_stop": null, "outer_stop": null, "display_start": 159175494, "display_stop": 159175494, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 159175494, "reference_allele_vcf": "C", "alternate_allele_vcf": "T", "for_display_length": null}, "hgnc_ids": ["HGNC:4035"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000010", "vcv": "VCV000018397", "title": "NM_002036.4(ACKR1):c.286_299del (p.Trp96fs) AND DUFFY BLOOD GROUP SYSTEM, FY(a-b-) PHENOTYPE", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "1", "accession": "NC_000001.10", "outer_start": null, "inner_start": null, "start": 159175509, "stop": 159175522, "inner_stop": null, "outer_stop": null, "display_start": 159175509, "display_stop": 159175522, "strand": null, "variant_length": 14, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 159175508, "reference_allele_vcf": "CCCTGGCTGGCCTGT", "alternate_allele_vcf": "C", "for_display_length": null}, "hgnc_ids": ["HGNC:4035"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000012", "vcv": "VCV000000002", "title": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer) AND Hereditary spastic paraplegia 48", "variant_type": "indel", "clinical_significance": "pathogenic", "review_status": "criteria provided, single submitter", "sequence_location": {"assembly": "GRCh37", "chr": "7", "accession": "NC_000007.13", "outer_start": null, "inner_start": null, "start": 4820844, "stop": 4820847, "inner_stop": null, "outer_stop": null, "display_start": 4820844, "display_stop": 4820847, "strand": null, "variant_length": 22, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 4820844, "reference_allele_vcf": "GGAT", "alternate_allele_vcf": "TGCTGTAAACTGTAACTGTAAA", "for_display_length": null}, "hgnc_ids": ["HGNC:22197"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000013", "vcv": "VCV000000003", "title": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs) AND Hereditary spastic paraplegia 48", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "7", "accession": "NC_000007.13", "outer_start": null, "inner_start": null, "start": 4827361, "stop": 4827374, "inner_stop": null, "outer_stop": null, "display_start": 4827361, "display_stop": 4827374, "strand": null, "variant_length": 14, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 4827360, "reference_allele_vcf": "GCTGCTGGACCTGCC", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:22197"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000016", "vcv": "VCV000000006", "title": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser) AND Mitochondrial complex 1 deficiency, nuclear type 19", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "11", "accession": "NC_000011.9", "outer_start": null, "inner_start": null, "start": 126147412, "stop": 126147412, "inner_stop": null, "outer_stop": null, "display_start": 126147412, "display_stop": 126147412, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 126147412, "reference_allele_vcf": "A", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:26927"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000042", "vcv": "VCV000000025", "title": "NM_015600.4(ABHD12):c.-6898_191+7002delinsCC AND PHARC syndrome", "variant_type": "indel", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "20", "accession": "NC_000020.10", "outer_start": null, "inner_start": null, "start": 25364147, "stop": 25378237, "inner_stop": null, "outer_stop": null, "display_start": 25364147, "display_stop": 25378237, "strand": null, "variant_length": 14091, "reference_allele": null, "alternate_allele": "GG", "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": null, "reference_allele_vcf": null, "alternate_allele_vcf": null, "for_display_length": null}, "hgnc_ids": ["HGNC:15868"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000043", "vcv": "VCV000000026", "title": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter) AND PHARC syndrome", "variant_type": "duplication", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "20", "accession": "NC_000020.10", "outer_start": null, "inner_start": null, "start": 25288616, "stop": 25288617, "inner_stop": null, "outer_stop": null, "display_start": 25288616, "display_stop": 25288617, "strand": null, "variant_length": 7, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 25288616, "reference_allele_vcf": "G", "alternate_allele_vcf": "GGCTCTTA", "for_display_length": null}, "hgnc_ids": ["HGNC:15868"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000049", "vcv": "VCV000000032", "title": "NM_138413.4(HOGA1):c.700+4G>T AND Primary hyperoxaluria type 3", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "10", "accession": "NC_000010.10", "outer_start": null, "inner_start": null, "start": 99359924, "stop": 99359924, "inner_stop": null, "outer_stop": null, "display_start": 99359924, "display_stop": 99359924, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 99359924, "reference_allele_vcf": "G", "alternate_allele_vcf": "T", "for_display_length": null}, "hgnc_ids": ["HGNC:25155"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000057", "vcv": "VCV000000040", "title": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "19", "accession": "NC_000019.9", "outer_start": null, "inner_start": null, "start": 36595471, "stop": 36595474, "inner_stop": null, "outer_stop": null, "display_start": 36595471, "display_stop": 36595474, "strand": null, "variant_length": 4, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 36595470, "reference_allele_vcf": "GTGCC", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:24502"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000059", "vcv": "VCV000000042", "title": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh37", "chr": "19", "accession": "NC_000019.9", "outer_start": null, "inner_start": null, "start": 36558317, "stop": 36558317, "inner_stop": null, "outer_stop": null, "display_start": 36558317, "display_stop": 36558317, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.25", "assembly_status": "previous", "position_vcf": 36558317, "reference_allele_vcf": "G", "alternate_allele_vcf": "C", "for_display_length": null}, "hgnc_ids": ["HGNC:24502"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[32m+[m[32m{"accession": {"accession": "VCV000000002", "version": 3}, "rcvs": [{"accession": {"accession": "RCV000000012", "version": 5}, "title": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer) AND Hereditary spastic paraplegia 48"}], "name": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer)", "variationType": "VARIATION_TYPE_INDEL", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER", "description": "Pathogenic", "citations": [{"ids": [{"value": "20613862", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Hereditary spastic paraplegia 48", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013342"}]}, {"value": "Spastic paraplegia 48", "type": "Alternate"}, {"value": "Spastic paraplegia 48, autosomal recessive", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Spastic+paraplegia+48%2C+autosomal+recessive/9323"}]}], "symbols": [{"value": "SPG48", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613647", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "306511"}, {"db": "MedGen", "id": "C3150901"}, {"db": "MONDO", "id": "MONDO:0013342"}, {"db": "OMIM", "id": "613647", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "2", "contributesToAggregateClassification": true}], "dateCreated": "2017-01-30T00:00:00Z", "mostRecentSubmission": "2021-05-16T00:00:00Z", "numberOfSubmitters": 2, "numberOfSubmissions": 2}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_7", "accession": "NC_000007.13", "start": 4820844, "stop": 4820847, "displayStart": 4820844, "displayStop": 4820847, "variantLength": 22, "positionVcf": 4820844, "referenceAlleleVcf": "GGAT", "alternateAlleleVcf": "TGCTGTAAACTGTAACTGTAAA"}, "hgncIds": ["HGNC:22197"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000006", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000016", "version": 6}, "title": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser) AND Mitochondrial complex 1 deficiency, nuclear type 19"}], "name": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20818383", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Mitochondrial complex 1 deficiency, nuclear type 19", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0032624"}]}, {"value": "MITOCHONDRIAL COMPLEX I DEFICIENCY, NUCLEAR TYPE 19", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "618241", "type": "MIM"}, {"db": "OMIM", "id": "613622.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613622.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613622.0003", "type": "Allelic variant"}]}], "symbols": [{"value": "MC1DN19", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "618241", "type": "MIM"}]}], "xrefs": [{"db": "MedGen", "id": "C4748791"}, {"db": "MONDO", "id": "MONDO:0032624"}, {"db": "OMIM", "id": "618241", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "45335", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-10-01T00:00:00Z", "dateCreated": "2019-02-04T00:00:00Z", "mostRecentSubmission": "2019-02-04T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_11", "accession": "NC_000011.9", "start": 126147412, "stop": 126147412, "displayStart": 126147412, "displayStop": 126147412, "variantLength": 1, "positionVcf": 126147412, "referenceAlleleVcf": "A", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:26927"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000003", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000013", "version": 6}, "title": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs) AND Hereditary spastic paraplegia 48"}], "name": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs)", "variationType": "VARIATION_TYPE_DELETION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20613862", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Hereditary spastic paraplegia 48", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013342"}]}, {"value": "Spastic paraplegia 48", "type": "Alternate"}, {"value": "Spastic paraplegia 48, autosomal recessive", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Spastic+paraplegia+48%2C+autosomal+recessive/9323"}]}], "symbols": [{"value": "SPG48", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613647", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "306511"}, {"db": "MedGen", "id": "C3150901"}, {"db": "MONDO", "id": "MONDO:0013342"}, {"db": "OMIM", "id": "613647", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "2", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-06-29T00:00:00Z", "dateCreated": "2017-01-30T00:00:00Z", "mostRecentSubmission": "2017-01-30T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_7", "accession": "NC_000007.13", "start": 4827361, "stop": 4827374, "displayStart": 4827361, "displayStop": 4827374, "variantLength": 14, "positionVcf": 4827360, "referenceAlleleVcf": "GCTGCTGGACCTGCC", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:22197"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000043", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000060", "version": 4}, "title": "NM_001083961.2(WDR62):c.1408C>T (p.Gln470Ter) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.1408C>T (p.Gln470Ter)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2019-03-10T00:00:00Z", "mostRecentSubmission": "2019-03-10T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_19", "accession": "NC_000019.9", "start": 36574001, "stop": 36574001, "displayStart": 36574001, "displayStop": 36574001, "variantLength": 1, "positionVcf": 36574001, "referenceAlleleVcf": "C", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:24502"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000026", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000043", "version": 3}, "title": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter) AND PHARC syndrome"}], "name": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter)", "variationType": "VARIATION_TYPE_DUPLICATION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20797687", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "PHARC syndrome", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0012984"}]}, {"value": "Polyneuropathy-hearing loss-ataxia-retinitis pigmentosa-cataract syndrome", "type": "Alternate", "xrefs": [{"db": "Orphanet", "id": "171848"}]}, {"value": "Polyneuropathy, hearing loss, ataxia, retinitis pigmentosa, and cataract", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Polyneuropathy%2C+hearing+loss%2C+ataxia%2C+retinitis+pigmentosa%2C+and+cataract/9132"}]}], "symbols": [{"value": "PHARC", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "612674", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "171848"}, {"db": "MedGen", "id": "C2675204"}, {"db": "MONDO", "id": "MONDO:0012984"}, {"db": "OMIM", "id": "612674", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "17", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-10T00:00:00Z", "dateCreated": "2015-05-18T00:00:00Z", "mostRecentSubmission": "2015-05-18T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_20", "accession": "NC_000020.10", "start": 25288616, "stop": 25288617, "displayStart": 25288616, "displayStop": 25288617, "variantLength": 7, "positionVcf": 25288616, "referenceAlleleVcf": "G", "alternateAlleleVcf": "GGCTCTTA"}, "hgncIds": ["HGNC:15868"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000051", "version": 2}, "rcvs": [{"accession": {"accession": "RCV000000068", "version": 4}, "title": "NM_022098.4(XPNPEP3):c.1357G>T (p.Gly453Cys) AND Nephronophthisis-like nephropathy 1"}], "name": "NM_022098.4(XPNPEP3):c.1357G>T (p.Gly453Cys)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20179356", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Nephronophthisis-like nephropathy 1", "type": "Preferred", "xrefs": [{"db": "Genetic Alliance", "id": "Nephronophthisis-like+nephropathy+1/8986"}, {"db": "MONDO", "id": "MONDO:0013163"}]}], "symbols": [{"value": "NPHPL1", "type": "Preferred", "xrefs": [{"db": "OMIM", "id": "613159", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "The nephronophthisis (NPH) phenotype is characterized by reduced renal concentrating ability, chronic tubulointerstitial nephritis, cystic renal disease, and progression to end-stage renal disease (ESRD) before age 30 years. Three age-based clinical subtypes are recognized: infantile, juvenile, and adolescent/adult. Infantile NPH can present in utero with oligohydramnios sequence (limb contractures, pulmonary hypoplasia, and facial dysmorphisms) or postnatally with renal manifestations that progress to ESRD before age 3 years. Juvenile NPH, the most prevalent subtype, typically presents with polydipsia and polyuria, growth retardation, chronic iron-resistant anemia, or other findings related to chronic kidney disease (CKD). Hypertension is typically absent due to salt wasting. ESRD develops at a median age of 13 years. Ultrasound findings are increased echogenicity, reduced corticomedullary differentiation, and renal cysts (in 50% of affected individuals). Histologic findings include tubulointerstitial fibrosis, thickened and disrupted tubular basement membrane, sporadic corticomedullary cysts, and normal or reduced kidney size. Adolescent/adult NPH is clinically similar to juvenile NPH, but ESRD develops at a median age of 19 years. Within a subtype, inter- and intrafamilial variability in rate of progression to ESRD is considerable. Approximately 80%-90% of individuals with the NPH phenotype have no extrarenal features (i.e., they have isolated NPH); ~10%-20% have extrarenal manifestations that constitute a recognizable syndrome (e.g., Joubert syndrome, Bardet-Biedl syndrome, Jeune syndrome and related skeletal disorders, Meckel-Gruber syndrome, Senior-L\u00f8ken syndrome, Leber congenital amaurosis, COACH syndrome, and oculomotor apraxia, Cogan type)."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK368475"}]}], "citations": [{"ids": [{"value": "27336129", "source": "PubMed"}, {"value": "NBK368475", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "655"}, {"db": "MedGen", "id": "C3150419"}, {"db": "MONDO", "id": "MONDO:0013163"}, {"db": "OMIM", "id": "613159", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "26", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-03-01T00:00:00Z", "dateCreated": "2021-08-11T00:00:00Z", "mostRecentSubmission": "2021-08-11T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_22", "accession": "NC_000022.10", "start": 41320486, "stop": 41320486, "displayStart": 41320486, "displayStop": 41320486, "variantLength": 1, "positionVcf": 41320486, "referenceAlleleVcf": "G", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:28052"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000032", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000049", "version": 2}, "title": "NM_138413.4(HOGA1):c.700+4G>T AND Primary hyperoxaluria type 3"}], "name": "NM_138413.4(HOGA1):c.700+4G>T", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20797690", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Primary hyperoxaluria type 3", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013327"}]}, {"value": "PH III", "type": "Alternate"}, {"value": "Primary hyperoxaluria, type III", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+Hyperoxaluria+Type+3/8596"}]}], "symbols": [{"value": "HP3", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613616", "type": "MIM"}]}, {"value": "HOGA1", "type": "Alternate"}, {"value": "PH3", "type": "Alternate"}], "attributes": [{"attribute": {"base": {"value": "loss of function", "integerValue": "273"}, "type": "disease mechanism"}, "xrefs": [{"db": "Genetic Testing Registry (GTR)", "id": "GTR000561373"}]}, {"attribute": {"base": {"integerValue": "10738"}, "type": "GARD id"}, "xrefs": [{"db": "Office of Rare Diseases", "id": "10738"}]}], "citations": [{"ids": [{"value": "26401545", "source": "PubMed"}, {"value": "NBK316514", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "416"}, {"db": "Orphanet", "id": "93600"}, {"db": "MedGen", "id": "C3150878"}, {"db": "MONDO", "id": "MONDO:0013327"}, {"db": "OMIM", "id": "613616", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "19", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-10T00:00:00Z", "dateCreated": "2013-04-04T00:00:00Z", "mostRecentSubmission": "2013-04-04T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_10", "accession": "NC_000010.10", "start": 99359924, "stop": 99359924, "displayStart": 99359924, "displayStop": 99359924, "variantLength": 1, "positionVcf": 99359924, "referenceAlleleVcf": "G", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:25155"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000042", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000059", "version": 5}, "title": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2019-03-10T00:00:00Z", "mostRecentSubmission": "2019-03-10T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_19", "accession": "NC_000019.9", "start": 36558317, "stop": 36558317, "displayStart": 36558317, "displayStop": 36558317, "variantLength": 1, "positionVcf": 36558317, "referenceAlleleVcf": "G", "alternateAlleleVcf": "C"}, "hgncIds": ["HGNC:24502"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000059", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000076", "version": 5}, "title": "NM_006642.5(SDCCAG8):c.1946_1949del (p.Cys649fs) AND Senior-Loken syndrome 7"}], "name": "NM_006642.5(SDCCAG8):c.1946_1949del (p.Cys649fs)", "variationType": "VARIATION_TYPE_MICROSATELLITE", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20835237", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Senior-Loken syndrome 7", "type": "Preferred", "xrefs": [{"db": "Genetic Alliance", "id": "Senior-Loken+syndrome+7/9283"}, {"db": "MONDO", "id": "MONDO:0013326"}]}], "symbols": [{"value": "SLSN7", "type": "Preferred", "xrefs": [{"db": "OMIM", "id": "613615", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "3156"}, {"db": "MedGen", "id": "C3150877"}, {"db": "MONDO", "id": "MONDO:0013326"}, {"db": "OMIM", "id": "613615", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "29", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-10-01T00:00:00Z", "dateCreated": "2016-10-23T00:00:00Z", "mostRecentSubmission": "2016-10-23T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_1", "accession": "NC_000001.10", "start": 243589819, "stop": 243589822, "displayStart": 243589819, "displayStop": 243589822, "variantLength": 4, "positionVcf": 243589818, "referenceAlleleVcf": "AGTGT", "alternateAlleleVcf": "A"}, "hgncIds": ["HGNC:10671"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000040", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000057", "version": 4}, "title": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs)", "variationType": "VARIATION_TYPE_DELETION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2015-09-17T00:00:00Z", "mostRecentSubmission": "2015-09-17T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"assembly": "GRCh37", "chr": "CHROMOSOME_19", "accession": "NC_000019.9", "start": 36595471, "stop": 36595474, "displayStart": 36595471, "displayStop": 36595474, "variantLength": 4, "positionVcf": 36595470, "referenceAlleleVcf": "GTGCC", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:24502"]}[m
[1mdiff --git a/tests/clinvar-genes/clinvar-variants-grch38-seqvars.jsonl b/tests/clinvar-genes/clinvar-variants-grch38-seqvars.jsonl[m
[1mindex 51c04b7..35b65e6 100644[m
[1m--- a/tests/clinvar-genes/clinvar-variants-grch38-seqvars.jsonl[m
[1m+++ b/tests/clinvar-genes/clinvar-variants-grch38-seqvars.jsonl[m
[36m@@ -1,10 +1,10 @@[m
[31m-{"rcv": "RCV000000009", "vcv": "VCV000018396", "title": "NM_002036.4(ACKR1):c.265C>T (p.Arg89Cys) AND DUFFY BLOOD GROUP SYSTEM, FY(bwk) PHENOTYPE", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "1", "accession": "NC_000001.11", "outer_start": null, "inner_start": null, "start": 159205704, "stop": 159205704, "inner_stop": null, "outer_stop": null, "display_start": 159205704, "display_stop": 159205704, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 159205704, "reference_allele_vcf": "C", "alternate_allele_vcf": "T", "for_display_length": null}, "hgnc_ids": ["HGNC:4035"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000010", "vcv": "VCV000018397", "title": "NM_002036.4(ACKR1):c.286_299del (p.Trp96fs) AND DUFFY BLOOD GROUP SYSTEM, FY(a-b-) PHENOTYPE", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "1", "accession": "NC_000001.11", "outer_start": null, "inner_start": null, "start": 159205719, "stop": 159205732, "inner_stop": null, "outer_stop": null, "display_start": 159205719, "display_stop": 159205732, "strand": null, "variant_length": 14, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 159205718, "reference_allele_vcf": "CCCTGGCTGGCCTGT", "alternate_allele_vcf": "C", "for_display_length": null}, "hgnc_ids": ["HGNC:4035"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000012", "vcv": "VCV000000002", "title": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer) AND Hereditary spastic paraplegia 48", "variant_type": "indel", "clinical_significance": "pathogenic", "review_status": "criteria provided, single submitter", "sequence_location": {"assembly": "GRCh38", "chr": "7", "accession": "NC_000007.14", "outer_start": null, "inner_start": null, "start": 4781213, "stop": 4781216, "inner_stop": null, "outer_stop": null, "display_start": 4781213, "display_stop": 4781216, "strand": null, "variant_length": 22, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 4781213, "reference_allele_vcf": "GGAT", "alternate_allele_vcf": "TGCTGTAAACTGTAACTGTAAA", "for_display_length": null}, "hgnc_ids": ["HGNC:22197"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000013", "vcv": "VCV000000003", "title": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs) AND Hereditary spastic paraplegia 48", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "7", "accession": "NC_000007.14", "outer_start": null, "inner_start": null, "start": 4787730, "stop": 4787743, "inner_stop": null, "outer_stop": null, "display_start": 4787730, "display_stop": 4787743, "strand": null, "variant_length": 14, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 4787729, "reference_allele_vcf": "GCTGCTGGACCTGCC", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:22197"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000016", "vcv": "VCV000000006", "title": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser) AND Mitochondrial complex 1 deficiency, nuclear type 19", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "11", "accession": "NC_000011.10", "outer_start": null, "inner_start": null, "start": 126277517, "stop": 126277517, "inner_stop": null, "outer_stop": null, "display_start": 126277517, "display_stop": 126277517, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 126277517, "reference_allele_vcf": "A", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:26927"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000042", "vcv": "VCV000000025", "title": "NM_015600.4(ABHD12):c.-6898_191+7002delinsCC AND PHARC syndrome", "variant_type": "indel", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "20", "accession": "NC_000020.11", "outer_start": null, "inner_start": null, "start": 25383511, "stop": 25397601, "inner_stop": null, "outer_stop": null, "display_start": 25383511, "display_stop": 25397601, "strand": null, "variant_length": 14091, "reference_allele": null, "alternate_allele": "GG", "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": null, "reference_allele_vcf": null, "alternate_allele_vcf": null, "for_display_length": null}, "hgnc_ids": ["HGNC:15868"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000043", "vcv": "VCV000000026", "title": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter) AND PHARC syndrome", "variant_type": "duplication", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "20", "accession": "NC_000020.11", "outer_start": null, "inner_start": null, "start": 25307980, "stop": 25307981, "inner_stop": null, "outer_stop": null, "display_start": 25307980, "display_stop": 25307981, "strand": null, "variant_length": 7, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 25307980, "reference_allele_vcf": "G", "alternate_allele_vcf": "GGCTCTTA", "for_display_length": null}, "hgnc_ids": ["HGNC:15868"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000049", "vcv": "VCV000000032", "title": "NM_138413.4(HOGA1):c.700+4G>T AND Primary hyperoxaluria type 3", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "10", "accession": "NC_000010.11", "outer_start": null, "inner_start": null, "start": 97600167, "stop": 97600167, "inner_stop": null, "outer_stop": null, "display_start": 97600167, "display_stop": 97600167, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 97600167, "reference_allele_vcf": "G", "alternate_allele_vcf": "T", "for_display_length": null}, "hgnc_ids": ["HGNC:25155"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000057", "vcv": "VCV000000040", "title": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "variant_type": "deletion", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "19", "accession": "NC_000019.10", "outer_start": null, "inner_start": null, "start": 36104569, "stop": 36104572, "inner_stop": null, "outer_stop": null, "display_start": 36104569, "display_stop": 36104572, "strand": null, "variant_length": 4, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 36104568, "reference_allele_vcf": "GTGCC", "alternate_allele_vcf": "G", "for_display_length": null}, "hgnc_ids": ["HGNC:24502"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[31m-{"rcv": "RCV000000059", "vcv": "VCV000000042", "title": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "variant_type": "single nucleotide variant", "clinical_significance": "pathogenic", "review_status": "no assertion criteria provided", "sequence_location": {"assembly": "GRCh38", "chr": "19", "accession": "NC_000019.10", "outer_start": null, "inner_start": null, "start": 36067415, "stop": 36067415, "inner_stop": null, "outer_stop": null, "display_start": 36067415, "display_stop": 36067415, "strand": null, "variant_length": 1, "reference_allele": null, "alternate_allele": null, "assembly_accession_version": "GCF_000001405.38", "assembly_status": "current", "position_vcf": 36067415, "reference_allele_vcf": "G", "alternate_allele_vcf": "C", "for_display_length": null}, "hgnc_ids": ["HGNC:24502"], "absolute_copy_number": null, "reference_copy_number": null, "copy_number_tuple": null}[m
[32m+[m[32m{"accession": {"accession": "VCV000000002", "version": 3}, "rcvs": [{"accession": {"accession": "RCV000000012", "version": 5}, "title": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer) AND Hereditary spastic paraplegia 48"}], "name": "NM_014855.3(AP5Z1):c.80_83delinsTGCTGTAAACTGTAACTGTAAA (p.Arg27_Ile28delinsLeuLeuTer)", "variationType": "VARIATION_TYPE_INDEL", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER", "description": "Pathogenic", "citations": [{"ids": [{"value": "20613862", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Hereditary spastic paraplegia 48", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013342"}]}, {"value": "Spastic paraplegia 48", "type": "Alternate"}, {"value": "Spastic paraplegia 48, autosomal recessive", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Spastic+paraplegia+48%2C+autosomal+recessive/9323"}]}], "symbols": [{"value": "SPG48", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613647", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "306511"}, {"db": "MedGen", "id": "C3150901"}, {"db": "MONDO", "id": "MONDO:0013342"}, {"db": "OMIM", "id": "613647", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "2", "contributesToAggregateClassification": true}], "dateCreated": "2017-01-30T00:00:00Z", "mostRecentSubmission": "2021-05-16T00:00:00Z", "numberOfSubmitters": 2, "numberOfSubmissions": 2}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_7", "accession": "NC_000007.14", "start": 4781213, "stop": 4781216, "displayStart": 4781213, "displayStop": 4781216, "variantLength": 22, "positionVcf": 4781213, "referenceAlleleVcf": "GGAT", "alternateAlleleVcf": "TGCTGTAAACTGTAACTGTAAA"}, "hgncIds": ["HGNC:22197"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000006", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000016", "version": 6}, "title": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser) AND Mitochondrial complex 1 deficiency, nuclear type 19"}], "name": "NM_017547.4(FOXRED1):c.1289A>G (p.Asn430Ser)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20818383", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Mitochondrial complex 1 deficiency, nuclear type 19", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0032624"}]}, {"value": "MITOCHONDRIAL COMPLEX I DEFICIENCY, NUCLEAR TYPE 19", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "618241", "type": "MIM"}, {"db": "OMIM", "id": "613622.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613622.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613622.0003", "type": "Allelic variant"}]}], "symbols": [{"value": "MC1DN19", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "618241", "type": "MIM"}]}], "xrefs": [{"db": "MedGen", "id": "C4748791"}, {"db": "MONDO", "id": "MONDO:0032624"}, {"db": "OMIM", "id": "618241", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "45335", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-10-01T00:00:00Z", "dateCreated": "2019-02-04T00:00:00Z", "mostRecentSubmission": "2019-02-04T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_11", "accession": "NC_000011.10", "start": 126277517, "stop": 126277517, "displayStart": 126277517, "displayStop": 126277517, "variantLength": 1, "positionVcf": 126277517, "referenceAlleleVcf": "A", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:26927"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000003", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000013", "version": 6}, "title": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs) AND Hereditary spastic paraplegia 48"}], "name": "NM_014855.3(AP5Z1):c.1413_1426del (p.Leu473fs)", "variationType": "VARIATION_TYPE_DELETION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20613862", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Hereditary spastic paraplegia 48", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013342"}]}, {"value": "Spastic paraplegia 48", "type": "Alternate"}, {"value": "Spastic paraplegia 48, autosomal recessive", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Spastic+paraplegia+48%2C+autosomal+recessive/9323"}]}], "symbols": [{"value": "SPG48", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613647", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "306511"}, {"db": "MedGen", "id": "C3150901"}, {"db": "MONDO", "id": "MONDO:0013342"}, {"db": "OMIM", "id": "613647", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "2", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-06-29T00:00:00Z", "dateCreated": "2017-01-30T00:00:00Z", "mostRecentSubmission": "2017-01-30T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_7", "accession": "NC_000007.14", "start": 4787730, "stop": 4787743, "displayStart": 4787730, "displayStop": 4787743, "variantLength": 14, "positionVcf": 4787729, "referenceAlleleVcf": "GCTGCTGGACCTGCC", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:22197"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000043", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000060", "version": 4}, "title": "NM_001083961.2(WDR62):c.1408C>T (p.Gln470Ter) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.1408C>T (p.Gln470Ter)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2019-03-10T00:00:00Z", "mostRecentSubmission": "2019-03-10T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_19", "accession": "NC_000019.10", "start": 36083099, "stop": 36083099, "displayStart": 36083099, "displayStop": 36083099, "variantLength": 1, "positionVcf": 36083099, "referenceAlleleVcf": "C", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:24502"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000026", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000043", "version": 3}, "title": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter) AND PHARC syndrome"}], "name": "NM_001042472.3(ABHD12):c.846_852dup (p.His285Ter)", "variationType": "VARIATION_TYPE_DUPLICATION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20797687", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "PHARC syndrome", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0012984"}]}, {"value": "Polyneuropathy-hearing loss-ataxia-retinitis pigmentosa-cataract syndrome", "type": "Alternate", "xrefs": [{"db": "Orphanet", "id": "171848"}]}, {"value": "Polyneuropathy, hearing loss, ataxia, retinitis pigmentosa, and cataract", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Polyneuropathy%2C+hearing+loss%2C+ataxia%2C+retinitis+pigmentosa%2C+and+cataract/9132"}]}], "symbols": [{"value": "PHARC", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "612674", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "171848"}, {"db": "MedGen", "id": "C2675204"}, {"db": "MONDO", "id": "MONDO:0012984"}, {"db": "OMIM", "id": "612674", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "17", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-10T00:00:00Z", "dateCreated": "2015-05-18T00:00:00Z", "mostRecentSubmission": "2015-05-18T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_20", "accession": "NC_000020.11", "start": 25307980, "stop": 25307981, "displayStart": 25307980, "displayStop": 25307981, "variantLength": 7, "positionVcf": 25307980, "referenceAlleleVcf": "G", "alternateAlleleVcf": "GGCTCTTA"}, "hgncIds": ["HGNC:15868"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000051", "version": 2}, "rcvs": [{"accession": {"accession": "RCV000000068", "version": 4}, "title": "NM_022098.4(XPNPEP3):c.1357G>T (p.Gly453Cys) AND Nephronophthisis-like nephropathy 1"}], "name": "NM_022098.4(XPNPEP3):c.1357G>T (p.Gly453Cys)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20179356", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Nephronophthisis-like nephropathy 1", "type": "Preferred", "xrefs": [{"db": "Genetic Alliance", "id": "Nephronophthisis-like+nephropathy+1/8986"}, {"db": "MONDO", "id": "MONDO:0013163"}]}], "symbols": [{"value": "NPHPL1", "type": "Preferred", "xrefs": [{"db": "OMIM", "id": "613159", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "The nephronophthisis (NPH) phenotype is characterized by reduced renal concentrating ability, chronic tubulointerstitial nephritis, cystic renal disease, and progression to end-stage renal disease (ESRD) before age 30 years. Three age-based clinical subtypes are recognized: infantile, juvenile, and adolescent/adult. Infantile NPH can present in utero with oligohydramnios sequence (limb contractures, pulmonary hypoplasia, and facial dysmorphisms) or postnatally with renal manifestations that progress to ESRD before age 3 years. Juvenile NPH, the most prevalent subtype, typically presents with polydipsia and polyuria, growth retardation, chronic iron-resistant anemia, or other findings related to chronic kidney disease (CKD). Hypertension is typically absent due to salt wasting. ESRD develops at a median age of 13 years. Ultrasound findings are increased echogenicity, reduced corticomedullary differentiation, and renal cysts (in 50% of affected individuals). Histologic findings include tubulointerstitial fibrosis, thickened and disrupted tubular basement membrane, sporadic corticomedullary cysts, and normal or reduced kidney size. Adolescent/adult NPH is clinically similar to juvenile NPH, but ESRD develops at a median age of 19 years. Within a subtype, inter- and intrafamilial variability in rate of progression to ESRD is considerable. Approximately 80%-90% of individuals with the NPH phenotype have no extrarenal features (i.e., they have isolated NPH); ~10%-20% have extrarenal manifestations that constitute a recognizable syndrome (e.g., Joubert syndrome, Bardet-Biedl syndrome, Jeune syndrome and related skeletal disorders, Meckel-Gruber syndrome, Senior-L\u00f8ken syndrome, Leber congenital amaurosis, COACH syndrome, and oculomotor apraxia, Cogan type)."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK368475"}]}], "citations": [{"ids": [{"value": "27336129", "source": "PubMed"}, {"value": "NBK368475", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "655"}, {"db": "MedGen", "id": "C3150419"}, {"db": "MONDO", "id": "MONDO:0013163"}, {"db": "OMIM", "id": "613159", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "26", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-03-01T00:00:00Z", "dateCreated": "2021-08-11T00:00:00Z", "mostRecentSubmission": "2021-08-11T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_22", "accession": "NC_000022.11", "start": 40924482, "stop": 40924482, "displayStart": 40924482, "displayStop": 40924482, "variantLength": 1, "positionVcf": 40924482, "referenceAlleleVcf": "G", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:28052"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000032", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000049", "version": 2}, "title": "NM_138413.4(HOGA1):c.700+4G>T AND Primary hyperoxaluria type 3"}], "name": "NM_138413.4(HOGA1):c.700+4G>T", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20797690", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Primary hyperoxaluria type 3", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0013327"}]}, {"value": "PH III", "type": "Alternate"}, {"value": "Primary hyperoxaluria, type III", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+Hyperoxaluria+Type+3/8596"}]}], "symbols": [{"value": "HP3", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613616", "type": "MIM"}]}, {"value": "HOGA1", "type": "Alternate"}, {"value": "PH3", "type": "Alternate"}], "attributes": [{"attribute": {"base": {"value": "loss of function", "integerValue": "273"}, "type": "disease mechanism"}, "xrefs": [{"db": "Genetic Testing Registry (GTR)", "id": "GTR000561373"}]}, {"attribute": {"base": {"integerValue": "10738"}, "type": "GARD id"}, "xrefs": [{"db": "Office of Rare Diseases", "id": "10738"}]}], "citations": [{"ids": [{"value": "26401545", "source": "PubMed"}, {"value": "NBK316514", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "416"}, {"db": "Orphanet", "id": "93600"}, {"db": "MedGen", "id": "C3150878"}, {"db": "MONDO", "id": "MONDO:0013327"}, {"db": "OMIM", "id": "613616", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "19", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-10T00:00:00Z", "dateCreated": "2013-04-04T00:00:00Z", "mostRecentSubmission": "2013-04-04T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_10", "accession": "NC_000010.11", "start": 97600167, "stop": 97600167, "displayStart": 97600167, "displayStop": 97600167, "variantLength": 1, "positionVcf": 97600167, "referenceAlleleVcf": "G", "alternateAlleleVcf": "T"}, "hgncIds": ["HGNC:25155"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000042", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000059", "version": 5}, "title": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.671G>C (p.Trp224Ser)", "variationType": "VARIATION_TYPE_SNV", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2019-03-10T00:00:00Z", "mostRecentSubmission": "2019-03-10T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_19", "accession": "NC_000019.10", "start": 36067415, "stop": 36067415, "displayStart": 36067415, "displayStop": 36067415, "variantLength": 1, "positionVcf": 36067415, "referenceAlleleVcf": "G", "alternateAlleleVcf": "C"}, "hgncIds": ["HGNC:24502"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000059", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000076", "version": 5}, "title": "NM_006642.5(SDCCAG8):c.1946_1949del (p.Cys649fs) AND Senior-Loken syndrome 7"}], "name": "NM_006642.5(SDCCAG8):c.1946_1949del (p.Cys649fs)", "variationType": "VARIATION_TYPE_MICROSATELLITE", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20835237", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "Senior-Loken syndrome 7", "type": "Preferred", "xrefs": [{"db": "Genetic Alliance", "id": "Senior-Loken+syndrome+7/9283"}, {"db": "MONDO", "id": "MONDO:0013326"}]}], "symbols": [{"value": "SLSN7", "type": "Preferred", "xrefs": [{"db": "OMIM", "id": "613615", "type": "MIM"}]}], "xrefs": [{"db": "Orphanet", "id": "3156"}, {"db": "MedGen", "id": "C3150877"}, {"db": "MONDO", "id": "MONDO:0013326"}, {"db": "OMIM", "id": "613615", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "29", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-10-01T00:00:00Z", "dateCreated": "2016-10-23T00:00:00Z", "mostRecentSubmission": "2016-10-23T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_1", "accession": "NC_000001.11", "start": 243426517, "stop": 243426520, "displayStart": 243426517, "displayStop": 243426520, "variantLength": 4, "positionVcf": 243426516, "referenceAlleleVcf": "AGTGT", "alternateAlleleVcf": "A"}, "hgncIds": ["HGNC:10671"]}[m
[32m+[m[32m{"accession": {"accession": "VCV000000040", "version": 1}, "rcvs": [{"accession": {"accession": "RCV000000057", "version": 4}, "title": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs) AND Microcephaly 2, primary, autosomal recessive, with or without cortical malformations"}], "name": "NM_001083961.2(WDR62):c.4205_4208del (p.Val1402fs)", "variationType": "VARIATION_TYPE_DELETION", "classifications": {"germlineClassification": {"reviewStatus": "AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED", "description": "Pathogenic", "citations": [{"ids": [{"value": "20729831", "source": "PubMed"}], "type": "general"}], "conditions": [{"traits": [{"names": [{"value": "MICROCEPHALY 2, PRIMARY, AUTOSOMAL RECESSIVE, WITH CORTICAL MALFORMATIONS", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "613583.0005", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0003", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0004", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0009", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0001", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0010", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0013", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0002", "type": "Allelic variant"}, {"db": "OMIM", "id": "613583.0012", "type": "Allelic variant"}]}, {"value": "Primary autosomal recessive microcephaly 2", "type": "Alternate", "xrefs": [{"db": "Genetic Alliance", "id": "Primary+autosomal+recessive+microcephaly+2/9156"}]}, {"value": "Microcephaly 2, primary, autosomal recessive, with or without cortical malformations", "type": "Preferred", "xrefs": [{"db": "MONDO", "id": "MONDO:0011435"}]}], "symbols": [{"value": "MCPH2", "type": "Alternate", "xrefs": [{"db": "OMIM", "id": "604317", "type": "MIM"}]}], "attributes": [{"attribute": {"base": {"value": "In WDR62 primary microcephaly (WDR62-MCPH), microcephaly (occipitofrontal circumference [OFC] = -2 SD) is usually present at birth, but in some instances becomes evident later in the first year of life. Growth is otherwise normal. Except for brain malformations in most affected individuals, no other congenital malformations are observed. Central nervous system involvement can include delayed motor development, mild-to-severe intellectual disability (ID), behavior problems, epilepsy, spasticity, and ataxia."}, "type": "public definition"}, "xrefs": [{"db": "GeneReviews", "id": "NBK578067"}]}], "citations": [{"ids": [{"value": "35188728", "source": "PubMed"}, {"value": "NBK578067", "source": "BookShelf"}], "type": "review", "abbrev": "GeneReviews"}], "xrefs": [{"db": "Orphanet", "id": "2512"}, {"db": "MedGen", "id": "C1858535"}, {"db": "MONDO", "id": "MONDO:0011435"}, {"db": "OMIM", "id": "604317", "type": "MIM"}]}], "type": "TYPE_DISEASE", "id": "7167", "contributesToAggregateClassification": true}], "dateLastEvaluated": "2010-09-09T00:00:00Z", "dateCreated": "2015-09-17T00:00:00Z", "mostRecentSubmission": "2015-09-17T00:00:00Z", "numberOfSubmitters": 1, "numberOfSubmissions": 1}}, "sequenceLocation": {"forDisplay": true, "assembly": "GRCh38", "chr": "CHROMOSOME_19", "accession": "NC_000019.10", "start": 36104569, "stop": 36104572, "displayStart": 36104569, "displayStop": 36104572, "variantLength": 4, "positionVcf": 36104568, "referenceAlleleVcf": "GTGCC", "alternateAlleleVcf": "G"}, "hgncIds": ["HGNC:24502"]}[m
[1mdiff --git a/tests/clinvar-genes/gene-frequency-report.jsonl b/tests/clinvar-genes/gene-frequency-report.jsonl[m
[1mindex a9f2a99..3509327 100644[m
[1m--- a/tests/clinvar-genes/gene-frequency-report.jsonl[m
[1m+++ b/tests/clinvar-genes/gene-frequency-report.jsonl[m
[36m@@ -1,10 +1,11 @@[m
[31m-{"hgnc": "HGNC:5", "counts": {"benign": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertain": [25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:16", "counts": {"benign": [6, 0, 0, 0, 0, 0, 0, 2, 3, 3, 2, 1, 1, 0, 0, 2, 0, 0], "uncertain": [17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:17", "counts": {"benign": [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertain": [18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:18", "counts": {"benign": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertain": [7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:19", "counts": {"benign": [1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0], "uncertain": [13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:20", "counts": {"benign": [485, 0, 0, 0, 0, 44, 15, 25, 38, 26, 3, 4, 0, 16, 12, 4, 0, 0], "uncertain": [785, 0, 0, 0, 0, 33, 6, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [48, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:21", "counts": {"benign": [12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertain": [77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:23", "counts": {"benign": [216, 0, 0, 0, 0, 6, 1, 7, 9, 16, 4, 10, 6, 5, 8, 21, 0, 0], "uncertain": [304, 0, 0, 0, 0, 22, 3, 5, 6, 0, 0, 0, 0, 1, 0, 1, 0, 0], "pathogenic": [29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:29", "counts": {"benign": [677, 0, 0, 0, 0, 17, 22, 26, 37, 39, 17, 11, 18, 20, 31, 31, 0, 0], "uncertain": [421, 0, 0, 0, 0, 13, 2, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:30", "counts": {"benign": [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0], "uncertain": [54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "pathogenic": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}}[m
[32m+[m[32m{"hgncId": "HGNC:5", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:7", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [23, 0, 0, 0, 0, 3, 0, 1, 2, 3, 0, 1, 0, 0, 1, 1, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:16", "pathogenicCounts": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [20, 0, 0, 0, 0, 0, 0, 2, 3, 3, 2, 1, 1, 0, 0, 1, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:17", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:18", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:19", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [2, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:20", "pathogenicCounts": [67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [650, 0, 0, 0, 0, 16, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [457, 0, 0, 0, 0, 24, 6, 8, 9, 18, 11, 13, 0, 15, 10, 2, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:21", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:23", "pathogenicCounts": [30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [255, 0, 0, 0, 0, 23, 4, 3, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0], "benignCounts": [245, 0, 0, 0, 0, 13, 4, 6, 5, 10, 4, 9, 4, 4, 8, 19, 1, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:29", "pathogenicCounts": [50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [443, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [511, 0, 0, 0, 0, 16, 7, 14, 13, 22, 21, 38, 28, 32, 35, 33, 1, 0]}[m
[32m+[m[32m{"hgncId": "HGNC:30", "pathogenicCounts": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "uncertainCounts": [85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "benignCounts": [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]}[m
[1mdiff --git a/tests/clinvar-genes/gene-variant-report.jsonl b/tests/clinvar-genes/gene-variant-report.jsonl[m
[1mindex 958924d..97f4a5d 100644[m
[1m--- a/tests/clinvar-genes/gene-variant-report.jsonl[m
[1m+++ b/tests/clinvar-genes/gene-variant-report.jsonl[m
[36m@@ -1,12 +1,13 @@[m
[31m-{"hgnc": "HGNC:5", "counts": {"missense_variant": [0, 0, 25, 0, 0]}}[m
[31m-{"hgnc": "HGNC:16", "counts": {"frameshift_variant": [1, 1, 0, 0, 0], "intron_variant": [0, 1, 0, 0, 0], "missense_variant": [2, 7, 16, 0, 3], "stop_gained": [0, 0, 1, 0, 0], "synonymous_variant": [7, 1, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:17", "counts": {"missense_variant": [0, 0, 18, 0, 0]}}[m
[31m-{"hgnc": "HGNC:18", "counts": {"missense_variant": [0, 0, 7, 0, 0]}}[m
[31m-{"hgnc": "HGNC:19", "counts": {"missense_variant": [1, 2, 14, 0, 0], "non_coding_transcript_variant": [2, 1, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:20", "counts": {"3_prime_UTR_variant": [4, 2, 4, 0, 0], "5_prime_UTR_variant": [0, 4, 0, 0, 0], "frameshift_variant": [0, 0, 15, 2, 1], "inframe_indel": [0, 0, 4, 0, 0], "intron_variant": [45, 197, 44, 0, 0], "missense_variant": [20, 52, 689, 17, 19], "stop_gained": [0, 0, 18, 3, 5], "splice_acceptor_variant": [0, 0, 7, 0, 0], "splice_donor_variant": [0, 0, 4, 0, 0], "synonymous_variant": [37, 311, 30, 0, 0]}}[m
[31m-{"hgnc": "HGNC:21", "counts": {"5_prime_UTR_variant": [0, 0, 3, 0, 0], "missense_variant": [0, 8, 74, 0, 0]}}[m
[31m-{"hgnc": "HGNC:23", "counts": {"3_prime_UTR_variant": [33, 13, 59, 0, 0], "5_prime_UTR_variant": [2, 3, 14, 0, 0], "frameshift_variant": [0, 0, 1, 0, 1], "inframe_indel": [0, 0, 3, 0, 0], "intron_variant": [33, 147, 117, 3, 6], "missense_variant": [2, 5, 120, 1, 7], "stop_gained": [0, 0, 1, 0, 1], "splice_acceptor_variant": [0, 0, 0, 2, 0], "stop_lost": [0, 1, 0, 0, 0], "synonymous_variant": [6, 63, 10, 0, 0]}}[m
[31m-{"hgnc": "HGNC:29", "counts": {"5_prime_UTR_variant": [12, 1, 26, 0, 0], "frameshift_variant": [0, 0, 0, 0, 8], "inframe_indel": [0, 0, 1, 0, 1], "intron_variant": [169, 127, 45, 1, 0], "missense_variant": [70, 93, 340, 9, 13], "stop_gained": [0, 0, 0, 3, 5], "splice_acceptor_variant": [0, 0, 1, 0, 0], "splice_donor_variant": [0, 0, 0, 4, 1], "synonymous_variant": [108, 357, 29, 0, 0]}}[m
[31m-{"hgnc": "HGNC:30", "counts": {"frameshift_variant": [1, 0, 0, 0, 0], "missense_variant": [0, 2, 54, 0, 0], "splice_acceptor_variant": [1, 0, 0, 0, 0]}}[m
[31m-{"hgnc": "HGNC:32", "counts": {"3_prime_UTR_variant": [1, 0, 0, 0, 0], "frameshift_variant": [0, 0, 1, 1, 4], "inframe_indel": [0, 0, 1, 0, 0], "intron_variant": [16, 2, 3, 0, 0], "missense_variant": [2, 9, 129, 0, 0], "stop_gained": [0, 0, 0, 2, 2], "splice_donor_variant": [0, 0, 0, 1, 0], "synonymous_variant": [13, 19, 1, 0, 0]}}[m
[31m-{"hgnc": "HGNC:33", "counts": {"3_prime_UTR_variant": [1, 0, 20, 0, 0], "5_prime_UTR_variant": [8, 6, 20, 0, 0], "frameshift_variant": [0, 0, 1, 3, 12], "inframe_indel": [0, 0, 4, 0, 1], "intron_variant": [81, 57, 30, 0, 2], "missense_variant": [13, 37, 377, 22, 16], "stop_gained": [0, 0, 1, 0, 12], "no_sequence_alteration": [1, 0, 0, 0, 0], "splice_acceptor_variant": [0, 0, 0, 5, 2], "splice_donor_variant": [0, 0, 1, 1, 1], "synonymous_variant": [31, 149, 41, 1, 0]}}[m
[32m+[m[32m{"hgncId": "HGNC:5", "impactCounts": [{"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countLikelyBenign": 2, "countUncertainSignificance": 41}]}[m
[32m+[m[32m{"hgncId": "HGNC:7", "impactCounts": [{"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 1, "countLikelyBenign": 2, "countUncertainSignificance": 1}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 7, "countLikelyBenign": 9, "countUncertainSignificance": 58}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countBenign": 1}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countBenign": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 6, "countLikelyBenign": 8}]}[m
[32m+[m[32m{"hgncId": "HGNC:16", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countLikelyBenign": 1}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countLikelyBenign": 1}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 1, "countLikelyBenign": 11, "countUncertainSignificance": 26, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countUncertainSignificance": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 8, "countLikelyBenign": 8}]}[m
[32m+[m[32m{"hgncId": "HGNC:17", "impactCounts": [{"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countUncertainSignificance": 24}, {"geneImpact": "GENE_IMPACT_STOP_LOST", "countLikelyBenign": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countLikelyBenign": 1}]}[m
[32m+[m[32m{"hgncId": "HGNC:18", "impactCounts": [{"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countUncertainSignificance": 15}]}[m
[32m+[m[32m{"hgncId": "HGNC:19", "impactCounts": [{"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 1, "countLikelyBenign": 2, "countUncertainSignificance": 18}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 2, "countLikelyBenign": 2}]}[m
[32m+[m[32m{"hgncId": "HGNC:20", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countUncertainSignificance": 3, "countLikelyPathogenic": 3, "countPathogenic": 16}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 36, "countLikelyBenign": 225, "countUncertainSignificance": 35}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 2, "countLikelyBenign": 15, "countUncertainSignificance": 603, "countLikelyPathogenic": 9, "countPathogenic": 6}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countUncertainSignificance": 5, "countPathogenic": 19}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countUncertainSignificance": 3, "countLikelyPathogenic": 2}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 5, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_STOP_LOST", "countUncertainSignificance": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 4, "countLikelyBenign": 262, "countUncertainSignificance": 11}]}[m
[32m+[m[32m{"hgncId": "HGNC:21", "impactCounts": [{"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countLikelyBenign": 9, "countUncertainSignificance": 115}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countLikelyBenign": 1}]}[m
[32m+[m[32m{"hgncId": "HGNC:23", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 3, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 19, "countLikelyBenign": 127, "countUncertainSignificance": 13}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 1, "countLikelyBenign": 2, "countUncertainSignificance": 208, "countLikelyPathogenic": 1, "countPathogenic": 6}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countUncertainSignificance": 1, "countLikelyPathogenic": 5, "countPathogenic": 3}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countLikelyPathogenic": 6, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 1, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_STOP_LOST", "countUncertainSignificance": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 7, "countLikelyBenign": 125, "countUncertainSignificance": 4}]}[m
[32m+[m[32m{"hgncId": "HGNC:29", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countUncertainSignificance": 1, "countPathogenic": 12}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 143, "countLikelyBenign": 146, "countUncertainSignificance": 31, "countLikelyPathogenic": 1}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 15, "countLikelyBenign": 39, "countUncertainSignificance": 356, "countLikelyPathogenic": 3, "countPathogenic": 11}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countLikelyPathogenic": 4, "countPathogenic": 8}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 1, "countPathogenic": 2}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countLikelyPathogenic": 5, "countPathogenic": 2}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 14, "countLikelyBenign": 334, "countUncertainSignificance": 4}]}[m
[32m+[m[32m{"hgncId": "HGNC:30", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countBenign": 1}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countLikelyBenign": 4, "countUncertainSignificance": 85}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countBenign": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countLikelyBenign": 1}]}[m
[32m+[m[32m{"hgncId": "HGNC:32", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 1, "countPathogenic": 4}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 14, "countLikelyBenign": 11, "countUncertainSignificance": 3}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 3, "countLikelyBenign": 12, "countUncertainSignificance": 199}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countLikelyPathogenic": 2, "countPathogenic": 2}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countLikelyPathogenic": 1, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 15, "countLikelyBenign": 70, "countUncertainSignificance": 1}]}[m
[32m+[m[32m{"hgncId": "HGNC:33", "impactCounts": [{"geneImpact": "GENE_IMPACT_FRAMESHIFT_VARIANT", "countUncertainSignificance": 1, "countLikelyPathogenic": 3, "countPathogenic": 22}, {"geneImpact": "GENE_IMPACT_INTRON_VARIANT", "countBenign": 55, "countLikelyBenign": 333, "countUncertainSignificance": 8, "countLikelyPathogenic": 1, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_MISSENSE_VARIANT", "countBenign": 2, "countLikelyBenign": 11, "countUncertainSignificance": 306, "countLikelyPathogenic": 14, "countPathogenic": 11}, {"geneImpact": "GENE_IMPACT_STOP_GAINED", "countUncertainSignificance": 1, "countPathogenic": 28}, {"geneImpact": "GENE_IMPACT_NO_SEQUENCE_ALTERATION", "countBenign": 1}, {"geneImpact": "GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT", "countLikelyPathogenic": 4, "countPathogenic": 2}, {"geneImpact": "GENE_IMPACT_SPLICE_DONOR_VARIANT", "countLikelyPathogenic": 6, "countPathogenic": 1}, {"geneImpact": "GENE_IMPACT_SYNONYMOUS_VARIANT", "countBenign": 7, "countLikelyBenign": 530, "countUncertainSignificance": 4, "countLikelyPathogenic": 1}]}[m
