From ae9c1f3fe36f1b1da2b3b7a29c0e9af2132da97d Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Wed, 3 Jul 2024 16:13:29 +0200 Subject: [PATCH] feat: initial set of seqvar stores based on code generated from OpenAPI (#1765) (#1769) --- backend/Makefile | 5 +- backend/Pipfile | 1 + backend/Pipfile.lock | 209 +- backend/cases_analysis/views_api.py | 9 +- backend/config/settings/base.py | 9 +- backend/config/urls.py | 16 + backend/genepanels/serializers.py | 2 + backend/seqvars/admin.py | 24 +- backend/seqvars/factory_defaults.py | 736 +- backend/seqvars/migrations/0001_initial.py | 159 +- backend/seqvars/models.py | 262 +- backend/seqvars/serializers.py | 388 +- backend/seqvars/tests/factories.py | 248 +- .../snapshots/snap_test_factory_defaults.py | 102 +- .../tests/snapshots/snap_test_views_api.py | 915 + .../seqvars/tests/test_factory_defaults.py | 20 +- backend/seqvars/tests/test_models.py | 426 +- backend/seqvars/tests/test_permissions_api.py | 362 +- backend/seqvars/tests/test_serializers.py | 496 +- backend/seqvars/tests/test_views_api.py | 514 +- backend/seqvars/urls.py | 37 +- backend/seqvars/views_api.py | 285 +- backend/varfish/spectacular_utils.py | 112 + .../varfish_api_schema.yaml | 20262 ++++++---------- .../users/management/commands/initdev.py | 2 +- frontend/.gitignore | 1 + frontend/Makefile | 12 +- frontend/ext/varfish-api/src/lib/index.ts | 4 + .../ext/varfish-api/src/lib/schemas.gen.ts | 6743 +++++ .../ext/varfish-api/src/lib/services.gen.ts | 1551 ++ frontend/ext/varfish-api/src/lib/types.gen.ts | 4672 ++++ frontend/jsconfig.json | 3 +- frontend/openapi-ts.config.ts | 10 + frontend/package-lock.json | 353 +- frontend/package.json | 6 +- .../src/cases/components/CaseDetailApp.vue | 119 +- frontend/src/cases/plugins/heyApi.ts | 6 + frontend/src/cases/plugins/index.ts | 1 + .../src/seqvars/stores/caseAnalysis/index.ts | 1 + .../src/seqvars/stores/caseAnalysis/store.ts | 179 + frontend/src/seqvars/stores/presets/index.ts | 1 + frontend/src/seqvars/stores/presets/store.ts | 235 + frontend/src/seqvars/stores/query/index.ts | 1 + frontend/src/seqvars/stores/query/store.ts | 211 + frontend/src/varfish/api/varfish.d.ts | 14385 ----------- frontend/tsconfig.json | 1 + frontend/vite.config.js | 1 + 47 files changed, 24307 insertions(+), 29790 deletions(-) create mode 100644 backend/seqvars/tests/snapshots/snap_test_views_api.py create mode 100644 backend/varfish/spectacular_utils.py create mode 100644 frontend/ext/varfish-api/src/lib/index.ts create mode 100644 frontend/ext/varfish-api/src/lib/schemas.gen.ts create mode 100644 frontend/ext/varfish-api/src/lib/services.gen.ts create mode 100644 frontend/ext/varfish-api/src/lib/types.gen.ts create mode 100644 frontend/openapi-ts.config.ts create mode 100644 frontend/src/cases/plugins/heyApi.ts create mode 100644 frontend/src/seqvars/stores/caseAnalysis/index.ts create mode 100644 frontend/src/seqvars/stores/caseAnalysis/store.ts create mode 100644 frontend/src/seqvars/stores/presets/index.ts create mode 100644 frontend/src/seqvars/stores/presets/store.ts create mode 100644 frontend/src/seqvars/stores/query/index.ts create mode 100644 frontend/src/seqvars/stores/query/store.ts delete mode 100644 frontend/src/varfish/api/varfish.d.ts diff --git a/backend/Makefile b/backend/Makefile index f6cd52f0d..441a47478 100644 --- a/backend/Makefile +++ b/backend/Makefile @@ -125,4 +125,7 @@ celery: .PHONY: gen-api-schema gen-api-schema: - pipenv run $(MANAGE) generateschema | grep -v ^Loading | grep -v '^The ' > ./varfish/tests/drf_openapi_schema/varfish_api_schema.yaml + pipenv run $(MANAGE) spectacular \ + | grep -v ^Loading \ + | grep -v '^The ' \ + > ./varfish/tests/drf_openapi_schema/varfish_api_schema.yaml diff --git a/backend/Pipfile b/backend/Pipfile index 6bd289285..0889649ac 100644 --- a/backend/Pipfile +++ b/backend/Pipfile @@ -59,6 +59,7 @@ rich = "*" drf-writable-nested = "*" django-modelcluster = "*" faker = "*" +drf-spectacular = {extras = ["sidecar"], version = "*"} [dev-packages] # packages for testing diff --git a/backend/Pipfile.lock b/backend/Pipfile.lock index 45c0ea96d..73b145f72 100644 --- a/backend/Pipfile.lock +++ b/backend/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "86e743a5e21bce1d267339cf1fc0c77586122195daec0de8c2f0c7c92badc242" + "sha256": "2f313d1066763400665a319e71e5195af2720bf24d4e65d93f9bde21a0921dca" }, "pipfile-spec": 6, "requires": { @@ -778,6 +778,15 @@ "index": "pypi", "version": "==0.1.1" }, + "drf-spectacular": { + "hashes": [ + "sha256:a199492f2163c4101055075ebdbb037d59c6e0030692fc83a1a8c0fc65929981", + "sha256:b1c04bf8b2fbbeaf6f59414b4ea448c8787aba4d32f76055c3b13335cf7ec37b" + ], + "index": "pypi", + "markers": "python_version >= '3.7'", + "version": "==0.27.2" + }, "drf-writable-nested": { "hashes": [ "sha256:154c0381e8a3a477e0fd539d5e1caf8ff4c1097a9c0c0fe741d4858b11b0455b" @@ -990,6 +999,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.4.1" }, + "inflection": { + "hashes": [ + "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417", + "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2" + ], + "markers": "python_version >= '3.5'", + "version": "==0.5.1" + }, "interval-binning": { "hashes": [ "sha256:e77b748ecce3dde53c744b873f4accfe3f27061357091c68c903f5d86e914b46" @@ -1830,97 +1847,106 @@ }, "pydantic": { "hashes": [ - "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52", - "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0" + "sha256:d970ffb9d030b710795878940bd0489842c638e7252fc4a19c3ae2f7da4d6141", + "sha256:ead4f3a1e92386a734ca1411cb25d94147cf8778ed5be6b56749047676d6364e" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==2.7.4" + "version": "==2.8.0" }, "pydantic-core": { "hashes": [ - "sha256:01dd777215e2aa86dfd664daed5957704b769e726626393438f9c87690ce78c3", - "sha256:0eb2a4f660fcd8e2b1c90ad566db2b98d7f3f4717c64fe0a83e0adb39766d5b8", - "sha256:0fbbdc827fe5e42e4d196c746b890b3d72876bdbf160b0eafe9f0334525119c8", - "sha256:123c3cec203e3f5ac7b000bd82235f1a3eced8665b63d18be751f115588fea30", - "sha256:14601cdb733d741b8958224030e2bfe21a4a881fb3dd6fbb21f071cabd48fa0a", - "sha256:18f469a3d2a2fdafe99296a87e8a4c37748b5080a26b806a707f25a902c040a8", - "sha256:19894b95aacfa98e7cb093cd7881a0c76f55731efad31073db4521e2b6ff5b7d", - "sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc", - "sha256:1d886dc848e60cb7666f771e406acae54ab279b9f1e4143babc9c2258213daa2", - "sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab", - "sha256:21a5e440dbe315ab9825fcd459b8814bb92b27c974cbc23c3e8baa2b76890077", - "sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e", - "sha256:2f5966897e5461f818e136b8451d0551a2e77259eb0f73a837027b47dc95dab9", - "sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9", - "sha256:2fdf2156aa3d017fddf8aea5adfba9f777db1d6022d392b682d2a8329e087cef", - "sha256:3c40d4eaad41f78e3bbda31b89edc46a3f3dc6e171bf0ecf097ff7a0ffff7cb1", - "sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507", - "sha256:44a688331d4a4e2129140a8118479443bd6f1905231138971372fcde37e43528", - "sha256:44c7486a4228413c317952e9d89598bcdfb06399735e49e0f8df643e1ccd0558", - "sha256:44cd83ab6a51da80fb5adbd9560e26018e2ac7826f9626bc06ca3dc074cd198b", - "sha256:46387e38bd641b3ee5ce247563b60c5ca098da9c56c75c157a05eaa0933ed154", - "sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724", - "sha256:4748321b5078216070b151d5271ef3e7cc905ab170bbfd27d5c83ee3ec436695", - "sha256:4b06beb3b3f1479d32befd1f3079cc47b34fa2da62457cdf6c963393340b56e9", - "sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851", - "sha256:4e99bc050fe65c450344421017f98298a97cefc18c53bb2f7b3531eb39bc7805", - "sha256:509daade3b8649f80d4e5ff21aa5673e4ebe58590b25fe42fac5f0f52c6f034a", - "sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5", - "sha256:53db086f9f6ab2b4061958d9c276d1dbe3690e8dd727d6abf2321d6cce37fa94", - "sha256:564d7922e4b13a16b98772441879fcdcbe82ff50daa622d681dd682175ea918c", - "sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d", - "sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef", - "sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26", - "sha256:5f09baa656c904807e832cf9cce799c6460c450c4ad80803517032da0cd062e2", - "sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c", - "sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0", - "sha256:6f5c4d41b2771c730ea1c34e458e781b18cc668d194958e0112455fff4e402b2", - "sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4", - "sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d", - "sha256:823be1deb01793da05ecb0484d6c9e20baebb39bd42b5d72636ae9cf8350dbd2", - "sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce", - "sha256:847a35c4d58721c5dc3dba599878ebbdfd96784f3fb8bb2c356e123bdcd73f34", - "sha256:86110d7e1907ab36691f80b33eb2da87d780f4739ae773e5fc83fb272f88825f", - "sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d", - "sha256:8a7164fe2005d03c64fd3b85649891cd4953a8de53107940bf272500ba8a788b", - "sha256:8b8bab4c97248095ae0c4455b5a1cd1cdd96e4e4769306ab19dda135ea4cdb07", - "sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312", - "sha256:938cb21650855054dc54dfd9120a851c974f95450f00683399006aa6e8abb057", - "sha256:942ba11e7dfb66dc70f9ae66b33452f51ac7bb90676da39a7345e99ffb55402d", - "sha256:972658f4a72d02b8abfa2581d92d59f59897d2e9f7e708fdabe922f9087773af", - "sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb", - "sha256:98906207f29bc2c459ff64fa007afd10a8c8ac080f7e4d5beff4c97086a3dabd", - "sha256:99457f184ad90235cfe8461c4d70ab7dd2680e28821c29eca00252ba90308c78", - "sha256:a0d829524aaefdebccb869eed855e2d04c21d2d7479b6cada7ace5448416597b", - "sha256:a2fdd81edd64342c85ac7cf2753ccae0b79bf2dfa063785503cb85a7d3593223", - "sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a", - "sha256:a642295cd0c8df1b86fc3dced1d067874c353a188dc8e0f744626d49e9aa51c4", - "sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5", - "sha256:abc267fa9837245cc28ea6929f19fa335f3dc330a35d2e45509b6566dc18be23", - "sha256:ae1d6df168efb88d7d522664693607b80b4080be6750c913eefb77e34c12c71a", - "sha256:b2ebef0e0b4454320274f5e83a41844c63438fdc874ea40a8b5b4ecb7693f1c4", - "sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8", - "sha256:b7cdf28938ac6b8b49ae5e92f2735056a7ba99c9b110a474473fd71185c1af5d", - "sha256:bb4462bd43c2460774914b8525f79b00f8f407c945d50881568f294c1d9b4443", - "sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e", - "sha256:c1322d7dd74713dcc157a2b7898a564ab091ca6c58302d5c7b4c07296e3fd00f", - "sha256:c67598100338d5d985db1b3d21f3619ef392e185e71b8d52bceacc4a7771ea7e", - "sha256:ca26a1e73c48cfc54c4a76ff78df3727b9d9f4ccc8dbee4ae3f73306a591676d", - "sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc", - "sha256:dc1803ac5c32ec324c5261c7209e8f8ce88e83254c4e1aebdc8b0a39f9ddb443", - "sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be", - "sha256:e85637bc8fe81ddb73fda9e56bab24560bdddfa98aa64f87aaa4e4b6730c23d2", - "sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee", - "sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f", - "sha256:ebef0dd9bf9b812bf75bda96743f2a6c5734a02092ae7f721c048d156d5fabae", - "sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864", - "sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4", - "sha256:f85d05aa0918283cf29a30b547b4df2fbb56b45b135f9e35b6807cb28bc47951", - "sha256:f9899c94762343f2cc2fc64c13e7cae4c3cc65cdfc87dd810a31654c9b7358cc" + "sha256:03aceaf6a5adaad3bec2233edc5a7905026553916615888e53154807e404545c", + "sha256:05e83ce2f7eba29e627dd8066aa6c4c0269b2d4f889c0eba157233a353053cea", + "sha256:0b0eefc7633a04c0694340aad91fbfd1986fe1a1e0c63a22793ba40a18fcbdc8", + "sha256:0e75794883d635071cf6b4ed2a5d7a1e50672ab7a051454c76446ef1ebcdcc91", + "sha256:0f6dd3612a3b9f91f2e63924ea18a4476656c6d01843ca20a4c09e00422195af", + "sha256:116b326ac82c8b315e7348390f6d30bcfe6e688a7d3f1de50ff7bcc2042a23c2", + "sha256:16197e6f4fdecb9892ed2436e507e44f0a1aa2cff3b9306d1c879ea2f9200997", + "sha256:1c3c5b7f70dd19a6845292b0775295ea81c61540f68671ae06bfe4421b3222c2", + "sha256:1dacf660d6de692fe351e8c806e7efccf09ee5184865893afbe8e59be4920b4a", + "sha256:1def125d59a87fe451212a72ab9ed34c118ff771e5473fef4f2f95d8ede26d75", + "sha256:1e4f46189d8740561b43655263a41aac75ff0388febcb2c9ec4f1b60a0ec12f3", + "sha256:1f038156b696a1c39d763b2080aeefa87ddb4162c10aa9fabfefffc3dd8180fa", + "sha256:21d9f7e24f63fdc7118e6cc49defaab8c1d27570782f7e5256169d77498cf7c7", + "sha256:22b813baf0dbf612752d8143a2dbf8e33ccb850656b7850e009bad2e101fc377", + "sha256:22e3b1d4b1b3f6082849f9b28427ef147a5b46a6132a3dbaf9ca1baa40c88609", + "sha256:23425eccef8f2c342f78d3a238c824623836c6c874d93c726673dbf7e56c78c0", + "sha256:25c46bb2ff6084859bbcfdf4f1a63004b98e88b6d04053e8bf324e115398e9e7", + "sha256:2761f71faed820e25ec62eacba670d1b5c2709bb131a19fcdbfbb09884593e5a", + "sha256:2aec8eeea0b08fd6bc2213d8e86811a07491849fd3d79955b62d83e32fa2ad5f", + "sha256:2d06a7fa437f93782e3f32d739c3ec189f82fca74336c08255f9e20cea1ed378", + "sha256:316fe7c3fec017affd916a0c83d6f1ec697cbbbdf1124769fa73328e7907cc2e", + "sha256:344e352c96e53b4f56b53d24728217c69399b8129c16789f70236083c6ceb2ac", + "sha256:35681445dc85446fb105943d81ae7569aa7e89de80d1ca4ac3229e05c311bdb1", + "sha256:366be8e64e0cb63d87cf79b4e1765c0703dd6313c729b22e7b9e378db6b96877", + "sha256:3a7235b46c1bbe201f09b6f0f5e6c36b16bad3d0532a10493742f91fbdc8035f", + "sha256:3c05eaf6c863781eb834ab41f5963604ab92855822a2062897958089d1335dad", + "sha256:3e147fc6e27b9a487320d78515c5f29798b539179f7777018cedf51b7749e4f4", + "sha256:3f0f3a4a23717280a5ee3ac4fb1f81d6fde604c9ec5100f7f6f987716bb8c137", + "sha256:5084ec9721f82bef5ff7c4d1ee65e1626783abb585f8c0993833490b63fe1792", + "sha256:52527e8f223ba29608d999d65b204676398009725007c9336651c2ec2d93cffc", + "sha256:53b06aea7a48919a254b32107647be9128c066aaa6ee6d5d08222325f25ef175", + "sha256:58e251bb5a5998f7226dc90b0b753eeffa720bd66664eba51927c2a7a2d5f32c", + "sha256:603a843fea76a595c8f661cd4da4d2281dff1e38c4a836a928eac1a2f8fe88e4", + "sha256:616b9c2f882393d422ba11b40e72382fe975e806ad693095e9a3b67c59ea6150", + "sha256:649a764d9b0da29816889424697b2a3746963ad36d3e0968784ceed6e40c6355", + "sha256:658287a29351166510ebbe0a75c373600cc4367a3d9337b964dada8d38bcc0f4", + "sha256:6d0f52684868db7c218437d260e14d37948b094493f2646f22d3dda7229bbe3f", + "sha256:6dc85b9e10cc21d9c1055f15684f76fa4facadddcb6cd63abab702eb93c98943", + "sha256:72432fd6e868c8d0a6849869e004b8bcae233a3c56383954c228316694920b38", + "sha256:73deadd6fd8a23e2f40b412b3ac617a112143c8989a4fe265050fd91ba5c0608", + "sha256:763602504bf640b3ded3bba3f8ed8a1cc2fc6a87b8d55c1c5689f428c49c947e", + "sha256:7701df088d0b05f3460f7ba15aec81ac8b0fb5690367dfd072a6c38cf5b7fdb5", + "sha256:78d584caac52c24240ef9ecd75de64c760bbd0e20dbf6973631815e3ef16ef8b", + "sha256:7a3639011c2e8a9628466f616ed7fb413f30032b891898e10895a0a8b5857d6c", + "sha256:7b6a24d7b5893392f2b8e3b7a0031ae3b14c6c1942a4615f0d8794fdeeefb08b", + "sha256:7d4df13d1c55e84351fab51383520b84f490740a9f1fec905362aa64590b7a5d", + "sha256:7e37b6bb6e90c2b8412b06373c6978d9d81e7199a40e24a6ef480e8acdeaf918", + "sha256:8093473d7b9e908af1cef30025609afc8f5fd2a16ff07f97440fd911421e4432", + "sha256:840200827984f1c4e114008abc2f5ede362d6e11ed0b5931681884dd41852ff1", + "sha256:85770b4b37bb36ef93a6122601795231225641003e0318d23c6233c59b424279", + "sha256:879ae6bb08a063b3e1b7ac8c860096d8fd6b48dd9b2690b7f2738b8c835e744b", + "sha256:87d3df115f4a3c8c5e4d5acf067d399c6466d7e604fc9ee9acbe6f0c88a0c3cf", + "sha256:8b315685832ab9287e6124b5d74fc12dda31e6421d7f6b08525791452844bc2d", + "sha256:8e49524917b8d3c2f42cd0d2df61178e08e50f5f029f9af1f402b3ee64574392", + "sha256:978d4123ad1e605daf1ba5e01d4f235bcf7b6e340ef07e7122e8e9cfe3eb61ab", + "sha256:a0586cddbf4380e24569b8a05f234e7305717cc8323f50114dfb2051fcbce2a3", + "sha256:a272785a226869416c6b3c1b7e450506152d3844207331f02f27173562c917e0", + "sha256:a340d2bdebe819d08f605e9705ed551c3feb97e4fd71822d7147c1e4bdbb9508", + "sha256:a3f243f318bd9523277fa123b3163f4c005a3e8619d4b867064de02f287a564d", + "sha256:a4f0f71653b1c1bad0350bc0b4cc057ab87b438ff18fa6392533811ebd01439c", + "sha256:ab760f17c3e792225cdaef31ca23c0aea45c14ce80d8eff62503f86a5ab76bff", + "sha256:ac76f30d5d3454f4c28826d891fe74d25121a346c69523c9810ebba43f3b1cec", + "sha256:ad1bd2f377f56fec11d5cfd0977c30061cd19f4fa199bf138b200ec0d5e27eeb", + "sha256:b2ba34a099576234671f2e4274e5bc6813b22e28778c216d680eabd0db3f7dad", + "sha256:b2f13c3e955a087c3ec86f97661d9f72a76e221281b2262956af381224cfc243", + "sha256:b34480fd6778ab356abf1e9086a4ced95002a1e195e8d2fd182b0def9d944d11", + "sha256:b4a085bd04af7245e140d1b95619fe8abb445a3d7fdf219b3f80c940853268ef", + "sha256:b81ec2efc04fc1dbf400647d4357d64fb25543bae38d2d19787d69360aad21c9", + "sha256:b8c46a8cf53e849eea7090f331ae2202cd0f1ceb090b00f5902c423bd1e11805", + "sha256:bc7e43b4a528ffca8c9151b6a2ca34482c2fdc05e6aa24a84b7f475c896fc51d", + "sha256:c3dc8ec8b87c7ad534c75b8855168a08a7036fdb9deeeed5705ba9410721c84d", + "sha256:c4a9732a5cad764ba37f3aa873dccb41b584f69c347a57323eda0930deec8e10", + "sha256:c867230d715a3dd1d962c8d9bef0d3168994ed663e21bf748b6e3a529a129aab", + "sha256:cafde15a6f7feaec2f570646e2ffc5b73412295d29134a29067e70740ec6ee20", + "sha256:cb1ad5b4d73cde784cf64580166568074f5ccd2548d765e690546cff3d80937d", + "sha256:d08264b4460326cefacc179fc1411304d5af388a79910832835e6f641512358b", + "sha256:d42669d319db366cb567c3b444f43caa7ffb779bf9530692c6f244fc635a41eb", + "sha256:d43e7ab3b65e4dc35a7612cfff7b0fd62dce5bc11a7cd198310b57f39847fd6c", + "sha256:d5b8376a867047bf08910573deb95d3c8dfb976eb014ee24f3b5a61ccc5bee1b", + "sha256:d6f2d8b8da1f03f577243b07bbdd3412eee3d37d1f2fd71d1513cbc76a8c1239", + "sha256:d6f8c49657f3eb7720ed4c9b26624063da14937fc94d1812f1e04a2204db3e17", + "sha256:d70a8ff2d4953afb4cbe6211f17268ad29c0b47e73d3372f40e7775904bc28fc", + "sha256:d82e5ed3a05f2dcb89c6ead2fd0dbff7ac09bc02c1b4028ece2d3a3854d049ce", + "sha256:e9dcd7fb34f7bfb239b5fa420033642fff0ad676b765559c3737b91f664d4fa9", + "sha256:ed741183719a5271f97d93bbcc45ed64619fa38068aaa6e90027d1d17e30dc8d", + "sha256:ee7785938e407418795e4399b2bf5b5f3cf6cf728077a7f26973220d58d885cf", + "sha256:efbb412d55a4ffe73963fed95c09ccb83647ec63b711c4b3752be10a56f0090b", + "sha256:f8ea1d8b7df522e5ced34993c423c3bf3735c53df8b2a15688a2f03a7d678800" ], "markers": "python_version >= '3.8'", - "version": "==2.18.4" + "version": "==2.20.0" }, "pygments": { "hashes": [ @@ -2663,6 +2689,14 @@ "markers": "python_version >= '3.8'", "version": "==0.2.2" }, + "uritemplate": { + "hashes": [ + "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0", + "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e" + ], + "markers": "python_version >= '3.6'", + "version": "==4.1.1" + }, "urllib3": { "hashes": [ "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", @@ -3662,7 +3696,6 @@ "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0", "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e" ], - "index": "pypi", "markers": "python_version >= '3.6'", "version": "==4.1.1" }, @@ -3872,12 +3905,12 @@ }, "boto3": { "hashes": [ - "sha256:0314e6598f59ee0f34eb4e6d1a0f69fa65c146d2b88a6e837a527a9956ec2731", - "sha256:d41037e2c680ab8d6c61a0a4ee6bf1fdd9e857f43996672830a95d62d6f6fa79" + "sha256:0b21b84db4619b3711a6f643d465a5a25e81231ee43615c55a20ff6b89c6cc3c", + "sha256:7cb697d67fd138ceebc6f789919ae370c092a50c6b0ccc4ef483027935502eab" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.34.136" + "version": "==1.34.137" }, "botocore": { "hashes": [ diff --git a/backend/cases_analysis/views_api.py b/backend/cases_analysis/views_api.py index a977e3e27..90975ae48 100644 --- a/backend/cases_analysis/views_api.py +++ b/backend/cases_analysis/views_api.py @@ -1,7 +1,6 @@ import sys from django.db import transaction -from django_pydantic_field.rest_framework import AutoSchema from projectroles.views_api import SODARAPIProjectPermission from rest_framework import viewsets from rest_framework.generics import get_object_or_404 @@ -41,8 +40,6 @@ class CaseAnalysisViewSet(viewsets.ReadOnlyModelViewSet): lookup_field = "sodar_uuid" lookup_url_kwarg = "caseanalysis" - schema = AutoSchema() # OpenAPI schema generation for pydantic fields - pagination_class = StandardPagination permission_classes = [CaseProjectPermission] @@ -57,6 +54,8 @@ def get_queryset(self): Currently, this will be at most one. """ result = CaseAnalysis.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(case__sodar_uuid=self.kwargs["case"]) return result @@ -79,8 +78,6 @@ class CaseAnalysisSessionViewSet(viewsets.ReadOnlyModelViewSet): lookup_field = "sodar_uuid" lookup_url_kwarg = "caseanalysissession" - schema = AutoSchema() # OpenAPI schema generation for pydantic fields - pagination_class = StandardPagination permission_classes = [CaseProjectPermission] @@ -96,6 +93,8 @@ def get_queryset(self): Currently, this will be at most one. """ result = CaseAnalysisSession.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter( caseanalysis__case__sodar_uuid=self.kwargs["case"], user=self.request.user, diff --git a/backend/config/settings/base.py b/backend/config/settings/base.py index 764d3e6e6..a1c22d2e5 100644 --- a/backend/config/settings/base.py +++ b/backend/config/settings/base.py @@ -91,6 +91,7 @@ "rest_framework_httpsignature", "django_saml2_auth", "dj_iconify.apps.DjIconifyConfig", + "drf_spectacular", ] # Apps specific for this project go here. @@ -664,6 +665,7 @@ "rest_framework.authentication.SessionAuthentication", "knox.auth.TokenAuthentication", ), + "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema", } SPECTACULAR_SETTINGS = { @@ -674,7 +676,7 @@ "SERVE_INCLUDE_SCHEMA": False, # Skip schema generation for some paths. "PREPROCESSING_HOOKS": [ - "varfish.utils.spectacular_preprocess_hook", + "varfish.spectacular_utils.spectacular_preprocess_hook", ], # We add some explicit choices naming to work around warning. "ENUM_NAME_OVERRIDES": { @@ -682,6 +684,8 @@ "GenomeBuildVerbatimEnum": "importer.models.GENOME_BUILD_CHOICES_VERBATIM", "GenomeBuildLowerEnum": "cases_files.models.GENOMEBUILD_CHOICES_LOWER", "CaseStatusEnum": "variants.models.case.CASE_STATUS_CHOICES", + "SeqvarsQueryExecutionStateEnum": "seqvars.models.SeqvarsQueryExecution.STATE_CHOICES", + "SeqvarsQueryPresetsSetVersionStatusEnum": "seqvars.models.SeqvarsQueryPresetsSetVersion.STATUS_CHOICES", }, # Sidecar Settings "SWAGGER_UI_DIST": "SIDECAR", @@ -748,6 +752,9 @@ def set_logging(level): LOGGING_DEBUG = env.bool("LOGGING_DEBUG", False) LOGGING = set_logging("DEBUG" if (DEBUG or LOGGING_DEBUG) else "INFO") +# Propagate exceptions to log. +DEBUG_PROPAGATE_EXCEPTIONS = DEV + # LDAP configuration # ------------------------------------------------------------------------------ diff --git a/backend/config/urls.py b/backend/config/urls.py index 18a65eb16..4cf3ac806 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -10,6 +10,7 @@ from django.views.generic import TemplateView import django_saml2_auth.views from djproxy.views import HttpProxy +from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView from projectroles.views import HomeView as ProjectRolesHomeView from sentry_sdk import last_event_id @@ -96,6 +97,21 @@ def handler500(request, *args, **argv): url(r"^seqvars/", include("seqvars.urls")), ] +# URL Patterns for DRF Spectacular +# ------------------------------------------------------------------------------ + +urlpatterns += [ + # Schema + path("api/schema/", SpectacularAPIView.as_view(), name="schema"), + # UI + path( + "api/schema/swagger-ui/", + SpectacularSwaggerView.as_view(url_name="schema"), + name="swagger-ui", + ), + path("api/schema/redoc/", SpectacularRedocView.as_view(url_name="schema"), name="redoc"), +] + # URL Patterns for Proxies # ------------------------------------------------------------------------------ diff --git a/backend/genepanels/serializers.py b/backend/genepanels/serializers.py index a7c71800a..155fa7c8d 100644 --- a/backend/genepanels/serializers.py +++ b/backend/genepanels/serializers.py @@ -1,3 +1,4 @@ +from drf_spectacular.utils import extend_schema_field from rest_framework import serializers from genepanels.models import GenePanel, GenePanelCategory @@ -44,6 +45,7 @@ class Meta: "genepanel_set", ) + @extend_schema_field(GenePanelSerializer) def get_genepanel_set(self, obj): """Corresponds to the ``genepanel_set`` field defined above.""" return GenePanelSerializer(obj.genepanel_set.filter(state="active"), many=True).data diff --git a/backend/seqvars/admin.py b/backend/seqvars/admin.py index 4c20a553a..b2b91d692 100644 --- a/backend/seqvars/admin.py +++ b/backend/seqvars/admin.py @@ -1,17 +1,17 @@ from django.contrib import admin from seqvars.models import ( - Query, - QueryExecution, - QueryPresetsFrequency, - QueryPresetsSet, - ResultRow, - ResultSet, + SeqvarsQuery, + SeqvarsQueryExecution, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsSet, + SeqvarsResultRow, + SeqvarsResultSet, ) -admin.site.register(QueryPresetsSet) -admin.site.register(QueryPresetsFrequency) -admin.site.register(Query) -admin.site.register(QueryExecution) -admin.site.register(ResultSet) -admin.site.register(ResultRow) +admin.site.register(SeqvarsQueryPresetsSet) +admin.site.register(SeqvarsQueryPresetsFrequency) +admin.site.register(SeqvarsQuery) +admin.site.register(SeqvarsQueryExecution) +admin.site.register(SeqvarsResultSet) +admin.site.register(SeqvarsResultRow) diff --git a/backend/seqvars/factory_defaults.py b/backend/seqvars/factory_defaults.py index c2297666f..a3f473e53 100644 --- a/backend/seqvars/factory_defaults.py +++ b/backend/seqvars/factory_defaults.py @@ -12,24 +12,24 @@ from seqvars.models import ( ClinvarGermlineAggregateDescription, GenomeRegion, - GenotypePresetChoice, - GenotypePresets, LabeledSortableBaseModel, - PredefinedQuery, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - TranscriptTypeChoice, - VariantConsequenceChoice, - VariantPrioService, - VariantTypeChoice, + SeqvarsGenotypePresetChoice, + SeqvarsGenotypePresets, + SeqvarsPredefinedQuery, + SeqvarsPrioService, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsTranscriptTypeChoice, + SeqvarsVariantConsequenceChoice, + SeqvarsVariantTypeChoice, ) #: DateTime for version 1.0 of the factory defaults. @@ -38,9 +38,9 @@ FAKER_SEED = 42 -def create_querypresetsquality_short_read(faker: Faker) -> list[QueryPresetsQuality]: +def create_seqvarsquerypresetsquality_short_read(faker: Faker) -> list[SeqvarsQueryPresetsQuality]: return [ - QueryPresetsQuality( + SeqvarsQueryPresetsQuality( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -53,7 +53,7 @@ def create_querypresetsquality_short_read(faker: Faker) -> list[QueryPresetsQual min_gq=30, min_ad=3, ), - QueryPresetsQuality( + SeqvarsQueryPresetsQuality( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -66,7 +66,7 @@ def create_querypresetsquality_short_read(faker: Faker) -> list[QueryPresetsQual min_gq=10, min_ad=3, ), - QueryPresetsQuality( + SeqvarsQueryPresetsQuality( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -79,7 +79,7 @@ def create_querypresetsquality_short_read(faker: Faker) -> list[QueryPresetsQual min_gq=10, min_ad=2, ), - QueryPresetsQuality( + SeqvarsQueryPresetsQuality( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -90,86 +90,86 @@ def create_querypresetsquality_short_read(faker: Faker) -> list[QueryPresetsQual ] -def create_querypresetsconsequence(faker: Faker) -> list[QueryPresetsConsequence]: +def create_seqvarsquerypresetsconsequence(faker: Faker) -> list[SeqvarsQueryPresetsConsequence]: return [ - QueryPresetsConsequence( + SeqvarsQueryPresetsConsequence( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=1, label="any", variant_types=[ - VariantTypeChoice.SNV, - VariantTypeChoice.INDEL, - VariantTypeChoice.MNV, - VariantTypeChoice.COMPLEX_SUBSTITUTION, + SeqvarsVariantTypeChoice.SNV, + SeqvarsVariantTypeChoice.INDEL, + SeqvarsVariantTypeChoice.MNV, + SeqvarsVariantTypeChoice.COMPLEX_SUBSTITUTION, ], transcript_types=[ - TranscriptTypeChoice.CODING, - TranscriptTypeChoice.NON_CODING, + SeqvarsTranscriptTypeChoice.CODING, + SeqvarsTranscriptTypeChoice.NON_CODING, ], variant_consequences=[ # high impact - VariantConsequenceChoice.FRAMESHIFT_VARIANT, - VariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, - VariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, - VariantConsequenceChoice.SPLICE_DONOR_VARIANT, - VariantConsequenceChoice.START_LOST, - VariantConsequenceChoice.STOP_GAINED, - VariantConsequenceChoice.STOP_LOST, + SeqvarsVariantConsequenceChoice.FRAMESHIFT_VARIANT, + SeqvarsVariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_DONOR_VARIANT, + SeqvarsVariantConsequenceChoice.START_LOST, + SeqvarsVariantConsequenceChoice.STOP_GAINED, + SeqvarsVariantConsequenceChoice.STOP_LOST, # moderate impact - VariantConsequenceChoice.THREE_PRIME_UTR_TRUNCATION, - VariantConsequenceChoice.FIVE_PRIME_UTR_TRUNCATION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, - VariantConsequenceChoice.MISSENSE_VARIANT, - VariantConsequenceChoice.SPLICE_REGION_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_TRUNCATION, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_TRUNCATION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.MISSENSE_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_REGION_VARIANT, # low impact - VariantConsequenceChoice.INITIATOR_CODON_VARIANT, - VariantConsequenceChoice.START_RETAINED, - VariantConsequenceChoice.STOP_RETAINED_VARIANT, - VariantConsequenceChoice.SYNONYMOUS_VARIANT, + SeqvarsVariantConsequenceChoice.INITIATOR_CODON_VARIANT, + SeqvarsVariantConsequenceChoice.START_RETAINED, + SeqvarsVariantConsequenceChoice.STOP_RETAINED_VARIANT, + SeqvarsVariantConsequenceChoice.SYNONYMOUS_VARIANT, # modifiers - VariantConsequenceChoice.DOWNSTREAM_GENE_VARIANT, - VariantConsequenceChoice.INTRON_VARIANT, - VariantConsequenceChoice.NON_CODING_TRANSCRIPT_EXON_VARIANT, - VariantConsequenceChoice.NON_CODING_TRANSCRIPT_INTRON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT, - VariantConsequenceChoice.CODING_SEQUENCE_VARIANT, - VariantConsequenceChoice.UPSTREAM_GENE_VARIANT, - VariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_EXON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_EXON_VARIANT, - VariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_INTRON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.DOWNSTREAM_GENE_VARIANT, + SeqvarsVariantConsequenceChoice.INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.NON_CODING_TRANSCRIPT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.NON_CODING_TRANSCRIPT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT, + SeqvarsVariantConsequenceChoice.CODING_SEQUENCE_VARIANT, + SeqvarsVariantConsequenceChoice.UPSTREAM_GENE_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_INTRON_VARIANT, ], max_distance_to_exon=None, ), - QueryPresetsConsequence( + SeqvarsQueryPresetsConsequence( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=2, label="null variant", variant_types=[ - VariantTypeChoice.SNV, - VariantTypeChoice.INDEL, - VariantTypeChoice.MNV, - VariantTypeChoice.COMPLEX_SUBSTITUTION, + SeqvarsVariantTypeChoice.SNV, + SeqvarsVariantTypeChoice.INDEL, + SeqvarsVariantTypeChoice.MNV, + SeqvarsVariantTypeChoice.COMPLEX_SUBSTITUTION, ], transcript_types=[ - TranscriptTypeChoice.CODING, + SeqvarsTranscriptTypeChoice.CODING, ], variant_consequences=[ # high impact - VariantConsequenceChoice.FRAMESHIFT_VARIANT, - VariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, - VariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, - VariantConsequenceChoice.SPLICE_DONOR_VARIANT, - VariantConsequenceChoice.START_LOST, - VariantConsequenceChoice.STOP_GAINED, - VariantConsequenceChoice.STOP_LOST, + SeqvarsVariantConsequenceChoice.FRAMESHIFT_VARIANT, + SeqvarsVariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_DONOR_VARIANT, + SeqvarsVariantConsequenceChoice.START_LOST, + SeqvarsVariantConsequenceChoice.STOP_GAINED, + SeqvarsVariantConsequenceChoice.STOP_LOST, # # moderate impact # VariantConsequenceChoice.THREE_PRIME_UTR_TRUNCATION, # VariantConsequenceChoice.FIVE_PRIME_UTR_TRUNCATION, @@ -199,37 +199,37 @@ def create_querypresetsconsequence(faker: Faker) -> list[QueryPresetsConsequence ], max_distance_to_exon=None, ), - QueryPresetsConsequence( + SeqvarsQueryPresetsConsequence( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=3, label="AA change + splicing", variant_types=[ - VariantTypeChoice.SNV, - VariantTypeChoice.INDEL, - VariantTypeChoice.MNV, - VariantTypeChoice.COMPLEX_SUBSTITUTION, + SeqvarsVariantTypeChoice.SNV, + SeqvarsVariantTypeChoice.INDEL, + SeqvarsVariantTypeChoice.MNV, + SeqvarsVariantTypeChoice.COMPLEX_SUBSTITUTION, ], transcript_types=[ - TranscriptTypeChoice.CODING, + SeqvarsTranscriptTypeChoice.CODING, ], variant_consequences=[ # high impact - VariantConsequenceChoice.FRAMESHIFT_VARIANT, - VariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, - VariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, - VariantConsequenceChoice.SPLICE_DONOR_VARIANT, - VariantConsequenceChoice.START_LOST, - VariantConsequenceChoice.STOP_GAINED, - VariantConsequenceChoice.STOP_LOST, + SeqvarsVariantConsequenceChoice.FRAMESHIFT_VARIANT, + SeqvarsVariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_DONOR_VARIANT, + SeqvarsVariantConsequenceChoice.START_LOST, + SeqvarsVariantConsequenceChoice.STOP_GAINED, + SeqvarsVariantConsequenceChoice.STOP_LOST, # moderate impact - VariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, - VariantConsequenceChoice.MISSENSE_VARIANT, - VariantConsequenceChoice.SPLICE_REGION_VARIANT, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.MISSENSE_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_REGION_VARIANT, # # low impact # VariantConsequenceChoice.INITIATOR_CODON_VARIANT, # VariantConsequenceChoice.START_RETAINED, @@ -250,50 +250,50 @@ def create_querypresetsconsequence(faker: Faker) -> list[QueryPresetsConsequence ], max_distance_to_exon=None, ), - QueryPresetsConsequence( + SeqvarsQueryPresetsConsequence( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=4, label="all coding + deep intronic", variant_types=[ - VariantTypeChoice.SNV, - VariantTypeChoice.INDEL, - VariantTypeChoice.MNV, - VariantTypeChoice.COMPLEX_SUBSTITUTION, + SeqvarsVariantTypeChoice.SNV, + SeqvarsVariantTypeChoice.INDEL, + SeqvarsVariantTypeChoice.MNV, + SeqvarsVariantTypeChoice.COMPLEX_SUBSTITUTION, ], transcript_types=[ - TranscriptTypeChoice.CODING, - TranscriptTypeChoice.NON_CODING, + SeqvarsTranscriptTypeChoice.CODING, + SeqvarsTranscriptTypeChoice.NON_CODING, ], variant_consequences=[ # high impact - VariantConsequenceChoice.FRAMESHIFT_VARIANT, - VariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, - VariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, - VariantConsequenceChoice.SPLICE_DONOR_VARIANT, - VariantConsequenceChoice.START_LOST, - VariantConsequenceChoice.STOP_GAINED, - VariantConsequenceChoice.STOP_LOST, + SeqvarsVariantConsequenceChoice.FRAMESHIFT_VARIANT, + SeqvarsVariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_DONOR_VARIANT, + SeqvarsVariantConsequenceChoice.START_LOST, + SeqvarsVariantConsequenceChoice.STOP_GAINED, + SeqvarsVariantConsequenceChoice.STOP_LOST, # moderate impact - VariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, - VariantConsequenceChoice.MISSENSE_VARIANT, - VariantConsequenceChoice.SPLICE_REGION_VARIANT, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.MISSENSE_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_REGION_VARIANT, # low impact - VariantConsequenceChoice.INITIATOR_CODON_VARIANT, - VariantConsequenceChoice.START_RETAINED, - VariantConsequenceChoice.STOP_RETAINED_VARIANT, - VariantConsequenceChoice.SYNONYMOUS_VARIANT, + SeqvarsVariantConsequenceChoice.INITIATOR_CODON_VARIANT, + SeqvarsVariantConsequenceChoice.START_RETAINED, + SeqvarsVariantConsequenceChoice.STOP_RETAINED_VARIANT, + SeqvarsVariantConsequenceChoice.SYNONYMOUS_VARIANT, # modifiers # VariantConsequenceChoice.DOWNSTREAM_GENE_VARIANT, - VariantConsequenceChoice.INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.INTRON_VARIANT, # VariantConsequenceChoice.NON_CODING_TRANSCRIPT_EXON_VARIANT, # VariantConsequenceChoice.NON_CODING_TRANSCRIPT_INTRON_VARIANT, # VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT, - VariantConsequenceChoice.CODING_SEQUENCE_VARIANT, + SeqvarsVariantConsequenceChoice.CODING_SEQUENCE_VARIANT, # VariantConsequenceChoice.UPSTREAM_GENE_VARIANT, # VariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_EXON_VARIANT, # VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_EXON_VARIANT, @@ -302,73 +302,73 @@ def create_querypresetsconsequence(faker: Faker) -> list[QueryPresetsConsequence ], max_distance_to_exon=None, ), - QueryPresetsConsequence( + SeqvarsQueryPresetsConsequence( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=5, label="whole transcript", variant_types=[ - VariantTypeChoice.SNV, - VariantTypeChoice.INDEL, - VariantTypeChoice.MNV, - VariantTypeChoice.COMPLEX_SUBSTITUTION, + SeqvarsVariantTypeChoice.SNV, + SeqvarsVariantTypeChoice.INDEL, + SeqvarsVariantTypeChoice.MNV, + SeqvarsVariantTypeChoice.COMPLEX_SUBSTITUTION, ], transcript_types=[ - TranscriptTypeChoice.CODING, - TranscriptTypeChoice.NON_CODING, + SeqvarsTranscriptTypeChoice.CODING, + SeqvarsTranscriptTypeChoice.NON_CODING, ], variant_consequences=[ # high impact - VariantConsequenceChoice.FRAMESHIFT_VARIANT, - VariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, - VariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, - VariantConsequenceChoice.SPLICE_DONOR_VARIANT, - VariantConsequenceChoice.START_LOST, - VariantConsequenceChoice.STOP_GAINED, - VariantConsequenceChoice.STOP_LOST, + SeqvarsVariantConsequenceChoice.FRAMESHIFT_VARIANT, + SeqvarsVariantConsequenceChoice.RARE_AMINO_ACID_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_ACCEPTOR_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_DONOR_VARIANT, + SeqvarsVariantConsequenceChoice.START_LOST, + SeqvarsVariantConsequenceChoice.STOP_GAINED, + SeqvarsVariantConsequenceChoice.STOP_LOST, # moderate impact - VariantConsequenceChoice.THREE_PRIME_UTR_TRUNCATION, - VariantConsequenceChoice.FIVE_PRIME_UTR_TRUNCATION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, - VariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, - VariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, - VariantConsequenceChoice.MISSENSE_VARIANT, - VariantConsequenceChoice.SPLICE_REGION_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_TRUNCATION, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_TRUNCATION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.CONSERVATIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_DELETION, + SeqvarsVariantConsequenceChoice.DISRUPTIVE_INFRAME_INSERTION, + SeqvarsVariantConsequenceChoice.MISSENSE_VARIANT, + SeqvarsVariantConsequenceChoice.SPLICE_REGION_VARIANT, # low impact - VariantConsequenceChoice.INITIATOR_CODON_VARIANT, - VariantConsequenceChoice.START_RETAINED, - VariantConsequenceChoice.STOP_RETAINED_VARIANT, - VariantConsequenceChoice.SYNONYMOUS_VARIANT, + SeqvarsVariantConsequenceChoice.INITIATOR_CODON_VARIANT, + SeqvarsVariantConsequenceChoice.START_RETAINED, + SeqvarsVariantConsequenceChoice.STOP_RETAINED_VARIANT, + SeqvarsVariantConsequenceChoice.SYNONYMOUS_VARIANT, # modifiers # VariantConsequenceChoice.DOWNSTREAM_GENE_VARIANT, - VariantConsequenceChoice.INTRON_VARIANT, - VariantConsequenceChoice.NON_CODING_TRANSCRIPT_EXON_VARIANT, - VariantConsequenceChoice.NON_CODING_TRANSCRIPT_INTRON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT, - VariantConsequenceChoice.CODING_SEQUENCE_VARIANT, + SeqvarsVariantConsequenceChoice.INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.NON_CODING_TRANSCRIPT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.NON_CODING_TRANSCRIPT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT, + SeqvarsVariantConsequenceChoice.CODING_SEQUENCE_VARIANT, # VariantConsequenceChoice.UPSTREAM_GENE_VARIANT, - VariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_EXON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_EXON_VARIANT, - VariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_INTRON_VARIANT, - VariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_EXON_VARIANT, + SeqvarsVariantConsequenceChoice.THREE_PRIME_UTR_VARIANT_INTRON_VARIANT, + SeqvarsVariantConsequenceChoice.FIVE_PRIME_UTR_VARIANT_INTRON_VARIANT, ], max_distance_to_exon=None, ), ] -def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: +def create_seqvarsquerypresetslocus(faker: Faker) -> list[SeqvarsQueryPresetsConsequence]: return [ - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=1, label="whole genome", ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -380,7 +380,7 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: GenomeRegion(chromosome="Y"), ], ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -388,7 +388,7 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: label="autosomes", genome_regions=[GenomeRegion(chromosome=str(no)) for no in range(1, 23)], ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -399,7 +399,7 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: GenomeRegion(chromosome="Y"), ], ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -409,7 +409,7 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: GenomeRegion(chromosome="X"), ], ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -419,7 +419,7 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: GenomeRegion(chromosome="Y"), ], ), - QueryPresetsLocus( + SeqvarsQueryPresetsLocus( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -432,9 +432,9 @@ def create_querypresetslocus(faker: Faker) -> list[QueryPresetsConsequence]: ] -def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: +def create_seqvarsquerypresetsfrequency(faker: Faker) -> list[SeqvarsQueryPresetsFrequency]: return [ - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -460,7 +460,7 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: inhouse_heterozygous=None, inhouse_hemizygous=None, ), - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -486,7 +486,7 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: inhouse_heterozygous=None, inhouse_hemizygous=None, ), - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -512,7 +512,7 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: inhouse_heterozygous=None, inhouse_hemizygous=None, ), - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -538,7 +538,7 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: inhouse_heterozygous=None, inhouse_hemizygous=None, ), - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -564,7 +564,7 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: inhouse_heterozygous=None, inhouse_hemizygous=None, ), - QueryPresetsFrequency( + SeqvarsQueryPresetsFrequency( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -593,9 +593,9 @@ def create_querypresetsfrequency(faker: Faker) -> list[QueryPresetsFrequency]: ] -def create_querypresetsphenotypeprio(faker: Faker) -> list[QueryPresetsPhenotypePrio]: +def create_seqvarsquerypresetsphenotypeprio(faker: Faker) -> list[SeqvarsQueryPresetsPhenotypePrio]: return [ - QueryPresetsPhenotypePrio( + SeqvarsQueryPresetsPhenotypePrio( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -607,9 +607,9 @@ def create_querypresetsphenotypeprio(faker: Faker) -> list[QueryPresetsPhenotype ] -def create_querypresetsvariantprio(faker: Faker) -> list[QueryPresetsVariantPrio]: +def create_seqvarsquerypresetsvariantprio(faker: Faker) -> list[SeqvarsQueryPresetsVariantPrio]: return [ - QueryPresetsVariantPrio( + SeqvarsQueryPresetsVariantPrio( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -617,7 +617,7 @@ def create_querypresetsvariantprio(faker: Faker) -> list[QueryPresetsVariantPrio label="disabled", variant_prio_enabled=False, ), - QueryPresetsVariantPrio( + SeqvarsQueryPresetsVariantPrio( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -625,10 +625,10 @@ def create_querypresetsvariantprio(faker: Faker) -> list[QueryPresetsVariantPrio label="CADD", variant_prio_enabled=False, services=[ - VariantPrioService(name="cadd", version="1.6"), + SeqvarsPrioService(name="cadd", version="1.6"), ], ), - QueryPresetsVariantPrio( + SeqvarsQueryPresetsVariantPrio( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -636,15 +636,15 @@ def create_querypresetsvariantprio(faker: Faker) -> list[QueryPresetsVariantPrio label="MutationTaster", variant_prio_enabled=False, services=[ - VariantPrioService(name="mutationtaster", version="2021"), + SeqvarsPrioService(name="mutationtaster", version="2021"), ], ), ] -def create_querypresetsclinvar(faker: Faker) -> list[QueryPresetsClinvar]: +def create_seqvarsquerypresetsclinvar(faker: Faker) -> list[SeqvarsQueryPresetsClinvar]: return [ - QueryPresetsClinvar( + SeqvarsQueryPresetsClinvar( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -652,7 +652,7 @@ def create_querypresetsclinvar(faker: Faker) -> list[QueryPresetsClinvar]: label="disabled", clinvar_presence_required=False, ), - QueryPresetsClinvar( + SeqvarsQueryPresetsClinvar( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -664,7 +664,7 @@ def create_querypresetsclinvar(faker: Faker) -> list[QueryPresetsClinvar]: ClinvarGermlineAggregateDescription.LIKELY_PATHOGENIC, ], ), - QueryPresetsClinvar( + SeqvarsQueryPresetsClinvar( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -677,7 +677,7 @@ def create_querypresetsclinvar(faker: Faker) -> list[QueryPresetsClinvar]: ], allow_conflicting_interpretations=True, ), - QueryPresetsClinvar( + SeqvarsQueryPresetsClinvar( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -694,9 +694,9 @@ def create_querypresetsclinvar(faker: Faker) -> list[QueryPresetsClinvar]: ] -def create_querypresetscolumns(faker: Faker) -> list[QueryPresetsColumns]: +def create_seqvarsquerypresetscolumns(faker: Faker) -> list[SeqvarsQueryPresetsColumns]: return [ - QueryPresetsColumns( + SeqvarsQueryPresetsColumns( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -706,290 +706,320 @@ def create_querypresetscolumns(faker: Faker) -> list[QueryPresetsColumns]: ] -def create_predefined_queries( - querypresetsversion: QueryPresetsSetVersion, faker: Faker -) -> list[PredefinedQuery]: +def create_seqvarspredefined_queries( + querypresetsversion: SeqvarsQueryPresetsSetVersion, faker: Faker +) -> list[SeqvarsPredefinedQuery]: def pick_by_label(label: str, queryset: models.QuerySet) -> LabeledSortableBaseModel: return next(filter(lambda q: q.label == label, queryset.all())) return [ - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=1, label="defaults", - genotype=GenotypePresets( - choice=GenotypePresetChoice.ANY, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.ANY, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "dominant strict", querypresetsversion.querypresetsfrequency_set + "dominant strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set + ), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=2, label="de novo", - genotype=GenotypePresets( - choice=GenotypePresetChoice.DE_NOVO, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.DE_NOVO, + ), + quality=pick_by_label( + "super strict", querypresetsversion.seqvarsquerypresetsquality_set ), - quality=pick_by_label("super strict", querypresetsversion.querypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "dominant strict", querypresetsversion.querypresetsfrequency_set + "dominant strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=3, label="dominant", - genotype=GenotypePresets( - choice=GenotypePresetChoice.DOMINANT, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.DOMINANT, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "dominant strict", querypresetsversion.querypresetsfrequency_set + "dominant strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set + ), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=4, label="homozygous recessive", - genotype=GenotypePresets( - choice=GenotypePresetChoice.HOMOZYGOUS_RECESSIVE, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.HOMOZYGOUS_RECESSIVE, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "recessive strict", querypresetsversion.querypresetsfrequency_set + "recessive strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=5, label="compound heterozygous", - genotype=GenotypePresets( - choice=GenotypePresetChoice.COMPOUND_HETEROZYGOUS_RECESSIVE, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.COMPOUND_HETEROZYGOUS_RECESSIVE, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "recessive strict", querypresetsversion.querypresetsfrequency_set + "recessive strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=6, label="recessive", - genotype=GenotypePresets( - choice=GenotypePresetChoice.RECESSIVE, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.RECESSIVE, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "recessive strict", querypresetsversion.querypresetsfrequency_set + "recessive strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set + ), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=7, label="X recessive", - genotype=GenotypePresets( - choice=GenotypePresetChoice.X_RECESSIVE, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.X_RECESSIVE, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), consequence=pick_by_label( - "AA change + splicing", querypresetsversion.querypresetsconsequence_set + "AA change + splicing", querypresetsversion.seqvarsquerypresetsconsequence_set ), - locus=pick_by_label("X chromosome", querypresetsversion.querypresetslocus_set), + locus=pick_by_label("X chromosome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "recessive strict", querypresetsversion.querypresetsfrequency_set + "recessive strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=8, label="ClinVar pathogenic", - genotype=GenotypePresets( - choice=GenotypePresetChoice.AFFECTED_CARRIERS, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.AFFECTED_CARRIERS, ), - quality=pick_by_label("any", querypresetsversion.querypresetsquality_set), - consequence=pick_by_label("any", querypresetsversion.querypresetsconsequence_set), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), - frequency=pick_by_label("any", querypresetsversion.querypresetsfrequency_set), + quality=pick_by_label("any", querypresetsversion.seqvarsquerypresetsquality_set), + consequence=pick_by_label( + "any", querypresetsversion.seqvarsquerypresetsconsequence_set + ), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), + frequency=pick_by_label("any", querypresetsversion.seqvarsquerypresetsfrequency_set), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), clinvar=pick_by_label( - "Clinvar P/LP +conflicting", querypresetsversion.querypresetsclinvar_set + "Clinvar P/LP +conflicting", querypresetsversion.seqvarsquerypresetsclinvar_set ), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=9, label="mitochondrial", - genotype=GenotypePresets( - choice=GenotypePresetChoice.AFFECTED_CARRIERS, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.AFFECTED_CARRIERS, ), - quality=pick_by_label("strict", querypresetsversion.querypresetsquality_set), - consequence=pick_by_label("any", querypresetsversion.querypresetsconsequence_set), - locus=pick_by_label("MT genome", querypresetsversion.querypresetslocus_set), + quality=pick_by_label("strict", querypresetsversion.seqvarsquerypresetsquality_set), + consequence=pick_by_label( + "any", querypresetsversion.seqvarsquerypresetsconsequence_set + ), + locus=pick_by_label("MT genome", querypresetsversion.seqvarsquerypresetslocus_set), frequency=pick_by_label( - "dominant strict", querypresetsversion.querypresetsfrequency_set + "dominant strict", querypresetsversion.seqvarsquerypresetsfrequency_set ), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set + ), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), - PredefinedQuery( + SeqvarsPredefinedQuery( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, rank=10, label="whole genome", - genotype=GenotypePresets( - choice=GenotypePresetChoice.ANY, + genotype=SeqvarsGenotypePresets( + choice=SeqvarsGenotypePresetChoice.ANY, + ), + quality=pick_by_label("any", querypresetsversion.seqvarsquerypresetsquality_set), + consequence=pick_by_label( + "any", querypresetsversion.seqvarsquerypresetsconsequence_set ), - quality=pick_by_label("any", querypresetsversion.querypresetsquality_set), - consequence=pick_by_label("any", querypresetsversion.querypresetsconsequence_set), - locus=pick_by_label("whole genome", querypresetsversion.querypresetslocus_set), - frequency=pick_by_label("any", querypresetsversion.querypresetsfrequency_set), + locus=pick_by_label("whole genome", querypresetsversion.seqvarsquerypresetslocus_set), + frequency=pick_by_label("any", querypresetsversion.seqvarsquerypresetsfrequency_set), phenotypeprio=pick_by_label( - "disabled", querypresetsversion.querypresetsphenotypeprio_set + "disabled", querypresetsversion.seqvarsquerypresetsphenotypeprio_set ), - variantprio=pick_by_label("disabled", querypresetsversion.querypresetsvariantprio_set), - clinvar=pick_by_label("disabled", querypresetsversion.querypresetsclinvar_set), - columns=pick_by_label("defaults", querypresetsversion.querypresetscolumns_set), + variantprio=pick_by_label( + "disabled", querypresetsversion.seqvarsquerypresetsvariantprio_set + ), + clinvar=pick_by_label("disabled", querypresetsversion.seqvarsquerypresetsclinvar_set), + columns=pick_by_label("defaults", querypresetsversion.seqvarsquerypresetscolumns_set), ), ] -def create_presetsset_version_short_read_genome_1_0( - presetsset: QueryPresetsSet, faker: Faker -) -> QueryPresetsSetVersion: - result = QueryPresetsSetVersion( +def create_seqvarspresetsset_version_short_read_genome_1_0( + presetsset: SeqvarsQueryPresetsSet, faker: Faker +) -> SeqvarsQueryPresetsSetVersion: + result = SeqvarsQueryPresetsSetVersion( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, presetsset=presetsset, version_major=1, version_minor=0, - status=QueryPresetsSetVersion.STATUS_ACTIVE, + status=SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, signed_off_by=None, ) - version_1_0 = QueryPresetsSetVersion( + version_1_0 = SeqvarsQueryPresetsSetVersion( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, version_major=1, version_minor=0, - status=QueryPresetsSetVersion.STATUS_ACTIVE, + status=SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, signed_off_by=None, ) - version_1_0.querypresetsquality_set = create_querypresetsquality_short_read(faker) - version_1_0.querypresetsconsequence_set = create_querypresetsconsequence(faker) - version_1_0.querypresetslocus_set = create_querypresetslocus(faker) - version_1_0.querypresetsfrequency_set = create_querypresetsfrequency(faker) - version_1_0.querypresetsphenotypeprio_set = create_querypresetsphenotypeprio(faker) - version_1_0.querypresetsvariantprio_set = create_querypresetsvariantprio(faker) - version_1_0.querypresetsclinvar_set = create_querypresetsclinvar(faker) - version_1_0.querypresetscolumns_set = create_querypresetscolumns(faker) + version_1_0.seqvarsquerypresetsquality_set = create_seqvarsquerypresetsquality_short_read(faker) + version_1_0.seqvarsquerypresetsconsequence_set = create_seqvarsquerypresetsconsequence(faker) + version_1_0.seqvarsquerypresetslocus_set = create_seqvarsquerypresetslocus(faker) + version_1_0.seqvarsquerypresetsfrequency_set = create_seqvarsquerypresetsfrequency(faker) + version_1_0.seqvarsquerypresetsphenotypeprio_set = create_seqvarsquerypresetsphenotypeprio( + faker + ) + version_1_0.seqvarsquerypresetsvariantprio_set = create_seqvarsquerypresetsvariantprio(faker) + version_1_0.seqvarsquerypresetsclinvar_set = create_seqvarsquerypresetsclinvar(faker) + version_1_0.seqvarsquerypresetscolumns_set = create_seqvarsquerypresetscolumns(faker) result.versions = [version_1_0] return result -def create_presetsset_short_read_genome(rank: int = 1) -> QueryPresetsSet: +def create_seqvarspresetsset_short_read_genome(rank: int = 1) -> SeqvarsQueryPresetsSet: """Create presets set with versions for short-read genome sequencing. :param rank: Rank of the presets set, also used for offsetting the seed for UUID generation. """ faker = Faker() faker.seed_instance(FAKER_SEED + rank) - result = QueryPresetsSet( + result = SeqvarsQueryPresetsSet( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -1001,36 +1031,38 @@ def create_presetsset_short_read_genome(rank: int = 1) -> QueryPresetsSet: "least 30x coverage." ), ) - version_1_0 = QueryPresetsSetVersion( + version_1_0 = SeqvarsQueryPresetsSetVersion( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, version_major=1, version_minor=0, - status=QueryPresetsSetVersion.STATUS_ACTIVE, + status=SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, signed_off_by=None, ) - version_1_0.querypresetsquality_set = create_querypresetsquality_short_read(faker) - version_1_0.querypresetsconsequence_set = create_querypresetsconsequence(faker) - version_1_0.querypresetslocus_set = create_querypresetslocus(faker) - version_1_0.querypresetsfrequency_set = create_querypresetsfrequency(faker) - version_1_0.querypresetsphenotypeprio_set = create_querypresetsphenotypeprio(faker) - version_1_0.querypresetsvariantprio_set = create_querypresetsvariantprio(faker) - version_1_0.querypresetsclinvar_set = create_querypresetsclinvar(faker) - version_1_0.querypresetscolumns_set = create_querypresetscolumns(faker) - version_1_0.predefinedquery_set = create_predefined_queries(version_1_0, faker) + version_1_0.seqvarsquerypresetsquality_set = create_seqvarsquerypresetsquality_short_read(faker) + version_1_0.seqvarsquerypresetsconsequence_set = create_seqvarsquerypresetsconsequence(faker) + version_1_0.seqvarsquerypresetslocus_set = create_seqvarsquerypresetslocus(faker) + version_1_0.seqvarsquerypresetsfrequency_set = create_seqvarsquerypresetsfrequency(faker) + version_1_0.seqvarsquerypresetsphenotypeprio_set = create_seqvarsquerypresetsphenotypeprio( + faker + ) + version_1_0.seqvarsquerypresetsvariantprio_set = create_seqvarsquerypresetsvariantprio(faker) + version_1_0.seqvarsquerypresetsclinvar_set = create_seqvarsquerypresetsclinvar(faker) + version_1_0.seqvarsquerypresetscolumns_set = create_seqvarsquerypresetscolumns(faker) + version_1_0.seqvarspredefinedquery_set = create_seqvarspredefined_queries(version_1_0, faker) result.versions = [version_1_0] return result -def create_presetsset_short_read_exome_modern(rank: int = 2) -> QueryPresetsSet: +def create_seqvarspresetsset_short_read_exome_modern(rank: int = 2) -> SeqvarsQueryPresetsSet: """Create presets set with versions for short-read exome sequencing. :param rank: Rank of the presets set, also used for offsetting the seed for UUID generation. """ faker = Faker() faker.seed_instance(FAKER_SEED + rank) - result = QueryPresetsSet( + result = SeqvarsQueryPresetsSet( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -1043,36 +1075,38 @@ def create_presetsset_short_read_exome_modern(rank: int = 2) -> QueryPresetsSet: "the exome." ), ) - version_1_0 = QueryPresetsSetVersion( + version_1_0 = SeqvarsQueryPresetsSetVersion( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, version_major=1, version_minor=0, - status=QueryPresetsSetVersion.STATUS_ACTIVE, + status=SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, signed_off_by=None, ) - version_1_0.querypresetsquality_set = create_querypresetsquality_short_read(faker) - version_1_0.querypresetsconsequence_set = create_querypresetsconsequence(faker) - version_1_0.querypresetslocus_set = create_querypresetslocus(faker) - version_1_0.querypresetsfrequency_set = create_querypresetsfrequency(faker) - version_1_0.querypresetsphenotypeprio_set = create_querypresetsphenotypeprio(faker) - version_1_0.querypresetsvariantprio_set = create_querypresetsvariantprio(faker) - version_1_0.querypresetsclinvar_set = create_querypresetsclinvar(faker) - version_1_0.querypresetscolumns_set = create_querypresetscolumns(faker) - version_1_0.predefinedquery_set = create_predefined_queries(version_1_0, faker) + version_1_0.seqvarsquerypresetsquality_set = create_seqvarsquerypresetsquality_short_read(faker) + version_1_0.seqvarsquerypresetsconsequence_set = create_seqvarsquerypresetsconsequence(faker) + version_1_0.seqvarsquerypresetslocus_set = create_seqvarsquerypresetslocus(faker) + version_1_0.seqvarsquerypresetsfrequency_set = create_seqvarsquerypresetsfrequency(faker) + version_1_0.seqvarsquerypresetsphenotypeprio_set = create_seqvarsquerypresetsphenotypeprio( + faker + ) + version_1_0.seqvarsquerypresetsvariantprio_set = create_seqvarsquerypresetsvariantprio(faker) + version_1_0.seqvarsquerypresetsclinvar_set = create_seqvarsquerypresetsclinvar(faker) + version_1_0.seqvarsquerypresetscolumns_set = create_seqvarsquerypresetscolumns(faker) + version_1_0.seqvarspredefinedquery_set = create_seqvarspredefined_queries(version_1_0, faker) result.versions = [version_1_0] return result -def create_presetsset_short_read_exome_legacy(rank: int = 3) -> QueryPresetsSet: +def create_seqvarspresetsset_short_read_exome_legacy(rank: int = 3) -> SeqvarsQueryPresetsSet: """Create presets set with versions for short-read exome sequencing. :param rank: Rank of the presets set, also used for offsetting the seed for UUID generation. """ faker = Faker() faker.seed_instance(FAKER_SEED + rank) - result = QueryPresetsSet( + result = SeqvarsQueryPresetsSet( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, @@ -1085,23 +1119,25 @@ def create_presetsset_short_read_exome_legacy(rank: int = 3) -> QueryPresetsSet: "considerable portion of the exome." ), ) - version_1_0 = QueryPresetsSetVersion( + version_1_0 = SeqvarsQueryPresetsSetVersion( sodar_uuid=faker.uuid4(), date_created=TIME_VERSION_1_0, date_modified=TIME_VERSION_1_0, version_major=1, version_minor=0, - status=QueryPresetsSetVersion.STATUS_ACTIVE, + status=SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, signed_off_by=None, ) - version_1_0.querypresetsquality_set = create_querypresetsquality_short_read(faker) - version_1_0.querypresetsconsequence_set = create_querypresetsconsequence(faker) - version_1_0.querypresetslocus_set = create_querypresetslocus(faker) - version_1_0.querypresetsfrequency_set = create_querypresetsfrequency(faker) - version_1_0.querypresetsphenotypeprio_set = create_querypresetsphenotypeprio(faker) - version_1_0.querypresetsvariantprio_set = create_querypresetsvariantprio(faker) - version_1_0.querypresetsclinvar_set = create_querypresetsclinvar(faker) - version_1_0.querypresetscolumns_set = create_querypresetscolumns(faker) - version_1_0.predefinedquery_set = create_predefined_queries(version_1_0, faker) + version_1_0.seqvarsquerypresetsquality_set = create_seqvarsquerypresetsquality_short_read(faker) + version_1_0.seqvarsquerypresetsconsequence_set = create_seqvarsquerypresetsconsequence(faker) + version_1_0.seqvarsquerypresetslocus_set = create_seqvarsquerypresetslocus(faker) + version_1_0.seqvarsquerypresetsfrequency_set = create_seqvarsquerypresetsfrequency(faker) + version_1_0.seqvarsquerypresetsphenotypeprio_set = create_seqvarsquerypresetsphenotypeprio( + faker + ) + version_1_0.seqvarsquerypresetsvariantprio_set = create_seqvarsquerypresetsvariantprio(faker) + version_1_0.seqvarsquerypresetsclinvar_set = create_seqvarsquerypresetsclinvar(faker) + version_1_0.seqvarsquerypresetscolumns_set = create_seqvarsquerypresetscolumns(faker) + version_1_0.seqvarspredefinedquery_set = create_seqvarspredefined_queries(version_1_0, faker) result.versions = [version_1_0] return result diff --git a/backend/seqvars/migrations/0001_initial.py b/backend/seqvars/migrations/0001_initial.py index 06043297f..77d51c918 100644 --- a/backend/seqvars/migrations/0001_initial.py +++ b/backend/seqvars/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.25 on 2024-07-01 13:28 +# Generated by Django 3.2.25 on 2024-07-02 08:39 import typing import uuid @@ -20,13 +20,13 @@ class Migration(migrations.Migration): dependencies = [ ("cases_analysis", "0001_initial"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("projectroles", "0028_populate_finder_role"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( - name="Query", + name="SeqvarsQuery", fields=[ ( "id", @@ -45,7 +45,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryColumnsConfig", + name="SeqvarsQueryColumnsConfig", fields=[ ( "id", @@ -63,7 +63,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.ColumnConfig,) + list, (seqvars.models.SeqvarsColumnConfig,) ), ), ), @@ -73,7 +73,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryExecution", + name="SeqvarsQueryExecution", fields=[ ( "id", @@ -105,7 +105,7 @@ class Migration(migrations.Migration): ( "query", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="seqvars.query" + on_delete=django.db.models.deletion.CASCADE, to="seqvars.seqvarsquery" ), ), ], @@ -114,7 +114,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsSet", + name="SeqvarsQueryPresetsSet", fields=[ ( "id", @@ -134,7 +134,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, - related_name="seqvarpresetsset", + related_name="seqvarspresetsset", to="projectroles.project", ), ), @@ -145,7 +145,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsSetVersion", + name="SeqvarsQueryPresetsSetVersion", fields=[ ( "id", @@ -171,7 +171,7 @@ class Migration(migrations.Migration): modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, related_name="versions", - to="seqvars.querypresetsset", + to="seqvars.seqvarsquerypresetsset", ), ), ( @@ -190,7 +190,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettings", + name="SeqvarsQuerySettings", fields=[ ( "id", @@ -207,7 +207,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ( @@ -223,7 +223,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="ResultSet", + name="SeqvarsResultSet", fields=[ ( "id", @@ -248,7 +248,8 @@ class Migration(migrations.Migration): ( "queryexecution", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="seqvars.queryexecution" + on_delete=django.db.models.deletion.CASCADE, + to="seqvars.seqvarsqueryexecution", ), ), ], @@ -257,7 +258,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="ResultRow", + name="SeqvarsResultRow", fields=[ ( "id", @@ -279,20 +280,20 @@ class Migration(migrations.Migration): config=None, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - typing.Union, (seqvars.models.ResultRowPayload, type(None)) + typing.Union, (seqvars.models.SeqvarsResultRowPayload, type(None)) ), ), ), ( "resultset", models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="seqvars.resultset" + on_delete=django.db.models.deletion.CASCADE, to="seqvars.seqvarsresultset" ), ), ], ), migrations.CreateModel( - name="QuerySettingsVariantPrio", + name="SeqvarsQuerySettingsVariantPrio", fields=[ ( "id", @@ -311,7 +312,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantPrioService,) + list, (seqvars.models.SeqvarsPrioService,) ), ), ), @@ -320,7 +321,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="variantprio", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -329,7 +330,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsQuality", + name="SeqvarsQuerySettingsQuality", fields=[ ( "id", @@ -347,7 +348,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.SampleQualityFilter,) + list, (seqvars.models.SeqvarsSampleQualityFilter,) ), ), ), @@ -356,7 +357,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="quality", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -365,7 +366,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsPhenotypePrio", + name="SeqvarsQuerySettingsPhenotypePrio", fields=[ ( "id", @@ -397,7 +398,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="phenotypeprio", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -406,7 +407,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsLocus", + name="SeqvarsQuerySettingsLocus", fields=[ ( "id", @@ -455,7 +456,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="locus", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -464,7 +465,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsGenotype", + name="SeqvarsQuerySettingsGenotype", fields=[ ( "id", @@ -482,7 +483,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.SampleGenotypeChoice,) + list, (seqvars.models.SeqvarsSampleGenotypeChoice,) ), ), ), @@ -491,7 +492,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="genotype", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -500,7 +501,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsFrequency", + name="SeqvarsQuerySettingsFrequency", fields=[ ( "id", @@ -535,7 +536,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="frequency", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -544,7 +545,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsConsequence", + name="SeqvarsQuerySettingsConsequence", fields=[ ( "id", @@ -563,7 +564,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantTypeChoice,) + list, (seqvars.models.SeqvarsVariantTypeChoice,) ), ), ), @@ -574,7 +575,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.TranscriptTypeChoice,) + list, (seqvars.models.SeqvarsTranscriptTypeChoice,) ), ), ), @@ -585,7 +586,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantConsequenceChoice,) + list, (seqvars.models.SeqvarsVariantConsequenceChoice,) ), ), ), @@ -594,7 +595,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="consequence", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -603,7 +604,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QuerySettingsClinvar", + name="SeqvarsQuerySettingsClinvar", fields=[ ( "id", @@ -632,7 +633,7 @@ class Migration(migrations.Migration): models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="clinvar", - to="seqvars.querysettings", + to="seqvars.seqvarsquerysettings", ), ), ], @@ -641,7 +642,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsVariantPrio", + name="SeqvarsQueryPresetsVariantPrio", fields=[ ( "id", @@ -663,7 +664,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantPrioService,) + list, (seqvars.models.SeqvarsPrioService,) ), ), ), @@ -671,7 +672,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -680,7 +681,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsQuality", + name="SeqvarsQueryPresetsQuality", fields=[ ( "id", @@ -705,7 +706,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -714,7 +715,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsPhenotypePrio", + name="SeqvarsQueryPresetsPhenotypePrio", fields=[ ( "id", @@ -748,7 +749,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -757,7 +758,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsLocus", + name="SeqvarsQueryPresetsLocus", fields=[ ( "id", @@ -808,7 +809,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -817,7 +818,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsFrequency", + name="SeqvarsQueryPresetsFrequency", fields=[ ( "id", @@ -854,7 +855,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -863,7 +864,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsConsequence", + name="SeqvarsQueryPresetsConsequence", fields=[ ( "id", @@ -885,7 +886,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantTypeChoice,) + list, (seqvars.models.SeqvarsVariantTypeChoice,) ), ), ), @@ -896,7 +897,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.TranscriptTypeChoice,) + list, (seqvars.models.SeqvarsTranscriptTypeChoice,) ), ), ), @@ -907,7 +908,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.VariantConsequenceChoice,) + list, (seqvars.models.SeqvarsVariantConsequenceChoice,) ), ), ), @@ -915,7 +916,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -924,7 +925,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsColumns", + name="SeqvarsQueryPresetsColumns", fields=[ ( "id", @@ -945,7 +946,7 @@ class Migration(migrations.Migration): default=list, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - list, (seqvars.models.ColumnConfig,) + list, (seqvars.models.SeqvarsColumnConfig,) ), ), ), @@ -953,7 +954,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -962,7 +963,7 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name="QueryPresetsClinvar", + name="SeqvarsQueryPresetsClinvar", fields=[ ( "id", @@ -993,7 +994,7 @@ class Migration(migrations.Migration): "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ], @@ -1002,35 +1003,35 @@ class Migration(migrations.Migration): }, ), migrations.AddField( - model_name="queryexecution", + model_name="seqvarsqueryexecution", name="querysettings", field=models.ForeignKey( - on_delete=django.db.models.deletion.PROTECT, to="seqvars.querysettings" + on_delete=django.db.models.deletion.PROTECT, to="seqvars.seqvarsquerysettings" ), ), migrations.AddField( - model_name="query", + model_name="seqvarsquery", name="columnsconfig", field=models.OneToOneField( - on_delete=django.db.models.deletion.PROTECT, to="seqvars.querycolumnsconfig" + on_delete=django.db.models.deletion.PROTECT, to="seqvars.seqvarsquerycolumnsconfig" ), ), migrations.AddField( - model_name="query", + model_name="seqvarsquery", name="session", field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="cases_analysis.caseanalysissession" ), ), migrations.AddField( - model_name="query", + model_name="seqvarsquery", name="settings", field=models.OneToOneField( - on_delete=django.db.models.deletion.PROTECT, to="seqvars.querysettings" + on_delete=django.db.models.deletion.PROTECT, to="seqvars.seqvarsquerysettings" ), ), migrations.CreateModel( - name="PredefinedQuery", + name="SeqvarsPredefinedQuery", fields=[ ( "id", @@ -1052,7 +1053,7 @@ class Migration(migrations.Migration): default={"choice": None}, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=django_pydantic_field.compat.django.GenericContainer( - typing.Union, (seqvars.models.GenotypePresets, type(None)) + typing.Union, (seqvars.models.SeqvarsGenotypePresets, type(None)) ), ), ), @@ -1062,7 +1063,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsclinvar", + to="seqvars.seqvarsquerypresetsclinvar", ), ), ( @@ -1071,7 +1072,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetscolumns", + to="seqvars.seqvarsquerypresetscolumns", ), ), ( @@ -1080,7 +1081,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsconsequence", + to="seqvars.seqvarsquerypresetsconsequence", ), ), ( @@ -1089,7 +1090,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsfrequency", + to="seqvars.seqvarsquerypresetsfrequency", ), ), ( @@ -1098,7 +1099,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetslocus", + to="seqvars.seqvarsquerypresetslocus", ), ), ( @@ -1107,14 +1108,14 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsphenotypeprio", + to="seqvars.seqvarsquerypresetsphenotypeprio", ), ), ( "presetssetversion", modelcluster.fields.ParentalKey( on_delete=django.db.models.deletion.CASCADE, - to="seqvars.querypresetssetversion", + to="seqvars.seqvarsquerypresetssetversion", ), ), ( @@ -1123,7 +1124,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsquality", + to="seqvars.seqvarsquerypresetsquality", ), ), ( @@ -1132,7 +1133,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - to="seqvars.querypresetsvariantprio", + to="seqvars.seqvarsquerypresetsvariantprio", ), ), ], diff --git a/backend/seqvars/models.py b/backend/seqvars/models.py index 4c6bf0079..27d25449e 100644 --- a/backend/seqvars/models.py +++ b/backend/seqvars/models.py @@ -5,7 +5,7 @@ import django from django.contrib.auth import get_user_model from django.db import models, transaction -from django_pydantic_field import SchemaField +from django_pydantic_field.v2.fields import PydanticSchemaField as SchemaField from modelcluster.fields import ParentalKey from modelcluster.models import ClusterableModel import pydantic @@ -18,7 +18,7 @@ User = get_user_model() -class FrequencySettingsBase(models.Model): +class SeqvarsFrequencySettingsBase(models.Model): """Abstract model for storing frequency-related settings.""" gnomad_exomes_enabled = models.BooleanField(default=False, null=False, blank=False) @@ -48,7 +48,7 @@ class Meta: abstract = True -class VariantTypeChoice(str, Enum): +class SeqvarsVariantTypeChoice(str, Enum): """The type of a variant.""" #: Single nucleotide variant. @@ -61,7 +61,7 @@ class VariantTypeChoice(str, Enum): COMPLEX_SUBSTITUTION = "complex_substitution" -class TranscriptTypeChoice(str, Enum): +class SeqvarsTranscriptTypeChoice(str, Enum): """The type of a transcript.""" #: Coding transcript. @@ -70,7 +70,7 @@ class TranscriptTypeChoice(str, Enum): NON_CODING = "non_coding" -class VariantConsequenceChoice(str, Enum): +class SeqvarsVariantConsequenceChoice(str, Enum): """The variant consequence.""" # high impact @@ -172,15 +172,15 @@ class VariantConsequenceChoice(str, Enum): FIVE_PRIME_UTR_VARIANT_INTRON_VARIANT = "5_prime_UTR_variant-intron_variant" -class ConsequenceSettingsBase(models.Model): +class SeqvarsConsequenceSettingsBase(models.Model): """Abstract model for storing consequence-related settings.""" #: The variant types. - variant_types = SchemaField(schema=list[VariantTypeChoice], default=list) + variant_types = SchemaField(schema=list[SeqvarsVariantTypeChoice], default=list) #: The transcript types. - transcript_types = SchemaField(schema=list[TranscriptTypeChoice], default=list) + transcript_types = SchemaField(schema=list[SeqvarsTranscriptTypeChoice], default=list) #: The variant consequences. - variant_consequences = SchemaField(schema=list[VariantConsequenceChoice], default=list) + variant_consequences = SchemaField(schema=list[SeqvarsVariantConsequenceChoice], default=list) #: Maximal distance to next exon. max_distance_to_exon = models.IntegerField(null=True, blank=True) @@ -243,7 +243,7 @@ class GenomeRegion(pydantic.BaseModel): range: typing.Optional[OneBasedRange] = None -class LocusSettingsBase(models.Model): +class SeqvarsLocusSettingsBase(models.Model): """Abstract model for storing locus-related settings.""" #: Optional list of gene symbols to filter for. @@ -275,7 +275,7 @@ class TermPresence(pydantic.BaseModel): excluded: typing.Optional[bool] = None -class PhenotypePrioSettingsBase(models.Model): +class SeqvarsPhenotypePrioSettingsBase(models.Model): """Abstract model for storing phenotype priorization--related settings.""" #: Whether to enable phenotype-based priorization. @@ -289,7 +289,7 @@ class Meta: abstract = True -class VariantPrioService(pydantic.BaseModel): +class SeqvarsPrioService(pydantic.BaseModel): """Representation of a variant pathogenicity service.""" #: The name of the service. @@ -298,7 +298,7 @@ class VariantPrioService(pydantic.BaseModel): version: str -class VariantPrioSettingsBase(models.Model): +class SeqvarsVariantPrioSettingsBase(models.Model): """Abstract model for storing variant priorization--related settings. Note that this refers to external APIs that provide variant pathogenicity scores @@ -308,7 +308,7 @@ class VariantPrioSettingsBase(models.Model): #: Whether to enable variant-based priorization. variant_prio_enabled = models.BooleanField(default=False, null=False, blank=False) #: The enabled services. - services = SchemaField(schema=list[VariantPrioService], default=list) + services = SchemaField(schema=list[SeqvarsPrioService], default=list) class Meta: abstract = True @@ -329,7 +329,7 @@ class ClinvarGermlineAggregateDescription(str, Enum): BENIGN = "benign" -class ClinvarSettingsBase(models.Model): +class SeqvarsClinvarSettingsBase(models.Model): """Abstract model for storing clinvar-related settings.""" #: Whether to require presence in ClinVar priorization. @@ -345,7 +345,7 @@ class Meta: abstract = True -class ColumnConfig(pydantic.BaseModel): +class SeqvarsColumnConfig(pydantic.BaseModel): """Configuration for a single column in the result table.""" #: The column name. @@ -360,11 +360,11 @@ class ColumnConfig(pydantic.BaseModel): visible: bool -class ColumnsSettingsBase(models.Model): +class SeqvarsColumnsSettingsBase(models.Model): """Abstract model for storing column-related settings.""" #: List of columns with their widths. - column_settings = SchemaField(schema=list[ColumnConfig], default=list) + column_settings = SchemaField(schema=list[SeqvarsColumnConfig], default=list) class Meta: abstract = True @@ -399,7 +399,7 @@ class Meta: abstract = True -class QueryPresetsSet(LabeledSortableBaseModel, ClusterableModel): +class SeqvarsQueryPresetsSet(LabeledSortableBaseModel, ClusterableModel): """Configured presets for a given project. We inherit from ``ClusterableModel`` so we can create presets sets and owned version / @@ -408,20 +408,22 @@ class QueryPresetsSet(LabeledSortableBaseModel, ClusterableModel): #: The owning ``Project``. project = models.ForeignKey( - Project, on_delete=models.CASCADE, related_name="seqvarpresetsset", null=True, blank=True + Project, on_delete=models.CASCADE, related_name="seqvarspresetsset", null=True, blank=True ) @transaction.atomic - def clone_with_latest_version(self) -> "QueryPresetsSet": + def clone_with_latest_version(self) -> "SeqvarsQueryPresetsSet": # Get label of presets set to create. for i in range(1, 100): label = f"{self.label} (copy {i})" - if not QueryPresetsSet.objects.filter(project=self.project, label=label).exists(): + if not SeqvarsQueryPresetsSet.objects.filter( + project=self.project, label=label + ).exists(): break # Compute rank. - rank = QueryPresetsSet.objects.filter(project=self.project).count() + 1 + rank = SeqvarsQueryPresetsSet.objects.filter(project=self.project).count() + 1 - result = QueryPresetsSet.objects.create( + result = SeqvarsQueryPresetsSet.objects.create( label=label, rank=rank, description=self.description, @@ -432,10 +434,10 @@ def clone_with_latest_version(self) -> "QueryPresetsSet": return result def __str__(self): - return f"QueryPresetsSet '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsSet '{self.sodar_uuid}'" -class QueryPresetsSetVersion(BaseModel, ClusterableModel): +class SeqvarsQueryPresetsSetVersion(BaseModel, ClusterableModel): """One version of query presets set. It is assumed that there is at most one active version and at most one draft version. @@ -455,7 +457,9 @@ class QueryPresetsSetVersion(BaseModel, ClusterableModel): ) #: The owning ``QueryPresetsSet``. - presetsset = ParentalKey(QueryPresetsSet, on_delete=models.CASCADE, related_name="versions") + presetsset = ParentalKey( + SeqvarsQueryPresetsSet, on_delete=models.CASCADE, related_name="versions" + ) #: The major version. version_major = models.IntegerField(default=1) #: The minor version. @@ -471,8 +475,10 @@ class QueryPresetsSetVersion(BaseModel, ClusterableModel): ) @transaction.atomic - def clone_with_presetsset(self, presetsset: QueryPresetsSet) -> "QueryPresetsSetVersion": - result = QueryPresetsSetVersion.objects.create( + def clone_with_presetsset( + self, presetsset: SeqvarsQueryPresetsSet + ) -> "SeqvarsQueryPresetsSetVersion": + result = SeqvarsQueryPresetsSetVersion.objects.create( presetsset=presetsset, version_major=1, version_minor=0, @@ -481,15 +487,15 @@ def clone_with_presetsset(self, presetsset: QueryPresetsSet) -> "QueryPresetsSet old_uuid_to_new_obj = {} for key in ( - "querypresetsfrequency_set", - "querypresetsvariantprio_set", - "querypresetsclinvar_set", - "querypresetscolumns_set", - "querypresetslocus_set", - "querypresetsconsequence_set", - "querypresetsquality_set", - "querypresetsphenotypeprio_set", - "predefinedquery_set", + "seqvarsquerypresetsfrequency_set", + "seqvarsquerypresetsvariantprio_set", + "seqvarsquerypresetsclinvar_set", + "seqvarsquerypresetscolumns_set", + "seqvarsquerypresetslocus_set", + "seqvarsquerypresetsconsequence_set", + "seqvarsquerypresetsquality_set", + "seqvarsquerypresetsphenotypeprio_set", + "seqvarspredefinedquery_set", ): for obj in getattr(self, key, []).all(): obj.pk = None @@ -502,24 +508,24 @@ def clone_with_presetsset(self, presetsset: QueryPresetsSet) -> "QueryPresetsSet return result def __str__(self): - return f"QueryPresetsSetVersion '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsSetVersion '{self.sodar_uuid}'" class Meta: unique_together = [("presetsset", "version_major", "version_minor")] ordering = ["-version_major", "-version_minor"] -class QueryPresetsBase(LabeledSortableBaseModel): +class SeqvarsQueryPresetsBase(LabeledSortableBaseModel): """Base presets.""" #: The owning ``QueryPresetsSetVersion``. - presetssetversion = ParentalKey(QueryPresetsSetVersion, on_delete=models.CASCADE) + presetssetversion = ParentalKey(SeqvarsQueryPresetsSetVersion, on_delete=models.CASCADE) class Meta: abstract = True -class QueryPresetsQuality(QueryPresetsBase): +class SeqvarsQueryPresetsQuality(SeqvarsQueryPresetsBase): """Presets for quality settings within a ``QueryPresetsSetVersion``. This is copied into ``QuerySettingsQuality.sample_quality_filters`` for @@ -542,59 +548,59 @@ class QueryPresetsQuality(QueryPresetsBase): max_ad = models.IntegerField(null=True, blank=True) def __str__(self): - return f"QueryPresetsQuality '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsQuality '{self.sodar_uuid}'" -class QueryPresetsFrequency(FrequencySettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsFrequency(SeqvarsFrequencySettingsBase, SeqvarsQueryPresetsBase): """Presets for frequency settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsFrequency '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsFrequency '{self.sodar_uuid}'" -class QueryPresetsConsequence(ConsequenceSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsConsequence(SeqvarsConsequenceSettingsBase, SeqvarsQueryPresetsBase): """Presets for consequence-related settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsConsequence '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsConsequence '{self.sodar_uuid}'" -class QueryPresetsLocus(LocusSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsLocus(SeqvarsLocusSettingsBase, SeqvarsQueryPresetsBase): """Presets for locus-related settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsLocus '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsLocus '{self.sodar_uuid}'" -class QueryPresetsPhenotypePrio(PhenotypePrioSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsPhenotypePrio(SeqvarsPhenotypePrioSettingsBase, SeqvarsQueryPresetsBase): """Presets for phenotype priorization--related settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsPhenotypePrio '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsPhenotypePrio '{self.sodar_uuid}'" -class QueryPresetsVariantPrio(VariantPrioSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsVariantPrio(SeqvarsVariantPrioSettingsBase, SeqvarsQueryPresetsBase): """Presets for variant pathogenicity--related settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsVariantPrio '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsVariantPrio '{self.sodar_uuid}'" -class QueryPresetsClinvar(ClinvarSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsClinvar(SeqvarsClinvarSettingsBase, SeqvarsQueryPresetsBase): """Presets for clinvar-related settings within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsClinvar '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsClinvar '{self.sodar_uuid}'" -class QueryPresetsColumns(ColumnsSettingsBase, QueryPresetsBase): +class SeqvarsQueryPresetsColumns(SeqvarsColumnsSettingsBase, SeqvarsQueryPresetsBase): """Presets for columns presets within a ``QueryPresetsSetVersion``.""" def __str__(self): - return f"QueryPresetsColumns '{self.sodar_uuid}'" + return f"SeqvarsQueryPresetsColumns '{self.sodar_uuid}'" -class GenotypePresetChoice(str, Enum): +class SeqvarsGenotypePresetChoice(str, Enum): """Presets value for the chosen genotype.""" #: No restriction on genotypes. @@ -615,58 +621,62 @@ class GenotypePresetChoice(str, Enum): AFFECTED_CARRIERS = "affected_carriers" -class GenotypePresets(pydantic.BaseModel): +class SeqvarsGenotypePresets(pydantic.BaseModel): """Configuration for a single column in the result table.""" #: The genotype prests choice. - choice: typing.Optional[GenotypePresetChoice] = None + choice: typing.Optional[SeqvarsGenotypePresetChoice] = None -class PredefinedQuery(QueryPresetsBase): +class SeqvarsPredefinedQuery(SeqvarsQueryPresetsBase): """A choice of presets from a ``PresetsSet`` in each category.""" #: Whether this predefined query shall be run as part of an SOP. included_in_sop = models.BooleanField(default=False, null=False, blank=False) #: The chosen genotype presets. - genotype = SchemaField(schema=typing.Optional[GenotypePresets], default=GenotypePresets()) + genotype = SchemaField( + schema=typing.Optional[SeqvarsGenotypePresets], default=SeqvarsGenotypePresets() + ) #: The chosen quality presets. quality = models.ForeignKey( - QueryPresetsQuality, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsQuality, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen frequency presets. frequency = models.ForeignKey( - QueryPresetsFrequency, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsFrequency, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen consequence presets. consequence = models.ForeignKey( - QueryPresetsConsequence, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsConsequence, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen locus presets. - locus = models.ForeignKey(QueryPresetsLocus, on_delete=models.SET_NULL, null=True, blank=True) + locus = models.ForeignKey( + SeqvarsQueryPresetsLocus, on_delete=models.SET_NULL, null=True, blank=True + ) #: The chosen phenotype priorization presets. phenotypeprio = models.ForeignKey( - QueryPresetsPhenotypePrio, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsPhenotypePrio, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen variant priorization presets. variantprio = models.ForeignKey( - QueryPresetsVariantPrio, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsVariantPrio, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen clinvar presets. clinvar = models.ForeignKey( - QueryPresetsClinvar, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsClinvar, on_delete=models.SET_NULL, null=True, blank=True ) #: The chosen columns presets. columns = models.ForeignKey( - QueryPresetsColumns, on_delete=models.SET_NULL, null=True, blank=True + SeqvarsQueryPresetsColumns, on_delete=models.SET_NULL, null=True, blank=True ) def __str__(self): - return f"PredefinedQuery '{self.sodar_uuid}'" + return f"SeqvarsPredefinedQuery '{self.sodar_uuid}'" -class QuerySettings(BaseModel): +class SeqvarsQuerySettings(BaseModel): """The query settings for a case.""" #: The owning ``CaseAnalysisSession``. @@ -677,21 +687,21 @@ class QuerySettings(BaseModel): #: This information is used for computing differences between the presets and the #: effective query settings. presetssetversion = models.ForeignKey( - QueryPresetsSetVersion, on_delete=models.PROTECT, null=True, blank=True + SeqvarsQueryPresetsSetVersion, on_delete=models.PROTECT, null=True, blank=True ) def __str__(self): - return f"QuerySettings '{self.sodar_uuid}'" + return f"SeqvarsQuerySettings '{self.sodar_uuid}'" -class QuerySettingsCategoryBase(BaseModel): +class SeqvarsQuerySettingsCategoryBase(BaseModel): """Base class for concrete category query settings.""" class Meta: abstract = True -class GenotypeChoice(str, Enum): +class SeqvarsGenotypeChoice(str, Enum): """Store genotype choice of a ``SampleGenotype``.""" #: Any. @@ -718,31 +728,31 @@ def values(cls) -> list[str]: return list(map(lambda c: c.value, cls)) -class SampleGenotypeChoice(pydantic.BaseModel): +class SeqvarsSampleGenotypeChoice(pydantic.BaseModel): """Store the genotype of a sample.""" #: The sample identifier. sample: str #: The genotype. - genotype: GenotypeChoice + genotype: SeqvarsGenotypeChoice -class QuerySettingsGenotype(QuerySettingsCategoryBase): +class SeqvarsQuerySettingsGenotype(SeqvarsQuerySettingsCategoryBase): """Query settings for per-sample genotype filtration.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="genotype" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="genotype" ) #: Per-sample genotype choice. - sample_genotype_choices = SchemaField(schema=list[SampleGenotypeChoice], default=list) + sample_genotype_choices = SchemaField(schema=list[SeqvarsSampleGenotypeChoice], default=list) def __str__(self): - return f"QuerySettingsGenotype '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsGenotype '{self.sodar_uuid}'" -class SampleQualityFilter(pydantic.BaseModel): +class SeqvarsSampleQualityFilter(pydantic.BaseModel): """Stores per-sample quality filter settings for a particular query.""" #: Name of the sample. @@ -764,94 +774,100 @@ class SampleQualityFilter(pydantic.BaseModel): max_ad: typing.Optional[int] = None -class QuerySettingsQuality(QuerySettingsCategoryBase): +class SeqvarsQuerySettingsQuality(SeqvarsQuerySettingsCategoryBase): """Query settings for per-sample quality filtration.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="quality" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="quality" ) #: Per-sample quality settings. - sample_quality_filters = SchemaField(schema=list[SampleQualityFilter], default=list) + sample_quality_filters = SchemaField(schema=list[SeqvarsSampleQualityFilter], default=list) def __str__(self): - return f"QuerySettingsQuality '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsQuality '{self.sodar_uuid}'" -class QuerySettingsConsequence(ConsequenceSettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsConsequence( + SeqvarsConsequenceSettingsBase, SeqvarsQuerySettingsCategoryBase +): """Presets for consequence-related settings within a ``QuerySettingsSet``.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="consequence" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="consequence" ) def __str__(self): - return f"QuerySettingsConsequence '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsConsequence '{self.sodar_uuid}'" -class QuerySettingsLocus(LocusSettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsLocus(SeqvarsLocusSettingsBase, SeqvarsQuerySettingsCategoryBase): """Presets for locus-related settings within a ``QuerySettingsSet``.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="locus" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="locus" ) def __str__(self): - return f"QuerySettingsLocus '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsLocus '{self.sodar_uuid}'" -class QuerySettingsFrequency(FrequencySettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsFrequency(SeqvarsFrequencySettingsBase, SeqvarsQuerySettingsCategoryBase): """Query settings in the frequency category.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="frequency" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="frequency" ) def __str__(self): - return f"QuerySettingsFrequency '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsFrequency '{self.sodar_uuid}'" -class QuerySettingsPhenotypePrio(PhenotypePrioSettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsPhenotypePrio( + SeqvarsPhenotypePrioSettingsBase, SeqvarsQuerySettingsCategoryBase +): """Presets for phenotype priorization--related settings within a ``QueryPresetsSetVersion``.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="phenotypeprio" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="phenotypeprio" ) def __str__(self): - return f"QuerySettingsPhenotypePrio '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsPhenotypePrio '{self.sodar_uuid}'" -class QuerySettingsVariantPrio(VariantPrioSettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsVariantPrio( + SeqvarsVariantPrioSettingsBase, SeqvarsQuerySettingsCategoryBase +): """Query settings in the variant priorization category.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="variantprio" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="variantprio" ) def __str__(self): - return f"QuerySettingsVariantPrio '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsVariantPrio '{self.sodar_uuid}'" -class QuerySettingsClinvar(ClinvarSettingsBase, QuerySettingsCategoryBase): +class SeqvarsQuerySettingsClinvar(SeqvarsClinvarSettingsBase, SeqvarsQuerySettingsCategoryBase): """Query settings in the variant priorization category.""" #: The owning ``QuerySettings``. querysettings = models.OneToOneField( - QuerySettings, on_delete=models.CASCADE, related_name="clinvar" + SeqvarsQuerySettings, on_delete=models.CASCADE, related_name="clinvar" ) def __str__(self): - return f"QuerySettingsClinvar '{self.sodar_uuid}'" + return f"SeqvarsQuerySettingsClinvar '{self.sodar_uuid}'" -class QueryColumnsConfig(ColumnsSettingsBase, BaseModel): +class SeqvarsQueryColumnsConfig(SeqvarsColumnsSettingsBase, BaseModel): """Per-query (not execution) configuration of columns. This will be copied over from the presets to the query and not the query @@ -860,10 +876,10 @@ class QueryColumnsConfig(ColumnsSettingsBase, BaseModel): """ def __str__(self): - return f"QueryColumnsConfig '{self.sodar_uuid}'" + return f"SeqvarsQueryColumnsConfig '{self.sodar_uuid}'" -class Query(BaseModel): +class SeqvarsQuery(BaseModel): """Allows users to prepare seqvar queries for execution and execute them.""" #: An integer rank for manual sorting in UI. @@ -874,9 +890,9 @@ class Query(BaseModel): #: Owning/containing session. session = models.ForeignKey(CaseAnalysisSession, on_delete=models.CASCADE) #: Query settings to be edited in the next query execution. - settings = models.OneToOneField(QuerySettings, on_delete=models.PROTECT) + settings = models.OneToOneField(SeqvarsQuerySettings, on_delete=models.PROTECT) #: The columns configuration of the query. - columnsconfig = models.OneToOneField(QueryColumnsConfig, on_delete=models.PROTECT) + columnsconfig = models.OneToOneField(SeqvarsQueryColumnsConfig, on_delete=models.PROTECT) @property def case(self) -> typing.Optional[Case]: @@ -886,10 +902,10 @@ def case(self) -> typing.Optional[Case]: return None def __str__(self): - return f"Query '{self.sodar_uuid}'" + return f"SeqvarsQuery '{self.sodar_uuid}'" -class QueryExecution(BaseModel): +class SeqvarsQueryExecution(BaseModel): """Hold the state, query settings, and results for running one seqvar query.""" #: Initial status. @@ -926,9 +942,9 @@ class QueryExecution(BaseModel): elapsed_seconds = models.FloatField(null=True) #: The owning/containing query. - query = models.ForeignKey(Query, on_delete=models.CASCADE) + query = models.ForeignKey(SeqvarsQuery, on_delete=models.CASCADE) #: Effective query settings of execution. - querysettings = models.ForeignKey(QuerySettings, on_delete=models.PROTECT) + querysettings = models.ForeignKey(SeqvarsQuerySettings, on_delete=models.PROTECT) @property def case(self) -> typing.Optional[Case]: @@ -938,7 +954,7 @@ def case(self) -> typing.Optional[Case]: return None def __str__(self): - return f"QueryExecution '{self.sodar_uuid}'" + return f"SeqvarsQueryExecution '{self.sodar_uuid}'" class DataSourceInfo(pydantic.BaseModel): @@ -957,11 +973,11 @@ class DataSourceInfos(pydantic.BaseModel): infos: list[DataSourceInfo] -class ResultSet(BaseModel): +class SeqvarsResultSet(BaseModel): """Store result rows and version information about the query.""" #: The owning query execution. - queryexecution = models.ForeignKey(QueryExecution, on_delete=models.CASCADE) + queryexecution = models.ForeignKey(SeqvarsQueryExecution, on_delete=models.CASCADE) #: The number of rows in the result. result_row_count = models.IntegerField(null=False, blank=False) #: Information about the data sources and versions used in the query, backed by @@ -979,24 +995,24 @@ def get_absolute_url(self) -> str: return f"/seqvars/api/resultset/{self.case.sodar_uuid}/{self.sodar_uuid}/" def __str__(self): - return f"ResultSet '{self.sodar_uuid}'" + return f"SeqvarsResultSet '{self.sodar_uuid}'" -class ResultRowPayload(pydantic.BaseModel): +class SeqvarsResultRowPayload(pydantic.BaseModel): """Payload for one result row of a seqvar query.""" # TODO: implement me / infer from protobuf schema foo: int -class ResultRow(models.Model): +class SeqvarsResultRow(models.Model): """One entry in the result set.""" #: UUID used in URLs. sodar_uuid = models.UUIDField(default=uuid_object.uuid4, unique=True) #: The owning result set. - resultset = models.ForeignKey(ResultSet, on_delete=models.CASCADE) + resultset = models.ForeignKey(SeqvarsResultSet, on_delete=models.CASCADE) #: Genome build release = models.CharField(max_length=32) @@ -1015,10 +1031,10 @@ class ResultRow(models.Model): #: The payload of the result row, backed by pydantic model #: ``ResultRowPayload``. - payload = SchemaField(schema=typing.Optional[ResultRowPayload]) + payload = SchemaField(schema=typing.Optional[SeqvarsResultRowPayload]) def __str__(self): return ( - f"ResultRow '{self.sodar_uuid}' '{self.release}-{self.chromosome}-" + f"SeqvarsResultRow '{self.sodar_uuid}' '{self.release}-{self.chromosome}-" f"{self.start}-{self.reference}-{self.alternative}'" ) diff --git a/backend/seqvars/serializers.py b/backend/seqvars/serializers.py index 038eaf87b..460308188 100644 --- a/backend/seqvars/serializers.py +++ b/backend/seqvars/serializers.py @@ -7,53 +7,53 @@ from seqvars.models import ( ClinvarGermlineAggregateDescription, - ClinvarSettingsBase, - ColumnConfig, - ColumnsSettingsBase, - ConsequenceSettingsBase, DataSourceInfos, - FrequencySettingsBase, Gene, GenePanel, GenomeRegion, - GenotypePresets, - LocusSettingsBase, - PhenotypePrioSettingsBase, - PredefinedQuery, - Query, - QueryColumnsConfig, - QueryExecution, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - QuerySettings, - QuerySettingsCategoryBase, - QuerySettingsClinvar, - QuerySettingsConsequence, - QuerySettingsFrequency, - QuerySettingsGenotype, - QuerySettingsLocus, - QuerySettingsPhenotypePrio, - QuerySettingsQuality, - QuerySettingsVariantPrio, - ResultRow, - ResultRowPayload, - ResultSet, - SampleGenotypeChoice, - SampleQualityFilter, + SeqvarsClinvarSettingsBase, + SeqvarsColumnConfig, + SeqvarsColumnsSettingsBase, + SeqvarsConsequenceSettingsBase, + SeqvarsFrequencySettingsBase, + SeqvarsGenotypePresets, + SeqvarsLocusSettingsBase, + SeqvarsPhenotypePrioSettingsBase, + SeqvarsPredefinedQuery, + SeqvarsPrioService, + SeqvarsQuery, + SeqvarsQueryColumnsConfig, + SeqvarsQueryExecution, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsQuerySettings, + SeqvarsQuerySettingsCategoryBase, + SeqvarsQuerySettingsClinvar, + SeqvarsQuerySettingsConsequence, + SeqvarsQuerySettingsFrequency, + SeqvarsQuerySettingsGenotype, + SeqvarsQuerySettingsLocus, + SeqvarsQuerySettingsPhenotypePrio, + SeqvarsQuerySettingsQuality, + SeqvarsQuerySettingsVariantPrio, + SeqvarsResultRow, + SeqvarsResultRowPayload, + SeqvarsResultSet, + SeqvarsSampleGenotypeChoice, + SeqvarsSampleQualityFilter, + SeqvarsTranscriptTypeChoice, + SeqvarsVariantConsequenceChoice, + SeqvarsVariantPrioSettingsBase, + SeqvarsVariantTypeChoice, TermPresence, - TranscriptTypeChoice, - VariantConsequenceChoice, - VariantPrioService, - VariantPrioSettingsBase, - VariantTypeChoice, ) @@ -101,7 +101,7 @@ class FrequencySettingsBaseSerializer(serializers.ModelSerializer): inhouse_hemizygous = serializers.IntegerField(required=False, allow_null=True, default=None) class Meta: - model = FrequencySettingsBase + model = SeqvarsFrequencySettingsBase fields = [ "gnomad_exomes_enabled", "gnomad_exomes_frequency", @@ -131,13 +131,13 @@ class ConsequenceSettingsBaseSerializer(serializers.ModelSerializer): Not used directly but used as base class. """ - variant_types = SchemaField(schema=list[VariantTypeChoice], default=list) - transcript_types = SchemaField(schema=list[TranscriptTypeChoice], default=list) - variant_consequences = SchemaField(schema=list[VariantConsequenceChoice], default=list) + variant_types = SchemaField(schema=list[SeqvarsVariantTypeChoice], default=list) + transcript_types = SchemaField(schema=list[SeqvarsTranscriptTypeChoice], default=list) + variant_consequences = SchemaField(schema=list[SeqvarsVariantConsequenceChoice], default=list) max_distance_to_exon = serializers.IntegerField(required=False, allow_null=True, default=None) class Meta: - model = ConsequenceSettingsBase + model = SeqvarsConsequenceSettingsBase fields = [ "variant_types", "transcript_types", @@ -157,7 +157,7 @@ class LocusSettingsBaseSerializer(serializers.ModelSerializer): genome_regions = SchemaField(schema=list[GenomeRegion], default=list) class Meta: - model = LocusSettingsBase + model = SeqvarsLocusSettingsBase fields = [ "genes", "gene_panels", @@ -178,7 +178,7 @@ class PhenotypePrioSettingsBaseSerializer(serializers.ModelSerializer): terms = SchemaField(schema=list[TermPresence], default=list) class Meta: - model = PhenotypePrioSettingsBase + model = SeqvarsPhenotypePrioSettingsBase fields = [ "phenotype_prio_enabled", "phenotype_prio_algorithm", @@ -193,10 +193,10 @@ class VariantPrioSettingsBaseSerializer(serializers.ModelSerializer): """ variant_prio_enabled = serializers.BooleanField(default=False, allow_null=False) - services = SchemaField(schema=list[VariantPrioService], default=list) + services = SchemaField(schema=list[SeqvarsPrioService], default=list) class Meta: - model = VariantPrioSettingsBase + model = SeqvarsVariantPrioSettingsBase fields = [ "variant_prio_enabled", "services", @@ -216,7 +216,7 @@ class ClinvarSettingsBaseSerializer(serializers.ModelSerializer): allow_conflicting_interpretations = serializers.BooleanField(default=False, allow_null=False) class Meta: - model = ClinvarSettingsBase + model = SeqvarsClinvarSettingsBase fields = [ "clinvar_presence_required", "clinvar_germline_aggregate_description", @@ -230,10 +230,10 @@ class ColumnsSettingsBaseSerializer(serializers.ModelSerializer): Not used directly but used as base class. """ - column_settings = SchemaField(schema=list[ColumnConfig], default=list) + column_settings = SchemaField(schema=list[SeqvarsColumnConfig], default=list) class Meta: - model = ColumnsSettingsBase + model = SeqvarsColumnsSettingsBase fields = [ "column_settings", ] @@ -298,7 +298,7 @@ class Meta: read_only_fields = fields -class QueryPresetsQualitySerializer(QueryPresetsBaseSerializer): +class SeqvarsQueryPresetsQualitySerializer(QueryPresetsBaseSerializer): """Serializer for ``QueryPresetsQuality``. Not used directly but used as base class. @@ -320,7 +320,7 @@ class QueryPresetsQualitySerializer(QueryPresetsBaseSerializer): max_ad = serializers.IntegerField(allow_null=True, required=False) class Meta: - model = QueryPresetsQuality + model = SeqvarsQueryPresetsQuality fields = QueryPresetsBaseSerializer.Meta.fields + [ "filter_active", "min_dp_het", @@ -333,21 +333,23 @@ class Meta: read_only_fields = fields -class QueryPresetsFrequencySerializer(FrequencySettingsBaseSerializer, QueryPresetsBaseSerializer): +class SeqvarsQueryPresetsFrequencySerializer( + FrequencySettingsBaseSerializer, QueryPresetsBaseSerializer +): """Serializer for ``QueryPresetsFrequency``. Not used directly but used as base class. """ class Meta: - model = QueryPresetsFrequency + model = SeqvarsQueryPresetsFrequency fields = ( FrequencySettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields ) read_only_fields = fields -class QueryPresetsConsequenceSerializer( +class SeqvarsQueryPresetsConsequenceSerializer( ConsequenceSettingsBaseSerializer, QueryPresetsBaseSerializer ): """Serializer for ``QueryPresetsConsequence``. @@ -356,26 +358,26 @@ class QueryPresetsConsequenceSerializer( """ class Meta: - model = QueryPresetsConsequence + model = SeqvarsQueryPresetsConsequence fields = ( ConsequenceSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields ) read_only_fields = fields -class QueryPresetsLocusSerializer(LocusSettingsBaseSerializer, QueryPresetsBaseSerializer): +class SeqvarsQueryPresetsLocusSerializer(LocusSettingsBaseSerializer, QueryPresetsBaseSerializer): """Serializer for ``QueryPresetsLocus``. Not used directly but used as base class. """ class Meta: - model = QueryPresetsLocus + model = SeqvarsQueryPresetsLocus fields = LocusSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields read_only_fields = fields -class QueryPresetsPhenotypePrioSerializer( +class SeqvarsQueryPresetsPhenotypePrioSerializer( PhenotypePrioSettingsBaseSerializer, QueryPresetsBaseSerializer ): """Serializer for ``QueryPresetsPhenotypePrio``. @@ -384,14 +386,14 @@ class QueryPresetsPhenotypePrioSerializer( """ class Meta: - model = QueryPresetsPhenotypePrio + model = SeqvarsQueryPresetsPhenotypePrio fields = ( PhenotypePrioSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields ) read_only_fields = fields -class QueryPresetsVariantPrioSerializer( +class SeqvarsQueryPresetsVariantPrioSerializer( VariantPrioSettingsBaseSerializer, QueryPresetsBaseSerializer ): """Serializer for ``QueryPresetsVariantPrio``. @@ -400,96 +402,102 @@ class QueryPresetsVariantPrioSerializer( """ class Meta: - model = QueryPresetsVariantPrio + model = SeqvarsQueryPresetsVariantPrio fields = ( VariantPrioSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields ) read_only_fields = fields -class QueryPresetsClinvarSerializer(ClinvarSettingsBaseSerializer, QueryPresetsBaseSerializer): +class SeqvarsQueryPresetsClinvarSerializer( + ClinvarSettingsBaseSerializer, QueryPresetsBaseSerializer +): """Serializer for ``QueryPresetsClinvar``. Not used directly but used as base class. """ class Meta: - model = QueryPresetsClinvar + model = SeqvarsQueryPresetsClinvar fields = ClinvarSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields read_only_fields = fields -class QueryPresetsColumnsSerializer(ColumnsSettingsBaseSerializer, QueryPresetsBaseSerializer): +class SeqvarsQueryPresetsColumnsSerializer( + ColumnsSettingsBaseSerializer, QueryPresetsBaseSerializer +): """Serializer for ``QueryPresetsColumns``. Not used directly but used as base class. """ class Meta: - model = QueryPresetsColumns + model = SeqvarsQueryPresetsColumns fields = ColumnsSettingsBaseSerializer.Meta.fields + QueryPresetsBaseSerializer.Meta.fields read_only_fields = fields -class PredefinedQuerySerializer(QueryPresetsBaseSerializer): +class SeqvarsPredefinedQuerySerializer(QueryPresetsBaseSerializer): """Serializer for ``PredefinedQuery``.""" included_in_sop = serializers.BooleanField(required=False, default=False) - genotype = SchemaField(schema=Optional[GenotypePresets], default=GenotypePresets()) + genotype = SchemaField( + schema=Optional[SeqvarsGenotypePresets], default=SeqvarsGenotypePresets() + ) quality = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsQuality.objects.all(), + queryset=SeqvarsQueryPresetsQuality.objects.all(), required=False, allow_null=True, default=None, ) frequency = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsFrequency.objects.all(), + queryset=SeqvarsQueryPresetsFrequency.objects.all(), required=False, allow_null=True, default=None, ) consequence = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsConsequence.objects.all(), + queryset=SeqvarsQueryPresetsConsequence.objects.all(), required=False, allow_null=True, default=None, ) locus = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsLocus.objects.all(), + queryset=SeqvarsQueryPresetsLocus.objects.all(), required=False, allow_null=True, default=None, ) phenotypeprio = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsPhenotypePrio.objects.all(), + queryset=SeqvarsQueryPresetsPhenotypePrio.objects.all(), required=False, allow_null=True, default=None, ) variantprio = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsVariantPrio.objects.all(), + queryset=SeqvarsQueryPresetsVariantPrio.objects.all(), required=False, allow_null=True, default=None, ) clinvar = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsClinvar.objects.all(), + queryset=SeqvarsQueryPresetsClinvar.objects.all(), required=False, allow_null=True, default=None, ) columns = serializers.SlugRelatedField( slug_field="sodar_uuid", - queryset=QueryPresetsColumns.objects.all(), + queryset=SeqvarsQueryPresetsColumns.objects.all(), required=False, allow_null=True, default=None, @@ -519,7 +527,7 @@ def validate(self, data): return result class Meta: - model = PredefinedQuery + model = SeqvarsPredefinedQuery fields = QueryPresetsBaseSerializer.Meta.fields + [ "included_in_sop", "genotype", @@ -535,7 +543,7 @@ class Meta: read_only_fields = QueryPresetsBaseSerializer.Meta.read_only_fields -class QueryPresetsSetSerializer(LabeledSortableBaseModelSerializer): +class SeqvarsQueryPresetsSetSerializer(LabeledSortableBaseModelSerializer): """Serializer for ``QueryPresetsSet``.""" #: Serialize ``project`` as its ``sodar_uuid``. @@ -548,14 +556,14 @@ def validate(self, attrs): return attrs class Meta: - model = QueryPresetsSet + model = SeqvarsQueryPresetsSet fields = LabeledSortableBaseModelSerializer.Meta.fields + [ "project", ] read_only_fields = fields -class QueryPresetsSetVersionSerializer(BaseModelSerializer): +class SeqvarsQueryPresetsSetVersionSerializer(BaseModelSerializer): """Serializer for ``QueryPresetsSetVersion``.""" #: Serialize ``presetsset`` as its ``sodar_uuid``. @@ -572,7 +580,7 @@ class QueryPresetsSetVersionSerializer(BaseModelSerializer): default=0, ) status = serializers.CharField( - required=False, allow_null=False, default=QueryPresetsSetVersion.STATUS_DRAFT + required=False, allow_null=False, default=SeqvarsQueryPresetsSetVersion.STATUS_DRAFT ) signed_off_by = SODARUserSerializer(read_only=True) @@ -585,7 +593,7 @@ def validate(self, attrs): return attrs class Meta: - model = QueryPresetsSetVersion + model = SeqvarsQueryPresetsSetVersion fields = BaseModelSerializer.Meta.fields + [ "presetsset", "version_major", @@ -596,7 +604,7 @@ class Meta: read_only_fields = fields -class QueryPresetsSetVersionDetailsSerializer(QueryPresetsSetVersionSerializer): +class SeqvarsQueryPresetsSetVersionDetailsSerializer(SeqvarsQueryPresetsSetVersionSerializer): """Serializer for ``QueryPresetsSetVersion`` (for ``*-detail``). When retrieving the details of a seqvar query preset set version, we also render the @@ -604,58 +612,66 @@ class QueryPresetsSetVersionDetailsSerializer(QueryPresetsSetVersionSerializer): """ #: Serialize ``presetsset`` in full. - presetsset = QueryPresetsSetSerializer(read_only=True) + presetsset = SeqvarsQueryPresetsSetSerializer(read_only=True) #: Serialize all quality presets. - querypresetsquality_set = QueryPresetsQualitySerializer(many=True, read_only=True) + seqvarsquerypresetsquality_set = SeqvarsQueryPresetsQualitySerializer(many=True, read_only=True) #: Serialize all frequency presets. - querypresetsfrequency_set = QueryPresetsFrequencySerializer(many=True, read_only=True) + seqvarsquerypresetsfrequency_set = SeqvarsQueryPresetsFrequencySerializer( + many=True, read_only=True + ) #: Serialize all consequence presets. - querypresetsconsequence_set = QueryPresetsConsequenceSerializer(many=True, read_only=True) + seqvarsquerypresetsconsequence_set = SeqvarsQueryPresetsConsequenceSerializer( + many=True, read_only=True + ) #: Serialize all locus presets. - querypresetslocus_set = QueryPresetsLocusSerializer(many=True, read_only=True) + seqvarsquerypresetslocus_set = SeqvarsQueryPresetsLocusSerializer(many=True, read_only=True) #: Serialize all phenotype prio presets. - querypresetsphenotypeprio_set = QueryPresetsPhenotypePrioSerializer(many=True, read_only=True) + seqvarsquerypresetsphenotypeprio_set = SeqvarsQueryPresetsPhenotypePrioSerializer( + many=True, read_only=True + ) #: Serialize all variant prio presets. - querypresetsvariantprio_set = QueryPresetsVariantPrioSerializer(many=True, read_only=True) + seqvarsquerypresetsvariantprio_set = SeqvarsQueryPresetsVariantPrioSerializer( + many=True, read_only=True + ) #: Serialize all clinvar presets. - querypresetsclinvar_set = QueryPresetsClinvarSerializer(many=True, read_only=True) + seqvarsquerypresetsclinvar_set = SeqvarsQueryPresetsClinvarSerializer(many=True, read_only=True) #: Serialize all columns presets. - querypresetscolumns_set = QueryPresetsColumnsSerializer(many=True, read_only=True) + seqvarsquerypresetscolumns_set = SeqvarsQueryPresetsColumnsSerializer(many=True, read_only=True) #: Serialize all predefined queries. - predefinedquery_set = PredefinedQuerySerializer(many=True, read_only=True) - - class Meta: - model = QueryPresetsSetVersionSerializer.Meta.model - fields = QueryPresetsSetVersionSerializer.Meta.fields + [ - "querypresetsquality_set", - "querypresetsfrequency_set", - "querypresetsconsequence_set", - "querypresetslocus_set", - "querypresetsphenotypeprio_set", - "querypresetsvariantprio_set", - "querypresetsclinvar_set", - "querypresetscolumns_set", - "predefinedquery_set", + seqvarspredefinedquery_set = SeqvarsPredefinedQuerySerializer(many=True, read_only=True) + + class Meta: + model = SeqvarsQueryPresetsSetVersionSerializer.Meta.model + fields = SeqvarsQueryPresetsSetVersionSerializer.Meta.fields + [ + "seqvarsquerypresetsquality_set", + "seqvarsquerypresetsfrequency_set", + "seqvarsquerypresetsconsequence_set", + "seqvarsquerypresetslocus_set", + "seqvarsquerypresetsphenotypeprio_set", + "seqvarsquerypresetsvariantprio_set", + "seqvarsquerypresetsclinvar_set", + "seqvarsquerypresetscolumns_set", + "seqvarspredefinedquery_set", ] read_only_fields = fields -class QueryPresetsSetDetailsSerializer(QueryPresetsSetSerializer): +class SeqvarsQueryPresetsSetDetailsSerializer(SeqvarsQueryPresetsSetSerializer): """Serializer for ``QueryPresetsSet`` that renders all nested versions.""" #: Serialize all versions of the presets set. - versions = QueryPresetsSetVersionDetailsSerializer(many=True, read_only=True) + versions = SeqvarsQueryPresetsSetVersionDetailsSerializer(many=True, read_only=True) class Meta: - model = QueryPresetsSet - fields = QueryPresetsSetSerializer.Meta.fields + [ + model = SeqvarsQueryPresetsSet + fields = SeqvarsQueryPresetsSetSerializer.Meta.fields + [ "versions", ] read_only_fields = fields -class QuerySettingsBaseSerializer(BaseModelSerializer): +class SeqvarsQuerySettingsBaseSerializer(BaseModelSerializer): """Serializer for ``QuerySettings``.""" #: Serialize ``querysettings`` as its ``sodar_uuid``. @@ -668,105 +684,117 @@ def validate(self, attrs): return attrs class Meta: - model = QuerySettingsCategoryBase + model = SeqvarsQuerySettingsCategoryBase fields = BaseModelSerializer.Meta.fields + ["querysettings"] read_only_fields = fields -class QuerySettingsGenotypeSerializer(QuerySettingsBaseSerializer): +class SeqvarsQuerySettingsGenotypeSerializer(SeqvarsQuerySettingsBaseSerializer): """Serializer for ``QuerySettingsGenotype``.""" - sample_genotype_choices = SchemaField(schema=list[SampleGenotypeChoice], default=list) + sample_genotype_choices = SchemaField(schema=list[SeqvarsSampleGenotypeChoice], default=list) class Meta: - model = QuerySettingsGenotype - fields = QuerySettingsBaseSerializer.Meta.fields + ["sample_genotype_choices"] + model = SeqvarsQuerySettingsGenotype + fields = SeqvarsQuerySettingsBaseSerializer.Meta.fields + ["sample_genotype_choices"] read_only_fields = fields -class QuerySettingsQualitySerializer(QuerySettingsBaseSerializer): +class SeqvarsQuerySettingsQualitySerializer(SeqvarsQuerySettingsBaseSerializer): """Serializer for ``QuerySettingsQuality``.""" - sample_quality_filters = SchemaField(schema=list[SampleQualityFilter], default=list) + sample_quality_filters = SchemaField(schema=list[SeqvarsSampleQualityFilter], default=list) class Meta: - model = QuerySettingsQuality - fields = QuerySettingsBaseSerializer.Meta.fields + ["sample_quality_filters"] + model = SeqvarsQuerySettingsQuality + fields = SeqvarsQuerySettingsBaseSerializer.Meta.fields + ["sample_quality_filters"] read_only_fields = fields -class QuerySettingsConsequenceSerializer( - ConsequenceSettingsBaseSerializer, QuerySettingsBaseSerializer +class SeqvarsQuerySettingsConsequenceSerializer( + ConsequenceSettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer ): """Serializer for ``QuerySettingsConsequence``.""" class Meta: - model = QuerySettingsConsequence + model = SeqvarsQuerySettingsConsequence fields = ( - ConsequenceSettingsBaseSerializer.Meta.fields + QuerySettingsBaseSerializer.Meta.fields + ConsequenceSettingsBaseSerializer.Meta.fields + + SeqvarsQuerySettingsBaseSerializer.Meta.fields ) read_only_fields = fields -class QuerySettingsLocusSerializer(LocusSettingsBaseSerializer, QuerySettingsBaseSerializer): +class SeqvarsQuerySettingsLocusSerializer( + LocusSettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer +): """Serializer for ``QuerySettingsLocus``.""" class Meta: - model = QuerySettingsLocus - fields = LocusSettingsBaseSerializer.Meta.fields + QuerySettingsBaseSerializer.Meta.fields + model = SeqvarsQuerySettingsLocus + fields = ( + LocusSettingsBaseSerializer.Meta.fields + SeqvarsQuerySettingsBaseSerializer.Meta.fields + ) read_only_fields = fields -class QuerySettingsFrequencySerializer( - FrequencySettingsBaseSerializer, QuerySettingsBaseSerializer +class SeqvarsQuerySettingsFrequencySerializer( + FrequencySettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer ): """Serializer for ``QuerySettingsFrequency``.""" class Meta: - model = QuerySettingsFrequency + model = SeqvarsQuerySettingsFrequency fields = ( - FrequencySettingsBaseSerializer.Meta.fields + QuerySettingsBaseSerializer.Meta.fields + FrequencySettingsBaseSerializer.Meta.fields + + SeqvarsQuerySettingsBaseSerializer.Meta.fields ) read_only_fields = fields -class QuerySettingsPhenotypePrioSerializer( - PhenotypePrioSettingsBaseSerializer, QuerySettingsBaseSerializer +class SeqvarsQuerySettingsPhenotypePrioSerializer( + PhenotypePrioSettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer ): """Serializer for ``QuerySettingsPhenotypePrio``.""" class Meta: - model = QuerySettingsPhenotypePrio + model = SeqvarsQuerySettingsPhenotypePrio fields = ( PhenotypePrioSettingsBaseSerializer.Meta.fields - + QuerySettingsBaseSerializer.Meta.fields + + SeqvarsQuerySettingsBaseSerializer.Meta.fields ) read_only_fields = fields -class QuerySettingsVariantPrioSerializer( - VariantPrioSettingsBaseSerializer, QuerySettingsBaseSerializer +class SeqvarsQuerySettingsVariantPrioSerializer( + VariantPrioSettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer ): """Serializer for ``QuerySettingsVariantPrio``.""" class Meta: - model = QuerySettingsVariantPrio + model = SeqvarsQuerySettingsVariantPrio fields = ( - VariantPrioSettingsBaseSerializer.Meta.fields + QuerySettingsBaseSerializer.Meta.fields + VariantPrioSettingsBaseSerializer.Meta.fields + + SeqvarsQuerySettingsBaseSerializer.Meta.fields ) read_only_fields = fields -class QuerySettingsClinvarSerializer(ClinvarSettingsBaseSerializer, QuerySettingsBaseSerializer): +class SeqvarsQuerySettingsClinvarSerializer( + ClinvarSettingsBaseSerializer, SeqvarsQuerySettingsBaseSerializer +): """Serializer for ``QuerySettingsClinvar``.""" class Meta: - model = QuerySettingsClinvar - fields = ClinvarSettingsBaseSerializer.Meta.fields + QuerySettingsBaseSerializer.Meta.fields + model = SeqvarsQuerySettingsClinvar + fields = ( + ClinvarSettingsBaseSerializer.Meta.fields + + SeqvarsQuerySettingsBaseSerializer.Meta.fields + ) read_only_fields = fields -class QuerySettingsSerializer(BaseModelSerializer): +class SeqvarsQuerySettingsSerializer(BaseModelSerializer): """Serializer for ``QuerySettings``.""" #: Serialize ``session`` as its ``sodar_uuid``. @@ -799,7 +827,7 @@ def validate(self, attrs): return attrs class Meta: - model = QuerySettings + model = SeqvarsQuerySettings fields = BaseModelSerializer.Meta.fields + [ "session", "presetssetversion", @@ -815,7 +843,9 @@ class Meta: read_only_fields = fields -class QuerySettingsDetailsSerializer(QuerySettingsSerializer, WritableNestedModelSerializer): +class SeqvarsQuerySettingsDetailsSerializer( + SeqvarsQuerySettingsSerializer, WritableNestedModelSerializer +): """Serializer for ``QuerySettings`` (for ``*-detail``). For retrieve, update, or delete operations, we also render the nested @@ -823,25 +853,25 @@ class QuerySettingsDetailsSerializer(QuerySettingsSerializer, WritableNestedMode """ #: Nested serialization of the genotype settings. - genotype = QuerySettingsGenotypeSerializer() + genotype = SeqvarsQuerySettingsGenotypeSerializer() #: Nested serialization of the quality settings. - quality = QuerySettingsQualitySerializer() + quality = SeqvarsQuerySettingsQualitySerializer() #: Nested serialization of the consequence settings. - consequence = QuerySettingsConsequenceSerializer() + consequence = SeqvarsQuerySettingsConsequenceSerializer() #: Nested serialization of the locus settings. - locus = QuerySettingsLocusSerializer() + locus = SeqvarsQuerySettingsLocusSerializer() #: Nested serialization of the frequency settings. - frequency = QuerySettingsFrequencySerializer() + frequency = SeqvarsQuerySettingsFrequencySerializer() #: Nested serialization of the phenotype prio settings. - phenotypeprio = QuerySettingsPhenotypePrioSerializer() + phenotypeprio = SeqvarsQuerySettingsPhenotypePrioSerializer() #: Nested serialization of the variant prio settings. - variantprio = QuerySettingsVariantPrioSerializer() + variantprio = SeqvarsQuerySettingsVariantPrioSerializer() #: Nested serialization of the clinvar settings. - clinvar = QuerySettingsClinvarSerializer() + clinvar = SeqvarsQuerySettingsClinvarSerializer() class Meta: - model = QuerySettingsSerializer.Meta.model - fields = QuerySettingsSerializer.Meta.fields + [ + model = SeqvarsQuerySettingsSerializer.Meta.model + fields = SeqvarsQuerySettingsSerializer.Meta.fields + [ "genotype", "quality", "consequence", @@ -854,7 +884,7 @@ class Meta: read_only_fields = fields -class QueryColumnsConfigSerializer(ColumnsSettingsBaseSerializer, BaseModelSerializer): +class SeqvarsQueryColumnsConfigSerializer(ColumnsSettingsBaseSerializer, BaseModelSerializer): """Serializer for ``QueryColumnsConfig``.""" def validate(self, attrs): @@ -864,12 +894,12 @@ def validate(self, attrs): return attrs class Meta: - model = QueryColumnsConfig + model = SeqvarsQueryColumnsConfig fields = BaseModelSerializer.Meta.fields + ColumnsSettingsBaseSerializer.Meta.fields read_only_fields = fields -class QuerySerializer(BaseModelSerializer): +class SeqvarsQuerySerializer(BaseModelSerializer): """Serializer for ``Query``.""" rank = serializers.IntegerField(default=1, initial=1) @@ -889,7 +919,7 @@ def validate(self, attrs): return attrs class Meta: - model = Query + model = SeqvarsQuery fields = BaseModelSerializer.Meta.fields + [ "rank", "label", @@ -900,7 +930,7 @@ class Meta: read_only_fields = fields -class QueryDetailsSerializer(QuerySerializer, WritableNestedModelSerializer): +class SeqvarsQueryDetailsSerializer(SeqvarsQuerySerializer, WritableNestedModelSerializer): """Serializer for ``Query`` (for ``*-detail``). For retrieve, update, or delete operations, we also render the nested query settings @@ -908,17 +938,17 @@ class QueryDetailsSerializer(QuerySerializer, WritableNestedModelSerializer): """ #: For the details serializer, we use a nested details serializer. - settings = QuerySettingsDetailsSerializer() + settings = SeqvarsQuerySettingsDetailsSerializer() #: Render the columns configuration here. - columnsconfig = QueryColumnsConfigSerializer() + columnsconfig = SeqvarsQueryColumnsConfigSerializer() class Meta: - model = Query - fields = QuerySerializer.Meta.fields + model = SeqvarsQuery + fields = SeqvarsQuerySerializer.Meta.fields read_only_fields = fields -class QueryExecutionSerializer(BaseModelSerializer): +class SeqvarsQueryExecutionSerializer(BaseModelSerializer): """Serializer for ``QueryExecution``.""" #: Serialize ``query`` as its ``sodar_uuid``. @@ -927,7 +957,7 @@ class QueryExecutionSerializer(BaseModelSerializer): querysettings = serializers.ReadOnlyField(source="querysettings.sodar_uuid") class Meta: - model = QueryExecution + model = SeqvarsQueryExecution fields = BaseModelSerializer.Meta.fields + [ "state", "complete_percent", @@ -940,19 +970,19 @@ class Meta: read_only_fields = fields -class QueryExecutionDetailsSerializer(QueryExecutionSerializer): +class SeqvarsQueryExecutionDetailsSerializer(SeqvarsQueryExecutionSerializer): """Serializer for ``QueryExecution``.""" #: For the details, serialize ``querysettings`` fully. - querysettings = QuerySettingsDetailsSerializer() + querysettings = SeqvarsQuerySettingsDetailsSerializer() class Meta: - model = QueryExecution - fields = QueryExecutionSerializer.Meta.fields + model = SeqvarsQueryExecution + fields = SeqvarsQueryExecutionSerializer.Meta.fields read_only_fields = fields -class ResultSetSerializer(BaseModelSerializer): +class SeqvarsResultSetSerializer(BaseModelSerializer): """Serializer for ``ResultSet``.""" #: Explicitely provide django-pydantic-field schema for ``datasource_infos``. @@ -961,7 +991,7 @@ class ResultSetSerializer(BaseModelSerializer): queryexecution = serializers.ReadOnlyField(source="queryexecution.sodar_uuid") class Meta: - model = ResultSet + model = SeqvarsResultSet fields = BaseModelSerializer.Meta.fields + [ "queryexecution", "datasource_infos", @@ -969,16 +999,16 @@ class Meta: read_only_fields = fields -class ResultRowSerializer(serializers.ModelSerializer): +class SeqvarsResultRowSerializer(serializers.ModelSerializer): """Serializer for ``ResultRow``.""" #: Serialize ``resultset`` as its ``sodar_uuid``. resultset = serializers.ReadOnlyField(source="resultset.sodar_uuid") #: Explicitely provide django-pydantic-field schema for ``payload``. - payload = SchemaField(schema=ResultRowPayload) + payload = SchemaField(schema=SeqvarsResultRowPayload) class Meta: - model = ResultRow + model = SeqvarsResultRow fields = [ "sodar_uuid", "resultset", diff --git a/backend/seqvars/tests/factories.py b/backend/seqvars/tests/factories.py index 4005689c6..9a6db5536 100644 --- a/backend/seqvars/tests/factories.py +++ b/backend/seqvars/tests/factories.py @@ -6,47 +6,47 @@ from cases_analysis.tests.factories import CaseAnalysisSessionFactory from seqvars.models import ( ClinvarGermlineAggregateDescription, - ColumnConfig, DataSourceInfo, DataSourceInfos, Gene, GenePanel, GenePanelSource, - GenotypeChoice, - PredefinedQuery, - Query, - QueryColumnsConfig, - QueryExecution, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - QuerySettings, - QuerySettingsClinvar, - QuerySettingsConsequence, - QuerySettingsFrequency, - QuerySettingsGenotype, - QuerySettingsLocus, - QuerySettingsPhenotypePrio, - QuerySettingsQuality, - QuerySettingsVariantPrio, - ResultRow, - ResultRowPayload, - ResultSet, - SampleGenotypeChoice, - SampleQualityFilter, + SeqvarsColumnConfig, + SeqvarsGenotypeChoice, + SeqvarsPredefinedQuery, + SeqvarsPrioService, + SeqvarsQuery, + SeqvarsQueryColumnsConfig, + SeqvarsQueryExecution, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsQuerySettings, + SeqvarsQuerySettingsClinvar, + SeqvarsQuerySettingsConsequence, + SeqvarsQuerySettingsFrequency, + SeqvarsQuerySettingsGenotype, + SeqvarsQuerySettingsLocus, + SeqvarsQuerySettingsPhenotypePrio, + SeqvarsQuerySettingsQuality, + SeqvarsQuerySettingsVariantPrio, + SeqvarsResultRow, + SeqvarsResultRowPayload, + SeqvarsResultSet, + SeqvarsSampleGenotypeChoice, + SeqvarsSampleQualityFilter, + SeqvarsTranscriptTypeChoice, + SeqvarsVariantConsequenceChoice, + SeqvarsVariantTypeChoice, Term, TermPresence, - TranscriptTypeChoice, - VariantConsequenceChoice, - VariantPrioService, - VariantTypeChoice, ) from variants.tests.factories import ProjectFactory @@ -57,15 +57,15 @@ class SampleGenotypeChoiceFactory(factory.Factory): @factory.lazy_attribute_sequence def genotype(self, n: int): - values = GenotypeChoice.values() - return GenotypeChoice(values[n % len(values)]) + values = SeqvarsGenotypeChoice.values() + return SeqvarsGenotypeChoice(values[n % len(values)]) class Meta: - model = SampleGenotypeChoice + model = SeqvarsSampleGenotypeChoice class SampleGenotypeSettingsBaseFactory(factory.django.DjangoModelFactory): - sample_genotypes = factory.Faker("pydantic_field", schema=[SampleGenotypeChoice]) + sample_genotypes = factory.Faker("pydantic_field", schema=[SeqvarsSampleGenotypeChoice]) @factory.lazy_attribute def sample_genotypes(self): @@ -106,9 +106,9 @@ class Meta: class ConsequenceSettingsBaseFactory(factory.django.DjangoModelFactory): - variant_types = [VariantTypeChoice.SNV] - transcript_types = [TranscriptTypeChoice.CODING] - variant_consequences = [VariantConsequenceChoice.MISSENSE_VARIANT] + variant_types = [SeqvarsVariantTypeChoice.SNV] + transcript_types = [SeqvarsTranscriptTypeChoice.CODING] + variant_consequences = [SeqvarsVariantConsequenceChoice.MISSENSE_VARIANT] max_distance_to_exon = 50 class Meta: @@ -155,7 +155,7 @@ class Meta: class VariantPrioSettingsBaseFactory(factory.django.DjangoModelFactory): variant_prio_enabled = False - services = [VariantPrioService(name="MutationTaster", version="2021")] + services = [SeqvarsPrioService(name="MutationTaster", version="2021")] class Meta: abstract = True @@ -177,7 +177,7 @@ class Meta: class ColumnsSettingsBaseFactory(factory.django.DjangoModelFactory): column_settings = [ - ColumnConfig( + SeqvarsColumnConfig( name="chromosome", label="Chromosome", width=300, @@ -207,34 +207,34 @@ class Meta: abstract = True -class QueryPresetsSetFactory(LabeledSortableBaseFactory): +class SeqvarsQueryPresetsSetFactory(LabeledSortableBaseFactory): project = factory.SubFactory(ProjectFactory) class Meta: - model = QueryPresetsSet + model = SeqvarsQueryPresetsSet -class QueryPresetsSetVersionFactory(BaseModelFactory): +class SeqvarsQueryPresetsSetVersionFactory(BaseModelFactory): - presetsset = factory.SubFactory(QueryPresetsSetFactory) + presetsset = factory.SubFactory(SeqvarsQueryPresetsSetFactory) version_major = 1 version_minor = 0 - status = QueryPresetsSetVersion.STATUS_ACTIVE + status = SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE class Meta: - model = QueryPresetsSetVersion + model = SeqvarsQueryPresetsSetVersion class QueryPresetsBaseFactory(LabeledSortableBaseFactory): - presetssetversion = factory.SubFactory(QueryPresetsSetVersionFactory) + presetssetversion = factory.SubFactory(SeqvarsQueryPresetsSetVersionFactory) class Meta: abstract = True -class QueryPresetsQualityFactory(QueryPresetsBaseFactory): +class SeqvarsQueryPresetsQualityFactory(QueryPresetsBaseFactory): filter_active = True min_dp_het = 10 @@ -244,213 +244,219 @@ class QueryPresetsQualityFactory(QueryPresetsBaseFactory): min_ad = 3 class Meta: - model = QueryPresetsQuality + model = SeqvarsQueryPresetsQuality -class QueryPresetsFrequencyFactory(FrequencySettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsFrequencyFactory(FrequencySettingsBaseFactory, QueryPresetsBaseFactory): class Meta: - model = QueryPresetsFrequency + model = SeqvarsQueryPresetsFrequency -class QueryPresetsConsequenceFactory(ConsequenceSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsConsequenceFactory( + ConsequenceSettingsBaseFactory, QueryPresetsBaseFactory +): class Meta: - model = QueryPresetsConsequence + model = SeqvarsQueryPresetsConsequence -class QueryPresetsLocusFactory(LocusSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsLocusFactory(LocusSettingsBaseFactory, QueryPresetsBaseFactory): class Meta: - model = QueryPresetsLocus + model = SeqvarsQueryPresetsLocus -class QueryPresetsPhenotypePrioFactory(PhenotypePrioSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsPhenotypePrioFactory( + PhenotypePrioSettingsBaseFactory, QueryPresetsBaseFactory +): class Meta: - model = QueryPresetsPhenotypePrio + model = SeqvarsQueryPresetsPhenotypePrio -class QueryPresetsVariantPrioFactory(VariantPrioSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsVariantPrioFactory( + VariantPrioSettingsBaseFactory, QueryPresetsBaseFactory +): class Meta: - model = QueryPresetsVariantPrio + model = SeqvarsQueryPresetsVariantPrio -class QueryPresetsClinvarFactory(ClinvarSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsClinvarFactory(ClinvarSettingsBaseFactory, QueryPresetsBaseFactory): class Meta: - model = QueryPresetsClinvar + model = SeqvarsQueryPresetsClinvar -class QueryPresetsColumnsFactory(ColumnsSettingsBaseFactory, QueryPresetsBaseFactory): +class SeqvarsQueryPresetsColumnsFactory(ColumnsSettingsBaseFactory, QueryPresetsBaseFactory): class Meta: - model = QueryPresetsColumns + model = SeqvarsQueryPresetsColumns -class PredefinedQueryFactory(QueryPresetsBaseFactory): +class SeqvarsPredefinedQueryFactory(QueryPresetsBaseFactory): included_in_sop = False class Meta: - model = PredefinedQuery + model = SeqvarsPredefinedQuery -class QuerySettingsFactory(BaseModelFactory): +class SeqvarsQuerySettingsFactory(BaseModelFactory): session = factory.SubFactory(CaseAnalysisSessionFactory) genotype = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsGenotypeFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsGenotypeFactory", factory_related_name="querysettings", ) quality = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsQualityFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsQualityFactory", factory_related_name="querysettings", ) consequence = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsConsequenceFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsConsequenceFactory", factory_related_name="querysettings", ) locus = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsLocusFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsLocusFactory", factory_related_name="querysettings", ) frequency = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsFrequencyFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsFrequencyFactory", factory_related_name="querysettings", ) phenotypeprio = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsPhenotypePrioFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsPhenotypePrioFactory", factory_related_name="querysettings", ) variantprio = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsVariantPrioFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsVariantPrioFactory", factory_related_name="querysettings", ) clinvar = factory.RelatedFactory( - "seqvars.tests.factories.QuerySettingsClinvarFactory", + "seqvars.tests.factories.SeqvarsQuerySettingsClinvarFactory", factory_related_name="querysettings", ) class Meta: - model = QuerySettings + model = SeqvarsQuerySettings -class QuerySettingsGenotypeFactory(BaseModelFactory): +class SeqvarsQuerySettingsGenotypeFactory(BaseModelFactory): # We pass in genotype=None to prevent creation of a second # ``QuerySettingsGenotype``. - querysettings = factory.SubFactory(QuerySettingsFactory, genotype=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, genotype=None) sample_genotype_choices = [SampleGenotypeChoiceFactory()] class Meta: - model = QuerySettingsGenotype + model = SeqvarsQuerySettingsGenotype -class QuerySettingsQualityFactory(BaseModelFactory): +class SeqvarsQuerySettingsQualityFactory(BaseModelFactory): # We pass in quality=None to prevent creation of a second # ``QuerySettingsQuality``. - querysettings = factory.SubFactory(QuerySettingsFactory, quality=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, quality=None) sample_quality_filters = [ - SampleQualityFilter( + SeqvarsSampleQualityFilter( sample="index", ) ] class Meta: - model = QuerySettingsQuality + model = SeqvarsQuerySettingsQuality -class QuerySettingsFrequencyFactory(FrequencySettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsFrequencyFactory(FrequencySettingsBaseFactory, BaseModelFactory): # We pass in frequency=None to prevent creation of a second # ``QuerySettingsFrequency``. - querysettings = factory.SubFactory(QuerySettingsFactory, frequency=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, frequency=None) class Meta: - model = QuerySettingsFrequency + model = SeqvarsQuerySettingsFrequency -class QuerySettingsConsequenceFactory(ConsequenceSettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsConsequenceFactory(ConsequenceSettingsBaseFactory, BaseModelFactory): # We pass in consequence=None to prevent creation of a second # ``QuerySettingsConsequence``. - querysettings = factory.SubFactory(QuerySettingsFactory, consequence=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, consequence=None) class Meta: - model = QuerySettingsConsequence + model = SeqvarsQuerySettingsConsequence -class QuerySettingsLocusFactory(LocusSettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsLocusFactory(LocusSettingsBaseFactory, BaseModelFactory): # We pass in locus=None to prevent creation of a second # ``QuerySettingsLocus``. - querysettings = factory.SubFactory(QuerySettingsFactory, locus=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, locus=None) class Meta: - model = QuerySettingsLocus + model = SeqvarsQuerySettingsLocus -class QuerySettingsPhenotypePrioFactory(PhenotypePrioSettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsPhenotypePrioFactory(PhenotypePrioSettingsBaseFactory, BaseModelFactory): # We pass in phenotypeprio=None to prevent creation of a second # ``QuerySettingsPhenotypePrio``. - querysettings = factory.SubFactory(QuerySettingsFactory, phenotypeprio=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, phenotypeprio=None) class Meta: - model = QuerySettingsPhenotypePrio + model = SeqvarsQuerySettingsPhenotypePrio -class QuerySettingsVariantPrioFactory(VariantPrioSettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsVariantPrioFactory(VariantPrioSettingsBaseFactory, BaseModelFactory): # We pass in variantprio=None to prevent creation of a second # ``QuerySettingsVariantPrio``. - querysettings = factory.SubFactory(QuerySettingsFactory, variantprio=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, variantprio=None) class Meta: - model = QuerySettingsVariantPrio + model = SeqvarsQuerySettingsVariantPrio -class QuerySettingsClinvarFactory(ClinvarSettingsBaseFactory, BaseModelFactory): +class SeqvarsQuerySettingsClinvarFactory(ClinvarSettingsBaseFactory, BaseModelFactory): # We pass in clinvar=None to prevent creation of a second # ``QuerySettingsClinvar``. - querysettings = factory.SubFactory(QuerySettingsFactory, clinvar=None) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory, clinvar=None) class Meta: - model = QuerySettingsClinvar + model = SeqvarsQuerySettingsClinvar -class QueryFactory(BaseModelFactory): +class SeqvarsQueryFactory(BaseModelFactory): rank = 1 label = factory.Sequence(lambda n: f"query-{n}") session = factory.SubFactory(CaseAnalysisSessionFactory) - settings = factory.SubFactory(QuerySettingsFactory) - columnsconfig = factory.SubFactory("seqvars.tests.factories.QueryColumnsConfigFactory") + settings = factory.SubFactory(SeqvarsQuerySettingsFactory) + columnsconfig = factory.SubFactory("seqvars.tests.factories.SeqvarsQueryColumnsConfigFactory") class Meta: - model = Query + model = SeqvarsQuery -class QueryColumnsConfigFactory(ColumnsSettingsBaseFactory, BaseModelFactory): +class SeqvarsQueryColumnsConfigFactory(ColumnsSettingsBaseFactory, BaseModelFactory): class Meta: - model = QueryColumnsConfig + model = SeqvarsQueryColumnsConfig -class QueryExecutionFactory(BaseModelFactory): +class SeqvarsQueryExecutionFactory(BaseModelFactory): - state = QueryExecution.STATE_DONE + state = SeqvarsQueryExecution.STATE_DONE start_time = factory.LazyFunction(django.utils.timezone.now) end_time = factory.LazyFunction(django.utils.timezone.now) # elapsed_seconds: see @factory.lazy_attribute below - query = factory.SubFactory(QueryFactory) - querysettings = factory.SubFactory(QuerySettingsFactory) + query = factory.SubFactory(SeqvarsQueryFactory) + querysettings = factory.SubFactory(SeqvarsQuerySettingsFactory) @factory.lazy_attribute def elapsed_seconds(self): @@ -460,12 +466,12 @@ def elapsed_seconds(self): return None class Meta: - model = QueryExecution + model = SeqvarsQueryExecution -class ResultSetFactory(BaseModelFactory): +class SeqvarsResultSetFactory(BaseModelFactory): - queryexecution = factory.SubFactory(QueryExecutionFactory) + queryexecution = factory.SubFactory(SeqvarsQueryExecutionFactory) result_row_count = 2 # datasource_infos: see @factory.lazy_attribute below @@ -481,14 +487,14 @@ def datasource_infos(self): ) class Meta: - model = ResultSet + model = SeqvarsResultSet -class ResultRowFactory(factory.django.DjangoModelFactory): +class SeqvarsResultRowFactory(factory.django.DjangoModelFactory): sodar_uuid = factory.Faker("uuid4") - resultset = factory.SubFactory(ResultSetFactory) + resultset = factory.SubFactory(SeqvarsResultSetFactory) release = "GRCh38" chromosome = factory.Sequence(lambda n: f"chr{n % 22}") @@ -500,7 +506,7 @@ class ResultRowFactory(factory.django.DjangoModelFactory): @factory.lazy_attribute def payload(self): - return ResultRowPayload(foo=42) + return SeqvarsResultRowPayload(foo=42) class Meta: - model = ResultRow + model = SeqvarsResultRow diff --git a/backend/seqvars/tests/snapshots/snap_test_factory_defaults.py b/backend/seqvars/tests/snapshots/snap_test_factory_defaults.py index 349dd56dc..858d7243c 100644 --- a/backend/seqvars/tests/snapshots/snap_test_factory_defaults.py +++ b/backend/seqvars/tests/snapshots/snap_test_factory_defaults.py @@ -17,7 +17,15 @@ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", - "predefinedquery_set": [ + "presetsset": { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read exome sequencing with relaxed quality presets. These settings are aimed at 'legacy' WES sequencing where a target coverage of >=20x cannot be achieved for a considerable portion of the exome.", + "label": "short-read exome sequencing (legacy)", + "rank": 3, + "sodar_uuid": "41f60be0-7cef-4aa3-aaed-cf4a4599a084", + }, + "seqvarspredefinedquery_set": [ { "clinvar": "8b13d606-dbd0-4158-9fcf-0a28076cb2db", "columns": "de09623d-f1df-4cea-a6b7-c6720cbd2ff2", @@ -209,15 +217,7 @@ "variantprio": "8deb93bd-7499-411a-9598-827324b80cdb", }, ], - "presetsset": { - "date_created": "2024-07-01T00:00:00Z", - "date_modified": "2024-07-01T00:00:00Z", - "description": "Settings for short-read exome sequencing with relaxed quality presets. These settings are aimed at 'legacy' WES sequencing where a target coverage of >=20x cannot be achieved for a considerable portion of the exome.", - "label": "short-read exome sequencing (legacy)", - "rank": 3, - "sodar_uuid": "41f60be0-7cef-4aa3-aaed-cf4a4599a084", - }, - "querypresetsclinvar_set": [ + "seqvarsquerypresetsclinvar_set": [ { "allow_conflicting_interpretations": False, "clinvar_germline_aggregate_description": [], @@ -271,7 +271,7 @@ "sodar_uuid": "478e2c06-9f45-4a49-8291-d9fa2ed08d07", }, ], - "querypresetscolumns_set": [ + "seqvarsquerypresetscolumns_set": [ { "column_settings": [], "date_created": "2024-07-01T00:00:00Z", @@ -283,7 +283,7 @@ "sodar_uuid": "de09623d-f1df-4cea-a6b7-c6720cbd2ff2", } ], - "querypresetsconsequence_set": [ + "seqvarsquerypresetsconsequence_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -452,7 +452,7 @@ "variant_types": ["snv", "indel", "mnv", "complex_substitution"], }, ], - "querypresetsfrequency_set": [ + "seqvarsquerypresetsfrequency_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -622,7 +622,7 @@ "sodar_uuid": "35bd1a58-4b35-42ba-ac8c-f78b9f9565c0", }, ], - "querypresetslocus_set": [ + "seqvarsquerypresetslocus_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -759,7 +759,7 @@ "sodar_uuid": "9ef59cf2-bb67-4969-a1ce-ffb5de1e716f", }, ], - "querypresetsphenotypeprio_set": [ + "seqvarsquerypresetsphenotypeprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -773,7 +773,7 @@ "terms": [], } ], - "querypresetsquality_set": [ + "seqvarsquerypresetsquality_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -839,7 +839,7 @@ "sodar_uuid": "110edc17-9ffb-4863-a62d-3f4c09274947", }, ], - "querypresetsvariantprio_set": [ + "seqvarsquerypresetsvariantprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -894,7 +894,15 @@ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", - "predefinedquery_set": [ + "presetsset": { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read exome sequencing with strict quality presets. These settings are aimed at 'modern' WES sequencing where a target coverage of >=20x can be achieved for >=99% of the exome.", + "label": "short-read exome sequencing (modern)", + "rank": 2, + "sodar_uuid": "b39cfd4b-8abe-4d78-8520-10116895cea8", + }, + "seqvarspredefinedquery_set": [ { "clinvar": "9a949347-c0e2-4124-947d-605303bc1158", "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6", @@ -1086,15 +1094,7 @@ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282", }, ], - "presetsset": { - "date_created": "2024-07-01T00:00:00Z", - "date_modified": "2024-07-01T00:00:00Z", - "description": "Settings for short-read exome sequencing with strict quality presets. These settings are aimed at 'modern' WES sequencing where a target coverage of >=20x can be achieved for >=99% of the exome.", - "label": "short-read exome sequencing (modern)", - "rank": 2, - "sodar_uuid": "b39cfd4b-8abe-4d78-8520-10116895cea8", - }, - "querypresetsclinvar_set": [ + "seqvarsquerypresetsclinvar_set": [ { "allow_conflicting_interpretations": False, "clinvar_germline_aggregate_description": [], @@ -1148,7 +1148,7 @@ "sodar_uuid": "5c66c458-1c8c-457b-a78f-5a8532f4bdb0", }, ], - "querypresetscolumns_set": [ + "seqvarsquerypresetscolumns_set": [ { "column_settings": [], "date_created": "2024-07-01T00:00:00Z", @@ -1160,7 +1160,7 @@ "sodar_uuid": "394aa1da-d68a-4f2d-9cc2-5c505712caa6", } ], - "querypresetsconsequence_set": [ + "seqvarsquerypresetsconsequence_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1329,7 +1329,7 @@ "variant_types": ["snv", "indel", "mnv", "complex_substitution"], }, ], - "querypresetsfrequency_set": [ + "seqvarsquerypresetsfrequency_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1499,7 +1499,7 @@ "sodar_uuid": "fe56b1e5-74a0-4625-bbc3-6d973bb70669", }, ], - "querypresetslocus_set": [ + "seqvarsquerypresetslocus_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1636,7 +1636,7 @@ "sodar_uuid": "ae0b60fd-d113-4b9a-b5e8-04cfac78b489", }, ], - "querypresetsphenotypeprio_set": [ + "seqvarsquerypresetsphenotypeprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1650,7 +1650,7 @@ "terms": [], } ], - "querypresetsquality_set": [ + "seqvarsquerypresetsquality_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1716,7 +1716,7 @@ "sodar_uuid": "a24eb80d-b189-4370-8d90-437bfd4f6854", }, ], - "querypresetsvariantprio_set": [ + "seqvarsquerypresetsvariantprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -1771,7 +1771,15 @@ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", - "predefinedquery_set": [ + "presetsset": { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read genome sequencing with strict quality presets. These settings are aimed at WGS sequencing with at least 30x coverage.", + "label": "short-read genome sequencing", + "rank": 1, + "sodar_uuid": "c33f4584-b23b-41d8-893c-d01609de8895", + }, + "seqvarspredefinedquery_set": [ { "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", @@ -1963,15 +1971,7 @@ "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", }, ], - "presetsset": { - "date_created": "2024-07-01T00:00:00Z", - "date_modified": "2024-07-01T00:00:00Z", - "description": "Settings for short-read genome sequencing with strict quality presets. These settings are aimed at WGS sequencing with at least 30x coverage.", - "label": "short-read genome sequencing", - "rank": 1, - "sodar_uuid": "c33f4584-b23b-41d8-893c-d01609de8895", - }, - "querypresetsclinvar_set": [ + "seqvarsquerypresetsclinvar_set": [ { "allow_conflicting_interpretations": False, "clinvar_germline_aggregate_description": [], @@ -2025,7 +2025,7 @@ "sodar_uuid": "c60e43ae-9a13-44ff-aa38-7a4ef7702500", }, ], - "querypresetscolumns_set": [ + "seqvarsquerypresetscolumns_set": [ { "column_settings": [], "date_created": "2024-07-01T00:00:00Z", @@ -2037,7 +2037,7 @@ "sodar_uuid": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", } ], - "querypresetsconsequence_set": [ + "seqvarsquerypresetsconsequence_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -2206,7 +2206,7 @@ "variant_types": ["snv", "indel", "mnv", "complex_substitution"], }, ], - "querypresetsfrequency_set": [ + "seqvarsquerypresetsfrequency_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -2376,7 +2376,7 @@ "sodar_uuid": "1484cf3f-d92e-4a26-a057-b0de2ab49ae1", }, ], - "querypresetslocus_set": [ + "seqvarsquerypresetslocus_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -2513,7 +2513,7 @@ "sodar_uuid": "d0469667-db0e-4e65-bcfc-bc361a60e033", }, ], - "querypresetsphenotypeprio_set": [ + "seqvarsquerypresetsphenotypeprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -2527,7 +2527,7 @@ "terms": [], } ], - "querypresetsquality_set": [ + "seqvarsquerypresetsquality_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", @@ -2593,7 +2593,7 @@ "sodar_uuid": "f275418c-da2f-466e-9fdf-e1685f53f26c", }, ], - "querypresetsvariantprio_set": [ + "seqvarsquerypresetsvariantprio_set": [ { "date_created": "2024-07-01T00:00:00Z", "date_modified": "2024-07-01T00:00:00Z", diff --git a/backend/seqvars/tests/snapshots/snap_test_views_api.py b/backend/seqvars/tests/snapshots/snap_test_views_api.py new file mode 100644 index 000000000..32dd5ddaf --- /dev/null +++ b/backend/seqvars/tests/snapshots/snap_test_views_api.py @@ -0,0 +1,915 @@ +# -*- coding: utf-8 -*- +# snapshottest: v1 - https://goo.gl/zC4yUc +from __future__ import unicode_literals + +from snapshottest import Snapshot + +snapshots = Snapshot() + +snapshots["TestQueryPresetsFactoryDefaultsViewSet::test_list 1"] = { + "next": None, + "previous": None, + "results": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read genome sequencing with strict quality presets. These settings are aimed at WGS sequencing with at least 30x coverage.", + "label": "short-read genome sequencing", + "rank": 1, + "sodar_uuid": "c33f4584-b23b-41d8-893c-d01609de8895", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read exome sequencing with strict quality presets. These settings are aimed at 'modern' WES sequencing where a target coverage of >=20x can be achieved for >=99% of the exome.", + "label": "short-read exome sequencing (modern)", + "rank": 2, + "sodar_uuid": "b39cfd4b-8abe-4d78-8520-10116895cea8", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read exome sequencing with relaxed quality presets. These settings are aimed at 'legacy' WES sequencing where a target coverage of >=20x cannot be achieved for a considerable portion of the exome.", + "label": "short-read exome sequencing (legacy)", + "rank": 3, + "sodar_uuid": "41f60be0-7cef-4aa3-aaed-cf4a4599a084", + }, + ], +} + +snapshots["TestQueryPresetsFactoryDefaultsViewSet::test_retrieve 1"] = { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read genome sequencing with strict quality presets. These settings are aimed at WGS sequencing with at least 30x coverage.", + "label": "short-read genome sequencing", + "rank": 1, + "sodar_uuid": "c33f4584-b23b-41d8-893c-d01609de8895", + "versions": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "presetsset": { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": "Settings for short-read genome sequencing with strict quality presets. These settings are aimed at WGS sequencing with at least 30x coverage.", + "label": "short-read genome sequencing", + "rank": 1, + "sodar_uuid": "c33f4584-b23b-41d8-893c-d01609de8895", + }, + "seqvarspredefinedquery_set": [ + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "d8448135-1816-4a59-8fa0-448eade3702d", + "genotype": {"choice": "any"}, + "included_in_sop": False, + "label": "defaults", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 1, + "sodar_uuid": "bb2a90cd-aa30-410a-9f9e-95261613064f", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "d8448135-1816-4a59-8fa0-448eade3702d", + "genotype": {"choice": "de_novo"}, + "included_in_sop": False, + "label": "de novo", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "18a61865-cafe-4acf-b2cc-dfa7abf10ac2", + "rank": 2, + "sodar_uuid": "4eb9d5a9-ceb6-4bfe-92f7-992b277364cf", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "d8448135-1816-4a59-8fa0-448eade3702d", + "genotype": {"choice": "dominant"}, + "included_in_sop": False, + "label": "dominant", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 3, + "sodar_uuid": "6cbc093c-8902-41e8-b0a8-4cd01be38ac1", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "5486d496-54ce-4017-b930-7855e61f2da4", + "genotype": {"choice": "homozygous_recessive"}, + "included_in_sop": False, + "label": "homozygous recessive", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 4, + "sodar_uuid": "2585702d-09b8-4a4c-964e-e498716d78b2", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "5486d496-54ce-4017-b930-7855e61f2da4", + "genotype": {"choice": "compound_heterozygous_recessive"}, + "included_in_sop": False, + "label": "compound heterozygous", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 5, + "sodar_uuid": "ca9c2af1-e74d-4213-9b12-d40d00a51da6", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "5486d496-54ce-4017-b930-7855e61f2da4", + "genotype": {"choice": "recessive"}, + "included_in_sop": False, + "label": "recessive", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 6, + "sodar_uuid": "2043c517-1fd3-4c9b-93fd-c924fa02f585", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "5486d496-54ce-4017-b930-7855e61f2da4", + "genotype": {"choice": "x_recessive"}, + "included_in_sop": False, + "label": "X recessive", + "locus": "4678b59a-4bd1-40b4-aa6d-06f0d6cf23c0", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 7, + "sodar_uuid": "c5dccb54-fd3b-47a7-845d-845dbc0e2336", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "791aa55f-0a95-44a7-af1a-311eb715e9a1", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "f362b708-c15c-41bf-a2f2-34308c072307", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "1484cf3f-d92e-4a26-a057-b0de2ab49ae1", + "genotype": {"choice": "affected_carriers"}, + "included_in_sop": False, + "label": "ClinVar pathogenic", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "f275418c-da2f-466e-9fdf-e1685f53f26c", + "rank": 8, + "sodar_uuid": "c7d7cd13-e291-4a49-925b-9e35e7609ea3", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "f362b708-c15c-41bf-a2f2-34308c072307", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "d8448135-1816-4a59-8fa0-448eade3702d", + "genotype": {"choice": "affected_carriers"}, + "included_in_sop": False, + "label": "mitochondrial", + "locus": "d0469667-db0e-4e65-bcfc-bc361a60e033", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + "rank": 9, + "sodar_uuid": "8847a774-b79f-48f5-9e58-b604566fa460", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + { + "clinvar": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + "columns": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + "consequence": "f362b708-c15c-41bf-a2f2-34308c072307", + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "frequency": "1484cf3f-d92e-4a26-a057-b0de2ab49ae1", + "genotype": {"choice": "any"}, + "included_in_sop": False, + "label": "whole genome", + "locus": "fa6b594e-98e3-4528-a308-b85bc5b58496", + "phenotypeprio": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "quality": "f275418c-da2f-466e-9fdf-e1685f53f26c", + "rank": 10, + "sodar_uuid": "c115bff5-eff5-4a26-824c-e83f7f8439ca", + "variantprio": "ba711a18-5e38-49ff-84a3-f94497668966", + }, + ], + "seqvarsquerypresetsclinvar_set": [ + { + "allow_conflicting_interpretations": False, + "clinvar_germline_aggregate_description": [], + "clinvar_presence_required": False, + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "disabled", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "e63ce18b-7eb3-4bc1-8c08-97ce1d0159fd", + }, + { + "allow_conflicting_interpretations": False, + "clinvar_germline_aggregate_description": ["pathogenic", "likely_pathogenic"], + "clinvar_presence_required": True, + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "Clinvar P/LP", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "sodar_uuid": "5c8ffa6e-f489-408b-ba83-f02ac7753887", + }, + { + "allow_conflicting_interpretations": True, + "clinvar_germline_aggregate_description": ["pathogenic", "likely_pathogenic"], + "clinvar_presence_required": True, + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "Clinvar P/LP +conflicting", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "sodar_uuid": "791aa55f-0a95-44a7-af1a-311eb715e9a1", + }, + { + "allow_conflicting_interpretations": True, + "clinvar_germline_aggregate_description": [ + "pathogenic", + "likely_pathogenic", + "uncertain_significance", + ], + "clinvar_presence_required": True, + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "ClinVar P/LP/VUS +conflicting", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 4, + "sodar_uuid": "c60e43ae-9a13-44ff-aa38-7a4ef7702500", + }, + ], + "seqvarsquerypresetscolumns_set": [ + { + "column_settings": [], + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "defaults", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "a51c6d2a-208d-47e3-9bad-d3cc1569f64b", + } + ], + "seqvarsquerypresetsconsequence_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "any", + "max_distance_to_exon": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "f362b708-c15c-41bf-a2f2-34308c072307", + "transcript_types": ["coding", "non_coding"], + "variant_consequences": [ + "frameshift_variant", + "rare_amino_acid_variant", + "splice_acceptor_variant", + "splice_donor_variant", + "start_lost", + "stop_gained", + "stop_lost", + "3_prime_UTR_truncation", + "5_prime_UTR_truncation", + "conservative_inframe_deletion", + "conservative_inframe_insertion", + "disruptive_inframe_deletion", + "disruptive_inframe_insertion", + "missense_variant", + "splice_region_variant", + "initiator_codon_variant", + "start_retained", + "stop_retained_variant", + "synonymous_variant", + "downstream_gene_variant", + "intron_variant", + "non_coding_transcript_exon_variant", + "non_coding_transcript_intron_variant", + "5_prime_UTR_variant", + "coding_sequence_variant", + "upstream_gene_variant", + "3_prime_UTR_variant-exon_variant", + "5_prime_UTR_variant-exon_variant", + "3_prime_UTR_variant-intron_variant", + "5_prime_UTR_variant-intron_variant", + ], + "variant_types": ["snv", "indel", "mnv", "complex_substitution"], + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "null variant", + "max_distance_to_exon": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "sodar_uuid": "0ec69d37-2d1a-49ea-a4d8-f3636f1f16f1", + "transcript_types": ["coding"], + "variant_consequences": [ + "frameshift_variant", + "rare_amino_acid_variant", + "splice_acceptor_variant", + "splice_donor_variant", + "start_lost", + "stop_gained", + "stop_lost", + ], + "variant_types": ["snv", "indel", "mnv", "complex_substitution"], + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "AA change + splicing", + "max_distance_to_exon": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "sodar_uuid": "1fe2a062-d1f9-4ffa-9b78-4c44d9d2f5ed", + "transcript_types": ["coding"], + "variant_consequences": [ + "frameshift_variant", + "rare_amino_acid_variant", + "splice_acceptor_variant", + "splice_donor_variant", + "start_lost", + "stop_gained", + "stop_lost", + "conservative_inframe_deletion", + "conservative_inframe_insertion", + "disruptive_inframe_deletion", + "disruptive_inframe_insertion", + "missense_variant", + "splice_region_variant", + ], + "variant_types": ["snv", "indel", "mnv", "complex_substitution"], + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "all coding + deep intronic", + "max_distance_to_exon": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 4, + "sodar_uuid": "291e1aa6-1882-4eed-a749-ac5860383fa0", + "transcript_types": ["coding", "non_coding"], + "variant_consequences": [ + "frameshift_variant", + "rare_amino_acid_variant", + "splice_acceptor_variant", + "splice_donor_variant", + "start_lost", + "stop_gained", + "stop_lost", + "conservative_inframe_deletion", + "conservative_inframe_insertion", + "disruptive_inframe_deletion", + "disruptive_inframe_insertion", + "missense_variant", + "splice_region_variant", + "initiator_codon_variant", + "start_retained", + "stop_retained_variant", + "synonymous_variant", + "intron_variant", + "coding_sequence_variant", + ], + "variant_types": ["snv", "indel", "mnv", "complex_substitution"], + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "whole transcript", + "max_distance_to_exon": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 5, + "sodar_uuid": "20f2c360-7ef8-4d5b-95a2-5c02832ea288", + "transcript_types": ["coding", "non_coding"], + "variant_consequences": [ + "frameshift_variant", + "rare_amino_acid_variant", + "splice_acceptor_variant", + "splice_donor_variant", + "start_lost", + "stop_gained", + "stop_lost", + "3_prime_UTR_truncation", + "5_prime_UTR_truncation", + "conservative_inframe_deletion", + "conservative_inframe_insertion", + "disruptive_inframe_deletion", + "disruptive_inframe_insertion", + "missense_variant", + "splice_region_variant", + "initiator_codon_variant", + "start_retained", + "stop_retained_variant", + "synonymous_variant", + "intron_variant", + "non_coding_transcript_exon_variant", + "non_coding_transcript_intron_variant", + "5_prime_UTR_variant", + "coding_sequence_variant", + "3_prime_UTR_variant-exon_variant", + "5_prime_UTR_variant-exon_variant", + "3_prime_UTR_variant-intron_variant", + "5_prime_UTR_variant-intron_variant", + ], + "variant_types": ["snv", "indel", "mnv", "complex_substitution"], + }, + ], + "seqvarsquerypresetsfrequency_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": True, + "gnomad_exomes_frequency": 0.002, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": 1, + "gnomad_exomes_homozygous": 0, + "gnomad_genomes_enabled": True, + "gnomad_genomes_frequency": 0.002, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": 1, + "gnomad_genomes_homozygous": 0, + "helixmtdb_enabled": False, + "helixmtdb_frequency": None, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": None, + "inhouse_carriers": 20, + "inhouse_enabled": True, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "dominant super strict", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "a6561be6-eecb-4547-a76b-b9c89599bc3d", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": True, + "gnomad_exomes_frequency": 0.002, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": 20, + "gnomad_exomes_homozygous": 0, + "gnomad_genomes_enabled": True, + "gnomad_genomes_frequency": 0.002, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": 4, + "gnomad_genomes_homozygous": 0, + "helixmtdb_enabled": False, + "helixmtdb_frequency": None, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": None, + "inhouse_carriers": 20, + "inhouse_enabled": True, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "dominant strict", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "sodar_uuid": "d8448135-1816-4a59-8fa0-448eade3702d", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": True, + "gnomad_exomes_frequency": 0.01, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": 50, + "gnomad_exomes_homozygous": 0, + "gnomad_genomes_enabled": True, + "gnomad_genomes_frequency": 0.01, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": 20, + "gnomad_genomes_homozygous": 0, + "helixmtdb_enabled": True, + "helixmtdb_frequency": 0.15, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": 400, + "inhouse_carriers": 20, + "inhouse_enabled": True, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "dominant relaxed", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "sodar_uuid": "a5ab4237-c971-4e97-b519-8c349f6c6415", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": True, + "gnomad_exomes_frequency": 0.001, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": 120, + "gnomad_exomes_homozygous": 0, + "gnomad_genomes_enabled": True, + "gnomad_genomes_frequency": 0.001, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": 15, + "gnomad_genomes_homozygous": 0, + "helixmtdb_enabled": True, + "helixmtdb_frequency": None, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": None, + "inhouse_carriers": 20, + "inhouse_enabled": True, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "recessive strict", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 4, + "sodar_uuid": "5486d496-54ce-4017-b930-7855e61f2da4", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": True, + "gnomad_exomes_frequency": 0.01, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": 1200, + "gnomad_exomes_homozygous": 20, + "gnomad_genomes_enabled": True, + "gnomad_genomes_frequency": 0.01, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": 150, + "gnomad_genomes_homozygous": 4, + "helixmtdb_enabled": True, + "helixmtdb_frequency": None, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": None, + "inhouse_carriers": 20, + "inhouse_enabled": True, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "recessive relaxed", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 5, + "sodar_uuid": "70547e0b-b37e-4754-aa03-203287656d8e", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gnomad_exomes_enabled": False, + "gnomad_exomes_frequency": None, + "gnomad_exomes_hemizygous": None, + "gnomad_exomes_heterozygous": None, + "gnomad_exomes_homozygous": None, + "gnomad_genomes_enabled": False, + "gnomad_genomes_frequency": None, + "gnomad_genomes_hemizygous": None, + "gnomad_genomes_heterozygous": None, + "gnomad_genomes_homozygous": None, + "helixmtdb_enabled": False, + "helixmtdb_frequency": None, + "helixmtdb_heteroplasmic": None, + "helixmtdb_homoplasmic": None, + "inhouse_carriers": None, + "inhouse_enabled": False, + "inhouse_hemizygous": None, + "inhouse_heterozygous": None, + "inhouse_homozygous": None, + "label": "any", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 6, + "sodar_uuid": "1484cf3f-d92e-4a26-a057-b0de2ab49ae1", + }, + ], + "seqvarsquerypresetslocus_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [], + "label": "whole genome", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "fa6b594e-98e3-4528-a308-b85bc5b58496", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [ + {"chromosome": "1", "range": None}, + {"chromosome": "2", "range": None}, + {"chromosome": "3", "range": None}, + {"chromosome": "4", "range": None}, + {"chromosome": "5", "range": None}, + {"chromosome": "6", "range": None}, + {"chromosome": "7", "range": None}, + {"chromosome": "8", "range": None}, + {"chromosome": "9", "range": None}, + {"chromosome": "10", "range": None}, + {"chromosome": "11", "range": None}, + {"chromosome": "12", "range": None}, + {"chromosome": "13", "range": None}, + {"chromosome": "14", "range": None}, + {"chromosome": "15", "range": None}, + {"chromosome": "16", "range": None}, + {"chromosome": "17", "range": None}, + {"chromosome": "18", "range": None}, + {"chromosome": "19", "range": None}, + {"chromosome": "20", "range": None}, + {"chromosome": "21", "range": None}, + {"chromosome": "22", "range": None}, + {"chromosome": "X", "range": None}, + {"chromosome": "Y", "range": None}, + ], + "label": "nuclear chromosomes", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "sodar_uuid": "2e8d0bb3-933d-4d81-859d-990181b584eb", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [ + {"chromosome": "1", "range": None}, + {"chromosome": "2", "range": None}, + {"chromosome": "3", "range": None}, + {"chromosome": "4", "range": None}, + {"chromosome": "5", "range": None}, + {"chromosome": "6", "range": None}, + {"chromosome": "7", "range": None}, + {"chromosome": "8", "range": None}, + {"chromosome": "9", "range": None}, + {"chromosome": "10", "range": None}, + {"chromosome": "11", "range": None}, + {"chromosome": "12", "range": None}, + {"chromosome": "13", "range": None}, + {"chromosome": "14", "range": None}, + {"chromosome": "15", "range": None}, + {"chromosome": "16", "range": None}, + {"chromosome": "17", "range": None}, + {"chromosome": "18", "range": None}, + {"chromosome": "19", "range": None}, + {"chromosome": "20", "range": None}, + {"chromosome": "21", "range": None}, + {"chromosome": "22", "range": None}, + ], + "label": "autosomes", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "sodar_uuid": "944ae60b-0c86-410e-9043-9bde607e2b46", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [ + {"chromosome": "X", "range": None}, + {"chromosome": "Y", "range": None}, + ], + "label": "gonosomes", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 4, + "sodar_uuid": "0fb87e07-f120-486b-afc6-499d0fab80c5", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [{"chromosome": "X", "range": None}], + "label": "X chromosome", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 5, + "sodar_uuid": "4678b59a-4bd1-40b4-aa6d-06f0d6cf23c0", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [{"chromosome": "Y", "range": None}], + "label": "Y chromosome", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 6, + "sodar_uuid": "9f9f243f-85b2-4ac3-93b9-3773e38544f3", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "gene_panels": [], + "genes": [], + "genome_regions": [{"chromosome": "MT", "range": None}], + "label": "MT genome", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 7, + "sodar_uuid": "d0469667-db0e-4e65-bcfc-bc361a60e033", + }, + ], + "seqvarsquerypresetsphenotypeprio_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "disabled", + "phenotype_prio_algorithm": "exomiser.hiphive_human", + "phenotype_prio_enabled": False, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "e05adc18-0cd3-4c52-91cd-827dc7e6c971", + "terms": [], + } + ], + "seqvarsquerypresetsquality_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "filter_active": True, + "label": "super strict", + "max_ad": None, + "min_ab_het": 0.3, + "min_ad": 3, + "min_dp_het": 10, + "min_dp_hom": 5, + "min_gq": 30, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "sodar_uuid": "18a61865-cafe-4acf-b2cc-dfa7abf10ac2", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "filter_active": True, + "label": "strict", + "max_ad": None, + "min_ab_het": 0.2, + "min_ad": 3, + "min_dp_het": 10, + "min_dp_hom": 5, + "min_gq": 10, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "sodar_uuid": "9be6a8ea-7f8e-44c2-994b-7a5674043590", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "filter_active": True, + "label": "relaxed", + "max_ad": None, + "min_ab_het": 0.1, + "min_ad": 2, + "min_dp_het": 8, + "min_dp_hom": 4, + "min_gq": 10, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "sodar_uuid": "939d61dc-6eb1-48e2-839a-a6b004e77af5", + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "filter_active": False, + "label": "any", + "max_ad": None, + "min_ab_het": None, + "min_ad": None, + "min_dp_het": None, + "min_dp_hom": None, + "min_gq": None, + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 4, + "sodar_uuid": "f275418c-da2f-466e-9fdf-e1685f53f26c", + }, + ], + "seqvarsquerypresetsvariantprio_set": [ + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "disabled", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 1, + "services": [], + "sodar_uuid": "ba711a18-5e38-49ff-84a3-f94497668966", + "variant_prio_enabled": False, + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "CADD", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 2, + "services": [{"name": "cadd", "version": "1.6"}], + "sodar_uuid": "120287d6-9abf-49b8-ac00-72c72f9e383b", + "variant_prio_enabled": False, + }, + { + "date_created": "2024-07-01T00:00:00Z", + "date_modified": "2024-07-01T00:00:00Z", + "description": None, + "label": "MutationTaster", + "presetssetversion": "5eb04521-7668-4387-b59b-a79924d8cea5", + "rank": 3, + "services": [{"name": "mutationtaster", "version": "2021"}], + "sodar_uuid": "a9a3d623-8d4d-44f9-be4c-06d4f81bd0ee", + "variant_prio_enabled": False, + }, + ], + "signed_off_by": None, + "sodar_uuid": "5eb04521-7668-4387-b59b-a79924d8cea5", + "status": "active", + "version_major": 1, + "version_minor": 0, + } + ], +} diff --git a/backend/seqvars/tests/test_factory_defaults.py b/backend/seqvars/tests/test_factory_defaults.py index d195fb094..76421cf3e 100644 --- a/backend/seqvars/tests/test_factory_defaults.py +++ b/backend/seqvars/tests/test_factory_defaults.py @@ -8,11 +8,11 @@ from test_plus import TestCase from seqvars.factory_defaults import ( - create_presetsset_short_read_exome_legacy, - create_presetsset_short_read_exome_modern, - create_presetsset_short_read_genome, + create_seqvarspresetsset_short_read_exome_legacy, + create_seqvarspresetsset_short_read_exome_modern, + create_seqvarspresetsset_short_read_genome, ) -from seqvars.serializers import QueryPresetsSetDetailsSerializer +from seqvars.serializers import SeqvarsQueryPresetsSetDetailsSerializer def canonicalize_dicts(arg: dict) -> dict: @@ -32,16 +32,16 @@ def canonicalize_dicts(arg: dict) -> dict: class CreatePresetsSetTest(TestCaseSnapshot, TestCase): def test_create_presetsset_short_read_exome_legacy(self): - presetsset = create_presetsset_short_read_exome_legacy() - result = QueryPresetsSetDetailsSerializer(presetsset).data + presetsset = create_seqvarspresetsset_short_read_exome_legacy() + result = SeqvarsQueryPresetsSetDetailsSerializer(presetsset).data self.assertMatchSnapshot(canonicalize_dicts(result)) def test_create_presetsset_short_read_exome_modern(self): - presetsset = create_presetsset_short_read_exome_modern() - result = QueryPresetsSetDetailsSerializer(presetsset).data + presetsset = create_seqvarspresetsset_short_read_exome_modern() + result = SeqvarsQueryPresetsSetDetailsSerializer(presetsset).data self.assertMatchSnapshot(canonicalize_dicts(result)) def test_create_presetsset_short_read_genome(self): - presetsset = create_presetsset_short_read_genome() - result = QueryPresetsSetDetailsSerializer(presetsset).data + presetsset = create_seqvarspresetsset_short_read_genome() + result = SeqvarsQueryPresetsSetDetailsSerializer(presetsset).data self.assertMatchSnapshot(canonicalize_dicts(result)) diff --git a/backend/seqvars/tests/test_models.py b/backend/seqvars/tests/test_models.py index a905ea992..63d4bc349 100644 --- a/backend/seqvars/tests/test_models.py +++ b/backend/seqvars/tests/test_models.py @@ -3,66 +3,66 @@ from freezegun import freeze_time from test_plus.test import TestCase -from seqvars.factory_defaults import create_presetsset_short_read_genome +from seqvars.factory_defaults import create_seqvarspresetsset_short_read_genome from seqvars.models import ( - GenotypeChoice, - PredefinedQuery, - Query, - QueryColumnsConfig, - QueryExecution, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - QuerySettings, - QuerySettingsClinvar, - QuerySettingsConsequence, - QuerySettingsFrequency, - QuerySettingsGenotype, - QuerySettingsLocus, - QuerySettingsPhenotypePrio, - QuerySettingsQuality, - QuerySettingsVariantPrio, - ResultRow, - ResultSet, + SeqvarsGenotypeChoice, + SeqvarsPredefinedQuery, + SeqvarsQuery, + SeqvarsQueryColumnsConfig, + SeqvarsQueryExecution, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsQuerySettings, + SeqvarsQuerySettingsClinvar, + SeqvarsQuerySettingsConsequence, + SeqvarsQuerySettingsFrequency, + SeqvarsQuerySettingsGenotype, + SeqvarsQuerySettingsLocus, + SeqvarsQuerySettingsPhenotypePrio, + SeqvarsQuerySettingsQuality, + SeqvarsQuerySettingsVariantPrio, + SeqvarsResultRow, + SeqvarsResultSet, ) from seqvars.tests.factories import ( - PredefinedQueryFactory, - QueryColumnsConfigFactory, - QueryExecutionFactory, - QueryFactory, - QueryPresetsClinvarFactory, - QueryPresetsColumnsFactory, - QueryPresetsConsequenceFactory, - QueryPresetsFrequencyFactory, - QueryPresetsLocusFactory, - QueryPresetsPhenotypePrioFactory, - QueryPresetsQualityFactory, - QueryPresetsSetFactory, - QueryPresetsSetVersionFactory, - QueryPresetsVariantPrioFactory, - QuerySettingsClinvarFactory, - QuerySettingsConsequenceFactory, - QuerySettingsFactory, - QuerySettingsFrequencyFactory, - QuerySettingsGenotypeFactory, - QuerySettingsLocusFactory, - QuerySettingsPhenotypePrioFactory, - QuerySettingsQualityFactory, - QuerySettingsVariantPrioFactory, - ResultRowFactory, - ResultSetFactory, SampleGenotypeChoiceFactory, + SeqvarsPredefinedQueryFactory, + SeqvarsQueryColumnsConfigFactory, + SeqvarsQueryExecutionFactory, + SeqvarsQueryFactory, + SeqvarsQueryPresetsClinvarFactory, + SeqvarsQueryPresetsColumnsFactory, + SeqvarsQueryPresetsConsequenceFactory, + SeqvarsQueryPresetsFrequencyFactory, + SeqvarsQueryPresetsLocusFactory, + SeqvarsQueryPresetsPhenotypePrioFactory, + SeqvarsQueryPresetsQualityFactory, + SeqvarsQueryPresetsSetFactory, + SeqvarsQueryPresetsSetVersionFactory, + SeqvarsQueryPresetsVariantPrioFactory, + SeqvarsQuerySettingsClinvarFactory, + SeqvarsQuerySettingsConsequenceFactory, + SeqvarsQuerySettingsFactory, + SeqvarsQuerySettingsFrequencyFactory, + SeqvarsQuerySettingsGenotypeFactory, + SeqvarsQuerySettingsLocusFactory, + SeqvarsQuerySettingsPhenotypePrioFactory, + SeqvarsQuerySettingsQualityFactory, + SeqvarsQuerySettingsVariantPrioFactory, + SeqvarsResultRowFactory, + SeqvarsResultSetFactory, ) -class TestCaseGenotypeChoice(TestCase): +class TestSeqvarsCaseGenotypeChoice(TestCase): def test_values(self): self.assertEqual( @@ -77,426 +77,426 @@ def test_values(self): "recessive_index", "recessive_parent", ], - GenotypeChoice.values(), + SeqvarsGenotypeChoice.values(), ) -class TestSampleGenotypeChoice(TestCase): +class TestSeqvarsSampleGenotypeChoice(TestCase): def test_values(self): SampleGenotypeChoiceFactory() -class TestQueryPresetsSet(TestCase): +class TestSeqvarsQueryPresetsSet(TestCase): def test_create(self): - self.assertEqual(QueryPresetsSet.objects.count(), 0) - QueryPresetsSetFactory() - self.assertEqual(QueryPresetsSet.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 0) + SeqvarsQueryPresetsSetFactory() + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 1) def test_str(self): - querypresetsset = QueryPresetsSetFactory() + querypresetsset = SeqvarsQueryPresetsSetFactory() self.assertEqual( - f"QueryPresetsSet '{querypresetsset.sodar_uuid}'", + f"SeqvarsQueryPresetsSet '{querypresetsset.sodar_uuid}'", querypresetsset.__str__(), ) def test_clone_from_db(self): - querypresetsset = QueryPresetsSetFactory() + querypresetsset = SeqvarsQueryPresetsSetFactory() querypresetsset.clone_with_latest_version() def test_clone_factory_default(self): - querypresetset = create_presetsset_short_read_genome() + querypresetset = create_seqvarspresetsset_short_read_genome() querypresetset.clone_with_latest_version() -class TestQueryPresetsSetVersion(TestCase): +class TestSeqvarsQueryPresetsSetVersion(TestCase): def test_create(self): - self.assertEqual(QueryPresetsSetVersion.objects.count(), 0) - QueryPresetsSetVersionFactory() - self.assertEqual(QueryPresetsSetVersion.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 0) + SeqvarsQueryPresetsSetVersionFactory() + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 1) def test_str(self): - querypresetssetversion = QueryPresetsSetVersionFactory() + querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory() self.assertEqual( - f"QueryPresetsSetVersion '{querypresetssetversion.sodar_uuid}'", + f"SeqvarsQueryPresetsSetVersion '{querypresetssetversion.sodar_uuid}'", querypresetssetversion.__str__(), ) -class TestQueryPresetsQuality(TestCase): +class TestSeqvarsQueryPresetsQuality(TestCase): def test_create(self): - self.assertEqual(QueryPresetsQuality.objects.count(), 0) - QueryPresetsQualityFactory() - self.assertEqual(QueryPresetsQuality.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 0) + SeqvarsQueryPresetsQualityFactory() + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 1) def test_str(self): - querypresetsquality = QueryPresetsQualityFactory() + querypresetsquality = SeqvarsQueryPresetsQualityFactory() self.assertEqual( - f"QueryPresetsQuality '{querypresetsquality.sodar_uuid}'", + f"SeqvarsQueryPresetsQuality '{querypresetsquality.sodar_uuid}'", querypresetsquality.__str__(), ) -class TestQueryPresetsFrequency(TestCase): +class TestSeqvarsQueryPresetsFrequency(TestCase): def test_create(self): - self.assertEqual(QueryPresetsFrequency.objects.count(), 0) - QueryPresetsFrequencyFactory() - self.assertEqual(QueryPresetsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 0) + SeqvarsQueryPresetsFrequencyFactory() + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 1) def test_str(self): - querypresetsfrequency = QueryPresetsFrequencyFactory() + querypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory() self.assertEqual( - f"QueryPresetsFrequency '{querypresetsfrequency.sodar_uuid}'", + f"SeqvarsQueryPresetsFrequency '{querypresetsfrequency.sodar_uuid}'", querypresetsfrequency.__str__(), ) -class TestQueryPresetsConsequence(TestCase): +class TestSeqvarsQueryPresetsConsequence(TestCase): def test_create(self): - self.assertEqual(QueryPresetsConsequence.objects.count(), 0) - QueryPresetsConsequenceFactory() - self.assertEqual(QueryPresetsConsequence.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 0) + SeqvarsQueryPresetsConsequenceFactory() + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 1) def test_str(self): - querypresetsconsequence = QueryPresetsConsequenceFactory() + querypresetsconsequence = SeqvarsQueryPresetsConsequenceFactory() self.assertEqual( - f"QueryPresetsConsequence '{querypresetsconsequence.sodar_uuid}'", + f"SeqvarsQueryPresetsConsequence '{querypresetsconsequence.sodar_uuid}'", querypresetsconsequence.__str__(), ) -class TestQueryPresetsLocus(TestCase): +class TestSeqvarsQueryPresetsLocus(TestCase): def test_create(self): - self.assertEqual(QueryPresetsLocus.objects.count(), 0) - QueryPresetsLocusFactory() - self.assertEqual(QueryPresetsLocus.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 0) + SeqvarsQueryPresetsLocusFactory() + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 1) def test_str(self): - querypresetslocus = QueryPresetsLocusFactory() + querypresetslocus = SeqvarsQueryPresetsLocusFactory() self.assertEqual( - f"QueryPresetsLocus '{querypresetslocus.sodar_uuid}'", + f"SeqvarsQueryPresetsLocus '{querypresetslocus.sodar_uuid}'", querypresetslocus.__str__(), ) -class TestQueryPresetsPhenotypePrio(TestCase): +class TestSeqvarsQueryPresetsPhenotypePrio(TestCase): def test_create(self): - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 0) - QueryPresetsPhenotypePrioFactory() - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 0) + SeqvarsQueryPresetsPhenotypePrioFactory() + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 1) def test_str(self): - querypresetsphenotypeprio = QueryPresetsPhenotypePrioFactory() + querypresetsphenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory() self.assertEqual( - f"QueryPresetsPhenotypePrio '{querypresetsphenotypeprio.sodar_uuid}'", + f"SeqvarsQueryPresetsPhenotypePrio '{querypresetsphenotypeprio.sodar_uuid}'", querypresetsphenotypeprio.__str__(), ) -class TestQueryPresetsVariantPrio(TestCase): +class TestSeqvarsQueryPresetsVariantPrio(TestCase): def test_create(self): - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 0) - QueryPresetsVariantPrioFactory() - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 0) + SeqvarsQueryPresetsVariantPrioFactory() + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 1) def test_str(self): - querypresetsvariantprio = QueryPresetsVariantPrioFactory() + querypresetsvariantprio = SeqvarsQueryPresetsVariantPrioFactory() self.assertEqual( - f"QueryPresetsVariantPrio '{querypresetsvariantprio.sodar_uuid}'", + f"SeqvarsQueryPresetsVariantPrio '{querypresetsvariantprio.sodar_uuid}'", querypresetsvariantprio.__str__(), ) -class TestQueryPresetsClinvar(TestCase): +class TestSeqvarsQueryPresetsClinvar(TestCase): def test_create(self): - self.assertEqual(QueryPresetsClinvar.objects.count(), 0) - QueryPresetsClinvarFactory() - self.assertEqual(QueryPresetsClinvar.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 0) + SeqvarsQueryPresetsClinvarFactory() + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 1) def test_str(self): - querypresetsclinvar = QueryPresetsClinvarFactory() + querypresetsclinvar = SeqvarsQueryPresetsClinvarFactory() self.assertEqual( - f"QueryPresetsClinvar '{querypresetsclinvar.sodar_uuid}'", + f"SeqvarsQueryPresetsClinvar '{querypresetsclinvar.sodar_uuid}'", querypresetsclinvar.__str__(), ) -class TestQueryPresetsColumns(TestCase): +class TestSeqvarsQueryPresetsColumns(TestCase): def test_create(self): - self.assertEqual(QueryPresetsColumns.objects.count(), 0) - QueryPresetsColumnsFactory() - self.assertEqual(QueryPresetsColumns.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 0) + SeqvarsQueryPresetsColumnsFactory() + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 1) def test_str(self): - querypresetscolumns = QueryPresetsColumnsFactory() + querypresetscolumns = SeqvarsQueryPresetsColumnsFactory() self.assertEqual( - f"QueryPresetsColumns '{querypresetscolumns.sodar_uuid}'", + f"SeqvarsQueryPresetsColumns '{querypresetscolumns.sodar_uuid}'", querypresetscolumns.__str__(), ) -class TestQuerySettings(TestCase): +class TestSeqvarsQuerySettings(TestCase): def test_create(self): - self.assertEqual(QuerySettings.objects.count(), 0) - self.assertEqual(QuerySettingsFrequency.objects.count(), 0) - QuerySettingsFactory() - self.assertEqual(QuerySettings.objects.count(), 1) - self.assertEqual(QuerySettingsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 0) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 0) + SeqvarsQuerySettingsFactory() + self.assertEqual(SeqvarsQuerySettings.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 1) def test_str(self): - querysettings = QuerySettingsFactory() + querysettings = SeqvarsQuerySettingsFactory() self.assertEqual( - f"QuerySettings '{querysettings.sodar_uuid}'", + f"SeqvarsQuerySettings '{querysettings.sodar_uuid}'", querysettings.__str__(), ) -class TestQuerySettingsGenotype(TestCase): +class TestSeqvarsQuerySettingsGenotype(TestCase): def test_create(self): - self.assertEqual(QuerySettingsGenotype.objects.count(), 0) - QuerySettingsGenotypeFactory() - self.assertEqual(QuerySettingsGenotype.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsGenotype.objects.count(), 0) + SeqvarsQuerySettingsGenotypeFactory() + self.assertEqual(SeqvarsQuerySettingsGenotype.objects.count(), 1) def test_str(self): - genotype = QuerySettingsGenotypeFactory() + genotype = SeqvarsQuerySettingsGenotypeFactory() self.assertEqual( - f"QuerySettingsGenotype '{genotype.sodar_uuid}'", + f"SeqvarsQuerySettingsGenotype '{genotype.sodar_uuid}'", genotype.__str__(), ) -class TestQuerySettingsQuality(TestCase): +class TestSeqvarsQuerySettingsQuality(TestCase): def test_create(self): - self.assertEqual(QuerySettingsQuality.objects.count(), 0) - QuerySettingsQualityFactory() - self.assertEqual(QuerySettingsQuality.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsQuality.objects.count(), 0) + SeqvarsQuerySettingsQualityFactory() + self.assertEqual(SeqvarsQuerySettingsQuality.objects.count(), 1) def test_str(self): - quality = QuerySettingsQualityFactory() + quality = SeqvarsQuerySettingsQualityFactory() self.assertEqual( - f"QuerySettingsQuality '{quality.sodar_uuid}'", + f"SeqvarsQuerySettingsQuality '{quality.sodar_uuid}'", quality.__str__(), ) -class TestQuerySettingsFrequency(TestCase): +class TestSeqvarsQuerySettingsFrequency(TestCase): def test_create(self): - self.assertEqual(QuerySettingsFrequency.objects.count(), 0) - QuerySettingsFrequencyFactory() - self.assertEqual(QuerySettingsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 0) + SeqvarsQuerySettingsFrequencyFactory() + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 1) def test_str(self): - frequency = QuerySettingsFrequencyFactory() + frequency = SeqvarsQuerySettingsFrequencyFactory() self.assertEqual( - f"QuerySettingsFrequency '{frequency.sodar_uuid}'", + f"SeqvarsQuerySettingsFrequency '{frequency.sodar_uuid}'", frequency.__str__(), ) -class TestQuerySettingsConsequence(TestCase): +class TestSeqvarsQuerySettingsConsequence(TestCase): def test_create(self): - self.assertEqual(QuerySettingsConsequence.objects.count(), 0) - QuerySettingsConsequenceFactory() - self.assertEqual(QuerySettingsConsequence.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsConsequence.objects.count(), 0) + SeqvarsQuerySettingsConsequenceFactory() + self.assertEqual(SeqvarsQuerySettingsConsequence.objects.count(), 1) def test_str(self): - consequence = QuerySettingsConsequenceFactory() + consequence = SeqvarsQuerySettingsConsequenceFactory() self.assertEqual( - f"QuerySettingsConsequence '{consequence.sodar_uuid}'", + f"SeqvarsQuerySettingsConsequence '{consequence.sodar_uuid}'", consequence.__str__(), ) -class TestQuerySettingsLocus(TestCase): +class TestSeqvarsQuerySettingsLocus(TestCase): def test_create(self): - self.assertEqual(QuerySettingsLocus.objects.count(), 0) - QuerySettingsLocusFactory() - self.assertEqual(QuerySettingsLocus.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsLocus.objects.count(), 0) + SeqvarsQuerySettingsLocusFactory() + self.assertEqual(SeqvarsQuerySettingsLocus.objects.count(), 1) def test_str(self): - locus = QuerySettingsLocusFactory() + locus = SeqvarsQuerySettingsLocusFactory() self.assertEqual( - f"QuerySettingsLocus '{locus.sodar_uuid}'", + f"SeqvarsQuerySettingsLocus '{locus.sodar_uuid}'", locus.__str__(), ) -class TestQuerySettingsPhenotypePrio(TestCase): +class TestSeqvarsQuerySettingsPhenotypePrio(TestCase): def test_create(self): - self.assertEqual(QuerySettingsPhenotypePrio.objects.count(), 0) - QuerySettingsPhenotypePrioFactory() - self.assertEqual(QuerySettingsPhenotypePrio.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsPhenotypePrio.objects.count(), 0) + SeqvarsQuerySettingsPhenotypePrioFactory() + self.assertEqual(SeqvarsQuerySettingsPhenotypePrio.objects.count(), 1) def test_str(self): - phenotypeprio = QuerySettingsPhenotypePrioFactory() + phenotypeprio = SeqvarsQuerySettingsPhenotypePrioFactory() self.assertEqual( - f"QuerySettingsPhenotypePrio '{phenotypeprio.sodar_uuid}'", + f"SeqvarsQuerySettingsPhenotypePrio '{phenotypeprio.sodar_uuid}'", phenotypeprio.__str__(), ) -class TestQuerySettingsVariantPrio(TestCase): +class TestSeqvarsQuerySettingsVariantPrio(TestCase): def test_create(self): - self.assertEqual(QuerySettingsVariantPrio.objects.count(), 0) - QuerySettingsVariantPrioFactory() - self.assertEqual(QuerySettingsVariantPrio.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsVariantPrio.objects.count(), 0) + SeqvarsQuerySettingsVariantPrioFactory() + self.assertEqual(SeqvarsQuerySettingsVariantPrio.objects.count(), 1) def test_str(self): - variantprio = QuerySettingsVariantPrioFactory() + variantprio = SeqvarsQuerySettingsVariantPrioFactory() self.assertEqual( - f"QuerySettingsVariantPrio '{variantprio.sodar_uuid}'", + f"SeqvarsQuerySettingsVariantPrio '{variantprio.sodar_uuid}'", variantprio.__str__(), ) -class TestQuerySettingsClinvar(TestCase): +class TestSeqvarsQuerySettingsClinvar(TestCase): def test_create(self): - self.assertEqual(QuerySettingsClinvar.objects.count(), 0) - QuerySettingsClinvarFactory() - self.assertEqual(QuerySettingsClinvar.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsClinvar.objects.count(), 0) + SeqvarsQuerySettingsClinvarFactory() + self.assertEqual(SeqvarsQuerySettingsClinvar.objects.count(), 1) def test_str(self): - clinvar = QuerySettingsClinvarFactory() + clinvar = SeqvarsQuerySettingsClinvarFactory() self.assertEqual( - f"QuerySettingsClinvar '{clinvar.sodar_uuid}'", + f"SeqvarsQuerySettingsClinvar '{clinvar.sodar_uuid}'", clinvar.__str__(), ) -class TestPredefinedQuery(TestCase): +class TestSeqvarsPredefinedQuery(TestCase): def test_create(self): - self.assertEqual(PredefinedQuery.objects.count(), 0) - PredefinedQueryFactory() - self.assertEqual(PredefinedQuery.objects.count(), 1) + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 0) + SeqvarsPredefinedQueryFactory() + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 1) def test_str(self): - clinvar = PredefinedQueryFactory() + clinvar = SeqvarsPredefinedQueryFactory() self.assertEqual( - f"PredefinedQuery '{clinvar.sodar_uuid}'", + f"SeqvarsPredefinedQuery '{clinvar.sodar_uuid}'", clinvar.__str__(), ) -class TestQuery(TestCase): +class TestSeqvarsQuery(TestCase): def test_create(self): - self.assertEqual(Query.objects.count(), 0) - QueryFactory() - self.assertEqual(Query.objects.count(), 1) + self.assertEqual(SeqvarsQuery.objects.count(), 0) + SeqvarsQueryFactory() + self.assertEqual(SeqvarsQuery.objects.count(), 1) def test_property_case(self): - query = QueryFactory() + query = SeqvarsQueryFactory() self.assertEqual( query.session.caseanalysis.case.pk, query.case.pk, ) def test_str(self): - query = QueryFactory() + query = SeqvarsQueryFactory() self.assertEqual( - f"Query '{query.sodar_uuid}'", + f"SeqvarsQuery '{query.sodar_uuid}'", query.__str__(), ) -class TestQueryColumnsConfig(TestCase): +class TestSeqvarsQueryColumnsConfig(TestCase): def test_create(self): - self.assertEqual(QueryColumnsConfig.objects.count(), 0) - QueryColumnsConfigFactory() - self.assertEqual(QueryColumnsConfig.objects.count(), 1) + self.assertEqual(SeqvarsQueryColumnsConfig.objects.count(), 0) + SeqvarsQueryColumnsConfigFactory() + self.assertEqual(SeqvarsQueryColumnsConfig.objects.count(), 1) def test_str(self): - columnsconfig = QueryColumnsConfigFactory() + columnsconfig = SeqvarsQueryColumnsConfigFactory() self.assertEqual( - f"QueryColumnsConfig '{columnsconfig.sodar_uuid}'", + f"SeqvarsQueryColumnsConfig '{columnsconfig.sodar_uuid}'", columnsconfig.__str__(), ) -class TestQueryExecution(TestCase): +class TestSeqvarsQueryExecution(TestCase): def test_create(self): - self.assertEqual(QueryExecution.objects.count(), 0) - QueryExecutionFactory() - self.assertEqual(QueryExecution.objects.count(), 1) + self.assertEqual(SeqvarsQueryExecution.objects.count(), 0) + SeqvarsQueryExecutionFactory() + self.assertEqual(SeqvarsQueryExecution.objects.count(), 1) def test_property_case(self): - queryexecution = QueryExecutionFactory() + queryexecution = SeqvarsQueryExecutionFactory() self.assertEqual( queryexecution.query.session.caseanalysis.case.pk, queryexecution.case.pk, ) def test_str(self): - queryexecution = QueryExecutionFactory() + queryexecution = SeqvarsQueryExecutionFactory() self.assertEqual( - f"QueryExecution '{queryexecution.sodar_uuid}'", + f"SeqvarsQueryExecution '{queryexecution.sodar_uuid}'", queryexecution.__str__(), ) -class TestResultSet(TestCase): +class TestSeqvarsResultSet(TestCase): def test_create(self): - self.assertEqual(ResultSet.objects.count(), 0) - ResultSetFactory() - self.assertEqual(ResultSet.objects.count(), 1) + self.assertEqual(SeqvarsResultSet.objects.count(), 0) + SeqvarsResultSetFactory() + self.assertEqual(SeqvarsResultSet.objects.count(), 1) def test_property_case(self): - resultset = ResultSetFactory() + resultset = SeqvarsResultSetFactory() self.assertEqual( resultset.queryexecution.query.session.caseanalysis.case.pk, resultset.case.pk, ) def test_get_absolute_url(self): - resultset = ResultSetFactory() + resultset = SeqvarsResultSetFactory() self.assertEqual( (f"/seqvars/api/resultset/{resultset.case.sodar_uuid}/" f"{resultset.sodar_uuid}/"), resultset.get_absolute_url(), ) def test_str(self): - resultset = ResultSetFactory() + resultset = SeqvarsResultSetFactory() self.assertEqual( - f"ResultSet '{resultset.sodar_uuid}'", + f"SeqvarsResultSet '{resultset.sodar_uuid}'", resultset.__str__(), ) -class TestResultRow(TestCase): +class TestSeqvarsResultRow(TestCase): def test_create(self): - self.assertEqual(ResultRow.objects.count(), 0) - ResultRowFactory() - self.assertEqual(ResultRow.objects.count(), 1) + self.assertEqual(SeqvarsResultRow.objects.count(), 0) + SeqvarsResultRowFactory() + self.assertEqual(SeqvarsResultRow.objects.count(), 1) def test_str(self): - seqvarresultrow = ResultRowFactory() + seqvarresultrow = SeqvarsResultRowFactory() self.assertEqual( ( - f"ResultRow '{seqvarresultrow.sodar_uuid}' '{seqvarresultrow.release}-" + f"SeqvarsResultRow '{seqvarresultrow.sodar_uuid}' '{seqvarresultrow.release}-" f"{seqvarresultrow.chromosome}-{seqvarresultrow.start}-" f"{seqvarresultrow.reference}-{seqvarresultrow.alternative}'" ), diff --git a/backend/seqvars/tests/test_permissions_api.py b/backend/seqvars/tests/test_permissions_api.py index e236d87e9..4b4e7f814 100644 --- a/backend/seqvars/tests/test_permissions_api.py +++ b/backend/seqvars/tests/test_permissions_api.py @@ -3,57 +3,57 @@ from cases_analysis.tests.factories import CaseAnalysisFactory, CaseAnalysisSessionFactory from seqvars.models import ( - PredefinedQuery, - Query, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - QuerySettings, + SeqvarsPredefinedQuery, + SeqvarsQuery, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsQuerySettings, ) from seqvars.serializers import ( - QueryColumnsConfigSerializer, - QuerySettingsClinvarSerializer, - QuerySettingsConsequenceSerializer, - QuerySettingsFrequencySerializer, - QuerySettingsGenotypeSerializer, - QuerySettingsLocusSerializer, - QuerySettingsPhenotypePrioSerializer, - QuerySettingsQualitySerializer, - QuerySettingsVariantPrioSerializer, + SeqvarsQueryColumnsConfigSerializer, + SeqvarsQuerySettingsClinvarSerializer, + SeqvarsQuerySettingsConsequenceSerializer, + SeqvarsQuerySettingsFrequencySerializer, + SeqvarsQuerySettingsGenotypeSerializer, + SeqvarsQuerySettingsLocusSerializer, + SeqvarsQuerySettingsPhenotypePrioSerializer, + SeqvarsQuerySettingsQualitySerializer, + SeqvarsQuerySettingsVariantPrioSerializer, ) from seqvars.tests.factories import ( - PredefinedQueryFactory, - QueryColumnsConfigFactory, - QueryExecutionFactory, - QueryFactory, - QueryPresetsClinvarFactory, - QueryPresetsColumnsFactory, - QueryPresetsConsequenceFactory, - QueryPresetsFrequencyFactory, - QueryPresetsLocusFactory, - QueryPresetsPhenotypePrioFactory, - QueryPresetsQualityFactory, - QueryPresetsSetFactory, - QueryPresetsSetVersionFactory, - QueryPresetsVariantPrioFactory, - QuerySettingsClinvarFactory, - QuerySettingsConsequenceFactory, - QuerySettingsFactory, - QuerySettingsFrequencyFactory, - QuerySettingsGenotypeFactory, - QuerySettingsLocusFactory, - QuerySettingsPhenotypePrioFactory, - QuerySettingsQualityFactory, - QuerySettingsVariantPrioFactory, - ResultRowFactory, - ResultSetFactory, + SeqvarsPredefinedQueryFactory, + SeqvarsQueryColumnsConfigFactory, + SeqvarsQueryExecutionFactory, + SeqvarsQueryFactory, + SeqvarsQueryPresetsClinvarFactory, + SeqvarsQueryPresetsColumnsFactory, + SeqvarsQueryPresetsConsequenceFactory, + SeqvarsQueryPresetsFrequencyFactory, + SeqvarsQueryPresetsLocusFactory, + SeqvarsQueryPresetsPhenotypePrioFactory, + SeqvarsQueryPresetsQualityFactory, + SeqvarsQueryPresetsSetFactory, + SeqvarsQueryPresetsSetVersionFactory, + SeqvarsQueryPresetsVariantPrioFactory, + SeqvarsQuerySettingsClinvarFactory, + SeqvarsQuerySettingsConsequenceFactory, + SeqvarsQuerySettingsFactory, + SeqvarsQuerySettingsFrequencyFactory, + SeqvarsQuerySettingsGenotypeFactory, + SeqvarsQuerySettingsLocusFactory, + SeqvarsQuerySettingsPhenotypePrioFactory, + SeqvarsQuerySettingsQualityFactory, + SeqvarsQuerySettingsVariantPrioFactory, + SeqvarsResultRowFactory, + SeqvarsResultSetFactory, ) from variants.tests.factories import CaseFactory @@ -62,7 +62,7 @@ class TestQueryPresetsSetViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) def test_list(self): url = reverse( @@ -104,7 +104,7 @@ def test_create(self): querypresetsset_uuid = self.querypresetsset.sodar_uuid def cleanup(): - for obj in QueryPresetsSet.objects.exclude(sodar_uuid=querypresetsset_uuid): + for obj in SeqvarsQueryPresetsSet.objects.exclude(sodar_uuid=querypresetsset_uuid): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -190,8 +190,8 @@ def test_delete(self): querypresetsset_uuid = self.querypresetsset.sodar_uuid def cleanup(): - if not QueryPresetsSet.objects.filter(sodar_uuid=querypresetsset_uuid): - self.querypresetsset = QueryPresetsSetFactory( + if not SeqvarsQueryPresetsSet.objects.filter(sodar_uuid=querypresetsset_uuid): + self.querypresetsset = SeqvarsQueryPresetsSetFactory( sodar_uuid=querypresetsset_uuid, project=self.project, ) @@ -205,8 +205,10 @@ class TestQueryPresetsVersionSetViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) def test_list(self): url = reverse( @@ -247,7 +249,7 @@ def test_create(self): querypresetssetversion_uuid = self.querypresetssetversion.sodar_uuid def cleanup(): - for obj in QueryPresetsSetVersion.objects.exclude( + for obj in SeqvarsQueryPresetsSetVersion.objects.exclude( sodar_uuid=querypresetssetversion_uuid ): obj.delete() @@ -335,8 +337,10 @@ def test_delete(self): querypresetssetversion_uuid = self.querypresetssetversion.sodar_uuid def cleanup(): - if not QueryPresetsSetVersion.objects.filter(sodar_uuid=querypresetssetversion_uuid): - self.querypresetssetversion = QueryPresetsSetVersionFactory( + if not SeqvarsQueryPresetsSetVersion.objects.filter( + sodar_uuid=querypresetssetversion_uuid + ): + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( sodar_uuid=querypresetssetversion_uuid, presetsset=self.querypresetsset ) @@ -349,9 +353,11 @@ class TestQueryPresetsFrequencyViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsfrequency = QueryPresetsFrequencyFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory( presetssetversion=self.querypresetssetversion ) @@ -395,7 +401,9 @@ def test_create(self): querypresetsfrequency_uuid = self.querypresetsfrequency.sodar_uuid def cleanup(): - for obj in QueryPresetsFrequency.objects.exclude(sodar_uuid=querypresetsfrequency_uuid): + for obj in SeqvarsQueryPresetsFrequency.objects.exclude( + sodar_uuid=querypresetsfrequency_uuid + ): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -481,8 +489,10 @@ def test_delete(self): querypresetsfrequency_uuid = self.querypresetsfrequency.sodar_uuid def cleanup(): - if not QueryPresetsFrequency.objects.filter(sodar_uuid=querypresetsfrequency_uuid): - self.querypresetsfrequency = QueryPresetsFrequencyFactory( + if not SeqvarsQueryPresetsFrequency.objects.filter( + sodar_uuid=querypresetsfrequency_uuid + ): + self.querypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory( sodar_uuid=querypresetsfrequency_uuid, presetssetversion=self.querypresetssetversion, ) @@ -496,9 +506,11 @@ class TestQueryPresetsQualityViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsquality = QueryPresetsQualityFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsquality = SeqvarsQueryPresetsQualityFactory( presetssetversion=self.querypresetssetversion ) @@ -542,7 +554,9 @@ def test_create(self): querypresetsquality_uuid = self.querypresetsquality.sodar_uuid def cleanup(): - for obj in QueryPresetsQuality.objects.exclude(sodar_uuid=querypresetsquality_uuid): + for obj in SeqvarsQueryPresetsQuality.objects.exclude( + sodar_uuid=querypresetsquality_uuid + ): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -628,8 +642,8 @@ def test_delete(self): querypresetsquality_uuid = self.querypresetsquality.sodar_uuid def cleanup(): - if not QueryPresetsQuality.objects.filter(sodar_uuid=querypresetsquality_uuid): - self.querypresetsquality = QueryPresetsQualityFactory( + if not SeqvarsQueryPresetsQuality.objects.filter(sodar_uuid=querypresetsquality_uuid): + self.querypresetsquality = SeqvarsQueryPresetsQualityFactory( sodar_uuid=querypresetsquality_uuid, presetssetversion=self.querypresetssetversion, ) @@ -643,9 +657,11 @@ class TestQueryPresetsConsequenceViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsconsequence = QueryPresetsConsequenceFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsconsequence = SeqvarsQueryPresetsConsequenceFactory( presetssetversion=self.querypresetssetversion ) @@ -689,7 +705,7 @@ def test_create(self): querypresetsconsequence_uuid = self.querypresetsconsequence.sodar_uuid def cleanup(): - for obj in QueryPresetsConsequence.objects.exclude( + for obj in SeqvarsQueryPresetsConsequence.objects.exclude( sodar_uuid=querypresetsconsequence_uuid ): obj.delete() @@ -777,8 +793,10 @@ def test_delete(self): querypresetsconsequence_uuid = self.querypresetsconsequence.sodar_uuid def cleanup(): - if not QueryPresetsConsequence.objects.filter(sodar_uuid=querypresetsconsequence_uuid): - self.querypresetsconsequence = QueryPresetsConsequenceFactory( + if not SeqvarsQueryPresetsConsequence.objects.filter( + sodar_uuid=querypresetsconsequence_uuid + ): + self.querypresetsconsequence = SeqvarsQueryPresetsConsequenceFactory( sodar_uuid=querypresetsconsequence_uuid, presetssetversion=self.querypresetssetversion, ) @@ -792,9 +810,11 @@ class TestQueryPresetsLocusViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetslocus = QueryPresetsLocusFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetslocus = SeqvarsQueryPresetsLocusFactory( presetssetversion=self.querypresetssetversion ) @@ -838,7 +858,7 @@ def test_create(self): querypresetslocus_uuid = self.querypresetslocus.sodar_uuid def cleanup(): - for obj in QueryPresetsLocus.objects.exclude(sodar_uuid=querypresetslocus_uuid): + for obj in SeqvarsQueryPresetsLocus.objects.exclude(sodar_uuid=querypresetslocus_uuid): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -924,8 +944,8 @@ def test_delete(self): querypresetslocus_uuid = self.querypresetslocus.sodar_uuid def cleanup(): - if not QueryPresetsLocus.objects.filter(sodar_uuid=querypresetslocus_uuid): - self.querypresetslocus = QueryPresetsLocusFactory( + if not SeqvarsQueryPresetsLocus.objects.filter(sodar_uuid=querypresetslocus_uuid): + self.querypresetslocus = SeqvarsQueryPresetsLocusFactory( sodar_uuid=querypresetslocus_uuid, presetssetversion=self.querypresetssetversion, ) @@ -939,9 +959,11 @@ class TestQueryPresetsPhenotypePrioViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsphenotypeprio = QueryPresetsPhenotypePrioFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsphenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory( presetssetversion=self.querypresetssetversion ) @@ -985,7 +1007,7 @@ def test_create(self): querypresetsphenotypeprio_uuid = self.querypresetsphenotypeprio.sodar_uuid def cleanup(): - for obj in QueryPresetsPhenotypePrio.objects.exclude( + for obj in SeqvarsQueryPresetsPhenotypePrio.objects.exclude( sodar_uuid=querypresetsphenotypeprio_uuid ): obj.delete() @@ -1073,10 +1095,10 @@ def test_delete(self): querypresetsphenotypeprio_uuid = self.querypresetsphenotypeprio.sodar_uuid def cleanup(): - if not QueryPresetsPhenotypePrio.objects.filter( + if not SeqvarsQueryPresetsPhenotypePrio.objects.filter( sodar_uuid=querypresetsphenotypeprio_uuid ): - self.querypresetsphenotypeprio = QueryPresetsPhenotypePrioFactory( + self.querypresetsphenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory( sodar_uuid=querypresetsphenotypeprio_uuid, presetssetversion=self.querypresetssetversion, ) @@ -1090,9 +1112,11 @@ class TestQueryPresetsVariantPrioViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsvariantprio = QueryPresetsVariantPrioFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsvariantprio = SeqvarsQueryPresetsVariantPrioFactory( presetssetversion=self.querypresetssetversion ) @@ -1136,7 +1160,7 @@ def test_create(self): querypresetsvariantprio_uuid = self.querypresetsvariantprio.sodar_uuid def cleanup(): - for obj in QueryPresetsVariantPrio.objects.exclude( + for obj in SeqvarsQueryPresetsVariantPrio.objects.exclude( sodar_uuid=querypresetsvariantprio_uuid ): obj.delete() @@ -1224,8 +1248,10 @@ def test_delete(self): querypresetsvariantprio_uuid = self.querypresetsvariantprio.sodar_uuid def cleanup(): - if not QueryPresetsVariantPrio.objects.filter(sodar_uuid=querypresetsvariantprio_uuid): - self.querypresetsvariantprio = QueryPresetsVariantPrioFactory( + if not SeqvarsQueryPresetsVariantPrio.objects.filter( + sodar_uuid=querypresetsvariantprio_uuid + ): + self.querypresetsvariantprio = SeqvarsQueryPresetsVariantPrioFactory( sodar_uuid=querypresetsvariantprio_uuid, presetssetversion=self.querypresetssetversion, ) @@ -1239,9 +1265,11 @@ class TestQueryPresetsColumnsViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetscolumns = QueryPresetsColumnsFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetscolumns = SeqvarsQueryPresetsColumnsFactory( presetssetversion=self.querypresetssetversion ) @@ -1285,7 +1313,9 @@ def test_create(self): querypresetscolumns_uuid = self.querypresetscolumns.sodar_uuid def cleanup(): - for obj in QueryPresetsColumns.objects.exclude(sodar_uuid=querypresetscolumns_uuid): + for obj in SeqvarsQueryPresetsColumns.objects.exclude( + sodar_uuid=querypresetscolumns_uuid + ): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -1371,8 +1401,8 @@ def test_delete(self): querypresetscolumns_uuid = self.querypresetscolumns.sodar_uuid def cleanup(): - if not QueryPresetsColumns.objects.filter(sodar_uuid=querypresetscolumns_uuid): - self.querypresetscolumns = QueryPresetsColumnsFactory( + if not SeqvarsQueryPresetsColumns.objects.filter(sodar_uuid=querypresetscolumns_uuid): + self.querypresetscolumns = SeqvarsQueryPresetsColumnsFactory( sodar_uuid=querypresetscolumns_uuid, presetssetversion=self.querypresetssetversion, ) @@ -1386,9 +1416,11 @@ class TestQueryPresetsClinvarViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsclinvar = QueryPresetsClinvarFactory( + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.querypresetsclinvar = SeqvarsQueryPresetsClinvarFactory( presetssetversion=self.querypresetssetversion ) @@ -1432,7 +1464,9 @@ def test_create(self): querypresetsclinvar_uuid = self.querypresetsclinvar.sodar_uuid def cleanup(): - for obj in QueryPresetsClinvar.objects.exclude(sodar_uuid=querypresetsclinvar_uuid): + for obj in SeqvarsQueryPresetsClinvar.objects.exclude( + sodar_uuid=querypresetsclinvar_uuid + ): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -1518,8 +1552,8 @@ def test_delete(self): querypresetsclinvar_uuid = self.querypresetsclinvar.sodar_uuid def cleanup(): - if not QueryPresetsClinvar.objects.filter(sodar_uuid=querypresetsclinvar_uuid): - self.querypresetsclinvar = QueryPresetsClinvarFactory( + if not SeqvarsQueryPresetsClinvar.objects.filter(sodar_uuid=querypresetsclinvar_uuid): + self.querypresetsclinvar = SeqvarsQueryPresetsClinvarFactory( sodar_uuid=querypresetsclinvar_uuid, presetssetversion=self.querypresetssetversion, ) @@ -1533,9 +1567,13 @@ class TestPredefinedQueryViewSet(TestProjectAPIPermissionBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.predefinedquery = PredefinedQueryFactory(presetssetversion=self.querypresetssetversion) + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) + self.predefinedquery = SeqvarsPredefinedQueryFactory( + presetssetversion=self.querypresetssetversion + ) def test_list(self): url = reverse( @@ -1577,7 +1615,7 @@ def test_create(self): predefinedquery_uuid = self.predefinedquery.sodar_uuid def cleanup(): - for obj in PredefinedQuery.objects.exclude(sodar_uuid=predefinedquery_uuid): + for obj in SeqvarsPredefinedQuery.objects.exclude(sodar_uuid=predefinedquery_uuid): obj.delete() self.assert_response(url, good_users, 201, method="POST", data=data, cleanup_method=cleanup) @@ -1663,8 +1701,8 @@ def test_delete(self): predefinedquery_uuid = self.predefinedquery.sodar_uuid def cleanup(): - if not PredefinedQuery.objects.filter(sodar_uuid=predefinedquery_uuid): - self.predefinedquery = PredefinedQueryFactory( + if not SeqvarsPredefinedQuery.objects.filter(sodar_uuid=predefinedquery_uuid): + self.predefinedquery = SeqvarsPredefinedQueryFactory( sodar_uuid=predefinedquery_uuid, presetssetversion=self.querypresetssetversion, ) @@ -1681,7 +1719,7 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.querysettings = QuerySettingsFactory(session=self.session) + self.querysettings = SeqvarsQuerySettingsFactory(session=self.session) def test_list(self): url = reverse( @@ -1720,36 +1758,36 @@ def test_create(self): bad_users_403 = [self.user_no_roles, self.user_guest, self.user_finder_cat] data = { - "genotype": QuerySettingsGenotypeSerializer( - QuerySettingsGenotypeFactory.build(querysettings=None) + "genotype": SeqvarsQuerySettingsGenotypeSerializer( + SeqvarsQuerySettingsGenotypeFactory.build(querysettings=None) ).data, - "quality": QuerySettingsQualitySerializer( - QuerySettingsQualityFactory.build(querysettings=None) + "quality": SeqvarsQuerySettingsQualitySerializer( + SeqvarsQuerySettingsQualityFactory.build(querysettings=None) ).data, - "consequence": QuerySettingsConsequenceSerializer( - QuerySettingsConsequenceFactory.build(querysettings=None) + "consequence": SeqvarsQuerySettingsConsequenceSerializer( + SeqvarsQuerySettingsConsequenceFactory.build(querysettings=None) ).data, - "locus": QuerySettingsLocusSerializer( - QuerySettingsLocusFactory.build(querysettings=None) + "locus": SeqvarsQuerySettingsLocusSerializer( + SeqvarsQuerySettingsLocusFactory.build(querysettings=None) ).data, - "frequency": QuerySettingsFrequencySerializer( - QuerySettingsFrequencyFactory.build(querysettings=None) + "frequency": SeqvarsQuerySettingsFrequencySerializer( + SeqvarsQuerySettingsFrequencyFactory.build(querysettings=None) ).data, - "phenotypeprio": QuerySettingsPhenotypePrioSerializer( - QuerySettingsPhenotypePrioFactory.build(querysettings=None) + "phenotypeprio": SeqvarsQuerySettingsPhenotypePrioSerializer( + SeqvarsQuerySettingsPhenotypePrioFactory.build(querysettings=None) ).data, - "variantprio": QuerySettingsVariantPrioSerializer( - QuerySettingsVariantPrioFactory.build(querysettings=None) + "variantprio": SeqvarsQuerySettingsVariantPrioSerializer( + SeqvarsQuerySettingsVariantPrioFactory.build(querysettings=None) ).data, - "clinvar": QuerySettingsClinvarSerializer( - QuerySettingsClinvarFactory.build(querysettings=None) + "clinvar": SeqvarsQuerySettingsClinvarSerializer( + SeqvarsQuerySettingsClinvarFactory.build(querysettings=None) ).data, } querysettings_uuid = self.querysettings.sodar_uuid def cleanup(): - for obj in QuerySettings.objects.exclude(sodar_uuid=querysettings_uuid): + for obj in SeqvarsQuerySettings.objects.exclude(sodar_uuid=querysettings_uuid): obj.delete() self.assert_response( @@ -1861,8 +1899,8 @@ def test_delete(self): querysettings_uuid = self.querysettings.sodar_uuid def cleanup(): - if not QuerySettings.objects.filter(sodar_uuid=querysettings_uuid): - self.querysettings = QuerySettingsFactory( + if not SeqvarsQuerySettings.objects.filter(sodar_uuid=querysettings_uuid): + self.querysettings = SeqvarsQuerySettingsFactory( sodar_uuid=querysettings_uuid, session=self.session, ) @@ -1879,7 +1917,7 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.query = QueryFactory(session=self.session) + self.query = SeqvarsQueryFactory(session=self.session) def test_list(self): url = reverse( @@ -1920,42 +1958,42 @@ def test_create(self): data = { "label": "test label", "settings": { - "genotype": QuerySettingsGenotypeSerializer( - QuerySettingsGenotypeFactory.build(querysettings=None) + "genotype": SeqvarsQuerySettingsGenotypeSerializer( + SeqvarsQuerySettingsGenotypeFactory.build(querysettings=None) ).data, - "quality": QuerySettingsQualitySerializer( - QuerySettingsQualityFactory.build(querysettings=None) + "quality": SeqvarsQuerySettingsQualitySerializer( + SeqvarsQuerySettingsQualityFactory.build(querysettings=None) ).data, - "consequence": QuerySettingsConsequenceSerializer( - QuerySettingsConsequenceFactory.build(querysettings=None) + "consequence": SeqvarsQuerySettingsConsequenceSerializer( + SeqvarsQuerySettingsConsequenceFactory.build(querysettings=None) ).data, - "locus": QuerySettingsLocusSerializer( - QuerySettingsLocusFactory.build(querysettings=None) + "locus": SeqvarsQuerySettingsLocusSerializer( + SeqvarsQuerySettingsLocusFactory.build(querysettings=None) ).data, - "frequency": QuerySettingsFrequencySerializer( - QuerySettingsFrequencyFactory.build(querysettings=None) + "frequency": SeqvarsQuerySettingsFrequencySerializer( + SeqvarsQuerySettingsFrequencyFactory.build(querysettings=None) ).data, - "phenotypeprio": QuerySettingsPhenotypePrioSerializer( - QuerySettingsPhenotypePrioFactory.build(querysettings=None) + "phenotypeprio": SeqvarsQuerySettingsPhenotypePrioSerializer( + SeqvarsQuerySettingsPhenotypePrioFactory.build(querysettings=None) ).data, - "variantprio": QuerySettingsVariantPrioSerializer( - QuerySettingsVariantPrioFactory.build(querysettings=None) + "variantprio": SeqvarsQuerySettingsVariantPrioSerializer( + SeqvarsQuerySettingsVariantPrioFactory.build(querysettings=None) ).data, - "clinvar": QuerySettingsClinvarSerializer( - QuerySettingsClinvarFactory.build(querysettings=None) + "clinvar": SeqvarsQuerySettingsClinvarSerializer( + SeqvarsQuerySettingsClinvarFactory.build(querysettings=None) ).data, }, - "columnsconfig": QueryColumnsConfigSerializer( - QueryColumnsConfigFactory.build(query=None) + "columnsconfig": SeqvarsQueryColumnsConfigSerializer( + SeqvarsQueryColumnsConfigFactory.build(seqvarsquery=None) ).data, } query_uuid = self.query.sodar_uuid def cleanup(): - for obj in Query.objects.exclude(settings__sodar_uuid=query_uuid): + for obj in SeqvarsQuery.objects.exclude(settings__sodar_uuid=query_uuid): obj.delete() - for obj in QuerySettings.objects.exclude(sodar_uuid=query_uuid): + for obj in SeqvarsQuerySettings.objects.exclude(sodar_uuid=query_uuid): obj.delete() self.assert_response( @@ -2067,8 +2105,8 @@ def test_delete(self): query_uuid = self.query.sodar_uuid def cleanup(): - if not Query.objects.filter(sodar_uuid=query_uuid): - self.query = QueryFactory( + if not SeqvarsQuery.objects.filter(sodar_uuid=query_uuid): + self.query = SeqvarsQueryFactory( sodar_uuid=query_uuid, session=self.session, ) @@ -2085,8 +2123,8 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) def test_list(self): url = reverse( @@ -2139,9 +2177,9 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) - self.resultset = ResultSetFactory(queryexecution=self.queryexecution) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) + self.resultset = SeqvarsResultSetFactory(queryexecution=self.queryexecution) def test_list(self): url = reverse( @@ -2194,10 +2232,10 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) - self.resultset = ResultSetFactory(queryexecution=self.queryexecution) - self.seqvarresultrow = ResultRowFactory(resultset=self.resultset) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) + self.resultset = SeqvarsResultSetFactory(queryexecution=self.queryexecution) + self.seqvarresultrow = SeqvarsResultRowFactory(resultset=self.resultset) def test_list(self): url = reverse( diff --git a/backend/seqvars/tests/test_serializers.py b/backend/seqvars/tests/test_serializers.py index 60597fd14..5d8b558da 100644 --- a/backend/seqvars/tests/test_serializers.py +++ b/backend/seqvars/tests/test_serializers.py @@ -3,74 +3,74 @@ from test_plus import TestCase from seqvars.serializers import ( - PredefinedQuerySerializer, - QueryColumnsConfigSerializer, - QueryDetailsSerializer, - QueryExecutionDetailsSerializer, - QueryExecutionSerializer, - QueryPresetsClinvarSerializer, - QueryPresetsColumnsSerializer, - QueryPresetsConsequenceSerializer, - QueryPresetsFrequencySerializer, - QueryPresetsLocusSerializer, - QueryPresetsPhenotypePrioSerializer, - QueryPresetsQualitySerializer, - QueryPresetsSetDetailsSerializer, - QueryPresetsSetSerializer, - QueryPresetsSetVersionDetailsSerializer, - QueryPresetsSetVersionSerializer, - QueryPresetsVariantPrioSerializer, - QuerySerializer, - QuerySettingsClinvarSerializer, - QuerySettingsConsequenceSerializer, - QuerySettingsDetailsSerializer, - QuerySettingsFrequencySerializer, - QuerySettingsGenotypeSerializer, - QuerySettingsLocusSerializer, - QuerySettingsPhenotypePrioSerializer, - QuerySettingsQualitySerializer, - QuerySettingsSerializer, - QuerySettingsVariantPrioSerializer, - ResultRowSerializer, - ResultSetSerializer, + SeqvarsPredefinedQuerySerializer, + SeqvarsQueryColumnsConfigSerializer, + SeqvarsQueryDetailsSerializer, + SeqvarsQueryExecutionDetailsSerializer, + SeqvarsQueryExecutionSerializer, + SeqvarsQueryPresetsClinvarSerializer, + SeqvarsQueryPresetsColumnsSerializer, + SeqvarsQueryPresetsConsequenceSerializer, + SeqvarsQueryPresetsFrequencySerializer, + SeqvarsQueryPresetsLocusSerializer, + SeqvarsQueryPresetsPhenotypePrioSerializer, + SeqvarsQueryPresetsQualitySerializer, + SeqvarsQueryPresetsSetDetailsSerializer, + SeqvarsQueryPresetsSetSerializer, + SeqvarsQueryPresetsSetVersionDetailsSerializer, + SeqvarsQueryPresetsSetVersionSerializer, + SeqvarsQueryPresetsVariantPrioSerializer, + SeqvarsQuerySerializer, + SeqvarsQuerySettingsClinvarSerializer, + SeqvarsQuerySettingsConsequenceSerializer, + SeqvarsQuerySettingsDetailsSerializer, + SeqvarsQuerySettingsFrequencySerializer, + SeqvarsQuerySettingsGenotypeSerializer, + SeqvarsQuerySettingsLocusSerializer, + SeqvarsQuerySettingsPhenotypePrioSerializer, + SeqvarsQuerySettingsQualitySerializer, + SeqvarsQuerySettingsSerializer, + SeqvarsQuerySettingsVariantPrioSerializer, + SeqvarsResultRowSerializer, + SeqvarsResultSetSerializer, ) from seqvars.tests.factories import ( - PredefinedQueryFactory, - QueryColumnsConfigFactory, - QueryExecutionFactory, - QueryFactory, - QueryPresetsClinvarFactory, - QueryPresetsColumnsFactory, - QueryPresetsConsequenceFactory, - QueryPresetsFrequencyFactory, - QueryPresetsLocusFactory, - QueryPresetsPhenotypePrioFactory, - QueryPresetsQualityFactory, - QueryPresetsSetFactory, - QueryPresetsSetVersionFactory, - QueryPresetsVariantPrioFactory, - QuerySettingsClinvarFactory, - QuerySettingsConsequenceFactory, - QuerySettingsFactory, - QuerySettingsFrequencyFactory, - QuerySettingsGenotypeFactory, - QuerySettingsLocusFactory, - QuerySettingsPhenotypePrioFactory, - QuerySettingsQualityFactory, - QuerySettingsVariantPrioFactory, - ResultRowFactory, - ResultSetFactory, + SeqvarsPredefinedQueryFactory, + SeqvarsQueryColumnsConfigFactory, + SeqvarsQueryExecutionFactory, + SeqvarsQueryFactory, + SeqvarsQueryPresetsClinvarFactory, + SeqvarsQueryPresetsColumnsFactory, + SeqvarsQueryPresetsConsequenceFactory, + SeqvarsQueryPresetsFrequencyFactory, + SeqvarsQueryPresetsLocusFactory, + SeqvarsQueryPresetsPhenotypePrioFactory, + SeqvarsQueryPresetsQualityFactory, + SeqvarsQueryPresetsSetFactory, + SeqvarsQueryPresetsSetVersionFactory, + SeqvarsQueryPresetsVariantPrioFactory, + SeqvarsQuerySettingsClinvarFactory, + SeqvarsQuerySettingsConsequenceFactory, + SeqvarsQuerySettingsFactory, + SeqvarsQuerySettingsFrequencyFactory, + SeqvarsQuerySettingsGenotypeFactory, + SeqvarsQuerySettingsLocusFactory, + SeqvarsQuerySettingsPhenotypePrioFactory, + SeqvarsQuerySettingsQualityFactory, + SeqvarsQuerySettingsVariantPrioFactory, + SeqvarsResultRowFactory, + SeqvarsResultSetFactory, ) @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsQualitySerializer(TestCase): +class TestSeqvarsQueryPresetsQualitySerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsquality = QueryPresetsQualityFactory() + self.seqvarsquerypresetsquality = SeqvarsQueryPresetsQualityFactory() def test_serialize_existing(self): - serializer = QueryPresetsQualitySerializer(self.querypresetsquality) + serializer = SeqvarsQueryPresetsQualitySerializer(self.seqvarsquerypresetsquality) fields = [ # BaseModel "sodar_uuid", @@ -92,11 +92,11 @@ def test_serialize_existing(self): "max_ad", ] expected = model_to_dict( - self.querypresetsquality, + self.seqvarsquerypresetsquality, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsquality.presetssetversion.sodar_uuid + expected["presetssetversion"] = self.seqvarsquerypresetsquality.presetssetversion.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -107,13 +107,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsFrequencySerializer(TestCase): +class TestSeqvarsQueryPresetsFrequencySerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsfrequency = QueryPresetsFrequencyFactory() + self.seqvarsquerypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory() def test_serialize_existing(self): - serializer = QueryPresetsFrequencySerializer(self.querypresetsfrequency) + serializer = SeqvarsQueryPresetsFrequencySerializer(self.seqvarsquerypresetsfrequency) fields = [ # BaseModel "sodar_uuid", @@ -147,11 +147,13 @@ def test_serialize_existing(self): "inhouse_hemizygous", ] expected = model_to_dict( - self.querypresetsfrequency, + self.seqvarsquerypresetsfrequency, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsfrequency.presetssetversion.sodar_uuid + expected["presetssetversion"] = ( + self.seqvarsquerypresetsfrequency.presetssetversion.sodar_uuid + ) # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -162,13 +164,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsConsequenceSerializer(TestCase): +class TestSeqvarsQueryPresetsConsequenceSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsconsequence = QueryPresetsConsequenceFactory() + self.seqvarsquerypresetsconsequence = SeqvarsQueryPresetsConsequenceFactory() def test_serialize_existing(self): - serializer = QueryPresetsConsequenceSerializer(self.querypresetsconsequence) + serializer = SeqvarsQueryPresetsConsequenceSerializer(self.seqvarsquerypresetsconsequence) fields = [ # BaseModel "sodar_uuid", @@ -187,11 +189,13 @@ def test_serialize_existing(self): "max_distance_to_exon", ] expected = model_to_dict( - self.querypresetsconsequence, + self.seqvarsquerypresetsconsequence, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsconsequence.presetssetversion.sodar_uuid + expected["presetssetversion"] = ( + self.seqvarsquerypresetsconsequence.presetssetversion.sodar_uuid + ) # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -206,13 +210,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsLocusSerializer(TestCase): +class TestSeqvarsQueryPresetsLocusSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetslocus = QueryPresetsLocusFactory() + self.seqvarsquerypresetslocus = SeqvarsQueryPresetsLocusFactory() def test_serialize_existing(self): - serializer = QueryPresetsLocusSerializer(self.querypresetslocus) + serializer = SeqvarsQueryPresetsLocusSerializer(self.seqvarsquerypresetslocus) fields = [ # BaseModel "sodar_uuid", @@ -230,11 +234,11 @@ def test_serialize_existing(self): "genome_regions", ] expected = model_to_dict( - self.querypresetslocus, + self.seqvarsquerypresetslocus, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetslocus.presetssetversion.sodar_uuid + expected["presetssetversion"] = self.seqvarsquerypresetslocus.presetssetversion.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -248,13 +252,15 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsPhenotypePrioSerializer(TestCase): +class TestSeqvarsQueryPresetsPhenotypePrioSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsphenotypeprio = QueryPresetsPhenotypePrioFactory() + self.seqvarsquerypresetsphenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory() def test_serialize_existing(self): - serializer = QueryPresetsPhenotypePrioSerializer(self.querypresetsphenotypeprio) + serializer = SeqvarsQueryPresetsPhenotypePrioSerializer( + self.seqvarsquerypresetsphenotypeprio + ) fields = [ # BaseModel "sodar_uuid", @@ -272,11 +278,13 @@ def test_serialize_existing(self): "terms", ] expected = model_to_dict( - self.querypresetsphenotypeprio, + self.seqvarsquerypresetsphenotypeprio, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsphenotypeprio.presetssetversion.sodar_uuid + expected["presetssetversion"] = ( + self.seqvarsquerypresetsphenotypeprio.presetssetversion.sodar_uuid + ) # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -289,13 +297,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsVariantPrioSerializer(TestCase): +class TestSeqvarsQueryPresetsVariantPrioSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsvariantprio = QueryPresetsVariantPrioFactory() + self.seqvarsquerypresetsvariantprio = SeqvarsQueryPresetsVariantPrioFactory() def test_serialize_existing(self): - serializer = QueryPresetsVariantPrioSerializer(self.querypresetsvariantprio) + serializer = SeqvarsQueryPresetsVariantPrioSerializer(self.seqvarsquerypresetsvariantprio) fields = [ # BaseModel "sodar_uuid", @@ -312,11 +320,13 @@ def test_serialize_existing(self): "services", ] expected = model_to_dict( - self.querypresetsvariantprio, + self.seqvarsquerypresetsvariantprio, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsvariantprio.presetssetversion.sodar_uuid + expected["presetssetversion"] = ( + self.seqvarsquerypresetsvariantprio.presetssetversion.sodar_uuid + ) # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -329,13 +339,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsClinvarSerializer(TestCase): +class TestSeqvarsQueryPresetsClinvarSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsclinvar = QueryPresetsClinvarFactory() + self.seqvarsquerypresetsclinvar = SeqvarsQueryPresetsClinvarFactory() def test_serialize_existing(self): - serializer = QueryPresetsClinvarSerializer(self.querypresetsclinvar) + serializer = SeqvarsQueryPresetsClinvarSerializer(self.seqvarsquerypresetsclinvar) fields = [ # BaseModel "sodar_uuid", @@ -353,11 +363,11 @@ def test_serialize_existing(self): "allow_conflicting_interpretations", ] expected = model_to_dict( - self.querypresetsclinvar, + self.seqvarsquerypresetsclinvar, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetsclinvar.presetssetversion.sodar_uuid + expected["presetssetversion"] = self.seqvarsquerypresetsclinvar.presetssetversion.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -372,13 +382,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsColumnsSerializer(TestCase): +class TestSeqvarsQueryPresetsColumnsSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetscolumns = QueryPresetsColumnsFactory() + self.seqvarsquerypresetscolumns = SeqvarsQueryPresetsColumnsFactory() def test_serialize_existing(self): - serializer = QueryPresetsColumnsSerializer(self.querypresetscolumns) + serializer = SeqvarsQueryPresetsColumnsSerializer(self.seqvarsquerypresetscolumns) fields = [ # BaseModel "sodar_uuid", @@ -394,11 +404,11 @@ def test_serialize_existing(self): "column_settings", ] expected = model_to_dict( - self.querypresetscolumns, + self.seqvarsquerypresetscolumns, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.querypresetscolumns.presetssetversion.sodar_uuid + expected["presetssetversion"] = self.seqvarsquerypresetscolumns.presetssetversion.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -413,39 +423,43 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestPredefinedQuerySerializer(TestCase): +class TestSeqvarsPredefinedQuerySerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory() - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.predefinedquery = PredefinedQueryFactory(presetssetversion=self.querypresetssetversion) - self.predefinedquery.quality = QueryPresetsQualityFactory( - presetssetversion=self.querypresetssetversion + self.seqvarsquerypresetsset = SeqvarsQueryPresetsSetFactory() + self.seqvarsquerypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.seqvarsquerypresetsset + ) + self.seqvarspredefinedquery = SeqvarsPredefinedQueryFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.frequency = QueryPresetsFrequencyFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.quality = SeqvarsQueryPresetsQualityFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.consequence = QueryPresetsConsequenceFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.frequency = SeqvarsQueryPresetsFrequencyFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.locus = QueryPresetsLocusFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.consequence = SeqvarsQueryPresetsConsequenceFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.phenotypeprio = QueryPresetsPhenotypePrioFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.locus = SeqvarsQueryPresetsLocusFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.variantprio = QueryPresetsVariantPrioFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.phenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.clinvar = QueryPresetsClinvarFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.variantprio = SeqvarsQueryPresetsVariantPrioFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) - self.predefinedquery.columns = QueryPresetsColumnsFactory( - presetssetversion=self.querypresetssetversion + self.seqvarspredefinedquery.clinvar = SeqvarsQueryPresetsClinvarFactory( + presetssetversion=self.seqvarsquerypresetssetversion + ) + self.seqvarspredefinedquery.columns = SeqvarsQueryPresetsColumnsFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) def test_serialize_existing(self): - serializer = PredefinedQuerySerializer(self.predefinedquery) + serializer = SeqvarsPredefinedQuerySerializer(self.seqvarspredefinedquery) fields = [ # BaseModel "sodar_uuid", @@ -470,21 +484,21 @@ def test_serialize_existing(self): "columns", ] expected = model_to_dict( - self.predefinedquery, + self.seqvarspredefinedquery, fields=fields, ) # Map the pydantic fields to their JSON value. expected["genotype"] = expected["genotype"].model_dump(mode="json") # We replace the related objects with their UUIDs. - expected["presetssetversion"] = self.predefinedquery.presetssetversion.sodar_uuid - expected["quality"] = self.predefinedquery.quality.sodar_uuid - expected["frequency"] = self.predefinedquery.frequency.sodar_uuid - expected["consequence"] = self.predefinedquery.consequence.sodar_uuid - expected["locus"] = self.predefinedquery.locus.sodar_uuid - expected["phenotypeprio"] = self.predefinedquery.phenotypeprio.sodar_uuid - expected["variantprio"] = self.predefinedquery.variantprio.sodar_uuid - expected["clinvar"] = self.predefinedquery.clinvar.sodar_uuid - expected["columns"] = self.predefinedquery.columns.sodar_uuid + expected["presetssetversion"] = self.seqvarspredefinedquery.presetssetversion.sodar_uuid + expected["quality"] = self.seqvarspredefinedquery.quality.sodar_uuid + expected["frequency"] = self.seqvarspredefinedquery.frequency.sodar_uuid + expected["consequence"] = self.seqvarspredefinedquery.consequence.sodar_uuid + expected["locus"] = self.seqvarspredefinedquery.locus.sodar_uuid + expected["phenotypeprio"] = self.seqvarspredefinedquery.phenotypeprio.sodar_uuid + expected["variantprio"] = self.seqvarspredefinedquery.variantprio.sodar_uuid + expected["clinvar"] = self.seqvarspredefinedquery.clinvar.sodar_uuid + expected["columns"] = self.seqvarspredefinedquery.columns.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -495,13 +509,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsSetSerializer(TestCase): +class TestSeqvarsQueryPresetsSetSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory() + self.seqvarsquerypresetsset = SeqvarsQueryPresetsSetFactory() def test_serialize_existing(self): - serializer = QueryPresetsSetSerializer(self.querypresetsset) + serializer = SeqvarsQueryPresetsSetSerializer(self.seqvarsquerypresetsset) fields = [ # BaseModel "sodar_uuid", @@ -515,11 +529,11 @@ def test_serialize_existing(self): "project", ] expected = model_to_dict( - self.querypresetsset, + self.seqvarsquerypresetsset, fields=fields, ) # We replace the related objects with their UUIDs. - expected["project"] = self.querypresetsset.project.sodar_uuid + expected["project"] = self.seqvarsquerypresetsset.project.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -530,17 +544,19 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsSetDetailsSerializer(TestCase): +class TestSeqvarsQueryPresetsSetDetailsSerializer(TestCase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory() - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) - self.querypresetsfrequency = QueryPresetsFrequencyFactory( - presetssetversion=self.querypresetssetversion + self.seqvarsquerypresetsset = SeqvarsQueryPresetsSetFactory() + self.seqvarsquerypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.seqvarsquerypresetsset + ) + self.seqvarsquerypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) def test_serialize_existing(self): - serializer = QueryPresetsSetDetailsSerializer(self.querypresetsset) + serializer = SeqvarsQueryPresetsSetDetailsSerializer(self.seqvarsquerypresetsset) fields = [ # BaseModel "sodar_uuid", @@ -555,11 +571,11 @@ def test_serialize_existing(self): "versions", ] expected = model_to_dict( - self.querypresetsset, + self.seqvarsquerypresetsset, fields=fields, ) # We replace the related objects with their UUIDs. - expected["project"] = self.querypresetsset.project.sodar_uuid + expected["project"] = self.seqvarsquerypresetsset.project.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -567,8 +583,8 @@ def test_serialize_existing(self): # Update the deeply nested related objects. expected["versions"] = list( map( - lambda elem: dict(QueryPresetsSetVersionDetailsSerializer(elem).data), - self.querypresetsset.versions.all(), + lambda elem: dict(SeqvarsQueryPresetsSetVersionDetailsSerializer(elem).data), + self.seqvarsquerypresetsset.versions.all(), ) ) @@ -577,17 +593,17 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsSetVersionSerializer(TestCase): +class TestSeqvarsQueryPresetsSetVersionSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.querypresetssetversion = QueryPresetsSetVersionFactory() - self.querypresetsfrequency = QueryPresetsFrequencyFactory( - presetssetversion=self.querypresetssetversion + self.seqvarsquerypresetssetversion = SeqvarsQueryPresetsSetVersionFactory() + self.seqvarsquerypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) def test_serialize_existing(self): - serializer = QueryPresetsSetVersionSerializer(self.querypresetssetversion) + serializer = SeqvarsQueryPresetsSetVersionSerializer(self.seqvarsquerypresetssetversion) fields = [ # BaseModel "sodar_uuid", @@ -601,11 +617,11 @@ def test_serialize_existing(self): "signed_off_by", ] expected = model_to_dict( - self.querypresetssetversion, + self.seqvarsquerypresetssetversion, fields=fields, ) # We replace the related objects with their UUIDs. - expected["presetsset"] = self.querypresetssetversion.presetsset.sodar_uuid + expected["presetsset"] = self.seqvarsquerypresetssetversion.presetsset.sodar_uuid # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -616,17 +632,19 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryPresetsSetVersionDetailsSerializer(TestCase): +class TestSeqvarsQueryPresetsSetVersionDetailsSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.querypresetssetversion = QueryPresetsSetVersionFactory() - self.querypresetsfrequency = QueryPresetsFrequencyFactory( - presetssetversion=self.querypresetssetversion + self.seqvarsquerypresetssetversion = SeqvarsQueryPresetsSetVersionFactory() + self.seqvarsquerypresetsfrequency = SeqvarsQueryPresetsFrequencyFactory( + presetssetversion=self.seqvarsquerypresetssetversion ) def test_serialize_existing(self): - serializer = QueryPresetsSetVersionDetailsSerializer(self.querypresetssetversion) + serializer = SeqvarsQueryPresetsSetVersionDetailsSerializer( + self.seqvarsquerypresetssetversion + ) fields = [ # BaseModel "sodar_uuid", @@ -639,36 +657,36 @@ def test_serialize_existing(self): "status", "signed_off_by", # (only in details serializer) - "querypresetsfrequency_set", - "querypresetsvariantprio_set", - "querypresetsclinvar_set", - "querypresetscolumns_set", - "querypresetslocus_set", - "querypresetsconsequence_set", - "querypresetsquality_set", - "querypresetsphenotypeprio_set", - "predefinedquery_set", + "seqvarsquerypresetsfrequency_set", + "seqvarsquerypresetsvariantprio_set", + "seqvarsquerypresetsclinvar_set", + "seqvarsquerypresetscolumns_set", + "seqvarsquerypresetslocus_set", + "seqvarsquerypresetsconsequence_set", + "seqvarsquerypresetsquality_set", + "seqvarsquerypresetsphenotypeprio_set", + "seqvarspredefinedquery_set", ] expected = model_to_dict( - self.querypresetssetversion, + self.seqvarsquerypresetssetversion, fields=fields, ) # We replace the related objects with their UUIDs. expected["presetsset"] = dict( - QueryPresetsSetSerializer(self.querypresetssetversion.presetsset).data + SeqvarsQueryPresetsSetSerializer(self.seqvarsquerypresetssetversion.presetsset).data ) - # We add the missing "querypresetsfrequency_set". - expected["querypresetsfrequency_set"] = [ - QueryPresetsFrequencySerializer(self.querypresetsfrequency).data + # We add the missing "seqvarsquerypresetsfrequency_set". + expected["seqvarsquerypresetsfrequency_set"] = [ + SeqvarsQueryPresetsFrequencySerializer(self.seqvarsquerypresetsfrequency).data ] - expected["querypresetsvariantprio_set"] = [] - expected["querypresetsclinvar_set"] = [] - expected["querypresetscolumns_set"] = [] - expected["querypresetslocus_set"] = [] - expected["querypresetsconsequence_set"] = [] - expected["querypresetsquality_set"] = [] - expected["querypresetsphenotypeprio_set"] = [] - expected["predefinedquery_set"] = [] + expected["seqvarsquerypresetsvariantprio_set"] = [] + expected["seqvarsquerypresetsclinvar_set"] = [] + expected["seqvarsquerypresetscolumns_set"] = [] + expected["seqvarsquerypresetslocus_set"] = [] + expected["seqvarsquerypresetsconsequence_set"] = [] + expected["seqvarsquerypresetsquality_set"] = [] + expected["seqvarsquerypresetsphenotypeprio_set"] = [] + expected["seqvarspredefinedquery_set"] = [] # Note that "date_created", "date_modified" are ignored in model_to_dict as they # are not editable. expected["date_created"] = "2012-01-14T12:00:01Z" @@ -679,14 +697,14 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsSerializer(TestCase): +class TestSeqvarsQuerySettingsSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.querysettings = QuerySettingsFactory() + self.querysettings = SeqvarsQuerySettingsFactory() def test_serialize_existing(self): - serializer = QuerySettingsSerializer(self.querysettings) + serializer = SeqvarsQuerySettingsSerializer(self.querysettings) fields = [ # BaseModel "sodar_uuid", @@ -729,14 +747,14 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsDetailsSerializer(TestCase): +class TestSeqvarsQuerySettingsDetailsSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.querysettings = QuerySettingsFactory() + self.querysettings = SeqvarsQuerySettingsFactory() def test_serialize_existing(self): - serializer = QuerySettingsDetailsSerializer(self.querysettings) + serializer = SeqvarsQuerySettingsDetailsSerializer(self.querysettings) fields = [ # BaseModel "sodar_uuid", @@ -766,33 +784,37 @@ def test_serialize_existing(self): expected["date_created"] = "2012-01-14T12:00:01Z" expected["date_modified"] = "2012-01-14T12:00:01Z" # The same is true for the related one-to-one fields. - expected["genotype"] = QuerySettingsGenotypeSerializer(self.querysettings.genotype).data - expected["quality"] = QuerySettingsQualitySerializer(self.querysettings.quality).data - expected["consequence"] = QuerySettingsConsequenceSerializer( + expected["genotype"] = SeqvarsQuerySettingsGenotypeSerializer( + self.querysettings.genotype + ).data + expected["quality"] = SeqvarsQuerySettingsQualitySerializer(self.querysettings.quality).data + expected["consequence"] = SeqvarsQuerySettingsConsequenceSerializer( self.querysettings.consequence ).data - expected["locus"] = QuerySettingsLocusSerializer(self.querysettings.locus).data - expected["frequency"] = QuerySettingsFrequencySerializer(self.querysettings.frequency).data - expected["phenotypeprio"] = QuerySettingsPhenotypePrioSerializer( + expected["locus"] = SeqvarsQuerySettingsLocusSerializer(self.querysettings.locus).data + expected["frequency"] = SeqvarsQuerySettingsFrequencySerializer( + self.querysettings.frequency + ).data + expected["phenotypeprio"] = SeqvarsQuerySettingsPhenotypePrioSerializer( self.querysettings.phenotypeprio ).data - expected["variantprio"] = QuerySettingsVariantPrioSerializer( + expected["variantprio"] = SeqvarsQuerySettingsVariantPrioSerializer( self.querysettings.variantprio ).data - expected["clinvar"] = QuerySettingsClinvarSerializer(self.querysettings.clinvar).data + expected["clinvar"] = SeqvarsQuerySettingsClinvarSerializer(self.querysettings.clinvar).data self.assertEqual(set(serializer.data.keys()), set(fields)) self.assertDictEqual(dict(serializer.data), expected) @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsGenotypeSerializer(TestCase): +class TestSeqvarsQuerySettingsGenotypeSerializer(TestCase): def setUp(self): super().setUp() - self.genotype = QuerySettingsGenotypeFactory() + self.genotype = SeqvarsQuerySettingsGenotypeFactory() def test_serialize_existing(self): - serializer = QuerySettingsGenotypeSerializer(self.genotype) + serializer = SeqvarsQuerySettingsGenotypeSerializer(self.genotype) fields = [ # BaseModel "sodar_uuid", @@ -823,13 +845,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsQualitySerializer(TestCase): +class TestSeqvarsQuerySettingsQualitySerializer(TestCase): def setUp(self): super().setUp() - self.quality = QuerySettingsQualityFactory() + self.quality = SeqvarsQuerySettingsQualityFactory() def test_serialize_existing(self): - serializer = QuerySettingsQualitySerializer(self.quality) + serializer = SeqvarsQuerySettingsQualitySerializer(self.quality) fields = [ # BaseModel "sodar_uuid", @@ -860,13 +882,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsConsequenceSerializer(TestCase): +class TestSeqvarsQuerySettingsConsequenceSerializer(TestCase): def setUp(self): super().setUp() - self.consequence = QuerySettingsConsequenceFactory() + self.consequence = SeqvarsQuerySettingsConsequenceFactory() def test_serialize_existing(self): - serializer = QuerySettingsConsequenceSerializer(self.consequence) + serializer = SeqvarsQuerySettingsConsequenceSerializer(self.consequence) fields = [ # BaseModel "sodar_uuid", @@ -896,13 +918,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsLocusSerializer(TestCase): +class TestSeqvarsQuerySettingsLocusSerializer(TestCase): def setUp(self): super().setUp() - self.locus = QuerySettingsLocusFactory() + self.locus = SeqvarsQuerySettingsLocusFactory() def test_serialize_existing(self): - serializer = QuerySettingsLocusSerializer(self.locus) + serializer = SeqvarsQuerySettingsLocusSerializer(self.locus) fields = [ # BaseModel "sodar_uuid", @@ -935,13 +957,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsFrequencySerializer(TestCase): +class TestSeqvarsQuerySettingsFrequencySerializer(TestCase): def setUp(self): super().setUp() - self.frequency = QuerySettingsFrequencyFactory() + self.frequency = SeqvarsQuerySettingsFrequencyFactory() def test_serialize_existing(self): - serializer = QuerySettingsFrequencySerializer(self.frequency) + serializer = SeqvarsQuerySettingsFrequencySerializer(self.frequency) fields = [ # BaseModel "sodar_uuid", @@ -986,13 +1008,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsPhenotypePrioSerializer(TestCase): +class TestSeqvarsQuerySettingsPhenotypePrioSerializer(TestCase): def setUp(self): super().setUp() - self.phenotypeprio = QuerySettingsPhenotypePrioFactory() + self.phenotypeprio = SeqvarsQuerySettingsPhenotypePrioFactory() def test_serialize_existing(self): - serializer = QuerySettingsPhenotypePrioSerializer(self.phenotypeprio) + serializer = SeqvarsQuerySettingsPhenotypePrioSerializer(self.phenotypeprio) fields = [ # BaseModel "sodar_uuid", @@ -1023,13 +1045,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsVariantPrioSerializer(TestCase): +class TestSeqvarsQuerySettingsVariantPrioSerializer(TestCase): def setUp(self): super().setUp() - self.variantprio = QuerySettingsVariantPrioFactory() + self.variantprio = SeqvarsQuerySettingsVariantPrioFactory() def test_serialize_existing(self): - serializer = QuerySettingsVariantPrioSerializer(self.variantprio) + serializer = SeqvarsQuerySettingsVariantPrioSerializer(self.variantprio) fields = [ # BaseModel "sodar_uuid", @@ -1059,13 +1081,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySettingsClinvarSerializer(TestCase): +class TestSeqvarsQuerySettingsClinvarSerializer(TestCase): def setUp(self): super().setUp() - self.clinvar = QuerySettingsClinvarFactory() + self.clinvar = SeqvarsQuerySettingsClinvarFactory() def test_serialize_existing(self): - serializer = QuerySettingsClinvarSerializer(self.clinvar) + serializer = SeqvarsQuerySettingsClinvarSerializer(self.clinvar) fields = [ # BaseModel "sodar_uuid", @@ -1094,15 +1116,15 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQuerySerializer(TestCase): +class TestSeqvarsQuerySerializer(TestCase): def setUp(self): super().setUp() - self.query = QueryFactory() - self.columnsconfig = QueryColumnsConfigFactory(query=self.query) + self.query = SeqvarsQueryFactory() + self.columnsconfig = SeqvarsQueryColumnsConfigFactory(seqvarsquery=self.query) self.query.refresh_from_db() def test_serialize_existing(self): - serializer = QuerySerializer(self.query) + serializer = SeqvarsQuerySerializer(self.query) fields = [ # BaseModel "sodar_uuid", @@ -1134,15 +1156,15 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryDetailsSerializer(TestCase): +class TestSeqvarsQueryDetailsSerializer(TestCase): def setUp(self): super().setUp() - self.query = QueryFactory() - self.columnsconfig = QueryColumnsConfigFactory(query=self.query) + self.query = SeqvarsQueryFactory() + self.columnsconfig = SeqvarsQueryColumnsConfigFactory(seqvarsquery=self.query) self.query.refresh_from_db() def test_serialize_existing(self): - serializer = QueryDetailsSerializer(self.query) + serializer = SeqvarsQueryDetailsSerializer(self.query) fields = [ # BaseModel "sodar_uuid", @@ -1167,21 +1189,23 @@ def test_serialize_existing(self): expected["date_created"] = "2012-01-14T12:00:01Z" expected["date_modified"] = "2012-01-14T12:00:01Z" # The same is true for settings. - expected["settings"] = QuerySettingsDetailsSerializer(self.query.settings).data - expected["columnsconfig"] = QueryColumnsConfigSerializer(self.query.columnsconfig).data + expected["settings"] = SeqvarsQuerySettingsDetailsSerializer(self.query.settings).data + expected["columnsconfig"] = SeqvarsQueryColumnsConfigSerializer( + self.query.columnsconfig + ).data self.assertEqual(set(serializer.data.keys()), set(fields)) self.assertDictEqual(dict(serializer.data), expected) @freeze_time("2012-01-14 12:00:01") -class TestQueryExecutionSerializer(TestCase): +class TestSeqvarsQueryExecutionSerializer(TestCase): def setUp(self): super().setUp() - self.queryexecution = QueryExecutionFactory() + self.queryexecution = SeqvarsQueryExecutionFactory() def test_serialize_existing(self): - serializer = QueryExecutionSerializer(self.queryexecution) + serializer = SeqvarsQueryExecutionSerializer(self.queryexecution) fields = [ # BaseModel "sodar_uuid", @@ -1218,13 +1242,13 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestQueryExecutionDetailsSerializer(TestCase): +class TestSeqvarsQueryExecutionDetailsSerializer(TestCase): def setUp(self): super().setUp() - self.queryexecution = QueryExecutionFactory() + self.queryexecution = SeqvarsQueryExecutionFactory() def test_serialize_existing(self): - serializer = QueryExecutionDetailsSerializer(self.queryexecution) + serializer = SeqvarsQueryExecutionDetailsSerializer(self.queryexecution) fields = [ # BaseModel "sodar_uuid", @@ -1247,7 +1271,7 @@ def test_serialize_existing(self): expected["query"] = self.queryexecution.query.sodar_uuid # We render the query settings as a dictionary. expected["querysettings"] = dict( - QuerySettingsDetailsSerializer(self.queryexecution.querysettings).data + SeqvarsQuerySettingsDetailsSerializer(self.queryexecution.querysettings).data ) expected["querysettings"]["frequency"] = dict(expected["querysettings"]["frequency"]) # Note that "date_created", "date_modified" are ignored in model_to_dict as they @@ -1268,14 +1292,14 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestResultSetSerializer(TestCase): +class TestSeqvarsResultSetSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.resultset = ResultSetFactory() + self.resultset = SeqvarsResultSetFactory() def test_serialize_existing(self): - serializer = ResultSetSerializer(self.resultset) + serializer = SeqvarsResultSetSerializer(self.resultset) fields = [ # BaseModel "sodar_uuid", @@ -1303,14 +1327,14 @@ def test_serialize_existing(self): @freeze_time("2012-01-14 12:00:01") -class TestResultRowSerializer(TestCase): +class TestSeqvarsResultRowSerializer(TestCase): def setUp(self): super().setUp() self.maxDiff = None - self.seqvarresultrow = ResultRowFactory() + self.seqvarresultrow = SeqvarsResultRowFactory() def test_serialize_existing(self): - serializer = ResultRowSerializer(self.seqvarresultrow) + serializer = SeqvarsResultRowSerializer(self.seqvarresultrow) fields = [ "sodar_uuid", "resultset", diff --git a/backend/seqvars/tests/test_views_api.py b/backend/seqvars/tests/test_views_api.py index 21a84501d..35ebed452 100644 --- a/backend/seqvars/tests/test_views_api.py +++ b/backend/seqvars/tests/test_views_api.py @@ -3,82 +3,85 @@ from django.urls import reverse from freezegun import freeze_time from parameterized import parameterized +from snapshottest.unittest import TestCase as TestCaseSnapshot from cases_analysis.tests.factories import CaseAnalysisFactory, CaseAnalysisSessionFactory +from seqvars.factory_defaults import create_seqvarspresetsset_short_read_genome from seqvars.models import ( - PredefinedQuery, - Query, - QueryPresetsClinvar, - QueryPresetsColumns, - QueryPresetsConsequence, - QueryPresetsFrequency, - QueryPresetsLocus, - QueryPresetsPhenotypePrio, - QueryPresetsQuality, - QueryPresetsSet, - QueryPresetsSetVersion, - QueryPresetsVariantPrio, - QuerySettings, - QuerySettingsFrequency, + SeqvarsPredefinedQuery, + SeqvarsQuery, + SeqvarsQueryPresetsClinvar, + SeqvarsQueryPresetsColumns, + SeqvarsQueryPresetsConsequence, + SeqvarsQueryPresetsFrequency, + SeqvarsQueryPresetsLocus, + SeqvarsQueryPresetsPhenotypePrio, + SeqvarsQueryPresetsQuality, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQueryPresetsVariantPrio, + SeqvarsQuerySettings, + SeqvarsQuerySettingsFrequency, ) from seqvars.serializers import ( - PredefinedQuerySerializer, - QueryColumnsConfigSerializer, - QueryDetailsSerializer, - QueryExecutionDetailsSerializer, - QueryExecutionSerializer, - QueryPresetsClinvarSerializer, - QueryPresetsColumnsSerializer, - QueryPresetsConsequenceSerializer, - QueryPresetsFrequencySerializer, - QueryPresetsLocusSerializer, - QueryPresetsPhenotypePrioSerializer, - QueryPresetsQualitySerializer, - QueryPresetsSetSerializer, - QueryPresetsSetVersionDetailsSerializer, - QueryPresetsSetVersionSerializer, - QueryPresetsVariantPrioSerializer, - QuerySerializer, - QuerySettingsClinvarSerializer, - QuerySettingsConsequenceSerializer, - QuerySettingsDetailsSerializer, - QuerySettingsFrequencySerializer, - QuerySettingsGenotypeSerializer, - QuerySettingsLocusSerializer, - QuerySettingsPhenotypePrioSerializer, - QuerySettingsQualitySerializer, - QuerySettingsSerializer, - QuerySettingsVariantPrioSerializer, - ResultRowSerializer, - ResultSetSerializer, + SeqvarsPredefinedQuerySerializer, + SeqvarsQueryColumnsConfigSerializer, + SeqvarsQueryDetailsSerializer, + SeqvarsQueryExecutionDetailsSerializer, + SeqvarsQueryExecutionSerializer, + SeqvarsQueryPresetsClinvarSerializer, + SeqvarsQueryPresetsColumnsSerializer, + SeqvarsQueryPresetsConsequenceSerializer, + SeqvarsQueryPresetsFrequencySerializer, + SeqvarsQueryPresetsLocusSerializer, + SeqvarsQueryPresetsPhenotypePrioSerializer, + SeqvarsQueryPresetsQualitySerializer, + SeqvarsQueryPresetsSetSerializer, + SeqvarsQueryPresetsSetVersionDetailsSerializer, + SeqvarsQueryPresetsSetVersionSerializer, + SeqvarsQueryPresetsVariantPrioSerializer, + SeqvarsQuerySerializer, + SeqvarsQuerySettingsClinvarSerializer, + SeqvarsQuerySettingsConsequenceSerializer, + SeqvarsQuerySettingsDetailsSerializer, + SeqvarsQuerySettingsFrequencySerializer, + SeqvarsQuerySettingsGenotypeSerializer, + SeqvarsQuerySettingsLocusSerializer, + SeqvarsQuerySettingsPhenotypePrioSerializer, + SeqvarsQuerySettingsQualitySerializer, + SeqvarsQuerySettingsSerializer, + SeqvarsQuerySettingsVariantPrioSerializer, + SeqvarsResultRowSerializer, + SeqvarsResultSetSerializer, ) from seqvars.tests.factories import ( - PredefinedQueryFactory, - QueryColumnsConfigFactory, - QueryExecutionFactory, - QueryFactory, - QueryPresetsClinvarFactory, - QueryPresetsColumnsFactory, - QueryPresetsConsequenceFactory, - QueryPresetsFrequencyFactory, - QueryPresetsLocusFactory, - QueryPresetsPhenotypePrioFactory, - QueryPresetsQualityFactory, - QueryPresetsSetFactory, - QueryPresetsSetVersionFactory, - QueryPresetsVariantPrioFactory, - QuerySettingsClinvarFactory, - QuerySettingsConsequenceFactory, - QuerySettingsFactory, - QuerySettingsFrequencyFactory, - QuerySettingsGenotypeFactory, - QuerySettingsLocusFactory, - QuerySettingsPhenotypePrioFactory, - QuerySettingsQualityFactory, - QuerySettingsVariantPrioFactory, - ResultRowFactory, - ResultSetFactory, + SeqvarsPredefinedQueryFactory, + SeqvarsQueryColumnsConfigFactory, + SeqvarsQueryExecutionFactory, + SeqvarsQueryFactory, + SeqvarsQueryPresetsClinvarFactory, + SeqvarsQueryPresetsColumnsFactory, + SeqvarsQueryPresetsConsequenceFactory, + SeqvarsQueryPresetsFrequencyFactory, + SeqvarsQueryPresetsLocusFactory, + SeqvarsQueryPresetsPhenotypePrioFactory, + SeqvarsQueryPresetsQualityFactory, + SeqvarsQueryPresetsSetFactory, + SeqvarsQueryPresetsSetVersionFactory, + SeqvarsQueryPresetsVariantPrioFactory, + SeqvarsQuerySettingsClinvarFactory, + SeqvarsQuerySettingsConsequenceFactory, + SeqvarsQuerySettingsFactory, + SeqvarsQuerySettingsFrequencyFactory, + SeqvarsQuerySettingsGenotypeFactory, + SeqvarsQuerySettingsLocusFactory, + SeqvarsQuerySettingsPhenotypePrioFactory, + SeqvarsQuerySettingsQualityFactory, + SeqvarsQuerySettingsVariantPrioFactory, + SeqvarsResultRowFactory, + SeqvarsResultSetFactory, ) +from seqvars.tests.test_factory_defaults import canonicalize_dicts from variants.tests.factories import CaseFactory from variants.tests.helpers import ApiViewTestBase @@ -87,7 +90,7 @@ class TestQueryPresetsSetViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) def test_list(self): with self.login(self.superuser): @@ -98,7 +101,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsSetSerializer(self.querypresetsset).data + result_json = SeqvarsQueryPresetsSetSerializer(self.querypresetsset).data result_json["project"] = str(result_json["project"]) self.assertDictEqual( response.json(), @@ -116,7 +119,7 @@ def test_list(self): ] ) def test_create(self, data_override: dict[str, Any]): - self.assertEqual(QueryPresetsSet.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -126,7 +129,7 @@ def test_create(self, data_override: dict[str, Any]): data={**{"rank": 1, "label": "test"}, **data_override}, ) self.assertEqual(response.status_code, 201) - self.assertEqual(QueryPresetsSet.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -140,7 +143,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsSetSerializer(self.querypresetsset).data + result_json = SeqvarsQueryPresetsSetSerializer(self.querypresetsset).data result_json["project"] = str(result_json["project"]) self.assertDictEqual(response.json(), result_json) @@ -196,7 +199,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.querypresetsset, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsSet.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -211,15 +214,38 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsSet.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsSet.objects.count(), 0) + + +@freeze_time("2012-01-14 12:00:01") +class TestQueryPresetsFactoryDefaultsViewSet(TestCaseSnapshot, ApiViewTestBase): + def test_list(self): + response = self.client.get( + reverse("seqvars:api-querypresetsfactorydefaults-list"), + ) + self.assertEqual(response.status_code, 200) + self.assertMatchSnapshot(canonicalize_dicts(response.json())) + + def test_retrieve(self): + record_genome = create_seqvarspresetsset_short_read_genome() + response = self.client.get( + reverse( + "seqvars:api-querypresetsfactorydefaults-detail", + kwargs={"querypresetsset": record_genome.sodar_uuid}, + ), + ) + self.assertEqual(response.status_code, 200) + self.assertMatchSnapshot(canonicalize_dicts(response.json())) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsSetVersionViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.querypresetsset = QueryPresetsSetFactory(project=self.project) - self.querypresetssetversion = QueryPresetsSetVersionFactory(presetsset=self.querypresetsset) + self.querypresetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.querypresetssetversion = SeqvarsQueryPresetsSetVersionFactory( + presetsset=self.querypresetsset + ) def test_list(self): with self.login(self.superuser): @@ -230,7 +256,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsSetVersionSerializer(self.querypresetssetversion).data + result_json = SeqvarsQueryPresetsSetVersionSerializer(self.querypresetssetversion).data result_json["presetsset"] = str(result_json["presetsset"]) self.assertDictEqual( response.json(), @@ -248,7 +274,7 @@ def test_list(self): ] ) def test_create(self, data_override: dict[str, Any]): - self.assertEqual(QueryPresetsSetVersion.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -259,13 +285,13 @@ def test_create(self, data_override: dict[str, Any]): **{ "version_major": 1, "version_minor": self.querypresetssetversion.version_minor + 1, - "status": QueryPresetsSetVersion.STATUS_ACTIVE, + "status": SeqvarsQueryPresetsSetVersion.STATUS_ACTIVE, }, **data_override, }, ) self.assertEqual(response.status_code, 201) - self.assertEqual(QueryPresetsSetVersion.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -279,7 +305,9 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsSetVersionDetailsSerializer(self.querypresetssetversion).data + result_json = SeqvarsQueryPresetsSetVersionDetailsSerializer( + self.querypresetssetversion + ).data result_json["presetsset"] = dict(result_json["presetsset"]) result_json["presetsset"]["project"] = str(result_json["presetsset"]["project"]) self.assertDictEqual(response.json(), result_json) @@ -335,7 +363,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.querypresetssetversion, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsSetVersion.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -350,16 +378,18 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsSetVersion.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsSetVersion.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsQualityViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsquality = QueryPresetsQualityFactory(presetssetversion=self.presetssetversion) + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsquality = SeqvarsQueryPresetsQualityFactory( + presetssetversion=self.presetssetversion + ) def test_list(self): with self.login(self.superuser): @@ -372,7 +402,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsQualitySerializer(self.presetsquality).data + result_json = SeqvarsQueryPresetsQualitySerializer(self.presetsquality).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -384,7 +414,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsQuality.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -396,7 +426,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsQuality.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -410,7 +440,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsQualitySerializer(self.presetsquality).data + result_json = SeqvarsQueryPresetsQualitySerializer(self.presetsquality).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -466,7 +496,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsquality, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsQuality.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -481,16 +511,16 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsQuality.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsQuality.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsConsequenceViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsconsequence = QueryPresetsConsequenceFactory( + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsconsequence = SeqvarsQueryPresetsConsequenceFactory( presetssetversion=self.presetssetversion ) @@ -505,7 +535,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsConsequenceSerializer(self.presetsconsequence).data + result_json = SeqvarsQueryPresetsConsequenceSerializer(self.presetsconsequence).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -517,7 +547,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsConsequence.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -529,7 +559,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsConsequence.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -543,7 +573,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsConsequenceSerializer(self.presetsconsequence).data + result_json = SeqvarsQueryPresetsConsequenceSerializer(self.presetsconsequence).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -599,7 +629,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsconsequence, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsConsequence.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -614,16 +644,16 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsConsequence.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsConsequence.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsFrequencyViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsfrequency = QueryPresetsFrequencyFactory( + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsfrequency = SeqvarsQueryPresetsFrequencyFactory( presetssetversion=self.presetssetversion ) @@ -638,7 +668,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsFrequencySerializer(self.presetsfrequency).data + result_json = SeqvarsQueryPresetsFrequencySerializer(self.presetsfrequency).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -650,7 +680,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -662,7 +692,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsFrequency.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -676,7 +706,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsFrequencySerializer(self.presetsfrequency).data + result_json = SeqvarsQueryPresetsFrequencySerializer(self.presetsfrequency).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -732,7 +762,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsfrequency, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -747,16 +777,18 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsFrequency.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsFrequency.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsLocusViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetslocus = QueryPresetsLocusFactory(presetssetversion=self.presetssetversion) + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetslocus = SeqvarsQueryPresetsLocusFactory( + presetssetversion=self.presetssetversion + ) def test_list(self): with self.login(self.superuser): @@ -769,7 +801,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsLocusSerializer(self.presetslocus).data + result_json = SeqvarsQueryPresetsLocusSerializer(self.presetslocus).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -781,7 +813,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsLocus.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -793,7 +825,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsLocus.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -807,7 +839,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsLocusSerializer(self.presetslocus).data + result_json = SeqvarsQueryPresetsLocusSerializer(self.presetslocus).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -863,7 +895,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetslocus, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsLocus.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -878,16 +910,16 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsLocus.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsLocus.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsPhenotypePrioViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsphenotypeprio = QueryPresetsPhenotypePrioFactory( + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsphenotypeprio = SeqvarsQueryPresetsPhenotypePrioFactory( presetssetversion=self.presetssetversion ) @@ -902,7 +934,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsPhenotypePrioSerializer(self.presetsphenotypeprio).data + result_json = SeqvarsQueryPresetsPhenotypePrioSerializer(self.presetsphenotypeprio).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -914,7 +946,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -926,7 +958,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -940,7 +972,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsPhenotypePrioSerializer(self.presetsphenotypeprio).data + result_json = SeqvarsQueryPresetsPhenotypePrioSerializer(self.presetsphenotypeprio).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -996,7 +1028,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsphenotypeprio, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1011,16 +1043,16 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsPhenotypePrio.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsPhenotypePrio.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsVariantPrioViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsvariantprio = QueryPresetsVariantPrioFactory( + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsvariantprio = SeqvarsQueryPresetsVariantPrioFactory( presetssetversion=self.presetssetversion ) @@ -1035,7 +1067,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsVariantPrioSerializer(self.presetsvariantprio).data + result_json = SeqvarsQueryPresetsVariantPrioSerializer(self.presetsvariantprio).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -1047,7 +1079,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -1059,7 +1091,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1073,7 +1105,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsVariantPrioSerializer(self.presetsvariantprio).data + result_json = SeqvarsQueryPresetsVariantPrioSerializer(self.presetsvariantprio).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -1129,7 +1161,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsvariantprio, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1144,16 +1176,18 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsVariantPrio.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsVariantPrio.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsColumnsViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetscolumns = QueryPresetsColumnsFactory(presetssetversion=self.presetssetversion) + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetscolumns = SeqvarsQueryPresetsColumnsFactory( + presetssetversion=self.presetssetversion + ) def test_list(self): with self.login(self.superuser): @@ -1166,7 +1200,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsColumnsSerializer(self.presetscolumns).data + result_json = SeqvarsQueryPresetsColumnsSerializer(self.presetscolumns).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -1178,7 +1212,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsColumns.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -1190,7 +1224,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsColumns.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1204,7 +1238,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsColumnsSerializer(self.presetscolumns).data + result_json = SeqvarsQueryPresetsColumnsSerializer(self.presetscolumns).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -1260,7 +1294,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetscolumns, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsColumns.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1275,16 +1309,18 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsColumns.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsColumns.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class TestQueryPresetsClinvarViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.presetsclinvar = QueryPresetsClinvarFactory(presetssetversion=self.presetssetversion) + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.presetsclinvar = SeqvarsQueryPresetsClinvarFactory( + presetssetversion=self.presetssetversion + ) def test_list(self): with self.login(self.superuser): @@ -1297,7 +1333,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsClinvarSerializer(self.presetsclinvar).data + result_json = SeqvarsQueryPresetsClinvarSerializer(self.presetsclinvar).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -1309,7 +1345,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QueryPresetsClinvar.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -1321,7 +1357,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QueryPresetsClinvar.objects.count(), 2) + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1335,7 +1371,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryPresetsClinvarSerializer(self.presetsclinvar).data + result_json = SeqvarsQueryPresetsClinvarSerializer(self.presetsclinvar).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -1391,7 +1427,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.presetsclinvar, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QueryPresetsClinvar.objects.count(), 1) + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1406,16 +1442,18 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QueryPresetsClinvar.objects.count(), 0) + self.assertEqual(SeqvarsQueryPresetsClinvar.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") class PredefinedQueryViewSet(ApiViewTestBase): def setUp(self): super().setUp() - self.presetsset = QueryPresetsSetFactory(project=self.project) - self.presetssetversion = QueryPresetsSetVersionFactory(presetsset=self.presetsset) - self.predefinedquery = PredefinedQueryFactory(presetssetversion=self.presetssetversion) + self.presetsset = SeqvarsQueryPresetsSetFactory(project=self.project) + self.presetssetversion = SeqvarsQueryPresetsSetVersionFactory(presetsset=self.presetsset) + self.predefinedquery = SeqvarsPredefinedQueryFactory( + presetssetversion=self.presetssetversion + ) def test_list(self): with self.login(self.superuser): @@ -1428,7 +1466,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = PredefinedQuerySerializer(self.predefinedquery).data + result_json = SeqvarsPredefinedQuerySerializer(self.predefinedquery).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual( response.json(), @@ -1440,7 +1478,7 @@ def test_list(self): ) def test_create(self): - self.assertEqual(PredefinedQuery.objects.count(), 1) + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -1452,7 +1490,7 @@ def test_create(self): data={"rank": 1, "label": "test"}, ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(PredefinedQuery.objects.count(), 2) + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1466,7 +1504,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = PredefinedQuerySerializer(self.predefinedquery).data + result_json = SeqvarsPredefinedQuerySerializer(self.predefinedquery).data result_json["presetssetversion"] = str(result_json["presetssetversion"]) self.assertDictEqual(response.json(), result_json) @@ -1522,7 +1560,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.predefinedquery, key), value, f"key={key}") def test_delete(self): - self.assertEqual(PredefinedQuery.objects.count(), 1) + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1537,7 +1575,7 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(PredefinedQuery.objects.count(), 0) + self.assertEqual(SeqvarsPredefinedQuery.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") @@ -1547,7 +1585,7 @@ def setUp(self): self.case = CaseFactory(project=self.project) self.caseanalysis = CaseAnalysisFactory(case=self.case) self.session = CaseAnalysisSessionFactory(caseanalysis=self.caseanalysis) - self.querysettings = QuerySettingsFactory(session=self.session) + self.querysettings = SeqvarsQuerySettingsFactory(session=self.session) def test_list(self): with self.login(self.superuser): @@ -1560,7 +1598,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QuerySettingsSerializer(self.querysettings).data + result_json = SeqvarsQuerySettingsSerializer(self.querysettings).data result_json["session"] = str(result_json["session"]) self.assertDictEqual( response.json(), @@ -1572,8 +1610,8 @@ def test_list(self): ) def test_create(self): - self.assertEqual(QuerySettings.objects.count(), 1) - self.assertEqual(QuerySettingsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 1) with self.login(self.superuser): response = self.client.post( reverse( @@ -1583,36 +1621,36 @@ def test_create(self): }, ), data={ - "genotype": QuerySettingsGenotypeSerializer( - QuerySettingsGenotypeFactory.build(querysettings=None) + "genotype": SeqvarsQuerySettingsGenotypeSerializer( + SeqvarsQuerySettingsGenotypeFactory.build(querysettings=None) ).data, - "quality": QuerySettingsQualitySerializer( - QuerySettingsQualityFactory.build(querysettings=None) + "quality": SeqvarsQuerySettingsQualitySerializer( + SeqvarsQuerySettingsQualityFactory.build(querysettings=None) ).data, - "consequence": QuerySettingsConsequenceSerializer( - QuerySettingsConsequenceFactory.build(querysettings=None) + "consequence": SeqvarsQuerySettingsConsequenceSerializer( + SeqvarsQuerySettingsConsequenceFactory.build(querysettings=None) ).data, - "locus": QuerySettingsLocusSerializer( - QuerySettingsLocusFactory.build(querysettings=None) + "locus": SeqvarsQuerySettingsLocusSerializer( + SeqvarsQuerySettingsLocusFactory.build(querysettings=None) ).data, - "frequency": QuerySettingsFrequencySerializer( - QuerySettingsFrequencyFactory.build(querysettings=None) + "frequency": SeqvarsQuerySettingsFrequencySerializer( + SeqvarsQuerySettingsFrequencyFactory.build(querysettings=None) ).data, - "phenotypeprio": QuerySettingsPhenotypePrioSerializer( - QuerySettingsPhenotypePrioFactory.build(querysettings=None) + "phenotypeprio": SeqvarsQuerySettingsPhenotypePrioSerializer( + SeqvarsQuerySettingsPhenotypePrioFactory.build(querysettings=None) ).data, - "variantprio": QuerySettingsVariantPrioSerializer( - QuerySettingsVariantPrioFactory.build(querysettings=None) + "variantprio": SeqvarsQuerySettingsVariantPrioSerializer( + SeqvarsQuerySettingsVariantPrioFactory.build(querysettings=None) ).data, - "clinvar": QuerySettingsClinvarSerializer( - QuerySettingsClinvarFactory.build(querysettings=None) + "clinvar": SeqvarsQuerySettingsClinvarSerializer( + SeqvarsQuerySettingsClinvarFactory.build(querysettings=None) ).data, }, format="json", ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(QuerySettings.objects.count(), 2) - self.assertEqual(QuerySettingsFrequency.objects.count(), 2) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 2) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1626,7 +1664,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QuerySettingsDetailsSerializer(self.querysettings).data + result_json = SeqvarsQuerySettingsDetailsSerializer(self.querysettings).data result_json["session"] = str(result_json["session"]) self.assertDictEqual(response.json(), result_json) @@ -1694,7 +1732,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.querysettings, key), value, f"key={key}") def test_delete(self): - self.assertEqual(QuerySettings.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1709,7 +1747,7 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(QuerySettings.objects.count(), 0) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") @@ -1721,7 +1759,7 @@ def setUp(self): self.session = CaseAnalysisSessionFactory( caseanalysis=self.caseanalysis, user=self.superuser ) - self.query = QueryFactory(session=self.session) + self.query = SeqvarsQueryFactory(session=self.session) def test_list(self): with self.login(self.superuser): @@ -1734,7 +1772,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QuerySerializer(self.query).data + result_json = SeqvarsQuerySerializer(self.query).data self.assertDictEqual( response.json(), { @@ -1745,43 +1783,43 @@ def test_list(self): ) def test_create(self): - self.assertEqual(Query.objects.count(), 1) - self.assertEqual(QuerySettings.objects.count(), 1) - self.assertEqual(QuerySettingsFrequency.objects.count(), 1) + self.assertEqual(SeqvarsQuery.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 1) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 1) with self.login(self.superuser): - settings = QuerySettingsSerializer( - QuerySettingsFactory.build(), + settings = SeqvarsQuerySettingsSerializer( + SeqvarsQuerySettingsFactory.build(), ).data - settings["frequency"] = QuerySettingsFrequencySerializer( - QuerySettingsFrequencyFactory.build(querysettings=None) + settings["frequency"] = SeqvarsQuerySettingsFrequencySerializer( + SeqvarsQuerySettingsFrequencyFactory.build(querysettings=None) ).data - settings["genotype"] = QuerySettingsGenotypeSerializer( - QuerySettingsGenotypeFactory.build(querysettings=None) + settings["genotype"] = SeqvarsQuerySettingsGenotypeSerializer( + SeqvarsQuerySettingsGenotypeFactory.build(querysettings=None) ).data - settings["quality"] = QuerySettingsQualitySerializer( - QuerySettingsQualityFactory.build(querysettings=None) + settings["quality"] = SeqvarsQuerySettingsQualitySerializer( + SeqvarsQuerySettingsQualityFactory.build(querysettings=None) ).data - settings["consequence"] = QuerySettingsConsequenceSerializer( - QuerySettingsConsequenceFactory.build(querysettings=None) + settings["consequence"] = SeqvarsQuerySettingsConsequenceSerializer( + SeqvarsQuerySettingsConsequenceFactory.build(querysettings=None) ).data - settings["locus"] = QuerySettingsLocusSerializer( - QuerySettingsLocusFactory.build(querysettings=None) + settings["locus"] = SeqvarsQuerySettingsLocusSerializer( + SeqvarsQuerySettingsLocusFactory.build(querysettings=None) ).data - settings["frequency"] = QuerySettingsFrequencySerializer( - QuerySettingsFrequencyFactory.build(querysettings=None) + settings["frequency"] = SeqvarsQuerySettingsFrequencySerializer( + SeqvarsQuerySettingsFrequencyFactory.build(querysettings=None) ).data - settings["phenotypeprio"] = QuerySettingsPhenotypePrioSerializer( - QuerySettingsPhenotypePrioFactory.build(querysettings=None) + settings["phenotypeprio"] = SeqvarsQuerySettingsPhenotypePrioSerializer( + SeqvarsQuerySettingsPhenotypePrioFactory.build(querysettings=None) ).data - settings["variantprio"] = QuerySettingsVariantPrioSerializer( - QuerySettingsVariantPrioFactory.build(querysettings=None) + settings["variantprio"] = SeqvarsQuerySettingsVariantPrioSerializer( + SeqvarsQuerySettingsVariantPrioFactory.build(querysettings=None) ).data - settings["clinvar"] = QuerySettingsClinvarSerializer( - QuerySettingsClinvarFactory.build(querysettings=None) + settings["clinvar"] = SeqvarsQuerySettingsClinvarSerializer( + SeqvarsQuerySettingsClinvarFactory.build(querysettings=None) ).data - columnsconfig = QueryColumnsConfigSerializer( - QueryColumnsConfigFactory.build(query=None) + columnsconfig = SeqvarsQueryColumnsConfigSerializer( + SeqvarsQueryColumnsConfigFactory.build(seqvarsquery=None) ).data response = self.client.post( @@ -1799,9 +1837,9 @@ def test_create(self): format="json", ) self.assertEqual(response.status_code, 201, response.content) - self.assertEqual(Query.objects.count(), 2) - self.assertEqual(QuerySettings.objects.count(), 2) - self.assertEqual(QuerySettingsFrequency.objects.count(), 2) + self.assertEqual(SeqvarsQuery.objects.count(), 2) + self.assertEqual(SeqvarsQuerySettings.objects.count(), 2) + self.assertEqual(SeqvarsQuerySettingsFrequency.objects.count(), 2) def test_retrieve_existing(self): with self.login(self.superuser): @@ -1815,7 +1853,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryDetailsSerializer(self.query).data + result_json = SeqvarsQueryDetailsSerializer(self.query).data self.assertDictEqual(response.json(), result_json) @parameterized.expand( @@ -1923,7 +1961,7 @@ def test_patch(self, data: dict[str, Any]): self.assertEqual(getattr(self.query, key), value, f"key={key}") def test_delete(self): - self.assertEqual(Query.objects.count(), 1) + self.assertEqual(SeqvarsQuery.objects.count(), 1) with self.login(self.superuser): response = self.client.delete( @@ -1938,7 +1976,7 @@ def test_delete(self): self.assertEqual(response.status_code, 204) - self.assertEqual(Query.objects.count(), 0) + self.assertEqual(SeqvarsQuery.objects.count(), 0) @freeze_time("2012-01-14 12:00:01") @@ -1950,8 +1988,8 @@ def setUp(self): self.session = CaseAnalysisSessionFactory( caseanalysis=self.caseanalysis, user=self.superuser ) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) def test_list(self): with self.login(self.superuser): @@ -1964,7 +2002,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryExecutionSerializer(self.queryexecution).data + result_json = SeqvarsQueryExecutionSerializer(self.queryexecution).data self.assertDictEqual( response.json(), { @@ -1986,7 +2024,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = QueryExecutionDetailsSerializer(self.queryexecution).data + result_json = SeqvarsQueryExecutionDetailsSerializer(self.queryexecution).data self.assertDictEqual(response.json(), result_json) @parameterized.expand( @@ -2021,9 +2059,9 @@ def setUp(self): self.session = CaseAnalysisSessionFactory( caseanalysis=self.caseanalysis, user=self.superuser ) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) - self.resultset = ResultSetFactory(queryexecution=self.queryexecution) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) + self.resultset = SeqvarsResultSetFactory(queryexecution=self.queryexecution) def test_list(self): with self.login(self.superuser): @@ -2036,7 +2074,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = ResultSetSerializer(self.resultset).data + result_json = SeqvarsResultSetSerializer(self.resultset).data self.assertDictEqual( response.json(), { @@ -2058,7 +2096,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = ResultSetSerializer(self.resultset).data + result_json = SeqvarsResultSetSerializer(self.resultset).data self.assertDictEqual(response.json(), result_json) @parameterized.expand( @@ -2093,10 +2131,10 @@ def setUp(self): self.session = CaseAnalysisSessionFactory( caseanalysis=self.caseanalysis, user=self.superuser ) - self.query = QueryFactory(session=self.session) - self.queryexecution = QueryExecutionFactory(query=self.query) - self.resultset = ResultSetFactory(queryexecution=self.queryexecution) - self.seqvarresultrow = ResultRowFactory(resultset=self.resultset) + self.query = SeqvarsQueryFactory(session=self.session) + self.queryexecution = SeqvarsQueryExecutionFactory(query=self.query) + self.resultset = SeqvarsResultSetFactory(queryexecution=self.queryexecution) + self.seqvarresultrow = SeqvarsResultRowFactory(resultset=self.resultset) def test_list(self): with self.login(self.superuser): @@ -2109,7 +2147,7 @@ def test_list(self): ) ) self.assertEqual(response.status_code, 200) - result_json = ResultRowSerializer(self.seqvarresultrow).data + result_json = SeqvarsResultRowSerializer(self.seqvarresultrow).data self.assertDictEqual( response.json(), { @@ -2131,7 +2169,7 @@ def test_retrieve_existing(self): ) ) self.assertEqual(response.status_code, 200) - result_json = ResultRowSerializer(self.seqvarresultrow).data + result_json = SeqvarsResultRowSerializer(self.seqvarresultrow).data self.assertDictEqual(response.json(), result_json) @parameterized.expand( diff --git a/backend/seqvars/urls.py b/backend/seqvars/urls.py index 08dae20df..c2ea3d6d7 100644 --- a/backend/seqvars/urls.py +++ b/backend/seqvars/urls.py @@ -5,84 +5,89 @@ # Create a router and register our ViewSets with it. router = DefaultRouter() +router.register( + r"api/querypresetsfactorydefaults", + views_api.SeqvarsQueryPresetsFactoryDefaultsViewSet, + basename="api-querypresetsfactorydefaults", +) router.register( r"api/querypresetsset/(?P[0-9a-f-]+)", - views_api.QueryPresetsSetViewSet, + views_api.SeqvarsQueryPresetsSetViewSet, basename="api-querypresetsset", ) router.register( r"api/querypresetssetversion/(?P[0-9a-f-]+)", - views_api.QueryPresetsSetVersionViewSet, + views_api.SeqvarsQueryPresetsSetVersionViewSet, basename="api-querypresetssetversion", ) router.register( r"api/querypresetsquality/(?P[0-9a-f-]+)", - views_api.QueryPresetsQualityViewSet, + views_api.SeqvarsQueryPresetsQualityViewSet, basename="api-querypresetsquality", ) router.register( r"api/querypresetsfrequency/(?P[0-9a-f-]+)", - views_api.QueryPresetsFrequencyViewSet, + views_api.SeqvarsQueryPresetsFrequencyViewSet, basename="api-querypresetsfrequency", ) router.register( r"api/querypresetsconsequence/(?P[0-9a-f-]+)", - views_api.QueryPresetsConsequenceViewSet, + views_api.SeqvarsQueryPresetsConsequenceViewSet, basename="api-querypresetsconsequence", ) router.register( r"api/querypresetslocus/(?P[0-9a-f-]+)", - views_api.QueryPresetsLocusViewSet, + views_api.SeqvarsQueryPresetsLocusViewSet, basename="api-querypresetslocus", ) router.register( r"api/querypresetsphenotypeprio/(?P[0-9a-f-]+)", - views_api.QueryPresetsPhenotypePrioViewSet, + views_api.SeqvarsQueryPresetsPhenotypePrioViewSet, basename="api-querypresetsphenotypeprio", ) router.register( r"api/querypresetsvariantprio/(?P[0-9a-f-]+)", - views_api.QueryPresetsVariantPrioViewSet, + views_api.SeqvarsQueryPresetsVariantPrioViewSet, basename="api-querypresetsvariantprio", ) router.register( r"api/querypresetsclinvar/(?P[0-9a-f-]+)", - views_api.QueryPresetsClinvarViewSet, + views_api.SeqvarsQueryPresetsClinvarViewSet, basename="api-querypresetsclinvar", ) router.register( r"api/querypresetscolumns/(?P[0-9a-f-]+)", - views_api.QueryPresetsColumnsViewSet, + views_api.SeqvarsQueryPresetsColumnsViewSet, basename="api-querypresetscolumns", ) router.register( r"api/predefinedquery/(?P[0-9a-f-]+)", - views_api.PredefinedQueryViewSet, + views_api.SeqvarsPredefinedQueryViewSet, basename="api-predefinedquery", ) router.register( r"api/querysettings/(?P[0-9a-f-]+)", - views_api.QuerySettingsViewSet, + views_api.SeqvarsQuerySettingsViewSet, basename="api-querysettings", ) router.register( r"api/query/(?P[0-9a-f-]+)", - views_api.QueryViewSet, + views_api.SeqvarsQueryViewSet, basename="api-query", ) router.register( r"api/queryexecution/(?P[0-9a-f-]+)", - views_api.QueryExecutionViewSet, + views_api.SeqvarsQueryExecutionViewSet, basename="api-queryexecution", ) router.register( r"api/resultset/(?P[0-9a-f-]+)", - views_api.ResultSetViewSet, + views_api.SeqvarsResultSetViewSet, basename="api-resultset", ) router.register( r"api/resultrow/(?P[0-9a-f-]+)", - views_api.ResultRowViewSet, + views_api.SeqvarsResultRowViewSet, basename="api-resultrow", ) diff --git a/backend/seqvars/views_api.py b/backend/seqvars/views_api.py index f4a9f7b45..c09b71925 100644 --- a/backend/seqvars/views_api.py +++ b/backend/seqvars/views_api.py @@ -2,7 +2,8 @@ from django.core.exceptions import ObjectDoesNotExist from django.shortcuts import get_object_or_404 -from django_pydantic_field.rest_framework import AutoSchema +from drf_spectacular.openapi import AutoSchema +from modelcluster.queryset import FakeQuerySet from projectroles.models import Project from projectroles.views_api import SODARAPIProjectPermission from rest_framework import viewsets @@ -12,41 +13,43 @@ from cases_analysis.models import CaseAnalysisSession from seqvars.factory_defaults import ( - create_presetsset_short_read_exome_legacy, - create_presetsset_short_read_exome_modern, - create_presetsset_short_read_genome, + create_seqvarspresetsset_short_read_exome_legacy, + create_seqvarspresetsset_short_read_exome_modern, + create_seqvarspresetsset_short_read_genome, ) from seqvars.models import ( - Query, - QueryExecution, - QueryPresetsSet, - QueryPresetsSetVersion, - QuerySettings, - ResultRow, - ResultSet, + SeqvarsQuery, + SeqvarsQueryExecution, + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersion, + SeqvarsQuerySettings, + SeqvarsResultRow, + SeqvarsResultSet, ) from seqvars.serializers import ( - PredefinedQuerySerializer, - QueryDetailsSerializer, - QueryExecutionDetailsSerializer, - QueryExecutionSerializer, - QueryPresetsClinvarSerializer, - QueryPresetsColumnsSerializer, - QueryPresetsConsequenceSerializer, - QueryPresetsFrequencySerializer, - QueryPresetsLocusSerializer, - QueryPresetsPhenotypePrioSerializer, - QueryPresetsQualitySerializer, - QueryPresetsSetSerializer, - QueryPresetsSetVersionDetailsSerializer, - QueryPresetsSetVersionSerializer, - QueryPresetsVariantPrioSerializer, - QuerySerializer, - QuerySettingsDetailsSerializer, - QuerySettingsSerializer, - ResultRowSerializer, - ResultSetSerializer, + SeqvarsPredefinedQuerySerializer, + SeqvarsQueryDetailsSerializer, + SeqvarsQueryExecutionDetailsSerializer, + SeqvarsQueryExecutionSerializer, + SeqvarsQueryPresetsClinvarSerializer, + SeqvarsQueryPresetsColumnsSerializer, + SeqvarsQueryPresetsConsequenceSerializer, + SeqvarsQueryPresetsFrequencySerializer, + SeqvarsQueryPresetsLocusSerializer, + SeqvarsQueryPresetsPhenotypePrioSerializer, + SeqvarsQueryPresetsQualitySerializer, + SeqvarsQueryPresetsSetDetailsSerializer, + SeqvarsQueryPresetsSetSerializer, + SeqvarsQueryPresetsSetVersionDetailsSerializer, + SeqvarsQueryPresetsSetVersionSerializer, + SeqvarsQueryPresetsVariantPrioSerializer, + SeqvarsQuerySerializer, + SeqvarsQuerySettingsDetailsSerializer, + SeqvarsQuerySettingsSerializer, + SeqvarsResultRowSerializer, + SeqvarsResultSetSerializer, ) +from varfish.api_utils import VarfishApiRenderer, VarfishApiVersioning from variants.models.case import Case @@ -65,22 +68,24 @@ def get_project(kwargs): project = get_object_or_404(Project.objects.all(), sodar_uuid=kwargs["project"]) elif "querypresetssetversion" in kwargs: querypresetssetversion = get_object_or_404( - QueryPresetsSetVersion.objects.all(), sodar_uuid=kwargs["querypresetssetversion"] + SeqvarsQueryPresetsSetVersion.objects.all(), sodar_uuid=kwargs["querypresetssetversion"] ) project = querypresetssetversion.presetsset.project elif "querypresetsset" in kwargs: querypresetsset = get_object_or_404( - QueryPresetsSet.objects.all(), sodar_uuid=kwargs["querypresetsset"] + SeqvarsQueryPresetsSet.objects.all(), sodar_uuid=kwargs["querypresetsset"] ) project = querypresetsset.project elif "session" in kwargs: session = get_object_or_404(CaseAnalysisSession.objects.all(), sodar_uuid=kwargs["session"]) project = session.caseanalysis.case.project elif "query" in kwargs: - query = get_object_or_404(Query.objects.all(), sodar_uuid=kwargs["query"]) + query = get_object_or_404(SeqvarsQuery.objects.all(), sodar_uuid=kwargs["query"]) project = query.session.caseanalysis.case.project elif "resultset" in kwargs: - resultset = get_object_or_404(ResultSet.objects.all(), sodar_uuid=kwargs["resultset"]) + resultset = get_object_or_404( + SeqvarsResultSet.objects.all(), sodar_uuid=kwargs["resultset"] + ) project = resultset.queryexecution.query.session.caseanalysis.case.project elif "case" in kwargs: case = get_object_or_404(Case.objects.all(), sodar_uuid=kwargs["case"]) @@ -90,7 +95,7 @@ def get_project(kwargs): return project -class QueryPresetsPermission(SODARAPIProjectPermission): +class SeqvarsQueryPresetsPermission(SODARAPIProjectPermission): """Permission class that obtains the project from the ``lookup_kwarg`` parameter in URL.""" def get_project(self, request=None, kwargs=None): @@ -98,17 +103,22 @@ def get_project(self, request=None, kwargs=None): return get_project(kwargs) -class BaseViewSetMixin: +class VersioningViewSetMixin: + """Mixin for renderer and versioning.""" + + renderer_classes = [VarfishApiRenderer] + versioning_class = VarfishApiVersioning + + +class BaseViewSetMixin(VersioningViewSetMixin): """Base mixin for view sets.""" #: Use canonical lookup field ``sodar_uuid``. lookup_field = "sodar_uuid" #: Use the app's standard pagination. pagination_class = StandardPagination - #: Enable generation of OpenAPI schemas for pydantic field. - schema = AutoSchema() #: Use the custom permission class. - permission_classes = [QueryPresetsPermission] + permission_classes = [SeqvarsQueryPresetsPermission] def get_permission_required(self): """Return the permission required for the current action.""" @@ -145,6 +155,8 @@ def get_queryset(self): assert self.serializer_class.Meta.model result = self.serializer_class.Meta.model.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(project__sodar_uuid=self.kwargs["project"]) return result @@ -157,17 +169,19 @@ def get_serializer_context(self): return context -class QueryPresetsSetViewSet(ProjectContextBaseViewSet, BaseViewSet): +class SeqvarsQueryPresetsSetViewSet(ProjectContextBaseViewSet, BaseViewSet): """ViewSet for the ``QueryPresetsSet`` model.""" #: Define lookup URL kwarg. lookup_url_kwarg = "querypresetsset" #: The default serializer class to use. - serializer_class = QueryPresetsSetSerializer + serializer_class = SeqvarsQueryPresetsSetSerializer def get_queryset(self): """Return queryset with all ``QueryPresetsSet`` records for the given project.""" - result = QueryPresetsSet.objects.all() + result = SeqvarsQueryPresetsSet.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(project__sodar_uuid=self.kwargs["project"]) return result @@ -179,9 +193,9 @@ def copy_from(self, *args, **kwargs): source = self.get_queryset().get(sodar_uuid=kwargs["sodar_uuid"]) except ObjectDoesNotExist: for value in ( - create_presetsset_short_read_genome(), - create_presetsset_short_read_exome_modern(), - create_presetsset_short_read_exome_legacy(), + create_seqvarspresetsset_short_read_genome(), + create_seqvarspresetsset_short_read_exome_modern(), + create_seqvarspresetsset_short_read_exome_legacy(), ): if str(value.sodar_uuid) == kwargs["sodar_uuid"]: source = value @@ -190,22 +204,81 @@ def copy_from(self, *args, **kwargs): instance = source.clone_with_latest_version() serializer = self.get_serializer(instance) return Response(serializer.data) - return Response(snippet.highlighted) -class QueryPresetsSetVersionViewSet(ProjectContextBaseViewSet, BaseViewSet): +class FakeQueryPresetsSetQuerySet(FakeQuerySet): + """Helper class that fixes issue with calling ``get()`` with UUID. + + The actual implementation uses the ``python_value()`` of the query value + but not the field. + """ + + def get(self, *args, **kwargs): + if "sodar_uuid" in kwargs: + filtered = [ + obj for obj in self.results if str(obj.sodar_uuid) == str(kwargs["sodar_uuid"]) + ] + if filtered: + return filtered[0] + else: + raise ObjectDoesNotExist() + else: + return super().get(*args, **kwargs) + + +class SeqvarsQueryPresetsFactoryDefaultsViewSet( + VersioningViewSetMixin, viewsets.ReadOnlyModelViewSet +): + """ViewSet for listing the factory defaults. + + This is a public view, no permissions are required. + """ + + #: Use canonical lookup field ``sodar_uuid``. + lookup_field = "sodar_uuid" + #: Define lookup URL kwarg. + lookup_url_kwarg = "querypresetsset" + #: Use the app's standard pagination. + pagination_class = StandardPagination + #: Modify the schema operation ID to avoid name clashes with user-editable presets. + schema = AutoSchema( + # operation_id_base="QueryPresetsSetsFactoryDefaults" + ) + + def get_serializer_class(self): + """Allow overriding serializer class based on action.""" + if self.action == "retrieve": + return SeqvarsQueryPresetsSetDetailsSerializer + else: + return SeqvarsQueryPresetsSetSerializer + + def get_queryset(self): + """Return queryset with all ``QueryPresetsSetVersion`` records for the given presetsset.""" + return FakeQueryPresetsSetQuerySet( + model=SeqvarsQueryPresetsSetVersion, + results=[ + create_seqvarspresetsset_short_read_genome(), + create_seqvarspresetsset_short_read_exome_modern(), + create_seqvarspresetsset_short_read_exome_legacy(), + ], + ) + + +class SeqvarsQueryPresetsSetVersionViewSet(ProjectContextBaseViewSet, BaseViewSet): """ViewSet for the ``QueryPresetsSetVersion`` model.""" #: Define lookup URL kwarg. lookup_url_kwarg = "querypresetssetversion" #: The default serializer class to use. - serializer_class = QueryPresetsSetVersionSerializer + serializer_class = SeqvarsQueryPresetsSetVersionSerializer #: Override ``retrieve`` serializer to render all presets. - action_serializers = {"retrieve": QueryPresetsSetVersionDetailsSerializer} + action_serializers = {"retrieve": SeqvarsQueryPresetsSetVersionDetailsSerializer} def get_queryset(self): """Return queryset with all ``QueryPresetsSetVersion`` records for the given presetsset.""" - result = QueryPresetsSetVersion.objects.all() + result = SeqvarsQueryPresetsSetVersion.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(presetsset__sodar_uuid=self.kwargs["querypresetsset"]) return result @@ -214,7 +287,7 @@ def get_serializer_context(self): context = super().get_serializer_context() if sys.argv[1:2] == ["generateschema"]: # bail out for schema generation return context - context["presetsset"] = QueryPresetsSet.objects.get( + context["presetsset"] = SeqvarsQueryPresetsSet.objects.get( sodar_uuid=self.kwargs["querypresetsset"] ) context["project"] = context["presetsset"].project @@ -223,7 +296,7 @@ def get_serializer_context(self): return context -class SeqvarCategoryPresetsViewSetBase(ProjectContextBaseViewSet, BaseViewSet): +class SeqvarsCategoryPresetsViewSetBase(ProjectContextBaseViewSet, BaseViewSet): """ViewSet for the ``QueryPresets<*>ViewSet`` models.""" def get_queryset(self): @@ -233,6 +306,8 @@ def get_queryset(self): assert self.serializer_class.Meta.model result = self.serializer_class.Meta.model.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(presetssetversion__sodar_uuid=self.kwargs["querypresetssetversion"]) return result @@ -241,7 +316,7 @@ def get_serializer_context(self): context = super().get_serializer_context() if sys.argv[1:2] == ["generateschema"]: # bail out for schema generation return context - context["presetssetversion"] = QueryPresetsSetVersion.objects.get( + context["presetssetversion"] = SeqvarsQueryPresetsSetVersion.objects.get( sodar_uuid=self.kwargs["querypresetssetversion"] ) context["presetsset"] = context["presetssetversion"].presetsset @@ -249,88 +324,90 @@ def get_serializer_context(self): return context -class QueryPresetsQualityViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsQualityViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsQuality`` model.""" lookup_url_kwarg = "querypresetsquality" - serializer_class = QueryPresetsQualitySerializer + serializer_class = SeqvarsQueryPresetsQualitySerializer -class QueryPresetsConsequenceViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsConsequenceViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsConsequence`` model.""" lookup_url_kwarg = "querypresetsconsequence" - serializer_class = QueryPresetsConsequenceSerializer + serializer_class = SeqvarsQueryPresetsConsequenceSerializer -class QueryPresetsFrequencyViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsFrequencyViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsFrequency`` model.""" lookup_url_kwarg = "querypresetsfrequency" - serializer_class = QueryPresetsFrequencySerializer + serializer_class = SeqvarsQueryPresetsFrequencySerializer -class QueryPresetsLocusViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsLocusViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsLocus`` model.""" lookup_url_kwarg = "querypresetslocus" - serializer_class = QueryPresetsLocusSerializer + serializer_class = SeqvarsQueryPresetsLocusSerializer -class QueryPresetsPhenotypePrioViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsPhenotypePrioViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsPhenotypePrio`` model.""" lookup_url_kwarg = "querypresetsphenotypeprio" - serializer_class = QueryPresetsPhenotypePrioSerializer + serializer_class = SeqvarsQueryPresetsPhenotypePrioSerializer -class QueryPresetsVariantPrioViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsVariantPrioViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsVariantPrio`` model.""" lookup_url_kwarg = "querypresetsvariantprio" - serializer_class = QueryPresetsVariantPrioSerializer + serializer_class = SeqvarsQueryPresetsVariantPrioSerializer -class QueryPresetsColumnsViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsColumnsViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsColumns`` model.""" lookup_url_kwarg = "querypresetscolumns" - serializer_class = QueryPresetsColumnsSerializer + serializer_class = SeqvarsQueryPresetsColumnsSerializer -class QueryPresetsClinvarViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsQueryPresetsClinvarViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``QueryPresetsClinvar`` model.""" lookup_url_kwarg = "querypresetsclinvar" - serializer_class = QueryPresetsClinvarSerializer + serializer_class = SeqvarsQueryPresetsClinvarSerializer -class PredefinedQueryViewSet(SeqvarCategoryPresetsViewSetBase): +class SeqvarsPredefinedQueryViewSet(SeqvarsCategoryPresetsViewSetBase): """ViewSet for the ``PredefinedQuery`` model.""" lookup_url_kwarg = "predefinedquery" - serializer_class = PredefinedQuerySerializer + serializer_class = SeqvarsPredefinedQuerySerializer -class QuerySettingsViewSet(BaseViewSet): +class SeqvarsQuerySettingsViewSet(BaseViewSet): """ViewSet for the ``QuerySettings`` model.""" #: Define lookup URL kwarg. lookup_url_kwarg = "querysettings" #: The default serializer class to use. - serializer_class = QuerySettingsSerializer + serializer_class = SeqvarsQuerySettingsSerializer #: Override ``create`` and ``*-detail`` serializer to render all presets. action_serializers = { - "create": QuerySettingsDetailsSerializer, - "retrieve": QuerySettingsDetailsSerializer, - "update": QuerySettingsDetailsSerializer, - "partial_update": QuerySettingsDetailsSerializer, - "delete": QuerySettingsDetailsSerializer, + "create": SeqvarsQuerySettingsDetailsSerializer, + "retrieve": SeqvarsQuerySettingsDetailsSerializer, + "update": SeqvarsQuerySettingsDetailsSerializer, + "partial_update": SeqvarsQuerySettingsDetailsSerializer, + "delete": SeqvarsQuerySettingsDetailsSerializer, } def get_queryset(self): """Return queryset with all ``QuerySettings`` records for the given case.""" - result = QuerySettings.objects.all() + result = SeqvarsQuerySettings.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter(session__sodar_uuid=self.kwargs["session"]) return result @@ -346,7 +423,7 @@ def get_serializer_context(self): return context -class QueryViewSet(BaseViewSet): +class SeqvarsQueryViewSet(BaseViewSet): """Allow CRUD of the user's queries.""" # TODO XXX XXX ADD LAUNCH ACTION XXX XXX TODO @@ -354,14 +431,14 @@ class QueryViewSet(BaseViewSet): #: Define lookup URL kwarg. lookup_url_kwarg = "query" #: The default serializer class to use. - serializer_class = QuerySerializer + serializer_class = SeqvarsQuerySerializer #: Override ``create`` and ``*-detail`` serializer to render all presets. action_serializers = { - "create": QueryDetailsSerializer, - "retrieve": QueryDetailsSerializer, - "update": QueryDetailsSerializer, - "partial_update": QueryDetailsSerializer, - "delete": QueryDetailsSerializer, + "create": SeqvarsQueryDetailsSerializer, + "retrieve": SeqvarsQueryDetailsSerializer, + "update": SeqvarsQueryDetailsSerializer, + "partial_update": SeqvarsQueryDetailsSerializer, + "delete": SeqvarsQueryDetailsSerializer, } def get_queryset(self): @@ -370,7 +447,9 @@ def get_queryset(self): Currently, this will be at most one. """ - result = Query.objects.all() + result = SeqvarsQuery.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter( session__sodar_uuid=self.kwargs["session"], ) @@ -388,63 +467,69 @@ def get_serializer_context(self): return context -class QueryExecutionViewSet(BaseReadOnlyViewSet): +class SeqvarsQueryExecutionViewSet(BaseReadOnlyViewSet): """ViewSet for retrieving ``QueryExecution`` records.""" #: Define lookup URL kwarg. lookup_url_kwarg = "queryexecution" #: The default serializer class to use. - serializer_class = QueryExecutionSerializer + serializer_class = SeqvarsQueryExecutionSerializer #: Override ``retrieve`` serializer to render all presets. action_serializers = { - "retrieve": QueryExecutionDetailsSerializer, + "retrieve": SeqvarsQueryExecutionDetailsSerializer, } def get_queryset(self): """Return queryset with all ``QueryExecution`` records for the given query.""" - result = QueryExecution.objects.all() + result = SeqvarsQueryExecution.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter( query__sodar_uuid=self.kwargs["query"], ) return result -class ResultSetViewSet(BaseReadOnlyViewSet): +class SeqvarsResultSetViewSet(BaseReadOnlyViewSet): """ViewSet for retrieving ``ResultSet`` records.""" #: Define lookup URL kwarg. lookup_url_kwarg = "resultset" #: The default serializer class to use. - serializer_class = ResultSetSerializer + serializer_class = SeqvarsResultSetSerializer def get_queryset(self): """Return queryset with all ``ResultSet`` records for the given query.""" - result = ResultSet.objects.all() + result = SeqvarsResultSet.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter( queryexecution__query__sodar_uuid=self.kwargs["query"], ) return result -class ResultRowPagination(StandardPagination): +class SeqvarsResultRowPagination(StandardPagination): """Cursor navigation for result rows.""" ordering = ["-chromosome_no", "start"] -class ResultRowViewSet(BaseReadOnlyViewSet): +class SeqvarsResultRowViewSet(BaseReadOnlyViewSet): """ViewSet for retrieving ``ResultRow`` records.""" #: Define lookup URL kwarg. lookup_url_kwarg = "seqvarresultrow" #: The default serializer class to use. - serializer_class = ResultRowSerializer + serializer_class = SeqvarsResultRowSerializer #: Override pagination as rows do not have ``date_created``. - pagination_class = ResultRowPagination + pagination_class = SeqvarsResultRowPagination def get_queryset(self): """Return queryset with all ``ResultRow`` records for the given result set.""" - result = ResultRow.objects.all() + result = SeqvarsResultRow.objects.all() + if sys.argv[:2] == ["manage.py", "spectacular"]: + return result # short circuit in schema generation result = result.filter( resultset__sodar_uuid=self.kwargs["resultset"], ) diff --git a/backend/varfish/spectacular_utils.py b/backend/varfish/spectacular_utils.py new file mode 100644 index 000000000..cf8d0cccc --- /dev/null +++ b/backend/varfish/spectacular_utils.py @@ -0,0 +1,112 @@ +from enum import Enum +import typing + +from drf_spectacular.drainage import set_override, warn +from drf_spectacular.extensions import OpenApiSerializerExtension +from drf_spectacular.plumbing import ResolvedComponent, build_basic_type +from drf_spectacular.types import OpenApiTypes +from pydantic.json_schema import model_json_schema + + +class DjangoPydanticFieldFix(OpenApiSerializerExtension): + + target_class = "django_pydantic_field.v2.rest_framework.fields.SchemaField" + match_subclasses = True + + def get_name(self, auto_schema, direction): + # due to the fact that it is complicated to pull out every field member BaseModel class + # of the entry model, we simply use the class name as string for object. This hack may + # create false positive warnings, so turn it off. However, this may suppress correct + # warnings involving the entry class. + set_override(self.target, "suppress_collision_warning", True) + if typing.get_origin(self.target.schema) is list: + inner_type = typing.get_args(self.target.schema)[0] + return f"{inner_type.__name__}List" + else: + return super().get_name(auto_schema, direction) + + def map_serializer(self, auto_schema, direction): + if typing.get_origin(self.target.schema) is list: + inner_type = typing.get_args(self.target.schema)[0] + if inner_type is str: + schema = { + "type": "array", + "items": { + "type": "string", + }, + } + elif issubclass(inner_type, Enum): + inner_schema = { + "type": "string", + "title": inner_type.__name__, + "enum": [e.value for e in inner_type], + } + inner_schema_defs = inner_schema.pop("$defs", {}) + schema = { + "type": "array", + "title": f"{inner_schema['title']}List", + "items": inner_schema, + } + schema.update({"$defs": inner_schema_defs}) + else: + inner_schema = model_json_schema( + inner_type, ref_template="#/components/schemas/{model}" + ) + inner_schema_defs = inner_schema.pop("$defs", {}) + schema = { + "type": "array", + "title": f"{inner_schema['title']}List", + "items": inner_schema, + } + schema.update({"$defs": inner_schema_defs}) + elif issubclass(self.target.schema, Enum): + return { + "type": "string", + "title": self.target.schema.__name__, + "enum": [e.value for e in self.target.schema], + } + else: + schema = model_json_schema( + self.target.schema, ref_template="#/components/schemas/{model}" + ) + + # pull out potential sub-schemas and put them into component section + for sub_name, sub_schema in schema.pop("$defs", {}).items(): + component = ResolvedComponent( + name=sub_name, + type=ResolvedComponent.SCHEMA, + object=sub_name, + schema=sub_schema, + ) + auto_schema.registry.register_on_missing(component) + + return schema + + +def spectacular_preprocess_hook(endpoints): + blocked_prefixes = ( + "/admin_alerts/", + "/api/auth/", + "/beaconsite/", + "/cohorts/", + "/importer/", + "/project/", + "/svs/", + "/varannos/", + "/variants/", + ) + blocked_infixes = ("/ajax/",) + filtered = [] + for path, path_regex, method, callback in endpoints: + block = False + for prefix in blocked_prefixes: + if path.startswith(prefix): + block = True + break + for infix in blocked_infixes: + if infix in path: + block = True + break + if not block: + filtered.append((path, path_regex, method, callback)) + return filtered diff --git a/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml b/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml index a3fa1ae15..41dc35e0f 100644 --- a/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml +++ b/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml @@ -1,9667 +1,5199 @@ -openapi: 3.0.2 +openapi: 3.0.3 info: - title: '' - version: '' + title: VarFish + version: 0.0.0 + description: VarFish API paths: - /variants/ajax/extra-anno-fields/: + /cases-analysis/api/caseanalysis/{case}/: get: - operationId: listExtraAnnoFields - description: 'A view that returns all extra annotation field names. - - - **URL:** ``/variants/api/extra-anno-fields/`` - + operationId: cases_analysis_api_caseanalysis_list + description: |- + List the ``CaseAnalysis`` objects for the given case. - **Methods:** ``GET`` - - - **Returns:** List of extra annotation field names.' - parameters: [] + Implement the "create single case analysis on listing" logic. + parameters: + - in: path + name: case + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + tags: + - cases-analysis + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.varfish+json: + application/json: schema: - type: array - items: - $ref: '#/components/schemas/ExtraAnnoField' + $ref: '#/components/schemas/PaginatedCaseAnalysisList' description: '' - tags: - - variants - /variants/api/project/qc/{project}/: + /cases-analysis/api/caseanalysis/{case}/{caseanalysis}/: get: - operationId: retrieveCaseListQcStats - description: Render JSON with project-wide case statistics + operationId: cases_analysis_api_caseanalysis_retrieve + description: |- + Allow listing and retrieval of ``CaseAnalysis`` records for a given case. + + As we only allow for one ``CaseAnalysis`` per case, we implicitely create one + when listing. parameters: - - name: project - in: path + - in: path + name: case + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: caseanalysis schema: type: string + format: uuid + required: true + tags: + - cases-analysis + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.varfish+json: + application/json: schema: - $ref: '#/components/schemas/CaseListQcStats' + $ref: '#/components/schemas/CaseAnalysis' description: '' - tags: - - variants - /variants/api/case/retrieve/{case}/: + /cases-analysis/api/caseanalysissession/{case}/: get: - operationId: retrieveCase - description: "Retrieve detail of the specified case.\n\n**URL:** ``/variants/api/case/retrieve/{case.sodar_uuid}/``\n\ - \n**Methods:** ``GET``\n\n**Returns:**\n\n- ``date_created`` - creation timestamp\ - \ (ISO 8601 ``str``)\n- ``date_modified`` - modification timestamp (ISO 8601\ - \ ``str``)\n- ``index`` - index sample name (``str``)\n- ``name`` - case name\ - \ (``str``)\n- ``notes`` - any notes related to case (``str`` or ``null``)\n\ - - ``num_small_vars`` - number of small variants (``int`` or ``null``)\n- ``num_svs``\ - \ - number of structural variants (``int`` or ``null``)\n- ``pedigree`` -\ - \ ``list`` of ``dict`` representing pedigree entries, ``dict`` have keys\n\ - \n - ``sex`` - PLINK-PED encoded biological sample sex (``int``, 0-unknown,\ - \ 1-male, 2-female)\n - ``father`` - father sample name (``str``)\n \ - \ - ``mother`` - mother sample name (``str``)\n - ``name`` - current sample's\ - \ name (``str``)\n - ``affected`` - PLINK-PED encoded affected state (``int``,\ - \ 0-unknown, 1-unaffected, 2-affected)\n - ``has_gt_entries`` - whether\ - \ sample has genotype entries (``boolean``)\n\n- ``project`` - UUID of owning\ - \ project (``str``)\n- ``release`` - genome build (``str``, one of ``[\"GRCh37\"\ - , \"GRCh37\"]``)\n- ``sodar_uuid`` - case UUID (``str``)\n- ``status`` - status\ - \ of case (``str``, one of ``\"initial\"``, ``\"active\"``, ``\"closed-unsolved\"\ - ``,\n ``\"closed-uncertain\"``, ``\"closed-solved\"``)\n- ``tags`` - ``list``\ - \ of ``str`` tags" + operationId: cases_analysis_api_caseanalysissession_list + description: |- + List the ``CaseAnalysisSession`` objects for the given case and current user. + + Implement the "create single case analysis session on listing" logic. parameters: - - name: case - in: path + - in: path + name: case + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. schema: type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + tags: + - cases-analysis + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.varfish+json: + application/json: schema: - $ref: '#/components/schemas/Case' + $ref: '#/components/schemas/PaginatedCaseAnalysisSessionList' description: '' - tags: - - variants - /variants/api/query-case/list/{case}/: + /cases-analysis/api/caseanalysissession/{case}/{caseanalysissession}/: get: - operationId: retrieveSmallVariantQuery - description: 'List small variant queries for the given Case. - - - **URL:** ``/variants/api/query-case/list/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``page`` - specify page to return (default/first is ``1``) - - - ``page_size`` -- number of elements per page (default is ``10``, maximum - is ``100``) - - - **Returns:** - - - - ``count`` - number of total elements (``int``) - - - ``next`` - URL to next page (``str`` or ``null``) - - - ``previous`` - URL to next page (``str`` or ``null``) - - - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`)' + operationId: cases_analysis_api_caseanalysissession_retrieve + description: Allow retrieval only of ``CaseAnalysisSession`` record for current + user. parameters: - - name: case - in: path + - in: path + name: case + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: caseanalysissession schema: type: string + format: uuid + required: true + tags: + - cases-analysis + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.varfish+json: + application/json: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/CaseAnalysisSession' description: '' - tags: - - variants - /variants/api/query/list-create/{case}/: + /cases-import/api/case-import-action/list-create/{project}/: get: - operationId: retrieveSmallVariantQuery - description: 'API endpoint for listing and creating SmallVariant queries for - a given case. + operationId: cases_import_api_case_import_action_list_create_list + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - After creation, a background job will be started to execute the query. + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **URL:** ``/variants/api/query/list-create/{case.sodar_uuid}/`` - - - **Methods:** ``GET``, ``POST``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: case - in: path - required: true - description: '' + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: project schema: type: string + format: uuid + required: true + tags: + - cases-import + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/PaginatedCaseImportActionList' description: '' - tags: - - variants post: - operationId: createSmallVariantQuery - description: 'API endpoint for listing and creating SmallVariant queries for - a given case. - - - After creation, a background job will be started to execute the query. + operationId: cases_import_api_case_import_action_list_create_create + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - **URL:** ``/variants/api/query/list-create/{case.sodar_uuid}/`` + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **Methods:** ``GET``, ``POST``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: project schema: type: string + format: uuid + required: true + tags: + - cases-import requestBody: content: application/json: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/CaseImportAction' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/CaseImportAction' multipart/form-data: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/CaseImportAction' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQuery' + $ref: '#/components/schemas/CaseImportAction' description: '' - tags: - - variants - /variants/api/query/retrieve-update-destroy/{smallvariantquery}/: + /cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/: get: - operationId: retrieveSmallVariantQueryWithLogs - description: 'API endpoint for retrieving, updating, and deleting SmallVariant - queries for a given case. + operationId: cases_import_api_case_import_action_retrieve_update_destroy_retrieve + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: caseimportaction schema: type: string + format: uuid + required: true + tags: + - cases-import + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' description: '' - tags: - - variants put: - operationId: updateSmallVariantQueryWithLogs - description: 'API endpoint for retrieving, updating, and deleting SmallVariant - queries for a given case. + operationId: cases_import_api_case_import_action_retrieve_update_destroy_update + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: caseimportaction schema: type: string + format: uuid + required: true + tags: + - cases-import requestBody: content: application/json: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' multipart/form-data: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' description: '' - tags: - - variants patch: - operationId: partialUpdateSmallVariantQueryWithLogs - description: 'API endpoint for retrieving, updating, and deleting SmallVariant - queries for a given case. + operationId: cases_import_api_case_import_action_retrieve_update_destroy_partial_update + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: caseimportaction schema: type: string + format: uuid + required: true + tags: + - cases-import requestBody: content: application/json: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/PatchedCaseImportAction' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/PatchedCaseImportAction' multipart/form-data: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/PatchedCaseImportAction' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryWithLogs' + $ref: '#/components/schemas/CaseImportAction' description: '' - tags: - - variants delete: - operationId: destroySmallVariantQueryWithLogs - description: 'API endpoint for retrieving, updating, and deleting SmallVariant - queries for a given case. + operationId: cases_import_api_case_import_action_retrieve_update_destroy_destroy + description: |- + API view mixin for generic DRF API views with serializers, SODAR project + context and permission checkin. + Unless overriding ``permission_classes`` with their own implementation, the + user MUST supply a ``permission_required`` attribute. - **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` + Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + compatible model name in lowercase). + If the lookup is done via a foreign key, change the ``lookup_field`` + attribute of your class into ``foreignkey__sodar_uuid``, e.g. + ``project__sodar_uuid`` for lists. - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + If your object(s) don't have a direct ``project`` relation, update the + ``queryset_project_field`` to point to the field, e.g. + ``someothermodel__project``. parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: caseimportaction schema: type: string + format: uuid + required: true + tags: + - cases-import + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - variants - /variants/api/query-result-set/list/{smallvariantquery}/: + description: No response body + /cases-qc/api/caseqc/retrieve/{case}/: get: - operationId: retrieveSmallVariantQueryResultSet - description: 'API endpoint for listing query result sets for a query. + operationId: cases_qc_api_caseqc_retrieve_retrieve + description: |- + Retrieve the latest ``CaseQc`` for the given case. + This corresponds to the raw QC values imported into VarFish. See + ``VarfishStatsRetrieveApiView`` for the information used by the UI. - **URL:** ``/variants/api/query-result-set/list/{smallvariantquery.sodar_uuid}/`` + **URL:** ``/cases_qc/api/caseqc/retrieve/{case.sodar_uuid}/`` + **Methods:** ``GET`` - **Methods:** ``GET``' + **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: case schema: type: string + format: uuid + required: true + tags: + - cases-qc + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryResultSet' + $ref: '#/components/schemas/CaseQc' description: '' - tags: - - variants - /variants/api/query-result-set/retrieve/{smallvariantqueryresultset}/: + /cases-qc/api/varfishstats/retrieve/{case}/: get: - operationId: retrieveSmallVariantQueryResultSet - description: 'API endpoint for retrieving query result sets. - + operationId: cases_qc_api_varfishstats_retrieve_retrieve + description: |- + Retrieve the latest statistics to display in the UI for a case. - **URL:** ``/variants/api/query-result-set/retrieve/{smallvariantquery.sodar_uuid}/`` + **URL:** ``/cases_qc/api/varfishstats/retrieve/{case.sodar_uuid}/`` + **Methods:** ``GET`` - **Methods:** ``GET``' + **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found parameters: - - name: smallvariantqueryresultset - in: path - required: true - description: '' + - in: path + name: case schema: type: string + format: uuid + required: true + tags: + - cases-qc + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryResultSet' + $ref: '#/components/schemas/VarfishStats' description: '' - tags: - - variants - /variants/api/query-result-row/list/{smallvariantqueryresultset}/: + /cases/api/annotation-release-info/list/{case}/: get: - operationId: retrieveSmallVariantQueryResultRow - description: 'API endpoint for listing query result rows. - - - **URL:** ``/variants/api/query-result-row/list/{smallvariantqueryresultset.sodar_uuid}/`` + operationId: cases_api_annotation_release_info_list_list + description: |- + List annotation release infos for a given case. + **URL:** ``/cases/api/annotation-release-info/list/{case.sodar_uuid}`` - **Methods:** ``GET``' + **Methods:** ``GET`` parameters: - - name: smallvariantqueryresultset - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryResultRow' + type: array + items: + $ref: '#/components/schemas/AnnotationReleaseInfo' description: '' - tags: - - variants - /variants/api/query-result-row/retrieve/{smallvariantqueryresultrow}/: + /cases/api/case-comment/list-create/{case}/: get: - operationId: retrieveSmallVariantQueryResultRow - description: 'API endpoint for retrieving one result row. + operationId: cases_api_case_comment_list_create_list + description: |- + List/create case comments for the given case. + + **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` + + **Methods:** ``GET`` + **Parameters:** - **URL:** ``/variants/api/query-result-row/retrieve/{smallvariantqueryresultrow.sodar_uuid}/`` + - ``page`` - specify page to return (default/first is ``1``) + - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + **Returns:** - **Methods:** ``GET``' + - ``count`` - number of total elements (``int``) + - ``next`` - URL to next page (``str`` or ``null``) + - ``previous`` - URL to next page (``str`` or ``null``) + - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) parameters: - - name: smallvariantqueryresultrow - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantQueryResultRow' + type: array + items: + $ref: '#/components/schemas/CaseComment' description: '' - tags: - - variants - /variants/api/query-case/query-settings-shortcut/{case}/: - get: - operationId: retrieveSettingsShortcuts - description: "Generate query settings for a given case by certain shortcuts.\n\ - \n**URL:** ``/variants/api/query-case/query-settings-shortcut/{case.uuid}``\n\ - \n**Methods:** ``GET``\n\n**Parameters:**\n\n- ``database`` - the database\ - \ to query, one of ``\"refseq\"`` (default) and ``\"ensembl\"``\n\n- ``quick_preset``\ - \ - overall preset selection using the presets below, valid values are\n\n\ - \ - ``defaults`` - applies presets that are recommended for starting out\ - \ without a specific hypothesis\n - ``de_novo`` - applies presets that\ - \ are recommended for starting out when the hypothesis is dominannt\n \ - \ inheritance with *de novo* variants\n - ``dominant`` - applies presets\ - \ that are recommended for starting out when the hypothesis is dominant\n\ - \ inheritance (but not with *de novo* variants)\n - ``homozygous_recessive``\ - \ - applies presets that are recommended for starting out when the hypothesis\ - \ is\n recessive with homzygous variants\n - ``compound_heterozygous``\ - \ - applies presets that are recommended for starting out when the hypothesis\ - \ is\n recessive with compound heterozygous variants\n - ``recessive``\ - \ - applies presets that are recommended for starting out when the hypothesis\ - \ is recessive mode\n of inheritance\n - ``x_recessive`` - applies\ - \ presets that are recommended for starting out when the hypothesis is X recessive\n\ - \ mode of inheritance\n - ``clinvar_pathogenic`` - apply presets\ - \ that are recommended for screening variants for known pathogenic\n \ - \ variants present Clinvar\n - ``mitochondrial`` - apply presets recommended\ - \ for starting out to filter for mitochondrial mode of\n inheritance\n\ - \ - ``whole_exomes`` - apply presets that return all variants of the case,\ - \ regardless of frequency, quality etc.\n\n- ``inheritance`` - preset selection\ - \ for mode of inheritance, valid values are\n\n - ``any`` - no particular\ - \ constraint on inheritance (default)\n - ``dominant`` - allow variants\ - \ compatible with dominant mode of inheritance (includes *de novo* variants)\n\ - \ - ``homozygous_recessive`` - allow variants compatible with homozygous\ - \ recessive mode of inheritance\n - ``compound_heterozygous`` - allow variants\ - \ compatible with compound heterozygous recessive mode of\n inheritance\n\ - \ - ``recessive`` - allow variants compatible with recessive mode of inheritance\ - \ of a disease/trait (includes\n both homozygous and compound heterozygous\ - \ recessive)\n - ``x_recessive`` - allow variants compatible with X_recessive\ - \ mode of inheritance of a disease/trait\n - ``mitochondrial`` - mitochondrial\ - \ inheritance (also applicable for \"clinvar pathogenic\")\n - ``custom``\ - \ - indicates custom settings such that none of the above inheritance settings\ - \ applies\n\n- ``frequency`` - preset selection for frequencies, valid values\ - \ are\n\n - ``any`` - do not apply any thresholds\n - ``dominant_super_strict``\ - \ - apply thresholds considered \"very strict\" in a dominant disease context\n\ - \ - ``dominant_strict`` - apply thresholds considered \"strict\" in a dominant\ - \ disease context (default)\n - ``dominant_relaxed`` - apply thresholds\ - \ considered \"relaxed\" in a dominant disease context\n - ``recessive_strict``\ - \ - apply thresholds considered \"strict\" in a recessiv disease context\n\ - \ - ``recessive_relaxed`` - apply thresholds considered \"relaxed\" in\ - \ a recessiv disease context\n - ``custom`` - indicates custom settings\ - \ such that none of the above frequency settings applies\n\n- ``impact`` -\ - \ preset selection for molecular impact values, valid values are\n\n -\ - \ ``null_variant`` - allow variants that are predicted to be null variants\n\ - \ - ``aa_change_splicing`` - allow variants that are predicted to change\ - \ the amino acid of the gene's\n protein and also splicing variants\n\ - \ - ``all_coding_deep_intronic`` - allow all coding variants and also deeply\ - \ intronic ones\n - ``whole_transcript`` - allow variants from the whole\ - \ transcript (exonic/intronic)\n - ``any_impact`` - allow any predicted\ - \ molecular impact\n - ``custom`` - indicates custom settings such that\ - \ none of the above impact settings applies\n\n- ``quality`` - preset selection\ - \ for variant call quality values, valid values are\n\n - ``super_strict``\ - \ - very stricdt quality settings\n - ``strict`` - strict quality settings,\ - \ used as the default\n - ``relaxed`` - relaxed quality settings\n -\ - \ ``any`` - ignore quality, all variants pass filter\n - ``custom`` - indicates\ - \ custom settings such that none of the above quality settings applies\n\n\ - - ``chromosomes`` - preset selection for selecting chromosomes/regions/genes\ - \ allow/block lists, valid values are\n\n - ``whole_genome`` - the defaults\ - \ settings selecting the whole genome\n - ``autosomes`` - select the variants\ - \ lying on the autosomes only\n - ``x_chromosome`` - select variants on\ - \ the X chromosome only\n - ``y_chromosome`` - select variants on the Y\ - \ chromosome only\n - ``mt_chromosome`` - select variants on the mitochondrial\ - \ chromosome only\n - ``custom`` - indicates custom settings such that\ - \ none of the above chromosomes presets applies\n\n- ``flagsetc`` - preset\ - \ selection for \"flags etc.\" section, valid values are\n\n - ``defaults``\ - \ - the defaults also used in the user interface\n - ``clinvar_only`` -\ - \ select variants present in Clinvar only\n - ``user_flagged`` - select\ - \ user_flagged variants only\n - ``custom`` - indicates custom settings\ - \ such that none of the above flags etc. presets apply\n\n**Returns:**\n\n\ - - ``presets`` - a ``dict`` with the following keys; this mirrors back the\ - \ quick presets and further presets\n selected in the parameters\n\n -\ - \ ``quick_presets`` - one of the ``quick_presets`` preset values from above\n\ - \ - ``inheritance`` - one of the ``inheritance`` preset values from above\n\ - \ - ``frequency`` - one of the ``frequency`` preset values from above\n\ - \ - ``impact`` - one of the ``impact`` preset values from above\n -\ - \ ``quality`` - one of the ``quality`` preset values from above\n - ``chromosomes``\ - \ - one of the ``chromosomes`` preset values from above\n - ``flagsetc``\ - \ - one of the ``flagsetc`` preset values from above\n\n- ``query_settings``\ - \ - a ``dict`` with the query settings ready to be used for the given case;\ - \ this will\n follow :ref:`api_json_schemas_case_query_v1`." + post: + operationId: cases_api_case_comment_list_create_create + description: |- + List/create case comments for the given case. + + **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` + + **Methods:** ``GET`` + + **Parameters:** + + - ``page`` - specify page to return (default/first is ``1``) + - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + + **Returns:** + + - ``count`` - number of total elements (``int``) + - ``next`` - URL to next page (``str`` or ``null``) + - ``previous`` - URL to next page (``str`` or ``null``) + - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CaseComment' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CaseComment' + multipart/form-data: + schema: + $ref: '#/components/schemas/CaseComment' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': + '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SettingsShortcuts' + $ref: '#/components/schemas/CaseComment' description: '' - tags: - - variants - /variants/api/query-case/quick-presets/: + /cases/api/case-phenotype-terms/list-create/{case}/: get: - operationId: listSmallVariantQuickPresetsApis - description: 'Resolve quick preset name to category preset. + operationId: cases_api_case_phenotype_terms_list_create_list + description: |- + List/create case phenotype term annotations. + **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - **URL:** ``/variants/api/query-case/quick-presets`` + **Methods:** ``GET`` + **Parameters:** - **Methods:** ``GET`` + - ``page`` - specify page to return (default/first is ``1``) + - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + **Returns:** - **Returns:** A dict mapping each of the category names to category preset - values.' - parameters: [] + - ``count`` - number of total elements (``int``) + - ``next`` - URL to next page (``str`` or ``null``) + - ``previous`` - URL to next page (``str`` or ``null``) + - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) + parameters: + - in: path + name: case + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: type: array - items: {} + items: + $ref: '#/components/schemas/CasePhenotypeTerms' description: '' - tags: - - variants - /variants/api/query-case/category-presets/{category}/: - get: - operationId: retrieveSmallVariantCategoryPresetsApi - description: 'List all presets for the given category. + post: + operationId: cases_api_case_phenotype_terms_list_create_create + description: |- + List/create case phenotype term annotations. + **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - **URL:** ``/variants/api/query-case/category-presets/{category}`` + **Methods:** ``GET`` + **Parameters:** - **Methods:** ``GET`` + - ``page`` - specify page to return (default/first is ``1``) + - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + **Returns:** - **Returns:** A dict mapping each of the category names to category preset - values.' + - ``count`` - number of total elements (``int``) + - ``next`` - URL to next page (``str`` or ``null``) + - ``previous`` - URL to next page (``str`` or ``null``) + - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) parameters: - - name: category - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + multipart/form-data: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': + '201': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' description: '' - tags: - - variants - /variants/api/query-case/inheritance-presets/{case}/: + /cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/: get: - operationId: retrieveSmallVariantInheritancePresetsApi - description: 'List all inheritance presets for the given case. - - - **URL:** ``/variants/api/query-case/inheritance-presets/{case.sodar_uuid}`` - - - **Methods:** ``GET`` + operationId: cases_api_case_phenotype_terms_retrieve_update_destroy_retrieve + description: |- + Retrieve, update, destroy case comments for the given case. + **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - **Returns:** A dict mapping each of the category names to category preset - values.' + **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: casephenotypeterms schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' description: '' - tags: - - variants - /variants/api/query-case/download/generate/tsv/{smallvariantquery}/: - get: - operationId: retrieveSmallVariantQueryDownloadGenerateApi - description: 'Start generating results for download of a small variant query. - - - **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - - - **Methods:** ``GET`` + put: + operationId: cases_api_case_phenotype_terms_retrieve_update_destroy_update + description: |- + Retrieve, update, destroy case comments for the given case. + **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - **Returns:**' + **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: casephenotypeterms schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + multipart/form-data: + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' description: '' - tags: - - variants - /variants/api/query-case/download/generate/vcf/{smallvariantquery}/: - get: - operationId: retrieveSmallVariantQueryDownloadGenerateApi - description: 'Start generating results for download of a small variant query. - - - **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - - - **Methods:** ``GET`` + patch: + operationId: cases_api_case_phenotype_terms_retrieve_update_destroy_partial_update + description: |- + Retrieve, update, destroy case comments for the given case. + **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - **Returns:**' + **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: casephenotypeterms schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCasePhenotypeTerms' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedCasePhenotypeTerms' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedCasePhenotypeTerms' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/CasePhenotypeTerms' description: '' - tags: - - variants - /variants/api/query-case/download/generate/xlsx/{smallvariantquery}/: - get: - operationId: retrieveSmallVariantQueryDownloadGenerateApi - description: 'Start generating results for download of a small variant query. - - - **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - - - **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - - - **Methods:** ``GET`` + delete: + operationId: cases_api_case_phenotype_terms_retrieve_update_destroy_destroy + description: |- + Retrieve, update, destroy case comments for the given case. + **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - **Returns:**' + **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` parameters: - - name: smallvariantquery - in: path - required: true - description: '' + - in: path + name: casephenotypeterms schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: {} - description: '' + pattern: ^[0-9a-f-]+$ + required: true tags: - - variants - /variants/api/query-case/download/serve/{exportfilebgjob}/: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '204': + description: No response body + /cases/api/case/list/{project}/: get: - operationId: retrieveSmallVariantQueryDownloadServeApi - description: 'Serve download results of a small variant query. - - - **URL:** ``/variants/api/query-case/download/serve/{exportfilebgjob.sodar_uuid}`` + operationId: cases_api_case_list_list + description: |- + List all cases in the current project. + **URL:** ``/cases/api/case/list/{project.sodar_uid}/`` **Methods:** ``GET`` - - **Returns:**' + **Returns:** List of project details (see :py:class:`CaseRetrieveApiView`) parameters: - - name: exportfilebgjob - in: path - required: true - description: '' + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: project schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/PaginatedCaseSerializerNgList' description: '' - tags: - - variants - /variants/api/query-case/download/status/{exportfilebgjob}/: + /cases/api/case/retrieve-update-destroy/{case}/: get: - operationId: retrieveExportFileBgJob - description: 'Get status of generating results for download of a small variant - query. - + operationId: cases_api_case_retrieve_update_destroy_retrieve + description: |- + Update a given case. - **URL:** ``/variants/api/query-case/download/status/{job.sodar_uuid}`` - - - **Methods:** ``GET`` + **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - **Returns:**' + **Returns:** Updated case details. parameters: - - name: exportfilebgjob - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/ExportFileBgJob' + $ref: '#/components/schemas/CaseSerializerNg' description: '' - tags: - - variants - /variants/api/small-variant-comment/list-create/{case}/: - get: - operationId: retrieveSmallVariantComment - description: 'A view that allows to list existing comments and new ones. - - - **URL:** ``/variants/api/small-variant-comment/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - + put: + operationId: cases_api_case_retrieve_update_destroy_update + description: |- + Update a given case. - **Methods:** ``GET``, ``POST`` + **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - **Returns:**' + **Returns:** Updated case details. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CaseSerializerNg' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CaseSerializerNg' + multipart/form-data: + schema: + $ref: '#/components/schemas/CaseSerializerNg' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantComment' + $ref: '#/components/schemas/CaseSerializerNg' description: '' - tags: - - variants - post: - operationId: createSmallVariantComment - description: 'A view that allows to list existing comments and new ones. - - - **URL:** ``/variants/api/small-variant-comment/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - + patch: + operationId: cases_api_case_retrieve_update_destroy_partial_update + description: |- + Update a given case. - **Methods:** ``GET``, ``POST`` + **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - **Returns:**' + **Returns:** Updated case details. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases requestBody: content: application/json: schema: - $ref: '#/components/schemas/SmallVariantComment' + $ref: '#/components/schemas/PatchedCaseSerializerNg' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SmallVariantComment' + $ref: '#/components/schemas/PatchedCaseSerializerNg' multipart/form-data: schema: - $ref: '#/components/schemas/SmallVariantComment' + $ref: '#/components/schemas/PatchedCaseSerializerNg' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantComment' + $ref: '#/components/schemas/CaseSerializerNg' description: '' - tags: - - variants - /variants/api/small-variant-comment/list-project/{project}/: - get: - operationId: retrieveSmallVariantCommentProject - description: 'A view that allows to list existing comments for a project and - variant. - - - **URL:** ``/variants/api/small-variant-comment/list-project/{project.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - - - exclude_case_uuid - + delete: + operationId: cases_api_case_retrieve_update_destroy_destroy + description: |- + Update a given case. - **Methods:** ``GET`` + **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - **Returns:**' + **Returns:** Updated case details. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: case schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantCommentProject' - description: '' + pattern: ^[0-9a-f-]+$ + required: true tags: - - variants - /variants/api/small-variant-flags/list-create/{case}/: - get: - operationId: retrieveSmallVariantFlags - description: 'A view that allows to list existing flags and create new ones. - - - **URL:** ``/variants/api/small-variant-flags/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - - - **Methods:** ``GET``, ``POST`` - - - **Returns:**' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - description: '' - tags: - - variants - post: - operationId: createSmallVariantFlags - description: 'A view that allows to list existing flags and create new ones. - - - **URL:** ``/variants/api/small-variant-flags/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - - - **Methods:** ``GET``, ``POST`` - - - **Returns:**' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - multipart/form-data: - schema: - $ref: '#/components/schemas/SmallVariantFlags' + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - description: '' - tags: - - variants - /variants/api/small-variant-flags/list-project/{project}/: + '204': + description: No response body + /cases/api/sv-annotation-release-info/list/{case}/: get: - operationId: retrieveSmallVariantFlagsProject - description: 'A view that allows to list existing comments for a project and - variant. - - - **URL:** ``/variants/api/small-variant-flags/list-project/{project.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - - - exclude_case_uuid + operationId: cases_api_sv_annotation_release_info_list_list + description: |- + List SVannotation release infos for a given case. + **URL:** ``/cases/api/sv-annotation-release-info/list/{case.sodar_uuid}`` **Methods:** ``GET`` - - - **Returns:**' parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: case schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - cases + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SmallVariantFlagsProject' + type: array + items: + $ref: '#/components/schemas/SvAnnotationReleaseInfo' description: '' - tags: - - variants - /variants/api/acmg-criteria-rating/list-create/{case}/: + /genepanels/api/genepanel-category/list/: get: - operationId: retrieveAcmgCriteriaRating - description: 'A view that allows to create new ACMG ratings. - - - **URL:** ``/variants/api/acmg-criteria-rating/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release + operationId: genepanels_api_genepanel_category_list_list + description: |- + List all ``GenePanelCategory`` entries with ``GenePanel``. - - chromosome - - - start - - - end - - - reference - - - alternative - - - **Methods:** ``POST`` + **URL:** ``/genepanels/api/gene-panel-category`` + **Methods:** GET - **Returns:**' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - description: '' + **Returns:** tags: - - variants - post: - operationId: createAcmgCriteriaRating - description: 'A view that allows to create new ACMG ratings. - - - **URL:** ``/variants/api/acmg-criteria-rating/list-create/{case.sodar_uuid}/`` - - - **Query Arguments:** - - - - release - - - chromosome - - - start - - - end - - - reference - - - alternative - - - **Methods:** ``POST`` - - - **Returns:**' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - multipart/form-data: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' + - genepanels + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/AcmgCriteriaRating' + type: array + items: + $ref: '#/components/schemas/GenePanelCategory' description: '' - tags: - - variants - /variants/api/extra-anno-fields/: + /genepanels/api/lookup-genepanel/: get: - operationId: listExtraAnnoFields - description: 'A view that returns all extra annotation field names. - - - **URL:** ``/variants/api/extra-anno-fields/`` - + operationId: genepanels_api_lookup_genepanel_retrieve + description: |- + Retrieve information about a gene panel. - **Methods:** ``GET`` + **URL:** ``/genepanels/api/lookup-genepanel/`` + **Methods:** GET - **Returns:** List of extra annotation field names.' - parameters: [] - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - type: array - items: - $ref: '#/components/schemas/ExtraAnnoField' - description: '' + **Returns:** tags: - - variants - /variants/api/project-settings/retrieve/{project}/: - get: - operationId: retrieveProjectSettings - description: "A view that returns project settings for the given project.\n\n\ - **URL:** ``/variants/api/project-settings/retrieve/{project.uuid}``\n\n**Methods:**\ - \ ``GET``\n\n**Returns:** {\n ts_tv_warning_upper,\n ts_tv_warning_lower\n\ - }" - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string + - genepanels + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/ProjectSettings' + $ref: '#/components/schemas/GenePanel' description: '' - tags: - - variants - /importer/api/case-import-info/{project}/: + /seqmeta/api/enrichmentkit/list-create/: get: - operationId: retrieveCaseImportInfo - description: DRF list-create API view the ``CaseImportInfo`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string + operationId: seqmeta_api_enrichmentkit_list_create_list + description: DRF list-create API view the ``EnrichmentKit`` model. + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseImportInfo' + type: array + items: + $ref: '#/components/schemas/EnrichmentKit' description: '' - tags: - - importer post: - operationId: createCaseImportInfo - description: DRF list-create API view the ``CaseImportInfo`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string + operationId: seqmeta_api_enrichmentkit_list_create_create + description: DRF list-create API view the ``EnrichmentKit`` model. + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' multipart/form-data: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' description: '' - tags: - - importer - /importer/api/case-import-info/{project}/{caseimportinfo}/: + /seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/: get: - operationId: retrieveCaseImportInfo - description: DRF retrieve-update-destroy API view for the ``CaseImportInfo`` + operationId: seqmeta_api_enrichmentkit_retrieve_update_destroy_retrieve + description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string - - name: caseimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' description: '' - tags: - - importer put: - operationId: updateCaseImportInfo - description: DRF retrieve-update-destroy API view for the ``CaseImportInfo`` + operationId: seqmeta_api_enrichmentkit_retrieve_update_destroy_update + description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string - - name: caseimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' multipart/form-data: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' description: '' - tags: - - importer patch: - operationId: partialUpdateCaseImportInfo - description: DRF retrieve-update-destroy API view for the ``CaseImportInfo`` + operationId: seqmeta_api_enrichmentkit_retrieve_update_destroy_partial_update + description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string - - name: caseimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/PatchedEnrichmentKit' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/PatchedEnrichmentKit' multipart/form-data: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/PatchedEnrichmentKit' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseImportInfo' + $ref: '#/components/schemas/EnrichmentKit' description: '' - tags: - - importer delete: - operationId: destroyCaseImportInfo - description: DRF retrieve-update-destroy API view for the ``CaseImportInfo`` + operationId: seqmeta_api_enrichmentkit_retrieve_update_destroy_destroy + description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string - - name: caseimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '204': - description: '' - tags: - - importer - /importer/api/variant-set-import-info/{caseimportinfo}/: + description: No response body + /seqmeta/api/targetbedfile/list-create/{enrichmentkit}/: get: - operationId: retrieveVariantSetImportInfo - description: DRF list-create API view the ``VariantSetImportInfo`` model. + operationId: seqmeta_api_targetbedfile_list_create_list + description: DRF list-create API view the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + type: array + items: + $ref: '#/components/schemas/TargetBedFile' description: '' - tags: - - importer post: - operationId: createVariantSetImportInfo - description: DRF list-create API view the ``VariantSetImportInfo`` model. + operationId: seqmeta_api_targetbedfile_list_create_create + description: DRF list-create API view the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: enrichmentkit schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' multipart/form-data: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' description: '' - tags: - - importer - /importer/api/variant-set-import-info/{caseimportinfo}/{variantsetimportinfo}/: + /seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/: get: - operationId: retrieveVariantSetImportInfo - description: DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` + operationId: seqmeta_api_targetbedfile_retrieve_update_destroy_retrieve + description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: targetbedfile schema: type: string - - name: variantsetimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' description: '' - tags: - - importer put: - operationId: updateVariantSetImportInfo - description: DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` + operationId: seqmeta_api_targetbedfile_retrieve_update_destroy_update + description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: targetbedfile schema: type: string - - name: variantsetimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' multipart/form-data: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' description: '' - tags: - - importer patch: - operationId: partialUpdateVariantSetImportInfo - description: DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` + operationId: seqmeta_api_targetbedfile_retrieve_update_destroy_partial_update + description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: targetbedfile schema: type: string - - name: variantsetimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta requestBody: content: application/json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/PatchedTargetBedFile' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/PatchedTargetBedFile' multipart/form-data: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/PatchedTargetBedFile' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/VariantSetImportInfo' + $ref: '#/components/schemas/TargetBedFile' description: '' - tags: - - importer delete: - operationId: destroyVariantSetImportInfo - description: DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` + operationId: seqmeta_api_targetbedfile_retrieve_update_destroy_destroy + description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: targetbedfile schema: type: string - - name: variantsetimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string + tags: + - seqmeta + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '204': - description: '' - tags: - - importer - /importer/api/bam-qc-file/{caseimportinfo}/: + description: No response body + /seqvars/api/predefinedquery/{querypresetssetversion}/: get: - operationId: retrieveBamQcFile - description: DRF list-create API view the ``BamQcFile`` model. + operationId: seqvars_api_predefinedquery_list + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/PaginatedSeqvarsPredefinedQueryList' description: '' - tags: - - importer post: - operationId: createBamQcFile - description: DRF list-create API view the ``BamQcFile`` model. + operationId: seqvars_api_predefinedquery_create + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' multipart/form-data: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' description: '' - tags: - - importer - /importer/api/bam-qc-file/{caseimportinfo}/{bamqcfile}/: + /seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/: get: - operationId: retrieveBamQcFile - description: DRF retrieve-update-destroy API view for the ``BamQcFile`` model. + operationId: seqvars_api_predefinedquery_retrieve + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: predefinedquery schema: type: string - - name: bamqcfile - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/BamQcFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' description: '' - tags: - - importer - delete: - operationId: destroyBamQcFile - description: DRF retrieve-update-destroy API view for the ``BamQcFile`` model. + put: + operationId: seqvars_api_predefinedquery_update + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: predefinedquery schema: type: string - - name: bamqcfile - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string - responses: - '204': - description: '' - tags: - - importer - /importer/api/case-gene-annotation-file/{caseimportinfo}/: - get: - operationId: retrieveCaseGeneAnnotationFile - description: DRF list-create API view the ``CaseGeneAnnotationFile`` model. - parameters: - - name: caseimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' - description: '' tags: - - importer - post: - operationId: createCaseGeneAnnotationFile - description: DRF list-create API view the ``CaseGeneAnnotationFile`` model. - parameters: - - name: caseimportinfo - in: path - required: true - description: '' - schema: - type: string + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' multipart/form-data: schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' description: '' - tags: - - importer - /importer/api/case-gene-annotation-file/{caseimportinfo}/{casegeneannotationfile}/: - get: - operationId: retrieveCaseGeneAnnotationFile - description: DRF retrieve-update-destroy API view for the ``CaseGeneAnnotationFile`` - model. + patch: + operationId: seqvars_api_predefinedquery_partial_update + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: predefinedquery schema: type: string - - name: casegeneannotationfile - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsPredefinedQuery' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsPredefinedQuery' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsPredefinedQuery' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseGeneAnnotationFile' + $ref: '#/components/schemas/SeqvarsPredefinedQuery' description: '' - tags: - - importer delete: - operationId: destroyCaseGeneAnnotationFile - description: DRF retrieve-update-destroy API view for the ``CaseGeneAnnotationFile`` - model. + operationId: seqvars_api_predefinedquery_destroy + description: ViewSet for the ``PredefinedQuery`` model. parameters: - - name: caseimportinfo - in: path - required: true - description: '' + - in: path + name: predefinedquery schema: type: string - - name: casegeneannotationfile - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - importer - /importer/api/genotype-file/{variantsetimportinfo}/: + description: No response body + /seqvars/api/query/{session}/: get: - operationId: retrieveGenotypeFile - description: DRF list-create API view the ``GenotypeFile`` model. + operationId: seqvars_api_query_list + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/PaginatedSeqvarsQueryList' description: '' - tags: - - importer post: - operationId: createGenotypeFile - description: DRF list-create API view the ``GenotypeFile`` model. + operationId: seqvars_api_query_create + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' multipart/form-data: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' description: '' - tags: - - importer - /importer/api/genotype-file/{variantsetimportinfo}/{genotypefile}/: + /seqvars/api/query/{session}/{query}/: get: - operationId: retrieveGenotypeFile - description: DRF retrieve-update-destroy API view for the ``GenotypeFile`` model. + operationId: seqvars_api_query_retrieve + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: query schema: type: string - - name: genotypefile - in: path + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/GenotypeFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' description: '' - tags: - - importer - delete: - operationId: destroyGenotypeFile - description: DRF retrieve-update-destroy API view for the ``GenotypeFile`` model. + put: + operationId: seqvars_api_query_update + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: query schema: type: string - - name: genotypefile - in: path + format: uuid required: true - description: '' + - in: path + name: session schema: type: string - responses: - '204': - description: '' - tags: - - importer - /importer/api/effects-file/{variantsetimportinfo}/: - get: - operationId: retrieveEffectFile - description: DRF list-create API view the ``EffectsFile`` model. - parameters: - - name: variantsetimportinfo - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/EffectFile' - description: '' tags: - - importer - post: - operationId: createEffectFile - description: DRF list-create API view the ``EffectsFile`` model. - parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' - schema: - type: string + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/EffectFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/EffectFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' multipart/form-data: schema: - $ref: '#/components/schemas/EffectFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/EffectFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' description: '' - tags: - - importer - /importer/api/effects-file/{variantsetimportinfo}/{effectsfile}/: - get: - operationId: retrieveEffectFile - description: DRF retrieve-update-destroy API view for the ``EffectsFile`` model. + patch: + operationId: seqvars_api_query_partial_update + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: query schema: type: string - - name: effectsfile - in: path + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryDetails' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryDetails' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryDetails' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/EffectFile' + $ref: '#/components/schemas/SeqvarsQueryDetails' description: '' - tags: - - importer delete: - operationId: destroyEffectFile - description: DRF retrieve-update-destroy API view for the ``EffectsFile`` model. + operationId: seqvars_api_query_destroy + description: Allow CRUD of the user's queries. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: query schema: type: string - - name: effectsfile - in: path + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - importer - /importer/api/database-info-file/{variantsetimportinfo}/: + description: No response body + /seqvars/api/queryexecution/{query}/: get: - operationId: retrieveDatabaseInfoFile - description: DRF list-create API view the ``DatabaseInfoFile`` model. + operationId: seqvars_api_queryexecution_list + description: ViewSet for retrieving ``QueryExecution`` records. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. schema: type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: query + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/DatabaseInfoFile' + $ref: '#/components/schemas/PaginatedSeqvarsQueryExecutionList' description: '' - tags: - - importer - post: - operationId: createDatabaseInfoFile - description: DRF list-create API view the ``DatabaseInfoFile`` model. + /seqvars/api/queryexecution/{query}/{queryexecution}/: + get: + operationId: seqvars_api_queryexecution_retrieve + description: ViewSet for retrieving ``QueryExecution`` records. parameters: - - name: variantsetimportinfo - in: path + - in: path + name: query + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: queryexecution schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DatabaseInfoFile' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DatabaseInfoFile' - multipart/form-data: - schema: - $ref: '#/components/schemas/DatabaseInfoFile' + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/DatabaseInfoFile' + $ref: '#/components/schemas/SeqvarsQueryExecutionDetails' description: '' - tags: - - importer - /importer/api/database-info-file/{variantsetimportinfo}/{databaseinfofile}/: + /seqvars/api/querypresetsclinvar/{querypresetssetversion}/: get: - operationId: retrieveDatabaseInfoFile - description: DRF retrieve-update-destroy API view for the ``DatabaseInfoFile`` - model. + operationId: seqvars_api_querypresetsclinvar_list + description: ViewSet for the ``QueryPresetsClinvar`` model. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. schema: type: string - - name: databaseinfofile - in: path - required: true - description: '' + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/DatabaseInfoFile' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsClinvarList' description: '' - tags: - - importer - delete: - operationId: destroyDatabaseInfoFile - description: DRF retrieve-update-destroy API view for the ``DatabaseInfoFile`` - model. + post: + operationId: seqvars_api_querypresetsclinvar_create + description: ViewSet for the ``QueryPresetsClinvar`` model. parameters: - - name: variantsetimportinfo - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string - - name: databaseinfofile - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' - schema: - type: string - responses: - '204': - description: '' tags: - - importer - /svs/ajax/fetch-variants/{case}/: - get: - operationId: retrieveSvFetchVariantsAjax - description: 'AJAX endpoint for retrieving structural variants from the given - case. - - - **URL:** ``/ajax/fetch-variants/{case.sodar_uuid}/`` - - - **Methods:** ``GET``' - parameters: - - name: case - in: path + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: {} - description: '' - tags: - - svs - /svs/ajax/query-case/quick-presets/: - get: - operationId: listSvQuickPresetsAjaxs - description: 'Resolve quick preset name to category preset. - - - **URL:** ``/variants/api/query-case/quick-presets`` - - - **Methods:** ``GET`` - - - **Returns:** A dict mapping each of the category names to category preset - values.' - parameters: [] + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': + '201': content: application/vnd.bihealth.varfish+json: schema: - type: array - items: {} + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' description: '' - tags: - - svs - /svs/ajax/query-case/category-presets/{category}/: + /seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/: get: - operationId: retrieveSvCategoryPresetsApi - description: 'List all presets for the given category. - - - **URL:** ``/variants/api/query-case/category-presets/{category}`` - - - **Methods:** ``GET`` - - - **Returns:** A dict mapping each of the category names to category preset - values.' + operationId: seqvars_api_querypresetsclinvar_retrieve + description: ViewSet for the ``QueryPresetsClinvar`` model. parameters: - - name: category - in: path + - in: path + name: querypresetsclinvar + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' description: '' - tags: - - svs - /svs/ajax/query-case/inheritance-presets/{case}/: - get: - operationId: retrieveSvInheritancePresetsApi - description: 'List all inheritance presets for the given case. - - - **URL:** ``/variants/api/query-case/inheritance-presets/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Returns:** A dict mapping each of the category names to category preset - values.' + put: + operationId: seqvars_api_querypresetsclinvar_update + description: ViewSet for the ``QueryPresetsClinvar`` model. parameters: - - name: case - in: path + - in: path + name: querypresetsclinvar + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' description: '' - tags: - - svs - /svs/ajax/query-case/query-settings-shortcut/{case}/: - get: - operationId: retrieveSvQuerySettingsShortcuts - description: "AJAX endpoint to generate SV query settings for a given case by\ - \ certain shortcuts.\n\n**URL:** ``/svs/ajax/query-case/query-settings-shortcut/{case.uuid}/``\n\ - \n**Methods:** ``GET``\n\n**Parameters:**\n\n- ``quick_preset`` - overall\ - \ preset selection using the presets below, valid values are\n\n - ``defaults``\ - \ - applies presets that are recommended for starting out without a specific\ - \ hypothesis\n - ``de_novo`` - applies presets that are recommended for\ - \ starting out when the hypothesis is dominannt\n inheritance with *de\ - \ novo* variants\n - ``dominant`` - applies presets that are recommended\ - \ for starting out when the hypothesis is dominant\n inheritance (but\ - \ not with *de novo* variants)\n - ``homozygous_recessive`` - applies\ - \ presets that are recommended for starting out when the hypothesis is\n \ - \ recessive with homzygous variants\n - ``heterozygous_recessive``\ - \ - applies presets that are recommended for starting out when the hypothesis\ - \ is\n recessive with compound heterozygous variants; will only query\ - \ for SINGLE variants\n - ``x_recessive`` - applies presets that are recommended\ - \ for starting out when the hypothesis is X recessive\n mode of inheritance\n\ - \ - ``clinvar_pathogenic`` - apply presets that are recommended for screening\ - \ variants for known pathogenic\n variants present Clinvar\n - ``mitochondrial``\ - \ - apply presets recommended for starting out to filter for mitochondrial\ - \ mode of\n inheritance\n - ``whole_genome`` - apply presets that\ - \ return all variants of the case, regardless of frequency, quality etc.\n\ - \n- ``inheritance`` - preset selection for mode of inheritance, valid values\ - \ are\n\n - ``any`` - no particular constraint on inheritance (default)\n\ - \ - ``de_novo`` - allow variants compatible with de novo mode of inheritance\n\ - \ - ``dominant`` - allow variants compatible with dominant mode of inheritance\ - \ (includes *de novo* variants)\n - ``homozygous_recessive`` - allow variants\ - \ compatible with homozygous recessive mode of inheritance\n - ``heterozygous_heterozygous``\ - \ - allow variants compatible with compound heterozygous recessive mode of\n\ - \ inheritance\n - ``x_recessive`` - allow variants compatible with\ - \ X_recessive mode of inheritance of a disease/trait\n - ``mitochondrial``\ - \ - mitochondrial inheritance (also applicable for \"clinvar pathogenic\"\ - )\n - ``custom`` - indicates custom settings such that none of the above\ - \ inheritance settings applies\n\n- ``frequency`` - preset selection for frequencies,\ - \ valid values are\n\n - ``any`` - do not apply any thresholds\n - ``strict``\ - \ - apply thresholds considered \"strict\"\n - ``relaxed`` - apply thresholds\ - \ considered \"relaxed\"\n - ``custom`` - indicates custom settings such\ - \ that none of the above frequency settings applies\n\n- ``impact`` - preset\ - \ selection for molecular impact values, valid values are\n\n - ``any``\ - \ - allow any impact\n - ``almost_all`` - remove variants that commonly\ - \ are artifacts\n - ``cnv_only`` - keep only copy number variable variants\n\ - \ - ``custom`` - indicates custom settings such that none of the above\ - \ impact settings applies\n\n- ``chromosomes`` - preset selection for selecting\ - \ chromosomes/regions/genes allow/block lists, valid values are\n\n - ``whole_genome``\ - \ - the defaults settings selecting the whole genome\n - ``autosomes``\ - \ - select the variants lying on the autosomes only\n - ``x_chromosome``\ - \ - select variants on the X chromosome only\n - ``y_chromosome`` - select\ - \ variants on the Y chromosome only\n - ``mt_chromosome`` - select variants\ - \ on the mitochondrial chromosome only\n - ``custom`` - indicates custom\ - \ settings such that none of the above chromosomes presets applies\n\n- ``regulatory``\ - \ - preset selection for regulatory feature annotation\n\n - ``default``\ - \ - the defaults setting selection\n\n- ``tad`` - preset selection for TAD\ - \ feature annotation\n\n - ``default`` - the defaults setting\n\n- ``known_patho``\ - \ - presets related to known pathogenic variants and ClinVar\n\n - ``default``\ - \ - default settings\n - ``custom`` - indicates custom settings such that\ - \ none of the above presets applies\n\n- ``genotype_criteria`` - selection\ - \ of filter criteria\n\n - ``svish_high`` - \"high convidence\" filter\ - \ criteria\n - ``svish_pass`` - \"pass\" filter criteria\n - ``default``\ - \ - define default filter criteria\n - ``none`` - define no filter criteria\n\ - \n- ``database`` - the database to query, one of ``\"refseq\"`` (default)\ - \ and ``\"ensembl\"``\n\n**Returns:**\n\n- ``presets`` - a ``dict`` with the\ - \ following keys; this mirrors back the quick presets and further presets\n\ - \ selected in the parameters\n\n - ``quick_presets`` - one of the ``quick_presets``\ - \ preset values from above\n - ``inheritance`` - one of the ``inheritance``\ - \ preset values from above\n - ``frequency`` - one of the ``frequency``\ - \ preset values from above\n - ``impact`` - one of the ``impact`` preset\ - \ values from above\n - ``chromosomes`` - one of the ``chromosomes`` preset\ - \ values from above\n - ``regulatory`` - feature annotation based on regulatory\ - \ features, from above\n - ``tad`` - feature annotation based on TADs,\ - \ from above\n - ``filter_criteria_definition`` - definition of filter\ - \ criteria, from above\n\n- ``query_settings`` - a ``dict`` with the query\ - \ settings ready to be used for the given case" + patch: + operationId: seqvars_api_querypresetsclinvar_partial_update + description: ViewSet for the ``QueryPresetsClinvar`` model. parameters: - - name: case - in: path + - in: path + name: querypresetsclinvar + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsClinvar' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsClinvar' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsClinvar' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQuerySettingsShortcuts' + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' description: '' + delete: + operationId: seqvars_api_querypresetsclinvar_destroy + description: ViewSet for the ``QueryPresetsClinvar`` model. + parameters: + - in: path + name: querypresetsclinvar + schema: + type: string + format: uuid + required: true + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - svs - /svs/ajax/sv-query/list-create/{case}/: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '204': + description: No response body + /seqvars/api/querypresetscolumns/{querypresetssetversion}/: get: - operationId: retrieveSvQuery - description: 'AJAX endpoint for listing and creating SV queries for a given - case. - - - After creation, a background job will be started to execute the query. - - - **URL:** ``/svs/ajax/sv-query/list-create/{case.sodar_uuid}/`` - - - **Methods:** ``GET``, ``POST``' + operationId: seqvars_api_querypresetscolumns_list + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: case - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQuery' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsColumnsList' description: '' - tags: - - svs post: - operationId: createSvQuery - description: 'AJAX endpoint for listing and creating SV queries for a given - case. - - - After creation, a background job will be started to execute the query. - - - **URL:** ``/svs/ajax/sv-query/list-create/{case.sodar_uuid}/`` - - - **Methods:** ``GET``, ``POST``' + operationId: seqvars_api_querypresetscolumns_create + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/SvQuery' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SvQuery' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' multipart/form-data: schema: - $ref: '#/components/schemas/SvQuery' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQuery' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' description: '' - tags: - - svs - /svs/ajax/sv-query/retrieve-update-destroy/{svquery}/: + /seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/: get: - operationId: retrieveSvQueryWithLogs - description: 'AJAX endpoint for retrieving, updating, and deleting SV queries - for a given case. - - - **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querypresetscolumns_retrieve + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: svquery - in: path + - in: path + name: querypresetscolumns + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' description: '' - tags: - - svs put: - operationId: updateSvQueryWithLogs - description: 'AJAX endpoint for retrieving, updating, and deleting SV queries - for a given case. - - - **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querypresetscolumns_update + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: svquery - in: path + - in: path + name: querypresetscolumns + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' multipart/form-data: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' description: '' - tags: - - svs patch: - operationId: partialUpdateSvQueryWithLogs - description: 'AJAX endpoint for retrieving, updating, and deleting SV queries - for a given case. - - - **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querypresetscolumns_partial_update + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: svquery - in: path + - in: path + name: querypresetscolumns + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsColumns' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsColumns' multipart/form-data: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsColumns' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryWithLogs' + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' description: '' - tags: - - svs delete: - operationId: destroySvQueryWithLogs - description: 'AJAX endpoint for retrieving, updating, and deleting SV queries - for a given case. - - - **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querypresetscolumns_destroy + description: ViewSet for the ``QueryPresetsColumns`` model. parameters: - - name: svquery - in: path + - in: path + name: querypresetscolumns + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - svs - /svs/sv-query-result-set/list/{svquery}/: + description: No response body + /seqvars/api/querypresetsconsequence/{querypresetssetversion}/: get: - operationId: retrieveSvQueryResultSet - description: 'AJAX endpoint for listing query result sets for a query. - - - **URL:** ``/svs/ajax/sv-query-result-set/list/{svqueryresultset.sodar_uuid}/`` - - - **Methods:** ``GET``' + operationId: seqvars_api_querypresetsconsequence_list + description: ViewSet for the ``QueryPresetsConsequence`` model. parameters: - - name: svquery - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryResultSet' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsConsequenceList' description: '' + post: + operationId: seqvars_api_querypresetsconsequence_create + description: ViewSet for the ``QueryPresetsConsequence`` model. + parameters: + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - svs - /svs/sv-query-result-set/retrieve/{svqueryresultset}/: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '201': + content: + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + description: '' + /seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/: get: - operationId: retrieveSvQueryResultSet - description: 'AJAX endpoint for retrieving query result sets. - - - **URL:** ``/svs/ajax/sv-query-result-set/retrieve/{svqueryresultset.sodar_uuid}/`` - - - **Methods:** ``GET``' + operationId: seqvars_api_querypresetsconsequence_retrieve + description: ViewSet for the ``QueryPresetsConsequence`` model. parameters: - - name: svqueryresultset - in: path + - in: path + name: querypresetsconsequence + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryResultSet' + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' description: '' + put: + operationId: seqvars_api_querypresetsconsequence_update + description: ViewSet for the ``QueryPresetsConsequence`` model. + parameters: + - in: path + name: querypresetsconsequence + schema: + type: string + format: uuid + required: true + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - svs - /svs/sv-query-result-row/list/{svqueryresultset}/: - get: - operationId: retrieveSvQueryResultRow - description: 'AJAX endpoint for listing query result rows for a query. - - - **URL:** ``/svs/ajax/sv-query-result-row/list/{svqueryresultset.sodar_uuid}/`` - - - **Methods:** ``GET``' + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '200': + content: + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + description: '' + patch: + operationId: seqvars_api_querypresetsconsequence_partial_update + description: ViewSet for the ``QueryPresetsConsequence`` model. parameters: - - name: svqueryresultset - in: path + - in: path + name: querypresetsconsequence + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsConsequence' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsConsequence' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsConsequence' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryResultRow' + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' description: '' + delete: + operationId: seqvars_api_querypresetsconsequence_destroy + description: ViewSet for the ``QueryPresetsConsequence`` model. + parameters: + - in: path + name: querypresetsconsequence + schema: + type: string + format: uuid + required: true + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - svs - /svs/sv-query-result-row/retrieve/{svqueryresultrow}/: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '204': + description: No response body + /seqvars/api/querypresetsfactorydefaults/: get: - operationId: retrieveSvQueryResultRow - description: 'AJAX endpoint for retreiving query result row for a query. + operationId: seqvars_api_querypresetsfactorydefaults_list + description: |- + ViewSet for listing the factory defaults. - - **URL:** ``/svs/ajax/sv-query-result-row/retrieve/{svqueryresultrow.sodar_uuid}/`` - - - **Methods:** ``GET``' + This is a public view, no permissions are required. parameters: - - name: svqueryresultrow - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. schema: type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SvQueryResultRow' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsSetList' description: '' - tags: - - svs - /svs/ajax/structural-variant-flags/list-create/{case}/: + /seqvars/api/querypresetsfactorydefaults/{querypresetsset}/: get: - operationId: retrieveStructuralVariantFlags - description: '' + operationId: seqvars_api_querypresetsfactorydefaults_retrieve + description: |- + ViewSet for listing the factory defaults. + + This is a public view, no permissions are required. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: querypresetsset schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + - {} responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetDetails' description: '' + /seqvars/api/querypresetsfrequency/{querypresetssetversion}/: + get: + operationId: seqvars_api_querypresetsfrequency_list + description: ViewSet for the ``QueryPresetsFrequency`` model. + parameters: + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - svs + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '200': + content: + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsFrequencyList' + description: '' post: - operationId: createStructuralVariantFlags - description: '' + operationId: seqvars_api_querypresetsfrequency_create + description: ViewSet for the ``QueryPresetsFrequency`` model. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' description: '' - tags: - - svs - /svs/ajax/structural-variant-flags/list-project/{project}/: + /seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/: get: - operationId: retrieveStructuralVariantFlagsProject - description: '' + operationId: seqvars_api_querypresetsfrequency_retrieve + description: ViewSet for the ``QueryPresetsFrequency`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetsfrequency schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/StructuralVariantFlagsProject' - description: '' - tags: - - svs - /svs/ajax/structural-variant-flags/retrieve-update-destroy/{structuralvariantflags}/: - get: - operationId: retrieveStructuralVariantFlags - description: '' - parameters: - - name: structuralvariantflags - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' description: '' - tags: - - svs put: - operationId: updateStructuralVariantFlags - description: '' + operationId: seqvars_api_querypresetsfrequency_update + description: ViewSet for the ``QueryPresetsFrequency`` model. parameters: - - name: structuralvariantflags - in: path + - in: path + name: querypresetsfrequency + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' description: '' - tags: - - svs patch: - operationId: partialUpdateStructuralVariantFlags - description: '' + operationId: seqvars_api_querypresetsfrequency_partial_update + description: ViewSet for the ``QueryPresetsFrequency`` model. parameters: - - name: structuralvariantflags - in: path + - in: path + name: querypresetsfrequency + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsFrequency' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsFrequency' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsFrequency' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantFlags' + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' description: '' - tags: - - svs delete: - operationId: destroyStructuralVariantFlags - description: '' + operationId: seqvars_api_querypresetsfrequency_destroy + description: ViewSet for the ``QueryPresetsFrequency`` model. parameters: - - name: structuralvariantflags - in: path + - in: path + name: querypresetsfrequency + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - svs - /svs/ajax/structural-variant-comment/list-create/{case}/: + description: No response body + /seqvars/api/querypresetslocus/{querypresetssetversion}/: get: - operationId: retrieveStructuralVariantComment - description: '' + operationId: seqvars_api_querypresetslocus_list + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: case - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsLocusList' description: '' - tags: - - svs post: - operationId: createStructuralVariantComment - description: '' + operationId: seqvars_api_querypresetslocus_create + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' description: '' - tags: - - svs - /svs/ajax/structural-variant-comment/list-project/{project}/: + /seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/: get: - operationId: retrieveStructuralVariantCommentProject - description: '' + operationId: seqvars_api_querypresetslocus_retrieve + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetslocus schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/StructuralVariantCommentProject' - description: '' - tags: - - svs - /svs/ajax/structural-variant-comment/retrieve-update-destroy/{structuralvariantcomment}/: - get: - operationId: retrieveStructuralVariantComment - description: '' - parameters: - - name: structuralvariantcomment - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' description: '' - tags: - - svs put: - operationId: updateStructuralVariantComment - description: '' + operationId: seqvars_api_querypresetslocus_update + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: structuralvariantcomment - in: path + - in: path + name: querypresetslocus + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' description: '' - tags: - - svs patch: - operationId: partialUpdateStructuralVariantComment - description: '' + operationId: seqvars_api_querypresetslocus_partial_update + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: structuralvariantcomment - in: path + - in: path + name: querypresetslocus + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsLocus' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsLocus' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsLocus' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantComment' + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' description: '' - tags: - - svs delete: - operationId: destroyStructuralVariantComment - description: '' + operationId: seqvars_api_querypresetslocus_destroy + description: ViewSet for the ``QueryPresetsLocus`` model. parameters: - - name: structuralvariantcomment - in: path - required: true - description: '' + - in: path + name: querypresetslocus schema: type: string - responses: - '204': - description: '' - tags: - - svs - /svs/ajax/structural-variant-acmg-rating/list-create/{case}/: - get: - operationId: retrieveStructuralVariantAcmgRating - description: '' - parameters: - - name: case - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] + responses: + '204': + description: No response body + /seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/: + get: + operationId: seqvars_api_querypresetsphenotypeprio_list + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. + parameters: + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsPhenotypePrioList' description: '' - tags: - - svs post: - operationId: createStructuralVariantAcmgRating - description: '' + operationId: seqvars_api_querypresetsphenotypeprio_create + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' description: '' - tags: - - svs - /svs/ajax/structural-variant-acmg-rating/list-project/{project}/: + /seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/: get: - operationId: retrieveStructuralVariantAcmgRatingProject - description: '' + operationId: seqvars_api_querypresetsphenotypeprio_retrieve + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetsphenotypeprio schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/StructuralVariantAcmgRatingProject' - description: '' - tags: - - svs - /svs/ajax/structural-variant-acmg-rating/retrieve-update-destroy/{structuralvariantacmgrating}/: - get: - operationId: retrieveStructuralVariantAcmgRating - description: '' - parameters: - - name: structuralvariantacmgrating - in: path + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' description: '' - tags: - - svs put: - operationId: updateStructuralVariantAcmgRating - description: '' + operationId: seqvars_api_querypresetsphenotypeprio_update + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. parameters: - - name: structuralvariantacmgrating - in: path + - in: path + name: querypresetsphenotypeprio + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' description: '' - tags: - - svs patch: - operationId: partialUpdateStructuralVariantAcmgRating - description: '' + operationId: seqvars_api_querypresetsphenotypeprio_partial_update + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. parameters: - - name: structuralvariantacmgrating - in: path + - in: path + name: querypresetsphenotypeprio + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsPhenotypePrio' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsPhenotypePrio' multipart/form-data: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsPhenotypePrio' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/StructuralVariantAcmgRating' + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' description: '' - tags: - - svs delete: - operationId: destroyStructuralVariantAcmgRating - description: '' + operationId: seqvars_api_querypresetsphenotypeprio_destroy + description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. parameters: - - name: structuralvariantacmgrating - in: path + - in: path + name: querypresetsphenotypeprio + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - svs - /project/ajax/list: + description: No response body + /seqvars/api/querypresetsquality/{querypresetssetversion}/: get: - operationId: listProjectListAjaxs - description: View to retrieve project list entries from the client - parameters: [] - responses: - '200': - content: - application/json: - schema: - type: array - items: {} - description: '' + operationId: seqvars_api_querypresetsquality_list + description: ViewSet for the ``QueryPresetsQuality`` model. + parameters: + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - project - /project/ajax/user/current: - get: - operationId: retrieveSODARUser - description: Return information of the requesting user for Ajax requests. - parameters: [] + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/json: + application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/SODARUser' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsQualityList' description: '' + post: + operationId: seqvars_api_querypresetsquality_create + description: ViewSet for the ``QueryPresetsQuality`` model. + parameters: + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - project - /project/api/list: - get: - operationId: listProjects - description: 'List all projects and categories for which the requesting user - has access. - - - **URL:** ``/project/api/list`` - - - **Methods:** ``GET`` - - - **Returns:** - - - List of project details (see ``ProjectRetrieveAPIView``). For project finder - - role, only lists title and UUID of projects.' - parameters: [] + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': + '201': content: - application/vnd.bihealth.sodar-core+json: + application/vnd.bihealth.varfish+json: schema: - type: array - items: {} + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' description: '' - tags: - - project - /project/api/retrieve/{project}: + /seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/: get: - operationId: retrieveProject - description: 'Retrieve a project or category by its UUID. - - - **URL:** ``/project/api/retrieve/{Project.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Returns:** - - - - ``description``: Project description (string) - - - ``parent``: Parent category UUID (string or null) - - - ``readme``: Project readme (string, supports markdown) - - - ``public_guest_access``: Guest access for all users (boolean) - - - ``roles``: Project role assignments (dict, assignment UUID as key) - - - ``sodar_uuid``: Project UUID (string) - - - ``title``: Project title (string) - - - ``type``: Project type (string, options: ``PROJECT`` or ``CATEGORY``)' + operationId: seqvars_api_querypresetsquality_retrieve + description: ViewSet for the ``QueryPresetsQuality`` model. parameters: - - name: project - in: path + - in: path + name: querypresetsquality + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.sodar-core+json: + application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Project' + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' description: '' - tags: - - project - /project/api/invites/list/{project}: - get: - operationId: retrieveProjectInvite - description: 'List user invites for a project. - - - **URL:** ``/project/api/invites/list/{Project.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Returns:** List of project invite details' + put: + operationId: seqvars_api_querypresetsquality_update + description: ViewSet for the ``QueryPresetsQuality`` model. parameters: - - name: project - in: path + - in: path + name: querypresetsquality + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.sodar-core+json: + application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/ProjectInvite' + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' description: '' - tags: - - project - /project/api/settings/retrieve/{project}: - get: - operationId: retrieveAppSetting - description: 'API view for retrieving an app setting with the PROJECT or PROJECT_USER - - scope. - - - **URL:** ``project/api/settings/retrieve/{Project.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``app_name``: Name of app plugin for the setting, use "projectroles" for - projectroles settings (string) - - - ``setting_name``: Setting name (string) - - - ``user``: User UUID for a PROJECT_USER setting (string or None, optional)' + patch: + operationId: seqvars_api_querypresetsquality_partial_update + description: ViewSet for the ``QueryPresetsQuality`` model. parameters: - - name: project - in: path + - in: path + name: querypresetsquality + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/AppSetting' - description: '' + pattern: ^[0-9a-f-]+$ + required: true tags: - - project - /project/api/settings/retrieve/user: - get: - operationId: retrieveAppSetting - description: 'API view for retrieving an app setting with the USER scope. - - - **URL:** ``project/api/settings/retrieve/user`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``app_name``: Name of app plugin for the setting, use "projectroles" for - projectroles settings (string) - - - ``setting_name``: Setting name (string)' - parameters: [] + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsQuality' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsQuality' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsQuality' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.sodar-core+json: + application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/AppSetting' + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' description: '' + delete: + operationId: seqvars_api_querypresetsquality_destroy + description: ViewSet for the ``QueryPresetsQuality`` model. + parameters: + - in: path + name: querypresetsquality + schema: + type: string + format: uuid + required: true + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true tags: - - project - /project/api/users/list: - get: - operationId: listSODARUsers - description: 'Return a list of all users on the site. Excludes system users, - unless called - - with superuser access. - - - **URL:** ``/project/api/users/list`` - - - **Methods:** ``GET`` - - - **Returns**: List of serializers users (see ``CurrentUserRetrieveAPIView``)' - parameters: [] - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - type: array - items: - $ref: '#/components/schemas/SODARUser' - description: '' - tags: - - project - /project/api/users/current: - get: - operationId: retrieveSODARUser - description: 'Return information on the user making the request. - - - **URL:** ``/project/api/users/current`` - - - **Methods:** ``GET`` - - - **Returns**: - - - For current user: - - - - ``email``: Email address of the user (string) - - - ``is_superuser``: Superuser status (boolean) - - - ``name``: Full name of the user (string) - - - ``sodar_uuid``: User UUID (string) - - - ``username``: Username of the user (string)' - parameters: [] + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/SODARUser' - description: '' - tags: - - project - /project/api/remote/get/{secret}: + '204': + description: No response body + /seqvars/api/querypresetsset/{project}/: get: - operationId: retrieveRemoteProjectGet - description: API view for retrieving remote projects from a source site + operationId: seqvars_api_querypresetsset_list + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: secret - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: project schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/vnd.bihealth.sodar-core+json: - schema: {} + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsSetList' description: '' - tags: - - project - /timeline/ajax/detail/{projectevent}: - get: - operationId: retrieveProjectEventDetailAjax - description: Ajax view for retrieving event details for projects + post: + operationId: seqvars_api_querypresetsset_create + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: projectevent - in: path - required: true - description: '' + - in: path + name: project schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': + '201': content: - application/json: - schema: {} + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' description: '' - tags: - - timeline - /timeline/ajax/detail/site/{projectevent}: + /seqvars/api/querypresetsset/{project}/{querypresetsset}/: get: - operationId: retrieveSiteEventDetailAjax - description: Ajax view for retrieving event details for site-wide events + operationId: seqvars_api_querypresetsset_retrieve + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: projectevent - in: path + - in: path + name: project + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsset schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/json: - schema: {} + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' description: '' - tags: - - timeline - /timeline/ajax/extra/{projectevent}: - get: - operationId: retrieveProjectEventExtraAjax - description: Ajax view for retrieving event extra data for projects + put: + operationId: seqvars_api_querypresetsset_update + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: projectevent - in: path + - in: path + name: project + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsset schema: type: string + format: uuid + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + multipart/form-data: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/json: - schema: {} + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' description: '' - tags: - - timeline - /timeline/ajax/extra/site/{projectevent}: - get: - operationId: retrieveSiteEventExtraAjax - description: Ajax view for retrieving event extra data for site-wide events + patch: + operationId: seqvars_api_querypresetsset_partial_update + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: projectevent - in: path + - in: path + name: project + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsset schema: type: string + format: uuid + required: true + tags: + - seqvars + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSet' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSet' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSet' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: - application/json: - schema: {} + application/vnd.bihealth.varfish+json: + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' description: '' - tags: - - timeline - /timeline/ajax/extra/status/{eventstatus}: - get: - operationId: retrieveEventStatusExtraAjax - description: Ajax view for retrieving event status extra data for events + delete: + operationId: seqvars_api_querypresetsset_destroy + description: ViewSet for the ``QueryPresetsSet`` model. parameters: - - name: eventstatus - in: path + - in: path + name: project + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsset schema: type: string - responses: - '200': - content: - application/json: - schema: {} - description: '' + format: uuid + required: true tags: - - timeline - /app_alerts/ajax/status: - get: - operationId: listAppAlertStatusAjaxs - description: View to get app alert status for user - parameters: [] + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '200': - content: - application/json: - schema: - type: array - items: {} - description: '' - tags: - - app-alerts - /cohorts/ajax/user-permissions/{project}/: + '204': + description: No response body + /seqvars/api/querypresetsset/{project}/{querypresetsset}/copy_from/: get: - operationId: retrieveProjectUserPermissionsAjax - description: 'Retrieve permissions of current user in project. - - - **URL:** ``/cohorts/ajax/user-permissions/{project.sodar_uuid}/`` - - - **Methods:** ``GET`` - - - **Returns:** List of permissions that the user has in the project for the - ``cohorts`` app.' + operationId: seqvars_api_querypresetsset_copy_from_retrieve + description: Copy from another presets set. parameters: - - name: project - in: path + - in: path + name: project + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsset schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' description: '' - tags: - - cohorts - /cohorts/api/cohort/list-create/{project}/: + /seqvars/api/querypresetssetversion/{querypresetsset}/: get: - operationId: retrieveCohort - description: 'List cohorts of a project or create a cohort in the project. - - - **URL:** ``/cohorts/api/cohort/list-create/{project.sodar_uuid}/`` - - - **Methods:** ``GET``, ``POST`` - - - **Returns:** List of cohorts' + operationId: seqvars_api_querypresetssetversion_list + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: project - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetsset schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsSetVersionList' description: '' - tags: - - cohorts post: - operationId: createCohort - description: 'List cohorts of a project or create a cohort in the project. - - - **URL:** ``/cohorts/api/cohort/list-create/{project.sodar_uuid}/`` - - - **Methods:** ``GET``, ``POST`` - - - **Returns:** List of cohorts' + operationId: seqvars_api_querypresetssetversion_create + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetsset schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' multipart/form-data: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' description: '' - tags: - - cohorts - /cohorts/api/cohort/retrieve-update-destroy/{cohort}/: + /seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/: get: - operationId: retrieveCohort - description: 'Retrieve, update destroy a given cohort. - - - **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - - - **Returns:** Cohort.' + operationId: seqvars_api_querypresetssetversion_retrieve + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: cohort - in: path + - in: path + name: querypresetsset + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersionDetails' description: '' - tags: - - cohorts put: - operationId: updateCohort - description: 'Retrieve, update destroy a given cohort. - - - **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - - - **Returns:** Cohort.' + operationId: seqvars_api_querypresetssetversion_update + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: cohort - in: path + - in: path + name: querypresetsset + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + format: uuid + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' multipart/form-data: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' description: '' - tags: - - cohorts patch: - operationId: partialUpdateCohort - description: 'Retrieve, update destroy a given cohort. - - - **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - - - **Returns:** Cohort.' + operationId: seqvars_api_querypresetssetversion_partial_update + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: cohort - in: path + - in: path + name: querypresetsset + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + format: uuid + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSetVersion' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSetVersion' multipart/form-data: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsSetVersion' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/Cohort' + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' description: '' - tags: - - cohorts delete: - operationId: destroyCohort - description: 'Retrieve, update destroy a given cohort. - - - **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - - - **Returns:** Cohort.' + operationId: seqvars_api_querypresetssetversion_destroy + description: ViewSet for the ``QueryPresetsSetVersion`` model. parameters: - - name: cohort - in: path + - in: path + name: querypresetsset + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - cohorts - /cohorts/api/cohortcase/list/{cohort}/: + description: No response body + /seqvars/api/querypresetsvariantprio/{querypresetssetversion}/: get: - operationId: retrieveCohortCase - description: 'List all cohortcase for a given cohort. - - - **URL:** ``/cohorts/api/cohortcase/list/{cohort.sodar_uuid}/`` - - - **Methods:** ``GET`` - - - **Returns:** List of CohortCase.' + operationId: seqvars_api_querypresetsvariantprio_list + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: cohort - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: querypresetssetversion schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CohortCase' + $ref: '#/components/schemas/PaginatedSeqvarsQueryPresetsVariantPrioList' description: '' - tags: - - cohorts - /cohorts/api/accessible-projects-cases/list/{project}/: - get: - operationId: retrieveProjectCases - description: 'List all accessible projects including cases for a user. - - - **URL:** ``/cohorts/api/accessible-projects-cases/list/{cohort.sodar_uuid}/`` - - - **Methods:**: ``GET`` - - - **Returns:** List of project including cases.' + post: + operationId: seqvars_api_querypresetsvariantprio_create + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/ProjectCases' - description: '' - tags: - - cohorts - /beaconsite/endpoint/: - get: - operationId: listBeaconInfoApis - description: Implementation of the GA4GH info endpoint. - parameters: [] - responses: - '200': - content: - application/json: - schema: - type: array - items: {} - description: '' - tags: - - beaconsite - /beaconsite/endpoint/query/: - get: - operationId: listBeaconQueryApis - description: Implementation of the GA4GH query endpoint. - parameters: [] - responses: - '200': - content: - application/json: - schema: - type: array - items: {} - description: '' + pattern: ^[0-9a-f-]+$ + required: true tags: - - beaconsite - post: - operationId: createBeaconQueryApi - description: Implementation of the GA4GH query endpoint. - parameters: [] + - seqvars requestBody: content: application/json: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' application/x-www-form-urlencoded: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' multipart/form-data: - schema: {} + schema: + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': - content: - application/json: - schema: {} - description: '' - tags: - - beaconsite - /genepanels/api/genepanel-category/list/: - get: - operationId: listGenePanelCategorys - description: 'List all ``GenePanelCategory`` entries with ``GenePanel``. - - - **URL:** ``/genepanels/api/gene-panel-category`` - - - **Methods:** GET - - - **Returns:**' - parameters: [] - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - type: array - items: - $ref: '#/components/schemas/GenePanelCategory' - description: '' - tags: - - genepanels - /genepanels/api/lookup-genepanel/: - get: - operationId: retrieveGenePanel - description: 'Retrieve information about a gene panel. - - - **URL:** ``/genepanels/api/lookup-genepanel/`` - - - **Methods:** GET - - - **Returns:**' - parameters: [] - responses: - '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/GenePanel' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' description: '' - tags: - - genepanels - /cases/ajax/user-permissions/{project}/: + /seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/: get: - operationId: retrieveProjectUserPermissionsAjax - description: 'Retrieve permissions of current user in project. - - - **URL:** ``/cases/ajax/user-permissions/{project.sodar_uuid}/`` - - - **Methods:** ``GET`` - - - **Returns:** List of permissions that the user has in the project for the - ``cases`` app.' + operationId: seqvars_api_querypresetsvariantprio_retrieve + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: project - in: path - required: true - description: '' + - in: path + name: querypresetssetversion schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: {} - description: '' - tags: - - cases - /cases/api/case/list/{project}/: - get: - operationId: retrieveCaseSerializerNg - description: 'List all cases in the current project. - - - **URL:** ``/cases/api/case/list/{project.sodar_uid}/`` - - - **Methods:** ``GET`` - - - **Returns:** List of project details (see :py:class:`CaseRetrieveApiView`)' - parameters: - - name: project - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsvariantprio schema: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseNg' - description: '' - tags: - - cases - /cases/api/case/retrieve-update-destroy/{case}/: - get: - operationId: retrieveCaseSerializerNg - description: 'Update a given case. - - - **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - - - **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - - - **Returns:** Updated case details.' - parameters: - - name: case - in: path + format: uuid required: true - description: '' - schema: - type: string + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' description: '' - tags: - - cases put: - operationId: updateCaseSerializerNg - description: 'Update a given case. - - - **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - - - **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - - - **Returns:** Updated case details.' + operationId: seqvars_api_querypresetsvariantprio_update + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: case - in: path + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsvariantprio schema: type: string + format: uuid + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' multipart/form-data: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' description: '' - tags: - - cases patch: - operationId: partialUpdateCaseSerializerNg - description: 'Update a given case. - - - **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - - - **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - - - **Returns:** Updated case details.' + operationId: seqvars_api_querypresetsvariantprio_partial_update + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: case - in: path + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsvariantprio schema: type: string + format: uuid + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsVariantPrio' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsVariantPrio' multipart/form-data: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/PatchedSeqvarsQueryPresetsVariantPrio' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseNg' + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' description: '' - tags: - - cases delete: - operationId: destroyCaseSerializerNg - description: 'Update a given case. - - - **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - - - **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - - - **Returns:** Updated case details.' + operationId: seqvars_api_querypresetsvariantprio_destroy + description: ViewSet for the ``QueryPresetsVariantPrio`` model. parameters: - - name: case - in: path + - in: path + name: querypresetssetversion + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: querypresetsvariantprio schema: type: string + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - cases - /cases/api/case-comment/list-create/{case}/: + description: No response body + /seqvars/api/querysettings/{session}/: get: - operationId: retrieveCaseComment - description: 'List/create case comments for the given case. - - - **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``page`` - specify page to return (default/first is ``1``) - - - ``page_size`` -- number of elements per page (default is ``10``, maximum - is ``100``) - - - **Returns:** - - - - ``count`` - number of total elements (``int``) - - - ``next`` - URL to next page (``str`` or ``null``) - - - ``previous`` - URL to next page (``str`` or ``null``) - - - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`)' + operationId: seqvars_api_querysettings_list + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: case - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/PaginatedSeqvarsQuerySettingsList' description: '' - tags: - - cases post: - operationId: createCaseComment - description: 'List/create case comments for the given case. - - - **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``page`` - specify page to return (default/first is ``1``) - - - ``page_size`` -- number of elements per page (default is ``10``, maximum - is ``100``) - - - **Returns:** - - - - ``count`` - number of total elements (``int``) - - - ``next`` - URL to next page (``str`` or ``null``) - - - ``previous`` - URL to next page (``str`` or ``null``) - - - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`)' + operationId: seqvars_api_querysettings_create + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: case - in: path - required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' multipart/form-data: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '201': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' description: '' - tags: - - cases - /cases/ajax/case-comment/retrieve-update-destroy/{casecomment}/: + /seqvars/api/querysettings/{session}/{querysettings}/: get: - operationId: retrieveCaseComments - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querysettings_retrieve + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: casecomment - in: path + - in: path + name: querysettings + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' description: '' - tags: - - cases put: - operationId: updateCaseComments - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querysettings_update + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: casecomment - in: path + - in: path + name: querysettings + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' multipart/form-data: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' + required: true + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' description: '' - tags: - - cases patch: - operationId: partialUpdateCaseComments - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querysettings_partial_update + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: casecomment - in: path + - in: path + name: querysettings + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars requestBody: content: application/json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/PatchedSeqvarsQuerySettingsDetails' application/x-www-form-urlencoded: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/PatchedSeqvarsQuerySettingsDetails' multipart/form-data: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/PatchedSeqvarsQuerySettingsDetails' + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CaseComment' + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' description: '' - tags: - - cases delete: - operationId: destroyCaseComments - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_querysettings_destroy + description: ViewSet for the ``QuerySettings`` model. parameters: - - name: casecomment - in: path + - in: path + name: querysettings + schema: + type: string + format: uuid required: true - description: '' + - in: path + name: session schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '204': - description: '' - tags: - - cases - /cases/api/case-phenotype-terms/list-create/{case}/: + description: No response body + /seqvars/api/resultrow/{resultset}/: get: - operationId: retrieveCasePhenotypeTerms - description: 'List/create case phenotype term annotations. - - - **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``page`` - specify page to return (default/first is ``1``) - - - ``page_size`` -- number of elements per page (default is ``10``, maximum - is ``100``) - - - **Returns:** - - - - ``count`` - number of total elements (``int``) - - - ``next`` - URL to next page (``str`` or ``null``) - - - ``previous`` - URL to next page (``str`` or ``null``) - - - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`)' + operationId: seqvars_api_resultrow_list + description: ViewSet for retrieving ``ResultRow`` records. parameters: - - name: case - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. schema: type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: resultset + schema: + type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CasePhenotypeTerms' + $ref: '#/components/schemas/PaginatedSeqvarsResultRowList' description: '' - tags: - - cases - post: - operationId: createCasePhenotypeTerms - description: 'List/create case phenotype term annotations. - - - **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - - - **Methods:** ``GET`` - - - **Parameters:** - - - - ``page`` - specify page to return (default/first is ``1``) - - - ``page_size`` -- number of elements per page (default is ``10``, maximum - is ``100``) - - - **Returns:** - - - - ``count`` - number of total elements (``int``) - - - ``next`` - URL to next page (``str`` or ``null``) - - - ``previous`` - URL to next page (``str`` or ``null``) - - - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`)' + /seqvars/api/resultrow/{resultset}/{seqvarresultrow}/: + get: + operationId: seqvars_api_resultrow_retrieve + description: ViewSet for retrieving ``ResultRow`` records. parameters: - - name: case - in: path + - in: path + name: resultset + schema: + type: string + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: seqvarresultrow schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - multipart/form-data: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' + format: uuid + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: - '201': + '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CasePhenotypeTerms' + $ref: '#/components/schemas/SeqvarsResultRow' description: '' - tags: - - cases - /cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/: + /seqvars/api/resultset/{query}/: get: - operationId: retrieveCasePhenotypeTerms - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + operationId: seqvars_api_resultset_list + description: ViewSet for retrieving ``ResultSet`` records. parameters: - - name: casephenotypeterms - in: path - required: true - description: '' + - name: cursor + required: false + in: query + description: The pagination cursor value. + schema: + type: string + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: query schema: type: string + pattern: ^[0-9a-f-]+$ + required: true + tags: + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/CasePhenotypeTerms' + $ref: '#/components/schemas/PaginatedSeqvarsResultSetList' description: '' - tags: - - cases - put: - operationId: updateCasePhenotypeTerms - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' + /seqvars/api/resultset/{query}/{resultset}/: + get: + operationId: seqvars_api_resultset_retrieve + description: ViewSet for retrieving ``ResultSet`` records. parameters: - - name: casephenotypeterms - in: path - required: true - description: '' + - in: path + name: query schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - multipart/form-data: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - description: '' - tags: - - cases - patch: - operationId: partialUpdateCasePhenotypeTerms - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' - parameters: - - name: casephenotypeterms - in: path + pattern: ^[0-9a-f-]+$ required: true - description: '' + - in: path + name: resultset schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - multipart/form-data: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CasePhenotypeTerms' - description: '' - tags: - - cases - delete: - operationId: destroyCasePhenotypeTerms - description: 'Retrieve, update, destroy case comments for the given case. - - - **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - - - **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE``' - parameters: - - name: casephenotypeterms - in: path + format: uuid required: true - description: '' - schema: - type: string - responses: - '204': - description: '' tags: - - cases - /cases/api/annotation-release-info/list/{case}/: - get: - operationId: retrieveAnnotationReleaseInfo - description: 'List annotation release infos for a given case. - - - **URL:** ``/cases/api/annotation-release-info/list/{case.sodar_uuid}`` - - - **Methods:** ``GET``' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string + - seqvars + security: + - basicAuth: [] + - cookieAuth: [] + - knoxApiToken: [] responses: '200': content: application/vnd.bihealth.varfish+json: schema: - $ref: '#/components/schemas/AnnotationReleaseInfo' + $ref: '#/components/schemas/SeqvarsResultSet' description: '' - tags: - - cases - /cases/api/sv-annotation-release-info/list/{case}/: - get: - operationId: retrieveSvAnnotationReleaseInfo - description: 'List SVannotation release infos for a given case. - - - **URL:** ``/cases/api/sv-annotation-release-info/list/{case.sodar_uuid}`` - - - **Methods:** ``GET``' - parameters: - - name: case - in: path - required: true - description: '' - schema: +components: + schemas: + ActionEnum: + enum: + - create + - update + - delete + type: string + description: |- + * `create` - create + * `update` - update + * `delete` - delete + AnnotationReleaseInfo: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + genomebuild: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SvAnnotationReleaseInfo' - description: '' - tags: - - cases - /varannos/api/varannoset/list-create/{project}/: - get: - operationId: retrieveVarAnnoSet - description: DRF list-create API view the ``VarAnnoSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: + readOnly: true + table: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - description: '' - tags: - - varannos - post: - operationId: createVarAnnoSet - description: DRF list-create API view the ``VarAnnoSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: + readOnly: true + timestamp: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSet' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - description: '' - tags: - - varannos - /varannos/api/varannoset/retrieve-update-destroy/{varannoset}/: - get: - operationId: retrieveVarAnnoSet - description: DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + release: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - description: '' - tags: - - varannos - put: - operationId: updateVarAnnoSet - description: DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + readOnly: true + required: + - genomebuild + - release + - table + - timestamp + BcftoolsStatsAfRecordList: + type: array + title: BcftoolsStatsAfRecordList + items: + description: |- + A Record from the ``AF`` (non-reference allele frequency) lines in ``bcftools stats`` + output. + properties: + af: + title: Af + type: number + snps: + title: Snps + type: integer + ts: + title: Ts + type: integer + tv: + title: Tv + type: integer + indels: + title: Indels + type: integer + repeat_consistent: + title: Repeat Consistent + type: integer + repeat_inconsistent: + title: Repeat Inconsistent + type: integer + na: + title: Na + type: integer + required: + - af + - snps + - ts + - tv + - indels + - repeat_consistent + - repeat_inconsistent + - na + title: BcftoolsStatsAfRecord + type: object + BcftoolsStatsDpRecordList: + type: array + title: BcftoolsStatsDpRecordList + items: + description: A Record from the ``DP`` (AF) lines in ``bcftools stats`` output. + properties: + bin: + title: Bin + type: integer + gts: + title: Gts + type: integer + gts_frac: + title: Gts Frac + type: number + sites: + title: Sites + type: integer + sites_frac: + title: Sites Frac + type: number + required: + - bin + - gts + - gts_frac + - sites + - sites_frac + title: BcftoolsStatsDpRecord + type: object + BcftoolsStatsIddRecordList: + type: array + title: BcftoolsStatsIddRecordList + items: + description: A Record from the ``IDD`` (indel distribution) lines in ``bcftools + stats`` output. + properties: + length: + title: Length + type: integer + sites: + title: Sites + type: integer + gts: + title: Gts + type: integer + mean_vaf: + anyOf: + - type: number + - type: 'null' + title: Mean Vaf + required: + - length + - sites + - gts + - mean_vaf + title: BcftoolsStatsIddRecord + type: object + BcftoolsStatsMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSet' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - description: '' - tags: - - varannos - patch: - operationId: partialUpdateVarAnnoSet - description: DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + readOnly: true + caseqc: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSet' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSet' - description: '' - tags: - - varannos - delete: - operationId: destroyVarAnnoSet - description: DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + format: uuid + readOnly: true + sn: + $ref: '#/components/schemas/BcftoolsStatsSnRecordList' + tstv: + $ref: '#/components/schemas/BcftoolsStatsTstvRecordList' + sis: + $ref: '#/components/schemas/BcftoolsStatsSisRecordList' + af: + $ref: '#/components/schemas/BcftoolsStatsAfRecordList' + qual: + $ref: '#/components/schemas/BcftoolsStatsQualRecordList' + idd: + $ref: '#/components/schemas/BcftoolsStatsIddRecordList' + st: + $ref: '#/components/schemas/BcftoolsStatsStRecordList' + dp: + $ref: '#/components/schemas/BcftoolsStatsDpRecordList' + date_created: type: string - responses: - '204': - description: '' - tags: - - varannos - /varannos/api/varannosetentry/list-create/{varannoset}/: - get: - operationId: retrieveVarAnnoSetEntry - description: DRF list-create API view the ``VarAnnoSetEntry`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + date_modified: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - description: '' - tags: - - varannos - post: - operationId: createVarAnnoSetEntry - description: DRF list-create API view the ``VarAnnoSetEntry`` model. - parameters: - - name: varannoset - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + required: + - af + - caseqc + - date_created + - date_modified + - dp + - idd + - qual + - sis + - sn + - sodar_uuid + - st + - tstv + BcftoolsStatsQualRecordList: + type: array + title: BcftoolsStatsQualRecordList + items: + description: A Record from the ``QUAL`` (quality) lines in ``bcftools stats`` + output. + properties: + qual: + anyOf: + - type: number + - type: 'null' + title: Qual + snps: + title: Snps + type: integer + ts: + title: Ts + type: integer + tv: + title: Tv + type: integer + indels: + title: Indels + type: integer + required: + - qual + - snps + - ts + - tv + - indels + title: BcftoolsStatsQualRecord + type: object + BcftoolsStatsSisRecordList: + type: array + title: BcftoolsStatsSisRecordList + items: + description: A Record from the ``SiS`` (singleton stats) lines in ``bcftools + stats`` output. + properties: + total: + title: Total + type: integer + snps: + title: Snps + type: integer + ts: + title: Ts + type: integer + tv: + title: Tv + type: integer + indels: + title: Indels + type: integer + repeat_consistent: + title: Repeat Consistent + type: integer + repeat_inconsistent: + title: Repeat Inconsistent + type: integer + required: + - total + - snps + - ts + - tv + - indels + - repeat_consistent + - repeat_inconsistent + title: BcftoolsStatsSisRecord + type: object + BcftoolsStatsSnRecordList: + type: array + title: BcftoolsStatsSnRecordList + items: + description: A Record from the ``SN`` lines in ``bcftools stats`` output. + properties: + key: + title: Key + type: string + value: + anyOf: + - type: integer + - type: number + - type: string + - type: 'null' + title: Value + required: + - key + - value + title: BcftoolsStatsSnRecord + type: object + BcftoolsStatsStRecordList: + type: array + title: BcftoolsStatsStRecordList + items: + description: A Record from the ``ST`` (substitution types) lines in ``bcftools + stats`` output. + properties: + type: + title: Type + type: string + count: + title: Count + type: integer + required: + - type + - count + title: BcftoolsStatsStRecord + type: object + BcftoolsStatsTstvRecordList: + type: array + title: BcftoolsStatsTstvRecordList + items: + description: A Record from the ``TSTV`` lines in ``bcftools stats`` output. + properties: + ts: + title: Ts + type: integer + tv: + title: Tv + type: integer + tstv: + title: Tstv + type: number + ts_1st_alt: + title: Ts 1St Alt + type: integer + tv_1st_alt: + title: Tv 1St Alt + type: integer + tstv_1st_alt: + title: Tstv 1St Alt + type: number + required: + - ts + - tv + - tstv + - ts_1st_alt + - tv_1st_alt + - tstv_1st_alt + title: BcftoolsStatsTstvRecord + type: object + CaseAnalysis: + type: object + description: Serializer for ``CaseAnalysis``. + properties: + sodar_uuid: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - description: '' - tags: - - varannos - /varannos/api/varannosetentry/retrieve-update-destroy/{varannosetentry}/: - get: - operationId: retrieveVarAnnoSetEntry - description: DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` - model. - parameters: - - name: varannosetentry - in: path - required: true - description: '' - schema: + format: uuid + readOnly: true + date_created: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - description: '' - tags: - - varannos - put: - operationId: updateVarAnnoSetEntry - description: DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` - model. - parameters: - - name: varannosetentry - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + date_modified: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - description: '' - tags: - - varannos - patch: - operationId: partialUpdateVarAnnoSetEntry - description: DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` - model. - parameters: - - name: varannosetentry - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + case: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - multipart/form-data: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarAnnoSetEntry' - description: '' - tags: - - varannos - delete: - operationId: destroyVarAnnoSetEntry - description: DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` - model. - parameters: - - name: varannosetentry - in: path - required: true - description: '' - schema: + format: uuid + description: Case SODAR UUID + readOnly: true + required: + - case + - date_created + - date_modified + - sodar_uuid + CaseAnalysisSession: + type: object + description: Serializer for ``CaseAnalysisSession``. + properties: + sodar_uuid: type: string - responses: - '204': - description: '' - tags: - - varannos - /seqmeta/api/enrichmentkit/list-create/: - get: - operationId: listEnrichmentKits - description: DRF list-create API view the ``EnrichmentKit`` model. - parameters: [] - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - type: array - items: - $ref: '#/components/schemas/EnrichmentKit' - description: '' - tags: - - seqmeta - post: - operationId: createEnrichmentKit - description: DRF list-create API view the ``EnrichmentKit`` model. - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/EnrichmentKit' - multipart/form-data: - schema: - $ref: '#/components/schemas/EnrichmentKit' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - description: '' - tags: - - seqmeta - /seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/: - get: - operationId: retrieveEnrichmentKit - description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` - model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: uuid + readOnly: true + date_created: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - description: '' - tags: - - seqmeta - put: - operationId: updateEnrichmentKit - description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` - model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + date_modified: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/EnrichmentKit' - multipart/form-data: - schema: - $ref: '#/components/schemas/EnrichmentKit' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - description: '' - tags: - - seqmeta - patch: - operationId: partialUpdateEnrichmentKit - description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` - model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + caseanalysis: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/EnrichmentKit' - multipart/form-data: - schema: - $ref: '#/components/schemas/EnrichmentKit' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/EnrichmentKit' - description: '' - tags: - - seqmeta - delete: - operationId: destroyEnrichmentKit - description: DRF retrieve-update-destroy API view for the ``EnrichmentKit`` - model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: uuid + readOnly: true + case: type: string - responses: - '204': - description: '' - tags: - - seqmeta - /seqmeta/api/targetbedfile/list-create/{enrichmentkit}/: - get: - operationId: retrieveTargetBedFile - description: DRF list-create API view the ``TargetBedFile`` model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: uuid + description: Case SODAR UUID + readOnly: true + user: type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/TargetBedFile' - description: '' - tags: - - seqmeta - post: - operationId: createTargetBedFile - description: DRF list-create API view the ``TargetBedFile`` model. - parameters: - - name: enrichmentkit - in: path - required: true - description: '' - schema: + format: uuid + description: User SODAR UUID + readOnly: true + required: + - case + - caseanalysis + - date_created + - date_modified + - sodar_uuid + - user + CaseComment: + type: object + description: Serializer for ``CaseComments``. + properties: + sodar_uuid: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TargetBedFile' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TargetBedFile' - multipart/form-data: - schema: - $ref: '#/components/schemas/TargetBedFile' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/TargetBedFile' - description: '' - tags: - - seqmeta - /seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/: - get: - operationId: retrieveTargetBedFile - description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` - model. - parameters: - - name: targetbedfile - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/TargetBedFile' - description: '' - tags: - - seqmeta - put: - operationId: updateTargetBedFile - description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` - model. - parameters: - - name: targetbedfile - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TargetBedFile' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TargetBedFile' - multipart/form-data: - schema: - $ref: '#/components/schemas/TargetBedFile' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/TargetBedFile' - description: '' - tags: - - seqmeta - patch: - operationId: partialUpdateTargetBedFile - description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` - model. - parameters: - - name: targetbedfile - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TargetBedFile' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TargetBedFile' - multipart/form-data: - schema: - $ref: '#/components/schemas/TargetBedFile' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/TargetBedFile' - description: '' - tags: - - seqmeta - delete: - operationId: destroyTargetBedFile - description: DRF retrieve-update-destroy API view for the ``TargetBedFile`` - model. - parameters: - - name: targetbedfile - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqmeta - /cases-import/api/case-import-action/list-create/{project}/: - get: - operationId: retrieveCaseImportAction - description: '' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseImportAction' - description: '' - tags: - - cases-import - post: - operationId: createCaseImportAction - description: '' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseImportAction' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CaseImportAction' - multipart/form-data: - schema: - $ref: '#/components/schemas/CaseImportAction' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseImportAction' - description: '' - tags: - - cases-import - /cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/: - get: - operationId: retrieveCaseImportAction - description: '' - parameters: - - name: caseimportaction - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseImportAction' - description: '' - tags: - - cases-import - put: - operationId: updateCaseImportAction - description: '' - parameters: - - name: caseimportaction - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseImportAction' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CaseImportAction' - multipart/form-data: - schema: - $ref: '#/components/schemas/CaseImportAction' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseImportAction' - description: '' - tags: - - cases-import - patch: - operationId: partialUpdateCaseImportAction - description: '' - parameters: - - name: caseimportaction - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseImportAction' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CaseImportAction' - multipart/form-data: - schema: - $ref: '#/components/schemas/CaseImportAction' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseImportAction' - description: '' - tags: - - cases-import - delete: - operationId: destroyCaseImportAction - description: '' - parameters: - - name: caseimportaction - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - cases-import - /cases-qc/api/caseqc/retrieve/{case}/: - get: - operationId: retrieveCaseQc - description: 'Retrieve the latest ``CaseQc`` for the given case. - - - This corresponds to the raw QC values imported into VarFish. See - - ``VarfishStatsRetrieveApiView`` for the information used by the UI. - - - **URL:** ``/cases_qc/api/caseqc/retrieve/{case.sodar_uuid}/`` - - - **Methods:** ``GET`` - - - **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CaseQc' - description: '' - tags: - - cases-qc - /cases-qc/api/varfishstats/retrieve/{case}/: - get: - operationId: retrieveVarfishStats - description: 'Retrieve the latest statistics to display in the UI for a case. - - - **URL:** ``/cases_qc/api/varfishstats/retrieve/{case.sodar_uuid}/`` - - - **Methods:** ``GET`` - - - **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/VarfishStats' - description: '' - tags: - - cases-qc - /cases-analysis/api/caseanalysis/{case}/: - get: - operationId: listCaseAnalysis - description: 'List the ``CaseAnalysis`` objects for the given case. - - - Implement the "create single case analysis on listing" logic.' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/CaseAnalysis' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/CaseAnalysis' - description: '' - tags: - - cases-analysis - /cases-analysis/api/caseanalysis/{case}/{caseanalysis}/: - get: - operationId: retrieveCaseAnalysis - description: 'Allow listing and retrieval of ``CaseAnalysis`` records for a - given case. - - - As we only allow for one ``CaseAnalysis`` per case, we implicitely create - one - - when listing.' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - - name: caseanalysis - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/CaseAnalysis' - text/html: - $ref: '#/components/schemas/CaseAnalysis' - description: '' - tags: - - cases-analysis - /cases-analysis/api/caseanalysissession/{case}/: - get: - operationId: listCaseAnalysisSessions - description: 'List the ``CaseAnalysisSession`` objects for the given case and - current user. - - - Implement the "create single case analysis session on listing" logic.' - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/CaseAnalysisSession' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/CaseAnalysisSession' - description: '' - tags: - - cases-analysis - /cases-analysis/api/caseanalysissession/{case}/{caseanalysissession}/: - get: - operationId: retrieveCaseAnalysisSession - description: Allow retrieval only of ``CaseAnalysisSession`` record for current - user. - parameters: - - name: case - in: path - required: true - description: '' - schema: - type: string - - name: caseanalysissession - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/CaseAnalysisSession' - text/html: - $ref: '#/components/schemas/CaseAnalysisSession' - description: '' - tags: - - cases-analysis - /seqvars/api/querypresetsset/{project}/: - get: - operationId: listQueryPresetsSets - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsSet - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsset/{project}/{querypresetsset}/: - get: - operationId: retrieveQueryPresetsSet - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsSet - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsSet - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSet' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsSet - description: ViewSet for the ``QueryPresetsSet`` model. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsset/{project}/{querypresetsset}/copy_from/: - get: - operationId: copyFromQueryPresetsSet - description: Copy from another presets set. - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSet' - text/html: - $ref: '#/components/schemas/QueryPresetsSet' - description: '' - tags: - - seqvars - /seqvars/api/querypresetssetversion/{querypresetsset}/: - get: - operationId: listQueryPresetsSetVersions - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsSetVersion' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsSetVersion' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsSetVersion - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSetVersion' - text/html: - $ref: '#/components/schemas/QueryPresetsSetVersion' - description: '' - tags: - - seqvars - /seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/: - get: - operationId: retrieveQueryPresetsSetVersionDetails - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSetVersionDetails' - text/html: - $ref: '#/components/schemas/QueryPresetsSetVersionDetails' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsSetVersion - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSetVersion' - text/html: - $ref: '#/components/schemas/QueryPresetsSetVersion' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsSetVersion - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsSetVersion' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsSetVersion' - text/html: - $ref: '#/components/schemas/QueryPresetsSetVersion' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsSetVersion - description: ViewSet for the ``QueryPresetsSetVersion`` model. - parameters: - - name: querypresetsset - in: path - required: true - description: '' - schema: - type: string - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsquality/{querypresetssetversion}/: - get: - operationId: listQueryPresetsQualitys - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsQuality' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsQuality' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsQuality - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsQuality' - text/html: - $ref: '#/components/schemas/QueryPresetsQuality' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/: - get: - operationId: retrieveQueryPresetsQuality - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsquality - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsQuality' - text/html: - $ref: '#/components/schemas/QueryPresetsQuality' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsQuality - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsquality - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsQuality' - text/html: - $ref: '#/components/schemas/QueryPresetsQuality' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsQuality - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsquality - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsQuality' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsQuality' - text/html: - $ref: '#/components/schemas/QueryPresetsQuality' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsQuality - description: ViewSet for the ``QueryPresetsQuality`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsquality - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsfrequency/{querypresetssetversion}/: - get: - operationId: listQueryPresetsFrequencys - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsFrequency' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsFrequency' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsFrequency - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsFrequency' - text/html: - $ref: '#/components/schemas/QueryPresetsFrequency' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/: - get: - operationId: retrieveQueryPresetsFrequency - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsfrequency - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsFrequency' - text/html: - $ref: '#/components/schemas/QueryPresetsFrequency' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsFrequency - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsfrequency - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsFrequency' - text/html: - $ref: '#/components/schemas/QueryPresetsFrequency' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsFrequency - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsfrequency - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsFrequency' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsFrequency' - text/html: - $ref: '#/components/schemas/QueryPresetsFrequency' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsFrequency - description: ViewSet for the ``QueryPresetsFrequency`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsfrequency - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsconsequence/{querypresetssetversion}/: - get: - operationId: listQueryPresetsConsequences - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsConsequence' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsConsequence' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsConsequence - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsConsequence' - text/html: - $ref: '#/components/schemas/QueryPresetsConsequence' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/: - get: - operationId: retrieveQueryPresetsConsequence - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsconsequence - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsConsequence' - text/html: - $ref: '#/components/schemas/QueryPresetsConsequence' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsConsequence - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsconsequence - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsConsequence' - text/html: - $ref: '#/components/schemas/QueryPresetsConsequence' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsConsequence - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsconsequence - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsConsequence' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsConsequence' - text/html: - $ref: '#/components/schemas/QueryPresetsConsequence' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsConsequence - description: ViewSet for the ``QueryPresetsConsequence`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsconsequence - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetslocus/{querypresetssetversion}/: - get: - operationId: listQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsLocus' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsLocus' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsLocus' - text/html: - $ref: '#/components/schemas/QueryPresetsLocus' - description: '' - tags: - - seqvars - /seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/: - get: - operationId: retrieveQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetslocus - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsLocus' - text/html: - $ref: '#/components/schemas/QueryPresetsLocus' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetslocus - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsLocus' - text/html: - $ref: '#/components/schemas/QueryPresetsLocus' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetslocus - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsLocus' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsLocus' - text/html: - $ref: '#/components/schemas/QueryPresetsLocus' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsLocus - description: ViewSet for the ``QueryPresetsLocus`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetslocus - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/: - get: - operationId: listQueryPresetsPhenotypePrios - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsPhenotypePrio - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - text/html: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/: - get: - operationId: retrieveQueryPresetsPhenotypePrio - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsphenotypeprio - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - text/html: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsPhenotypePrio - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsphenotypeprio - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - text/html: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsPhenotypePrio - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsphenotypeprio - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - text/html: - $ref: '#/components/schemas/QueryPresetsPhenotypePrio' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsPhenotypePrio - description: ViewSet for the ``QueryPresetsPhenotypePrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsphenotypeprio - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsvariantprio/{querypresetssetversion}/: - get: - operationId: listQueryPresetsVariantPrios - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsVariantPrio - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - text/html: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/: - get: - operationId: retrieveQueryPresetsVariantPrio - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsvariantprio - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - text/html: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsVariantPrio - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsvariantprio - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - text/html: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsVariantPrio - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsvariantprio - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - text/html: - $ref: '#/components/schemas/QueryPresetsVariantPrio' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsVariantPrio - description: ViewSet for the ``QueryPresetsVariantPrio`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsvariantprio - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetsclinvar/{querypresetssetversion}/: - get: - operationId: listQueryPresetsClinvars - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsClinvar' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsClinvar' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsClinvar - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsClinvar' - text/html: - $ref: '#/components/schemas/QueryPresetsClinvar' - description: '' - tags: - - seqvars - /seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/: - get: - operationId: retrieveQueryPresetsClinvar - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsclinvar - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsClinvar' - text/html: - $ref: '#/components/schemas/QueryPresetsClinvar' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsClinvar - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsclinvar - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsClinvar' - text/html: - $ref: '#/components/schemas/QueryPresetsClinvar' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsClinvar - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsclinvar - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsClinvar' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsClinvar' - text/html: - $ref: '#/components/schemas/QueryPresetsClinvar' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsClinvar - description: ViewSet for the ``QueryPresetsClinvar`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetsclinvar - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querypresetscolumns/{querypresetssetversion}/: - get: - operationId: listQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsColumns' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryPresetsColumns' - description: '' - tags: - - seqvars - post: - operationId: createQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsColumns' - text/html: - $ref: '#/components/schemas/QueryPresetsColumns' - description: '' - tags: - - seqvars - /seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/: - get: - operationId: retrieveQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetscolumns - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsColumns' - text/html: - $ref: '#/components/schemas/QueryPresetsColumns' - description: '' - tags: - - seqvars - put: - operationId: updateQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetscolumns - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsColumns' - text/html: - $ref: '#/components/schemas/QueryPresetsColumns' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetscolumns - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryPresetsColumns' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryPresetsColumns' - text/html: - $ref: '#/components/schemas/QueryPresetsColumns' - description: '' - tags: - - seqvars - delete: - operationId: destroyQueryPresetsColumns - description: ViewSet for the ``QueryPresetsColumns`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: querypresetscolumns - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/predefinedquery/{querypresetssetversion}/: - get: - operationId: listPredefinedQuerys - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/PredefinedQuery' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/PredefinedQuery' - description: '' - tags: - - seqvars - post: - operationId: createPredefinedQuery - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PredefinedQuery' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PredefinedQuery' - multipart/form-data: - schema: - $ref: '#/components/schemas/PredefinedQuery' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/PredefinedQuery' - text/html: - $ref: '#/components/schemas/PredefinedQuery' - description: '' - tags: - - seqvars - /seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/: - get: - operationId: retrievePredefinedQuery - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: predefinedquery - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/PredefinedQuery' - text/html: - $ref: '#/components/schemas/PredefinedQuery' - description: '' - tags: - - seqvars - put: - operationId: updatePredefinedQuery - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: predefinedquery - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PredefinedQuery' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PredefinedQuery' - multipart/form-data: - schema: - $ref: '#/components/schemas/PredefinedQuery' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/PredefinedQuery' - text/html: - $ref: '#/components/schemas/PredefinedQuery' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdatePredefinedQuery - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: predefinedquery - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PredefinedQuery' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PredefinedQuery' - multipart/form-data: - schema: - $ref: '#/components/schemas/PredefinedQuery' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/PredefinedQuery' - text/html: - $ref: '#/components/schemas/PredefinedQuery' - description: '' - tags: - - seqvars - delete: - operationId: destroyPredefinedQuery - description: ViewSet for the ``PredefinedQuery`` model. - parameters: - - name: querypresetssetversion - in: path - required: true - description: '' - schema: - type: string - - name: predefinedquery - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/querysettings/{session}/: - get: - operationId: listQuerySettings - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QuerySettings' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QuerySettings' - description: '' - tags: - - seqvars - post: - operationId: createQuerySettingsDetails - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QuerySettingsDetails' - text/html: - $ref: '#/components/schemas/QuerySettingsDetails' - description: '' - tags: - - seqvars - /seqvars/api/querysettings/{session}/{querysettings}/: - get: - operationId: retrieveQuerySettingsDetails - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: querysettings - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QuerySettingsDetails' - text/html: - $ref: '#/components/schemas/QuerySettingsDetails' - description: '' - tags: - - seqvars - put: - operationId: updateQuerySettingsDetails - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: querysettings - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QuerySettingsDetails' - text/html: - $ref: '#/components/schemas/QuerySettingsDetails' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQuerySettingsDetails - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: querysettings - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QuerySettingsDetails' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QuerySettingsDetails' - text/html: - $ref: '#/components/schemas/QuerySettingsDetails' - description: '' - tags: - - seqvars - delete: - operationId: destroyQuerySettings - description: ViewSet for the ``QuerySettings`` model. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: querysettings - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/query/{session}/: - get: - operationId: listQuerys - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/Query' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/Query' - description: '' - tags: - - seqvars - post: - operationId: createQueryDetails - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryDetails' - responses: - '201': - content: - application/json: - $ref: '#/components/schemas/QueryDetails' - text/html: - $ref: '#/components/schemas/QueryDetails' - description: '' - tags: - - seqvars - /seqvars/api/query/{session}/{query}/: - get: - operationId: retrieveQueryDetails - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: query - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryDetails' - text/html: - $ref: '#/components/schemas/QueryDetails' - description: '' - tags: - - seqvars - put: - operationId: updateQueryDetails - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: query - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryDetails' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryDetails' - text/html: - $ref: '#/components/schemas/QueryDetails' - description: '' - tags: - - seqvars - patch: - operationId: partialUpdateQueryDetails - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: query - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/QueryDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/QueryDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/QueryDetails' - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryDetails' - text/html: - $ref: '#/components/schemas/QueryDetails' - description: '' - tags: - - seqvars - delete: - operationId: destroyQuery - description: Allow CRUD of the user's queries. - parameters: - - name: session - in: path - required: true - description: '' - schema: - type: string - - name: query - in: path - required: true - description: '' - schema: - type: string - responses: - '204': - description: '' - tags: - - seqvars - /seqvars/api/queryexecution/{query}/: - get: - operationId: listQueryExecutions - description: ViewSet for retrieving ``QueryExecution`` records. - parameters: - - name: query - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryExecution' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/QueryExecution' - description: '' - tags: - - seqvars - /seqvars/api/queryexecution/{query}/{queryexecution}/: - get: - operationId: retrieveQueryExecutionDetails - description: ViewSet for retrieving ``QueryExecution`` records. - parameters: - - name: query - in: path - required: true - description: '' - schema: - type: string - - name: queryexecution - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/QueryExecutionDetails' - text/html: - $ref: '#/components/schemas/QueryExecutionDetails' - description: '' - tags: - - seqvars - /seqvars/api/resultset/{query}/: - get: - operationId: listResultSets - description: ViewSet for retrieving ``ResultSet`` records. - parameters: - - name: query - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/ResultSet' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/ResultSet' - description: '' - tags: - - seqvars - /seqvars/api/resultset/{query}/{resultset}/: - get: - operationId: retrieveResultSet - description: ViewSet for retrieving ``ResultSet`` records. - parameters: - - name: query - in: path - required: true - description: '' - schema: - type: string - - name: resultset - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/ResultSet' - text/html: - $ref: '#/components/schemas/ResultSet' - description: '' - tags: - - seqvars - /seqvars/api/resultrow/{resultset}/: - get: - operationId: listResultRows - description: ViewSet for retrieving ``ResultRow`` records. - parameters: - - name: resultset - in: path - required: true - description: '' - schema: - type: string - - name: cursor - required: false - in: query - description: The pagination cursor value. - schema: - type: string - - name: page_size - required: false - in: query - description: Number of results to return per page. - schema: - type: integer - responses: - '200': - content: - application/json: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/ResultRow' - text/html: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/ResultRow' - description: '' - tags: - - seqvars - /seqvars/api/resultrow/{resultset}/{seqvarresultrow}/: - get: - operationId: retrieveResultRow - description: ViewSet for retrieving ``ResultRow`` records. - parameters: - - name: resultset - in: path - required: true - description: '' - schema: - type: string - - name: seqvarresultrow - in: path - required: true - description: '' - schema: - type: string - responses: - '200': - content: - application/json: - $ref: '#/components/schemas/ResultRow' - text/html: - $ref: '#/components/schemas/ResultRow' - description: '' - tags: - - seqvars - /api/auth/login/: - post: - operationId: createLogin - description: '' - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - api - /api/auth/logout/: - post: - operationId: createLogout - description: '' - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - api - /api/auth/logoutall/: - post: - operationId: createLogoutAll - description: 'Log the user out of all sessions - - I.E. deletes all auth tokens for the user' - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - api - /project/ajax/list/columns: - post: - operationId: createProjectListColumnAjax - description: View to retrieve project list extra column data from the client - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - project - /project/ajax/list/roles: - post: - operationId: createProjectListRoleAjax - description: View to retrieve project list role data from the client - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - project - /project/ajax/star/{project}: - post: - operationId: createProjectStarringAjax - description: View to handle starring and unstarring a project - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - project - /project/api/create: - post: - operationId: createProject - description: 'Create a project or a category. - - - **URL:** ``/project/api/create`` - - - **Methods:** ``POST`` - - - **Parameters:** - - - - ``title``: Project title (string) - - - ``type``: Project type (string, options: ``PROJECT`` or ``CATEGORY``) - - - ``parent``: Parent category UUID (string) - - - ``description``: Project description (string, optional) - - - ``readme``: Project readme (string, optional, supports markdown) - - - ``public_guest_access``: Guest access for all users (boolean) - - - ``owner``: User UUID of the project owner (string)' - parameters: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Project' - multipart/form-data: - schema: - $ref: '#/components/schemas/Project' - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/Project' - description: '' - tags: - - project - /project/api/roles/create/{project}: - post: - operationId: createRoleAssignment - description: 'Create a role assignment in a project. - - - **URL:** ``/project/api/roles/create/{Project.sodar_uuid}`` - - - **Methods:** ``POST`` - - - **Parameters:** - - - - ``role``: Desired role for user (string, e.g. "project contributor") - - - ``user``: User UUID (string)' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleAssignment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RoleAssignment' - multipart/form-data: - schema: - $ref: '#/components/schemas/RoleAssignment' - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/RoleAssignment' - description: '' - tags: - - project - /project/api/roles/owner-transfer/{project}: - post: - operationId: createRoleAssignmentOwnerTransfer - description: Handle ownership transfer in a POST request - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: {} - description: '' - tags: - - project - /project/api/invites/create/{project}: - post: - operationId: createProjectInvite - description: 'Create a project invite. - - - **URL:** ``/project/api/invites/create/{Project.sodar_uuid}`` - - - **Methods:** ``POST`` - - - **Parameters:** - - - - ``email``: User email (string) - - - ``role``: Desired role for user (string, e.g. "project contributor")' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectInvite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ProjectInvite' - multipart/form-data: - schema: - $ref: '#/components/schemas/ProjectInvite' - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/ProjectInvite' - description: '' - tags: - - project - /project/api/invites/revoke/{projectinvite}: - post: - operationId: createProjectInviteRevoke - description: Handle invite revoking in a POST request - parameters: - - name: projectinvite - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: {} - description: '' - tags: - - project - /project/api/invites/resend/{projectinvite}: - post: - operationId: createProjectInviteResend - description: Handle invite resending in a POST request - parameters: - - name: projectinvite - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: {} - description: '' - tags: - - project - /project/api/settings/set/{project}: - post: - operationId: createProjectSettingSet - description: 'API view for setting the value of an app setting with the PROJECT - or - - PROJECT_USER scope. - - - **URL:** ``project/api/settings/set/{Project.sodar_uuid}`` - - - **Methods:** ``POST`` - - - **Parameters:** - - - - ``app_name``: Name of app plugin for the setting, use "projectroles" for - projectroles settings (string) - - - ``setting_name``: Setting name (string) - - - ``value``: Setting value (string, may contain JSON for JSON settings) - - - ``user``: User UUID for a PROJECT_USER setting (string or None, optional)' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: {} - description: '' - tags: - - project - /project/api/settings/set/user: - post: - operationId: createUserSettingSet - description: 'API view for setting the value of an app setting with the USER - scope. Only - - allows the user to set the value of their own settings. - - - **URL:** ``project/api/settings/set/user`` - - - **Methods:** ``POST`` - - - **Parameters:** - - - - ``app_name``: Name of app plugin for the setting, use "projectroles" for - projectroles settings (string) - - - ``setting_name``: Setting name (string) - - - ``value``: Setting value (string, may contain JSON for JSON settings)' - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/vnd.bihealth.sodar-core+json: - schema: {} - description: '' - tags: - - project - /admin_alerts/ajax/active/toggle/{adminalert}: - post: - operationId: createAdminAlertActiveToggleAjax - description: AdminAlert acivation toggling Ajax view - parameters: - - name: adminalert - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - admin-alerts - /app_alerts/ajax/dismiss/{appalert}: - post: - operationId: createAppAlertDismissAjax - description: View to handle app alert dismissal in UI - parameters: - - name: appalert - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - app-alerts - /app_alerts/ajax/dismiss/all: - post: - operationId: createAppAlertDismissAjax - description: View to handle app alert dismissal in UI - parameters: [] - requestBody: - content: - application/json: - schema: {} - application/x-www-form-urlencoded: - schema: {} - multipart/form-data: - schema: {} - responses: - '201': - content: - application/json: - schema: {} - description: '' - tags: - - app-alerts - /cohorts/api/cohortcase/create/{project}/: - post: - operationId: createCohortCase - description: 'Create cohortcase in the current project. - - - **URL:** ``/cohorts/api/cohortcase/create/{project.sodar_uuid}/`` - - - **Methods:** ``POST`` - - - **Returns:** CohortCase.' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CohortCase' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CohortCase' - multipart/form-data: - schema: - $ref: '#/components/schemas/CohortCase' - responses: - '201': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/CohortCase' - description: '' - tags: - - cohorts - /variants/api/small-variant-comment/update/{smallvariantcomment}/: - put: - operationId: updateSmallVariantComment - description: 'A view that allows to update comments. - - - **URL:** ``/variants/api/small-variant-comment/update/{smallvariantcomment.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: smallvariantcomment - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmallVariantComment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SmallVariantComment' - multipart/form-data: - schema: - $ref: '#/components/schemas/SmallVariantComment' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantComment' - description: '' - tags: - - variants - patch: - operationId: partialUpdateSmallVariantComment - description: 'A view that allows to update comments. - - - **URL:** ``/variants/api/small-variant-comment/update/{smallvariantcomment.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: smallvariantcomment - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmallVariantComment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SmallVariantComment' - multipart/form-data: - schema: - $ref: '#/components/schemas/SmallVariantComment' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantComment' - description: '' - tags: - - variants - /variants/api/small-variant-flags/update/{smallvariantflags}/: - put: - operationId: updateSmallVariantFlags - description: 'A view that allows to update flags. - - - **URL:** ``/variants/api/small-variant-flags/update/{smallvariantflags.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: smallvariantflags - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - multipart/form-data: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - description: '' - tags: - - variants - patch: - operationId: partialUpdateSmallVariantFlags - description: 'A view that allows to update flags. - - - **URL:** ``/variants/api/small-variant-flags/update/{smallvariantflags.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: smallvariantflags - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - multipart/form-data: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/SmallVariantFlags' - description: '' - tags: - - variants - /variants/api/acmg-criteria-rating/update/{acmgcriteriarating}/: - put: - operationId: updateAcmgCriteriaRating - description: 'A view that allows to create new ACMG ratings. - - - **URL:** ``/variants/api/acmg-criteria-rating/update/{acmgcriteriarating.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: acmgcriteriarating - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - multipart/form-data: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - description: '' - tags: - - variants - patch: - operationId: partialUpdateAcmgCriteriaRating - description: 'A view that allows to create new ACMG ratings. - - - **URL:** ``/variants/api/acmg-criteria-rating/update/{acmgcriteriarating.sodar_uuid}/`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Returns:**' - parameters: - - name: acmgcriteriarating - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - multipart/form-data: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - responses: - '200': - content: - application/vnd.bihealth.varfish+json: - schema: - $ref: '#/components/schemas/AcmgCriteriaRating' - description: '' - tags: - - variants - /project/api/update/{project}: - put: - operationId: updateProject - description: 'Update the metadata of a project or a category. - - - Note that the project owner can not be updated here. Instead, use the - - dedicated API view ``RoleAssignmentOwnerTransferAPIView``. - - - The project type can not be updated once a project has been created. The - - parameter is still required for non-partial updates via the ``PUT`` method. - - - **URL:** ``/project/api/update/{Project.sodar_uuid}`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Parameters:** - - - - ``title``: Project title (string) - - - ``type``: Project type (string, can not be modified) - - - ``parent``: Parent category UUID (string) - - - ``description``: Project description (string, optional) - - - ``readme``: Project readme (string, optional, supports markdown) - - - ``public_guest_access``: Guest access for all users (boolean)' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Project' - multipart/form-data: - schema: - $ref: '#/components/schemas/Project' - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/Project' - description: '' - tags: - - project - patch: - operationId: partialUpdateProject - description: 'Update the metadata of a project or a category. - - - Note that the project owner can not be updated here. Instead, use the - - dedicated API view ``RoleAssignmentOwnerTransferAPIView``. - - - The project type can not be updated once a project has been created. The - - parameter is still required for non-partial updates via the ``PUT`` method. - - - **URL:** ``/project/api/update/{Project.sodar_uuid}`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Parameters:** - - - - ``title``: Project title (string) - - - ``type``: Project type (string, can not be modified) - - - ``parent``: Parent category UUID (string) - - - ``description``: Project description (string, optional) - - - ``readme``: Project readme (string, optional, supports markdown) - - - ``public_guest_access``: Guest access for all users (boolean)' - parameters: - - name: project - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Project' - multipart/form-data: - schema: - $ref: '#/components/schemas/Project' - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/Project' - description: '' - tags: - - project - /project/api/roles/update/{roleassignment}: - put: - operationId: updateRoleAssignment - description: 'Update the role assignment for a user in a project. - - - The user can not be changed in this API view. - - - **URL:** ``/project/api/roles/update/{RoleAssignment.sodar_uuid}`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Parameters:** - - - - ``role``: Desired role for user (string, e.g. "project contributor") - - - ``user``: User UUID (string)' - parameters: - - name: roleassignment - in: path - required: true - description: '' - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleAssignment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RoleAssignment' - multipart/form-data: - schema: - $ref: '#/components/schemas/RoleAssignment' - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/RoleAssignment' - description: '' - tags: - - project - patch: - operationId: partialUpdateRoleAssignment - description: 'Update the role assignment for a user in a project. - - - The user can not be changed in this API view. - - - **URL:** ``/project/api/roles/update/{RoleAssignment.sodar_uuid}`` - - - **Methods:** ``PUT``, ``PATCH`` - - - **Parameters:** - - - - ``role``: Desired role for user (string, e.g. "project contributor") - - - ``user``: User UUID (string)' - parameters: - - name: roleassignment - in: path - required: true - description: '' - schema: + readOnly: true + date_created: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleAssignment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RoleAssignment' - multipart/form-data: - schema: - $ref: '#/components/schemas/RoleAssignment' - responses: - '200': - content: - application/vnd.bihealth.sodar-core+json: - schema: - $ref: '#/components/schemas/RoleAssignment' - description: '' - tags: - - project - /variants/api/small-variant-comment/delete/{smallvariantcomment}/: - delete: - operationId: destroySmallVariantComment - description: 'A view that allows to delete comments. - - - **URL:** ``/variants/api/small-variant-comment/delete/{smallvariantcomment.sodar_uuid}/`` - - - **Methods:** ``DELETE`` - - - **Returns:**' - parameters: - - name: smallvariantcomment - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + description: DateTime of creation + date_modified: type: string - responses: - '204': - description: '' - tags: - - variants - /variants/api/small-variant-flags/delete/{smallvariantflags}/: - delete: - operationId: destroySmallVariantFlags - description: 'A view that allows to delete flags. - - - **URL:** ``/variants/api/small-variant-flags/delete/{smallvariantflags.sodar_uuid}/`` - - - **Methods:** ``DELETE`` - - - **Returns:**' - parameters: - - name: smallvariantflags - in: path - required: true - description: '' - schema: + format: date-time + readOnly: true + description: DateTime of last modification + case: type: string - responses: - '204': - description: '' - tags: - - variants - /variants/api/acmg-criteria-rating/delete/{acmgcriteriarating}/: - delete: - operationId: destroyAcmgCriteriaRating - description: 'A view that allows to delete ACMG ratings. - - - **URL:** ``/variants/api/acmg-criteria-rating/delete/{acmgcriteriarating.sodar_uuid}/`` - - - **Methods:** ``DELETE`` - - - **Returns:**' - parameters: - - name: acmgcriteriarating - in: path - required: true - description: '' - schema: + format: uuid + description: Case SODAR UUID + readOnly: true + user: type: string - responses: - '204': - description: '' - tags: - - variants - /project/api/roles/destroy/{roleassignment}: - delete: - operationId: destroyRoleAssignment - description: 'Destroy a role assignment. - - - The owner role can not be destroyed using this view. - - - **URL:** ``/project/api/roles/destroy/{RoleAssignment.sodar_uuid}`` - - - **Methods:** ``DELETE``' - parameters: - - name: roleassignment - in: path - required: true - description: '' - schema: + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + readOnly: true + comment: type: string - responses: - '204': - description: '' - tags: - - project - /cohorts/api/cohortcase/destroy/{cohortcase}/: - delete: - operationId: destroyCohortCase - description: 'Destroy a given cohortcase. - - - **URL:** ``/cohorts/api/cohortcase/destroy/{cohortcase.sodar_uuid}/`` - - - **Methods:** ``DELETE`` - - - **Returns:** None' - parameters: - - name: cohortcase - in: path - required: true - description: '' - schema: + required: + - case + - comment + - date_created + - date_modified + - sodar_uuid + - user + CaseImportAction: + type: object + description: Serializer for the ``CaseImportAction`` model. + properties: + sodar_uuid: type: string - responses: - '204': - description: '' - tags: - - cohorts -components: - schemas: - ExtraAnnoField: + readOnly: true + project: + type: string + format: uuid + description: Project SODAR UUID + readOnly: true + state: + $ref: '#/components/schemas/CaseImportActionStateEnum' + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + action: + $ref: '#/components/schemas/ActionEnum' + payload: {} + overwrite_terms: + type: boolean + required: + - date_created + - date_modified + - payload + - project + - sodar_uuid + - state + CaseImportActionStateEnum: + enum: + - draft + - submitted + type: string + description: |- + * `draft` - draft + * `submitted` - submitted + CasePhenotypeTerms: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: - field: - type: integer - label: + sodar_uuid: + type: string + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + description: DateTime of creation + date_modified: + type: string + format: date-time + readOnly: true + description: DateTime of last modification + case: + type: string + format: uuid + description: Case SODAR UUID + readOnly: true + individual: type: string + description: Individual + maxLength: 128 + terms: {} required: - - field - - label - CaseListQcStats: + - case + - date_created + - date_modified + - individual + - sodar_uuid + - terms + CaseQc: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: - pedigree: - type: object - relData: - type: object - varStats: - type: object - sexErrors: - type: object - chrXHetHomRatio: - type: object - dps: - type: object - dpQuantiles: - type: object - hetRatioQuantiles: - type: object - dpHetData: - type: object + sodar_uuid: + type: string + readOnly: true + case: + type: string + format: uuid + description: Case SODAR UUID + readOnly: true + dragen_cnvmetrics: + type: array + items: + $ref: '#/components/schemas/DragenCnvMetrics' + readOnly: true + dragen_fragmentlengthhistograms: + type: array + items: + $ref: '#/components/schemas/DragenFragmentLengthHistogram' + readOnly: true + dragen_mappingmetrics: + type: array + items: + $ref: '#/components/schemas/DragenMappingMetrics' + readOnly: true + dragen_ploidyestimationmetrics: + type: array + items: + $ref: '#/components/schemas/DragenPloidyEstimationMetrics' + readOnly: true + dragen_rohmetrics: + type: array + items: + $ref: '#/components/schemas/DragenRohMetrics' + readOnly: true + dragen_vchethomratiometrics: + type: array + items: + $ref: '#/components/schemas/DragenVcHethomRatioMetrics' + readOnly: true + dragen_vcmetrics: + type: array + items: + $ref: '#/components/schemas/DragenVcMetrics' + readOnly: true + dragen_svmetrics: + type: array + items: + $ref: '#/components/schemas/DragenSvMetrics' + readOnly: true + dragen_timemetrics: + type: array + items: + $ref: '#/components/schemas/DragenTimeMetrics' + readOnly: true + dragen_trimmermetrics: + type: array + items: + $ref: '#/components/schemas/DragenTrimmerMetrics' + readOnly: true + dragen_wgscoveragemetrics: + type: array + items: + $ref: '#/components/schemas/DragenWgsCoverageMetrics' + readOnly: true + dragen_wgscontigmeancovmetrics: + type: array + items: + $ref: '#/components/schemas/DragenWgsContigMeanCovMetrics' + readOnly: true + dragen_wgsoverallmeancov: + type: array + items: + $ref: '#/components/schemas/DragenWgsOverallMeanCov' + readOnly: true + dragen_wgsfinehist: + type: array + items: + $ref: '#/components/schemas/DragenWgsFineHist' + readOnly: true + dragen_wgshist: + type: array + items: + $ref: '#/components/schemas/DragenWgsHist' + readOnly: true + dragen_regioncoveragemetrics: + type: array + items: + $ref: '#/components/schemas/DragenRegionCoverageMetrics' + readOnly: true + dragen_regionfinehist: + type: array + items: + $ref: '#/components/schemas/DragenRegionFineHist' + readOnly: true + dragen_regionhist: + type: array + items: + $ref: '#/components/schemas/DragenRegionHist' + readOnly: true + dragen_regionoverallmeancov: + type: array + items: + $ref: '#/components/schemas/DragenRegionOverallMeanCov' + readOnly: true + bcftools_statsmetrics: + type: array + items: + $ref: '#/components/schemas/BcftoolsStatsMetrics' + readOnly: true + samtools_statsmainmetrics: + type: array + items: + $ref: '#/components/schemas/SamtoolsStatsMainMetrics' + readOnly: true + samtools_statssupplementarymetrics: + type: array + items: + $ref: '#/components/schemas/SamtoolsStatsSupplementaryMetrics' + readOnly: true + samtools_flagstatmetrics: + type: array + items: + $ref: '#/components/schemas/SamtoolsFlagstatMetrics' + readOnly: true + samtools_idxstatsmetrics: + type: array + items: + $ref: '#/components/schemas/SamtoolsIdxstatsMetrics' + readOnly: true + cramino_metrics: + type: array + items: + $ref: '#/components/schemas/CraminoMetrics' + readOnly: true + ngsbits_mappingqcmetrics: + type: array + items: + $ref: '#/components/schemas/NgsbitsMappingqcMetrics' + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + state: + $ref: '#/components/schemas/CaseQcStateEnum' required: - - pedigree - - relData - - varStats - - sexErrors - - chrXHetHomRatio - - dps - - dpQuantiles - - hetRatioQuantiles - - dpHetData - Case: + - bcftools_statsmetrics + - case + - cramino_metrics + - date_created + - date_modified + - dragen_cnvmetrics + - dragen_fragmentlengthhistograms + - dragen_mappingmetrics + - dragen_ploidyestimationmetrics + - dragen_regioncoveragemetrics + - dragen_regionfinehist + - dragen_regionhist + - dragen_regionoverallmeancov + - dragen_rohmetrics + - dragen_svmetrics + - dragen_timemetrics + - dragen_trimmermetrics + - dragen_vchethomratiometrics + - dragen_vcmetrics + - dragen_wgscontigmeancovmetrics + - dragen_wgscoveragemetrics + - dragen_wgsfinehist + - dragen_wgshist + - dragen_wgsoverallmeancov + - ngsbits_mappingqcmetrics + - samtools_flagstatmetrics + - samtools_idxstatsmetrics + - samtools_statsmainmetrics + - samtools_statssupplementarymetrics + - sodar_uuid + CaseQcStateEnum: + enum: + - DRAFT + - ACTIVE + type: string + description: |- + * `DRAFT` - DRAFT + * `ACTIVE` - ACTIVE + CaseSerializerNg: type: object + description: |- + Serializer for the ``Case`` model. + + In contrast to the old (legacy) ``CaseSerializer`` from ``variants.serializers.case``, this class does not + perform serialization of nested attributes and thus does not trigger a large query cascade. properties: sodar_uuid: type: string readOnly: true project: type: string + format: uuid + description: Project SODAR UUID readOnly: true - date_created: + presetset: type: string - format: date-time + format: uuid + description: Cohort SODAR UUID readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time + sex_errors: + type: object + additionalProperties: + type: array + items: + type: string + readOnly: true + smallvariantqueryresultset: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true + readOnly: true + svqueryresultset: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true + readOnly: true + caseqc: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true + nullable: true + description: |- + Obtain the latest CaseQC for this in active state and serialize it. + + If there is no such record then return ``None``. readOnly: true - description: DateTime of last modification release: type: string readOnly: true @@ -9672,637 +5204,935 @@ components: index: type: string maxLength: 512 - pedigree: - type: object + pedigree: {} + notes: + type: string + nullable: true + status: + $ref: '#/components/schemas/CaseStatusEnum' + tags: + type: array + items: + type: string + maxLength: 32 + nullable: true + date_created: + type: string + format: date-time + readOnly: true + description: DateTime of creation + date_modified: + type: string + format: date-time + readOnly: true + description: DateTime of last modification + case_version: + type: integer + maximum: 2147483647 + minimum: -2147483648 + state: + readOnly: true + nullable: true + oneOf: + - $ref: '#/components/schemas/CaseSerializerNgStateEnum' + - $ref: '#/components/schemas/NullEnum' num_small_vars: type: integer readOnly: true nullable: true + title: Small variants description: Number of small variants, empty if no small variants have been imported num_svs: type: integer readOnly: true nullable: true + title: Structural variants description: Number of structural variants, empty if no structural variants have been imported - notes: + required: + - caseqc + - date_created + - date_modified + - index + - name + - num_small_vars + - num_svs + - pedigree + - presetset + - project + - release + - sex_errors + - smallvariantqueryresultset + - sodar_uuid + - state + - svqueryresultset + CaseSerializerNgStateEnum: + enum: + - importing + - updating + - active + - deleting + type: string + description: |- + * `importing` - importing + * `updating` - updating + * `active` - active + * `deleting` - deleting + CaseStatusEnum: + enum: + - initial + - active + - closed-unsolved + - closed-uncertain + - closed-solved + type: string + description: |- + * `initial` - initial + * `active` - active + * `closed-unsolved` - closed as unsolved + * `closed-uncertain` - closed as uncertain + * `closed-solved` - closed as solved + ClinvarGermlineAggregateDescriptionList: + type: array + title: ClinvarGermlineAggregateDescriptionList + items: + type: string + title: ClinvarGermlineAggregateDescription + enum: + - pathogenic + - likely_pathogenic + - uncertain_significance + - likely_benign + - benign + CraminoChromNormalizedCountsRecordList: + type: array + title: CraminoChromNormalizedCountsRecordList + items: + description: Store one chrom/normalized read counts record from Cramino output. + properties: + chrom_name: + title: Chrom Name + type: string + normalized_counts: + title: Normalized Counts + type: number + required: + - chrom_name + - normalized_counts + title: CraminoChromNormalizedCountsRecord + type: object + CraminoMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string - nullable: true - status: - enum: - - initial - - active - - closed-unsolved - - closed-uncertain - - closed-solved + readOnly: true + caseqc: type: string - tags: - type: array - items: + format: uuid + readOnly: true + summary: + $ref: '#/components/schemas/CraminoSummaryRecordList' + chrom_counts: + $ref: '#/components/schemas/CraminoChromNormalizedCountsRecordList' + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + sample: + type: string + maxLength: 200 + required: + - caseqc + - chrom_counts + - date_created + - date_modified + - sample + - sodar_uuid + - summary + CraminoSummaryRecordList: + type: array + title: CraminoSummaryRecordList + items: + description: Store a summary record from the cramino output file. + properties: + key: + title: Key type: string - nullable: true - annotationreleaseinfo_set: - type: array + value: + anyOf: + - type: integer + - type: number + - type: string + title: Value + required: + - key + - value + title: CraminoSummaryRecord + type: object + DetailedAlignmentCounts: + description: Detailed alignment counts + properties: + primary: + title: Primary + type: integer + secondary: + title: Secondary + type: integer + supplementary: + title: Supplementary + type: integer + duplicates: + title: Duplicates + type: integer + mapped: + title: Mapped + type: integer + properly_paired: + title: Properly Paired + type: integer + with_itself_and_mate_mapped: + title: With Itself And Mate Mapped + type: integer + singletons: + title: Singletons + type: integer + with_mate_mapped_to_different_chr: + title: With Mate Mapped To Different Chr + type: integer + with_mate_mapped_to_different_chr_mapq: + title: With Mate Mapped To Different Chr Mapq + type: integer + mismatch_rate: + title: Mismatch Rate + type: number + mapq: items: - type: object - properties: - genomebuild: - type: string - readOnly: true - table: - type: string - readOnly: true - timestamp: - type: string - format: date-time - readOnly: true - release: - type: string - readOnly: true - readOnly: true - svannotationreleaseinfo_set: + items: + type: integer + minItems: 2 + type: array + title: Mapq + type: array + required: + - primary + - secondary + - supplementary + - duplicates + - mapped + - properly_paired + - with_itself_and_mate_mapped + - singletons + - with_mate_mapped_to_different_chr + - with_mate_mapped_to_different_chr_mapq + - mismatch_rate + - mapq + title: DetailedAlignmentCounts + type: object + DragenCnvMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: + type: string + readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + required: + - caseqc + - date_created + - date_modified + - metrics + - sodar_uuid + DragenFragmentLengthHistogram: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: + type: string + readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + sample: + type: string + maxLength: 200 + keys: type: array items: - type: object - properties: - genomebuild: - type: string - readOnly: true - table: - type: string - readOnly: true - timestamp: - type: string - format: date-time - readOnly: true - release: - type: string - readOnly: true - readOnly: true - phenotype_terms: + type: integer + maximum: 2147483647 + minimum: -2147483648 + values: type: array items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - case: - type: string - readOnly: true - individual: - type: string - description: Individual - maxLength: 128 - terms: - type: object - required: - - individual - - terms - readOnly: true - casealignmentstats: - type: string - readOnly: true - casevariantstats: - type: string - readOnly: true - relatedness: + type: integer + maximum: 2147483647 + minimum: -2147483648 + required: + - caseqc + - date_created + - date_modified + - keys + - sample + - sodar_uuid + - values + DragenMappingMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string readOnly: true - sex_errors: + caseqc: type: string + format: uuid readOnly: true - presetset: + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string + format: date-time readOnly: true - case_version: - type: integer - maximum: 2147483647 - minimum: -2147483648 - smallvariantqueryresultset: + date_modified: type: string + format: date-time readOnly: true - svqueryresultset: + sample: + type: string + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenPloidyEstimationMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: + type: string + readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: + type: string + format: date-time + readOnly: true + date_modified: type: string + format: date-time readOnly: true + sample: + type: string + maxLength: 200 required: - - name - - index - - pedigree - SmallVariantQuery: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenRegionCoverageMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: + type: string + readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + sample: + type: string + maxLength: 200 + region_name: + type: string + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - metrics + - region_name + - sample + - sodar_uuid + DragenRegionFineHist: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: + type: string + readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + sample: + type: string + maxLength: 200 + keys: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + values: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + region_name: + type: string + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - keys + - region_name + - sample + - sodar_uuid + - values + DragenRegionHist: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation - case: + date_modified: type: string + format: date-time readOnly: true - user: + sample: type: string - readOnly: true - query_settings: - type: object - query_settings_version_major: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: The query settings version (major) - query_settings_version_minor: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: The query settings version (minor) - name: + maxLength: 200 + region_name: type: string - nullable: true - description: Optional user-assigned name - maxLength: 100 - public: - type: boolean - description: Case is flagged as public or not + maxLength: 200 required: - - query_settings - SmallVariantQueryWithLogs: + - caseqc + - date_created + - date_modified + - metrics + - region_name + - sample + - sodar_uuid + DragenRegionOverallMeanCov: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - user: + caseqc: type: string + format: uuid readOnly: true - case: + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string + format: date-time readOnly: true - query_state: - enum: - - initial - - running - - done - - cancelled - - failed - - timeout + date_modified: type: string + format: date-time readOnly: true - description: The current query state - query_state_msg: + sample: type: string - readOnly: true - nullable: true - description: Message related to the query state - query_settings: - type: object - query_settings_version_major: - type: integer - readOnly: true - description: The query settings version (major) - query_settings_version_minor: - type: integer - readOnly: true - description: The query settings version (minor) - logs: + maxLength: 200 + region_name: type: string - readOnly: true + maxLength: 200 required: - - query_settings - SmallVariantQueryResultSet: + - caseqc + - date_created + - date_modified + - metrics + - region_name + - sample + - sodar_uuid + DragenRohMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of modification - smallvariantquery: + sample: + type: string + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenStyleCoverageList: + type: array + title: DragenStyleCoverageList + items: + description: Pydantic model for Dragen-style coverage metric entries + properties: + contig_name: + title: Contig Name + type: string + contig_len: + title: Contig Len + type: integer + cov: + title: Cov + type: number + required: + - contig_name + - contig_len + - cov + title: DragenStyleCoverage + type: object + DragenStyleMetricList: + type: array + title: DragenStyleMetricList + items: + description: Pydantic model for Dragen-style quality control metric entries + properties: + section: + anyOf: + - type: string + - type: 'null' + title: Section + entry: + anyOf: + - type: string + - type: 'null' + title: Entry + name: + anyOf: + - type: string + - type: 'null' + title: Name + value: + anyOf: + - type: integer + - type: number + - type: string + - type: 'null' + title: Value + value_float: + anyOf: + - type: number + - type: 'null' + default: null + title: Value Float + required: + - section + - entry + - name + - value + title: DragenStyleMetric + type: object + DragenSvMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string readOnly: true - case: + caseqc: type: string + format: uuid readOnly: true - start_time: + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string format: date-time readOnly: true - description: Date time of query start - end_time: + date_modified: type: string format: date-time readOnly: true - description: Date time of query end - elapsed_seconds: - type: number - readOnly: true - description: Elapsed seconds - result_row_count: - type: integer - readOnly: true - description: Number of rows in the result - SmallVariantQueryResultRow: + required: + - caseqc + - date_created + - date_modified + - metrics + - sodar_uuid + DragenTimeMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true - smallvariantqueryresultset: - type: string - readOnly: true - release: + caseqc: type: string + format: uuid readOnly: true - chromosome: + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string + format: date-time readOnly: true - chromosome_no: - type: integer - readOnly: true - bin: - type: integer - readOnly: true - start: - type: integer - readOnly: true - end: - type: integer - readOnly: true - reference: + date_modified: type: string + format: date-time readOnly: true - alternative: + sample: type: string - readOnly: true - payload: - type: object - readOnly: true - description: The query result rows - SettingsShortcuts: - type: object - properties: - presets: - type: object - query_settings: - type: object + maxLength: 200 required: - - presets - - query_settings - ExportFileBgJob: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenTrimmerMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true - file_type: - enum: - - tsv - - xlsx - - vcf + caseqc: type: string - description: File types for exported file - status: + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: + type: string + format: date-time + readOnly: true + date_modified: type: string + format: date-time readOnly: true + sample: + type: string + maxLength: 200 required: - - file_type - SmallVariantComment: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenVcHethomRatioMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: + required: + - caseqc + - date_created + - date_modified + - metrics + - sodar_uuid + DragenVcMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string readOnly: true - user: + caseqc: type: string + format: uuid readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - reference: - type: string - maxLength: 512 - alternative: - type: string - maxLength: 512 - text: + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string - user_can_edit: + format: date-time + readOnly: true + date_modified: type: string + format: date-time readOnly: true required: - - release - - chromosome - - start - - end - - reference - - alternative - - text - SmallVariantCommentProject: + - caseqc + - date_created + - date_modified + - metrics + - sodar_uuid + DragenWgsContigMeanCovMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleCoverageList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: - type: string - readOnly: true - user: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - reference: - type: string - maxLength: 512 - alternative: - type: string - maxLength: 512 - text: - type: string - user_can_edit: + sample: type: string - readOnly: true + maxLength: 200 required: - - release - - chromosome - - start - - end - - reference - - alternative - - text - SmallVariantFlags: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenWgsCoverageMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: - type: string - readOnly: true - release: + sample: type: string - maxLength: 32 - chromosome: + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + DragenWgsFineHist: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - reference: + readOnly: true + caseqc: type: string - maxLength: 512 - alternative: + format: uuid + readOnly: true + date_created: type: string - maxLength: 512 - flag_bookmarked: - type: boolean - flag_incidental: - type: boolean - flag_candidate: - type: boolean - flag_final_causative: - type: boolean - flag_for_validation: - type: boolean - flag_no_disease_association: - type: boolean - flag_segregates: - type: boolean - flag_doesnt_segregate: - type: boolean - flag_visual: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_molecular: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_validation: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_phenotype_match: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_summary: - enum: - - positive - - uncertain - - negative - - empty + format: date-time + readOnly: true + date_modified: type: string + format: date-time + readOnly: true + sample: + type: string + maxLength: 200 + keys: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 + values: + type: array + items: + type: integer + maximum: 2147483647 + minimum: -2147483648 required: - - release - - chromosome - - start - - end - - reference - - alternative - SmallVariantFlagsProject: + - caseqc + - date_created + - date_modified + - keys + - sample + - sodar_uuid + - values + DragenWgsHist: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: + sample: type: string - readOnly: true - release: + maxLength: 200 + keys: + type: array + items: + type: string + maxLength: 200 + values: + type: array + items: + type: number + format: double + required: + - caseqc + - date_created + - date_modified + - keys + - sample + - sodar_uuid + - values + DragenWgsOverallMeanCov: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field + properties: + sodar_uuid: type: string - maxLength: 32 - chromosome: + readOnly: true + caseqc: type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - reference: + format: uuid + readOnly: true + metrics: + $ref: '#/components/schemas/DragenStyleMetricList' + date_created: type: string - maxLength: 512 - alternative: + format: date-time + readOnly: true + date_modified: type: string - maxLength: 512 - flag_bookmarked: - type: boolean - flag_incidental: - type: boolean - flag_candidate: - type: boolean - flag_final_causative: - type: boolean - flag_for_validation: - type: boolean - flag_no_disease_association: - type: boolean - flag_segregates: - type: boolean - flag_doesnt_segregate: - type: boolean - flag_visual: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_molecular: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_validation: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_phenotype_match: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_summary: - enum: - - positive - - uncertain - - negative - - empty + format: date-time + readOnly: true + sample: type: string + maxLength: 200 required: - - release - - chromosome - - start - - end - - reference - - alternative - AcmgCriteriaRating: + - caseqc + - date_created + - date_modified + - metrics + - sample + - sodar_uuid + EnrichmentKit: type: object + description: Serializer for ``EnrichmentKit``. properties: - user: - type: string - readOnly: true - case: + sodar_uuid: type: string readOnly: true date_created: @@ -10315,865 +6145,599 @@ components: format: date-time readOnly: true description: DateTime of last modification - sodar_uuid: + identifier: type: string - format: uuid - readOnly: true - description: Case SODAR UUID - release: + description: Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. + pattern: ^[\w_-]+$ + maxLength: 128 + title: type: string - maxLength: 32 - chromosome: + description: Title of the enrichment kit + maxLength: 128 + description: type: string - maxLength: 32 - start: + nullable: true + description: Optional description of the enrichment kit + required: + - date_created + - date_modified + - identifier + - sodar_uuid + - title + GeneList: + type: array + title: GeneList + items: + description: Representation of a gene to query for. + properties: + hgnc_id: + title: Hgnc Id + type: string + symbol: + title: Symbol + type: string + name: + anyOf: + - type: string + - type: 'null' + default: null + title: Name + entrez_id: + anyOf: + - type: integer + - type: 'null' + default: null + title: Entrez Id + ensembl_id: + anyOf: + - type: string + - type: 'null' + default: null + title: Ensembl Id + required: + - hgnc_id + - symbol + title: Gene + type: object + GenePanel: + type: object + description: Serializer that serializes ``GenePanel``. + properties: + identifier: + type: string + readOnly: true + description: Identifier of the gene panel, e.g., 'osteoporosis.basic' or + 'osteoporosis.extended' + state: + allOf: + - $ref: '#/components/schemas/GenePanelStateEnum' + readOnly: true + description: |- + State of teh gene panel version + + * `draft` - draft + * `active` - active + * `retired` - retired + version_major: type: integer - maximum: 2147483647 - minimum: -2147483648 - end: + readOnly: true + default: 1 + description: Major version of the gene panel (by identifier) + version_minor: type: integer - maximum: 2147483647 - minimum: -2147483648 - reference: + readOnly: true + default: 1 + description: Minor version of the gene panel (by identifier) + title: type: string - maxLength: 512 - alternative: + readOnly: true + description: Title of the gene panel, only used for informative purposes + description: type: string - maxLength: 512 - pvs1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: "('null variant (nonsense, frameshift, canonical \xB11 or 2\ - \ splice sites, initiation codon, single or multiexon deletion) in a gene\ - \ where LOF is a known mechanism of disease',)" - ps1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Same amino acid change as a previously established pathogenic - variant regardless of nucleotide change - ps2: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: De novo (both maternity and paternity confirmed) in a patient - with the disease and no family history - ps3: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Well-established in vitro or in vivo functional studies supportive - of a damaging effect on the gene or gene product - ps4: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: The prevalence of the variant in affected individuals is significantly - increased compared with the prevalence in controls - pm1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Located in a mutational hot spot and/or critical and well-established - functional domain (e.g., active site of an enzyme) without benign variation - pm2: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Absent from controls (or at extremely low frequency if recessive) - in Exome Sequencing Project, 1000 Genomes Project, or Exome Aggregation - Consortium - pm3: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: For recessive disorders, detected in trans with a pathogenic - variant - pm4: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Protein length changes as a result of in-frame deletions/insertions - in a nonrepeat region or stop-loss variants - pm5: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Novel missense change at an amino acid residue where a different - missense change determined to be pathogenic has been seen before - pm6: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Assumed de novo, but without confirmation of paternity and - maternity - pp1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Cosegregation with disease in multiple affected family members - in a gene definitively known to cause the disease - pp2: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: 'Missense variant in a gene that has a low rate of benign missense - variation and in which missense variants are: a common mechanism of disease' - pp3: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Multiple lines of computational evidence support a deleterious - effect on the gene or gene product (conservation, evolutionary, splicing - impact, etc.) - pp4: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Patient's phenotype or family history is highly specific for - a disease with a single genetic etiology - pp5: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Reputable source recently reports variant as pathogenic, but - the evidence is not available to the laboratory to perform an independent - evaluation - ba1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Allele frequency is >5% in Exome Sequencing Project, 1000 Genomes - Project, or Exome Aggregation Consortium - bs1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Allele frequency is greater than expected for disorder (see - Table 6) - bs2: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Observed in a healthy adult individual for a recessive (homozygous), - dominant (heterozygous), or X-linked (hemizygous) disorder, with full - penetrance expected at an early age - bs3: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Well-established in vitro or in vivo functional studies show - no damaging effect on protein function or splicing - bs4: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: 'BS4: Lack of segregation in affected members of a family' - bp1: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Missense variant in a gene for which primarily truncating variants - are known to cause disease - bp2: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Observed in trans with a pathogenic variant for a fully penetrant - dominant gene/disorder or observed in cis with a pathogenic variant in - any inheritance pattern - bp3: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: In-frame deletions/insertions in a repetitive region without - a known function - bp4: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Multiple lines of computational evidence suggest no impact - on gene or gene product (conservation, evolutionary, splicing impact, - etc.) - bp5: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Variant found in a case with an alternate molecular basis for - disease - bp6: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: Reputable source recently reports variant as benign, but the - evidence is not available to the laboratory to perform an independent - evaluation - bp7: - type: integer - maximum: 2147483647 - minimum: -2147483648 - description: A synonymous (silent) variant for which splicing prediction - algorithms predict no impact to the splice consensus sequence nor the - creation of a new splice site AND the nucleotide is not highly conserved - class_auto: - type: integer - maximum: 2147483647 - minimum: -2147483648 - nullable: true - description: Result of the ACMG classification - class_override: - type: integer - maximum: 2147483647 - minimum: -2147483648 + readOnly: true nullable: true - description: Use this field to override the auto-computed class assignment - acmg_class: + description: Description of the panel + required: + - description + - identifier + - state + - title + - version_major + - version_minor + GenePanelCategory: + type: object + description: Serializer that serializes ``GenePanelCategory``. + properties: + title: type: string readOnly: true + description: Title of the category + description: + type: string + readOnly: true + nullable: true + description: Optional description of the category + genepanel_set: + allOf: + - $ref: '#/components/schemas/GenePanel' + readOnly: true required: - - release - - chromosome - - start - - end - - reference - - alternative - ProjectSettings: - type: object + - description + - genepanel_set + - title + GenePanelList: + type: array + title: GenePanelList + items: + description: Representation of a gene panel to use in the query. + properties: + source: + $ref: '#/components/schemas/GenePanelSource' + panel_id: + title: Panel Id + type: string + name: + title: Name + type: string + version: + title: Version + type: string + required: + - source + - panel_id + - name + - version + title: GenePanel + type: object + GenePanelSource: + description: The source of a gene panel. + enum: + - panelapp + - internal + title: GenePanelSource + type: string + GenePanelStateEnum: + enum: + - draft + - active + - retired + type: string + description: |- + * `draft` - draft + * `active` - active + * `retired` - retired + GenomeRegionList: + type: array + title: GenomeRegionList + items: + description: Representation of a genomic region to query for. + properties: + chromosome: + title: Chromosome + type: string + range: + anyOf: + - $ref: '#/components/schemas/OneBasedRange' + - type: 'null' + default: null + required: + - chromosome + title: GenomeRegion + type: object + GenomeReleaseEnum: + enum: + - grch37 + - grch38 + type: string + description: |- + * `grch37` - GRCh37 + * `grch38` - GRCh38 + InsertSizeStats: + description: Per-sample QC stats for insert sizes. properties: - ts_tv_valid_upper: + insert_size_mean: + title: Insert Size Mean type: number - ts_tv_valid_lower: + insert_size_median: + anyOf: + - type: number + - type: 'null' + title: Insert Size Median + insert_size_stddev: + title: Insert Size Stddev type: number + insert_size_histogram: + items: + items: + type: integer + minItems: 2 + type: array + title: Insert Size Histogram + type: array required: - - ts_tv_valid_upper - - ts_tv_valid_lower - CaseImportInfo: + - insert_size_mean + - insert_size_median + - insert_size_stddev + - insert_size_histogram + title: InsertSizeStats type: object + NgsbitsMappingqcMetrics: + type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + records: + $ref: '#/components/schemas/NgsbitsMappingqcRecordList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - owner: + sample: type: string - readOnly: true - case: + maxLength: 200 + region_name: type: string - readOnly: true - release: + maxLength: 200 + required: + - caseqc + - date_created + - date_modified + - records + - region_name + - sample + - sodar_uuid + NgsbitsMappingqcRecordList: + type: array + title: NgsbitsMappingqcRecordList + items: + description: One entry in the output of ngs-bits' MappingQC. + properties: + key: + title: Key + type: string + value: + anyOf: + - type: integer + - type: number + - type: string + - type: 'null' + title: Value + required: + - key + - value + title: NgsbitsMappingqcRecord + type: object + NullEnum: + enum: + - null + OneBasedRange: + description: Representation of a 1-based range. + properties: + start: + title: Start + type: integer + end: + title: End + type: integer + required: + - start + - end + title: OneBasedRange + type: object + PaginatedCaseAnalysisList: + type: object + properties: + next: type: string nullable: true - maxLength: 32 - project: - type: string - readOnly: true - name: - type: string - maxLength: 512 - index: - type: string - maxLength: 512 - pedigree: - type: object - notes: + previous: type: string nullable: true - state: - enum: - - draft - - submitted - - imported - - evicted - - failed - type: string - description: 'State of the case import ' - tags: + results: type: array items: - type: string + $ref: '#/components/schemas/CaseAnalysis' + PaginatedCaseAnalysisSessionList: + type: object + properties: + next: + type: string + nullable: true + previous: + type: string nullable: true - bam_qc_files: + results: type: array items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - case_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - variant_sets: + $ref: '#/components/schemas/CaseAnalysisSession' + PaginatedCaseImportActionList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: type: array items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - genomebuild: - enum: - - GRCh37 - - GRCh38 - type: string - description: Genome build used in the variant set. - case_import_info: - type: string - readOnly: true - variant_type: - enum: - - SMALL - - STRUCTURAL - type: string - description: The type of variant set that is referenced. - genotype_files: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - effect_files: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - db_info_files: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - state: - enum: - - draft - - uploaded - - imported - - evicted - - failed - type: string - description: State of the variant set import - required: - - variant_type - readOnly: true - required: - - name - - index - - pedigree - VariantSetImportInfo: + $ref: '#/components/schemas/CaseImportAction' + PaginatedCaseSerializerNgList: type: object properties: - sodar_uuid: + count: + type: integer + example: 123 + next: type: string - format: uuid - readOnly: true - description: Record UUID - date_created: + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: + type: array + items: + $ref: '#/components/schemas/CaseSerializerNg' + PaginatedSeqvarsPredefinedQueryList: + type: object + properties: + next: type: string - format: date-time - readOnly: true - description: DateTime of last modification - genomebuild: - enum: - - GRCh37 - - GRCh38 + nullable: true + previous: type: string - description: Genome build used in the variant set. - case_import_info: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsPredefinedQuery' + PaginatedSeqvarsQueryExecutionList: + type: object + properties: + next: type: string - readOnly: true - variant_type: - enum: - - SMALL - - STRUCTURAL + nullable: true + previous: type: string - description: The type of variant set that is referenced. - genotype_files: + nullable: true + results: type: array items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - effect_files: + $ref: '#/components/schemas/SeqvarsQueryExecution' + PaginatedSeqvarsQueryList: + type: object + properties: + next: + type: string + nullable: true + previous: + type: string + nullable: true + results: type: array items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - db_info_files: + $ref: '#/components/schemas/SeqvarsQuery' + PaginatedSeqvarsQueryPresetsClinvarList: + type: object + properties: + next: + type: string + nullable: true + previous: + type: string + nullable: true + results: type: array items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: - type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: - type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - readOnly: true - state: - enum: - - draft - - uploaded - - imported - - evicted - - failed - type: string - description: State of the variant set import - required: - - variant_type - BamQcFile: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + PaginatedSeqvarsQueryPresetsColumnsList: type: object properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: + next: type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: + nullable: true + previous: type: string - format: date-time - readOnly: true - description: DateTime of last modification - case_import_info: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' + PaginatedSeqvarsQueryPresetsConsequenceList: + type: object + properties: + next: type: string - readOnly: true - file: + nullable: true + previous: type: string - format: binary - writeOnly: true - description: The uploaded file. - name: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + PaginatedSeqvarsQueryPresetsFrequencyList: + type: object + properties: + next: type: string - description: Original file name. - maxLength: 200 - md5: + nullable: true + previous: type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - CaseGeneAnnotationFile: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' + PaginatedSeqvarsQueryPresetsLocusList: type: object properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: + next: type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: + nullable: true + previous: type: string - format: date-time - readOnly: true - description: DateTime of last modification - case_import_info: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' + PaginatedSeqvarsQueryPresetsPhenotypePrioList: + type: object + properties: + next: type: string - readOnly: true - file: + nullable: true + previous: type: string - format: binary - writeOnly: true - description: The uploaded file. - name: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + PaginatedSeqvarsQueryPresetsQualityList: + type: object + properties: + next: type: string - description: Original file name. - maxLength: 200 - md5: + nullable: true + previous: type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - GenotypeFile: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + PaginatedSeqvarsQueryPresetsSetList: type: object properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: + next: type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: + nullable: true + previous: type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + PaginatedSeqvarsQueryPresetsSetVersionList: + type: object + properties: + next: type: string - readOnly: true - file: + nullable: true + previous: type: string - format: binary - writeOnly: true - description: The uploaded file. - name: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersion' + PaginatedSeqvarsQueryPresetsVariantPrioList: + type: object + properties: + next: type: string - description: Original file name. - maxLength: 200 - md5: + nullable: true + previous: type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - EffectFile: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + PaginatedSeqvarsQuerySettingsList: type: object properties: - sodar_uuid: - type: string - format: uuid - description: Record UUID - date_created: + next: type: string - format: date-time - readOnly: true - description: DateTime of creation - date_modified: + nullable: true + previous: type: string - format: date-time - readOnly: true - description: DateTime of last modification - variant_set_import_info: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsQuerySettings' + PaginatedSeqvarsResultRowList: + type: object + properties: + next: type: string - readOnly: true - file: + nullable: true + previous: type: string - format: binary - writeOnly: true - description: The uploaded file. - name: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsResultRow' + PaginatedSeqvarsResultSetList: + type: object + properties: + next: type: string - description: Original file name. - maxLength: 200 - md5: + nullable: true + previous: type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - DatabaseInfoFile: + nullable: true + results: + type: array + items: + $ref: '#/components/schemas/SeqvarsResultSet' + PatchedCaseImportAction: type: object + description: Serializer for the ``CaseImportAction`` model. properties: sodar_uuid: + type: string + readOnly: true + project: type: string format: uuid - description: Record UUID + description: Project SODAR UUID + readOnly: true + state: + $ref: '#/components/schemas/CaseImportActionStateEnum' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - variant_set_import_info: - type: string - readOnly: true - file: - type: string - format: binary - writeOnly: true - description: The uploaded file. - name: - type: string - description: Original file name. - maxLength: 200 - md5: - type: string - description: MD5 checksum of original file. - maxLength: 32 - required: - - file - - name - - md5 - SvQuerySettingsShortcuts: - type: object - properties: - presets: - type: object - query_settings: - type: object - required: - - presets - - query_settings - SvQuery: + action: + $ref: '#/components/schemas/ActionEnum' + payload: {} + overwrite_terms: + type: boolean + PatchedCasePhenotypeTerms: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string @@ -11187,84 +6751,102 @@ components: type: string format: date-time readOnly: true - description: DateTime of modification - user: - type: string - readOnly: true + description: DateTime of last modification case: type: string + format: uuid + description: Case SODAR UUID readOnly: true - query_state: - enum: - - initial - - running - - done - - cancelled - - failed - - timeout - type: string - readOnly: true - description: The current query state - query_state_msg: + individual: type: string - readOnly: true - nullable: true - description: Message related to the query state - query_settings: - type: object - required: - - query_settings - SvQueryWithLogs: + description: Individual + maxLength: 128 + terms: {} + PatchedCaseSerializerNg: type: object + description: |- + Serializer for the ``Case`` model. + + In contrast to the old (legacy) ``CaseSerializer`` from ``variants.serializers.case``, this class does not + perform serialization of nested attributes and thus does not trigger a large query cascade. properties: sodar_uuid: type: string readOnly: true - date_created: + project: type: string - format: date-time + format: uuid + description: Project SODAR UUID readOnly: true - description: DateTime of creation - date_modified: + presetset: type: string - format: date-time + format: uuid + description: Cohort SODAR UUID readOnly: true - description: DateTime of modification - user: - type: string + sex_errors: + type: object + additionalProperties: + type: array + items: + type: string readOnly: true - case: - type: string + smallvariantqueryresultset: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true readOnly: true - query_state: - enum: - - initial - - running - - done - - cancelled - - failed - - timeout - type: string + svqueryresultset: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true + readOnly: true + caseqc: + type: object + additionalProperties: + oneOf: + - type: integer + - type: number + format: double + - type: string + nullable: true + nullable: true + description: |- + Obtain the latest CaseQC for this in active state and serialize it. + + If there is no such record then return ``None``. readOnly: true - description: The current query state - query_state_msg: + release: type: string readOnly: true nullable: true - description: Message related to the query state - query_settings: - type: object - logs: + name: type: string - readOnly: true - required: - - query_settings - SvQueryResultSet: - type: object - properties: - sodar_uuid: + maxLength: 512 + index: type: string - readOnly: true + maxLength: 512 + pedigree: {} + notes: + type: string + nullable: true + status: + $ref: '#/components/schemas/CaseStatusEnum' + tags: + type: array + items: + type: string + maxLength: 32 + nullable: true date_created: type: string format: date-time @@ -11274,115 +6856,38 @@ components: type: string format: date-time readOnly: true - description: DateTime of modification - svquery: - type: string - readOnly: true - case: - type: string - readOnly: true - start_time: - type: string - format: date-time - readOnly: true - description: Date time of query start - end_time: - type: string - format: date-time - readOnly: true - description: Date time of query end - elapsed_seconds: - type: number - readOnly: true - description: Elapsed seconds - result_row_count: - type: integer - readOnly: true - description: Number of rows in the result - SvQueryResultRow: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - svqueryresultset: - type: string - readOnly: true - release: - type: string - readOnly: true - chromosome: - type: string - readOnly: true - chromosome_no: - type: integer - readOnly: true - bin: - type: integer - readOnly: true - chromosome2: - type: string - readOnly: true - nullable: true - chromosome_no2: + description: DateTime of last modification + case_version: type: integer + maximum: 2147483647 + minimum: -2147483648 + state: readOnly: true nullable: true - bin2: + oneOf: + - $ref: '#/components/schemas/CaseSerializerNgStateEnum' + - $ref: '#/components/schemas/NullEnum' + num_small_vars: type: integer readOnly: true nullable: true - start: - type: integer - readOnly: true - end: + title: Small variants + description: Number of small variants, empty if no small variants have been + imported + num_svs: type: integer readOnly: true - pe_orientation: - type: string - readOnly: true nullable: true - sv_type: - enum: - - DEL - - DUP - - INS - - INV - - BND - - CNV - type: string - readOnly: true - sv_sub_type: - enum: - - DEL - - DEL:ME - - DEL:ME:SVA - - DEL:ME:L1 - - DEL:ME:ALU - - DUP - - DUP:TANDEM - - INV - - INS - - INS:ME - - INS:ME:SVA - - INS:ME:L1 - - INS:ME:ALU - - BND - - CNV - type: string - readOnly: true - payload: - type: object - readOnly: true - description: The query result rows - StructuralVariantFlags: + title: Structural variants + description: Number of structural variants, empty if no structural variants + have been imported + PatchedEnrichmentKit: type: object + description: Serializer for ``EnrichmentKit``. properties: sodar_uuid: type: string - format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time @@ -11393,926 +6898,609 @@ components: format: date-time readOnly: true description: DateTime of last modification - case: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: + identifier: type: string - maxLength: 32 - sv_sub_type: + description: Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. + pattern: ^[\w_-]+$ + maxLength: 128 + title: type: string - maxLength: 32 - flag_bookmarked: - type: boolean - flag_candidate: - type: boolean - flag_final_causative: - type: boolean - flag_for_validation: - type: boolean - flag_no_disease_association: - type: boolean - flag_segregates: - type: boolean - flag_doesnt_segregate: - type: boolean - flag_visual: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_molecular: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_validation: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_phenotype_match: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_incidental: - type: boolean - flag_summary: - enum: - - positive - - uncertain - - negative - - empty + description: Title of the enrichment kit + maxLength: 128 + description: type: string - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - StructuralVariantFlagsProject: + nullable: true + description: Optional description of the enrichment kit + PatchedSeqvarsPredefinedQuery: type: object + description: Serializer for ``PredefinedQuery``. properties: sodar_uuid: type: string format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: + rank: + type: integer + default: 1 + label: + type: string + maxLength: 128 + description: type: string + nullable: true + presetssetversion: + type: string + format: uuid readOnly: true - release: + included_in_sop: + type: boolean + default: false + genotype: + allOf: + - $ref: '#/components/schemas/SchemaField' + default: + choice: null + quality: type: string - maxLength: 32 - chromosome: + format: uuid + nullable: true + frequency: type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: + format: uuid + nullable: true + consequence: type: string - maxLength: 32 - sv_sub_type: + format: uuid + nullable: true + locus: type: string - maxLength: 32 - flag_bookmarked: - type: boolean - flag_candidate: - type: boolean - flag_final_causative: - type: boolean - flag_for_validation: - type: boolean - flag_no_disease_association: - type: boolean - flag_segregates: - type: boolean - flag_doesnt_segregate: - type: boolean - flag_visual: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_molecular: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_validation: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_phenotype_match: - enum: - - positive - - uncertain - - negative - - empty - type: string - flag_incidental: - type: boolean - flag_summary: - enum: - - positive - - uncertain - - negative - - empty + format: uuid + nullable: true + phenotypeprio: type: string - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - StructuralVariantComment: + format: uuid + nullable: true + variantprio: + type: string + format: uuid + nullable: true + clinvar: + type: string + format: uuid + nullable: true + columns: + type: string + format: uuid + nullable: true + PatchedSeqvarsQueryDetails: type: object + description: |- + Serializer for ``Query`` (for ``*-detail``). + + For retrieve, update, or delete operations, we also render the nested query settings + in detail. properties: sodar_uuid: type: string format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - user: - type: string - readOnly: true - case: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: + rank: type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: - type: string - maxLength: 32 - sv_sub_type: - type: string - maxLength: 32 - text: + default: 1 + label: type: string - description: The comment text - user_can_edit: + maxLength: 128 + session: type: string + format: uuid readOnly: true - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - - text - StructuralVariantCommentProject: + settings: + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' + columnsconfig: + $ref: '#/components/schemas/SeqvarsQueryColumnsConfig' + PatchedSeqvarsQueryPresetsClinvar: type: object + description: |- + Serializer for ``QueryPresetsClinvar``. + + Not used directly but used as base class. properties: + clinvar_presence_required: + type: boolean + default: false + clinvar_germline_aggregate_description: + $ref: '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + allow_conflicting_interpretations: + type: boolean + default: false sodar_uuid: type: string format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - user: - type: string - readOnly: true - case: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: + rank: type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: - type: string - maxLength: 32 - sv_sub_type: + default: 1 + label: type: string - maxLength: 32 - text: + maxLength: 128 + description: type: string - description: The comment text - user_can_edit: + nullable: true + presetssetversion: type: string + format: uuid readOnly: true - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - - text - StructuralVariantAcmgRating: + PatchedSeqvarsQueryPresetsColumns: type: object + description: |- + Serializer for ``QueryPresetsColumns``. + + Not used directly but used as base class. properties: + column_settings: + $ref: '#/components/schemas/SeqvarsColumnConfigList' sodar_uuid: type: string format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: + rank: type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: + default: 1 + label: type: string - maxLength: 32 - sv_sub_type: + maxLength: 128 + description: type: string - maxLength: 32 - class_override: - type: number nullable: true - description: Use this field to override the auto-computed class assignment - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - StructuralVariantAcmgRatingProject: + presetssetversion: + type: string + format: uuid + readOnly: true + PatchedSeqvarsQueryPresetsConsequence: type: object + description: |- + Serializer for ``QueryPresetsConsequence``. + + Not used directly but used as base class. properties: + variant_types: + $ref: '#/components/schemas/SeqvarsVariantTypeChoiceList' + transcript_types: + $ref: '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + variant_consequences: + $ref: '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + max_distance_to_exon: + type: integer + nullable: true sodar_uuid: type: string format: uuid readOnly: true - description: Annotation UUID date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: + rank: type: integer - maximum: 2147483647 - minimum: -2147483648 - sv_type: + default: 1 + label: type: string - maxLength: 32 - sv_sub_type: + maxLength: 128 + description: type: string - maxLength: 32 - class_override: - type: number nullable: true - description: Use this field to override the auto-computed class assignment - required: - - release - - chromosome - - start - - end - - sv_type - - sv_sub_type - SODARUser: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ - only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: + presetssetversion: type: string + format: uuid readOnly: true - required: - - username - Project: + PatchedSeqvarsQueryPresetsFrequency: type: object + description: |- + Serializer for ``QueryPresetsFrequency``. + + Not used directly but used as base class. properties: - title: - type: string - description: Project title - maxLength: 255 - type: - enum: - - CATEGORY - - PROJECT - type: string - description: Type of project ("CATEGORY", "PROJECT") - parent: - type: string + gnomad_exomes_enabled: + type: boolean + default: false + gnomad_exomes_frequency: + type: number + format: double nullable: true - description: - type: string + gnomad_exomes_homozygous: + type: integer nullable: true - description: Short project description - maxLength: 512 - readme: - type: string - public_guest_access: + gnomad_exomes_heterozygous: + type: integer + nullable: true + gnomad_exomes_hemizygous: + type: boolean + nullable: true + gnomad_genomes_enabled: type: boolean - description: Allow public guest access for the project, also including unauthenticated - users if allowed on the site - archive: + default: false + gnomad_genomes_frequency: + type: number + format: double + nullable: true + gnomad_genomes_homozygous: + type: integer + nullable: true + gnomad_genomes_heterozygous: + type: integer + nullable: true + gnomad_genomes_hemizygous: type: boolean - readOnly: true - owner: - type: string - writeOnly: true - roles: - type: array - items: - type: object - properties: - role: - type: string - user: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits - and @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without - explicitly assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username - readOnly: true - sodar_uuid: - type: string - readOnly: true - required: - - role - readOnly: true + nullable: true + helixmtdb_enabled: + type: boolean + default: false + helixmtdb_heteroplasmic: + type: integer + nullable: true + helixmtdb_homoplasmic: + type: integer + nullable: true + helixmtdb_frequency: + type: number + format: double + nullable: true + inhouse_enabled: + type: boolean + default: false + inhouse_carriers: + type: integer + nullable: true + inhouse_homozygous: + type: integer + nullable: true + inhouse_heterozygous: + type: integer + nullable: true + inhouse_hemizygous: + type: integer + nullable: true sodar_uuid: type: string - readOnly: true - required: - - title - - parent - ProjectInvite: - type: object - properties: - email: - type: string - format: email - description: Email address of the person to be invited - maxLength: 254 - project: - type: string - readOnly: true - role: - type: string - issuer: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and - @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username + format: uuid readOnly: true date_created: type: string format: date-time readOnly: true - description: DateTime of invite creation - date_expire: + date_modified: type: string format: date-time readOnly: true - description: Expiration of invite as DateTime - message: + rank: + type: integer + default: 1 + label: type: string - description: Message to be included in the invite email (optional) - sodar_uuid: + maxLength: 128 + description: type: string + nullable: true + presetssetversion: + type: string + format: uuid readOnly: true - required: - - email - - role - AppSetting: + PatchedSeqvarsQueryPresetsLocus: type: object + description: |- + Serializer for ``QueryPresetsLocus``. + + Not used directly but used as base class. properties: - app_name: + genes: + $ref: '#/components/schemas/GeneList' + gene_panels: + $ref: '#/components/schemas/GenePanelList' + genome_regions: + $ref: '#/components/schemas/GenomeRegionList' + sodar_uuid: type: string + format: uuid readOnly: true - project: + date_created: type: string + format: date-time readOnly: true - user: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and - @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username - readOnly: true - name: + date_modified: type: string + format: date-time readOnly: true - description: Name of the setting - type: + rank: + type: integer + default: 1 + label: type: string - readOnly: true - description: Type of the setting - value: + maxLength: 128 + description: type: string - readOnly: true nullable: true - description: Value of the setting - user_modifiable: - type: boolean + presetssetversion: + type: string + format: uuid readOnly: true - description: Setting visibility in forms - Cohort: + PatchedSeqvarsQueryPresetsPhenotypePrio: type: object + description: |- + Serializer for ``QueryPresetsPhenotypePrio``. + + Not used directly but used as base class. properties: - sodar_uuid: - type: string - readOnly: true - project: - type: string - readOnly: true - user: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and - @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username - readOnly: true - inaccessible_cases: + phenotype_prio_enabled: + type: boolean + default: false + phenotype_prio_algorithm: type: string - readOnly: true - cases: + nullable: true + maxLength: 128 + terms: + $ref: '#/components/schemas/TermPresenceList' + sodar_uuid: type: string + format: uuid readOnly: true date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - name: - type: string - maxLength: 512 - required: - - name - CohortCase: - type: object - properties: - case: + rank: + type: integer + default: 1 + label: type: string - cohort: + maxLength: 128 + description: type: string - sodar_uuid: + nullable: true + presetssetversion: type: string format: uuid readOnly: true - description: CohortCase SODAR UUID - required: - - case - - cohort - ProjectCases: + PatchedSeqvarsQueryPresetsQuality: type: object + description: |- + Serializer for ``QueryPresetsQuality``. + + Not used directly but used as base class. properties: - title: + sodar_uuid: type: string - description: Project title - maxLength: 255 - type: - enum: - - CATEGORY - - PROJECT + format: uuid + readOnly: true + date_created: type: string - description: Type of project ("CATEGORY", "PROJECT") - parent: + format: date-time + readOnly: true + date_modified: type: string - nullable: true + format: date-time + readOnly: true + rank: + type: integer + default: 1 + label: + type: string + maxLength: 128 description: type: string nullable: true - description: Short project description - maxLength: 512 - readme: - type: string - public_guest_access: - type: boolean - description: Allow public guest access for the project, also including unauthenticated - users if allowed on the site - archive: - type: boolean - readOnly: true - owner: + presetssetversion: type: string - writeOnly: true - roles: - type: array - items: - type: object - properties: - role: - type: string - user: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits - and @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without - explicitly assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username - readOnly: true - sodar_uuid: - type: string - readOnly: true - required: - - role + format: uuid readOnly: true + filter_active: + type: boolean + default: false + min_dp_het: + type: integer + nullable: true + min_dp_hom: + type: integer + nullable: true + min_ab_het: + type: number + format: double + nullable: true + min_gq: + type: integer + nullable: true + min_ad: + type: integer + nullable: true + max_ad: + type: integer + nullable: true + PatchedSeqvarsQueryPresetsSet: + type: object + description: Serializer for ``QueryPresetsSet``. + properties: sodar_uuid: type: string + format: uuid readOnly: true - case_set: + date_created: type: string + format: date-time readOnly: true - required: - - title - - parent - GenePanelCategory: - type: object - properties: - title: + date_modified: type: string + format: date-time readOnly: true - description: Title of the category + rank: + type: integer + default: 1 + label: + type: string + maxLength: 128 description: type: string - readOnly: true nullable: true - description: Optional description of the category - genepanel_set: + project: type: string + format: uuid + description: Project SODAR UUID readOnly: true - GenePanel: - description: Representation of a gene panel to use in the query. - properties: - source: - $ref: '#/components/schemas/GenePanelSource' - panel_id: - title: Panel Id - type: string - name: - title: Name - type: string - version: - title: Version - type: string - required: - - source - - panel_id - - name - - version - title: GenePanel - type: object - CaseNg: + PatchedSeqvarsQueryPresetsSetVersion: type: object + description: Serializer for ``QueryPresetsSetVersion``. properties: sodar_uuid: type: string + format: uuid readOnly: true - project: - type: string - readOnly: true - presetset: - type: string - readOnly: true - sex_errors: + date_created: type: string + format: date-time readOnly: true - smallvariantqueryresultset: + date_modified: type: string + format: date-time readOnly: true - svqueryresultset: + presetsset: type: string + format: uuid readOnly: true - caseqc: + version_major: + type: integer + default: 1 + version_minor: + type: integer + default: 0 + status: type: string + default: draft + signed_off_by: + allOf: + - $ref: '#/components/schemas/SODARUser' readOnly: true - release: + PatchedSeqvarsQueryPresetsVariantPrio: + type: object + description: |- + Serializer for ``QueryPresetsVariantPrio``. + + Not used directly but used as base class. + properties: + variant_prio_enabled: + type: boolean + default: false + services: + $ref: '#/components/schemas/SeqvarsPrioServiceList' + sodar_uuid: type: string + format: uuid readOnly: true - nullable: true - name: - type: string - maxLength: 512 - index: - type: string - maxLength: 512 - pedigree: - type: object - notes: - type: string - nullable: true - status: - enum: - - initial - - active - - closed-unsolved - - closed-uncertain - - closed-solved - type: string - tags: - type: array - items: - type: string - nullable: true date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case_version: + rank: type: integer - maximum: 2147483647 - minimum: -2147483648 - state: - enum: - - importing - - updating - - active - - deleting + default: 1 + label: + type: string + maxLength: 128 + description: type: string - readOnly: true - nullable: true - num_small_vars: - type: integer - readOnly: true - nullable: true - description: Number of small variants, empty if no small variants have been - imported - num_svs: - type: integer - readOnly: true nullable: true - description: Number of structural variants, empty if no structural variants - have been imported - required: - - name - - index - - pedigree - CaseComment: + presetssetversion: + type: string + format: uuid + readOnly: true + PatchedSeqvarsQuerySettingsDetails: type: object + description: |- + Serializer for ``QuerySettings`` (for ``*-detail``). + + For retrieve, update, or delete operations, we also render the nested + owned category settings. properties: sodar_uuid: type: string + format: uuid readOnly: true date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - case: + session: type: string + format: uuid readOnly: true - user: + presetssetversion: type: string + format: uuid readOnly: true - comment: - type: string - required: - - comment - CasePhenotypeTerms: + genotype: + $ref: '#/components/schemas/SeqvarsQuerySettingsGenotype' + quality: + $ref: '#/components/schemas/SeqvarsQuerySettingsQuality' + consequence: + $ref: '#/components/schemas/SeqvarsQuerySettingsConsequence' + locus: + $ref: '#/components/schemas/SeqvarsQuerySettingsLocus' + frequency: + $ref: '#/components/schemas/SeqvarsQuerySettingsFrequency' + phenotypeprio: + $ref: '#/components/schemas/SeqvarsQuerySettingsPhenotypePrio' + variantprio: + $ref: '#/components/schemas/SeqvarsQuerySettingsVariantPrio' + clinvar: + $ref: '#/components/schemas/SeqvarsQuerySettingsClinvar' + PatchedTargetBedFile: type: object + description: Serializer for ``TargetBedFile``. properties: sodar_uuid: type: string @@ -12327,221 +7515,812 @@ components: format: date-time readOnly: true description: DateTime of last modification - case: + enrichmentkit: type: string + format: uuid + description: Record SODAR UUID readOnly: true - individual: + file_uri: type: string - description: Individual - maxLength: 128 - terms: - type: object + description: The file's URI. + maxLength: 512 + genome_release: + allOf: + - $ref: '#/components/schemas/GenomeReleaseEnum' + default: grch37 + description: |- + The file's reference genome. + + * `grch37` - GRCh37 + * `grch38` - GRCh38 + RegionCoverageStats: + description: Per-region QC stats for alignment. + properties: + region_name: + title: Region Name + type: string + mean_rd: + title: Mean Rd + type: number + min_rd_fraction: + items: + items: + anyOf: + - type: integer + - type: number + minItems: 2 + type: array + title: Min Rd Fraction + type: array required: - - individual - - terms - AnnotationReleaseInfo: + - region_name + - mean_rd + - min_rd_fraction + title: RegionCoverageStats type: object + RegionVariantStats: + description: Per-region sequence variant statistics. properties: - genomebuild: - type: string - readOnly: true - table: - type: string - readOnly: true - timestamp: + region_name: + title: Region Name type: string - format: date-time - readOnly: true - release: - type: string - readOnly: true - SvAnnotationReleaseInfo: + snv_count: + title: Snv Count + type: integer + indel_count: + title: Indel Count + type: integer + multiallelic_count: + title: Multiallelic Count + type: integer + transition_count: + title: Transition Count + type: integer + transversion_count: + title: Transversion Count + type: integer + tstv_ratio: + title: Tstv Ratio + type: number + required: + - region_name + - snv_count + - indel_count + - multiallelic_count + - transition_count + - transversion_count + - tstv_ratio + title: RegionVariantStats + type: object + SODARUser: type: object + description: Serializer for the user model used in SODAR Core based sites properties: - genomebuild: + username: type: string - readOnly: true - table: + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: type: string - readOnly: true - timestamp: + title: Name of User + maxLength: 255 + email: type: string - format: date-time - readOnly: true - release: + format: email + title: Email address + maxLength: 254 + is_superuser: + type: boolean + title: Superuser status + description: Designates that this user has all permissions without explicitly + assigning them. + sodar_uuid: type: string readOnly: true - VarAnnoSet: + required: + - sodar_uuid + - username + SampleAlignmentStatsList: + type: array + title: SampleAlignmentStatsList + items: + description: Per-sample QC stats for alignment. + properties: + sample: + title: Sample + type: string + detailed_counts: + $ref: '#/components/schemas/DetailedAlignmentCounts' + per_chromosome_counts: + items: + items: + anyOf: + - type: string + - type: integer + minItems: 2 + type: array + title: Per Chromosome Counts + type: array + insert_size_stats: + $ref: '#/components/schemas/InsertSizeStats' + region_coverage_stats: + items: + $ref: '#/components/schemas/RegionCoverageStats' + title: Region Coverage Stats + type: array + required: + - sample + - detailed_counts + - per_chromosome_counts + - insert_size_stats + - region_coverage_stats + title: SampleAlignmentStats + type: object + SampleReadStatsList: + type: array + title: SampleReadStatsList + items: + description: Per-sample QC stats for reads. + properties: + sample: + title: Sample + type: string + read_length_n50: + title: Read Length N50 + type: integer + read_length_histogram: + items: + items: + type: integer + minItems: 2 + type: array + title: Read Length Histogram + type: array + total_reads: + title: Total Reads + type: integer + total_yield: + title: Total Yield + type: integer + fragment_first: + anyOf: + - type: integer + - type: 'null' + title: Fragment First + fragment_last: + anyOf: + - type: integer + - type: 'null' + title: Fragment Last + required: + - sample + - read_length_n50 + - read_length_histogram + - total_reads + - total_yield + - fragment_first + - fragment_last + title: SampleReadStats + type: object + SampleSeqvarStatsList: + type: array + title: SampleSeqvarStatsList + items: + description: Per-sample QC stats for sequence variants. + properties: + sample: + title: Sample + type: string + genome_wide: + $ref: '#/components/schemas/RegionVariantStats' + per_region: + items: + $ref: '#/components/schemas/RegionVariantStats' + title: Per Region + type: array + required: + - sample + - genome_wide + - per_region + title: SampleSeqvarStats + type: object + SampleStrucvarStatsList: + type: array + title: SampleStrucvarStatsList + items: + description: Per-sample QC stats for structural variants. + properties: + sample: + title: Sample + type: string + deletion_count: + title: Deletion Count + type: integer + duplication_count: + title: Duplication Count + type: integer + insertion_count: + title: Insertion Count + type: integer + inversion_count: + title: Inversion Count + type: integer + breakend_count: + title: Breakend Count + type: integer + required: + - sample + - deletion_count + - duplication_count + - insertion_count + - inversion_count + - breakend_count + title: SampleStrucvarStats + type: object + SamtoolsFlagstatMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + qc_pass: + $ref: '#/components/schemas/SchemaField' + qc_fail: + $ref: '#/components/schemas/SchemaField' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - project: - type: string - readOnly: true - release: - enum: - - GRCh37 - - GRCh38 - type: string - description: Genome build of the variant annotation set. - title: - type: string - description: The variant annotation set's title. - maxLength: 100 - description: + sample: type: string - nullable: true - description: An optional description for the variant annotation set. - fields: - type: array - items: - type: string - description: The allowed fields in the entries. + maxLength: 200 required: - - release - - title - - fields - VarAnnoSetEntry: + - caseqc + - date_created + - date_modified + - qc_fail + - qc_pass + - sample + - sodar_uuid + SamtoolsIdxstatsMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + records: + $ref: '#/components/schemas/SamtoolsIdxstatsRecordList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - varannoset: - type: string - readOnly: true - release: - type: string - maxLength: 32 - chromosome: - type: string - maxLength: 32 - reference: - type: string - maxLength: 512 - alternative: + sample: type: string - maxLength: 512 - start: - type: integer - maximum: 2147483647 - minimum: -2147483648 - end: - type: integer - maximum: 2147483647 - minimum: -2147483648 - payload: - type: object - description: The annotation's data with fields defined in the variant annotation - set. + maxLength: 200 required: - - release - - chromosome - - reference - - alternative - - start - - end - - payload - EnrichmentKit: + - caseqc + - date_created + - date_modified + - records + - sample + - sodar_uuid + SamtoolsIdxstatsRecordList: + type: array + title: SamtoolsIdxstatsRecordList + items: + description: A record for the lines in ``samtools idxstats`` output. + properties: + contig_name: + title: Contig Name + type: string + contig_len: + title: Contig Len + type: integer + mapped: + title: Mapped + type: integer + unmapped: + title: Unmapped + type: integer + required: + - contig_name + - contig_len + - mapped + - unmapped + title: SamtoolsIdxstatsRecord + type: object + SamtoolsStatsBasePercentagesRecordList: + type: array + title: SamtoolsStatsBasePercentagesRecordList + items: + description: |- + A Record from the ``GCC``, ``GCT``, ``FBC``, and ``LBC`` lines in ``samtools stats`` + output. + properties: + cycle: + title: Cycle + type: integer + percentages: + items: + type: number + title: Percentages + type: array + required: + - cycle + - percentages + title: SamtoolsStatsBasePercentagesRecord + type: object + SamtoolsStatsChkRecordList: + type: array + title: SamtoolsStatsChkRecordList + items: + description: A Record from the ``CHK`` lines in ``samtools stats`` output. + properties: + read_names_crc32: + title: Read Names Crc32 + type: string + sequences_crc32: + title: Sequences Crc32 + type: string + qualities_crc32: + title: Qualities Crc32 + type: string + required: + - read_names_crc32 + - sequences_crc32 + - qualities_crc32 + title: SamtoolsStatsChkRecord + type: object + SamtoolsStatsFqRecordList: + type: array + title: SamtoolsStatsFqRecordList + items: + description: A Record from the ``FFQ`` and ``LFQ`` lines in ``samtools stats`` + output. + properties: + cycle: + title: Cycle + type: integer + counts: + items: + type: integer + title: Counts + type: array + required: + - cycle + - counts + title: SamtoolsStatsFqRecord + type: object + SamtoolsStatsGcRecordList: + type: array + title: SamtoolsStatsGcRecordList + items: + description: A Record from the ``GCF`` and ``GCL`` lines in ``samtools stats`` + output. + properties: + gc_content: + title: Gc Content + type: number + count: + title: Count + type: integer + required: + - gc_content + - count + title: SamtoolsStatsGcRecord + type: object + SamtoolsStatsGcdRecordList: + type: array + title: SamtoolsStatsGcdRecordList + items: + description: A record for the ``GCD`` lines in ``samtools stats`` output. + properties: + gc_content: + title: Gc Content + type: number + unique_seq_percentiles: + title: Unique Seq Percentiles + type: number + dp_percentile_10: + title: Dp Percentile 10 + type: number + dp_percentile_25: + title: Dp Percentile 25 + type: number + dp_percentile_50: + title: Dp Percentile 50 + type: number + dp_percentile_75: + title: Dp Percentile 75 + type: number + dp_percentile_90: + title: Dp Percentile 90 + type: number + required: + - gc_content + - unique_seq_percentiles + - dp_percentile_10 + - dp_percentile_25 + - dp_percentile_50 + - dp_percentile_75 + - dp_percentile_90 + title: SamtoolsStatsGcdRecord + type: object + SamtoolsStatsHistoRecordList: + type: array + title: SamtoolsStatsHistoRecordList + items: + description: |- + A record for a value/count pair. + + Used for ``MAPQ``, ``ID``, ``COV`` + properties: + value: + title: Value + type: integer + count: + title: Count + type: integer + required: + - value + - count + title: SamtoolsStatsHistoRecord + type: object + SamtoolsStatsIcRecordList: + type: array + title: SamtoolsStatsIcRecordList + items: + description: A record for the ``IC`` lines in ``samtools stats`` output. + properties: + cycle: + title: Cycle + type: integer + ins_fwd: + title: Ins Fwd + type: integer + dels_fwd: + title: Dels Fwd + type: integer + ins_rev: + title: Ins Rev + type: integer + dels_rev: + title: Dels Rev + type: integer + required: + - cycle + - ins_fwd + - dels_fwd + - ins_rev + - dels_rev + title: SamtoolsStatsIcRecord + type: object + SamtoolsStatsIdRecordList: + type: array + title: SamtoolsStatsIdRecordList + items: + description: A record for the ``ID`` lines in ``samtools stats`` output. + properties: + length: + title: Length + type: integer + ins: + title: Ins + type: integer + dels: + title: Dels + type: integer + required: + - length + - ins + - dels + title: SamtoolsStatsIdRecord + type: object + SamtoolsStatsIsRecordList: + type: array + title: SamtoolsStatsIsRecordList + items: + description: Records for the ``IS`` records. + properties: + insert_size: + title: Insert Size + type: integer + pairs_total: + title: Pairs Total + type: integer + pairs_inward: + title: Pairs Inward + type: integer + pairs_outward: + title: Pairs Outward + type: integer + pairs_other: + title: Pairs Other + type: integer + required: + - insert_size + - pairs_total + - pairs_inward + - pairs_outward + - pairs_other + title: SamtoolsStatsIsRecord + type: object + SamtoolsStatsMainMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + sn: + $ref: '#/components/schemas/SamtoolsStatsSnRecordList' + chk: + $ref: '#/components/schemas/SamtoolsStatsChkRecordList' + isize: + $ref: '#/components/schemas/SamtoolsStatsIsRecordList' + cov: + $ref: '#/components/schemas/SamtoolsStatsHistoRecordList' + gcd: + $ref: '#/components/schemas/SamtoolsStatsGcdRecordList' + frl: + $ref: '#/components/schemas/SamtoolsStatsHistoRecordList' + lrl: + $ref: '#/components/schemas/SamtoolsStatsHistoRecordList' + idd: + $ref: '#/components/schemas/SamtoolsStatsIdRecordList' + ffq: + $ref: '#/components/schemas/SamtoolsStatsFqRecordList' + lfq: + $ref: '#/components/schemas/SamtoolsStatsFqRecordList' + fbc: + $ref: '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + lbc: + $ref: '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - identifier: - type: string - description: Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. - pattern: ^[\w_-]+$ - maxLength: 128 - title: - type: string - description: Title of the enrichment kit - maxLength: 128 - description: + sample: type: string - nullable: true - description: Optional description of the enrichment kit + maxLength: 200 required: - - identifier - - title - TargetBedFile: + - caseqc + - chk + - cov + - date_created + - date_modified + - fbc + - ffq + - frl + - gcd + - idd + - isize + - lbc + - lfq + - lrl + - sample + - sn + - sodar_uuid + SamtoolsStatsSnRecordList: + type: array + title: SamtoolsStatsSnRecordList + items: + description: A Record from the ``SN`` lines in ``samtools stats`` output. + properties: + key: + title: Key + type: string + value: + anyOf: + - type: integer + - type: number + - type: string + - type: 'null' + title: Value + required: + - key + - value + title: SamtoolsStatsSnRecord + type: object + SamtoolsStatsSupplementaryMetrics: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: sodar_uuid: type: string readOnly: true + caseqc: + type: string + format: uuid + readOnly: true + gcf: + $ref: '#/components/schemas/SamtoolsStatsGcRecordList' + gcl: + $ref: '#/components/schemas/SamtoolsStatsGcRecordList' + gcc: + $ref: '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + gct: + $ref: '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + rl: + $ref: '#/components/schemas/SamtoolsStatsHistoRecordList' + mapq: + $ref: '#/components/schemas/SamtoolsStatsHistoRecordList' + ic: + $ref: '#/components/schemas/SamtoolsStatsIcRecordList' date_created: type: string format: date-time readOnly: true - description: DateTime of creation date_modified: type: string format: date-time readOnly: true - description: DateTime of last modification - enrichmentkit: - type: string - readOnly: true - file_uri: - type: string - description: The file's URI. - maxLength: 512 - genome_release: - enum: - - grch37 - - grch38 + sample: type: string - default: grch37 - description: The file's reference genome. + maxLength: 200 required: - - file_uri - CaseImportAction: + - caseqc + - date_created + - date_modified + - gcc + - gcf + - gcl + - gct + - ic + - mapq + - rl + - sample + - sodar_uuid + SchemaField: + description: A record for the ``flagstat`` lines in ``samtools stats`` output. + properties: + total: + default: 0 + title: Total + type: integer + primary: + default: 0 + title: Primary + type: integer + secondary: + default: 0 + title: Secondary + type: integer + supplementary: + default: 0 + title: Supplementary + type: integer + duplicates: + default: 0 + title: Duplicates + type: integer + duplicates_primary: + default: 0 + title: Duplicates Primary + type: integer + mapped: + default: 0 + title: Mapped + type: integer + mapped_primary: + default: 0 + title: Mapped Primary + type: integer + paired: + default: 0 + title: Paired + type: integer + fragment_first: + default: 0 + title: Fragment First + type: integer + fragment_last: + default: 0 + title: Fragment Last + type: integer + properly_paired: + default: 0 + title: Properly Paired + type: integer + with_itself_and_mate_mapped: + default: 0 + title: With Itself And Mate Mapped + type: integer + singletons: + default: 0 + title: Singletons + type: integer + with_mate_mapped_to_different_chr: + default: 0 + title: With Mate Mapped To Different Chr + type: integer + with_mate_mapped_to_different_chr_mapq5: + default: 0 + title: With Mate Mapped To Different Chr Mapq5 + type: integer + title: SamtoolsFlagstatRecord + type: object + SeqvarsColumnConfigList: + type: array + title: SeqvarsColumnConfigList + items: + description: Configuration for a single column in the result table. + properties: + name: + title: Name + type: string + label: + title: Label + type: string + description: + anyOf: + - type: string + - type: 'null' + default: null + title: Description + width: + title: Width + type: integer + visible: + title: Visible + type: boolean + required: + - name + - label + - width + - visible + title: SeqvarsColumnConfig + type: object + SeqvarsGenotypeChoice: + description: Store genotype choice of a ``SampleGenotype``. + enum: + - any + - ref + - het + - hom + - non-hom + - variant + - comphet_index + - recessive_index + - recessive_parent + title: SeqvarsGenotypeChoice + type: string + SeqvarsPredefinedQuery: type: object + description: Serializer for ``PredefinedQuery``. properties: sodar_uuid: type: string + format: uuid readOnly: true - project: - type: string - readOnly: true - state: - enum: - - draft - - submitted - type: string date_created: type: string format: date-time @@ -12550,873 +8329,89 @@ components: type: string format: date-time readOnly: true - action: - enum: - - create - - update - - delete + rank: + type: integer + default: 1 + label: type: string - payload: - type: object - overwrite_terms: + maxLength: 128 + description: + type: string + nullable: true + presetssetversion: + type: string + format: uuid + readOnly: true + included_in_sop: type: boolean + default: false + genotype: + allOf: + - $ref: '#/components/schemas/SchemaField' + default: + choice: null + quality: + type: string + format: uuid + nullable: true + frequency: + type: string + format: uuid + nullable: true + consequence: + type: string + format: uuid + nullable: true + locus: + type: string + format: uuid + nullable: true + phenotypeprio: + type: string + format: uuid + nullable: true + variantprio: + type: string + format: uuid + nullable: true + clinvar: + type: string + format: uuid + nullable: true + columns: + type: string + format: uuid + nullable: true required: - - state - - payload - CaseQc: + - date_created + - date_modified + - label + - presetssetversion + - sodar_uuid + SeqvarsPrioServiceList: + type: array + title: SeqvarsPrioServiceList + items: + description: Representation of a variant pathogenicity service. + properties: + name: + title: Name + type: string + version: + title: Version + type: string + required: + - name + - version + title: SeqvarsPrioService + type: object + SeqvarsQuery: type: object + description: Serializer for ``Query``. properties: sodar_uuid: type: string - readOnly: true - case: - type: string - readOnly: true - dragen_cnvmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - required: - - metrics - readOnly: true - dragen_fragmentlengthhistograms: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - keys: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - values: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - required: - - sample - - keys - - values - readOnly: true - dragen_mappingmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_ploidyestimationmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_rohmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_vchethomratiometrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - required: - - metrics - readOnly: true - dragen_vcmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - required: - - metrics - readOnly: true - dragen_svmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - required: - - metrics - readOnly: true - dragen_timemetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_trimmermetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_wgscoveragemetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_wgscontigmeancovmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_wgsoverallmeancov: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - metrics - - sample - readOnly: true - dragen_wgsfinehist: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - keys: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - values: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - required: - - sample - - keys - - values - readOnly: true - dragen_wgshist: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - keys: - type: array - items: - type: string - values: - type: array - items: - type: number - required: - - sample - - keys - - values - readOnly: true - dragen_regioncoveragemetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - region_name: - type: string - maxLength: 200 - required: - - metrics - - sample - - region_name - readOnly: true - dragen_regionfinehist: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - keys: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - values: - type: array - items: - type: integer - maximum: 2147483647 - minimum: -2147483648 - region_name: - type: string - maxLength: 200 - required: - - sample - - keys - - values - - region_name - readOnly: true - dragen_regionhist: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - region_name: - type: string - maxLength: 200 - required: - - metrics - - sample - - region_name - readOnly: true - dragen_regionoverallmeancov: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - metrics: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - region_name: - type: string - maxLength: 200 - required: - - metrics - - sample - - region_name - readOnly: true - bcftools_statsmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - sn: - type: string - tstv: - type: string - sis: - type: string - af: - type: string - qual: - type: string - idd: - type: string - st: - type: string - dp: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - required: - - sn - - tstv - - sis - - af - - qual - - idd - - st - - dp - readOnly: true - samtools_statsmainmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - sn: - type: string - chk: - type: string - isize: - type: string - cov: - type: string - gcd: - type: string - frl: - type: string - lrl: - type: string - idd: - type: string - ffq: - type: string - lfq: - type: string - fbc: - type: string - lbc: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - sn - - chk - - isize - - cov - - gcd - - frl - - lrl - - idd - - ffq - - lfq - - fbc - - lbc - - sample - readOnly: true - samtools_statssupplementarymetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - gcf: - type: string - gcl: - type: string - gcc: - type: string - gct: - type: string - rl: - type: string - mapq: - type: string - ic: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - gcf - - gcl - - gcc - - gct - - rl - - mapq - - ic - - sample - readOnly: true - samtools_flagstatmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - qc_pass: - type: string - qc_fail: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - qc_pass - - qc_fail - - sample - readOnly: true - samtools_idxstatsmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - records: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - records - - sample - readOnly: true - cramino_metrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - summary: - type: string - chrom_counts: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - required: - - summary - - chrom_counts - - sample - readOnly: true - ngsbits_mappingqcmetrics: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - readOnly: true - caseqc: - type: string - readOnly: true - records: - type: string - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - sample: - type: string - maxLength: 200 - region_name: - type: string - maxLength: 200 - required: - - records - - sample - - region_name + format: uuid readOnly: true date_created: type: string @@ -13426,32 +8421,35 @@ components: type: string format: date-time readOnly: true - state: - enum: - - DRAFT - - ACTIVE - type: string - VarfishStats: - type: object - properties: - samples: - type: string - readstats: + rank: + type: integer + default: 1 + label: type: string - alignmentstats: + maxLength: 128 + session: type: string - seqvarstats: + format: uuid + readOnly: true + settings: type: string - strucvarstats: + format: uuid + readOnly: true + columnsconfig: type: string + format: uuid + readOnly: true required: - - samples - - readstats - - alignmentstats - - seqvarstats - - strucvarstats - CaseAnalysis: + - columnsconfig + - date_created + - date_modified + - label + - session + - settings + - sodar_uuid + SeqvarsQueryColumnsConfig: type: object + description: Serializer for ``QueryColumnsConfig``. properties: sodar_uuid: type: string @@ -13465,11 +8463,19 @@ components: type: string format: date-time readOnly: true - case: - type: string - readOnly: true - CaseAnalysisSession: + column_settings: + $ref: '#/components/schemas/SeqvarsColumnConfigList' + required: + - date_created + - date_modified + - sodar_uuid + SeqvarsQueryDetails: type: object + description: |- + Serializer for ``Query`` (for ``*-detail``). + + For retrieve, update, or delete operations, we also render the nested query settings + in detail. properties: sodar_uuid: type: string @@ -13483,17 +8489,31 @@ components: type: string format: date-time readOnly: true - caseanalysis: - type: string - readOnly: true - case: + rank: + type: integer + default: 1 + label: type: string - readOnly: true - user: + maxLength: 128 + session: type: string + format: uuid readOnly: true - QueryPresetsSet: + settings: + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' + columnsconfig: + $ref: '#/components/schemas/SeqvarsQueryColumnsConfig' + required: + - columnsconfig + - date_created + - date_modified + - label + - session + - settings + - sodar_uuid + SeqvarsQueryExecution: type: object + description: Serializer for ``QueryExecution``. properties: sodar_uuid: type: string @@ -13507,22 +8527,51 @@ components: type: string format: date-time readOnly: true - rank: + state: + allOf: + - $ref: '#/components/schemas/SeqvarsQueryExecutionStateEnum' + readOnly: true + complete_percent: type: integer - default: 1 - label: + readOnly: true + nullable: true + start_time: type: string - maxLength: 128 - description: + format: date-time + readOnly: true + nullable: true + end_time: type: string + format: date-time + readOnly: true nullable: true - project: + elapsed_seconds: + type: number + format: double + readOnly: true + nullable: true + query: + type: string + format: uuid + readOnly: true + querysettings: type: string + format: uuid readOnly: true required: - - label - QueryPresetsSetVersion: + - complete_percent + - date_created + - date_modified + - elapsed_seconds + - end_time + - query + - querysettings + - sodar_uuid + - start_time + - state + SeqvarsQueryExecutionDetails: type: object + description: Serializer for ``QueryExecution``. properties: sodar_uuid: type: string @@ -13536,47 +8585,77 @@ components: type: string format: date-time readOnly: true - presetsset: - type: string + state: + allOf: + - $ref: '#/components/schemas/SeqvarsQueryExecutionStateEnum' readOnly: true - version_major: - type: integer - default: 1 - version_minor: + complete_percent: type: integer - default: 0 - status: + readOnly: true + nullable: true + start_time: type: string - default: draft - signed_off_by: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and - @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username + format: date-time + readOnly: true + nullable: true + end_time: + type: string + format: date-time + readOnly: true + nullable: true + elapsed_seconds: + type: number + format: double + readOnly: true + nullable: true + query: + type: string + format: uuid readOnly: true - QueryPresetsSetVersionDetails: + querysettings: + $ref: '#/components/schemas/SeqvarsQuerySettingsDetails' + required: + - complete_percent + - date_created + - date_modified + - elapsed_seconds + - end_time + - query + - querysettings + - sodar_uuid + - start_time + - state + SeqvarsQueryExecutionStateEnum: + enum: + - initial + - queued + - running + - failed + - canceled + - done + type: string + description: |- + * `initial` - initial + * `queued` - queued + * `running` - running + * `failed` - failed + * `canceled` - canceled + * `done` - done + SeqvarsQueryPresetsClinvar: type: object + description: |- + Serializer for ``QueryPresetsClinvar``. + + Not used directly but used as base class. properties: + clinvar_presence_required: + type: boolean + default: false + clinvar_germline_aggregate_description: + $ref: '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + allow_conflicting_interpretations: + type: boolean + default: false sodar_uuid: type: string format: uuid @@ -13589,756 +8668,81 @@ components: type: string format: date-time readOnly: true - presetsset: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - project: - type: string - readOnly: true - required: - - label - readOnly: true - version_major: + rank: type: integer default: 1 - version_minor: - type: integer - default: 0 - status: - type: string - default: draft - signed_off_by: - type: object - properties: - username: - type: string - description: Required. 150 characters or fewer. Letters, digits and - @/./+/-/_ only. - pattern: ^[\w.@+-]+\z - maxLength: 150 - name: - type: string - maxLength: 255 - email: - type: string - format: email - maxLength: 254 - is_superuser: - type: boolean - description: Designates that this user has all permissions without explicitly - assigning them. - sodar_uuid: - type: string - readOnly: true - required: - - username - readOnly: true - querypresetsquality_set: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - filter_active: - type: boolean - default: false - min_dp_het: - type: integer - nullable: true - min_dp_hom: - type: integer - nullable: true - min_ab_het: - type: number - nullable: true - min_gq: - type: integer - nullable: true - min_ad: - type: integer - nullable: true - max_ad: - type: integer - nullable: true - required: - - label - readOnly: true - querypresetsfrequency_set: - type: array - items: - type: object - properties: - gnomad_exomes_enabled: - type: boolean - default: false - gnomad_exomes_frequency: - type: number - nullable: true - gnomad_exomes_homozygous: - type: integer - nullable: true - gnomad_exomes_heterozygous: - type: integer - nullable: true - gnomad_exomes_hemizygous: - type: boolean - nullable: true - gnomad_genomes_enabled: - type: boolean - default: false - gnomad_genomes_frequency: - type: number - nullable: true - gnomad_genomes_homozygous: - type: integer - nullable: true - gnomad_genomes_heterozygous: - type: integer - nullable: true - gnomad_genomes_hemizygous: - type: boolean - nullable: true - helixmtdb_enabled: - type: boolean - default: false - helixmtdb_heteroplasmic: - type: integer - nullable: true - helixmtdb_homoplasmic: - type: integer - nullable: true - helixmtdb_frequency: - type: number - nullable: true - inhouse_enabled: - type: boolean - default: false - inhouse_carriers: - type: integer - nullable: true - inhouse_homozygous: - type: integer - nullable: true - inhouse_heterozygous: - type: integer - nullable: true - inhouse_hemizygous: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetsconsequence_set: - type: array - items: - type: object - properties: - variant_types: - type: array - items: - $ref: '#/components/schemas/VariantTypeChoice' - transcript_types: - type: array - items: - $ref: '#/components/schemas/TranscriptTypeChoice' - variant_consequences: - type: array - items: - $ref: '#/components/schemas/VariantConsequenceChoice' - max_distance_to_exon: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetslocus_set: - type: array - items: - type: object - properties: - genes: - type: array - items: - $ref: '#/components/schemas/Gene' - gene_panels: - type: array - items: - $ref: '#/components/schemas/GenePanel' - genome_regions: - type: array - items: - $ref: '#/components/schemas/GenomeRegion' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetsphenotypeprio_set: - type: array - items: - type: object - properties: - phenotype_prio_enabled: - type: boolean - default: false - phenotype_prio_algorithm: - type: string - nullable: true - maxLength: 128 - terms: - type: array - items: - $ref: '#/components/schemas/TermPresence' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetsvariantprio_set: - type: array - items: - type: object - properties: - variant_prio_enabled: - type: boolean - default: false - services: - type: array - items: - $ref: '#/components/schemas/VariantPrioService' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetsclinvar_set: - type: array - items: - type: object - properties: - clinvar_presence_required: - type: boolean - default: false - clinvar_germline_aggregate_description: - type: array - items: - $ref: '#/components/schemas/ClinvarGermlineAggregateDescription' - allow_conflicting_interpretations: - type: boolean - default: false - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - querypresetscolumns_set: - type: array - items: - type: object - properties: - column_settings: - type: array - items: - $ref: '#/components/schemas/ColumnConfig' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - required: - - label - readOnly: true - predefinedquery_set: - type: array - items: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: - type: string - readOnly: true - included_in_sop: - type: boolean - default: false - genotype: - anyOf: - - $ref: '#/components/schemas/GenotypePresets' - - type: 'null' - quality: - type: string - nullable: true - frequency: - type: string - nullable: true - consequence: - type: string - nullable: true - locus: - type: string - nullable: true - phenotypeprio: - type: string - nullable: true - variantprio: - type: string - nullable: true - clinvar: - type: string - nullable: true - columns: - type: string - nullable: true - required: - - label - readOnly: true - TranscriptTypeChoice: - description: The type of a transcript. - enum: - - coding - - non_coding - title: TranscriptTypeChoice - type: string - VariantConsequenceChoice: - description: The variant consequence. - enum: - - frameshift_variant - - rare_amino_acid_variant - - splice_acceptor_variant - - splice_donor_variant - - start_lost - - stop_gained - - stop_lost - - 3_prime_UTR_truncation - - 5_prime_UTR_truncation - - conservative_inframe_deletion - - conservative_inframe_insertion - - disruptive_inframe_deletion - - disruptive_inframe_insertion - - missense_variant - - splice_region_variant - - initiator_codon_variant - - start_retained - - stop_retained_variant - - synonymous_variant - - downstream_gene_variant - - intron_variant - - non_coding_transcript_exon_variant - - non_coding_transcript_intron_variant - - 5_prime_UTR_variant - - coding_sequence_variant - - upstream_gene_variant - - 3_prime_UTR_variant-exon_variant - - 5_prime_UTR_variant-exon_variant - - 3_prime_UTR_variant-intron_variant - - 5_prime_UTR_variant-intron_variant - title: VariantConsequenceChoice - type: string - VariantTypeChoice: - description: The type of a variant. - enum: - - snv - - indel - - mnv - - complex_substitution - title: VariantTypeChoice - type: string - Gene: - description: Representation of a gene to query for. - properties: - hgnc_id: - title: Hgnc Id - type: string - symbol: - title: Symbol + label: type: string - name: - anyOf: - - type: string - - type: 'null' - default: null - title: Name - entrez_id: - anyOf: - - type: integer - - type: 'null' - default: null - title: Entrez Id - ensembl_id: - anyOf: - - type: string - - type: 'null' - default: null - title: Ensembl Id - required: - - hgnc_id - - symbol - title: Gene - type: object - GenePanelSource: - description: The source of a gene panel. - enum: - - panelapp - - internal - title: GenePanelSource - type: string - GenomeRegion: - description: Representation of a genomic region to query for. - properties: - chromosome: - title: Chromosome + maxLength: 128 + description: type: string - range: - anyOf: - - $ref: '#/components/schemas/OneBasedRange' - - type: 'null' - default: null - required: - - chromosome - title: GenomeRegion - type: object - OneBasedRange: - description: Representation of a 1-based range. - properties: - start: - title: Start - type: integer - end: - title: End - type: integer - required: - - start - - end - title: OneBasedRange - type: object - Term: - description: Representation of a condition (phenotype / disease) term. - properties: - term_id: - title: Term Id + nullable: true + presetssetversion: type: string - label: - anyOf: - - type: string - - type: 'null' - title: Label + format: uuid + readOnly: true required: - - term_id + - date_created + - date_modified - label - title: Term - type: object - TermPresence: - description: Representation of a term with optional presence (default is not - excluded). - properties: - term: - $ref: '#/components/schemas/Term' - excluded: - anyOf: - - type: boolean - - type: 'null' - default: null - title: Excluded - required: - - term - title: TermPresence + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsColumns: type: object - VariantPrioService: - description: Representation of a variant pathogenicity service. + description: |- + Serializer for ``QueryPresetsColumns``. + + Not used directly but used as base class. properties: - name: - title: Name - type: string - version: - title: Version + column_settings: + $ref: '#/components/schemas/SeqvarsColumnConfigList' + sodar_uuid: type: string - required: - - name - - version - title: VariantPrioService - type: object - ClinvarGermlineAggregateDescription: - description: The aggregate description for germline variants in ClinVar. - enum: - - pathogenic - - likely_pathogenic - - uncertain_significance - - likely_benign - - benign - title: ClinvarGermlineAggregateDescription - type: string - ColumnConfig: - description: Configuration for a single column in the result table. - properties: - name: - title: Name + format: uuid + readOnly: true + date_created: type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + rank: + type: integer + default: 1 label: - title: Label type: string + maxLength: 128 description: - anyOf: - - type: string - - type: 'null' - default: null - title: Description - width: - title: Width - type: integer - visible: - title: Visible - type: boolean + type: string + nullable: true + presetssetversion: + type: string + format: uuid + readOnly: true required: - - name + - date_created + - date_modified - label - - width - - visible - title: ColumnConfig - type: object - GenotypePresetChoice: - description: Presets value for the chosen genotype. - enum: - - any - - de_novo - - dominant - - homozygous_recessive - - compound_heterozygous_recessive - - recessive - - x_recessive - - affected_carriers - title: GenotypePresetChoice - type: string - GenotypePresets: - description: Configuration for a single column in the result table. - properties: - choice: - anyOf: - - $ref: '#/components/schemas/GenotypePresetChoice' - - type: 'null' - default: null - title: GenotypePresets - type: object - QueryPresetsQuality: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsConsequence: type: object + description: |- + Serializer for ``QueryPresetsConsequence``. + + Not used directly but used as base class. properties: + variant_types: + $ref: '#/components/schemas/SeqvarsVariantTypeChoiceList' + transcript_types: + $ref: '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + variant_consequences: + $ref: '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + max_distance_to_exon: + type: integer + nullable: true sodar_uuid: type: string format: uuid @@ -14362,38 +8766,27 @@ components: nullable: true presetssetversion: type: string + format: uuid readOnly: true - filter_active: - type: boolean - default: false - min_dp_het: - type: integer - nullable: true - min_dp_hom: - type: integer - nullable: true - min_ab_het: - type: number - nullable: true - min_gq: - type: integer - nullable: true - min_ad: - type: integer - nullable: true - max_ad: - type: integer - nullable: true required: + - date_created + - date_modified - label - QueryPresetsFrequency: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsFrequency: type: object + description: |- + Serializer for ``QueryPresetsFrequency``. + + Not used directly but used as base class. properties: gnomad_exomes_enabled: type: boolean default: false gnomad_exomes_frequency: type: number + format: double nullable: true gnomad_exomes_homozygous: type: integer @@ -14409,6 +8802,7 @@ components: default: false gnomad_genomes_frequency: type: number + format: double nullable: true gnomad_genomes_homozygous: type: integer @@ -14430,6 +8824,7 @@ components: nullable: true helixmtdb_frequency: type: number + format: double nullable: true inhouse_enabled: type: boolean @@ -14469,27 +8864,27 @@ components: nullable: true presetssetversion: type: string + format: uuid readOnly: true required: + - date_created + - date_modified - label - QueryPresetsConsequence: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsLocus: type: object + description: |- + Serializer for ``QueryPresetsLocus``. + + Not used directly but used as base class. properties: - variant_types: - type: array - items: - $ref: '#/components/schemas/VariantTypeChoice' - transcript_types: - type: array - items: - $ref: '#/components/schemas/TranscriptTypeChoice' - variant_consequences: - type: array - items: - $ref: '#/components/schemas/VariantConsequenceChoice' - max_distance_to_exon: - type: integer - nullable: true + genes: + $ref: '#/components/schemas/GeneList' + gene_panels: + $ref: '#/components/schemas/GenePanelList' + genome_regions: + $ref: '#/components/schemas/GenomeRegionList' sodar_uuid: type: string format: uuid @@ -14513,24 +8908,30 @@ components: nullable: true presetssetversion: type: string + format: uuid readOnly: true required: + - date_created + - date_modified - label - QueryPresetsLocus: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsPhenotypePrio: type: object + description: |- + Serializer for ``QueryPresetsPhenotypePrio``. + + Not used directly but used as base class. properties: - genes: - type: array - items: - $ref: '#/components/schemas/Gene' - gene_panels: - type: array - items: - $ref: '#/components/schemas/GenePanel' - genome_regions: - type: array - items: - $ref: '#/components/schemas/GenomeRegion' + phenotype_prio_enabled: + type: boolean + default: false + phenotype_prio_algorithm: + type: string + nullable: true + maxLength: 128 + terms: + $ref: '#/components/schemas/TermPresenceList' sodar_uuid: type: string format: uuid @@ -14554,23 +8955,21 @@ components: nullable: true presetssetversion: type: string + format: uuid readOnly: true required: + - date_created + - date_modified - label - QueryPresetsPhenotypePrio: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsQuality: type: object + description: |- + Serializer for ``QueryPresetsQuality``. + + Not used directly but used as base class. properties: - phenotype_prio_enabled: - type: boolean - default: false - phenotype_prio_algorithm: - type: string - nullable: true - maxLength: 128 - terms: - type: array - items: - $ref: '#/components/schemas/TermPresence' sodar_uuid: type: string format: uuid @@ -14594,19 +8993,40 @@ components: nullable: true presetssetversion: type: string + format: uuid readOnly: true + filter_active: + type: boolean + default: false + min_dp_het: + type: integer + nullable: true + min_dp_hom: + type: integer + nullable: true + min_ab_het: + type: number + format: double + nullable: true + min_gq: + type: integer + nullable: true + min_ad: + type: integer + nullable: true + max_ad: + type: integer + nullable: true required: + - date_created + - date_modified - label - QueryPresetsVariantPrio: + - presetssetversion + - sodar_uuid + SeqvarsQueryPresetsSet: type: object + description: Serializer for ``QueryPresetsSet``. properties: - variant_prio_enabled: - type: boolean - default: false - services: - type: array - items: - $ref: '#/components/schemas/VariantPrioService' sodar_uuid: type: string format: uuid @@ -14628,24 +9048,21 @@ components: description: type: string nullable: true - presetssetversion: + project: type: string + format: uuid + description: Project SODAR UUID readOnly: true required: + - date_created + - date_modified - label - QueryPresetsClinvar: + - project + - sodar_uuid + SeqvarsQueryPresetsSetDetails: type: object + description: Serializer for ``QueryPresetsSet`` that renders all nested versions. properties: - clinvar_presence_required: - type: boolean - default: false - clinvar_germline_aggregate_description: - type: array - items: - $ref: '#/components/schemas/ClinvarGermlineAggregateDescription' - allow_conflicting_interpretations: - type: boolean - default: false sodar_uuid: type: string format: uuid @@ -14667,18 +9084,27 @@ components: description: type: string nullable: true - presetssetversion: + project: type: string + format: uuid + description: Project SODAR UUID + readOnly: true + versions: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsSetVersionDetails' readOnly: true required: + - date_created + - date_modified - label - QueryPresetsColumns: + - project + - sodar_uuid + - versions + SeqvarsQueryPresetsSetVersion: type: object + description: Serializer for ``QueryPresetsSetVersion``. properties: - column_settings: - type: array - items: - $ref: '#/components/schemas/ColumnConfig' sodar_uuid: type: string format: uuid @@ -14691,22 +9117,36 @@ components: type: string format: date-time readOnly: true - rank: + presetsset: + type: string + format: uuid + readOnly: true + version_major: type: integer default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: + version_minor: + type: integer + default: 0 + status: type: string + default: draft + signed_off_by: + allOf: + - $ref: '#/components/schemas/SODARUser' readOnly: true required: - - label - PredefinedQuery: + - date_created + - date_modified + - presetsset + - signed_off_by + - sodar_uuid + SeqvarsQueryPresetsSetVersionDetails: type: object + description: |- + Serializer for ``QueryPresetsSetVersion`` (for ``*-detail``). + + When retrieving the details of a seqvar query preset set version, we also render the + owned records as well as the presetsset. properties: sodar_uuid: type: string @@ -14720,53 +9160,129 @@ components: type: string format: date-time readOnly: true - rank: + presetsset: + allOf: + - $ref: '#/components/schemas/SeqvarsQueryPresetsSet' + readOnly: true + version_major: type: integer default: 1 - label: - type: string - maxLength: 128 - description: - type: string - nullable: true - presetssetversion: + version_minor: + type: integer + default: 0 + status: type: string + default: draft + signed_off_by: + allOf: + - $ref: '#/components/schemas/SODARUser' readOnly: true - included_in_sop: + seqvarsquerypresetsquality_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsQuality' + readOnly: true + seqvarsquerypresetsfrequency_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsFrequency' + readOnly: true + seqvarsquerypresetsconsequence_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsConsequence' + readOnly: true + seqvarsquerypresetslocus_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsLocus' + readOnly: true + seqvarsquerypresetsphenotypeprio_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + readOnly: true + seqvarsquerypresetsvariantprio_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + readOnly: true + seqvarsquerypresetsclinvar_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsClinvar' + readOnly: true + seqvarsquerypresetscolumns_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsQueryPresetsColumns' + readOnly: true + seqvarspredefinedquery_set: + type: array + items: + $ref: '#/components/schemas/SeqvarsPredefinedQuery' + readOnly: true + required: + - date_created + - date_modified + - presetsset + - seqvarspredefinedquery_set + - seqvarsquerypresetsclinvar_set + - seqvarsquerypresetscolumns_set + - seqvarsquerypresetsconsequence_set + - seqvarsquerypresetsfrequency_set + - seqvarsquerypresetslocus_set + - seqvarsquerypresetsphenotypeprio_set + - seqvarsquerypresetsquality_set + - seqvarsquerypresetsvariantprio_set + - signed_off_by + - sodar_uuid + SeqvarsQueryPresetsVariantPrio: + type: object + description: |- + Serializer for ``QueryPresetsVariantPrio``. + + Not used directly but used as base class. + properties: + variant_prio_enabled: type: boolean default: false - genotype: - anyOf: - - $ref: '#/components/schemas/GenotypePresets' - - type: 'null' - quality: - type: string - nullable: true - frequency: - type: string - nullable: true - consequence: - type: string - nullable: true - locus: + services: + $ref: '#/components/schemas/SeqvarsPrioServiceList' + sodar_uuid: type: string - nullable: true - phenotypeprio: + format: uuid + readOnly: true + date_created: type: string - nullable: true - variantprio: + format: date-time + readOnly: true + date_modified: type: string - nullable: true - clinvar: + format: date-time + readOnly: true + rank: + type: integer + default: 1 + label: type: string - nullable: true - columns: + maxLength: 128 + description: type: string nullable: true + presetssetversion: + type: string + format: uuid + readOnly: true required: + - date_created + - date_modified - label - QuerySettings: + - presetssetversion + - sodar_uuid + SeqvarsQuerySettings: type: object + description: Serializer for ``QuerySettings``. properties: sodar_uuid: type: string @@ -14782,36 +9298,132 @@ components: readOnly: true session: type: string + format: uuid readOnly: true presetssetversion: type: string + format: uuid readOnly: true genotype: type: string + format: uuid readOnly: true quality: type: string + format: uuid readOnly: true consequence: type: string + format: uuid readOnly: true locus: type: string + format: uuid readOnly: true frequency: type: string + format: uuid readOnly: true phenotypeprio: type: string + format: uuid readOnly: true variantprio: type: string + format: uuid readOnly: true clinvar: type: string + format: uuid + readOnly: true + required: + - clinvar + - consequence + - date_created + - date_modified + - frequency + - genotype + - locus + - phenotypeprio + - presetssetversion + - quality + - session + - sodar_uuid + - variantprio + SeqvarsQuerySettingsClinvar: + type: object + description: Serializer for ``QuerySettingsClinvar``. + properties: + clinvar_presence_required: + type: boolean + default: false + clinvar_germline_aggregate_description: + $ref: '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + allow_conflicting_interpretations: + type: boolean + default: false + sodar_uuid: + type: string + format: uuid + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + querysettings: + type: string + format: uuid + readOnly: true + required: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsConsequence: + type: object + description: Serializer for ``QuerySettingsConsequence``. + properties: + variant_types: + $ref: '#/components/schemas/SeqvarsVariantTypeChoiceList' + transcript_types: + $ref: '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + variant_consequences: + $ref: '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + max_distance_to_exon: + type: integer + nullable: true + sodar_uuid: + type: string + format: uuid + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + querysettings: + type: string + format: uuid readOnly: true - QuerySettingsDetails: + required: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsDetails: type: object + description: |- + Serializer for ``QuerySettings`` (for ``*-detail``). + + For retrieve, update, or delete operations, we also render the nested + owned category settings. properties: sodar_uuid: type: string @@ -14827,363 +9439,106 @@ components: readOnly: true session: type: string + format: uuid readOnly: true presetssetversion: type: string + format: uuid readOnly: true genotype: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_genotype_choices: - type: array - items: - $ref: '#/components/schemas/SampleGenotypeChoice' + $ref: '#/components/schemas/SeqvarsQuerySettingsGenotype' quality: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_quality_filters: - type: array - items: - $ref: '#/components/schemas/SampleQualityFilter' + $ref: '#/components/schemas/SeqvarsQuerySettingsQuality' consequence: - type: object - properties: - variant_types: - type: array - items: - $ref: '#/components/schemas/VariantTypeChoice' - transcript_types: - type: array - items: - $ref: '#/components/schemas/TranscriptTypeChoice' - variant_consequences: - type: array - items: - $ref: '#/components/schemas/VariantConsequenceChoice' - max_distance_to_exon: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsConsequence' locus: - type: object - properties: - genes: - type: array - items: - $ref: '#/components/schemas/Gene' - gene_panels: - type: array - items: - $ref: '#/components/schemas/GenePanel' - genome_regions: - type: array - items: - $ref: '#/components/schemas/GenomeRegion' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsLocus' frequency: - type: object - properties: - gnomad_exomes_enabled: - type: boolean - default: false - gnomad_exomes_frequency: - type: number - nullable: true - gnomad_exomes_homozygous: - type: integer - nullable: true - gnomad_exomes_heterozygous: - type: integer - nullable: true - gnomad_exomes_hemizygous: - type: boolean - nullable: true - gnomad_genomes_enabled: - type: boolean - default: false - gnomad_genomes_frequency: - type: number - nullable: true - gnomad_genomes_homozygous: - type: integer - nullable: true - gnomad_genomes_heterozygous: - type: integer - nullable: true - gnomad_genomes_hemizygous: - type: boolean - nullable: true - helixmtdb_enabled: - type: boolean - default: false - helixmtdb_heteroplasmic: - type: integer - nullable: true - helixmtdb_homoplasmic: - type: integer - nullable: true - helixmtdb_frequency: - type: number - nullable: true - inhouse_enabled: - type: boolean - default: false - inhouse_carriers: - type: integer - nullable: true - inhouse_homozygous: - type: integer - nullable: true - inhouse_heterozygous: - type: integer - nullable: true - inhouse_hemizygous: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsFrequency' phenotypeprio: - type: object - properties: - phenotype_prio_enabled: - type: boolean - default: false - phenotype_prio_algorithm: - type: string - nullable: true - maxLength: 128 - terms: - type: array - items: - $ref: '#/components/schemas/TermPresence' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsPhenotypePrio' variantprio: - type: object - properties: - variant_prio_enabled: - type: boolean - default: false - services: - type: array - items: - $ref: '#/components/schemas/VariantPrioService' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsVariantPrio' clinvar: - type: object - properties: - clinvar_presence_required: - type: boolean - default: false - clinvar_germline_aggregate_description: - type: array - items: - $ref: '#/components/schemas/ClinvarGermlineAggregateDescription' - allow_conflicting_interpretations: - type: boolean - default: false - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true + $ref: '#/components/schemas/SeqvarsQuerySettingsClinvar' required: - - genotype - - quality + - clinvar - consequence - - locus + - date_created + - date_modified - frequency + - genotype + - locus - phenotypeprio + - presetssetversion + - quality + - session + - sodar_uuid - variantprio - - clinvar - GenotypeChoice: - description: Store genotype choice of a ``SampleGenotype``. - enum: - - any - - ref - - het - - hom - - non-hom - - variant - - comphet_index - - recessive_index - - recessive_parent - title: GenotypeChoice - type: string - SampleGenotypeChoice: - description: Store the genotype of a sample. - properties: - sample: - title: Sample - type: string - genotype: - $ref: '#/components/schemas/GenotypeChoice' - required: - - sample - - genotype - title: SampleGenotypeChoice + SeqvarsQuerySettingsFrequency: type: object - SampleQualityFilter: - description: Stores per-sample quality filter settings for a particular query. + description: Serializer for ``QuerySettingsFrequency``. properties: - sample: - title: Sample - type: string - filter_active: + gnomad_exomes_enabled: + type: boolean default: false - title: Filter Active + gnomad_exomes_frequency: + type: number + format: double + nullable: true + gnomad_exomes_homozygous: + type: integer + nullable: true + gnomad_exomes_heterozygous: + type: integer + nullable: true + gnomad_exomes_hemizygous: type: boolean - min_dp_het: - anyOf: - - type: integer - - type: 'null' - default: null - title: Min Dp Het - min_dp_hom: - anyOf: - - type: integer - - type: 'null' - default: null - title: Min Dp Hom - min_ab_het: - anyOf: - - type: number - - type: 'null' - default: null - title: Min Ab Het - min_gq: - anyOf: - - type: integer - - type: 'null' - default: null - title: Min Gq - min_ad: - anyOf: - - type: integer - - type: 'null' - default: null - title: Min Ad - max_ad: - anyOf: - - type: integer - - type: 'null' - default: null - title: Max Ad - required: - - sample - title: SampleQualityFilter - type: object - Query: - type: object - properties: + nullable: true + gnomad_genomes_enabled: + type: boolean + default: false + gnomad_genomes_frequency: + type: number + format: double + nullable: true + gnomad_genomes_homozygous: + type: integer + nullable: true + gnomad_genomes_heterozygous: + type: integer + nullable: true + gnomad_genomes_hemizygous: + type: boolean + nullable: true + helixmtdb_enabled: + type: boolean + default: false + helixmtdb_heteroplasmic: + type: integer + nullable: true + helixmtdb_homoplasmic: + type: integer + nullable: true + helixmtdb_frequency: + type: number + format: double + nullable: true + inhouse_enabled: + type: boolean + default: false + inhouse_carriers: + type: integer + nullable: true + inhouse_homozygous: + type: integer + nullable: true + inhouse_heterozygous: + type: integer + nullable: true + inhouse_hemizygous: + type: integer + nullable: true sodar_uuid: type: string format: uuid @@ -15196,25 +9551,18 @@ components: type: string format: date-time readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - session: - type: string - readOnly: true - settings: - type: string - readOnly: true - columnsconfig: + querysettings: type: string + format: uuid readOnly: true required: - - label - QueryDetails: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsGenotype: type: object + description: Serializer for ``QuerySettingsGenotype``. properties: sodar_uuid: type: string @@ -15228,335 +9576,27 @@ components: type: string format: date-time readOnly: true - rank: - type: integer - default: 1 - label: - type: string - maxLength: 128 - session: + querysettings: type: string + format: uuid readOnly: true - settings: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - session: - type: string - readOnly: true - presetssetversion: - type: string - readOnly: true - genotype: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_genotype_choices: - type: array - items: - $ref: '#/components/schemas/SampleGenotypeChoice' - quality: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_quality_filters: - type: array - items: - $ref: '#/components/schemas/SampleQualityFilter' - consequence: - type: object - properties: - variant_types: - type: array - items: - $ref: '#/components/schemas/VariantTypeChoice' - transcript_types: - type: array - items: - $ref: '#/components/schemas/TranscriptTypeChoice' - variant_consequences: - type: array - items: - $ref: '#/components/schemas/VariantConsequenceChoice' - max_distance_to_exon: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - locus: - type: object - properties: - genes: - type: array - items: - $ref: '#/components/schemas/Gene' - gene_panels: - type: array - items: - $ref: '#/components/schemas/GenePanel' - genome_regions: - type: array - items: - $ref: '#/components/schemas/GenomeRegion' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - frequency: - type: object - properties: - gnomad_exomes_enabled: - type: boolean - default: false - gnomad_exomes_frequency: - type: number - nullable: true - gnomad_exomes_homozygous: - type: integer - nullable: true - gnomad_exomes_heterozygous: - type: integer - nullable: true - gnomad_exomes_hemizygous: - type: boolean - nullable: true - gnomad_genomes_enabled: - type: boolean - default: false - gnomad_genomes_frequency: - type: number - nullable: true - gnomad_genomes_homozygous: - type: integer - nullable: true - gnomad_genomes_heterozygous: - type: integer - nullable: true - gnomad_genomes_hemizygous: - type: boolean - nullable: true - helixmtdb_enabled: - type: boolean - default: false - helixmtdb_heteroplasmic: - type: integer - nullable: true - helixmtdb_homoplasmic: - type: integer - nullable: true - helixmtdb_frequency: - type: number - nullable: true - inhouse_enabled: - type: boolean - default: false - inhouse_carriers: - type: integer - nullable: true - inhouse_homozygous: - type: integer - nullable: true - inhouse_heterozygous: - type: integer - nullable: true - inhouse_hemizygous: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - phenotypeprio: - type: object - properties: - phenotype_prio_enabled: - type: boolean - default: false - phenotype_prio_algorithm: - type: string - nullable: true - maxLength: 128 - terms: - type: array - items: - $ref: '#/components/schemas/TermPresence' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - variantprio: - type: object - properties: - variant_prio_enabled: - type: boolean - default: false - services: - type: array - items: - $ref: '#/components/schemas/VariantPrioService' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - clinvar: - type: object - properties: - clinvar_presence_required: - type: boolean - default: false - clinvar_germline_aggregate_description: - type: array - items: - $ref: '#/components/schemas/ClinvarGermlineAggregateDescription' - allow_conflicting_interpretations: - type: boolean - default: false - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - required: - - genotype - - quality - - consequence - - locus - - frequency - - phenotypeprio - - variantprio - - clinvar - columnsconfig: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - column_settings: - type: array - items: - $ref: '#/components/schemas/ColumnConfig' + sample_genotype_choices: + $ref: '#/components/schemas/SeqvarsSampleGenotypeChoiceList' required: - - label - - settings - - columnsconfig - QueryExecution: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsLocus: type: object + description: Serializer for ``QuerySettingsLocus``. properties: + genes: + $ref: '#/components/schemas/GeneList' + gene_panels: + $ref: '#/components/schemas/GenePanelList' + genome_regions: + $ref: '#/components/schemas/GenomeRegionList' sodar_uuid: type: string format: uuid @@ -15569,42 +9609,52 @@ components: type: string format: date-time readOnly: true - state: - enum: - - initial - - queued - - running - - failed - - canceled - - done + querysettings: type: string + format: uuid readOnly: true - complete_percent: - type: integer - readOnly: true + required: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsPhenotypePrio: + type: object + description: Serializer for ``QuerySettingsPhenotypePrio``. + properties: + phenotype_prio_enabled: + type: boolean + default: false + phenotype_prio_algorithm: + type: string nullable: true - start_time: + maxLength: 128 + terms: + $ref: '#/components/schemas/TermPresenceList' + sodar_uuid: type: string - format: date-time + format: uuid readOnly: true - nullable: true - end_time: + date_created: type: string format: date-time readOnly: true - nullable: true - elapsed_seconds: - type: number - readOnly: true - nullable: true - query: + date_modified: type: string + format: date-time readOnly: true querysettings: type: string + format: uuid readOnly: true - QueryExecutionDetails: + required: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsQuerySettingsQuality: type: object + description: Serializer for ``QuerySettingsQuality``. properties: sodar_uuid: type: string @@ -15618,336 +9668,26 @@ components: type: string format: date-time readOnly: true - state: - enum: - - initial - - queued - - running - - failed - - canceled - - done - type: string - readOnly: true - complete_percent: - type: integer - readOnly: true - nullable: true - start_time: - type: string - format: date-time - readOnly: true - nullable: true - end_time: - type: string - format: date-time - readOnly: true - nullable: true - elapsed_seconds: - type: number - readOnly: true - nullable: true - query: + querysettings: type: string + format: uuid readOnly: true - querysettings: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - session: - type: string - readOnly: true - presetssetversion: - type: string - readOnly: true - genotype: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_genotype_choices: - type: array - items: - $ref: '#/components/schemas/SampleGenotypeChoice' - quality: - type: object - properties: - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - sample_quality_filters: - type: array - items: - $ref: '#/components/schemas/SampleQualityFilter' - consequence: - type: object - properties: - variant_types: - type: array - items: - $ref: '#/components/schemas/VariantTypeChoice' - transcript_types: - type: array - items: - $ref: '#/components/schemas/TranscriptTypeChoice' - variant_consequences: - type: array - items: - $ref: '#/components/schemas/VariantConsequenceChoice' - max_distance_to_exon: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - locus: - type: object - properties: - genes: - type: array - items: - $ref: '#/components/schemas/Gene' - gene_panels: - type: array - items: - $ref: '#/components/schemas/GenePanel' - genome_regions: - type: array - items: - $ref: '#/components/schemas/GenomeRegion' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - frequency: - type: object - properties: - gnomad_exomes_enabled: - type: boolean - default: false - gnomad_exomes_frequency: - type: number - nullable: true - gnomad_exomes_homozygous: - type: integer - nullable: true - gnomad_exomes_heterozygous: - type: integer - nullable: true - gnomad_exomes_hemizygous: - type: boolean - nullable: true - gnomad_genomes_enabled: - type: boolean - default: false - gnomad_genomes_frequency: - type: number - nullable: true - gnomad_genomes_homozygous: - type: integer - nullable: true - gnomad_genomes_heterozygous: - type: integer - nullable: true - gnomad_genomes_hemizygous: - type: boolean - nullable: true - helixmtdb_enabled: - type: boolean - default: false - helixmtdb_heteroplasmic: - type: integer - nullable: true - helixmtdb_homoplasmic: - type: integer - nullable: true - helixmtdb_frequency: - type: number - nullable: true - inhouse_enabled: - type: boolean - default: false - inhouse_carriers: - type: integer - nullable: true - inhouse_homozygous: - type: integer - nullable: true - inhouse_heterozygous: - type: integer - nullable: true - inhouse_hemizygous: - type: integer - nullable: true - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - phenotypeprio: - type: object - properties: - phenotype_prio_enabled: - type: boolean - default: false - phenotype_prio_algorithm: - type: string - nullable: true - maxLength: 128 - terms: - type: array - items: - $ref: '#/components/schemas/TermPresence' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - variantprio: - type: object - properties: - variant_prio_enabled: - type: boolean - default: false - services: - type: array - items: - $ref: '#/components/schemas/VariantPrioService' - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - clinvar: - type: object - properties: - clinvar_presence_required: - type: boolean - default: false - clinvar_germline_aggregate_description: - type: array - items: - $ref: '#/components/schemas/ClinvarGermlineAggregateDescription' - allow_conflicting_interpretations: - type: boolean - default: false - sodar_uuid: - type: string - format: uuid - readOnly: true - date_created: - type: string - format: date-time - readOnly: true - date_modified: - type: string - format: date-time - readOnly: true - querysettings: - type: string - readOnly: true - required: - - genotype - - quality - - consequence - - locus - - frequency - - phenotypeprio - - variantprio - - clinvar + sample_quality_filters: + $ref: '#/components/schemas/SeqvarsSampleQualityFilterList' required: + - date_created + - date_modified - querysettings - ResultSet: + - sodar_uuid + SeqvarsQuerySettingsVariantPrio: type: object + description: Serializer for ``QuerySettingsVariantPrio``. properties: + variant_prio_enabled: + type: boolean + default: false + services: + $ref: '#/components/schemas/SeqvarsPrioServiceList' sodar_uuid: type: string format: uuid @@ -15960,41 +9700,18 @@ components: type: string format: date-time readOnly: true - queryexecution: + querysettings: type: string + format: uuid readOnly: true - datasource_infos: - $ref: '#/components/schemas/DataSourceInfos' - required: - - datasource_infos - DataSourceInfo: - description: Describes the version version of a given datasource. - properties: - name: - title: Name - type: string - version: - title: Version - type: string - required: - - name - - version - title: DataSourceInfo - type: object - DataSourceInfos: - description: Container for ``DataSourceInfo`` records. - properties: - infos: - items: - $ref: '#/components/schemas/DataSourceInfo' - title: Infos - type: array required: - - infos - title: DataSourceInfos - type: object - ResultRow: + - date_created + - date_modified + - querysettings + - sodar_uuid + SeqvarsResultRow: type: object + description: Serializer for ``ResultRow``. properties: sodar_uuid: type: string @@ -16002,6 +9719,7 @@ components: readOnly: true resultset: type: string + format: uuid readOnly: true release: type: string @@ -16025,32 +9743,304 @@ components: type: string readOnly: true payload: - $ref: '#/components/schemas/ResultRowPayload' + $ref: '#/components/schemas/SchemaField' required: + - alternative + - chromosome + - chromosome_no - payload - ResultRowPayload: - description: Payload for one result row of a seqvar query. + - reference + - release + - resultset + - sodar_uuid + - start + - stop + SeqvarsResultSet: + type: object + description: Serializer for ``ResultSet``. properties: - foo: - title: Foo - type: integer + sodar_uuid: + type: string + format: uuid + readOnly: true + date_created: + type: string + format: date-time + readOnly: true + date_modified: + type: string + format: date-time + readOnly: true + queryexecution: + type: string + format: uuid + readOnly: true + datasource_infos: + $ref: '#/components/schemas/SchemaField' required: - - foo - title: ResultRowPayload - type: object - RoleAssignment: + - datasource_infos + - date_created + - date_modified + - queryexecution + - sodar_uuid + SeqvarsSampleGenotypeChoiceList: + type: array + title: SeqvarsSampleGenotypeChoiceList + items: + description: Store the genotype of a sample. + properties: + sample: + title: Sample + type: string + genotype: + $ref: '#/components/schemas/SeqvarsGenotypeChoice' + required: + - sample + - genotype + title: SeqvarsSampleGenotypeChoice + type: object + SeqvarsSampleQualityFilterList: + type: array + title: SeqvarsSampleQualityFilterList + items: + description: Stores per-sample quality filter settings for a particular query. + properties: + sample: + title: Sample + type: string + filter_active: + default: false + title: Filter Active + type: boolean + min_dp_het: + anyOf: + - type: integer + - type: 'null' + default: null + title: Min Dp Het + min_dp_hom: + anyOf: + - type: integer + - type: 'null' + default: null + title: Min Dp Hom + min_ab_het: + anyOf: + - type: number + - type: 'null' + default: null + title: Min Ab Het + min_gq: + anyOf: + - type: integer + - type: 'null' + default: null + title: Min Gq + min_ad: + anyOf: + - type: integer + - type: 'null' + default: null + title: Min Ad + max_ad: + anyOf: + - type: integer + - type: 'null' + default: null + title: Max Ad + required: + - sample + title: SeqvarsSampleQualityFilter + type: object + SeqvarsTranscriptTypeChoiceList: + type: array + title: SeqvarsTranscriptTypeChoiceList + items: + type: string + title: SeqvarsTranscriptTypeChoice + enum: + - coding + - non_coding + SeqvarsVariantConsequenceChoiceList: + type: array + title: SeqvarsVariantConsequenceChoiceList + items: + type: string + title: SeqvarsVariantConsequenceChoice + enum: + - frameshift_variant + - rare_amino_acid_variant + - splice_acceptor_variant + - splice_donor_variant + - start_lost + - stop_gained + - stop_lost + - 3_prime_UTR_truncation + - 5_prime_UTR_truncation + - conservative_inframe_deletion + - conservative_inframe_insertion + - disruptive_inframe_deletion + - disruptive_inframe_insertion + - missense_variant + - splice_region_variant + - initiator_codon_variant + - start_retained + - stop_retained_variant + - synonymous_variant + - downstream_gene_variant + - intron_variant + - non_coding_transcript_exon_variant + - non_coding_transcript_intron_variant + - 5_prime_UTR_variant + - coding_sequence_variant + - upstream_gene_variant + - 3_prime_UTR_variant-exon_variant + - 5_prime_UTR_variant-exon_variant + - 3_prime_UTR_variant-intron_variant + - 5_prime_UTR_variant-intron_variant + SeqvarsVariantTypeChoiceList: + type: array + title: SeqvarsVariantTypeChoiceList + items: + type: string + title: SeqvarsVariantTypeChoice + enum: + - snv + - indel + - mnv + - complex_substitution + SvAnnotationReleaseInfo: type: object + description: Base serializer for any SODAR model with a sodar_uuid field properties: - project: + genomebuild: type: string readOnly: true - role: + table: type: string - user: + readOnly: true + timestamp: + type: string + format: date-time + readOnly: true + release: type: string + readOnly: true + required: + - genomebuild + - release + - table + - timestamp + TargetBedFile: + type: object + description: Serializer for ``TargetBedFile``. + properties: sodar_uuid: type: string readOnly: true + date_created: + type: string + format: date-time + readOnly: true + description: DateTime of creation + date_modified: + type: string + format: date-time + readOnly: true + description: DateTime of last modification + enrichmentkit: + type: string + format: uuid + description: Record SODAR UUID + readOnly: true + file_uri: + type: string + description: The file's URI. + maxLength: 512 + genome_release: + allOf: + - $ref: '#/components/schemas/GenomeReleaseEnum' + default: grch37 + description: |- + The file's reference genome. + + * `grch37` - GRCh37 + * `grch38` - GRCh38 required: - - role - - user + - date_created + - date_modified + - enrichmentkit + - file_uri + - sodar_uuid + Term: + description: Representation of a condition (phenotype / disease) term. + properties: + term_id: + title: Term Id + type: string + label: + anyOf: + - type: string + - type: 'null' + title: Label + required: + - term_id + - label + title: Term + type: object + TermPresenceList: + type: array + title: TermPresenceList + items: + description: Representation of a term with optional presence (default is not + excluded). + properties: + term: + $ref: '#/components/schemas/Term' + excluded: + anyOf: + - type: boolean + - type: 'null' + default: null + title: Excluded + required: + - term + title: TermPresence + type: object + VarfishStats: + type: object + description: Serializer for common-denominator stats objects + properties: + samples: + $ref: '#/components/schemas/strList' + readstats: + $ref: '#/components/schemas/SampleReadStatsList' + alignmentstats: + $ref: '#/components/schemas/SampleAlignmentStatsList' + seqvarstats: + $ref: '#/components/schemas/SampleSeqvarStatsList' + strucvarstats: + $ref: '#/components/schemas/SampleStrucvarStatsList' + required: + - alignmentstats + - readstats + - samples + - seqvarstats + - strucvarstats + strList: + type: array + items: + type: string + securitySchemes: + basicAuth: + type: http + scheme: basic + cookieAuth: + type: apiKey + in: cookie + name: sessionid + knoxApiToken: + type: apiKey + in: header + name: Authorization + description: Token-based authentication with required prefix "Token" diff --git a/backend/varfish/users/management/commands/initdev.py b/backend/varfish/users/management/commands/initdev.py index 805485380..d8a7b2d6b 100644 --- a/backend/varfish/users/management/commands/initdev.py +++ b/backend/varfish/users/management/commands/initdev.py @@ -44,7 +44,7 @@ def add_arguments(self, parser): ) parser.add_argument("--case-name", help="Name of the case to use.", default="DevCase") parser.add_argument( - "--reset-password", help="Reset password for users.", action="store_true", defaut=False + "--reset-password", help="Reset password for users.", action="store_true", default=False ) @transaction.atomic diff --git a/frontend/.gitignore b/frontend/.gitignore index fe7af6f55..8fe425b2e 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1,6 +1,7 @@ /components.d.ts !/src +!/ext/varfish-api/src/lib /static /webpack-stats.json diff --git a/frontend/Makefile b/frontend/Makefile index df2a5da05..07df8913a 100644 --- a/frontend/Makefile +++ b/frontend/Makefile @@ -2,6 +2,9 @@ # strict mode (`-euo pipefail`). SHELL := bash -x -euo pipefail +# Bump the memory limit for Node.js to 32 GB. +NODE_OPTIONS := "--max-old-space-size=32768" + .PHONY: help help: @echo "Usage: make " @@ -60,7 +63,7 @@ ci: \ .PHONY: build build: - NODE_OPTIONS="--max-old-space-size=32768" MODE=development npm run build + MODE=development npm run build .PHONY: serve serve: @@ -72,10 +75,9 @@ serve-public: .PHONY: openapi-ts openapi-ts: - mkdir -p src/varfish/api - npx openapi-typescript \ - ../backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml \ - -o src/varfish/api/varfish.d.ts + mkdir -p ext/varfish-api/src + rm -rf ext/varfish-api/src/lib + npx @hey-api/openapi-ts .PHONY: openapi openapi: openapi-ts format lint diff --git a/frontend/ext/varfish-api/src/lib/index.ts b/frontend/ext/varfish-api/src/lib/index.ts new file mode 100644 index 000000000..0a2b84bae --- /dev/null +++ b/frontend/ext/varfish-api/src/lib/index.ts @@ -0,0 +1,4 @@ +// This file is auto-generated by @hey-api/openapi-ts +export * from './schemas.gen'; +export * from './services.gen'; +export * from './types.gen'; \ No newline at end of file diff --git a/frontend/ext/varfish-api/src/lib/schemas.gen.ts b/frontend/ext/varfish-api/src/lib/schemas.gen.ts new file mode 100644 index 000000000..a6c0a994f --- /dev/null +++ b/frontend/ext/varfish-api/src/lib/schemas.gen.ts @@ -0,0 +1,6743 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export const $ActionEnum = { + enum: ['create', 'update', 'delete'], + type: 'string', + description: `* \`create\` - create +* \`update\` - update +* \`delete\` - delete` +} as const; + +export const $AnnotationReleaseInfo = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + genomebuild: { + type: 'string', + readOnly: true + }, + table: { + type: 'string', + readOnly: true + }, + timestamp: { + type: 'string', + format: 'date-time', + readOnly: true + }, + release: { + type: 'string', + readOnly: true + } + }, + required: ['genomebuild', 'release', 'table', 'timestamp'] +} as const; + +export const $BcftoolsStatsAfRecordList = { + type: 'array', + title: 'BcftoolsStatsAfRecordList', + items: { + description: `A Record from the \`\`AF\`\` (non-reference allele frequency) lines in \`\`bcftools stats\`\` +output.`, + properties: { + af: { + title: 'Af', + type: 'number' + }, + snps: { + title: 'Snps', + type: 'integer' + }, + ts: { + title: 'Ts', + type: 'integer' + }, + tv: { + title: 'Tv', + type: 'integer' + }, + indels: { + title: 'Indels', + type: 'integer' + }, + repeat_consistent: { + title: 'Repeat Consistent', + type: 'integer' + }, + repeat_inconsistent: { + title: 'Repeat Inconsistent', + type: 'integer' + }, + na: { + title: 'Na', + type: 'integer' + } + }, + required: ['af', 'snps', 'ts', 'tv', 'indels', 'repeat_consistent', 'repeat_inconsistent', 'na'], + title: 'BcftoolsStatsAfRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsDpRecordList = { + type: 'array', + title: 'BcftoolsStatsDpRecordList', + items: { + description: 'A Record from the ``DP`` (AF) lines in ``bcftools stats`` output.', + properties: { + bin: { + title: 'Bin', + type: 'integer' + }, + gts: { + title: 'Gts', + type: 'integer' + }, + gts_frac: { + title: 'Gts Frac', + type: 'number' + }, + sites: { + title: 'Sites', + type: 'integer' + }, + sites_frac: { + title: 'Sites Frac', + type: 'number' + } + }, + required: ['bin', 'gts', 'gts_frac', 'sites', 'sites_frac'], + title: 'BcftoolsStatsDpRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsIddRecordList = { + type: 'array', + title: 'BcftoolsStatsIddRecordList', + items: { + description: 'A Record from the ``IDD`` (indel distribution) lines in ``bcftools stats`` output.', + properties: { + length: { + title: 'Length', + type: 'integer' + }, + sites: { + title: 'Sites', + type: 'integer' + }, + gts: { + title: 'Gts', + type: 'integer' + }, + mean_vaf: { + anyOf: [ + { + type: 'number' + }, + { + type: 'null' + } + ], + title: 'Mean Vaf' + } + }, + required: ['length', 'sites', 'gts', 'mean_vaf'], + title: 'BcftoolsStatsIddRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + sn: { + '$ref': '#/components/schemas/BcftoolsStatsSnRecordList' + }, + tstv: { + '$ref': '#/components/schemas/BcftoolsStatsTstvRecordList' + }, + sis: { + '$ref': '#/components/schemas/BcftoolsStatsSisRecordList' + }, + af: { + '$ref': '#/components/schemas/BcftoolsStatsAfRecordList' + }, + qual: { + '$ref': '#/components/schemas/BcftoolsStatsQualRecordList' + }, + idd: { + '$ref': '#/components/schemas/BcftoolsStatsIddRecordList' + }, + st: { + '$ref': '#/components/schemas/BcftoolsStatsStRecordList' + }, + dp: { + '$ref': '#/components/schemas/BcftoolsStatsDpRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + } + }, + required: ['af', 'caseqc', 'date_created', 'date_modified', 'dp', 'idd', 'qual', 'sis', 'sn', 'sodar_uuid', 'st', 'tstv'] +} as const; + +export const $BcftoolsStatsQualRecordList = { + type: 'array', + title: 'BcftoolsStatsQualRecordList', + items: { + description: 'A Record from the ``QUAL`` (quality) lines in ``bcftools stats`` output.', + properties: { + qual: { + anyOf: [ + { + type: 'number' + }, + { + type: 'null' + } + ], + title: 'Qual' + }, + snps: { + title: 'Snps', + type: 'integer' + }, + ts: { + title: 'Ts', + type: 'integer' + }, + tv: { + title: 'Tv', + type: 'integer' + }, + indels: { + title: 'Indels', + type: 'integer' + } + }, + required: ['qual', 'snps', 'ts', 'tv', 'indels'], + title: 'BcftoolsStatsQualRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsSisRecordList = { + type: 'array', + title: 'BcftoolsStatsSisRecordList', + items: { + description: 'A Record from the ``SiS`` (singleton stats) lines in ``bcftools stats`` output.', + properties: { + total: { + title: 'Total', + type: 'integer' + }, + snps: { + title: 'Snps', + type: 'integer' + }, + ts: { + title: 'Ts', + type: 'integer' + }, + tv: { + title: 'Tv', + type: 'integer' + }, + indels: { + title: 'Indels', + type: 'integer' + }, + repeat_consistent: { + title: 'Repeat Consistent', + type: 'integer' + }, + repeat_inconsistent: { + title: 'Repeat Inconsistent', + type: 'integer' + } + }, + required: ['total', 'snps', 'ts', 'tv', 'indels', 'repeat_consistent', 'repeat_inconsistent'], + title: 'BcftoolsStatsSisRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsSnRecordList = { + type: 'array', + title: 'BcftoolsStatsSnRecordList', + items: { + description: 'A Record from the ``SN`` lines in ``bcftools stats`` output.', + properties: { + key: { + title: 'Key', + type: 'string' + }, + value: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + }, + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Value' + } + }, + required: ['key', 'value'], + title: 'BcftoolsStatsSnRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsStRecordList = { + type: 'array', + title: 'BcftoolsStatsStRecordList', + items: { + description: 'A Record from the ``ST`` (substitution types) lines in ``bcftools stats`` output.', + properties: { + type: { + title: 'Type', + type: 'string' + }, + count: { + title: 'Count', + type: 'integer' + } + }, + required: ['type', 'count'], + title: 'BcftoolsStatsStRecord', + type: 'object' + } +} as const; + +export const $BcftoolsStatsTstvRecordList = { + type: 'array', + title: 'BcftoolsStatsTstvRecordList', + items: { + description: 'A Record from the ``TSTV`` lines in ``bcftools stats`` output.', + properties: { + ts: { + title: 'Ts', + type: 'integer' + }, + tv: { + title: 'Tv', + type: 'integer' + }, + tstv: { + title: 'Tstv', + type: 'number' + }, + ts_1st_alt: { + title: 'Ts 1St Alt', + type: 'integer' + }, + tv_1st_alt: { + title: 'Tv 1St Alt', + type: 'integer' + }, + tstv_1st_alt: { + title: 'Tstv 1St Alt', + type: 'number' + } + }, + required: ['ts', 'tv', 'tstv', 'ts_1st_alt', 'tv_1st_alt', 'tstv_1st_alt'], + title: 'BcftoolsStatsTstvRecord', + type: 'object' + } +} as const; + +export const $CaseAnalysis = { + type: 'object', + description: 'Serializer for ``CaseAnalysis``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + } + }, + required: ['case', 'date_created', 'date_modified', 'sodar_uuid'] +} as const; + +export const $CaseAnalysisSession = { + type: 'object', + description: 'Serializer for ``CaseAnalysisSession``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + caseanalysis: { + type: 'string', + format: 'uuid', + readOnly: true + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + }, + user: { + type: 'string', + format: 'uuid', + description: 'User SODAR UUID', + readOnly: true + } + }, + required: ['case', 'caseanalysis', 'date_created', 'date_modified', 'sodar_uuid', 'user'] +} as const; + +export const $CaseComment = { + type: 'object', + description: 'Serializer for ``CaseComments``.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + }, + user: { + type: 'string', + description: 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', + readOnly: true + }, + comment: { + type: 'string' + } + }, + required: ['case', 'comment', 'date_created', 'date_modified', 'sodar_uuid', 'user'] +} as const; + +export const $CaseImportAction = { + type: 'object', + description: 'Serializer for the ``CaseImportAction`` model.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + }, + state: { + '$ref': '#/components/schemas/CaseImportActionStateEnum' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + action: { + '$ref': '#/components/schemas/ActionEnum' + }, + payload: {}, + overwrite_terms: { + type: 'boolean' + } + }, + required: ['date_created', 'date_modified', 'payload', 'project', 'sodar_uuid', 'state'] +} as const; + +export const $CaseImportActionStateEnum = { + enum: ['draft', 'submitted'], + type: 'string', + description: `* \`draft\` - draft +* \`submitted\` - submitted` +} as const; + +export const $CasePhenotypeTerms = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + }, + individual: { + type: 'string', + description: 'Individual', + maxLength: 128 + }, + terms: {} + }, + required: ['case', 'date_created', 'date_modified', 'individual', 'sodar_uuid', 'terms'] +} as const; + +export const $CaseQc = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + }, + dragen_cnvmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenCnvMetrics' + }, + readOnly: true + }, + dragen_fragmentlengthhistograms: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenFragmentLengthHistogram' + }, + readOnly: true + }, + dragen_mappingmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenMappingMetrics' + }, + readOnly: true + }, + dragen_ploidyestimationmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenPloidyEstimationMetrics' + }, + readOnly: true + }, + dragen_rohmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenRohMetrics' + }, + readOnly: true + }, + dragen_vchethomratiometrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenVcHethomRatioMetrics' + }, + readOnly: true + }, + dragen_vcmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenVcMetrics' + }, + readOnly: true + }, + dragen_svmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenSvMetrics' + }, + readOnly: true + }, + dragen_timemetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenTimeMetrics' + }, + readOnly: true + }, + dragen_trimmermetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenTrimmerMetrics' + }, + readOnly: true + }, + dragen_wgscoveragemetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenWgsCoverageMetrics' + }, + readOnly: true + }, + dragen_wgscontigmeancovmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenWgsContigMeanCovMetrics' + }, + readOnly: true + }, + dragen_wgsoverallmeancov: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenWgsOverallMeanCov' + }, + readOnly: true + }, + dragen_wgsfinehist: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenWgsFineHist' + }, + readOnly: true + }, + dragen_wgshist: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenWgsHist' + }, + readOnly: true + }, + dragen_regioncoveragemetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenRegionCoverageMetrics' + }, + readOnly: true + }, + dragen_regionfinehist: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenRegionFineHist' + }, + readOnly: true + }, + dragen_regionhist: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenRegionHist' + }, + readOnly: true + }, + dragen_regionoverallmeancov: { + type: 'array', + items: { + '$ref': '#/components/schemas/DragenRegionOverallMeanCov' + }, + readOnly: true + }, + bcftools_statsmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/BcftoolsStatsMetrics' + }, + readOnly: true + }, + samtools_statsmainmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/SamtoolsStatsMainMetrics' + }, + readOnly: true + }, + samtools_statssupplementarymetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/SamtoolsStatsSupplementaryMetrics' + }, + readOnly: true + }, + samtools_flagstatmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/SamtoolsFlagstatMetrics' + }, + readOnly: true + }, + samtools_idxstatsmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/SamtoolsIdxstatsMetrics' + }, + readOnly: true + }, + cramino_metrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/CraminoMetrics' + }, + readOnly: true + }, + ngsbits_mappingqcmetrics: { + type: 'array', + items: { + '$ref': '#/components/schemas/NgsbitsMappingqcMetrics' + }, + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + state: { + '$ref': '#/components/schemas/CaseQcStateEnum' + } + }, + required: ['bcftools_statsmetrics', 'case', 'cramino_metrics', 'date_created', 'date_modified', 'dragen_cnvmetrics', 'dragen_fragmentlengthhistograms', 'dragen_mappingmetrics', 'dragen_ploidyestimationmetrics', 'dragen_regioncoveragemetrics', 'dragen_regionfinehist', 'dragen_regionhist', 'dragen_regionoverallmeancov', 'dragen_rohmetrics', 'dragen_svmetrics', 'dragen_timemetrics', 'dragen_trimmermetrics', 'dragen_vchethomratiometrics', 'dragen_vcmetrics', 'dragen_wgscontigmeancovmetrics', 'dragen_wgscoveragemetrics', 'dragen_wgsfinehist', 'dragen_wgshist', 'dragen_wgsoverallmeancov', 'ngsbits_mappingqcmetrics', 'samtools_flagstatmetrics', 'samtools_idxstatsmetrics', 'samtools_statsmainmetrics', 'samtools_statssupplementarymetrics', 'sodar_uuid'] +} as const; + +export const $CaseQcStateEnum = { + enum: ['DRAFT', 'ACTIVE'], + type: 'string', + description: `* \`DRAFT\` - DRAFT +* \`ACTIVE\` - ACTIVE` +} as const; + +export const $CaseSerializerNg = { + type: 'object', + description: `Serializer for the \`\`Case\`\` model. + +In contrast to the old (legacy) \`\`CaseSerializer\`\` from \`\`variants.serializers.case\`\`, this class does not +perform serialization of nested attributes and thus does not trigger a large query cascade.`, + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + }, + presetset: { + type: 'string', + format: 'uuid', + description: 'Cohort SODAR UUID', + readOnly: true + }, + sex_errors: { + type: 'object', + additionalProperties: { + type: 'array', + items: { + type: 'string' + } + }, + readOnly: true + }, + smallvariantqueryresultset: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + readOnly: true + }, + svqueryresultset: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + readOnly: true + }, + caseqc: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + nullable: true, + description: `Obtain the latest CaseQC for this in active state and serialize it. + +If there is no such record then return \`\`None\`\`.`, + readOnly: true + }, + release: { + type: 'string', + readOnly: true, + nullable: true + }, + name: { + type: 'string', + maxLength: 512 + }, + index: { + type: 'string', + maxLength: 512 + }, + pedigree: {}, + notes: { + type: 'string', + nullable: true + }, + status: { + '$ref': '#/components/schemas/CaseStatusEnum' + }, + tags: { + type: 'array', + items: { + type: 'string', + maxLength: 32 + }, + nullable: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + case_version: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + }, + state: { + readOnly: true, + nullable: true, + oneOf: [ + { + '$ref': '#/components/schemas/CaseSerializerNgStateEnum' + }, + { + '$ref': '#/components/schemas/NullEnum' + } + ] + }, + num_small_vars: { + type: 'integer', + readOnly: true, + nullable: true, + title: 'Small variants', + description: 'Number of small variants, empty if no small variants have been imported' + }, + num_svs: { + type: 'integer', + readOnly: true, + nullable: true, + title: 'Structural variants', + description: 'Number of structural variants, empty if no structural variants have been imported' + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'index', 'name', 'num_small_vars', 'num_svs', 'pedigree', 'presetset', 'project', 'release', 'sex_errors', 'smallvariantqueryresultset', 'sodar_uuid', 'state', 'svqueryresultset'] +} as const; + +export const $CaseSerializerNgStateEnum = { + enum: ['importing', 'updating', 'active', 'deleting'], + type: 'string', + description: `* \`importing\` - importing +* \`updating\` - updating +* \`active\` - active +* \`deleting\` - deleting` +} as const; + +export const $CaseStatusEnum = { + enum: ['initial', 'active', 'closed-unsolved', 'closed-uncertain', 'closed-solved'], + type: 'string', + description: `* \`initial\` - initial +* \`active\` - active +* \`closed-unsolved\` - closed as unsolved +* \`closed-uncertain\` - closed as uncertain +* \`closed-solved\` - closed as solved` +} as const; + +export const $ClinvarGermlineAggregateDescriptionList = { + type: 'array', + title: 'ClinvarGermlineAggregateDescriptionList', + items: { + type: 'string', + title: 'ClinvarGermlineAggregateDescription', + enum: ['pathogenic', 'likely_pathogenic', 'uncertain_significance', 'likely_benign', 'benign'] + } +} as const; + +export const $CraminoChromNormalizedCountsRecordList = { + type: 'array', + title: 'CraminoChromNormalizedCountsRecordList', + items: { + description: 'Store one chrom/normalized read counts record from Cramino output.', + properties: { + chrom_name: { + title: 'Chrom Name', + type: 'string' + }, + normalized_counts: { + title: 'Normalized Counts', + type: 'number' + } + }, + required: ['chrom_name', 'normalized_counts'], + title: 'CraminoChromNormalizedCountsRecord', + type: 'object' + } +} as const; + +export const $CraminoMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + summary: { + '$ref': '#/components/schemas/CraminoSummaryRecordList' + }, + chrom_counts: { + '$ref': '#/components/schemas/CraminoChromNormalizedCountsRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'chrom_counts', 'date_created', 'date_modified', 'sample', 'sodar_uuid', 'summary'] +} as const; + +export const $CraminoSummaryRecordList = { + type: 'array', + title: 'CraminoSummaryRecordList', + items: { + description: 'Store a summary record from the cramino output file.', + properties: { + key: { + title: 'Key', + type: 'string' + }, + value: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + }, + { + type: 'string' + } + ], + title: 'Value' + } + }, + required: ['key', 'value'], + title: 'CraminoSummaryRecord', + type: 'object' + } +} as const; + +export const $DetailedAlignmentCounts = { + description: 'Detailed alignment counts', + properties: { + primary: { + title: 'Primary', + type: 'integer' + }, + secondary: { + title: 'Secondary', + type: 'integer' + }, + supplementary: { + title: 'Supplementary', + type: 'integer' + }, + duplicates: { + title: 'Duplicates', + type: 'integer' + }, + mapped: { + title: 'Mapped', + type: 'integer' + }, + properly_paired: { + title: 'Properly Paired', + type: 'integer' + }, + with_itself_and_mate_mapped: { + title: 'With Itself And Mate Mapped', + type: 'integer' + }, + singletons: { + title: 'Singletons', + type: 'integer' + }, + with_mate_mapped_to_different_chr: { + title: 'With Mate Mapped To Different Chr', + type: 'integer' + }, + with_mate_mapped_to_different_chr_mapq: { + title: 'With Mate Mapped To Different Chr Mapq', + type: 'integer' + }, + mismatch_rate: { + title: 'Mismatch Rate', + type: 'number' + }, + mapq: { + items: { + items: { + type: 'integer' + }, + minItems: 2, + type: 'array' + }, + title: 'Mapq', + type: 'array' + } + }, + required: ['primary', 'secondary', 'supplementary', 'duplicates', 'mapped', 'properly_paired', 'with_itself_and_mate_mapped', 'singletons', 'with_mate_mapped_to_different_chr', 'with_mate_mapped_to_different_chr_mapq', 'mismatch_rate', 'mapq'], + title: 'DetailedAlignmentCounts', + type: 'object' +} as const; + +export const $DragenCnvMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sodar_uuid'] +} as const; + +export const $DragenFragmentLengthHistogram = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + keys: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + }, + values: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'keys', 'sample', 'sodar_uuid', 'values'] +} as const; + +export const $DragenMappingMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenPloidyEstimationMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenRegionCoverageMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + region_name: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'region_name', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenRegionFineHist = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + keys: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + }, + values: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + }, + region_name: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'keys', 'region_name', 'sample', 'sodar_uuid', 'values'] +} as const; + +export const $DragenRegionHist = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + region_name: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'region_name', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenRegionOverallMeanCov = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + region_name: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'region_name', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenRohMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenStyleCoverageList = { + type: 'array', + title: 'DragenStyleCoverageList', + items: { + description: 'Pydantic model for Dragen-style coverage metric entries', + properties: { + contig_name: { + title: 'Contig Name', + type: 'string' + }, + contig_len: { + title: 'Contig Len', + type: 'integer' + }, + cov: { + title: 'Cov', + type: 'number' + } + }, + required: ['contig_name', 'contig_len', 'cov'], + title: 'DragenStyleCoverage', + type: 'object' + } +} as const; + +export const $DragenStyleMetricList = { + type: 'array', + title: 'DragenStyleMetricList', + items: { + description: 'Pydantic model for Dragen-style quality control metric entries', + properties: { + section: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Section' + }, + entry: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Entry' + }, + name: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Name' + }, + value: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + }, + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Value' + }, + value_float: { + anyOf: [ + { + type: 'number' + }, + { + type: 'null' + } + ], + default: null, + title: 'Value Float' + } + }, + required: ['section', 'entry', 'name', 'value'], + title: 'DragenStyleMetric', + type: 'object' + } +} as const; + +export const $DragenSvMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sodar_uuid'] +} as const; + +export const $DragenTimeMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenTrimmerMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenVcHethomRatioMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sodar_uuid'] +} as const; + +export const $DragenVcMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sodar_uuid'] +} as const; + +export const $DragenWgsContigMeanCovMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleCoverageList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenWgsCoverageMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $DragenWgsFineHist = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + keys: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + }, + values: { + type: 'array', + items: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + } + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'keys', 'sample', 'sodar_uuid', 'values'] +} as const; + +export const $DragenWgsHist = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + keys: { + type: 'array', + items: { + type: 'string', + maxLength: 200 + } + }, + values: { + type: 'array', + items: { + type: 'number', + format: 'double' + } + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'keys', 'sample', 'sodar_uuid', 'values'] +} as const; + +export const $DragenWgsOverallMeanCov = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + metrics: { + '$ref': '#/components/schemas/DragenStyleMetricList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'metrics', 'sample', 'sodar_uuid'] +} as const; + +export const $EnrichmentKit = { + type: 'object', + description: 'Serializer for ``EnrichmentKit``.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + identifier: { + type: 'string', + description: "Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'.", + pattern: '^[\\w_-]+$', + maxLength: 128 + }, + title: { + type: 'string', + description: 'Title of the enrichment kit', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true, + description: 'Optional description of the enrichment kit' + } + }, + required: ['date_created', 'date_modified', 'identifier', 'sodar_uuid', 'title'] +} as const; + +export const $GeneList = { + type: 'array', + title: 'GeneList', + items: { + description: 'Representation of a gene to query for.', + properties: { + hgnc_id: { + title: 'Hgnc Id', + type: 'string' + }, + symbol: { + title: 'Symbol', + type: 'string' + }, + name: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + default: null, + title: 'Name' + }, + entrez_id: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Entrez Id' + }, + ensembl_id: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + default: null, + title: 'Ensembl Id' + } + }, + required: ['hgnc_id', 'symbol'], + title: 'Gene', + type: 'object' + } +} as const; + +export const $GenePanel = { + type: 'object', + description: 'Serializer that serializes ``GenePanel``.', + properties: { + identifier: { + type: 'string', + readOnly: true, + description: "Identifier of the gene panel, e.g., 'osteoporosis.basic' or 'osteoporosis.extended'" + }, + state: { + allOf: [ + { + '$ref': '#/components/schemas/GenePanelStateEnum' + } + ], + readOnly: true, + description: `State of teh gene panel version + +* \`draft\` - draft +* \`active\` - active +* \`retired\` - retired` + }, + version_major: { + type: 'integer', + readOnly: true, + default: 1, + description: 'Major version of the gene panel (by identifier)' + }, + version_minor: { + type: 'integer', + readOnly: true, + default: 1, + description: 'Minor version of the gene panel (by identifier)' + }, + title: { + type: 'string', + readOnly: true, + description: 'Title of the gene panel, only used for informative purposes' + }, + description: { + type: 'string', + readOnly: true, + nullable: true, + description: 'Description of the panel' + } + }, + required: ['description', 'identifier', 'state', 'title', 'version_major', 'version_minor'] +} as const; + +export const $GenePanelCategory = { + type: 'object', + description: 'Serializer that serializes ``GenePanelCategory``.', + properties: { + title: { + type: 'string', + readOnly: true, + description: 'Title of the category' + }, + description: { + type: 'string', + readOnly: true, + nullable: true, + description: 'Optional description of the category' + }, + genepanel_set: { + allOf: [ + { + '$ref': '#/components/schemas/GenePanel' + } + ], + readOnly: true + } + }, + required: ['description', 'genepanel_set', 'title'] +} as const; + +export const $GenePanelList = { + type: 'array', + title: 'GenePanelList', + items: { + description: 'Representation of a gene panel to use in the query.', + properties: { + source: { + '$ref': '#/components/schemas/GenePanelSource' + }, + panel_id: { + title: 'Panel Id', + type: 'string' + }, + name: { + title: 'Name', + type: 'string' + }, + version: { + title: 'Version', + type: 'string' + } + }, + required: ['source', 'panel_id', 'name', 'version'], + title: 'GenePanel', + type: 'object' + } +} as const; + +export const $GenePanelSource = { + description: 'The source of a gene panel.', + enum: ['panelapp', 'internal'], + title: 'GenePanelSource', + type: 'string' +} as const; + +export const $GenePanelStateEnum = { + enum: ['draft', 'active', 'retired'], + type: 'string', + description: `* \`draft\` - draft +* \`active\` - active +* \`retired\` - retired` +} as const; + +export const $GenomeRegionList = { + type: 'array', + title: 'GenomeRegionList', + items: { + description: 'Representation of a genomic region to query for.', + properties: { + chromosome: { + title: 'Chromosome', + type: 'string' + }, + range: { + anyOf: [ + { + '$ref': '#/components/schemas/OneBasedRange' + }, + { + type: 'null' + } + ], + default: null + } + }, + required: ['chromosome'], + title: 'GenomeRegion', + type: 'object' + } +} as const; + +export const $GenomeReleaseEnum = { + enum: ['grch37', 'grch38'], + type: 'string', + description: `* \`grch37\` - GRCh37 +* \`grch38\` - GRCh38` +} as const; + +export const $InsertSizeStats = { + description: 'Per-sample QC stats for insert sizes.', + properties: { + insert_size_mean: { + title: 'Insert Size Mean', + type: 'number' + }, + insert_size_median: { + anyOf: [ + { + type: 'number' + }, + { + type: 'null' + } + ], + title: 'Insert Size Median' + }, + insert_size_stddev: { + title: 'Insert Size Stddev', + type: 'number' + }, + insert_size_histogram: { + items: { + items: { + type: 'integer' + }, + minItems: 2, + type: 'array' + }, + title: 'Insert Size Histogram', + type: 'array' + } + }, + required: ['insert_size_mean', 'insert_size_median', 'insert_size_stddev', 'insert_size_histogram'], + title: 'InsertSizeStats', + type: 'object' +} as const; + +export const $NgsbitsMappingqcMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + records: { + '$ref': '#/components/schemas/NgsbitsMappingqcRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + }, + region_name: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'records', 'region_name', 'sample', 'sodar_uuid'] +} as const; + +export const $NgsbitsMappingqcRecordList = { + type: 'array', + title: 'NgsbitsMappingqcRecordList', + items: { + description: "One entry in the output of ngs-bits' MappingQC.", + properties: { + key: { + title: 'Key', + type: 'string' + }, + value: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + }, + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Value' + } + }, + required: ['key', 'value'], + title: 'NgsbitsMappingqcRecord', + type: 'object' + } +} as const; + +export const $NullEnum = { + enum: [ + null + ] +} as const; + +export const $OneBasedRange = { + description: 'Representation of a 1-based range.', + properties: { + start: { + title: 'Start', + type: 'integer' + }, + end: { + title: 'End', + type: 'integer' + } + }, + required: ['start', 'end'], + title: 'OneBasedRange', + type: 'object' +} as const; + +export const $PaginatedCaseAnalysisList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/CaseAnalysis' + } + } + } +} as const; + +export const $PaginatedCaseAnalysisSessionList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/CaseAnalysisSession' + } + } + } +} as const; + +export const $PaginatedCaseImportActionList = { + type: 'object', + properties: { + count: { + type: 'integer', + example: 123 + }, + next: { + type: 'string', + nullable: true, + format: 'uri', + example: 'http://api.example.org/accounts/?page=4' + }, + previous: { + type: 'string', + nullable: true, + format: 'uri', + example: 'http://api.example.org/accounts/?page=2' + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/CaseImportAction' + } + } + } +} as const; + +export const $PaginatedCaseSerializerNgList = { + type: 'object', + properties: { + count: { + type: 'integer', + example: 123 + }, + next: { + type: 'string', + nullable: true, + format: 'uri', + example: 'http://api.example.org/accounts/?page=4' + }, + previous: { + type: 'string', + nullable: true, + format: 'uri', + example: 'http://api.example.org/accounts/?page=2' + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/CaseSerializerNg' + } + } + } +} as const; + +export const $PaginatedSeqvarsPredefinedQueryList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsPredefinedQuery' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryExecutionList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryExecution' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQuery' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsClinvarList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsClinvar' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsColumnsList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsColumns' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsConsequenceList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsConsequence' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsFrequencyList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsFrequency' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsLocusList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsLocus' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsPhenotypePrioList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsQualityList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsQuality' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsSetList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsSet' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsSetVersionList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsSetVersion' + } + } + } +} as const; + +export const $PaginatedSeqvarsQueryPresetsVariantPrioList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + } + } + } +} as const; + +export const $PaginatedSeqvarsQuerySettingsList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQuerySettings' + } + } + } +} as const; + +export const $PaginatedSeqvarsResultRowList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsResultRow' + } + } + } +} as const; + +export const $PaginatedSeqvarsResultSetList = { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true + }, + previous: { + type: 'string', + nullable: true + }, + results: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsResultSet' + } + } + } +} as const; + +export const $PatchedCaseImportAction = { + type: 'object', + description: 'Serializer for the ``CaseImportAction`` model.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + }, + state: { + '$ref': '#/components/schemas/CaseImportActionStateEnum' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + action: { + '$ref': '#/components/schemas/ActionEnum' + }, + payload: {}, + overwrite_terms: { + type: 'boolean' + } + } +} as const; + +export const $PatchedCasePhenotypeTerms = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + case: { + type: 'string', + format: 'uuid', + description: 'Case SODAR UUID', + readOnly: true + }, + individual: { + type: 'string', + description: 'Individual', + maxLength: 128 + }, + terms: {} + } +} as const; + +export const $PatchedCaseSerializerNg = { + type: 'object', + description: `Serializer for the \`\`Case\`\` model. + +In contrast to the old (legacy) \`\`CaseSerializer\`\` from \`\`variants.serializers.case\`\`, this class does not +perform serialization of nested attributes and thus does not trigger a large query cascade.`, + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + }, + presetset: { + type: 'string', + format: 'uuid', + description: 'Cohort SODAR UUID', + readOnly: true + }, + sex_errors: { + type: 'object', + additionalProperties: { + type: 'array', + items: { + type: 'string' + } + }, + readOnly: true + }, + smallvariantqueryresultset: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + readOnly: true + }, + svqueryresultset: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + readOnly: true + }, + caseqc: { + type: 'object', + additionalProperties: { + oneOf: [ + { + type: 'integer' + }, + { + type: 'number', + format: 'double' + }, + { + type: 'string' + } + ], + nullable: true + }, + nullable: true, + description: `Obtain the latest CaseQC for this in active state and serialize it. + +If there is no such record then return \`\`None\`\`.`, + readOnly: true + }, + release: { + type: 'string', + readOnly: true, + nullable: true + }, + name: { + type: 'string', + maxLength: 512 + }, + index: { + type: 'string', + maxLength: 512 + }, + pedigree: {}, + notes: { + type: 'string', + nullable: true + }, + status: { + '$ref': '#/components/schemas/CaseStatusEnum' + }, + tags: { + type: 'array', + items: { + type: 'string', + maxLength: 32 + }, + nullable: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + case_version: { + type: 'integer', + maximum: 2147483647, + minimum: -2147483648 + }, + state: { + readOnly: true, + nullable: true, + oneOf: [ + { + '$ref': '#/components/schemas/CaseSerializerNgStateEnum' + }, + { + '$ref': '#/components/schemas/NullEnum' + } + ] + }, + num_small_vars: { + type: 'integer', + readOnly: true, + nullable: true, + title: 'Small variants', + description: 'Number of small variants, empty if no small variants have been imported' + }, + num_svs: { + type: 'integer', + readOnly: true, + nullable: true, + title: 'Structural variants', + description: 'Number of structural variants, empty if no structural variants have been imported' + } + } +} as const; + +export const $PatchedEnrichmentKit = { + type: 'object', + description: 'Serializer for ``EnrichmentKit``.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + identifier: { + type: 'string', + description: "Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'.", + pattern: '^[\\w_-]+$', + maxLength: 128 + }, + title: { + type: 'string', + description: 'Title of the enrichment kit', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true, + description: 'Optional description of the enrichment kit' + } + } +} as const; + +export const $PatchedSeqvarsPredefinedQuery = { + type: 'object', + description: 'Serializer for ``PredefinedQuery``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + included_in_sop: { + type: 'boolean', + default: false + }, + genotype: { + allOf: [ + { + '$ref': '#/components/schemas/SchemaField' + } + ], + default: { + choice: null + } + }, + quality: { + type: 'string', + format: 'uuid', + nullable: true + }, + frequency: { + type: 'string', + format: 'uuid', + nullable: true + }, + consequence: { + type: 'string', + format: 'uuid', + nullable: true + }, + locus: { + type: 'string', + format: 'uuid', + nullable: true + }, + phenotypeprio: { + type: 'string', + format: 'uuid', + nullable: true + }, + variantprio: { + type: 'string', + format: 'uuid', + nullable: true + }, + clinvar: { + type: 'string', + format: 'uuid', + nullable: true + }, + columns: { + type: 'string', + format: 'uuid', + nullable: true + } + } +} as const; + +export const $PatchedSeqvarsQueryDetails = { + type: 'object', + description: `Serializer for \`\`Query\`\` (for \`\`*-detail\`\`). + +For retrieve, update, or delete operations, we also render the nested query settings +in detail.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + settings: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsDetails' + }, + columnsconfig: { + '$ref': '#/components/schemas/SeqvarsQueryColumnsConfig' + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsClinvar = { + type: 'object', + description: `Serializer for \`\`QueryPresetsClinvar\`\`. + +Not used directly but used as base class.`, + properties: { + clinvar_presence_required: { + type: 'boolean', + default: false + }, + clinvar_germline_aggregate_description: { + '$ref': '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + }, + allow_conflicting_interpretations: { + type: 'boolean', + default: false + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsColumns = { + type: 'object', + description: `Serializer for \`\`QueryPresetsColumns\`\`. + +Not used directly but used as base class.`, + properties: { + column_settings: { + '$ref': '#/components/schemas/SeqvarsColumnConfigList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsConsequence = { + type: 'object', + description: `Serializer for \`\`QueryPresetsConsequence\`\`. + +Not used directly but used as base class.`, + properties: { + variant_types: { + '$ref': '#/components/schemas/SeqvarsVariantTypeChoiceList' + }, + transcript_types: { + '$ref': '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + }, + variant_consequences: { + '$ref': '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + }, + max_distance_to_exon: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsFrequency = { + type: 'object', + description: `Serializer for \`\`QueryPresetsFrequency\`\`. + +Not used directly but used as base class.`, + properties: { + gnomad_exomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_exomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_exomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_hemizygous: { + type: 'boolean', + nullable: true + }, + gnomad_genomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_genomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_genomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_hemizygous: { + type: 'boolean', + nullable: true + }, + helixmtdb_enabled: { + type: 'boolean', + default: false + }, + helixmtdb_heteroplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_homoplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + inhouse_enabled: { + type: 'boolean', + default: false + }, + inhouse_carriers: { + type: 'integer', + nullable: true + }, + inhouse_homozygous: { + type: 'integer', + nullable: true + }, + inhouse_heterozygous: { + type: 'integer', + nullable: true + }, + inhouse_hemizygous: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsLocus = { + type: 'object', + description: `Serializer for \`\`QueryPresetsLocus\`\`. + +Not used directly but used as base class.`, + properties: { + genes: { + '$ref': '#/components/schemas/GeneList' + }, + gene_panels: { + '$ref': '#/components/schemas/GenePanelList' + }, + genome_regions: { + '$ref': '#/components/schemas/GenomeRegionList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsPhenotypePrio = { + type: 'object', + description: `Serializer for \`\`QueryPresetsPhenotypePrio\`\`. + +Not used directly but used as base class.`, + properties: { + phenotype_prio_enabled: { + type: 'boolean', + default: false + }, + phenotype_prio_algorithm: { + type: 'string', + nullable: true, + maxLength: 128 + }, + terms: { + '$ref': '#/components/schemas/TermPresenceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsQuality = { + type: 'object', + description: `Serializer for \`\`QueryPresetsQuality\`\`. + +Not used directly but used as base class.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + filter_active: { + type: 'boolean', + default: false + }, + min_dp_het: { + type: 'integer', + nullable: true + }, + min_dp_hom: { + type: 'integer', + nullable: true + }, + min_ab_het: { + type: 'number', + format: 'double', + nullable: true + }, + min_gq: { + type: 'integer', + nullable: true + }, + min_ad: { + type: 'integer', + nullable: true + }, + max_ad: { + type: 'integer', + nullable: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsSet = { + type: 'object', + description: 'Serializer for ``QueryPresetsSet``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsSetVersion = { + type: 'object', + description: 'Serializer for ``QueryPresetsSetVersion``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + presetsset: { + type: 'string', + format: 'uuid', + readOnly: true + }, + version_major: { + type: 'integer', + default: 1 + }, + version_minor: { + type: 'integer', + default: 0 + }, + status: { + type: 'string', + default: 'draft' + }, + signed_off_by: { + allOf: [ + { + '$ref': '#/components/schemas/SODARUser' + } + ], + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQueryPresetsVariantPrio = { + type: 'object', + description: `Serializer for \`\`QueryPresetsVariantPrio\`\`. + +Not used directly but used as base class.`, + properties: { + variant_prio_enabled: { + type: 'boolean', + default: false + }, + services: { + '$ref': '#/components/schemas/SeqvarsPrioServiceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + } +} as const; + +export const $PatchedSeqvarsQuerySettingsDetails = { + type: 'object', + description: `Serializer for \`\`QuerySettings\`\` (for \`\`*-detail\`\`). + +For retrieve, update, or delete operations, we also render the nested +owned category settings.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + genotype: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsGenotype' + }, + quality: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsQuality' + }, + consequence: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsConsequence' + }, + locus: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsLocus' + }, + frequency: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsFrequency' + }, + phenotypeprio: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsPhenotypePrio' + }, + variantprio: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsVariantPrio' + }, + clinvar: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsClinvar' + } + } +} as const; + +export const $PatchedTargetBedFile = { + type: 'object', + description: 'Serializer for ``TargetBedFile``.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + enrichmentkit: { + type: 'string', + format: 'uuid', + description: 'Record SODAR UUID', + readOnly: true + }, + file_uri: { + type: 'string', + description: "The file's URI.", + maxLength: 512 + }, + genome_release: { + allOf: [ + { + '$ref': '#/components/schemas/GenomeReleaseEnum' + } + ], + default: 'grch37', + description: `The file's reference genome. + +* \`grch37\` - GRCh37 +* \`grch38\` - GRCh38` + } + } +} as const; + +export const $RegionCoverageStats = { + description: 'Per-region QC stats for alignment.', + properties: { + region_name: { + title: 'Region Name', + type: 'string' + }, + mean_rd: { + title: 'Mean Rd', + type: 'number' + }, + min_rd_fraction: { + items: { + items: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + } + ] + }, + minItems: 2, + type: 'array' + }, + title: 'Min Rd Fraction', + type: 'array' + } + }, + required: ['region_name', 'mean_rd', 'min_rd_fraction'], + title: 'RegionCoverageStats', + type: 'object' +} as const; + +export const $RegionVariantStats = { + description: 'Per-region sequence variant statistics.', + properties: { + region_name: { + title: 'Region Name', + type: 'string' + }, + snv_count: { + title: 'Snv Count', + type: 'integer' + }, + indel_count: { + title: 'Indel Count', + type: 'integer' + }, + multiallelic_count: { + title: 'Multiallelic Count', + type: 'integer' + }, + transition_count: { + title: 'Transition Count', + type: 'integer' + }, + transversion_count: { + title: 'Transversion Count', + type: 'integer' + }, + tstv_ratio: { + title: 'Tstv Ratio', + type: 'number' + } + }, + required: ['region_name', 'snv_count', 'indel_count', 'multiallelic_count', 'transition_count', 'transversion_count', 'tstv_ratio'], + title: 'RegionVariantStats', + type: 'object' +} as const; + +export const $SODARUser = { + type: 'object', + description: 'Serializer for the user model used in SODAR Core based sites', + properties: { + username: { + type: 'string', + description: 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', + pattern: '^[\\w.@+-]+$', + maxLength: 150 + }, + name: { + type: 'string', + title: 'Name of User', + maxLength: 255 + }, + email: { + type: 'string', + format: 'email', + title: 'Email address', + maxLength: 254 + }, + is_superuser: { + type: 'boolean', + title: 'Superuser status', + description: 'Designates that this user has all permissions without explicitly assigning them.' + }, + sodar_uuid: { + type: 'string', + readOnly: true + } + }, + required: ['sodar_uuid', 'username'] +} as const; + +export const $SampleAlignmentStatsList = { + type: 'array', + title: 'SampleAlignmentStatsList', + items: { + description: 'Per-sample QC stats for alignment.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + detailed_counts: { + '$ref': '#/components/schemas/DetailedAlignmentCounts' + }, + per_chromosome_counts: { + items: { + items: { + anyOf: [ + { + type: 'string' + }, + { + type: 'integer' + } + ] + }, + minItems: 2, + type: 'array' + }, + title: 'Per Chromosome Counts', + type: 'array' + }, + insert_size_stats: { + '$ref': '#/components/schemas/InsertSizeStats' + }, + region_coverage_stats: { + items: { + '$ref': '#/components/schemas/RegionCoverageStats' + }, + title: 'Region Coverage Stats', + type: 'array' + } + }, + required: ['sample', 'detailed_counts', 'per_chromosome_counts', 'insert_size_stats', 'region_coverage_stats'], + title: 'SampleAlignmentStats', + type: 'object' + } +} as const; + +export const $SampleReadStatsList = { + type: 'array', + title: 'SampleReadStatsList', + items: { + description: 'Per-sample QC stats for reads.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + read_length_n50: { + title: 'Read Length N50', + type: 'integer' + }, + read_length_histogram: { + items: { + items: { + type: 'integer' + }, + minItems: 2, + type: 'array' + }, + title: 'Read Length Histogram', + type: 'array' + }, + total_reads: { + title: 'Total Reads', + type: 'integer' + }, + total_yield: { + title: 'Total Yield', + type: 'integer' + }, + fragment_first: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + title: 'Fragment First' + }, + fragment_last: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + title: 'Fragment Last' + } + }, + required: ['sample', 'read_length_n50', 'read_length_histogram', 'total_reads', 'total_yield', 'fragment_first', 'fragment_last'], + title: 'SampleReadStats', + type: 'object' + } +} as const; + +export const $SampleSeqvarStatsList = { + type: 'array', + title: 'SampleSeqvarStatsList', + items: { + description: 'Per-sample QC stats for sequence variants.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + genome_wide: { + '$ref': '#/components/schemas/RegionVariantStats' + }, + per_region: { + items: { + '$ref': '#/components/schemas/RegionVariantStats' + }, + title: 'Per Region', + type: 'array' + } + }, + required: ['sample', 'genome_wide', 'per_region'], + title: 'SampleSeqvarStats', + type: 'object' + } +} as const; + +export const $SampleStrucvarStatsList = { + type: 'array', + title: 'SampleStrucvarStatsList', + items: { + description: 'Per-sample QC stats for structural variants.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + deletion_count: { + title: 'Deletion Count', + type: 'integer' + }, + duplication_count: { + title: 'Duplication Count', + type: 'integer' + }, + insertion_count: { + title: 'Insertion Count', + type: 'integer' + }, + inversion_count: { + title: 'Inversion Count', + type: 'integer' + }, + breakend_count: { + title: 'Breakend Count', + type: 'integer' + } + }, + required: ['sample', 'deletion_count', 'duplication_count', 'insertion_count', 'inversion_count', 'breakend_count'], + title: 'SampleStrucvarStats', + type: 'object' + } +} as const; + +export const $SamtoolsFlagstatMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + qc_pass: { + '$ref': '#/components/schemas/SchemaField' + }, + qc_fail: { + '$ref': '#/components/schemas/SchemaField' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'qc_fail', 'qc_pass', 'sample', 'sodar_uuid'] +} as const; + +export const $SamtoolsIdxstatsMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + records: { + '$ref': '#/components/schemas/SamtoolsIdxstatsRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'records', 'sample', 'sodar_uuid'] +} as const; + +export const $SamtoolsIdxstatsRecordList = { + type: 'array', + title: 'SamtoolsIdxstatsRecordList', + items: { + description: 'A record for the lines in ``samtools idxstats`` output.', + properties: { + contig_name: { + title: 'Contig Name', + type: 'string' + }, + contig_len: { + title: 'Contig Len', + type: 'integer' + }, + mapped: { + title: 'Mapped', + type: 'integer' + }, + unmapped: { + title: 'Unmapped', + type: 'integer' + } + }, + required: ['contig_name', 'contig_len', 'mapped', 'unmapped'], + title: 'SamtoolsIdxstatsRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsBasePercentagesRecordList = { + type: 'array', + title: 'SamtoolsStatsBasePercentagesRecordList', + items: { + description: `A Record from the \`\`GCC\`\`, \`\`GCT\`\`, \`\`FBC\`\`, and \`\`LBC\`\` lines in \`\`samtools stats\`\` +output.`, + properties: { + cycle: { + title: 'Cycle', + type: 'integer' + }, + percentages: { + items: { + type: 'number' + }, + title: 'Percentages', + type: 'array' + } + }, + required: ['cycle', 'percentages'], + title: 'SamtoolsStatsBasePercentagesRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsChkRecordList = { + type: 'array', + title: 'SamtoolsStatsChkRecordList', + items: { + description: 'A Record from the ``CHK`` lines in ``samtools stats`` output.', + properties: { + read_names_crc32: { + title: 'Read Names Crc32', + type: 'string' + }, + sequences_crc32: { + title: 'Sequences Crc32', + type: 'string' + }, + qualities_crc32: { + title: 'Qualities Crc32', + type: 'string' + } + }, + required: ['read_names_crc32', 'sequences_crc32', 'qualities_crc32'], + title: 'SamtoolsStatsChkRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsFqRecordList = { + type: 'array', + title: 'SamtoolsStatsFqRecordList', + items: { + description: 'A Record from the ``FFQ`` and ``LFQ`` lines in ``samtools stats`` output.', + properties: { + cycle: { + title: 'Cycle', + type: 'integer' + }, + counts: { + items: { + type: 'integer' + }, + title: 'Counts', + type: 'array' + } + }, + required: ['cycle', 'counts'], + title: 'SamtoolsStatsFqRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsGcRecordList = { + type: 'array', + title: 'SamtoolsStatsGcRecordList', + items: { + description: 'A Record from the ``GCF`` and ``GCL`` lines in ``samtools stats`` output.', + properties: { + gc_content: { + title: 'Gc Content', + type: 'number' + }, + count: { + title: 'Count', + type: 'integer' + } + }, + required: ['gc_content', 'count'], + title: 'SamtoolsStatsGcRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsGcdRecordList = { + type: 'array', + title: 'SamtoolsStatsGcdRecordList', + items: { + description: 'A record for the ``GCD`` lines in ``samtools stats`` output.', + properties: { + gc_content: { + title: 'Gc Content', + type: 'number' + }, + unique_seq_percentiles: { + title: 'Unique Seq Percentiles', + type: 'number' + }, + dp_percentile_10: { + title: 'Dp Percentile 10', + type: 'number' + }, + dp_percentile_25: { + title: 'Dp Percentile 25', + type: 'number' + }, + dp_percentile_50: { + title: 'Dp Percentile 50', + type: 'number' + }, + dp_percentile_75: { + title: 'Dp Percentile 75', + type: 'number' + }, + dp_percentile_90: { + title: 'Dp Percentile 90', + type: 'number' + } + }, + required: ['gc_content', 'unique_seq_percentiles', 'dp_percentile_10', 'dp_percentile_25', 'dp_percentile_50', 'dp_percentile_75', 'dp_percentile_90'], + title: 'SamtoolsStatsGcdRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsHistoRecordList = { + type: 'array', + title: 'SamtoolsStatsHistoRecordList', + items: { + description: `A record for a value/count pair. + +Used for \`\`MAPQ\`\`, \`\`ID\`\`, \`\`COV\`\``, + properties: { + value: { + title: 'Value', + type: 'integer' + }, + count: { + title: 'Count', + type: 'integer' + } + }, + required: ['value', 'count'], + title: 'SamtoolsStatsHistoRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsIcRecordList = { + type: 'array', + title: 'SamtoolsStatsIcRecordList', + items: { + description: 'A record for the ``IC`` lines in ``samtools stats`` output.', + properties: { + cycle: { + title: 'Cycle', + type: 'integer' + }, + ins_fwd: { + title: 'Ins Fwd', + type: 'integer' + }, + dels_fwd: { + title: 'Dels Fwd', + type: 'integer' + }, + ins_rev: { + title: 'Ins Rev', + type: 'integer' + }, + dels_rev: { + title: 'Dels Rev', + type: 'integer' + } + }, + required: ['cycle', 'ins_fwd', 'dels_fwd', 'ins_rev', 'dels_rev'], + title: 'SamtoolsStatsIcRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsIdRecordList = { + type: 'array', + title: 'SamtoolsStatsIdRecordList', + items: { + description: 'A record for the ``ID`` lines in ``samtools stats`` output.', + properties: { + length: { + title: 'Length', + type: 'integer' + }, + ins: { + title: 'Ins', + type: 'integer' + }, + dels: { + title: 'Dels', + type: 'integer' + } + }, + required: ['length', 'ins', 'dels'], + title: 'SamtoolsStatsIdRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsIsRecordList = { + type: 'array', + title: 'SamtoolsStatsIsRecordList', + items: { + description: 'Records for the ``IS`` records.', + properties: { + insert_size: { + title: 'Insert Size', + type: 'integer' + }, + pairs_total: { + title: 'Pairs Total', + type: 'integer' + }, + pairs_inward: { + title: 'Pairs Inward', + type: 'integer' + }, + pairs_outward: { + title: 'Pairs Outward', + type: 'integer' + }, + pairs_other: { + title: 'Pairs Other', + type: 'integer' + } + }, + required: ['insert_size', 'pairs_total', 'pairs_inward', 'pairs_outward', 'pairs_other'], + title: 'SamtoolsStatsIsRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsMainMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + sn: { + '$ref': '#/components/schemas/SamtoolsStatsSnRecordList' + }, + chk: { + '$ref': '#/components/schemas/SamtoolsStatsChkRecordList' + }, + isize: { + '$ref': '#/components/schemas/SamtoolsStatsIsRecordList' + }, + cov: { + '$ref': '#/components/schemas/SamtoolsStatsHistoRecordList' + }, + gcd: { + '$ref': '#/components/schemas/SamtoolsStatsGcdRecordList' + }, + frl: { + '$ref': '#/components/schemas/SamtoolsStatsHistoRecordList' + }, + lrl: { + '$ref': '#/components/schemas/SamtoolsStatsHistoRecordList' + }, + idd: { + '$ref': '#/components/schemas/SamtoolsStatsIdRecordList' + }, + ffq: { + '$ref': '#/components/schemas/SamtoolsStatsFqRecordList' + }, + lfq: { + '$ref': '#/components/schemas/SamtoolsStatsFqRecordList' + }, + fbc: { + '$ref': '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + }, + lbc: { + '$ref': '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'chk', 'cov', 'date_created', 'date_modified', 'fbc', 'ffq', 'frl', 'gcd', 'idd', 'isize', 'lbc', 'lfq', 'lrl', 'sample', 'sn', 'sodar_uuid'] +} as const; + +export const $SamtoolsStatsSnRecordList = { + type: 'array', + title: 'SamtoolsStatsSnRecordList', + items: { + description: 'A Record from the ``SN`` lines in ``samtools stats`` output.', + properties: { + key: { + title: 'Key', + type: 'string' + }, + value: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'number' + }, + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Value' + } + }, + required: ['key', 'value'], + title: 'SamtoolsStatsSnRecord', + type: 'object' + } +} as const; + +export const $SamtoolsStatsSupplementaryMetrics = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + caseqc: { + type: 'string', + format: 'uuid', + readOnly: true + }, + gcf: { + '$ref': '#/components/schemas/SamtoolsStatsGcRecordList' + }, + gcl: { + '$ref': '#/components/schemas/SamtoolsStatsGcRecordList' + }, + gcc: { + '$ref': '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + }, + gct: { + '$ref': '#/components/schemas/SamtoolsStatsBasePercentagesRecordList' + }, + rl: { + '$ref': '#/components/schemas/SamtoolsStatsHistoRecordList' + }, + mapq: { + '$ref': '#/components/schemas/SamtoolsStatsHistoRecordList' + }, + ic: { + '$ref': '#/components/schemas/SamtoolsStatsIcRecordList' + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + sample: { + type: 'string', + maxLength: 200 + } + }, + required: ['caseqc', 'date_created', 'date_modified', 'gcc', 'gcf', 'gcl', 'gct', 'ic', 'mapq', 'rl', 'sample', 'sodar_uuid'] +} as const; + +export const $SchemaField = { + description: 'A record for the ``flagstat`` lines in ``samtools stats`` output.', + properties: { + total: { + default: 0, + title: 'Total', + type: 'integer' + }, + primary: { + default: 0, + title: 'Primary', + type: 'integer' + }, + secondary: { + default: 0, + title: 'Secondary', + type: 'integer' + }, + supplementary: { + default: 0, + title: 'Supplementary', + type: 'integer' + }, + duplicates: { + default: 0, + title: 'Duplicates', + type: 'integer' + }, + duplicates_primary: { + default: 0, + title: 'Duplicates Primary', + type: 'integer' + }, + mapped: { + default: 0, + title: 'Mapped', + type: 'integer' + }, + mapped_primary: { + default: 0, + title: 'Mapped Primary', + type: 'integer' + }, + paired: { + default: 0, + title: 'Paired', + type: 'integer' + }, + fragment_first: { + default: 0, + title: 'Fragment First', + type: 'integer' + }, + fragment_last: { + default: 0, + title: 'Fragment Last', + type: 'integer' + }, + properly_paired: { + default: 0, + title: 'Properly Paired', + type: 'integer' + }, + with_itself_and_mate_mapped: { + default: 0, + title: 'With Itself And Mate Mapped', + type: 'integer' + }, + singletons: { + default: 0, + title: 'Singletons', + type: 'integer' + }, + with_mate_mapped_to_different_chr: { + default: 0, + title: 'With Mate Mapped To Different Chr', + type: 'integer' + }, + with_mate_mapped_to_different_chr_mapq5: { + default: 0, + title: 'With Mate Mapped To Different Chr Mapq5', + type: 'integer' + } + }, + title: 'SamtoolsFlagstatRecord', + type: 'object' +} as const; + +export const $SeqvarsColumnConfigList = { + type: 'array', + title: 'SeqvarsColumnConfigList', + items: { + description: 'Configuration for a single column in the result table.', + properties: { + name: { + title: 'Name', + type: 'string' + }, + label: { + title: 'Label', + type: 'string' + }, + description: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + default: null, + title: 'Description' + }, + width: { + title: 'Width', + type: 'integer' + }, + visible: { + title: 'Visible', + type: 'boolean' + } + }, + required: ['name', 'label', 'width', 'visible'], + title: 'SeqvarsColumnConfig', + type: 'object' + } +} as const; + +export const $SeqvarsGenotypeChoice = { + description: 'Store genotype choice of a ``SampleGenotype``.', + enum: ['any', 'ref', 'het', 'hom', 'non-hom', 'variant', 'comphet_index', 'recessive_index', 'recessive_parent'], + title: 'SeqvarsGenotypeChoice', + type: 'string' +} as const; + +export const $SeqvarsPredefinedQuery = { + type: 'object', + description: 'Serializer for ``PredefinedQuery``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + included_in_sop: { + type: 'boolean', + default: false + }, + genotype: { + allOf: [ + { + '$ref': '#/components/schemas/SchemaField' + } + ], + default: { + choice: null + } + }, + quality: { + type: 'string', + format: 'uuid', + nullable: true + }, + frequency: { + type: 'string', + format: 'uuid', + nullable: true + }, + consequence: { + type: 'string', + format: 'uuid', + nullable: true + }, + locus: { + type: 'string', + format: 'uuid', + nullable: true + }, + phenotypeprio: { + type: 'string', + format: 'uuid', + nullable: true + }, + variantprio: { + type: 'string', + format: 'uuid', + nullable: true + }, + clinvar: { + type: 'string', + format: 'uuid', + nullable: true + }, + columns: { + type: 'string', + format: 'uuid', + nullable: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsPrioServiceList = { + type: 'array', + title: 'SeqvarsPrioServiceList', + items: { + description: 'Representation of a variant pathogenicity service.', + properties: { + name: { + title: 'Name', + type: 'string' + }, + version: { + title: 'Version', + type: 'string' + } + }, + required: ['name', 'version'], + title: 'SeqvarsPrioService', + type: 'object' + } +} as const; + +export const $SeqvarsQuery = { + type: 'object', + description: 'Serializer for ``Query``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + settings: { + type: 'string', + format: 'uuid', + readOnly: true + }, + columnsconfig: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['columnsconfig', 'date_created', 'date_modified', 'label', 'session', 'settings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryColumnsConfig = { + type: 'object', + description: 'Serializer for ``QueryColumnsConfig``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + column_settings: { + '$ref': '#/components/schemas/SeqvarsColumnConfigList' + } + }, + required: ['date_created', 'date_modified', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryDetails = { + type: 'object', + description: `Serializer for \`\`Query\`\` (for \`\`*-detail\`\`). + +For retrieve, update, or delete operations, we also render the nested query settings +in detail.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + settings: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsDetails' + }, + columnsconfig: { + '$ref': '#/components/schemas/SeqvarsQueryColumnsConfig' + } + }, + required: ['columnsconfig', 'date_created', 'date_modified', 'label', 'session', 'settings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryExecution = { + type: 'object', + description: 'Serializer for ``QueryExecution``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + state: { + allOf: [ + { + '$ref': '#/components/schemas/SeqvarsQueryExecutionStateEnum' + } + ], + readOnly: true + }, + complete_percent: { + type: 'integer', + readOnly: true, + nullable: true + }, + start_time: { + type: 'string', + format: 'date-time', + readOnly: true, + nullable: true + }, + end_time: { + type: 'string', + format: 'date-time', + readOnly: true, + nullable: true + }, + elapsed_seconds: { + type: 'number', + format: 'double', + readOnly: true, + nullable: true + }, + query: { + type: 'string', + format: 'uuid', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['complete_percent', 'date_created', 'date_modified', 'elapsed_seconds', 'end_time', 'query', 'querysettings', 'sodar_uuid', 'start_time', 'state'] +} as const; + +export const $SeqvarsQueryExecutionDetails = { + type: 'object', + description: 'Serializer for ``QueryExecution``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + state: { + allOf: [ + { + '$ref': '#/components/schemas/SeqvarsQueryExecutionStateEnum' + } + ], + readOnly: true + }, + complete_percent: { + type: 'integer', + readOnly: true, + nullable: true + }, + start_time: { + type: 'string', + format: 'date-time', + readOnly: true, + nullable: true + }, + end_time: { + type: 'string', + format: 'date-time', + readOnly: true, + nullable: true + }, + elapsed_seconds: { + type: 'number', + format: 'double', + readOnly: true, + nullable: true + }, + query: { + type: 'string', + format: 'uuid', + readOnly: true + }, + querysettings: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsDetails' + } + }, + required: ['complete_percent', 'date_created', 'date_modified', 'elapsed_seconds', 'end_time', 'query', 'querysettings', 'sodar_uuid', 'start_time', 'state'] +} as const; + +export const $SeqvarsQueryExecutionStateEnum = { + enum: ['initial', 'queued', 'running', 'failed', 'canceled', 'done'], + type: 'string', + description: `* \`initial\` - initial +* \`queued\` - queued +* \`running\` - running +* \`failed\` - failed +* \`canceled\` - canceled +* \`done\` - done` +} as const; + +export const $SeqvarsQueryPresetsClinvar = { + type: 'object', + description: `Serializer for \`\`QueryPresetsClinvar\`\`. + +Not used directly but used as base class.`, + properties: { + clinvar_presence_required: { + type: 'boolean', + default: false + }, + clinvar_germline_aggregate_description: { + '$ref': '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + }, + allow_conflicting_interpretations: { + type: 'boolean', + default: false + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsColumns = { + type: 'object', + description: `Serializer for \`\`QueryPresetsColumns\`\`. + +Not used directly but used as base class.`, + properties: { + column_settings: { + '$ref': '#/components/schemas/SeqvarsColumnConfigList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsConsequence = { + type: 'object', + description: `Serializer for \`\`QueryPresetsConsequence\`\`. + +Not used directly but used as base class.`, + properties: { + variant_types: { + '$ref': '#/components/schemas/SeqvarsVariantTypeChoiceList' + }, + transcript_types: { + '$ref': '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + }, + variant_consequences: { + '$ref': '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + }, + max_distance_to_exon: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsFrequency = { + type: 'object', + description: `Serializer for \`\`QueryPresetsFrequency\`\`. + +Not used directly but used as base class.`, + properties: { + gnomad_exomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_exomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_exomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_hemizygous: { + type: 'boolean', + nullable: true + }, + gnomad_genomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_genomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_genomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_hemizygous: { + type: 'boolean', + nullable: true + }, + helixmtdb_enabled: { + type: 'boolean', + default: false + }, + helixmtdb_heteroplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_homoplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + inhouse_enabled: { + type: 'boolean', + default: false + }, + inhouse_carriers: { + type: 'integer', + nullable: true + }, + inhouse_homozygous: { + type: 'integer', + nullable: true + }, + inhouse_heterozygous: { + type: 'integer', + nullable: true + }, + inhouse_hemizygous: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsLocus = { + type: 'object', + description: `Serializer for \`\`QueryPresetsLocus\`\`. + +Not used directly but used as base class.`, + properties: { + genes: { + '$ref': '#/components/schemas/GeneList' + }, + gene_panels: { + '$ref': '#/components/schemas/GenePanelList' + }, + genome_regions: { + '$ref': '#/components/schemas/GenomeRegionList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsPhenotypePrio = { + type: 'object', + description: `Serializer for \`\`QueryPresetsPhenotypePrio\`\`. + +Not used directly but used as base class.`, + properties: { + phenotype_prio_enabled: { + type: 'boolean', + default: false + }, + phenotype_prio_algorithm: { + type: 'string', + nullable: true, + maxLength: 128 + }, + terms: { + '$ref': '#/components/schemas/TermPresenceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsQuality = { + type: 'object', + description: `Serializer for \`\`QueryPresetsQuality\`\`. + +Not used directly but used as base class.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + filter_active: { + type: 'boolean', + default: false + }, + min_dp_het: { + type: 'integer', + nullable: true + }, + min_dp_hom: { + type: 'integer', + nullable: true + }, + min_ab_het: { + type: 'number', + format: 'double', + nullable: true + }, + min_gq: { + type: 'integer', + nullable: true + }, + min_ad: { + type: 'integer', + nullable: true + }, + max_ad: { + type: 'integer', + nullable: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsSet = { + type: 'object', + description: 'Serializer for ``QueryPresetsSet``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'project', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsSetDetails = { + type: 'object', + description: 'Serializer for ``QueryPresetsSet`` that renders all nested versions.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + project: { + type: 'string', + format: 'uuid', + description: 'Project SODAR UUID', + readOnly: true + }, + versions: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsSetVersionDetails' + }, + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'project', 'sodar_uuid', 'versions'] +} as const; + +export const $SeqvarsQueryPresetsSetVersion = { + type: 'object', + description: 'Serializer for ``QueryPresetsSetVersion``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + presetsset: { + type: 'string', + format: 'uuid', + readOnly: true + }, + version_major: { + type: 'integer', + default: 1 + }, + version_minor: { + type: 'integer', + default: 0 + }, + status: { + type: 'string', + default: 'draft' + }, + signed_off_by: { + allOf: [ + { + '$ref': '#/components/schemas/SODARUser' + } + ], + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'presetsset', 'signed_off_by', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsSetVersionDetails = { + type: 'object', + description: `Serializer for \`\`QueryPresetsSetVersion\`\` (for \`\`*-detail\`\`). + +When retrieving the details of a seqvar query preset set version, we also render the +owned records as well as the presetsset.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + presetsset: { + allOf: [ + { + '$ref': '#/components/schemas/SeqvarsQueryPresetsSet' + } + ], + readOnly: true + }, + version_major: { + type: 'integer', + default: 1 + }, + version_minor: { + type: 'integer', + default: 0 + }, + status: { + type: 'string', + default: 'draft' + }, + signed_off_by: { + allOf: [ + { + '$ref': '#/components/schemas/SODARUser' + } + ], + readOnly: true + }, + seqvarsquerypresetsquality_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsQuality' + }, + readOnly: true + }, + seqvarsquerypresetsfrequency_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsFrequency' + }, + readOnly: true + }, + seqvarsquerypresetsconsequence_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsConsequence' + }, + readOnly: true + }, + seqvarsquerypresetslocus_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsLocus' + }, + readOnly: true + }, + seqvarsquerypresetsphenotypeprio_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsPhenotypePrio' + }, + readOnly: true + }, + seqvarsquerypresetsvariantprio_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsVariantPrio' + }, + readOnly: true + }, + seqvarsquerypresetsclinvar_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsClinvar' + }, + readOnly: true + }, + seqvarsquerypresetscolumns_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsQueryPresetsColumns' + }, + readOnly: true + }, + seqvarspredefinedquery_set: { + type: 'array', + items: { + '$ref': '#/components/schemas/SeqvarsPredefinedQuery' + }, + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'presetsset', 'seqvarspredefinedquery_set', 'seqvarsquerypresetsclinvar_set', 'seqvarsquerypresetscolumns_set', 'seqvarsquerypresetsconsequence_set', 'seqvarsquerypresetsfrequency_set', 'seqvarsquerypresetslocus_set', 'seqvarsquerypresetsphenotypeprio_set', 'seqvarsquerypresetsquality_set', 'seqvarsquerypresetsvariantprio_set', 'signed_off_by', 'sodar_uuid'] +} as const; + +export const $SeqvarsQueryPresetsVariantPrio = { + type: 'object', + description: `Serializer for \`\`QueryPresetsVariantPrio\`\`. + +Not used directly but used as base class.`, + properties: { + variant_prio_enabled: { + type: 'boolean', + default: false + }, + services: { + '$ref': '#/components/schemas/SeqvarsPrioServiceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + rank: { + type: 'integer', + default: 1 + }, + label: { + type: 'string', + maxLength: 128 + }, + description: { + type: 'string', + nullable: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'label', 'presetssetversion', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettings = { + type: 'object', + description: 'Serializer for ``QuerySettings``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + genotype: { + type: 'string', + format: 'uuid', + readOnly: true + }, + quality: { + type: 'string', + format: 'uuid', + readOnly: true + }, + consequence: { + type: 'string', + format: 'uuid', + readOnly: true + }, + locus: { + type: 'string', + format: 'uuid', + readOnly: true + }, + frequency: { + type: 'string', + format: 'uuid', + readOnly: true + }, + phenotypeprio: { + type: 'string', + format: 'uuid', + readOnly: true + }, + variantprio: { + type: 'string', + format: 'uuid', + readOnly: true + }, + clinvar: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['clinvar', 'consequence', 'date_created', 'date_modified', 'frequency', 'genotype', 'locus', 'phenotypeprio', 'presetssetversion', 'quality', 'session', 'sodar_uuid', 'variantprio'] +} as const; + +export const $SeqvarsQuerySettingsClinvar = { + type: 'object', + description: 'Serializer for ``QuerySettingsClinvar``.', + properties: { + clinvar_presence_required: { + type: 'boolean', + default: false + }, + clinvar_germline_aggregate_description: { + '$ref': '#/components/schemas/ClinvarGermlineAggregateDescriptionList' + }, + allow_conflicting_interpretations: { + type: 'boolean', + default: false + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsConsequence = { + type: 'object', + description: 'Serializer for ``QuerySettingsConsequence``.', + properties: { + variant_types: { + '$ref': '#/components/schemas/SeqvarsVariantTypeChoiceList' + }, + transcript_types: { + '$ref': '#/components/schemas/SeqvarsTranscriptTypeChoiceList' + }, + variant_consequences: { + '$ref': '#/components/schemas/SeqvarsVariantConsequenceChoiceList' + }, + max_distance_to_exon: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsDetails = { + type: 'object', + description: `Serializer for \`\`QuerySettings\`\` (for \`\`*-detail\`\`). + +For retrieve, update, or delete operations, we also render the nested +owned category settings.`, + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + session: { + type: 'string', + format: 'uuid', + readOnly: true + }, + presetssetversion: { + type: 'string', + format: 'uuid', + readOnly: true + }, + genotype: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsGenotype' + }, + quality: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsQuality' + }, + consequence: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsConsequence' + }, + locus: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsLocus' + }, + frequency: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsFrequency' + }, + phenotypeprio: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsPhenotypePrio' + }, + variantprio: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsVariantPrio' + }, + clinvar: { + '$ref': '#/components/schemas/SeqvarsQuerySettingsClinvar' + } + }, + required: ['clinvar', 'consequence', 'date_created', 'date_modified', 'frequency', 'genotype', 'locus', 'phenotypeprio', 'presetssetversion', 'quality', 'session', 'sodar_uuid', 'variantprio'] +} as const; + +export const $SeqvarsQuerySettingsFrequency = { + type: 'object', + description: 'Serializer for ``QuerySettingsFrequency``.', + properties: { + gnomad_exomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_exomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_exomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_exomes_hemizygous: { + type: 'boolean', + nullable: true + }, + gnomad_genomes_enabled: { + type: 'boolean', + default: false + }, + gnomad_genomes_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + gnomad_genomes_homozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_heterozygous: { + type: 'integer', + nullable: true + }, + gnomad_genomes_hemizygous: { + type: 'boolean', + nullable: true + }, + helixmtdb_enabled: { + type: 'boolean', + default: false + }, + helixmtdb_heteroplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_homoplasmic: { + type: 'integer', + nullable: true + }, + helixmtdb_frequency: { + type: 'number', + format: 'double', + nullable: true + }, + inhouse_enabled: { + type: 'boolean', + default: false + }, + inhouse_carriers: { + type: 'integer', + nullable: true + }, + inhouse_homozygous: { + type: 'integer', + nullable: true + }, + inhouse_heterozygous: { + type: 'integer', + nullable: true + }, + inhouse_hemizygous: { + type: 'integer', + nullable: true + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsGenotype = { + type: 'object', + description: 'Serializer for ``QuerySettingsGenotype``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + }, + sample_genotype_choices: { + '$ref': '#/components/schemas/SeqvarsSampleGenotypeChoiceList' + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsLocus = { + type: 'object', + description: 'Serializer for ``QuerySettingsLocus``.', + properties: { + genes: { + '$ref': '#/components/schemas/GeneList' + }, + gene_panels: { + '$ref': '#/components/schemas/GenePanelList' + }, + genome_regions: { + '$ref': '#/components/schemas/GenomeRegionList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsPhenotypePrio = { + type: 'object', + description: 'Serializer for ``QuerySettingsPhenotypePrio``.', + properties: { + phenotype_prio_enabled: { + type: 'boolean', + default: false + }, + phenotype_prio_algorithm: { + type: 'string', + nullable: true, + maxLength: 128 + }, + terms: { + '$ref': '#/components/schemas/TermPresenceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsQuality = { + type: 'object', + description: 'Serializer for ``QuerySettingsQuality``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + }, + sample_quality_filters: { + '$ref': '#/components/schemas/SeqvarsSampleQualityFilterList' + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsQuerySettingsVariantPrio = { + type: 'object', + description: 'Serializer for ``QuerySettingsVariantPrio``.', + properties: { + variant_prio_enabled: { + type: 'boolean', + default: false + }, + services: { + '$ref': '#/components/schemas/SeqvarsPrioServiceList' + }, + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + querysettings: { + type: 'string', + format: 'uuid', + readOnly: true + } + }, + required: ['date_created', 'date_modified', 'querysettings', 'sodar_uuid'] +} as const; + +export const $SeqvarsResultRow = { + type: 'object', + description: 'Serializer for ``ResultRow``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + resultset: { + type: 'string', + format: 'uuid', + readOnly: true + }, + release: { + type: 'string', + readOnly: true + }, + chromosome: { + type: 'string', + readOnly: true + }, + chromosome_no: { + type: 'integer', + readOnly: true + }, + start: { + type: 'integer', + readOnly: true + }, + stop: { + type: 'integer', + readOnly: true + }, + reference: { + type: 'string', + readOnly: true + }, + alternative: { + type: 'string', + readOnly: true + }, + payload: { + '$ref': '#/components/schemas/SchemaField' + } + }, + required: ['alternative', 'chromosome', 'chromosome_no', 'payload', 'reference', 'release', 'resultset', 'sodar_uuid', 'start', 'stop'] +} as const; + +export const $SeqvarsResultSet = { + type: 'object', + description: 'Serializer for ``ResultSet``.', + properties: { + sodar_uuid: { + type: 'string', + format: 'uuid', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true + }, + queryexecution: { + type: 'string', + format: 'uuid', + readOnly: true + }, + datasource_infos: { + '$ref': '#/components/schemas/SchemaField' + } + }, + required: ['datasource_infos', 'date_created', 'date_modified', 'queryexecution', 'sodar_uuid'] +} as const; + +export const $SeqvarsSampleGenotypeChoiceList = { + type: 'array', + title: 'SeqvarsSampleGenotypeChoiceList', + items: { + description: 'Store the genotype of a sample.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + genotype: { + '$ref': '#/components/schemas/SeqvarsGenotypeChoice' + } + }, + required: ['sample', 'genotype'], + title: 'SeqvarsSampleGenotypeChoice', + type: 'object' + } +} as const; + +export const $SeqvarsSampleQualityFilterList = { + type: 'array', + title: 'SeqvarsSampleQualityFilterList', + items: { + description: 'Stores per-sample quality filter settings for a particular query.', + properties: { + sample: { + title: 'Sample', + type: 'string' + }, + filter_active: { + default: false, + title: 'Filter Active', + type: 'boolean' + }, + min_dp_het: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Min Dp Het' + }, + min_dp_hom: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Min Dp Hom' + }, + min_ab_het: { + anyOf: [ + { + type: 'number' + }, + { + type: 'null' + } + ], + default: null, + title: 'Min Ab Het' + }, + min_gq: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Min Gq' + }, + min_ad: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Min Ad' + }, + max_ad: { + anyOf: [ + { + type: 'integer' + }, + { + type: 'null' + } + ], + default: null, + title: 'Max Ad' + } + }, + required: ['sample'], + title: 'SeqvarsSampleQualityFilter', + type: 'object' + } +} as const; + +export const $SeqvarsTranscriptTypeChoiceList = { + type: 'array', + title: 'SeqvarsTranscriptTypeChoiceList', + items: { + type: 'string', + title: 'SeqvarsTranscriptTypeChoice', + enum: ['coding', 'non_coding'] + } +} as const; + +export const $SeqvarsVariantConsequenceChoiceList = { + type: 'array', + title: 'SeqvarsVariantConsequenceChoiceList', + items: { + type: 'string', + title: 'SeqvarsVariantConsequenceChoice', + enum: ['frameshift_variant', 'rare_amino_acid_variant', 'splice_acceptor_variant', 'splice_donor_variant', 'start_lost', 'stop_gained', 'stop_lost', '3_prime_UTR_truncation', '5_prime_UTR_truncation', 'conservative_inframe_deletion', 'conservative_inframe_insertion', 'disruptive_inframe_deletion', 'disruptive_inframe_insertion', 'missense_variant', 'splice_region_variant', 'initiator_codon_variant', 'start_retained', 'stop_retained_variant', 'synonymous_variant', 'downstream_gene_variant', 'intron_variant', 'non_coding_transcript_exon_variant', 'non_coding_transcript_intron_variant', '5_prime_UTR_variant', 'coding_sequence_variant', 'upstream_gene_variant', '3_prime_UTR_variant-exon_variant', '5_prime_UTR_variant-exon_variant', '3_prime_UTR_variant-intron_variant', '5_prime_UTR_variant-intron_variant'] + } +} as const; + +export const $SeqvarsVariantTypeChoiceList = { + type: 'array', + title: 'SeqvarsVariantTypeChoiceList', + items: { + type: 'string', + title: 'SeqvarsVariantTypeChoice', + enum: ['snv', 'indel', 'mnv', 'complex_substitution'] + } +} as const; + +export const $SvAnnotationReleaseInfo = { + type: 'object', + description: 'Base serializer for any SODAR model with a sodar_uuid field', + properties: { + genomebuild: { + type: 'string', + readOnly: true + }, + table: { + type: 'string', + readOnly: true + }, + timestamp: { + type: 'string', + format: 'date-time', + readOnly: true + }, + release: { + type: 'string', + readOnly: true + } + }, + required: ['genomebuild', 'release', 'table', 'timestamp'] +} as const; + +export const $TargetBedFile = { + type: 'object', + description: 'Serializer for ``TargetBedFile``.', + properties: { + sodar_uuid: { + type: 'string', + readOnly: true + }, + date_created: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of creation' + }, + date_modified: { + type: 'string', + format: 'date-time', + readOnly: true, + description: 'DateTime of last modification' + }, + enrichmentkit: { + type: 'string', + format: 'uuid', + description: 'Record SODAR UUID', + readOnly: true + }, + file_uri: { + type: 'string', + description: "The file's URI.", + maxLength: 512 + }, + genome_release: { + allOf: [ + { + '$ref': '#/components/schemas/GenomeReleaseEnum' + } + ], + default: 'grch37', + description: `The file's reference genome. + +* \`grch37\` - GRCh37 +* \`grch38\` - GRCh38` + } + }, + required: ['date_created', 'date_modified', 'enrichmentkit', 'file_uri', 'sodar_uuid'] +} as const; + +export const $Term = { + description: 'Representation of a condition (phenotype / disease) term.', + properties: { + term_id: { + title: 'Term Id', + type: 'string' + }, + label: { + anyOf: [ + { + type: 'string' + }, + { + type: 'null' + } + ], + title: 'Label' + } + }, + required: ['term_id', 'label'], + title: 'Term', + type: 'object' +} as const; + +export const $TermPresenceList = { + type: 'array', + title: 'TermPresenceList', + items: { + description: 'Representation of a term with optional presence (default is not excluded).', + properties: { + term: { + '$ref': '#/components/schemas/Term' + }, + excluded: { + anyOf: [ + { + type: 'boolean' + }, + { + type: 'null' + } + ], + default: null, + title: 'Excluded' + } + }, + required: ['term'], + title: 'TermPresence', + type: 'object' + } +} as const; + +export const $VarfishStats = { + type: 'object', + description: 'Serializer for common-denominator stats objects', + properties: { + samples: { + '$ref': '#/components/schemas/strList' + }, + readstats: { + '$ref': '#/components/schemas/SampleReadStatsList' + }, + alignmentstats: { + '$ref': '#/components/schemas/SampleAlignmentStatsList' + }, + seqvarstats: { + '$ref': '#/components/schemas/SampleSeqvarStatsList' + }, + strucvarstats: { + '$ref': '#/components/schemas/SampleStrucvarStatsList' + } + }, + required: ['alignmentstats', 'readstats', 'samples', 'seqvarstats', 'strucvarstats'] +} as const; + +export const $strList = { + type: 'array', + items: { + type: 'string' + } +} as const; \ No newline at end of file diff --git a/frontend/ext/varfish-api/src/lib/services.gen.ts b/frontend/ext/varfish-api/src/lib/services.gen.ts new file mode 100644 index 000000000..55df0378d --- /dev/null +++ b/frontend/ext/varfish-api/src/lib/services.gen.ts @@ -0,0 +1,1551 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import { client, type Options } from '@hey-api/client-fetch'; +import type { CasesAnalysisApiCaseanalysisListData, CasesAnalysisApiCaseanalysisListError, CasesAnalysisApiCaseanalysisListResponse, CasesAnalysisApiCaseanalysisRetrieveData, CasesAnalysisApiCaseanalysisRetrieveError, CasesAnalysisApiCaseanalysisRetrieveResponse, CasesAnalysisApiCaseanalysissessionListData, CasesAnalysisApiCaseanalysissessionListError, CasesAnalysisApiCaseanalysissessionListResponse, CasesAnalysisApiCaseanalysissessionRetrieveData, CasesAnalysisApiCaseanalysissessionRetrieveError, CasesAnalysisApiCaseanalysissessionRetrieveResponse, CasesImportApiCaseImportActionListCreateListData, CasesImportApiCaseImportActionListCreateListError, CasesImportApiCaseImportActionListCreateListResponse, CasesImportApiCaseImportActionListCreateCreateData, CasesImportApiCaseImportActionListCreateCreateError, CasesImportApiCaseImportActionListCreateCreateResponse, CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveData, CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveError, CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveResponse, CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateData, CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateError, CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateResponse, CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateData, CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateError, CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateResponse, CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyData, CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyError, CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyResponse, CasesQcApiCaseqcRetrieveRetrieveData, CasesQcApiCaseqcRetrieveRetrieveError, CasesQcApiCaseqcRetrieveRetrieveResponse, CasesQcApiVarfishstatsRetrieveRetrieveData, CasesQcApiVarfishstatsRetrieveRetrieveError, CasesQcApiVarfishstatsRetrieveRetrieveResponse, CasesApiAnnotationReleaseInfoListListData, CasesApiAnnotationReleaseInfoListListError, CasesApiAnnotationReleaseInfoListListResponse, CasesApiCaseCommentListCreateListData, CasesApiCaseCommentListCreateListError, CasesApiCaseCommentListCreateListResponse, CasesApiCaseCommentListCreateCreateData, CasesApiCaseCommentListCreateCreateError, CasesApiCaseCommentListCreateCreateResponse, CasesApiCasePhenotypeTermsListCreateListData, CasesApiCasePhenotypeTermsListCreateListError, CasesApiCasePhenotypeTermsListCreateListResponse, CasesApiCasePhenotypeTermsListCreateCreateData, CasesApiCasePhenotypeTermsListCreateCreateError, CasesApiCasePhenotypeTermsListCreateCreateResponse, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveData, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveError, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveResponse, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateData, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateError, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateResponse, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateData, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateError, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateResponse, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyData, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyError, CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyResponse, CasesApiCaseListListData, CasesApiCaseListListError, CasesApiCaseListListResponse, CasesApiCaseRetrieveUpdateDestroyRetrieveData, CasesApiCaseRetrieveUpdateDestroyRetrieveError, CasesApiCaseRetrieveUpdateDestroyRetrieveResponse, CasesApiCaseRetrieveUpdateDestroyUpdateData, CasesApiCaseRetrieveUpdateDestroyUpdateError, CasesApiCaseRetrieveUpdateDestroyUpdateResponse, CasesApiCaseRetrieveUpdateDestroyPartialUpdateData, CasesApiCaseRetrieveUpdateDestroyPartialUpdateError, CasesApiCaseRetrieveUpdateDestroyPartialUpdateResponse, CasesApiCaseRetrieveUpdateDestroyDestroyData, CasesApiCaseRetrieveUpdateDestroyDestroyError, CasesApiCaseRetrieveUpdateDestroyDestroyResponse, CasesApiSvAnnotationReleaseInfoListListData, CasesApiSvAnnotationReleaseInfoListListError, CasesApiSvAnnotationReleaseInfoListListResponse, GenepanelsApiGenepanelCategoryListListError, GenepanelsApiGenepanelCategoryListListResponse, GenepanelsApiLookupGenepanelRetrieveError, GenepanelsApiLookupGenepanelRetrieveResponse, SeqmetaApiEnrichmentkitListCreateListError, SeqmetaApiEnrichmentkitListCreateListResponse, SeqmetaApiEnrichmentkitListCreateCreateData, SeqmetaApiEnrichmentkitListCreateCreateError, SeqmetaApiEnrichmentkitListCreateCreateResponse, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveData, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveError, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveResponse, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateData, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateError, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateResponse, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateData, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateError, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateResponse, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyData, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyError, SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyResponse, SeqmetaApiTargetbedfileListCreateListData, SeqmetaApiTargetbedfileListCreateListError, SeqmetaApiTargetbedfileListCreateListResponse, SeqmetaApiTargetbedfileListCreateCreateData, SeqmetaApiTargetbedfileListCreateCreateError, SeqmetaApiTargetbedfileListCreateCreateResponse, SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveData, SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveError, SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveResponse, SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateData, SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateError, SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateResponse, SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateData, SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateError, SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateResponse, SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyData, SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyError, SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyResponse, SeqvarsApiPredefinedqueryListData, SeqvarsApiPredefinedqueryListError, SeqvarsApiPredefinedqueryListResponse, SeqvarsApiPredefinedqueryCreateData, SeqvarsApiPredefinedqueryCreateError, SeqvarsApiPredefinedqueryCreateResponse, SeqvarsApiPredefinedqueryRetrieveData, SeqvarsApiPredefinedqueryRetrieveError, SeqvarsApiPredefinedqueryRetrieveResponse, SeqvarsApiPredefinedqueryUpdateData, SeqvarsApiPredefinedqueryUpdateError, SeqvarsApiPredefinedqueryUpdateResponse, SeqvarsApiPredefinedqueryPartialUpdateData, SeqvarsApiPredefinedqueryPartialUpdateError, SeqvarsApiPredefinedqueryPartialUpdateResponse, SeqvarsApiPredefinedqueryDestroyData, SeqvarsApiPredefinedqueryDestroyError, SeqvarsApiPredefinedqueryDestroyResponse, SeqvarsApiQueryListData, SeqvarsApiQueryListError, SeqvarsApiQueryListResponse, SeqvarsApiQueryCreateData, SeqvarsApiQueryCreateError, SeqvarsApiQueryCreateResponse, SeqvarsApiQueryRetrieveData, SeqvarsApiQueryRetrieveError, SeqvarsApiQueryRetrieveResponse, SeqvarsApiQueryUpdateData, SeqvarsApiQueryUpdateError, SeqvarsApiQueryUpdateResponse, SeqvarsApiQueryPartialUpdateData, SeqvarsApiQueryPartialUpdateError, SeqvarsApiQueryPartialUpdateResponse, SeqvarsApiQueryDestroyData, SeqvarsApiQueryDestroyError, SeqvarsApiQueryDestroyResponse, SeqvarsApiQueryexecutionListData, SeqvarsApiQueryexecutionListError, SeqvarsApiQueryexecutionListResponse, SeqvarsApiQueryexecutionRetrieveData, SeqvarsApiQueryexecutionRetrieveError, SeqvarsApiQueryexecutionRetrieveResponse, SeqvarsApiQuerypresetsclinvarListData, SeqvarsApiQuerypresetsclinvarListError, SeqvarsApiQuerypresetsclinvarListResponse, SeqvarsApiQuerypresetsclinvarCreateData, SeqvarsApiQuerypresetsclinvarCreateError, SeqvarsApiQuerypresetsclinvarCreateResponse, SeqvarsApiQuerypresetsclinvarRetrieveData, SeqvarsApiQuerypresetsclinvarRetrieveError, SeqvarsApiQuerypresetsclinvarRetrieveResponse, SeqvarsApiQuerypresetsclinvarUpdateData, SeqvarsApiQuerypresetsclinvarUpdateError, SeqvarsApiQuerypresetsclinvarUpdateResponse, SeqvarsApiQuerypresetsclinvarPartialUpdateData, SeqvarsApiQuerypresetsclinvarPartialUpdateError, SeqvarsApiQuerypresetsclinvarPartialUpdateResponse, SeqvarsApiQuerypresetsclinvarDestroyData, SeqvarsApiQuerypresetsclinvarDestroyError, SeqvarsApiQuerypresetsclinvarDestroyResponse, SeqvarsApiQuerypresetscolumnsListData, SeqvarsApiQuerypresetscolumnsListError, SeqvarsApiQuerypresetscolumnsListResponse, SeqvarsApiQuerypresetscolumnsCreateData, SeqvarsApiQuerypresetscolumnsCreateError, SeqvarsApiQuerypresetscolumnsCreateResponse, SeqvarsApiQuerypresetscolumnsRetrieveData, SeqvarsApiQuerypresetscolumnsRetrieveError, SeqvarsApiQuerypresetscolumnsRetrieveResponse, SeqvarsApiQuerypresetscolumnsUpdateData, SeqvarsApiQuerypresetscolumnsUpdateError, SeqvarsApiQuerypresetscolumnsUpdateResponse, SeqvarsApiQuerypresetscolumnsPartialUpdateData, SeqvarsApiQuerypresetscolumnsPartialUpdateError, SeqvarsApiQuerypresetscolumnsPartialUpdateResponse, SeqvarsApiQuerypresetscolumnsDestroyData, SeqvarsApiQuerypresetscolumnsDestroyError, SeqvarsApiQuerypresetscolumnsDestroyResponse, SeqvarsApiQuerypresetsconsequenceListData, SeqvarsApiQuerypresetsconsequenceListError, SeqvarsApiQuerypresetsconsequenceListResponse, SeqvarsApiQuerypresetsconsequenceCreateData, SeqvarsApiQuerypresetsconsequenceCreateError, SeqvarsApiQuerypresetsconsequenceCreateResponse, SeqvarsApiQuerypresetsconsequenceRetrieveData, SeqvarsApiQuerypresetsconsequenceRetrieveError, SeqvarsApiQuerypresetsconsequenceRetrieveResponse, SeqvarsApiQuerypresetsconsequenceUpdateData, SeqvarsApiQuerypresetsconsequenceUpdateError, SeqvarsApiQuerypresetsconsequenceUpdateResponse, SeqvarsApiQuerypresetsconsequencePartialUpdateData, SeqvarsApiQuerypresetsconsequencePartialUpdateError, SeqvarsApiQuerypresetsconsequencePartialUpdateResponse, SeqvarsApiQuerypresetsconsequenceDestroyData, SeqvarsApiQuerypresetsconsequenceDestroyError, SeqvarsApiQuerypresetsconsequenceDestroyResponse, SeqvarsApiQuerypresetsfactorydefaultsListData, SeqvarsApiQuerypresetsfactorydefaultsListError, SeqvarsApiQuerypresetsfactorydefaultsListResponse, SeqvarsApiQuerypresetsfactorydefaultsRetrieveData, SeqvarsApiQuerypresetsfactorydefaultsRetrieveError, SeqvarsApiQuerypresetsfactorydefaultsRetrieveResponse, SeqvarsApiQuerypresetsfrequencyListData, SeqvarsApiQuerypresetsfrequencyListError, SeqvarsApiQuerypresetsfrequencyListResponse, SeqvarsApiQuerypresetsfrequencyCreateData, SeqvarsApiQuerypresetsfrequencyCreateError, SeqvarsApiQuerypresetsfrequencyCreateResponse, SeqvarsApiQuerypresetsfrequencyRetrieveData, SeqvarsApiQuerypresetsfrequencyRetrieveError, SeqvarsApiQuerypresetsfrequencyRetrieveResponse, SeqvarsApiQuerypresetsfrequencyUpdateData, SeqvarsApiQuerypresetsfrequencyUpdateError, SeqvarsApiQuerypresetsfrequencyUpdateResponse, SeqvarsApiQuerypresetsfrequencyPartialUpdateData, SeqvarsApiQuerypresetsfrequencyPartialUpdateError, SeqvarsApiQuerypresetsfrequencyPartialUpdateResponse, SeqvarsApiQuerypresetsfrequencyDestroyData, SeqvarsApiQuerypresetsfrequencyDestroyError, SeqvarsApiQuerypresetsfrequencyDestroyResponse, SeqvarsApiQuerypresetslocusListData, SeqvarsApiQuerypresetslocusListError, SeqvarsApiQuerypresetslocusListResponse, SeqvarsApiQuerypresetslocusCreateData, SeqvarsApiQuerypresetslocusCreateError, SeqvarsApiQuerypresetslocusCreateResponse, SeqvarsApiQuerypresetslocusRetrieveData, SeqvarsApiQuerypresetslocusRetrieveError, SeqvarsApiQuerypresetslocusRetrieveResponse, SeqvarsApiQuerypresetslocusUpdateData, SeqvarsApiQuerypresetslocusUpdateError, SeqvarsApiQuerypresetslocusUpdateResponse, SeqvarsApiQuerypresetslocusPartialUpdateData, SeqvarsApiQuerypresetslocusPartialUpdateError, SeqvarsApiQuerypresetslocusPartialUpdateResponse, SeqvarsApiQuerypresetslocusDestroyData, SeqvarsApiQuerypresetslocusDestroyError, SeqvarsApiQuerypresetslocusDestroyResponse, SeqvarsApiQuerypresetsphenotypeprioListData, SeqvarsApiQuerypresetsphenotypeprioListError, SeqvarsApiQuerypresetsphenotypeprioListResponse, SeqvarsApiQuerypresetsphenotypeprioCreateData, SeqvarsApiQuerypresetsphenotypeprioCreateError, SeqvarsApiQuerypresetsphenotypeprioCreateResponse, SeqvarsApiQuerypresetsphenotypeprioRetrieveData, SeqvarsApiQuerypresetsphenotypeprioRetrieveError, SeqvarsApiQuerypresetsphenotypeprioRetrieveResponse, SeqvarsApiQuerypresetsphenotypeprioUpdateData, SeqvarsApiQuerypresetsphenotypeprioUpdateError, SeqvarsApiQuerypresetsphenotypeprioUpdateResponse, SeqvarsApiQuerypresetsphenotypeprioPartialUpdateData, SeqvarsApiQuerypresetsphenotypeprioPartialUpdateError, SeqvarsApiQuerypresetsphenotypeprioPartialUpdateResponse, SeqvarsApiQuerypresetsphenotypeprioDestroyData, SeqvarsApiQuerypresetsphenotypeprioDestroyError, SeqvarsApiQuerypresetsphenotypeprioDestroyResponse, SeqvarsApiQuerypresetsqualityListData, SeqvarsApiQuerypresetsqualityListError, SeqvarsApiQuerypresetsqualityListResponse, SeqvarsApiQuerypresetsqualityCreateData, SeqvarsApiQuerypresetsqualityCreateError, SeqvarsApiQuerypresetsqualityCreateResponse, SeqvarsApiQuerypresetsqualityRetrieveData, SeqvarsApiQuerypresetsqualityRetrieveError, SeqvarsApiQuerypresetsqualityRetrieveResponse, SeqvarsApiQuerypresetsqualityUpdateData, SeqvarsApiQuerypresetsqualityUpdateError, SeqvarsApiQuerypresetsqualityUpdateResponse, SeqvarsApiQuerypresetsqualityPartialUpdateData, SeqvarsApiQuerypresetsqualityPartialUpdateError, SeqvarsApiQuerypresetsqualityPartialUpdateResponse, SeqvarsApiQuerypresetsqualityDestroyData, SeqvarsApiQuerypresetsqualityDestroyError, SeqvarsApiQuerypresetsqualityDestroyResponse, SeqvarsApiQuerypresetssetListData, SeqvarsApiQuerypresetssetListError, SeqvarsApiQuerypresetssetListResponse, SeqvarsApiQuerypresetssetCreateData, SeqvarsApiQuerypresetssetCreateError, SeqvarsApiQuerypresetssetCreateResponse, SeqvarsApiQuerypresetssetRetrieveData, SeqvarsApiQuerypresetssetRetrieveError, SeqvarsApiQuerypresetssetRetrieveResponse, SeqvarsApiQuerypresetssetUpdateData, SeqvarsApiQuerypresetssetUpdateError, SeqvarsApiQuerypresetssetUpdateResponse, SeqvarsApiQuerypresetssetPartialUpdateData, SeqvarsApiQuerypresetssetPartialUpdateError, SeqvarsApiQuerypresetssetPartialUpdateResponse, SeqvarsApiQuerypresetssetDestroyData, SeqvarsApiQuerypresetssetDestroyError, SeqvarsApiQuerypresetssetDestroyResponse, SeqvarsApiQuerypresetssetCopyFromRetrieveData, SeqvarsApiQuerypresetssetCopyFromRetrieveError, SeqvarsApiQuerypresetssetCopyFromRetrieveResponse, SeqvarsApiQuerypresetssetversionListData, SeqvarsApiQuerypresetssetversionListError, SeqvarsApiQuerypresetssetversionListResponse, SeqvarsApiQuerypresetssetversionCreateData, SeqvarsApiQuerypresetssetversionCreateError, SeqvarsApiQuerypresetssetversionCreateResponse, SeqvarsApiQuerypresetssetversionRetrieveData, SeqvarsApiQuerypresetssetversionRetrieveError, SeqvarsApiQuerypresetssetversionRetrieveResponse, SeqvarsApiQuerypresetssetversionUpdateData, SeqvarsApiQuerypresetssetversionUpdateError, SeqvarsApiQuerypresetssetversionUpdateResponse, SeqvarsApiQuerypresetssetversionPartialUpdateData, SeqvarsApiQuerypresetssetversionPartialUpdateError, SeqvarsApiQuerypresetssetversionPartialUpdateResponse, SeqvarsApiQuerypresetssetversionDestroyData, SeqvarsApiQuerypresetssetversionDestroyError, SeqvarsApiQuerypresetssetversionDestroyResponse, SeqvarsApiQuerypresetsvariantprioListData, SeqvarsApiQuerypresetsvariantprioListError, SeqvarsApiQuerypresetsvariantprioListResponse, SeqvarsApiQuerypresetsvariantprioCreateData, SeqvarsApiQuerypresetsvariantprioCreateError, SeqvarsApiQuerypresetsvariantprioCreateResponse, SeqvarsApiQuerypresetsvariantprioRetrieveData, SeqvarsApiQuerypresetsvariantprioRetrieveError, SeqvarsApiQuerypresetsvariantprioRetrieveResponse, SeqvarsApiQuerypresetsvariantprioUpdateData, SeqvarsApiQuerypresetsvariantprioUpdateError, SeqvarsApiQuerypresetsvariantprioUpdateResponse, SeqvarsApiQuerypresetsvariantprioPartialUpdateData, SeqvarsApiQuerypresetsvariantprioPartialUpdateError, SeqvarsApiQuerypresetsvariantprioPartialUpdateResponse, SeqvarsApiQuerypresetsvariantprioDestroyData, SeqvarsApiQuerypresetsvariantprioDestroyError, SeqvarsApiQuerypresetsvariantprioDestroyResponse, SeqvarsApiQuerysettingsListData, SeqvarsApiQuerysettingsListError, SeqvarsApiQuerysettingsListResponse, SeqvarsApiQuerysettingsCreateData, SeqvarsApiQuerysettingsCreateError, SeqvarsApiQuerysettingsCreateResponse, SeqvarsApiQuerysettingsRetrieveData, SeqvarsApiQuerysettingsRetrieveError, SeqvarsApiQuerysettingsRetrieveResponse, SeqvarsApiQuerysettingsUpdateData, SeqvarsApiQuerysettingsUpdateError, SeqvarsApiQuerysettingsUpdateResponse, SeqvarsApiQuerysettingsPartialUpdateData, SeqvarsApiQuerysettingsPartialUpdateError, SeqvarsApiQuerysettingsPartialUpdateResponse, SeqvarsApiQuerysettingsDestroyData, SeqvarsApiQuerysettingsDestroyError, SeqvarsApiQuerysettingsDestroyResponse, SeqvarsApiResultrowListData, SeqvarsApiResultrowListError, SeqvarsApiResultrowListResponse, SeqvarsApiResultrowRetrieveData, SeqvarsApiResultrowRetrieveError, SeqvarsApiResultrowRetrieveResponse, SeqvarsApiResultsetListData, SeqvarsApiResultsetListError, SeqvarsApiResultsetListResponse, SeqvarsApiResultsetRetrieveData, SeqvarsApiResultsetRetrieveError, SeqvarsApiResultsetRetrieveResponse } from './types.gen'; + +export class CasesAnalysisService { + /** + * List the ``CaseAnalysis`` objects for the given case. + * + * Implement the "create single case analysis on listing" logic. + */ + public static casesAnalysisApiCaseanalysisList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-analysis/api/caseanalysis/{case}/' + }); + } + + /** + * Allow listing and retrieval of ``CaseAnalysis`` records for a given case. + * + * As we only allow for one ``CaseAnalysis`` per case, we implicitely create one + * when listing. + */ + public static casesAnalysisApiCaseanalysisRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-analysis/api/caseanalysis/{case}/{caseanalysis}/' + }); + } + + /** + * List the ``CaseAnalysisSession`` objects for the given case and current user. + * + * Implement the "create single case analysis session on listing" logic. + */ + public static casesAnalysisApiCaseanalysissessionList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-analysis/api/caseanalysissession/{case}/' + }); + } + + /** + * Allow retrieval only of ``CaseAnalysisSession`` record for current user. + */ + public static casesAnalysisApiCaseanalysissessionRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-analysis/api/caseanalysissession/{case}/{caseanalysissession}/' + }); + } + +} + +export class CasesImportService { + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionListCreateList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-import/api/case-import-action/list-create/{project}/' + }); + } + + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionListCreateCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/cases-import/api/case-import-action/list-create/{project}/' + }); + } + + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionRetrieveUpdateDestroyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/' + }); + } + + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionRetrieveUpdateDestroyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/' + }); + } + + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/' + }); + } + + /** + * API view mixin for generic DRF API views with serializers, SODAR project + * context and permission checkin. + * + * Unless overriding ``permission_classes`` with their own implementation, the + * user MUST supply a ``permission_required`` attribute. + * + * Replace ``lookup_url_kwarg`` with your view's url kwarg (SODAR project + * compatible model name in lowercase). + * + * If the lookup is done via a foreign key, change the ``lookup_field`` + * attribute of your class into ``foreignkey__sodar_uuid``, e.g. + * ``project__sodar_uuid`` for lists. + * + * If your object(s) don't have a direct ``project`` relation, update the + * ``queryset_project_field`` to point to the field, e.g. + * ``someothermodel__project``. + */ + public static casesImportApiCaseImportActionRetrieveUpdateDestroyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/' + }); + } + +} + +export class CasesQcService { + /** + * Retrieve the latest ``CaseQc`` for the given case. + * + * This corresponds to the raw QC values imported into VarFish. See + * ``VarfishStatsRetrieveApiView`` for the information used by the UI. + * + * **URL:** ``/cases_qc/api/caseqc/retrieve/{case.sodar_uuid}/`` + * + * **Methods:** ``GET`` + * + * **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found + */ + public static casesQcApiCaseqcRetrieveRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-qc/api/caseqc/retrieve/{case}/' + }); + } + + /** + * Retrieve the latest statistics to display in the UI for a case. + * + * **URL:** ``/cases_qc/api/varfishstats/retrieve/{case.sodar_uuid}/`` + * + * **Methods:** ``GET`` + * + * **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found + */ + public static casesQcApiVarfishstatsRetrieveRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases-qc/api/varfishstats/retrieve/{case}/' + }); + } + +} + +export class CasesService { + /** + * List annotation release infos for a given case. + * + * **URL:** ``/cases/api/annotation-release-info/list/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + */ + public static casesApiAnnotationReleaseInfoListList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/annotation-release-info/list/{case}/' + }); + } + + /** + * List/create case comments for the given case. + * + * **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + * + * **Parameters:** + * + * - ``page`` - specify page to return (default/first is ``1``) + * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + * + * **Returns:** + * + * - ``count`` - number of total elements (``int``) + * - ``next`` - URL to next page (``str`` or ``null``) + * - ``previous`` - URL to next page (``str`` or ``null``) + * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) + */ + public static casesApiCaseCommentListCreateList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/case-comment/list-create/{case}/' + }); + } + + /** + * List/create case comments for the given case. + * + * **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + * + * **Parameters:** + * + * - ``page`` - specify page to return (default/first is ``1``) + * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + * + * **Returns:** + * + * - ``count`` - number of total elements (``int``) + * - ``next`` - URL to next page (``str`` or ``null``) + * - ``previous`` - URL to next page (``str`` or ``null``) + * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) + */ + public static casesApiCaseCommentListCreateCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/cases/api/case-comment/list-create/{case}/' + }); + } + + /** + * List/create case phenotype term annotations. + * + * **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + * + * **Parameters:** + * + * - ``page`` - specify page to return (default/first is ``1``) + * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + * + * **Returns:** + * + * - ``count`` - number of total elements (``int``) + * - ``next`` - URL to next page (``str`` or ``null``) + * - ``previous`` - URL to next page (``str`` or ``null``) + * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) + */ + public static casesApiCasePhenotypeTermsListCreateList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/case-phenotype-terms/list-create/{case}/' + }); + } + + /** + * List/create case phenotype term annotations. + * + * **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + * + * **Parameters:** + * + * - ``page`` - specify page to return (default/first is ``1``) + * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) + * + * **Returns:** + * + * - ``count`` - number of total elements (``int``) + * - ``next`` - URL to next page (``str`` or ``null``) + * - ``previous`` - URL to next page (``str`` or ``null``) + * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) + */ + public static casesApiCasePhenotypeTermsListCreateCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/cases/api/case-phenotype-terms/list-create/{case}/' + }); + } + + /** + * Retrieve, update, destroy case comments for the given case. + * + * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` + * + * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` + */ + public static casesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/' + }); + } + + /** + * Retrieve, update, destroy case comments for the given case. + * + * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` + * + * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` + */ + public static casesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/' + }); + } + + /** + * Retrieve, update, destroy case comments for the given case. + * + * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` + * + * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` + */ + public static casesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/' + }); + } + + /** + * Retrieve, update, destroy case comments for the given case. + * + * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` + * + * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` + */ + public static casesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/' + }); + } + + /** + * List all cases in the current project. + * + * **URL:** ``/cases/api/case/list/{project.sodar_uid}/`` + * + * **Methods:** ``GET`` + * + * **Returns:** List of project details (see :py:class:`CaseRetrieveApiView`) + */ + public static casesApiCaseListList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/case/list/{project}/' + }); + } + + /** + * Update a given case. + * + * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + * + * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. + * + * **Returns:** Updated case details. + */ + public static casesApiCaseRetrieveUpdateDestroyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/case/retrieve-update-destroy/{case}/' + }); + } + + /** + * Update a given case. + * + * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + * + * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. + * + * **Returns:** Updated case details. + */ + public static casesApiCaseRetrieveUpdateDestroyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/cases/api/case/retrieve-update-destroy/{case}/' + }); + } + + /** + * Update a given case. + * + * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + * + * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. + * + * **Returns:** Updated case details. + */ + public static casesApiCaseRetrieveUpdateDestroyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/cases/api/case/retrieve-update-destroy/{case}/' + }); + } + + /** + * Update a given case. + * + * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` + * + * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. + * + * **Returns:** Updated case details. + */ + public static casesApiCaseRetrieveUpdateDestroyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/cases/api/case/retrieve-update-destroy/{case}/' + }); + } + + /** + * List SVannotation release infos for a given case. + * + * **URL:** ``/cases/api/sv-annotation-release-info/list/{case.sodar_uuid}`` + * + * **Methods:** ``GET`` + */ + public static casesApiSvAnnotationReleaseInfoListList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/cases/api/sv-annotation-release-info/list/{case}/' + }); + } + +} + +export class GenepanelsService { + /** + * List all ``GenePanelCategory`` entries with ``GenePanel``. + * + * **URL:** ``/genepanels/api/gene-panel-category`` + * + * **Methods:** GET + * + * **Returns:** + */ + public static genepanelsApiGenepanelCategoryListList(options?: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/genepanels/api/genepanel-category/list/' + }); + } + + /** + * Retrieve information about a gene panel. + * + * **URL:** ``/genepanels/api/lookup-genepanel/`` + * + * **Methods:** GET + * + * **Returns:** + */ + public static genepanelsApiLookupGenepanelRetrieve(options?: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/genepanels/api/lookup-genepanel/' + }); + } + +} + +export class SeqmetaService { + /** + * DRF list-create API view the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitListCreateList(options?: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqmeta/api/enrichmentkit/list-create/' + }); + } + + /** + * DRF list-create API view the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitListCreateCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqmeta/api/enrichmentkit/list-create/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. + */ + public static seqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/' + }); + } + + /** + * DRF list-create API view the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileListCreateList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqmeta/api/targetbedfile/list-create/{enrichmentkit}/' + }); + } + + /** + * DRF list-create API view the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileListCreateCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqmeta/api/targetbedfile/list-create/{enrichmentkit}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileRetrieveUpdateDestroyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/' + }); + } + + /** + * DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. + */ + public static seqmetaApiTargetbedfileRetrieveUpdateDestroyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/' + }); + } + +} + +export class SeqvarsService { + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/' + }); + } + + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/' + }); + } + + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/' + }); + } + + /** + * ViewSet for the ``PredefinedQuery`` model. + */ + public static seqvarsApiPredefinedqueryDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/query/{session}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/query/{session}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/query/{session}/{query}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/query/{session}/{query}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/query/{session}/{query}/' + }); + } + + /** + * Allow CRUD of the user's queries. + */ + public static seqvarsApiQueryDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/query/{session}/{query}/' + }); + } + + /** + * ViewSet for retrieving ``QueryExecution`` records. + */ + public static seqvarsApiQueryexecutionList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/queryexecution/{query}/' + }); + } + + /** + * ViewSet for retrieving ``QueryExecution`` records. + */ + public static seqvarsApiQueryexecutionRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/queryexecution/{query}/{queryexecution}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsClinvar`` model. + */ + public static seqvarsApiQuerypresetsclinvarDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsColumns`` model. + */ + public static seqvarsApiQuerypresetscolumnsDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequenceList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequenceCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequenceRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequenceUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequencePartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsConsequence`` model. + */ + public static seqvarsApiQuerypresetsconsequenceDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/' + }); + } + + /** + * ViewSet for listing the factory defaults. + * + * This is a public view, no permissions are required. + */ + public static seqvarsApiQuerypresetsfactorydefaultsList(options?: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsfactorydefaults/' + }); + } + + /** + * ViewSet for listing the factory defaults. + * + * This is a public view, no permissions are required. + */ + public static seqvarsApiQuerypresetsfactorydefaultsRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsfactorydefaults/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsFrequency`` model. + */ + public static seqvarsApiQuerypresetsfrequencyDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsLocus`` model. + */ + public static seqvarsApiQuerypresetslocusDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsPhenotypePrio`` model. + */ + public static seqvarsApiQuerypresetsphenotypeprioDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsQuality`` model. + */ + public static seqvarsApiQuerypresetsqualityDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSet`` model. + */ + public static seqvarsApiQuerypresetssetDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/{querypresetsset}/' + }); + } + + /** + * Copy from another presets set. + */ + public static seqvarsApiQuerypresetssetCopyFromRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsset/{project}/{querypresetsset}/copy_from/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsSetVersion`` model. + */ + public static seqvarsApiQuerypresetssetversionDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/' + }); + } + + /** + * ViewSet for the ``QueryPresetsVariantPrio`` model. + */ + public static seqvarsApiQuerypresetsvariantprioDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querysettings/{session}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsCreate(options: Options) { + return (options?.client ?? client).post({ + ...options, + url: '/seqvars/api/querysettings/{session}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/querysettings/{session}/{querysettings}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsUpdate(options: Options) { + return (options?.client ?? client).put({ + ...options, + url: '/seqvars/api/querysettings/{session}/{querysettings}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsPartialUpdate(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/seqvars/api/querysettings/{session}/{querysettings}/' + }); + } + + /** + * ViewSet for the ``QuerySettings`` model. + */ + public static seqvarsApiQuerysettingsDestroy(options: Options) { + return (options?.client ?? client).delete({ + ...options, + url: '/seqvars/api/querysettings/{session}/{querysettings}/' + }); + } + + /** + * ViewSet for retrieving ``ResultRow`` records. + */ + public static seqvarsApiResultrowList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/resultrow/{resultset}/' + }); + } + + /** + * ViewSet for retrieving ``ResultRow`` records. + */ + public static seqvarsApiResultrowRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/resultrow/{resultset}/{seqvarresultrow}/' + }); + } + + /** + * ViewSet for retrieving ``ResultSet`` records. + */ + public static seqvarsApiResultsetList(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/resultset/{query}/' + }); + } + + /** + * ViewSet for retrieving ``ResultSet`` records. + */ + public static seqvarsApiResultsetRetrieve(options: Options) { + return (options?.client ?? client).get({ + ...options, + url: '/seqvars/api/resultset/{query}/{resultset}/' + }); + } + +} \ No newline at end of file diff --git a/frontend/ext/varfish-api/src/lib/types.gen.ts b/frontend/ext/varfish-api/src/lib/types.gen.ts new file mode 100644 index 000000000..99a4865a2 --- /dev/null +++ b/frontend/ext/varfish-api/src/lib/types.gen.ts @@ -0,0 +1,4672 @@ +// This file is auto-generated by @hey-api/openapi-ts + +/** + * * `create` - create + * * `update` - update + * * `delete` - delete + */ +export type ActionEnum = 'create' | 'update' | 'delete'; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type AnnotationReleaseInfo = { + readonly genomebuild: string; + readonly table: string; + readonly timestamp: string; + readonly release: string; +}; + +export type BcftoolsStatsAfRecordList = Array<{ + af: number; + snps: number; + ts: number; + tv: number; + indels: number; + repeat_consistent: number; + repeat_inconsistent: number; + na: number; +}>; + +export type BcftoolsStatsDpRecordList = Array<{ + bin: number; + gts: number; + gts_frac: number; + sites: number; + sites_frac: number; +}>; + +export type BcftoolsStatsIddRecordList = Array<{ + length: number; + sites: number; + gts: number; + mean_vaf: number | null; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type BcftoolsStatsMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + sn: BcftoolsStatsSnRecordList; + tstv: BcftoolsStatsTstvRecordList; + sis: BcftoolsStatsSisRecordList; + af: BcftoolsStatsAfRecordList; + qual: BcftoolsStatsQualRecordList; + idd: BcftoolsStatsIddRecordList; + st: BcftoolsStatsStRecordList; + dp: BcftoolsStatsDpRecordList; + readonly date_created: string; + readonly date_modified: string; +}; + +export type BcftoolsStatsQualRecordList = Array<{ + qual: number | null; + snps: number; + ts: number; + tv: number; + indels: number; +}>; + +export type BcftoolsStatsSisRecordList = Array<{ + total: number; + snps: number; + ts: number; + tv: number; + indels: number; + repeat_consistent: number; + repeat_inconsistent: number; +}>; + +export type BcftoolsStatsSnRecordList = Array<{ + key: string; + value: number | string | null; +}>; + +export type BcftoolsStatsStRecordList = Array<{ + type: string; + count: number; +}>; + +export type BcftoolsStatsTstvRecordList = Array<{ + ts: number; + tv: number; + tstv: number; + ts_1st_alt: number; + tv_1st_alt: number; + tstv_1st_alt: number; +}>; + +/** + * Serializer for ``CaseAnalysis``. + */ +export type CaseAnalysis = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + /** + * Case SODAR UUID + */ + readonly case: string; +}; + +/** + * Serializer for ``CaseAnalysisSession``. + */ +export type CaseAnalysisSession = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly caseanalysis: string; + /** + * Case SODAR UUID + */ + readonly case: string; + /** + * User SODAR UUID + */ + readonly user: string; +}; + +/** + * Serializer for ``CaseComments``. + */ +export type CaseComment = { + readonly sodar_uuid: string; + /** + * DateTime of creation + */ + readonly date_created: string; + /** + * DateTime of last modification + */ + readonly date_modified: string; + /** + * Case SODAR UUID + */ + readonly case: string; + /** + * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + */ + readonly user: string; + comment: string; +}; + +/** + * Serializer for the ``CaseImportAction`` model. + */ +export type CaseImportAction = { + readonly sodar_uuid: string; + /** + * Project SODAR UUID + */ + readonly project: string; + state: CaseImportActionStateEnum; + readonly date_created: string; + readonly date_modified: string; + action?: ActionEnum; + payload: unknown; + overwrite_terms?: boolean; +}; + +/** + * * `draft` - draft + * * `submitted` - submitted + */ +export type CaseImportActionStateEnum = 'draft' | 'submitted'; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type CasePhenotypeTerms = { + readonly sodar_uuid: string; + /** + * DateTime of creation + */ + readonly date_created: string; + /** + * DateTime of last modification + */ + readonly date_modified: string; + /** + * Case SODAR UUID + */ + readonly case: string; + /** + * Individual + */ + individual: string; + terms: unknown; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type CaseQc = { + readonly sodar_uuid: string; + /** + * Case SODAR UUID + */ + readonly case: string; + readonly dragen_cnvmetrics: Array; + readonly dragen_fragmentlengthhistograms: Array; + readonly dragen_mappingmetrics: Array; + readonly dragen_ploidyestimationmetrics: Array; + readonly dragen_rohmetrics: Array; + readonly dragen_vchethomratiometrics: Array; + readonly dragen_vcmetrics: Array; + readonly dragen_svmetrics: Array; + readonly dragen_timemetrics: Array; + readonly dragen_trimmermetrics: Array; + readonly dragen_wgscoveragemetrics: Array; + readonly dragen_wgscontigmeancovmetrics: Array; + readonly dragen_wgsoverallmeancov: Array; + readonly dragen_wgsfinehist: Array; + readonly dragen_wgshist: Array; + readonly dragen_regioncoveragemetrics: Array; + readonly dragen_regionfinehist: Array; + readonly dragen_regionhist: Array; + readonly dragen_regionoverallmeancov: Array; + readonly bcftools_statsmetrics: Array; + readonly samtools_statsmainmetrics: Array; + readonly samtools_statssupplementarymetrics: Array; + readonly samtools_flagstatmetrics: Array; + readonly samtools_idxstatsmetrics: Array; + readonly cramino_metrics: Array; + readonly ngsbits_mappingqcmetrics: Array; + readonly date_created: string; + readonly date_modified: string; + state?: CaseQcStateEnum; +}; + +/** + * * `DRAFT` - DRAFT + * * `ACTIVE` - ACTIVE + */ +export type CaseQcStateEnum = 'DRAFT' | 'ACTIVE'; + +/** + * Serializer for the ``Case`` model. + * + * In contrast to the old (legacy) ``CaseSerializer`` from ``variants.serializers.case``, this class does not + * perform serialization of nested attributes and thus does not trigger a large query cascade. + */ +export type CaseSerializerNg = { + readonly sodar_uuid: string; + /** + * Project SODAR UUID + */ + readonly project: string; + /** + * Cohort SODAR UUID + */ + readonly presetset: string; + readonly sex_errors: { + [key: string]: Array<(string)>; + }; + readonly smallvariantqueryresultset: { + [key: string]: (number | string | null); + }; + readonly svqueryresultset: { + [key: string]: (number | string | null); + }; + /** + * Obtain the latest CaseQC for this in active state and serialize it. + * + * If there is no such record then return ``None``. + */ + readonly caseqc: { + [key: string]: (number | string | null); + } | null; + readonly release: string | null; + name: string; + index: string; + pedigree: unknown; + notes?: string | null; + status?: CaseStatusEnum; + tags?: Array<(string)> | null; + /** + * DateTime of creation + */ + readonly date_created: string; + /** + * DateTime of last modification + */ + readonly date_modified: string; + case_version?: number; + readonly state: CaseSerializerNgStateEnum | NullEnum | null; + /** + * Number of small variants, empty if no small variants have been imported + */ + readonly num_small_vars: number | null; + /** + * Number of structural variants, empty if no structural variants have been imported + */ + readonly num_svs: number | null; +}; + +/** + * * `importing` - importing + * * `updating` - updating + * * `active` - active + * * `deleting` - deleting + */ +export type CaseSerializerNgStateEnum = 'importing' | 'updating' | 'active' | 'deleting'; + +/** + * * `initial` - initial + * * `active` - active + * * `closed-unsolved` - closed as unsolved + * * `closed-uncertain` - closed as uncertain + * * `closed-solved` - closed as solved + */ +export type CaseStatusEnum = 'initial' | 'active' | 'closed-unsolved' | 'closed-uncertain' | 'closed-solved'; + +export type ClinvarGermlineAggregateDescriptionList = Array<('pathogenic' | 'likely_pathogenic' | 'uncertain_significance' | 'likely_benign' | 'benign')>; + +export type CraminoChromNormalizedCountsRecordList = Array<{ + chrom_name: string; + normalized_counts: number; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type CraminoMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + summary: CraminoSummaryRecordList; + chrom_counts: CraminoChromNormalizedCountsRecordList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +export type CraminoSummaryRecordList = Array<{ + key: string; + value: number | string; +}>; + +/** + * Detailed alignment counts + */ +export type DetailedAlignmentCounts = { + primary: number; + secondary: number; + supplementary: number; + duplicates: number; + mapped: number; + properly_paired: number; + with_itself_and_mate_mapped: number; + singletons: number; + with_mate_mapped_to_different_chr: number; + with_mate_mapped_to_different_chr_mapq: number; + mismatch_rate: number; + mapq: Array>; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenCnvMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenFragmentLengthHistogram = { + readonly sodar_uuid: string; + readonly caseqc: string; + readonly date_created: string; + readonly date_modified: string; + sample: string; + keys: Array<(number)>; + values: Array<(number)>; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenMappingMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenPloidyEstimationMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenRegionCoverageMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; + region_name: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenRegionFineHist = { + readonly sodar_uuid: string; + readonly caseqc: string; + readonly date_created: string; + readonly date_modified: string; + sample: string; + keys: Array<(number)>; + values: Array<(number)>; + region_name: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenRegionHist = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; + region_name: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenRegionOverallMeanCov = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; + region_name: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenRohMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +export type DragenStyleCoverageList = Array<{ + contig_name: string; + contig_len: number; + cov: number; +}>; + +export type DragenStyleMetricList = Array<{ + section: string | null; + entry: string | null; + name: string | null; + value: number | string | null; + value_float?: number | null; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenSvMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenTimeMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenTrimmerMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenVcHethomRatioMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenVcMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenWgsContigMeanCovMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleCoverageList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenWgsCoverageMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenWgsFineHist = { + readonly sodar_uuid: string; + readonly caseqc: string; + readonly date_created: string; + readonly date_modified: string; + sample: string; + keys: Array<(number)>; + values: Array<(number)>; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenWgsHist = { + readonly sodar_uuid: string; + readonly caseqc: string; + readonly date_created: string; + readonly date_modified: string; + sample: string; + keys: Array<(string)>; + values: Array<(number)>; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type DragenWgsOverallMeanCov = { + readonly sodar_uuid: string; + readonly caseqc: string; + metrics: DragenStyleMetricList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Serializer for ``EnrichmentKit``. + */ +export type EnrichmentKit = { + readonly sodar_uuid: string; + /** + * DateTime of creation + */ + readonly date_created: string; + /** + * DateTime of last modification + */ + readonly date_modified: string; + /** + * Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. + */ + identifier: string; + /** + * Title of the enrichment kit + */ + title: string; + /** + * Optional description of the enrichment kit + */ + description?: string | null; +}; + +export type GeneList = Array<{ + hgnc_id: string; + symbol: string; + name?: string | null; + entrez_id?: number | null; + ensembl_id?: string | null; +}>; + +/** + * Serializer that serializes ``GenePanel``. + */ +export type GenePanel = { + /** + * Identifier of the gene panel, e.g., 'osteoporosis.basic' or 'osteoporosis.extended' + */ + readonly identifier: string; + /** + * State of teh gene panel version + * + * * `draft` - draft + * * `active` - active + * * `retired` - retired + */ + readonly state: GenePanelStateEnum; + /** + * Major version of the gene panel (by identifier) + */ + readonly version_major: number; + /** + * Minor version of the gene panel (by identifier) + */ + readonly version_minor: number; + /** + * Title of the gene panel, only used for informative purposes + */ + readonly title: string; + /** + * Description of the panel + */ + readonly description: string | null; +}; + +/** + * Serializer that serializes ``GenePanelCategory``. + */ +export type GenePanelCategory = { + /** + * Title of the category + */ + readonly title: string; + /** + * Optional description of the category + */ + readonly description: string | null; + readonly genepanel_set: GenePanel; +}; + +export type GenePanelList = Array<{ + source: GenePanelSource; + panel_id: string; + name: string; + version: string; +}>; + +/** + * The source of a gene panel. + */ +export type GenePanelSource = 'panelapp' | 'internal'; + +/** + * * `draft` - draft + * * `active` - active + * * `retired` - retired + */ +export type GenePanelStateEnum = 'draft' | 'active' | 'retired'; + +export type GenomeRegionList = Array<{ + chromosome: string; + range?: OneBasedRange | null; +}>; + +/** + * * `grch37` - GRCh37 + * * `grch38` - GRCh38 + */ +export type GenomeReleaseEnum = 'grch37' | 'grch38'; + +/** + * Per-sample QC stats for insert sizes. + */ +export type InsertSizeStats = { + insert_size_mean: number; + insert_size_median: number | null; + insert_size_stddev: number; + insert_size_histogram: Array>; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type NgsbitsMappingqcMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + records: NgsbitsMappingqcRecordList; + readonly date_created: string; + readonly date_modified: string; + sample: string; + region_name: string; +}; + +export type NgsbitsMappingqcRecordList = Array<{ + key: string; + value: number | string | null; +}>; + +export type NullEnum = unknown; + +/** + * Representation of a 1-based range. + */ +export type OneBasedRange = { + start: number; + end: number; +}; + +export type PaginatedCaseAnalysisList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedCaseAnalysisSessionList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedCaseImportActionList = { + count?: number; + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedCaseSerializerNgList = { + count?: number; + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsPredefinedQueryList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryExecutionList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsClinvarList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsColumnsList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsConsequenceList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsFrequencyList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsLocusList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsPhenotypePrioList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsQualityList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsSetList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsSetVersionList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQueryPresetsVariantPrioList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsQuerySettingsList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsResultRowList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +export type PaginatedSeqvarsResultSetList = { + next?: string | null; + previous?: string | null; + results?: Array; +}; + +/** + * Serializer for the ``CaseImportAction`` model. + */ +export type PatchedCaseImportAction = { + readonly sodar_uuid?: string; + /** + * Project SODAR UUID + */ + readonly project?: string; + state?: CaseImportActionStateEnum; + readonly date_created?: string; + readonly date_modified?: string; + action?: ActionEnum; + payload?: unknown; + overwrite_terms?: boolean; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type PatchedCasePhenotypeTerms = { + readonly sodar_uuid?: string; + /** + * DateTime of creation + */ + readonly date_created?: string; + /** + * DateTime of last modification + */ + readonly date_modified?: string; + /** + * Case SODAR UUID + */ + readonly case?: string; + /** + * Individual + */ + individual?: string; + terms?: unknown; +}; + +/** + * Serializer for the ``Case`` model. + * + * In contrast to the old (legacy) ``CaseSerializer`` from ``variants.serializers.case``, this class does not + * perform serialization of nested attributes and thus does not trigger a large query cascade. + */ +export type PatchedCaseSerializerNg = { + readonly sodar_uuid?: string; + /** + * Project SODAR UUID + */ + readonly project?: string; + /** + * Cohort SODAR UUID + */ + readonly presetset?: string; + readonly sex_errors?: { + [key: string]: Array<(string)>; + }; + readonly smallvariantqueryresultset?: { + [key: string]: (number | string | null); + }; + readonly svqueryresultset?: { + [key: string]: (number | string | null); + }; + /** + * Obtain the latest CaseQC for this in active state and serialize it. + * + * If there is no such record then return ``None``. + */ + readonly caseqc?: { + [key: string]: (number | string | null); + } | null; + readonly release?: string | null; + name?: string; + index?: string; + pedigree?: unknown; + notes?: string | null; + status?: CaseStatusEnum; + tags?: Array<(string)> | null; + /** + * DateTime of creation + */ + readonly date_created?: string; + /** + * DateTime of last modification + */ + readonly date_modified?: string; + case_version?: number; + readonly state?: CaseSerializerNgStateEnum | NullEnum | null; + /** + * Number of small variants, empty if no small variants have been imported + */ + readonly num_small_vars?: number | null; + /** + * Number of structural variants, empty if no structural variants have been imported + */ + readonly num_svs?: number | null; +}; + +/** + * Serializer for ``EnrichmentKit``. + */ +export type PatchedEnrichmentKit = { + readonly sodar_uuid?: string; + /** + * DateTime of creation + */ + readonly date_created?: string; + /** + * DateTime of last modification + */ + readonly date_modified?: string; + /** + * Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. + */ + identifier?: string; + /** + * Title of the enrichment kit + */ + title?: string; + /** + * Optional description of the enrichment kit + */ + description?: string | null; +}; + +/** + * Serializer for ``PredefinedQuery``. + */ +export type PatchedSeqvarsPredefinedQuery = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; + included_in_sop?: boolean; + genotype?: SchemaField; + quality?: string | null; + frequency?: string | null; + consequence?: string | null; + locus?: string | null; + phenotypeprio?: string | null; + variantprio?: string | null; + clinvar?: string | null; + columns?: string | null; +}; + +/** + * Serializer for ``Query`` (for ``*-detail``). + * + * For retrieve, update, or delete operations, we also render the nested query settings + * in detail. + */ +export type PatchedSeqvarsQueryDetails = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + readonly session?: string; + settings?: SeqvarsQuerySettingsDetails; + columnsconfig?: SeqvarsQueryColumnsConfig; +}; + +/** + * Serializer for ``QueryPresetsClinvar``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsClinvar = { + clinvar_presence_required?: boolean; + clinvar_germline_aggregate_description?: ClinvarGermlineAggregateDescriptionList; + allow_conflicting_interpretations?: boolean; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsColumns``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsColumns = { + column_settings?: SeqvarsColumnConfigList; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsConsequence``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsConsequence = { + variant_types?: SeqvarsVariantTypeChoiceList; + transcript_types?: SeqvarsTranscriptTypeChoiceList; + variant_consequences?: SeqvarsVariantConsequenceChoiceList; + max_distance_to_exon?: number | null; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsFrequency``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsFrequency = { + gnomad_exomes_enabled?: boolean; + gnomad_exomes_frequency?: number | null; + gnomad_exomes_homozygous?: number | null; + gnomad_exomes_heterozygous?: number | null; + gnomad_exomes_hemizygous?: boolean | null; + gnomad_genomes_enabled?: boolean; + gnomad_genomes_frequency?: number | null; + gnomad_genomes_homozygous?: number | null; + gnomad_genomes_heterozygous?: number | null; + gnomad_genomes_hemizygous?: boolean | null; + helixmtdb_enabled?: boolean; + helixmtdb_heteroplasmic?: number | null; + helixmtdb_homoplasmic?: number | null; + helixmtdb_frequency?: number | null; + inhouse_enabled?: boolean; + inhouse_carriers?: number | null; + inhouse_homozygous?: number | null; + inhouse_heterozygous?: number | null; + inhouse_hemizygous?: number | null; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsLocus``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsLocus = { + genes?: GeneList; + gene_panels?: GenePanelList; + genome_regions?: GenomeRegionList; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsPhenotypePrio``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsPhenotypePrio = { + phenotype_prio_enabled?: boolean; + phenotype_prio_algorithm?: string | null; + terms?: TermPresenceList; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QueryPresetsQuality``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsQuality = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; + filter_active?: boolean; + min_dp_het?: number | null; + min_dp_hom?: number | null; + min_ab_het?: number | null; + min_gq?: number | null; + min_ad?: number | null; + max_ad?: number | null; +}; + +/** + * Serializer for ``QueryPresetsSet``. + */ +export type PatchedSeqvarsQueryPresetsSet = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + /** + * Project SODAR UUID + */ + readonly project?: string; +}; + +/** + * Serializer for ``QueryPresetsSetVersion``. + */ +export type PatchedSeqvarsQueryPresetsSetVersion = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + readonly presetsset?: string; + version_major?: number; + version_minor?: number; + status?: string; + readonly signed_off_by?: SODARUser; +}; + +/** + * Serializer for ``QueryPresetsVariantPrio``. + * + * Not used directly but used as base class. + */ +export type PatchedSeqvarsQueryPresetsVariantPrio = { + variant_prio_enabled?: boolean; + services?: SeqvarsPrioServiceList; + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + rank?: number; + label?: string; + description?: string | null; + readonly presetssetversion?: string; +}; + +/** + * Serializer for ``QuerySettings`` (for ``*-detail``). + * + * For retrieve, update, or delete operations, we also render the nested + * owned category settings. + */ +export type PatchedSeqvarsQuerySettingsDetails = { + readonly sodar_uuid?: string; + readonly date_created?: string; + readonly date_modified?: string; + readonly session?: string; + readonly presetssetversion?: string; + genotype?: SeqvarsQuerySettingsGenotype; + quality?: SeqvarsQuerySettingsQuality; + consequence?: SeqvarsQuerySettingsConsequence; + locus?: SeqvarsQuerySettingsLocus; + frequency?: SeqvarsQuerySettingsFrequency; + phenotypeprio?: SeqvarsQuerySettingsPhenotypePrio; + variantprio?: SeqvarsQuerySettingsVariantPrio; + clinvar?: SeqvarsQuerySettingsClinvar; +}; + +/** + * Serializer for ``TargetBedFile``. + */ +export type PatchedTargetBedFile = { + readonly sodar_uuid?: string; + /** + * DateTime of creation + */ + readonly date_created?: string; + /** + * DateTime of last modification + */ + readonly date_modified?: string; + /** + * Record SODAR UUID + */ + readonly enrichmentkit?: string; + /** + * The file's URI. + */ + file_uri?: string; + /** + * The file's reference genome. + * + * * `grch37` - GRCh37 + * * `grch38` - GRCh38 + */ + genome_release?: GenomeReleaseEnum; +}; + +/** + * Per-region QC stats for alignment. + */ +export type RegionCoverageStats = { + region_name: string; + mean_rd: number; + min_rd_fraction: Array>; +}; + +/** + * Per-region sequence variant statistics. + */ +export type RegionVariantStats = { + region_name: string; + snv_count: number; + indel_count: number; + multiallelic_count: number; + transition_count: number; + transversion_count: number; + tstv_ratio: number; +}; + +/** + * Serializer for the user model used in SODAR Core based sites + */ +export type SODARUser = { + /** + * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. + */ + username: string; + name?: string; + email?: string; + /** + * Designates that this user has all permissions without explicitly assigning them. + */ + is_superuser?: boolean; + readonly sodar_uuid: string; +}; + +export type SampleAlignmentStatsList = Array<{ + sample: string; + detailed_counts: DetailedAlignmentCounts; + per_chromosome_counts: Array>; + insert_size_stats: InsertSizeStats; + region_coverage_stats: Array; +}>; + +export type SampleReadStatsList = Array<{ + sample: string; + read_length_n50: number; + read_length_histogram: Array>; + total_reads: number; + total_yield: number; + fragment_first: number | null; + fragment_last: number | null; +}>; + +export type SampleSeqvarStatsList = Array<{ + sample: string; + genome_wide: RegionVariantStats; + per_region: Array; +}>; + +export type SampleStrucvarStatsList = Array<{ + sample: string; + deletion_count: number; + duplication_count: number; + insertion_count: number; + inversion_count: number; + breakend_count: number; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type SamtoolsFlagstatMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + qc_pass: SchemaField; + qc_fail: SchemaField; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type SamtoolsIdxstatsMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + records: SamtoolsIdxstatsRecordList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +export type SamtoolsIdxstatsRecordList = Array<{ + contig_name: string; + contig_len: number; + mapped: number; + unmapped: number; +}>; + +export type SamtoolsStatsBasePercentagesRecordList = Array<{ + cycle: number; + percentages: Array<(number)>; +}>; + +export type SamtoolsStatsChkRecordList = Array<{ + read_names_crc32: string; + sequences_crc32: string; + qualities_crc32: string; +}>; + +export type SamtoolsStatsFqRecordList = Array<{ + cycle: number; + counts: Array<(number)>; +}>; + +export type SamtoolsStatsGcRecordList = Array<{ + gc_content: number; + count: number; +}>; + +export type SamtoolsStatsGcdRecordList = Array<{ + gc_content: number; + unique_seq_percentiles: number; + dp_percentile_10: number; + dp_percentile_25: number; + dp_percentile_50: number; + dp_percentile_75: number; + dp_percentile_90: number; +}>; + +export type SamtoolsStatsHistoRecordList = Array<{ + value: number; + count: number; +}>; + +export type SamtoolsStatsIcRecordList = Array<{ + cycle: number; + ins_fwd: number; + dels_fwd: number; + ins_rev: number; + dels_rev: number; +}>; + +export type SamtoolsStatsIdRecordList = Array<{ + length: number; + ins: number; + dels: number; +}>; + +export type SamtoolsStatsIsRecordList = Array<{ + insert_size: number; + pairs_total: number; + pairs_inward: number; + pairs_outward: number; + pairs_other: number; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type SamtoolsStatsMainMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + sn: SamtoolsStatsSnRecordList; + chk: SamtoolsStatsChkRecordList; + isize: SamtoolsStatsIsRecordList; + cov: SamtoolsStatsHistoRecordList; + gcd: SamtoolsStatsGcdRecordList; + frl: SamtoolsStatsHistoRecordList; + lrl: SamtoolsStatsHistoRecordList; + idd: SamtoolsStatsIdRecordList; + ffq: SamtoolsStatsFqRecordList; + lfq: SamtoolsStatsFqRecordList; + fbc: SamtoolsStatsBasePercentagesRecordList; + lbc: SamtoolsStatsBasePercentagesRecordList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +export type SamtoolsStatsSnRecordList = Array<{ + key: string; + value: number | string | null; +}>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type SamtoolsStatsSupplementaryMetrics = { + readonly sodar_uuid: string; + readonly caseqc: string; + gcf: SamtoolsStatsGcRecordList; + gcl: SamtoolsStatsGcRecordList; + gcc: SamtoolsStatsBasePercentagesRecordList; + gct: SamtoolsStatsBasePercentagesRecordList; + rl: SamtoolsStatsHistoRecordList; + mapq: SamtoolsStatsHistoRecordList; + ic: SamtoolsStatsIcRecordList; + readonly date_created: string; + readonly date_modified: string; + sample: string; +}; + +/** + * A record for the ``flagstat`` lines in ``samtools stats`` output. + */ +export type SchemaField = { + total?: number; + primary?: number; + secondary?: number; + supplementary?: number; + duplicates?: number; + duplicates_primary?: number; + mapped?: number; + mapped_primary?: number; + paired?: number; + fragment_first?: number; + fragment_last?: number; + properly_paired?: number; + with_itself_and_mate_mapped?: number; + singletons?: number; + with_mate_mapped_to_different_chr?: number; + with_mate_mapped_to_different_chr_mapq5?: number; +}; + +export type SeqvarsColumnConfigList = Array<{ + name: string; + label: string; + description?: string | null; + width: number; + visible: boolean; +}>; + +/** + * Store genotype choice of a ``SampleGenotype``. + */ +export type SeqvarsGenotypeChoice = 'any' | 'ref' | 'het' | 'hom' | 'non-hom' | 'variant' | 'comphet_index' | 'recessive_index' | 'recessive_parent'; + +/** + * Serializer for ``PredefinedQuery``. + */ +export type SeqvarsPredefinedQuery = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; + included_in_sop?: boolean; + genotype?: SchemaField; + quality?: string | null; + frequency?: string | null; + consequence?: string | null; + locus?: string | null; + phenotypeprio?: string | null; + variantprio?: string | null; + clinvar?: string | null; + columns?: string | null; +}; + +export type SeqvarsPrioServiceList = Array<{ + name: string; + version: string; +}>; + +/** + * Serializer for ``Query``. + */ +export type SeqvarsQuery = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + readonly session: string; + readonly settings: string; + readonly columnsconfig: string; +}; + +/** + * Serializer for ``QueryColumnsConfig``. + */ +export type SeqvarsQueryColumnsConfig = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + column_settings?: SeqvarsColumnConfigList; +}; + +/** + * Serializer for ``Query`` (for ``*-detail``). + * + * For retrieve, update, or delete operations, we also render the nested query settings + * in detail. + */ +export type SeqvarsQueryDetails = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + readonly session: string; + settings: SeqvarsQuerySettingsDetails; + columnsconfig: SeqvarsQueryColumnsConfig; +}; + +/** + * Serializer for ``QueryExecution``. + */ +export type SeqvarsQueryExecution = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly state: SeqvarsQueryExecutionStateEnum; + readonly complete_percent: number | null; + readonly start_time: string | null; + readonly end_time: string | null; + readonly elapsed_seconds: number | null; + readonly query: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QueryExecution``. + */ +export type SeqvarsQueryExecutionDetails = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly state: SeqvarsQueryExecutionStateEnum; + readonly complete_percent: number | null; + readonly start_time: string | null; + readonly end_time: string | null; + readonly elapsed_seconds: number | null; + readonly query: string; + querysettings: SeqvarsQuerySettingsDetails; +}; + +/** + * * `initial` - initial + * * `queued` - queued + * * `running` - running + * * `failed` - failed + * * `canceled` - canceled + * * `done` - done + */ +export type SeqvarsQueryExecutionStateEnum = 'initial' | 'queued' | 'running' | 'failed' | 'canceled' | 'done'; + +/** + * Serializer for ``QueryPresetsClinvar``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsClinvar = { + clinvar_presence_required?: boolean; + clinvar_germline_aggregate_description?: ClinvarGermlineAggregateDescriptionList; + allow_conflicting_interpretations?: boolean; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsColumns``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsColumns = { + column_settings?: SeqvarsColumnConfigList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsConsequence``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsConsequence = { + variant_types?: SeqvarsVariantTypeChoiceList; + transcript_types?: SeqvarsTranscriptTypeChoiceList; + variant_consequences?: SeqvarsVariantConsequenceChoiceList; + max_distance_to_exon?: number | null; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsFrequency``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsFrequency = { + gnomad_exomes_enabled?: boolean; + gnomad_exomes_frequency?: number | null; + gnomad_exomes_homozygous?: number | null; + gnomad_exomes_heterozygous?: number | null; + gnomad_exomes_hemizygous?: boolean | null; + gnomad_genomes_enabled?: boolean; + gnomad_genomes_frequency?: number | null; + gnomad_genomes_homozygous?: number | null; + gnomad_genomes_heterozygous?: number | null; + gnomad_genomes_hemizygous?: boolean | null; + helixmtdb_enabled?: boolean; + helixmtdb_heteroplasmic?: number | null; + helixmtdb_homoplasmic?: number | null; + helixmtdb_frequency?: number | null; + inhouse_enabled?: boolean; + inhouse_carriers?: number | null; + inhouse_homozygous?: number | null; + inhouse_heterozygous?: number | null; + inhouse_hemizygous?: number | null; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsLocus``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsLocus = { + genes?: GeneList; + gene_panels?: GenePanelList; + genome_regions?: GenomeRegionList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsPhenotypePrio``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsPhenotypePrio = { + phenotype_prio_enabled?: boolean; + phenotype_prio_algorithm?: string | null; + terms?: TermPresenceList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QueryPresetsQuality``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsQuality = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; + filter_active?: boolean; + min_dp_het?: number | null; + min_dp_hom?: number | null; + min_ab_het?: number | null; + min_gq?: number | null; + min_ad?: number | null; + max_ad?: number | null; +}; + +/** + * Serializer for ``QueryPresetsSet``. + */ +export type SeqvarsQueryPresetsSet = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + /** + * Project SODAR UUID + */ + readonly project: string; +}; + +/** + * Serializer for ``QueryPresetsSet`` that renders all nested versions. + */ +export type SeqvarsQueryPresetsSetDetails = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + /** + * Project SODAR UUID + */ + readonly project: string; + readonly versions: Array; +}; + +/** + * Serializer for ``QueryPresetsSetVersion``. + */ +export type SeqvarsQueryPresetsSetVersion = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly presetsset: string; + version_major?: number; + version_minor?: number; + status?: string; + readonly signed_off_by: SODARUser; +}; + +/** + * Serializer for ``QueryPresetsSetVersion`` (for ``*-detail``). + * + * When retrieving the details of a seqvar query preset set version, we also render the + * owned records as well as the presetsset. + */ +export type SeqvarsQueryPresetsSetVersionDetails = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly presetsset: SeqvarsQueryPresetsSet; + version_major?: number; + version_minor?: number; + status?: string; + readonly signed_off_by: SODARUser; + readonly seqvarsquerypresetsquality_set: Array; + readonly seqvarsquerypresetsfrequency_set: Array; + readonly seqvarsquerypresetsconsequence_set: Array; + readonly seqvarsquerypresetslocus_set: Array; + readonly seqvarsquerypresetsphenotypeprio_set: Array; + readonly seqvarsquerypresetsvariantprio_set: Array; + readonly seqvarsquerypresetsclinvar_set: Array; + readonly seqvarsquerypresetscolumns_set: Array; + readonly seqvarspredefinedquery_set: Array; +}; + +/** + * Serializer for ``QueryPresetsVariantPrio``. + * + * Not used directly but used as base class. + */ +export type SeqvarsQueryPresetsVariantPrio = { + variant_prio_enabled?: boolean; + services?: SeqvarsPrioServiceList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + rank?: number; + label: string; + description?: string | null; + readonly presetssetversion: string; +}; + +/** + * Serializer for ``QuerySettings``. + */ +export type SeqvarsQuerySettings = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly session: string; + readonly presetssetversion: string; + readonly genotype: string; + readonly quality: string; + readonly consequence: string; + readonly locus: string; + readonly frequency: string; + readonly phenotypeprio: string; + readonly variantprio: string; + readonly clinvar: string; +}; + +/** + * Serializer for ``QuerySettingsClinvar``. + */ +export type SeqvarsQuerySettingsClinvar = { + clinvar_presence_required?: boolean; + clinvar_germline_aggregate_description?: ClinvarGermlineAggregateDescriptionList; + allow_conflicting_interpretations?: boolean; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QuerySettingsConsequence``. + */ +export type SeqvarsQuerySettingsConsequence = { + variant_types?: SeqvarsVariantTypeChoiceList; + transcript_types?: SeqvarsTranscriptTypeChoiceList; + variant_consequences?: SeqvarsVariantConsequenceChoiceList; + max_distance_to_exon?: number | null; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QuerySettings`` (for ``*-detail``). + * + * For retrieve, update, or delete operations, we also render the nested + * owned category settings. + */ +export type SeqvarsQuerySettingsDetails = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly session: string; + readonly presetssetversion: string; + genotype: SeqvarsQuerySettingsGenotype; + quality: SeqvarsQuerySettingsQuality; + consequence: SeqvarsQuerySettingsConsequence; + locus: SeqvarsQuerySettingsLocus; + frequency: SeqvarsQuerySettingsFrequency; + phenotypeprio: SeqvarsQuerySettingsPhenotypePrio; + variantprio: SeqvarsQuerySettingsVariantPrio; + clinvar: SeqvarsQuerySettingsClinvar; +}; + +/** + * Serializer for ``QuerySettingsFrequency``. + */ +export type SeqvarsQuerySettingsFrequency = { + gnomad_exomes_enabled?: boolean; + gnomad_exomes_frequency?: number | null; + gnomad_exomes_homozygous?: number | null; + gnomad_exomes_heterozygous?: number | null; + gnomad_exomes_hemizygous?: boolean | null; + gnomad_genomes_enabled?: boolean; + gnomad_genomes_frequency?: number | null; + gnomad_genomes_homozygous?: number | null; + gnomad_genomes_heterozygous?: number | null; + gnomad_genomes_hemizygous?: boolean | null; + helixmtdb_enabled?: boolean; + helixmtdb_heteroplasmic?: number | null; + helixmtdb_homoplasmic?: number | null; + helixmtdb_frequency?: number | null; + inhouse_enabled?: boolean; + inhouse_carriers?: number | null; + inhouse_homozygous?: number | null; + inhouse_heterozygous?: number | null; + inhouse_hemizygous?: number | null; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QuerySettingsGenotype``. + */ +export type SeqvarsQuerySettingsGenotype = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; + sample_genotype_choices?: SeqvarsSampleGenotypeChoiceList; +}; + +/** + * Serializer for ``QuerySettingsLocus``. + */ +export type SeqvarsQuerySettingsLocus = { + genes?: GeneList; + gene_panels?: GenePanelList; + genome_regions?: GenomeRegionList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QuerySettingsPhenotypePrio``. + */ +export type SeqvarsQuerySettingsPhenotypePrio = { + phenotype_prio_enabled?: boolean; + phenotype_prio_algorithm?: string | null; + terms?: TermPresenceList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``QuerySettingsQuality``. + */ +export type SeqvarsQuerySettingsQuality = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; + sample_quality_filters?: SeqvarsSampleQualityFilterList; +}; + +/** + * Serializer for ``QuerySettingsVariantPrio``. + */ +export type SeqvarsQuerySettingsVariantPrio = { + variant_prio_enabled?: boolean; + services?: SeqvarsPrioServiceList; + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly querysettings: string; +}; + +/** + * Serializer for ``ResultRow``. + */ +export type SeqvarsResultRow = { + readonly sodar_uuid: string; + readonly resultset: string; + readonly release: string; + readonly chromosome: string; + readonly chromosome_no: number; + readonly start: number; + readonly stop: number; + readonly reference: string; + readonly alternative: string; + payload: SchemaField; +}; + +/** + * Serializer for ``ResultSet``. + */ +export type SeqvarsResultSet = { + readonly sodar_uuid: string; + readonly date_created: string; + readonly date_modified: string; + readonly queryexecution: string; + datasource_infos: SchemaField; +}; + +export type SeqvarsSampleGenotypeChoiceList = Array<{ + sample: string; + genotype: SeqvarsGenotypeChoice; +}>; + +export type SeqvarsSampleQualityFilterList = Array<{ + sample: string; + filter_active?: boolean; + min_dp_het?: number | null; + min_dp_hom?: number | null; + min_ab_het?: number | null; + min_gq?: number | null; + min_ad?: number | null; + max_ad?: number | null; +}>; + +export type SeqvarsTranscriptTypeChoiceList = Array<('coding' | 'non_coding')>; + +export type SeqvarsVariantConsequenceChoiceList = Array<('frameshift_variant' | 'rare_amino_acid_variant' | 'splice_acceptor_variant' | 'splice_donor_variant' | 'start_lost' | 'stop_gained' | 'stop_lost' | '3_prime_UTR_truncation' | '5_prime_UTR_truncation' | 'conservative_inframe_deletion' | 'conservative_inframe_insertion' | 'disruptive_inframe_deletion' | 'disruptive_inframe_insertion' | 'missense_variant' | 'splice_region_variant' | 'initiator_codon_variant' | 'start_retained' | 'stop_retained_variant' | 'synonymous_variant' | 'downstream_gene_variant' | 'intron_variant' | 'non_coding_transcript_exon_variant' | 'non_coding_transcript_intron_variant' | '5_prime_UTR_variant' | 'coding_sequence_variant' | 'upstream_gene_variant' | '3_prime_UTR_variant-exon_variant' | '5_prime_UTR_variant-exon_variant' | '3_prime_UTR_variant-intron_variant' | '5_prime_UTR_variant-intron_variant')>; + +export type SeqvarsVariantTypeChoiceList = Array<('snv' | 'indel' | 'mnv' | 'complex_substitution')>; + +/** + * Base serializer for any SODAR model with a sodar_uuid field + */ +export type SvAnnotationReleaseInfo = { + readonly genomebuild: string; + readonly table: string; + readonly timestamp: string; + readonly release: string; +}; + +/** + * Serializer for ``TargetBedFile``. + */ +export type TargetBedFile = { + readonly sodar_uuid: string; + /** + * DateTime of creation + */ + readonly date_created: string; + /** + * DateTime of last modification + */ + readonly date_modified: string; + /** + * Record SODAR UUID + */ + readonly enrichmentkit: string; + /** + * The file's URI. + */ + file_uri: string; + /** + * The file's reference genome. + * + * * `grch37` - GRCh37 + * * `grch38` - GRCh38 + */ + genome_release?: GenomeReleaseEnum; +}; + +/** + * Representation of a condition (phenotype / disease) term. + */ +export type Term = { + term_id: string; + label: string | null; +}; + +export type TermPresenceList = Array<{ + term: Term; + excluded?: boolean | null; +}>; + +/** + * Serializer for common-denominator stats objects + */ +export type VarfishStats = { + samples: strList; + readstats: SampleReadStatsList; + alignmentstats: SampleAlignmentStatsList; + seqvarstats: SampleSeqvarStatsList; + strucvarstats: SampleStrucvarStatsList; +}; + +export type strList = Array<(string)>; + +export type CasesAnalysisApiCaseanalysisListData = { + path: { + case: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type CasesAnalysisApiCaseanalysisListResponse = PaginatedCaseAnalysisList; + +export type CasesAnalysisApiCaseanalysisListError = unknown; + +export type CasesAnalysisApiCaseanalysisRetrieveData = { + path: { + case: string; + caseanalysis: string; + }; +}; + +export type CasesAnalysisApiCaseanalysisRetrieveResponse = CaseAnalysis; + +export type CasesAnalysisApiCaseanalysisRetrieveError = unknown; + +export type CasesAnalysisApiCaseanalysissessionListData = { + path: { + case: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type CasesAnalysisApiCaseanalysissessionListResponse = PaginatedCaseAnalysisSessionList; + +export type CasesAnalysisApiCaseanalysissessionListError = unknown; + +export type CasesAnalysisApiCaseanalysissessionRetrieveData = { + path: { + case: string; + caseanalysissession: string; + }; +}; + +export type CasesAnalysisApiCaseanalysissessionRetrieveResponse = CaseAnalysisSession; + +export type CasesAnalysisApiCaseanalysissessionRetrieveError = unknown; + +export type CasesImportApiCaseImportActionListCreateListData = { + path: { + project: string; + }; + query?: { + /** + * A page number within the paginated result set. + */ + page?: number; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type CasesImportApiCaseImportActionListCreateListResponse = PaginatedCaseImportActionList; + +export type CasesImportApiCaseImportActionListCreateListError = unknown; + +export type CasesImportApiCaseImportActionListCreateCreateData = { + body: CaseImportAction; + path: { + project: string; + }; +}; + +export type CasesImportApiCaseImportActionListCreateCreateResponse = CaseImportAction; + +export type CasesImportApiCaseImportActionListCreateCreateError = unknown; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveData = { + path: { + caseimportaction: string; + }; +}; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveResponse = CaseImportAction; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveError = unknown; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateData = { + body: CaseImportAction; + path: { + caseimportaction: string; + }; +}; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateResponse = CaseImportAction; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateError = unknown; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateData = { + body?: PatchedCaseImportAction; + path: { + caseimportaction: string; + }; +}; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateResponse = CaseImportAction; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateError = unknown; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyData = { + path: { + caseimportaction: string; + }; +}; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyResponse = void; + +export type CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyError = unknown; + +export type CasesQcApiCaseqcRetrieveRetrieveData = { + path: { + case: string; + }; +}; + +export type CasesQcApiCaseqcRetrieveRetrieveResponse = CaseQc; + +export type CasesQcApiCaseqcRetrieveRetrieveError = unknown; + +export type CasesQcApiVarfishstatsRetrieveRetrieveData = { + path: { + case: string; + }; +}; + +export type CasesQcApiVarfishstatsRetrieveRetrieveResponse = VarfishStats; + +export type CasesQcApiVarfishstatsRetrieveRetrieveError = unknown; + +export type CasesApiAnnotationReleaseInfoListListData = { + path: { + case: string; + }; +}; + +export type CasesApiAnnotationReleaseInfoListListResponse = Array; + +export type CasesApiAnnotationReleaseInfoListListError = unknown; + +export type CasesApiCaseCommentListCreateListData = { + path: { + case: string; + }; +}; + +export type CasesApiCaseCommentListCreateListResponse = Array; + +export type CasesApiCaseCommentListCreateListError = unknown; + +export type CasesApiCaseCommentListCreateCreateData = { + body: CaseComment; + path: { + case: string; + }; +}; + +export type CasesApiCaseCommentListCreateCreateResponse = CaseComment; + +export type CasesApiCaseCommentListCreateCreateError = unknown; + +export type CasesApiCasePhenotypeTermsListCreateListData = { + path: { + case: string; + }; +}; + +export type CasesApiCasePhenotypeTermsListCreateListResponse = Array; + +export type CasesApiCasePhenotypeTermsListCreateListError = unknown; + +export type CasesApiCasePhenotypeTermsListCreateCreateData = { + body: CasePhenotypeTerms; + path: { + case: string; + }; +}; + +export type CasesApiCasePhenotypeTermsListCreateCreateResponse = CasePhenotypeTerms; + +export type CasesApiCasePhenotypeTermsListCreateCreateError = unknown; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveData = { + path: { + casephenotypeterms: string; + }; +}; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveResponse = CasePhenotypeTerms; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveError = unknown; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateData = { + body: CasePhenotypeTerms; + path: { + casephenotypeterms: string; + }; +}; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateResponse = CasePhenotypeTerms; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateError = unknown; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateData = { + body?: PatchedCasePhenotypeTerms; + path: { + casephenotypeterms: string; + }; +}; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateResponse = CasePhenotypeTerms; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateError = unknown; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyData = { + path: { + casephenotypeterms: string; + }; +}; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyResponse = void; + +export type CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyError = unknown; + +export type CasesApiCaseListListData = { + path: { + project: string; + }; + query?: { + /** + * A page number within the paginated result set. + */ + page?: number; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type CasesApiCaseListListResponse = PaginatedCaseSerializerNgList; + +export type CasesApiCaseListListError = unknown; + +export type CasesApiCaseRetrieveUpdateDestroyRetrieveData = { + path: { + case: string; + }; +}; + +export type CasesApiCaseRetrieveUpdateDestroyRetrieveResponse = CaseSerializerNg; + +export type CasesApiCaseRetrieveUpdateDestroyRetrieveError = unknown; + +export type CasesApiCaseRetrieveUpdateDestroyUpdateData = { + body: CaseSerializerNg; + path: { + case: string; + }; +}; + +export type CasesApiCaseRetrieveUpdateDestroyUpdateResponse = CaseSerializerNg; + +export type CasesApiCaseRetrieveUpdateDestroyUpdateError = unknown; + +export type CasesApiCaseRetrieveUpdateDestroyPartialUpdateData = { + body?: PatchedCaseSerializerNg; + path: { + case: string; + }; +}; + +export type CasesApiCaseRetrieveUpdateDestroyPartialUpdateResponse = CaseSerializerNg; + +export type CasesApiCaseRetrieveUpdateDestroyPartialUpdateError = unknown; + +export type CasesApiCaseRetrieveUpdateDestroyDestroyData = { + path: { + case: string; + }; +}; + +export type CasesApiCaseRetrieveUpdateDestroyDestroyResponse = void; + +export type CasesApiCaseRetrieveUpdateDestroyDestroyError = unknown; + +export type CasesApiSvAnnotationReleaseInfoListListData = { + path: { + case: string; + }; +}; + +export type CasesApiSvAnnotationReleaseInfoListListResponse = Array; + +export type CasesApiSvAnnotationReleaseInfoListListError = unknown; + +export type GenepanelsApiGenepanelCategoryListListResponse = Array; + +export type GenepanelsApiGenepanelCategoryListListError = unknown; + +export type GenepanelsApiLookupGenepanelRetrieveResponse = GenePanel; + +export type GenepanelsApiLookupGenepanelRetrieveError = unknown; + +export type SeqmetaApiEnrichmentkitListCreateListResponse = Array; + +export type SeqmetaApiEnrichmentkitListCreateListError = unknown; + +export type SeqmetaApiEnrichmentkitListCreateCreateData = { + body: EnrichmentKit; +}; + +export type SeqmetaApiEnrichmentkitListCreateCreateResponse = EnrichmentKit; + +export type SeqmetaApiEnrichmentkitListCreateCreateError = unknown; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveData = { + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveResponse = EnrichmentKit; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveError = unknown; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateData = { + body: EnrichmentKit; + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateResponse = EnrichmentKit; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateError = unknown; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateData = { + body?: PatchedEnrichmentKit; + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateResponse = EnrichmentKit; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateError = unknown; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyData = { + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyResponse = void; + +export type SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyError = unknown; + +export type SeqmetaApiTargetbedfileListCreateListData = { + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiTargetbedfileListCreateListResponse = Array; + +export type SeqmetaApiTargetbedfileListCreateListError = unknown; + +export type SeqmetaApiTargetbedfileListCreateCreateData = { + body: TargetBedFile; + path: { + enrichmentkit: string; + }; +}; + +export type SeqmetaApiTargetbedfileListCreateCreateResponse = TargetBedFile; + +export type SeqmetaApiTargetbedfileListCreateCreateError = unknown; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveData = { + path: { + targetbedfile: string; + }; +}; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveResponse = TargetBedFile; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveError = unknown; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateData = { + body: TargetBedFile; + path: { + targetbedfile: string; + }; +}; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateResponse = TargetBedFile; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateError = unknown; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateData = { + body?: PatchedTargetBedFile; + path: { + targetbedfile: string; + }; +}; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateResponse = TargetBedFile; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateError = unknown; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyData = { + path: { + targetbedfile: string; + }; +}; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyResponse = void; + +export type SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyError = unknown; + +export type SeqvarsApiPredefinedqueryListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiPredefinedqueryListResponse = PaginatedSeqvarsPredefinedQueryList; + +export type SeqvarsApiPredefinedqueryListError = unknown; + +export type SeqvarsApiPredefinedqueryCreateData = { + body: SeqvarsPredefinedQuery; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiPredefinedqueryCreateResponse = SeqvarsPredefinedQuery; + +export type SeqvarsApiPredefinedqueryCreateError = unknown; + +export type SeqvarsApiPredefinedqueryRetrieveData = { + path: { + predefinedquery: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiPredefinedqueryRetrieveResponse = SeqvarsPredefinedQuery; + +export type SeqvarsApiPredefinedqueryRetrieveError = unknown; + +export type SeqvarsApiPredefinedqueryUpdateData = { + body: SeqvarsPredefinedQuery; + path: { + predefinedquery: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiPredefinedqueryUpdateResponse = SeqvarsPredefinedQuery; + +export type SeqvarsApiPredefinedqueryUpdateError = unknown; + +export type SeqvarsApiPredefinedqueryPartialUpdateData = { + body?: PatchedSeqvarsPredefinedQuery; + path: { + predefinedquery: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiPredefinedqueryPartialUpdateResponse = SeqvarsPredefinedQuery; + +export type SeqvarsApiPredefinedqueryPartialUpdateError = unknown; + +export type SeqvarsApiPredefinedqueryDestroyData = { + path: { + predefinedquery: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiPredefinedqueryDestroyResponse = void; + +export type SeqvarsApiPredefinedqueryDestroyError = unknown; + +export type SeqvarsApiQueryListData = { + path: { + session: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQueryListResponse = PaginatedSeqvarsQueryList; + +export type SeqvarsApiQueryListError = unknown; + +export type SeqvarsApiQueryCreateData = { + body: SeqvarsQueryDetails; + path: { + session: string; + }; +}; + +export type SeqvarsApiQueryCreateResponse = SeqvarsQueryDetails; + +export type SeqvarsApiQueryCreateError = unknown; + +export type SeqvarsApiQueryRetrieveData = { + path: { + query: string; + session: string; + }; +}; + +export type SeqvarsApiQueryRetrieveResponse = SeqvarsQueryDetails; + +export type SeqvarsApiQueryRetrieveError = unknown; + +export type SeqvarsApiQueryUpdateData = { + body: SeqvarsQueryDetails; + path: { + query: string; + session: string; + }; +}; + +export type SeqvarsApiQueryUpdateResponse = SeqvarsQueryDetails; + +export type SeqvarsApiQueryUpdateError = unknown; + +export type SeqvarsApiQueryPartialUpdateData = { + body?: PatchedSeqvarsQueryDetails; + path: { + query: string; + session: string; + }; +}; + +export type SeqvarsApiQueryPartialUpdateResponse = SeqvarsQueryDetails; + +export type SeqvarsApiQueryPartialUpdateError = unknown; + +export type SeqvarsApiQueryDestroyData = { + path: { + query: string; + session: string; + }; +}; + +export type SeqvarsApiQueryDestroyResponse = void; + +export type SeqvarsApiQueryDestroyError = unknown; + +export type SeqvarsApiQueryexecutionListData = { + path: { + query: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQueryexecutionListResponse = PaginatedSeqvarsQueryExecutionList; + +export type SeqvarsApiQueryexecutionListError = unknown; + +export type SeqvarsApiQueryexecutionRetrieveData = { + path: { + query: string; + queryexecution: string; + }; +}; + +export type SeqvarsApiQueryexecutionRetrieveResponse = SeqvarsQueryExecutionDetails; + +export type SeqvarsApiQueryexecutionRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsclinvarListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarListResponse = PaginatedSeqvarsQueryPresetsClinvarList; + +export type SeqvarsApiQuerypresetsclinvarListError = unknown; + +export type SeqvarsApiQuerypresetsclinvarCreateData = { + body: SeqvarsQueryPresetsClinvar; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarCreateResponse = SeqvarsQueryPresetsClinvar; + +export type SeqvarsApiQuerypresetsclinvarCreateError = unknown; + +export type SeqvarsApiQuerypresetsclinvarRetrieveData = { + path: { + querypresetsclinvar: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarRetrieveResponse = SeqvarsQueryPresetsClinvar; + +export type SeqvarsApiQuerypresetsclinvarRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsclinvarUpdateData = { + body: SeqvarsQueryPresetsClinvar; + path: { + querypresetsclinvar: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarUpdateResponse = SeqvarsQueryPresetsClinvar; + +export type SeqvarsApiQuerypresetsclinvarUpdateError = unknown; + +export type SeqvarsApiQuerypresetsclinvarPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsClinvar; + path: { + querypresetsclinvar: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarPartialUpdateResponse = SeqvarsQueryPresetsClinvar; + +export type SeqvarsApiQuerypresetsclinvarPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsclinvarDestroyData = { + path: { + querypresetsclinvar: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsclinvarDestroyResponse = void; + +export type SeqvarsApiQuerypresetsclinvarDestroyError = unknown; + +export type SeqvarsApiQuerypresetscolumnsListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsListResponse = PaginatedSeqvarsQueryPresetsColumnsList; + +export type SeqvarsApiQuerypresetscolumnsListError = unknown; + +export type SeqvarsApiQuerypresetscolumnsCreateData = { + body: SeqvarsQueryPresetsColumns; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsCreateResponse = SeqvarsQueryPresetsColumns; + +export type SeqvarsApiQuerypresetscolumnsCreateError = unknown; + +export type SeqvarsApiQuerypresetscolumnsRetrieveData = { + path: { + querypresetscolumns: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsRetrieveResponse = SeqvarsQueryPresetsColumns; + +export type SeqvarsApiQuerypresetscolumnsRetrieveError = unknown; + +export type SeqvarsApiQuerypresetscolumnsUpdateData = { + body: SeqvarsQueryPresetsColumns; + path: { + querypresetscolumns: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsUpdateResponse = SeqvarsQueryPresetsColumns; + +export type SeqvarsApiQuerypresetscolumnsUpdateError = unknown; + +export type SeqvarsApiQuerypresetscolumnsPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsColumns; + path: { + querypresetscolumns: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsPartialUpdateResponse = SeqvarsQueryPresetsColumns; + +export type SeqvarsApiQuerypresetscolumnsPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetscolumnsDestroyData = { + path: { + querypresetscolumns: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetscolumnsDestroyResponse = void; + +export type SeqvarsApiQuerypresetscolumnsDestroyError = unknown; + +export type SeqvarsApiQuerypresetsconsequenceListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsconsequenceListResponse = PaginatedSeqvarsQueryPresetsConsequenceList; + +export type SeqvarsApiQuerypresetsconsequenceListError = unknown; + +export type SeqvarsApiQuerypresetsconsequenceCreateData = { + body: SeqvarsQueryPresetsConsequence; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsconsequenceCreateResponse = SeqvarsQueryPresetsConsequence; + +export type SeqvarsApiQuerypresetsconsequenceCreateError = unknown; + +export type SeqvarsApiQuerypresetsconsequenceRetrieveData = { + path: { + querypresetsconsequence: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsconsequenceRetrieveResponse = SeqvarsQueryPresetsConsequence; + +export type SeqvarsApiQuerypresetsconsequenceRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsconsequenceUpdateData = { + body: SeqvarsQueryPresetsConsequence; + path: { + querypresetsconsequence: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsconsequenceUpdateResponse = SeqvarsQueryPresetsConsequence; + +export type SeqvarsApiQuerypresetsconsequenceUpdateError = unknown; + +export type SeqvarsApiQuerypresetsconsequencePartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsConsequence; + path: { + querypresetsconsequence: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsconsequencePartialUpdateResponse = SeqvarsQueryPresetsConsequence; + +export type SeqvarsApiQuerypresetsconsequencePartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsconsequenceDestroyData = { + path: { + querypresetsconsequence: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsconsequenceDestroyResponse = void; + +export type SeqvarsApiQuerypresetsconsequenceDestroyError = unknown; + +export type SeqvarsApiQuerypresetsfactorydefaultsListData = { + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsfactorydefaultsListResponse = PaginatedSeqvarsQueryPresetsSetList; + +export type SeqvarsApiQuerypresetsfactorydefaultsListError = unknown; + +export type SeqvarsApiQuerypresetsfactorydefaultsRetrieveData = { + path: { + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetsfactorydefaultsRetrieveResponse = SeqvarsQueryPresetsSetDetails; + +export type SeqvarsApiQuerypresetsfactorydefaultsRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyListResponse = PaginatedSeqvarsQueryPresetsFrequencyList; + +export type SeqvarsApiQuerypresetsfrequencyListError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyCreateData = { + body: SeqvarsQueryPresetsFrequency; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyCreateResponse = SeqvarsQueryPresetsFrequency; + +export type SeqvarsApiQuerypresetsfrequencyCreateError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyRetrieveData = { + path: { + querypresetsfrequency: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyRetrieveResponse = SeqvarsQueryPresetsFrequency; + +export type SeqvarsApiQuerypresetsfrequencyRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyUpdateData = { + body: SeqvarsQueryPresetsFrequency; + path: { + querypresetsfrequency: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyUpdateResponse = SeqvarsQueryPresetsFrequency; + +export type SeqvarsApiQuerypresetsfrequencyUpdateError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsFrequency; + path: { + querypresetsfrequency: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyPartialUpdateResponse = SeqvarsQueryPresetsFrequency; + +export type SeqvarsApiQuerypresetsfrequencyPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsfrequencyDestroyData = { + path: { + querypresetsfrequency: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsfrequencyDestroyResponse = void; + +export type SeqvarsApiQuerypresetsfrequencyDestroyError = unknown; + +export type SeqvarsApiQuerypresetslocusListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetslocusListResponse = PaginatedSeqvarsQueryPresetsLocusList; + +export type SeqvarsApiQuerypresetslocusListError = unknown; + +export type SeqvarsApiQuerypresetslocusCreateData = { + body: SeqvarsQueryPresetsLocus; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetslocusCreateResponse = SeqvarsQueryPresetsLocus; + +export type SeqvarsApiQuerypresetslocusCreateError = unknown; + +export type SeqvarsApiQuerypresetslocusRetrieveData = { + path: { + querypresetslocus: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetslocusRetrieveResponse = SeqvarsQueryPresetsLocus; + +export type SeqvarsApiQuerypresetslocusRetrieveError = unknown; + +export type SeqvarsApiQuerypresetslocusUpdateData = { + body: SeqvarsQueryPresetsLocus; + path: { + querypresetslocus: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetslocusUpdateResponse = SeqvarsQueryPresetsLocus; + +export type SeqvarsApiQuerypresetslocusUpdateError = unknown; + +export type SeqvarsApiQuerypresetslocusPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsLocus; + path: { + querypresetslocus: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetslocusPartialUpdateResponse = SeqvarsQueryPresetsLocus; + +export type SeqvarsApiQuerypresetslocusPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetslocusDestroyData = { + path: { + querypresetslocus: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetslocusDestroyResponse = void; + +export type SeqvarsApiQuerypresetslocusDestroyError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioListResponse = PaginatedSeqvarsQueryPresetsPhenotypePrioList; + +export type SeqvarsApiQuerypresetsphenotypeprioListError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioCreateData = { + body: SeqvarsQueryPresetsPhenotypePrio; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioCreateResponse = SeqvarsQueryPresetsPhenotypePrio; + +export type SeqvarsApiQuerypresetsphenotypeprioCreateError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioRetrieveData = { + path: { + querypresetsphenotypeprio: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioRetrieveResponse = SeqvarsQueryPresetsPhenotypePrio; + +export type SeqvarsApiQuerypresetsphenotypeprioRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioUpdateData = { + body: SeqvarsQueryPresetsPhenotypePrio; + path: { + querypresetsphenotypeprio: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioUpdateResponse = SeqvarsQueryPresetsPhenotypePrio; + +export type SeqvarsApiQuerypresetsphenotypeprioUpdateError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsPhenotypePrio; + path: { + querypresetsphenotypeprio: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioPartialUpdateResponse = SeqvarsQueryPresetsPhenotypePrio; + +export type SeqvarsApiQuerypresetsphenotypeprioPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsphenotypeprioDestroyData = { + path: { + querypresetsphenotypeprio: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsphenotypeprioDestroyResponse = void; + +export type SeqvarsApiQuerypresetsphenotypeprioDestroyError = unknown; + +export type SeqvarsApiQuerypresetsqualityListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsqualityListResponse = PaginatedSeqvarsQueryPresetsQualityList; + +export type SeqvarsApiQuerypresetsqualityListError = unknown; + +export type SeqvarsApiQuerypresetsqualityCreateData = { + body: SeqvarsQueryPresetsQuality; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsqualityCreateResponse = SeqvarsQueryPresetsQuality; + +export type SeqvarsApiQuerypresetsqualityCreateError = unknown; + +export type SeqvarsApiQuerypresetsqualityRetrieveData = { + path: { + querypresetsquality: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsqualityRetrieveResponse = SeqvarsQueryPresetsQuality; + +export type SeqvarsApiQuerypresetsqualityRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsqualityUpdateData = { + body: SeqvarsQueryPresetsQuality; + path: { + querypresetsquality: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsqualityUpdateResponse = SeqvarsQueryPresetsQuality; + +export type SeqvarsApiQuerypresetsqualityUpdateError = unknown; + +export type SeqvarsApiQuerypresetsqualityPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsQuality; + path: { + querypresetsquality: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsqualityPartialUpdateResponse = SeqvarsQueryPresetsQuality; + +export type SeqvarsApiQuerypresetsqualityPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsqualityDestroyData = { + path: { + querypresetsquality: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsqualityDestroyResponse = void; + +export type SeqvarsApiQuerypresetsqualityDestroyError = unknown; + +export type SeqvarsApiQuerypresetssetListData = { + path: { + project: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetssetListResponse = PaginatedSeqvarsQueryPresetsSetList; + +export type SeqvarsApiQuerypresetssetListError = unknown; + +export type SeqvarsApiQuerypresetssetCreateData = { + body: SeqvarsQueryPresetsSet; + path: { + project: string; + }; +}; + +export type SeqvarsApiQuerypresetssetCreateResponse = SeqvarsQueryPresetsSet; + +export type SeqvarsApiQuerypresetssetCreateError = unknown; + +export type SeqvarsApiQuerypresetssetRetrieveData = { + path: { + project: string; + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetRetrieveResponse = SeqvarsQueryPresetsSet; + +export type SeqvarsApiQuerypresetssetRetrieveError = unknown; + +export type SeqvarsApiQuerypresetssetUpdateData = { + body: SeqvarsQueryPresetsSet; + path: { + project: string; + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetUpdateResponse = SeqvarsQueryPresetsSet; + +export type SeqvarsApiQuerypresetssetUpdateError = unknown; + +export type SeqvarsApiQuerypresetssetPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsSet; + path: { + project: string; + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetPartialUpdateResponse = SeqvarsQueryPresetsSet; + +export type SeqvarsApiQuerypresetssetPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetssetDestroyData = { + path: { + project: string; + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetDestroyResponse = void; + +export type SeqvarsApiQuerypresetssetDestroyError = unknown; + +export type SeqvarsApiQuerypresetssetCopyFromRetrieveData = { + path: { + project: string; + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetCopyFromRetrieveResponse = SeqvarsQueryPresetsSet; + +export type SeqvarsApiQuerypresetssetCopyFromRetrieveError = unknown; + +export type SeqvarsApiQuerypresetssetversionListData = { + path: { + querypresetsset: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetssetversionListResponse = PaginatedSeqvarsQueryPresetsSetVersionList; + +export type SeqvarsApiQuerypresetssetversionListError = unknown; + +export type SeqvarsApiQuerypresetssetversionCreateData = { + body?: SeqvarsQueryPresetsSetVersion; + path: { + querypresetsset: string; + }; +}; + +export type SeqvarsApiQuerypresetssetversionCreateResponse = SeqvarsQueryPresetsSetVersion; + +export type SeqvarsApiQuerypresetssetversionCreateError = unknown; + +export type SeqvarsApiQuerypresetssetversionRetrieveData = { + path: { + querypresetsset: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetssetversionRetrieveResponse = SeqvarsQueryPresetsSetVersionDetails; + +export type SeqvarsApiQuerypresetssetversionRetrieveError = unknown; + +export type SeqvarsApiQuerypresetssetversionUpdateData = { + body?: SeqvarsQueryPresetsSetVersion; + path: { + querypresetsset: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetssetversionUpdateResponse = SeqvarsQueryPresetsSetVersion; + +export type SeqvarsApiQuerypresetssetversionUpdateError = unknown; + +export type SeqvarsApiQuerypresetssetversionPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsSetVersion; + path: { + querypresetsset: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetssetversionPartialUpdateResponse = SeqvarsQueryPresetsSetVersion; + +export type SeqvarsApiQuerypresetssetversionPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetssetversionDestroyData = { + path: { + querypresetsset: string; + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetssetversionDestroyResponse = void; + +export type SeqvarsApiQuerypresetssetversionDestroyError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioListData = { + path: { + querypresetssetversion: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioListResponse = PaginatedSeqvarsQueryPresetsVariantPrioList; + +export type SeqvarsApiQuerypresetsvariantprioListError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioCreateData = { + body: SeqvarsQueryPresetsVariantPrio; + path: { + querypresetssetversion: string; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioCreateResponse = SeqvarsQueryPresetsVariantPrio; + +export type SeqvarsApiQuerypresetsvariantprioCreateError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioRetrieveData = { + path: { + querypresetssetversion: string; + querypresetsvariantprio: string; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioRetrieveResponse = SeqvarsQueryPresetsVariantPrio; + +export type SeqvarsApiQuerypresetsvariantprioRetrieveError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioUpdateData = { + body: SeqvarsQueryPresetsVariantPrio; + path: { + querypresetssetversion: string; + querypresetsvariantprio: string; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioUpdateResponse = SeqvarsQueryPresetsVariantPrio; + +export type SeqvarsApiQuerypresetsvariantprioUpdateError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioPartialUpdateData = { + body?: PatchedSeqvarsQueryPresetsVariantPrio; + path: { + querypresetssetversion: string; + querypresetsvariantprio: string; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioPartialUpdateResponse = SeqvarsQueryPresetsVariantPrio; + +export type SeqvarsApiQuerypresetsvariantprioPartialUpdateError = unknown; + +export type SeqvarsApiQuerypresetsvariantprioDestroyData = { + path: { + querypresetssetversion: string; + querypresetsvariantprio: string; + }; +}; + +export type SeqvarsApiQuerypresetsvariantprioDestroyResponse = void; + +export type SeqvarsApiQuerypresetsvariantprioDestroyError = unknown; + +export type SeqvarsApiQuerysettingsListData = { + path: { + session: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiQuerysettingsListResponse = PaginatedSeqvarsQuerySettingsList; + +export type SeqvarsApiQuerysettingsListError = unknown; + +export type SeqvarsApiQuerysettingsCreateData = { + body: SeqvarsQuerySettingsDetails; + path: { + session: string; + }; +}; + +export type SeqvarsApiQuerysettingsCreateResponse = SeqvarsQuerySettingsDetails; + +export type SeqvarsApiQuerysettingsCreateError = unknown; + +export type SeqvarsApiQuerysettingsRetrieveData = { + path: { + querysettings: string; + session: string; + }; +}; + +export type SeqvarsApiQuerysettingsRetrieveResponse = SeqvarsQuerySettingsDetails; + +export type SeqvarsApiQuerysettingsRetrieveError = unknown; + +export type SeqvarsApiQuerysettingsUpdateData = { + body: SeqvarsQuerySettingsDetails; + path: { + querysettings: string; + session: string; + }; +}; + +export type SeqvarsApiQuerysettingsUpdateResponse = SeqvarsQuerySettingsDetails; + +export type SeqvarsApiQuerysettingsUpdateError = unknown; + +export type SeqvarsApiQuerysettingsPartialUpdateData = { + body?: PatchedSeqvarsQuerySettingsDetails; + path: { + querysettings: string; + session: string; + }; +}; + +export type SeqvarsApiQuerysettingsPartialUpdateResponse = SeqvarsQuerySettingsDetails; + +export type SeqvarsApiQuerysettingsPartialUpdateError = unknown; + +export type SeqvarsApiQuerysettingsDestroyData = { + path: { + querysettings: string; + session: string; + }; +}; + +export type SeqvarsApiQuerysettingsDestroyResponse = void; + +export type SeqvarsApiQuerysettingsDestroyError = unknown; + +export type SeqvarsApiResultrowListData = { + path: { + resultset: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiResultrowListResponse = PaginatedSeqvarsResultRowList; + +export type SeqvarsApiResultrowListError = unknown; + +export type SeqvarsApiResultrowRetrieveData = { + path: { + resultset: string; + seqvarresultrow: string; + }; +}; + +export type SeqvarsApiResultrowRetrieveResponse = SeqvarsResultRow; + +export type SeqvarsApiResultrowRetrieveError = unknown; + +export type SeqvarsApiResultsetListData = { + path: { + query: string; + }; + query?: { + /** + * The pagination cursor value. + */ + cursor?: string; + /** + * Number of results to return per page. + */ + page_size?: number; + }; +}; + +export type SeqvarsApiResultsetListResponse = PaginatedSeqvarsResultSetList; + +export type SeqvarsApiResultsetListError = unknown; + +export type SeqvarsApiResultsetRetrieveData = { + path: { + query: string; + resultset: string; + }; +}; + +export type SeqvarsApiResultsetRetrieveResponse = SeqvarsResultSet; + +export type SeqvarsApiResultsetRetrieveError = unknown; + +export type $OpenApiTs = { + '/cases-analysis/api/caseanalysis/{case}/': { + get: { + req: CasesAnalysisApiCaseanalysisListData; + res: { + '200': PaginatedCaseAnalysisList; + }; + }; + }; + '/cases-analysis/api/caseanalysis/{case}/{caseanalysis}/': { + get: { + req: CasesAnalysisApiCaseanalysisRetrieveData; + res: { + '200': CaseAnalysis; + }; + }; + }; + '/cases-analysis/api/caseanalysissession/{case}/': { + get: { + req: CasesAnalysisApiCaseanalysissessionListData; + res: { + '200': PaginatedCaseAnalysisSessionList; + }; + }; + }; + '/cases-analysis/api/caseanalysissession/{case}/{caseanalysissession}/': { + get: { + req: CasesAnalysisApiCaseanalysissessionRetrieveData; + res: { + '200': CaseAnalysisSession; + }; + }; + }; + '/cases-import/api/case-import-action/list-create/{project}/': { + get: { + req: CasesImportApiCaseImportActionListCreateListData; + res: { + '200': PaginatedCaseImportActionList; + }; + }; + post: { + req: CasesImportApiCaseImportActionListCreateCreateData; + res: { + '201': CaseImportAction; + }; + }; + }; + '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/': { + get: { + req: CasesImportApiCaseImportActionRetrieveUpdateDestroyRetrieveData; + res: { + '200': CaseImportAction; + }; + }; + put: { + req: CasesImportApiCaseImportActionRetrieveUpdateDestroyUpdateData; + res: { + '200': CaseImportAction; + }; + }; + patch: { + req: CasesImportApiCaseImportActionRetrieveUpdateDestroyPartialUpdateData; + res: { + '200': CaseImportAction; + }; + }; + delete: { + req: CasesImportApiCaseImportActionRetrieveUpdateDestroyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/cases-qc/api/caseqc/retrieve/{case}/': { + get: { + req: CasesQcApiCaseqcRetrieveRetrieveData; + res: { + '200': CaseQc; + }; + }; + }; + '/cases-qc/api/varfishstats/retrieve/{case}/': { + get: { + req: CasesQcApiVarfishstatsRetrieveRetrieveData; + res: { + '200': VarfishStats; + }; + }; + }; + '/cases/api/annotation-release-info/list/{case}/': { + get: { + req: CasesApiAnnotationReleaseInfoListListData; + res: { + '200': Array; + }; + }; + }; + '/cases/api/case-comment/list-create/{case}/': { + get: { + req: CasesApiCaseCommentListCreateListData; + res: { + '200': Array; + }; + }; + post: { + req: CasesApiCaseCommentListCreateCreateData; + res: { + '201': CaseComment; + }; + }; + }; + '/cases/api/case-phenotype-terms/list-create/{case}/': { + get: { + req: CasesApiCasePhenotypeTermsListCreateListData; + res: { + '200': Array; + }; + }; + post: { + req: CasesApiCasePhenotypeTermsListCreateCreateData; + res: { + '201': CasePhenotypeTerms; + }; + }; + }; + '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/': { + get: { + req: CasesApiCasePhenotypeTermsRetrieveUpdateDestroyRetrieveData; + res: { + '200': CasePhenotypeTerms; + }; + }; + put: { + req: CasesApiCasePhenotypeTermsRetrieveUpdateDestroyUpdateData; + res: { + '200': CasePhenotypeTerms; + }; + }; + patch: { + req: CasesApiCasePhenotypeTermsRetrieveUpdateDestroyPartialUpdateData; + res: { + '200': CasePhenotypeTerms; + }; + }; + delete: { + req: CasesApiCasePhenotypeTermsRetrieveUpdateDestroyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/cases/api/case/list/{project}/': { + get: { + req: CasesApiCaseListListData; + res: { + '200': PaginatedCaseSerializerNgList; + }; + }; + }; + '/cases/api/case/retrieve-update-destroy/{case}/': { + get: { + req: CasesApiCaseRetrieveUpdateDestroyRetrieveData; + res: { + '200': CaseSerializerNg; + }; + }; + put: { + req: CasesApiCaseRetrieveUpdateDestroyUpdateData; + res: { + '200': CaseSerializerNg; + }; + }; + patch: { + req: CasesApiCaseRetrieveUpdateDestroyPartialUpdateData; + res: { + '200': CaseSerializerNg; + }; + }; + delete: { + req: CasesApiCaseRetrieveUpdateDestroyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/cases/api/sv-annotation-release-info/list/{case}/': { + get: { + req: CasesApiSvAnnotationReleaseInfoListListData; + res: { + '200': Array; + }; + }; + }; + '/genepanels/api/genepanel-category/list/': { + get: { + res: { + '200': Array; + }; + }; + }; + '/genepanels/api/lookup-genepanel/': { + get: { + res: { + '200': GenePanel; + }; + }; + }; + '/seqmeta/api/enrichmentkit/list-create/': { + get: { + res: { + '200': Array; + }; + }; + post: { + req: SeqmetaApiEnrichmentkitListCreateCreateData; + res: { + '201': EnrichmentKit; + }; + }; + }; + '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/': { + get: { + req: SeqmetaApiEnrichmentkitRetrieveUpdateDestroyRetrieveData; + res: { + '200': EnrichmentKit; + }; + }; + put: { + req: SeqmetaApiEnrichmentkitRetrieveUpdateDestroyUpdateData; + res: { + '200': EnrichmentKit; + }; + }; + patch: { + req: SeqmetaApiEnrichmentkitRetrieveUpdateDestroyPartialUpdateData; + res: { + '200': EnrichmentKit; + }; + }; + delete: { + req: SeqmetaApiEnrichmentkitRetrieveUpdateDestroyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqmeta/api/targetbedfile/list-create/{enrichmentkit}/': { + get: { + req: SeqmetaApiTargetbedfileListCreateListData; + res: { + '200': Array; + }; + }; + post: { + req: SeqmetaApiTargetbedfileListCreateCreateData; + res: { + '201': TargetBedFile; + }; + }; + }; + '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/': { + get: { + req: SeqmetaApiTargetbedfileRetrieveUpdateDestroyRetrieveData; + res: { + '200': TargetBedFile; + }; + }; + put: { + req: SeqmetaApiTargetbedfileRetrieveUpdateDestroyUpdateData; + res: { + '200': TargetBedFile; + }; + }; + patch: { + req: SeqmetaApiTargetbedfileRetrieveUpdateDestroyPartialUpdateData; + res: { + '200': TargetBedFile; + }; + }; + delete: { + req: SeqmetaApiTargetbedfileRetrieveUpdateDestroyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/predefinedquery/{querypresetssetversion}/': { + get: { + req: SeqvarsApiPredefinedqueryListData; + res: { + '200': PaginatedSeqvarsPredefinedQueryList; + }; + }; + post: { + req: SeqvarsApiPredefinedqueryCreateData; + res: { + '201': SeqvarsPredefinedQuery; + }; + }; + }; + '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/': { + get: { + req: SeqvarsApiPredefinedqueryRetrieveData; + res: { + '200': SeqvarsPredefinedQuery; + }; + }; + put: { + req: SeqvarsApiPredefinedqueryUpdateData; + res: { + '200': SeqvarsPredefinedQuery; + }; + }; + patch: { + req: SeqvarsApiPredefinedqueryPartialUpdateData; + res: { + '200': SeqvarsPredefinedQuery; + }; + }; + delete: { + req: SeqvarsApiPredefinedqueryDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/query/{session}/': { + get: { + req: SeqvarsApiQueryListData; + res: { + '200': PaginatedSeqvarsQueryList; + }; + }; + post: { + req: SeqvarsApiQueryCreateData; + res: { + '201': SeqvarsQueryDetails; + }; + }; + }; + '/seqvars/api/query/{session}/{query}/': { + get: { + req: SeqvarsApiQueryRetrieveData; + res: { + '200': SeqvarsQueryDetails; + }; + }; + put: { + req: SeqvarsApiQueryUpdateData; + res: { + '200': SeqvarsQueryDetails; + }; + }; + patch: { + req: SeqvarsApiQueryPartialUpdateData; + res: { + '200': SeqvarsQueryDetails; + }; + }; + delete: { + req: SeqvarsApiQueryDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/queryexecution/{query}/': { + get: { + req: SeqvarsApiQueryexecutionListData; + res: { + '200': PaginatedSeqvarsQueryExecutionList; + }; + }; + }; + '/seqvars/api/queryexecution/{query}/{queryexecution}/': { + get: { + req: SeqvarsApiQueryexecutionRetrieveData; + res: { + '200': SeqvarsQueryExecutionDetails; + }; + }; + }; + '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsclinvarListData; + res: { + '200': PaginatedSeqvarsQueryPresetsClinvarList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsclinvarCreateData; + res: { + '201': SeqvarsQueryPresetsClinvar; + }; + }; + }; + '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/': { + get: { + req: SeqvarsApiQuerypresetsclinvarRetrieveData; + res: { + '200': SeqvarsQueryPresetsClinvar; + }; + }; + put: { + req: SeqvarsApiQuerypresetsclinvarUpdateData; + res: { + '200': SeqvarsQueryPresetsClinvar; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsclinvarPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsClinvar; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsclinvarDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetscolumns/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetscolumnsListData; + res: { + '200': PaginatedSeqvarsQueryPresetsColumnsList; + }; + }; + post: { + req: SeqvarsApiQuerypresetscolumnsCreateData; + res: { + '201': SeqvarsQueryPresetsColumns; + }; + }; + }; + '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/': { + get: { + req: SeqvarsApiQuerypresetscolumnsRetrieveData; + res: { + '200': SeqvarsQueryPresetsColumns; + }; + }; + put: { + req: SeqvarsApiQuerypresetscolumnsUpdateData; + res: { + '200': SeqvarsQueryPresetsColumns; + }; + }; + patch: { + req: SeqvarsApiQuerypresetscolumnsPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsColumns; + }; + }; + delete: { + req: SeqvarsApiQuerypresetscolumnsDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsconsequenceListData; + res: { + '200': PaginatedSeqvarsQueryPresetsConsequenceList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsconsequenceCreateData; + res: { + '201': SeqvarsQueryPresetsConsequence; + }; + }; + }; + '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/': { + get: { + req: SeqvarsApiQuerypresetsconsequenceRetrieveData; + res: { + '200': SeqvarsQueryPresetsConsequence; + }; + }; + put: { + req: SeqvarsApiQuerypresetsconsequenceUpdateData; + res: { + '200': SeqvarsQueryPresetsConsequence; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsconsequencePartialUpdateData; + res: { + '200': SeqvarsQueryPresetsConsequence; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsconsequenceDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsfactorydefaults/': { + get: { + req: SeqvarsApiQuerypresetsfactorydefaultsListData; + res: { + '200': PaginatedSeqvarsQueryPresetsSetList; + }; + }; + }; + '/seqvars/api/querypresetsfactorydefaults/{querypresetsset}/': { + get: { + req: SeqvarsApiQuerypresetsfactorydefaultsRetrieveData; + res: { + '200': SeqvarsQueryPresetsSetDetails; + }; + }; + }; + '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsfrequencyListData; + res: { + '200': PaginatedSeqvarsQueryPresetsFrequencyList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsfrequencyCreateData; + res: { + '201': SeqvarsQueryPresetsFrequency; + }; + }; + }; + '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/': { + get: { + req: SeqvarsApiQuerypresetsfrequencyRetrieveData; + res: { + '200': SeqvarsQueryPresetsFrequency; + }; + }; + put: { + req: SeqvarsApiQuerypresetsfrequencyUpdateData; + res: { + '200': SeqvarsQueryPresetsFrequency; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsfrequencyPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsFrequency; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsfrequencyDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetslocus/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetslocusListData; + res: { + '200': PaginatedSeqvarsQueryPresetsLocusList; + }; + }; + post: { + req: SeqvarsApiQuerypresetslocusCreateData; + res: { + '201': SeqvarsQueryPresetsLocus; + }; + }; + }; + '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/': { + get: { + req: SeqvarsApiQuerypresetslocusRetrieveData; + res: { + '200': SeqvarsQueryPresetsLocus; + }; + }; + put: { + req: SeqvarsApiQuerypresetslocusUpdateData; + res: { + '200': SeqvarsQueryPresetsLocus; + }; + }; + patch: { + req: SeqvarsApiQuerypresetslocusPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsLocus; + }; + }; + delete: { + req: SeqvarsApiQuerypresetslocusDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsphenotypeprioListData; + res: { + '200': PaginatedSeqvarsQueryPresetsPhenotypePrioList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsphenotypeprioCreateData; + res: { + '201': SeqvarsQueryPresetsPhenotypePrio; + }; + }; + }; + '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/': { + get: { + req: SeqvarsApiQuerypresetsphenotypeprioRetrieveData; + res: { + '200': SeqvarsQueryPresetsPhenotypePrio; + }; + }; + put: { + req: SeqvarsApiQuerypresetsphenotypeprioUpdateData; + res: { + '200': SeqvarsQueryPresetsPhenotypePrio; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsphenotypeprioPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsPhenotypePrio; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsphenotypeprioDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsquality/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsqualityListData; + res: { + '200': PaginatedSeqvarsQueryPresetsQualityList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsqualityCreateData; + res: { + '201': SeqvarsQueryPresetsQuality; + }; + }; + }; + '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/': { + get: { + req: SeqvarsApiQuerypresetsqualityRetrieveData; + res: { + '200': SeqvarsQueryPresetsQuality; + }; + }; + put: { + req: SeqvarsApiQuerypresetsqualityUpdateData; + res: { + '200': SeqvarsQueryPresetsQuality; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsqualityPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsQuality; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsqualityDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsset/{project}/': { + get: { + req: SeqvarsApiQuerypresetssetListData; + res: { + '200': PaginatedSeqvarsQueryPresetsSetList; + }; + }; + post: { + req: SeqvarsApiQuerypresetssetCreateData; + res: { + '201': SeqvarsQueryPresetsSet; + }; + }; + }; + '/seqvars/api/querypresetsset/{project}/{querypresetsset}/': { + get: { + req: SeqvarsApiQuerypresetssetRetrieveData; + res: { + '200': SeqvarsQueryPresetsSet; + }; + }; + put: { + req: SeqvarsApiQuerypresetssetUpdateData; + res: { + '200': SeqvarsQueryPresetsSet; + }; + }; + patch: { + req: SeqvarsApiQuerypresetssetPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsSet; + }; + }; + delete: { + req: SeqvarsApiQuerypresetssetDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsset/{project}/{querypresetsset}/copy_from/': { + get: { + req: SeqvarsApiQuerypresetssetCopyFromRetrieveData; + res: { + '200': SeqvarsQueryPresetsSet; + }; + }; + }; + '/seqvars/api/querypresetssetversion/{querypresetsset}/': { + get: { + req: SeqvarsApiQuerypresetssetversionListData; + res: { + '200': PaginatedSeqvarsQueryPresetsSetVersionList; + }; + }; + post: { + req: SeqvarsApiQuerypresetssetversionCreateData; + res: { + '201': SeqvarsQueryPresetsSetVersion; + }; + }; + }; + '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetssetversionRetrieveData; + res: { + '200': SeqvarsQueryPresetsSetVersionDetails; + }; + }; + put: { + req: SeqvarsApiQuerypresetssetversionUpdateData; + res: { + '200': SeqvarsQueryPresetsSetVersion; + }; + }; + patch: { + req: SeqvarsApiQuerypresetssetversionPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsSetVersion; + }; + }; + delete: { + req: SeqvarsApiQuerypresetssetversionDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/': { + get: { + req: SeqvarsApiQuerypresetsvariantprioListData; + res: { + '200': PaginatedSeqvarsQueryPresetsVariantPrioList; + }; + }; + post: { + req: SeqvarsApiQuerypresetsvariantprioCreateData; + res: { + '201': SeqvarsQueryPresetsVariantPrio; + }; + }; + }; + '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/': { + get: { + req: SeqvarsApiQuerypresetsvariantprioRetrieveData; + res: { + '200': SeqvarsQueryPresetsVariantPrio; + }; + }; + put: { + req: SeqvarsApiQuerypresetsvariantprioUpdateData; + res: { + '200': SeqvarsQueryPresetsVariantPrio; + }; + }; + patch: { + req: SeqvarsApiQuerypresetsvariantprioPartialUpdateData; + res: { + '200': SeqvarsQueryPresetsVariantPrio; + }; + }; + delete: { + req: SeqvarsApiQuerypresetsvariantprioDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/querysettings/{session}/': { + get: { + req: SeqvarsApiQuerysettingsListData; + res: { + '200': PaginatedSeqvarsQuerySettingsList; + }; + }; + post: { + req: SeqvarsApiQuerysettingsCreateData; + res: { + '201': SeqvarsQuerySettingsDetails; + }; + }; + }; + '/seqvars/api/querysettings/{session}/{querysettings}/': { + get: { + req: SeqvarsApiQuerysettingsRetrieveData; + res: { + '200': SeqvarsQuerySettingsDetails; + }; + }; + put: { + req: SeqvarsApiQuerysettingsUpdateData; + res: { + '200': SeqvarsQuerySettingsDetails; + }; + }; + patch: { + req: SeqvarsApiQuerysettingsPartialUpdateData; + res: { + '200': SeqvarsQuerySettingsDetails; + }; + }; + delete: { + req: SeqvarsApiQuerysettingsDestroyData; + res: { + /** + * No response body + */ + '204': void; + }; + }; + }; + '/seqvars/api/resultrow/{resultset}/': { + get: { + req: SeqvarsApiResultrowListData; + res: { + '200': PaginatedSeqvarsResultRowList; + }; + }; + }; + '/seqvars/api/resultrow/{resultset}/{seqvarresultrow}/': { + get: { + req: SeqvarsApiResultrowRetrieveData; + res: { + '200': SeqvarsResultRow; + }; + }; + }; + '/seqvars/api/resultset/{query}/': { + get: { + req: SeqvarsApiResultsetListData; + res: { + '200': PaginatedSeqvarsResultSetList; + }; + }; + }; + '/seqvars/api/resultset/{query}/{resultset}/': { + get: { + req: SeqvarsApiResultsetRetrieveData; + res: { + '200': SeqvarsResultSet; + }; + }; + }; +}; \ No newline at end of file diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json index 66e1bc120..63e1b226e 100644 --- a/frontend/jsconfig.json +++ b/frontend/jsconfig.json @@ -5,7 +5,8 @@ "paths": { "@/*": ["./src/*"], "@tests/*": ["./tests/*"], - "@bihealth/reev-frontend-lib/*": ["./ext/reev-frontend-lib/src/*"] + "@bihealth/reev-frontend-lib/*": ["./ext/reev-frontend-lib/src/*"], + "@varfish-org/varfish-api/*": ["./ext/varfish-api/src/*"] } } } diff --git a/frontend/openapi-ts.config.ts b/frontend/openapi-ts.config.ts new file mode 100644 index 000000000..3c3e2dfd6 --- /dev/null +++ b/frontend/openapi-ts.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from '@hey-api/openapi-ts'; + +export default defineConfig({ + client: '@hey-api/client-fetch', + input: '../backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml', + output: 'ext/varfish-api/src/lib', + services: { + asClass: true, + }, +}); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 21f1658e3..2a69f73da 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,7 @@ "name": "varfish-server", "version": "2.0.0", "dependencies": { + "@hey-api/client-fetch": "^0.1.7", "@mdi/font": "^7.4.47", "@protobuf-ts/runtime": "^2.9.4", "@reactgular/chunks": "^1.0.1", @@ -42,6 +43,7 @@ "@babel/core": "^7.24.6", "@babel/eslint-parser": "^7.24.7", "@babel/preset-env": "^7.24.6", + "@hey-api/openapi-ts": "^0.48.1", "@iconify-json/bi": "^1.1.23", "@iconify-json/carbon": "^1.1.36", "@iconify-json/cil": "^1.1.8", @@ -88,13 +90,13 @@ "ndb": "^1.1.5", "node-fetch": "^3.3.2", "npm-check-updates": "^16.14.20", - "openapi-typescript": "^7.0.0", "prettier": "3.3.2", "react": "^18.3.1", "react-dom": "^18.2.0", "sass": "^1.77.6", "storybook": "^8.1.11", "storybook-addon-mock": "^5.0.0", + "typescript": "^5.5.3", "unplugin-fonts": "^1.1.1", "unplugin-icons": "^0.19.0", "unplugin-vue-components": "^0.27.2", @@ -147,6 +149,23 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.6.4", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.4.tgz", + "integrity": "sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==", + "dev": true, + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, "node_modules/@aw-web-design/x-default-browser": { "version": "1.4.126", "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", @@ -2275,6 +2294,42 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "node_modules/@hey-api/client-fetch": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.1.7.tgz", + "integrity": "sha512-WXQrj63YyTjfjR469fyFUdXyRw3vYfvFoQzg6I6mKyZBCbzLnOuz+BUVOeRbIe7fRij7g0uLS33JHusMTuRjiA==" + }, + "node_modules/@hey-api/openapi-ts": { + "version": "0.48.1", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.48.1.tgz", + "integrity": "sha512-iZBEmS12EWn4yl/nYMui+PA3hprjFR9z+9p+p+s3f0VRXPw+uZWO0yuIfCcsAw1n0isikw2uJEY4qxwlnI07AQ==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "11.6.4", + "c12": "1.11.1", + "camelcase": "8.0.0", + "commander": "12.1.0", + "handlebars": "4.7.8" + }, + "bin": { + "openapi-ts": "bin/index.cjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "typescript": "^5.x" + } + }, + "node_modules/@hey-api/openapi-ts/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -2624,6 +2679,12 @@ "node": ">=10" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, "node_modules/@mdi/font": { "version": "7.4.47", "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz", @@ -3419,114 +3480,6 @@ "resolved": "https://registry.npmjs.org/@reactgular/chunks/-/chunks-1.0.1.tgz", "integrity": "sha512-Ndyq5oSpkyw5MxZAhV4/fIgmtwbEgIz1L3E3hWcqkCsrlA/auw0Ags5YFTBtaneatClbe4q0J5d1cO7f/MNJkw==" }, - "node_modules/@redocly/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@redocly/ajv/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@redocly/config": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.6.0.tgz", - "integrity": "sha512-hNVN3eTxFj2nHYX0gGzZxxXwdE0DXWeWou1TIK3HYf0S9VKVxTxjO9EZbMB7iVUqaHkeqy4PSjlBQcEgD0Ftjg==", - "dev": true - }, - "node_modules/@redocly/openapi-core": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.16.0.tgz", - "integrity": "sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==", - "dev": true, - "dependencies": { - "@redocly/ajv": "^8.11.0", - "@redocly/config": "^0.6.0", - "colorette": "^1.2.0", - "https-proxy-agent": "^7.0.4", - "js-levenshtein": "^1.1.6", - "js-yaml": "^4.1.0", - "lodash.isequal": "^4.5.0", - "minimatch": "^5.0.1", - "node-fetch": "^2.6.1", - "pluralize": "^8.0.0", - "yaml-ast-parser": "0.0.43" - }, - "engines": { - "node": ">=14.19.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@redocly/openapi-core/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@redocly/openapi-core/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@redocly/openapi-core/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@redocly/openapi-core/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -8878,15 +8831,6 @@ "string-width": "^4.1.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -9831,6 +9775,34 @@ "node": ">= 0.8" } }, + "node_modules/c12": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.11.1.tgz", + "integrity": "sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==", + "dev": true, + "dependencies": { + "chokidar": "^3.6.0", + "confbox": "^0.1.7", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.3", + "jiti": "^1.21.6", + "mlly": "^1.7.1", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.1.1", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.4" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, "node_modules/c8": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/c8/-/c8-9.1.0.tgz", @@ -10357,12 +10329,6 @@ "color-support": "bin.js" } }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, "node_modules/commander": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", @@ -11283,6 +11249,12 @@ "node": ">=6" } }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "dev": true + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -14430,18 +14402,6 @@ "node": ">=8" } }, - "node_modules/index-to-position": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", - "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -15510,6 +15470,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -15546,15 +15515,6 @@ "node": ">=14" } }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", @@ -15934,12 +15894,6 @@ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -19502,66 +19456,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/openapi-typescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.0.0.tgz", - "integrity": "sha512-5NobO3pavTUVmErRVjnfiIIqCNjCrZeva4ElOA3nNKcSo4Jm5G7zv4WLcw6S+jDVnGGRkchxnJ2yIJBp9ULUAg==", - "dev": true, - "dependencies": { - "@redocly/openapi-core": "^1.16.0", - "ansi-colors": "^4.1.3", - "parse-json": "^8.1.0", - "supports-color": "^9.4.0", - "yargs-parser": "^21.1.1" - }, - "bin": { - "openapi-typescript": "bin/cli.js" - }, - "peerDependencies": { - "typescript": "^5.x" - } - }, - "node_modules/openapi-typescript/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/openapi-typescript/node_modules/supports-color": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", - "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/openapi-typescript/node_modules/type-fest": { - "version": "4.20.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz", - "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", @@ -20019,6 +19913,12 @@ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -20132,15 +20032,6 @@ "resolved": "https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-2.33.0.tgz", "integrity": "sha512-Q995s9+9coO+5EStfCtlSW7HQXR14L3i/jTNXTZap7lt1v7r2QPuokAUkOHqMwmE1RsJJjtqnGRQH9JlEq8qPQ==" }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/polished": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", @@ -20888,6 +20779,16 @@ "node": ">=0.10.0" } }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "dev": true, + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -23573,9 +23474,9 @@ } }, "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -26215,12 +26116,6 @@ "node": ">= 14" } }, - "node_modules/yaml-ast-parser": { - "version": "0.0.43", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", - "dev": true - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index d63301d24..30b63cbf1 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "build": "vite build --emptyOutDir", - "test:unit": "vitest run --coverage", + "test:unit": "vitest run", "test:unit:nocov": "vitest run", "lint": "eslint . --fix --max-warnings 0", "type-check": "vue-tsc --noEmit --composite false", @@ -15,6 +15,7 @@ "build-storybook": "storybook build" }, "dependencies": { + "@hey-api/client-fetch": "^0.1.7", "@mdi/font": "^7.4.47", "@protobuf-ts/runtime": "^2.9.4", "@reactgular/chunks": "^1.0.1", @@ -49,6 +50,7 @@ "@babel/core": "^7.24.6", "@babel/eslint-parser": "^7.24.7", "@babel/preset-env": "^7.24.6", + "@hey-api/openapi-ts": "^0.48.1", "@iconify-json/bi": "^1.1.23", "@iconify-json/carbon": "^1.1.36", "@iconify-json/cil": "^1.1.8", @@ -95,13 +97,13 @@ "ndb": "^1.1.5", "node-fetch": "^3.3.2", "npm-check-updates": "^16.14.20", - "openapi-typescript": "^7.0.0", "prettier": "3.3.2", "react": "^18.3.1", "react-dom": "^18.2.0", "sass": "^1.77.6", "storybook": "^8.1.11", "storybook-addon-mock": "^5.0.0", + "typescript": "^5.5.3", "unplugin-fonts": "^1.1.1", "unplugin-icons": "^0.19.0", "unplugin-vue-components": "^0.27.2", diff --git a/frontend/src/cases/components/CaseDetailApp.vue b/frontend/src/cases/components/CaseDetailApp.vue index 1cee68fdc..cf6574b2e 100644 --- a/frontend/src/cases/components/CaseDetailApp.vue +++ b/frontend/src/cases/components/CaseDetailApp.vue @@ -12,6 +12,9 @@ import { useSvResultSetStore } from '@/svs/stores/svResultSet' import { useSvFlagsStore } from '@/svs/stores/strucvarFlags' import { useSvCommentsStore } from '@/svs/stores/svComments' import { overlayShow, overlayMessage } from '@/cases/common' +import { useSeqvarPresetsStore } from '@/seqvars/stores/presets' +import { useCaseAnalysisStore } from '@/seqvars/stores/caseAnalysis' +import { useSeqvarsQueryStore } from '@/seqvars/stores/query' import { useRouter } from 'vue-router' import ModalSelect from '@/varfish/components/ModalSelect.vue' @@ -52,6 +55,10 @@ const svResultSetStore = useSvResultSetStore() const svFlagsStore = useSvFlagsStore() const svCommentsStore = useSvCommentsStore() +const seqvarPresetsStore = useSeqvarPresetsStore() +const caseAnalysisStore = useCaseAnalysisStore() +const seqvarsQueryStore = useSeqvarsQueryStore() + // Routing-related. const router = useRouter() @@ -62,58 +69,78 @@ const refreshStores = async () => { appContext?.project?.sodar_uuid && props?.caseUuid ) { - caseDetailsStore - .initialize( - appContext.csrf_token, - appContext.project.sodar_uuid, - props.caseUuid, - ) - .then(async () => { - caseQcStore.initialize( - appContext.csrf_token, - appContext.project.sodar_uuid, - caseDetailsStore.caseObj.sodar_uuid, - ) - variantResultSetStore - .initialize(appContext.csrf_token) - .then(async () => { - await variantResultSetStore.loadResultSetViaCase( - caseDetailsStore.caseObj.sodar_uuid, - ) - }) - svResultSetStore.initialize(appContext.csrf_token).then(async () => { - await svResultSetStore.loadResultSetViaCase( - caseDetailsStore.caseObj.sodar_uuid, - ) - }) + await Promise.all([ + (async () => { + // We currently load this mostly for demonstration purposes in this place. + // It really belongs to the seqvars query view. await Promise.all([ - variantFlagsStore.initialize( - appContext.csrf_token, - appContext.project.sodar_uuid, - caseDetailsStore.caseObj.sodar_uuid, - ), - variantCommentsStore.initialize( - appContext.csrf_token, + seqvarPresetsStore.initialize(appContext.project.sodar_uuid), + caseAnalysisStore.initialize( appContext.project.sodar_uuid, - caseDetailsStore.caseObj.sodar_uuid, + props.caseUuid, ), - variantAcmgRatingStore.initialize( + ]) + await seqvarsQueryStore.initialize( + appContext.project.sodar_uuid, + props.caseUuid, + caseAnalysisStore.currentAnalysis.sodar_uuid, + caseAnalysisStore.currentSession.sodar_uuid, + seqvarPresetsStore.presetSets.values().next().sodar_uuid, + ) + })(), + caseDetailsStore + .initialize( + appContext.csrf_token, + appContext.project.sodar_uuid, + props.caseUuid, + ) + .then(async () => { + caseQcStore.initialize( appContext.csrf_token, appContext.project.sodar_uuid, caseDetailsStore.caseObj.sodar_uuid, - ), - svFlagsStore.initialize( - appContext.csrf_token, - appContext.project?.sodar_uuid, - caseDetailsStore.caseObj.sodar_uuid, - ), - svCommentsStore.initialize( - appContext.csrf_token, - appContext.project?.sodar_uuid, - caseDetailsStore.caseObj.sodar_uuid, - ), - ]) - }) + ) + variantResultSetStore + .initialize(appContext.csrf_token) + .then(async () => { + await variantResultSetStore.loadResultSetViaCase( + caseDetailsStore.caseObj.sodar_uuid, + ) + }) + svResultSetStore.initialize(appContext.csrf_token).then(async () => { + await svResultSetStore.loadResultSetViaCase( + caseDetailsStore.caseObj.sodar_uuid, + ) + }) + await Promise.all([ + variantFlagsStore.initialize( + appContext.csrf_token, + appContext.project.sodar_uuid, + caseDetailsStore.caseObj.sodar_uuid, + ), + variantCommentsStore.initialize( + appContext.csrf_token, + appContext.project.sodar_uuid, + caseDetailsStore.caseObj.sodar_uuid, + ), + variantAcmgRatingStore.initialize( + appContext.csrf_token, + appContext.project.sodar_uuid, + caseDetailsStore.caseObj.sodar_uuid, + ), + svFlagsStore.initialize( + appContext.csrf_token, + appContext.project?.sodar_uuid, + caseDetailsStore.caseObj.sodar_uuid, + ), + svCommentsStore.initialize( + appContext.csrf_token, + appContext.project?.sodar_uuid, + caseDetailsStore.caseObj.sodar_uuid, + ), + ]) + }), + ]) } } diff --git a/frontend/src/cases/plugins/heyApi.ts b/frontend/src/cases/plugins/heyApi.ts new file mode 100644 index 000000000..543dce5f6 --- /dev/null +++ b/frontend/src/cases/plugins/heyApi.ts @@ -0,0 +1,6 @@ +/// Setup the Hey API client. +import { createClient } from '@hey-api/client-fetch' + +export const client = createClient({ + baseUrl: '/', +}) diff --git a/frontend/src/cases/plugins/index.ts b/frontend/src/cases/plugins/index.ts index cca833dfa..7a0413402 100644 --- a/frontend/src/cases/plugins/index.ts +++ b/frontend/src/cases/plugins/index.ts @@ -3,6 +3,7 @@ import type { App } from 'vue' import { router } from '../router' import { vuetify } from './vuetify' import { pinia } from './pinia' +import { client as _ } from './heyApi' import { setupBackendUrls } from './reevFrontend' export async function registerPlugins(app: App) { diff --git a/frontend/src/seqvars/stores/caseAnalysis/index.ts b/frontend/src/seqvars/stores/caseAnalysis/index.ts new file mode 100644 index 000000000..16c863321 --- /dev/null +++ b/frontend/src/seqvars/stores/caseAnalysis/index.ts @@ -0,0 +1 @@ +export * from './store' diff --git a/frontend/src/seqvars/stores/caseAnalysis/store.ts b/frontend/src/seqvars/stores/caseAnalysis/store.ts new file mode 100644 index 000000000..ca1239600 --- /dev/null +++ b/frontend/src/seqvars/stores/caseAnalysis/store.ts @@ -0,0 +1,179 @@ +import { defineStore } from 'pinia' +import { reactive, ref } from 'vue' +import { StoreState, State } from '@/varfish/storeUtils' +import { + CaseAnalysis, + CaseAnalysisSession, + CasesAnalysisService, +} from '@varfish-org/varfish-api/lib' +import { client } from '@/cases/plugins/heyApi' + +/** + * Store for the case analysis (and case analysis session). + */ +export const useCaseAnalysisStore = defineStore('caseAnalysis', () => { + /** The current store state. */ + const storeState = reactive(new StoreState()) + + /** The UUID of the project for the presets. */ + const projectUuid = ref(undefined) + /** The UUID of the current case. */ + const caseUuid = ref(undefined) + + /** The analyses for the case by UUID. */ + const caseAnalyses = reactive>(new Map()) + /** The analysis sessions for the case by UUID. */ + const caseAnalysisSessions = reactive>( + new Map(), + ) + /** The currently active analysis. */ + const currentAnalysis = ref(undefined) + /** The currently active analysis session. */ + const currentSession = ref(undefined) + + /** + * Initialize the store. + * + * @param projectUuid$ The UUID of the project to load the analyses/sessions for. + * @param caseUuid$ The UUID of the case to load the analyses/sessions for. + * @param forceReload$ Whether to force a reload of the data. + */ + const initialize = async ( + projectUuid$: string, + caseUuid$: string, + forceReload$: boolean = false, + ) => { + // Do not reinitialize if the project is the same unless forced. + if ( + projectUuid$ === projectUuid.value && + caseUuid$ === caseUuid.value && + !forceReload$ + ) { + return + } + + $reset() + projectUuid.value = projectUuid$ + caseUuid.value = caseUuid$ + + storeState.state = State.Fetching + try { + storeState.serverInteractions += 1 + await Promise.all([loadCaseAnalyses(), loadCaseAnalysisSessions()]) + } catch (e) { + console.log('error', e) + storeState.state = State.Error + storeState.message = `Error loading case analysis / sessions: ${e}` + } finally { + storeState.serverInteractions -= 1 + } + storeState.state = State.Active + } + + /** + * Load the case analyses for the current case. + */ + const loadCaseAnalyses = async (): Promise => { + // Guard against missing initialization. + if (caseUuid.value === undefined) { + throw new Error('caseUuid is undefined') + } + + // Paginate through all case analyses of the case. + let cursor: string | undefined = undefined + do { + const response = + await CasesAnalysisService.casesAnalysisApiCaseanalysisList({ + client, + path: { case: caseUuid.value }, + query: { cursor, page_size: 100 }, + }) + if (response.data && response.data.results) { + for (const caseAnalysis of response.data.results) { + caseAnalyses.set(caseAnalysis.sodar_uuid, caseAnalysis) + } + + if (response.data.next) { + const tmpCursor = new URL(response.data.next).searchParams.get( + 'cursor', + ) + if (tmpCursor !== null) { + cursor = tmpCursor + } + } + } + } while (cursor !== undefined) + } + + /** + * Load the case analysis sessions for the current case. + */ + const loadCaseAnalysisSessions = async (): Promise => { + // Guard against missing initialization. + if (caseUuid.value === undefined) { + throw new Error('caseUuid is undefined') + } + + // Paginate through all case analyses of the case. + let cursor: string | undefined = undefined + do { + const response = + await CasesAnalysisService.casesAnalysisApiCaseanalysissessionList({ + client, + path: { case: caseUuid.value }, + query: { cursor, page_size: 100 }, + }) + if (response.data && response.data.results) { + for (const caseAnalysisSession of response.data.results) { + caseAnalysisSessions.set( + caseAnalysisSession.sodar_uuid, + caseAnalysisSession, + ) + } + + if (response.data.next) { + const tmpCursor = new URL(response.data.next).searchParams.get( + 'cursor', + ) + if (tmpCursor !== null) { + cursor = tmpCursor + } + } + } + } while (cursor !== undefined) + + // Currently, there only ever is one analysis and session. + currentAnalysis.value = caseAnalyses.values().next().value + currentSession.value = caseAnalysisSessions.values().next().value + } + + /** + * Clear the store. + * + * This can be useful against artifacts in the UI. + */ + const $reset = () => { + storeState.state = State.Initial + storeState.serverInteractions = 0 + storeState.message = null + + projectUuid.value = undefined + caseUuid.value = undefined + caseAnalyses.clear() + caseAnalysisSessions.clear() + } + + return { + // attributes + storeState, + projectUuid, + caseUuid, + caseAnalyses, + caseAnalysisSessions, + currentAnalysis, + currentSession, + // methods + initialize, + $reset, + } +}) diff --git a/frontend/src/seqvars/stores/presets/index.ts b/frontend/src/seqvars/stores/presets/index.ts new file mode 100644 index 000000000..16c863321 --- /dev/null +++ b/frontend/src/seqvars/stores/presets/index.ts @@ -0,0 +1 @@ +export * from './store' diff --git a/frontend/src/seqvars/stores/presets/store.ts b/frontend/src/seqvars/stores/presets/store.ts new file mode 100644 index 000000000..c94bcbcab --- /dev/null +++ b/frontend/src/seqvars/stores/presets/store.ts @@ -0,0 +1,235 @@ +import { defineStore } from 'pinia' +import { reactive, ref } from 'vue' +import { StoreState, State } from '@/varfish/storeUtils' +import { + SeqvarsQueryPresetsSet, + SeqvarsQueryPresetsSetVersionDetails, + SeqvarsService, +} from '@varfish-org/varfish-api/lib' +import { client } from '@/cases/plugins/heyApi' + +/** + * Store for the seqvars query presets. + * + * The store holds the data for all query presets of a given project and of course + * the builtin presets. + * + * The preset sets and preset versions are stored by their UUID. To differentiate + * between the builtin and the custom ones, the UUIDs of the builtin preset sets are + * stored in `factoryDefaultPresetSetUuids`. + */ +export const useSeqvarPresetsStore = defineStore('seqvarPresets', () => { + /** The current store state. */ + const storeState = reactive(new StoreState()) + + /** The UUID of the project for the presets. */ + const projectUuid = ref(undefined) + /** UUIDs of the factory default preset sets. */ + const factoryDefaultPresetSetUuids = reactive([]) + /** The preset sets by UUID. */ + const presetSets = reactive>(new Map()) + /** The preset set versions by UUID. */ + const presetSetVersions = reactive< + Map + >(new Map()) + + /** + * Initialize the store. + * + * @param projectUuid$ The UUID of the project to load the presets for. + * @param forceReload$ Whether to force a reload of the data even if the projectUuuid is the same. + */ + const initialize = async ( + projectUuid$: string, + forceReload$: boolean = false, + ) => { + // Do not reinitialize if the project is the same unless forced. + if (projectUuid$ === projectUuid.value && !forceReload$) { + return + } + + $reset() + projectUuid.value = projectUuid$ + + storeState.state = State.Fetching + try { + storeState.serverInteractions += 1 + await Promise.all([loadPresets(), loadFactoryDefaultsPresets()]) + } catch (e) { + console.log('error', e) + storeState.state = State.Error + storeState.message = `Error loading presets: ${e}` + } finally { + storeState.serverInteractions -= 1 + } + storeState.state = State.Active + } + + /** + * Load the (non-factory default) presets for the project with UUID from `projectUuid`. + */ + const loadPresets = async (): Promise => { + // Guard against missing initialization. + if (projectUuid.value === undefined) { + throw new Error('projectUuid is undefined') + } + + // Paginate through all preset sets. + let cursor: string | undefined = undefined + const tmpPresetsSet: SeqvarsQueryPresetsSet[] = [] + do { + const response = await SeqvarsService.seqvarsApiQuerypresetssetList({ + client, + path: { project: projectUuid.value }, + query: { cursor, page_size: 100 }, + }) + if (response.data && response.data.results) { + for (const presetSet of response.data.results) { + tmpPresetsSet.push(presetSet) + presetSets.set(presetSet.sodar_uuid, presetSet) + } + + if (response.data.next) { + const tmpCursor = new URL(response.data.next).searchParams.get( + 'cursor', + ) + if (tmpCursor !== null) { + cursor = tmpCursor + } + } + } + } while (cursor !== undefined) + + // List the versions of all presets set and pick the latest active one. + const versionListResponses = await Promise.all( + tmpPresetsSet.map(({ sodar_uuid: querypresetsset }) => + SeqvarsService.seqvarsApiQuerypresetssetversionList({ + client, + path: { querypresetsset }, + }), + ), + ) + const versionDetailResponses = [] + for (const listResponse of versionListResponses) { + if (listResponse.data && listResponse.data.results?.length) { + let tmpVersion = undefined // picked ones + for (const version of listResponse.data.results) { + if (version.status === 'ACTIVE') { + tmpVersion = version + break + } + } + if (tmpVersion === undefined && listResponse.data.results.length > 0) { + tmpVersion = listResponse.data.results[0] + } + if (tmpVersion !== undefined) { + versionDetailResponses.push( + SeqvarsService.seqvarsApiQuerypresetssetversionRetrieve({ + client, + path: { + querypresetsset: tmpVersion.presetsset, + querypresetssetversion: tmpVersion.sodar_uuid, + }, + }), + ) + } + } + } + for (const detailResponse of await Promise.all(versionDetailResponses)) { + if (detailResponse.data !== undefined) { + presetSetVersions.set( + detailResponse.data.sodar_uuid, + detailResponse.data, + ) + } + } + } + + /** + * Load the factory default presets for the project with UUID from `projectUuid`. + */ + const loadFactoryDefaultsPresets = async (): Promise => { + // Paginate through all factory default preset sets. + let cursor: string | undefined = undefined + const tmpPresetsSet: SeqvarsQueryPresetsSet[] = [] + do { + const response = + await SeqvarsService.seqvarsApiQuerypresetsfactorydefaultsList({ + client, + query: { cursor, page_size: 100 }, + }) + if (response.data && response.data.results) { + for (const presetSet of response.data.results) { + factoryDefaultPresetSetUuids.push(presetSet.sodar_uuid) + tmpPresetsSet.push(presetSet) + presetSets.set(presetSet.sodar_uuid, presetSet) + } + + if (response.data.next) { + const tmpCursor = new URL(response.data.next).searchParams.get( + 'cursor', + ) + if (tmpCursor !== null) { + cursor = tmpCursor + } + } + } + } while (cursor !== undefined) + + // Fetch details of all factory defaults presets sets which will give us the + // versions directly. + const responses = await Promise.all( + tmpPresetsSet.map(({ sodar_uuid: querypresetsset }) => + SeqvarsService.seqvarsApiQuerypresetsfactorydefaultsRetrieve({ + client, + path: { querypresetsset }, + }), + ), + ) + for (const response of responses) { + if (response.data) { + let tmpVersion = undefined // picked ones + for (const version of response.data.versions) { + if (version.status === 'ACTIVE') { + tmpVersion = version + break + } + } + if (!tmpVersion && response.data.versions.length > 0) { + tmpVersion = response.data.versions[0] + } + if (tmpVersion) { + presetSetVersions.set(tmpVersion.sodar_uuid, tmpVersion) + } + } + } + } + + /** + * Clear the store. + * + * This can be useful against artifacts in the UI. + */ + const $reset = () => { + storeState.state = State.Initial + storeState.serverInteractions = 0 + storeState.message = null + + projectUuid.value = undefined + factoryDefaultPresetSetUuids.splice(0, factoryDefaultPresetSetUuids.length) + presetSets.clear() + presetSetVersions.clear() + } + + return { + // attributes + storeState, + projectUuid, + factoryDefaultPresetSetUuids, + presetSets, + presetSetVersions, + // methods + initialize, + $reset, + } +}) diff --git a/frontend/src/seqvars/stores/query/index.ts b/frontend/src/seqvars/stores/query/index.ts new file mode 100644 index 000000000..16c863321 --- /dev/null +++ b/frontend/src/seqvars/stores/query/index.ts @@ -0,0 +1 @@ +export * from './store' diff --git a/frontend/src/seqvars/stores/query/store.ts b/frontend/src/seqvars/stores/query/store.ts new file mode 100644 index 000000000..464d97b99 --- /dev/null +++ b/frontend/src/seqvars/stores/query/store.ts @@ -0,0 +1,211 @@ +import { defineStore } from 'pinia' +import { reactive, ref } from 'vue' +import { StoreState, State } from '@/varfish/storeUtils' +import { useSeqvarPresetsStore } from '@/seqvars/stores/presets' +import { + SeqvarsQuery, + SeqvarsQueryColumnsConfig, + SeqvarsQueryExecution, + SeqvarsQuerySettingsDetails, + SeqvarsService, +} from '@varfish-org/varfish-api/lib' +import { client } from '@/cases/plugins/heyApi' + +/** + * Store for the seqvars queries. + */ +export const useSeqvarsQueryStore = defineStore('seqvarsQuery', () => { + const seqvarPresetsStore = useSeqvarPresetsStore() + + /** The current store state. */ + const storeState = reactive(new StoreState()) + + /** The UUID of the project for the presets. */ + const projectUuid = ref(undefined) + /** The UUID of the current case. */ + const caseUuid = ref(undefined) + /** The UUID of the case analysis. */ + const analysisUuid = ref(undefined) + /** The UUID of the case analysis session. */ + const sessionUuid = ref(undefined) + /** The UUID of the current query presets. */ + const queryPresetsVersionUuid = ref(undefined) + + /** The seqvar queries by UUID. */ + const seqvarQueries = reactive>(new Map()) + /** The seqvar query columns configuration by UUID. */ + const seqvarQueryColumnsConfigs = reactive< + Map + >(new Map()) + /** The seqvars query settings by UUID. */ + const seqvarsQuerySettings = reactive< + Map + >(new Map()) + /** The seqvars query executions by UUID. */ + const seqvarsQueryExecutions = reactive>( + new Map(), + ) + + /** + * Initialize the store. + * + */ + const initialize = async ( + projectUuid$: string, + caseUuid$: string, + analysisUuid$: string, + sessionUuid$: string, + queryPresetsVersionUuid$: string, + forceReload$: boolean = false, + ) => { + // Do not reinitialize if the project is the same unless forced. + if ( + projectUuid$ === projectUuid.value && + caseUuid$ === caseUuid.value && + analysisUuid$ === analysisUuid.value && + sessionUuid$ === sessionUuid.value && + queryPresetsVersionUuid$ === queryPresetsVersionUuid.value && + !forceReload$ + ) { + return + } + + $reset() + projectUuid.value = projectUuid$ + caseUuid.value = caseUuid$ + analysisUuid.value = analysisUuid$ + sessionUuid.value = sessionUuid$ + queryPresetsVersionUuid.value = queryPresetsVersionUuid$ + + storeState.state = State.Fetching + await Promise.all([ + seqvarPresetsStore.initialize(projectUuid$, forceReload$), + (async () => { + await loadSeqvarQueries() + await loadSeqvarQueryExecutions() + })(), + ]) + try { + storeState.serverInteractions += 1 + } catch (e) { + console.log('error', e) + storeState.state = State.Error + storeState.message = `Error loading presets: ${e}` + } finally { + storeState.serverInteractions -= 1 + } + storeState.state = State.Active + } + + /** + * Load queries, columns configs, and query settings. + */ + const loadSeqvarQueries = async (): Promise => { + // Guard against missing initialization. + if (sessionUuid.value === undefined) { + throw new Error('sessionUuid is undefined') + } + const session = sessionUuid.value + + // Paginate through all queries. + let cursor: string | undefined = undefined + do { + const response = await SeqvarsService.seqvarsApiQueryList({ + client, + path: { session }, + query: { cursor, page_size: 100 }, + }) + if (response.data && response.data.results) { + for (const query of response.data.results) { + seqvarQueries.set(query.sodar_uuid, query) + } + + if (response.data.next) { + const tmpCursor = new URL(response.data.next).searchParams.get( + 'cursor', + ) + if (tmpCursor !== null) { + cursor = tmpCursor + } + } + } + } while (cursor !== undefined) + + // Then, retrieve the query details for each query. This will also give + // us all column configs and query settings. + const responses = await Promise.all( + Array.from(seqvarQueries.values()).map(({ sodar_uuid: query }) => + SeqvarsService.seqvarsApiQueryRetrieve({ + client, + path: { session, query }, + }), + ), + ) + for (const response of responses) { + if (response.data) { + seqvarsQuerySettings.set( + response.data.settings.sodar_uuid, + response.data.settings, + ) + seqvarQueryColumnsConfigs.set( + response.data.columnsconfig.sodar_uuid, + response.data.columnsconfig, + ) + } + } + console.log('done loading seqvar queries') + } + + /** + * Load the last one query executions for all queries. + * + * Must be called after finishing loading the queries. + */ + const loadSeqvarQueryExecutions = async (): Promise => { + for (const seqvarQuery of seqvarQueries.values()) { + const query = seqvarQuery.sodar_uuid + const response = await SeqvarsService.seqvarsApiQueryexecutionList({ + path: { query }, + query: { page_size: 1 }, + }) + if (response.data && response.data.results) { + for (const queryExecution of response.data.results) { + seqvarsQueryExecutions.set(queryExecution.sodar_uuid, queryExecution) + } + } + } + console.log('done loading seqvar query executions') + } + + /** + * Clear the store. + * + * This can be useful against artifacts in the UI. + */ + const $reset = () => { + storeState.state = State.Initial + storeState.serverInteractions = 0 + storeState.message = null + + projectUuid.value = undefined + caseUuid.value = undefined + queryPresetsVersionUuid.value = undefined + } + + return { + // attributes + storeState, + projectUuid, + caseUuid, + analysisUuid, + sessionUuid, + queryPresetsUuid: queryPresetsVersionUuid, + seqvarQueries, + seqvarQueryColumnsConfigs, + seqvarsQuerySettings, + seqvarsQueryExecutions, + // methods + initialize, + $reset, + } +}) diff --git a/frontend/src/varfish/api/varfish.d.ts b/frontend/src/varfish/api/varfish.d.ts deleted file mode 100644 index a448cccb0..000000000 --- a/frontend/src/varfish/api/varfish.d.ts +++ /dev/null @@ -1,14385 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -export interface paths { - '/variants/ajax/extra-anno-fields/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that returns all extra annotation field names. - * - * **URL:** ``/variants/api/extra-anno-fields/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of extra annotation field names. */ - get: operations['listExtraAnnoFields'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/project/qc/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Render JSON with project-wide case statistics */ - get: operations['retrieveCaseListQcStats'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/case/retrieve/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve detail of the specified case. - * - * **URL:** ``/variants/api/case/retrieve/{case.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** - * - * - ``date_created`` - creation timestamp (ISO 8601 ``str``) - * - ``date_modified`` - modification timestamp (ISO 8601 ``str``) - * - ``index`` - index sample name (``str``) - * - ``name`` - case name (``str``) - * - ``notes`` - any notes related to case (``str`` or ``null``) - * - ``num_small_vars`` - number of small variants (``int`` or ``null``) - * - ``num_svs`` - number of structural variants (``int`` or ``null``) - * - ``pedigree`` - ``list`` of ``dict`` representing pedigree entries, ``dict`` have keys - * - * - ``sex`` - PLINK-PED encoded biological sample sex (``int``, 0-unknown, 1-male, 2-female) - * - ``father`` - father sample name (``str``) - * - ``mother`` - mother sample name (``str``) - * - ``name`` - current sample's name (``str``) - * - ``affected`` - PLINK-PED encoded affected state (``int``, 0-unknown, 1-unaffected, 2-affected) - * - ``has_gt_entries`` - whether sample has genotype entries (``boolean``) - * - * - ``project`` - UUID of owning project (``str``) - * - ``release`` - genome build (``str``, one of ``["GRCh37", "GRCh37"]``) - * - ``sodar_uuid`` - case UUID (``str``) - * - ``status`` - status of case (``str``, one of ``"initial"``, ``"active"``, ``"closed-unsolved"``, - * ``"closed-uncertain"``, ``"closed-solved"``) - * - ``tags`` - ``list`` of ``str`` tags */ - get: operations['retrieveCase'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/list/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List small variant queries for the given Case. - * - * **URL:** ``/variants/api/query-case/list/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``page`` - specify page to return (default/first is ``1``) - * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) - * - * **Returns:** - * - * - ``count`` - number of total elements (``int``) - * - ``next`` - URL to next page (``str`` or ``null``) - * - ``previous`` - URL to next page (``str`` or ``null``) - * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) */ - get: operations['retrieveSmallVariantQuery'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for listing and creating SmallVariant queries for a given case. - * - * After creation, a background job will be started to execute the query. - * - * **URL:** ``/variants/api/query/list-create/{case.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` */ - get: operations['retrieveSmallVariantQuery'] - put?: never - /** @description API endpoint for listing and creating SmallVariant queries for a given case. - * - * After creation, a background job will be started to execute the query. - * - * **URL:** ``/variants/api/query/list-create/{case.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` */ - post: operations['createSmallVariantQuery'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query/retrieve-update-destroy/{smallvariantquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for retrieving, updating, and deleting SmallVariant queries for a given case. - * - * **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - get: operations['retrieveSmallVariantQueryWithLogs'] - /** @description API endpoint for retrieving, updating, and deleting SmallVariant queries for a given case. - * - * **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - put: operations['updateSmallVariantQueryWithLogs'] - post?: never - /** @description API endpoint for retrieving, updating, and deleting SmallVariant queries for a given case. - * - * **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - delete: operations['destroySmallVariantQueryWithLogs'] - options?: never - head?: never - /** @description API endpoint for retrieving, updating, and deleting SmallVariant queries for a given case. - * - * **URL:** ``/variants/api/query/retrieve-update-destroy/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - patch: operations['partialUpdateSmallVariantQueryWithLogs'] - trace?: never - } - '/variants/api/query-result-set/list/{smallvariantquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for listing query result sets for a query. - * - * **URL:** ``/variants/api/query-result-set/list/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSmallVariantQueryResultSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-result-set/retrieve/{smallvariantqueryresultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for retrieving query result sets. - * - * **URL:** ``/variants/api/query-result-set/retrieve/{smallvariantquery.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSmallVariantQueryResultSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-result-row/list/{smallvariantqueryresultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for listing query result rows. - * - * **URL:** ``/variants/api/query-result-row/list/{smallvariantqueryresultset.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSmallVariantQueryResultRow'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-result-row/retrieve/{smallvariantqueryresultrow}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API endpoint for retrieving one result row. - * - * **URL:** ``/variants/api/query-result-row/retrieve/{smallvariantqueryresultrow.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSmallVariantQueryResultRow'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/query-settings-shortcut/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Generate query settings for a given case by certain shortcuts. - * - * **URL:** ``/variants/api/query-case/query-settings-shortcut/{case.uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``database`` - the database to query, one of ``"refseq"`` (default) and ``"ensembl"`` - * - * - ``quick_preset`` - overall preset selection using the presets below, valid values are - * - * - ``defaults`` - applies presets that are recommended for starting out without a specific hypothesis - * - ``de_novo`` - applies presets that are recommended for starting out when the hypothesis is dominannt - * inheritance with *de novo* variants - * - ``dominant`` - applies presets that are recommended for starting out when the hypothesis is dominant - * inheritance (but not with *de novo* variants) - * - ``homozygous_recessive`` - applies presets that are recommended for starting out when the hypothesis is - * recessive with homzygous variants - * - ``compound_heterozygous`` - applies presets that are recommended for starting out when the hypothesis is - * recessive with compound heterozygous variants - * - ``recessive`` - applies presets that are recommended for starting out when the hypothesis is recessive mode - * of inheritance - * - ``x_recessive`` - applies presets that are recommended for starting out when the hypothesis is X recessive - * mode of inheritance - * - ``clinvar_pathogenic`` - apply presets that are recommended for screening variants for known pathogenic - * variants present Clinvar - * - ``mitochondrial`` - apply presets recommended for starting out to filter for mitochondrial mode of - * inheritance - * - ``whole_exomes`` - apply presets that return all variants of the case, regardless of frequency, quality etc. - * - * - ``inheritance`` - preset selection for mode of inheritance, valid values are - * - * - ``any`` - no particular constraint on inheritance (default) - * - ``dominant`` - allow variants compatible with dominant mode of inheritance (includes *de novo* variants) - * - ``homozygous_recessive`` - allow variants compatible with homozygous recessive mode of inheritance - * - ``compound_heterozygous`` - allow variants compatible with compound heterozygous recessive mode of - * inheritance - * - ``recessive`` - allow variants compatible with recessive mode of inheritance of a disease/trait (includes - * both homozygous and compound heterozygous recessive) - * - ``x_recessive`` - allow variants compatible with X_recessive mode of inheritance of a disease/trait - * - ``mitochondrial`` - mitochondrial inheritance (also applicable for "clinvar pathogenic") - * - ``custom`` - indicates custom settings such that none of the above inheritance settings applies - * - * - ``frequency`` - preset selection for frequencies, valid values are - * - * - ``any`` - do not apply any thresholds - * - ``dominant_super_strict`` - apply thresholds considered "very strict" in a dominant disease context - * - ``dominant_strict`` - apply thresholds considered "strict" in a dominant disease context (default) - * - ``dominant_relaxed`` - apply thresholds considered "relaxed" in a dominant disease context - * - ``recessive_strict`` - apply thresholds considered "strict" in a recessiv disease context - * - ``recessive_relaxed`` - apply thresholds considered "relaxed" in a recessiv disease context - * - ``custom`` - indicates custom settings such that none of the above frequency settings applies - * - * - ``impact`` - preset selection for molecular impact values, valid values are - * - * - ``null_variant`` - allow variants that are predicted to be null variants - * - ``aa_change_splicing`` - allow variants that are predicted to change the amino acid of the gene's - * protein and also splicing variants - * - ``all_coding_deep_intronic`` - allow all coding variants and also deeply intronic ones - * - ``whole_transcript`` - allow variants from the whole transcript (exonic/intronic) - * - ``any_impact`` - allow any predicted molecular impact - * - ``custom`` - indicates custom settings such that none of the above impact settings applies - * - * - ``quality`` - preset selection for variant call quality values, valid values are - * - * - ``super_strict`` - very stricdt quality settings - * - ``strict`` - strict quality settings, used as the default - * - ``relaxed`` - relaxed quality settings - * - ``any`` - ignore quality, all variants pass filter - * - ``custom`` - indicates custom settings such that none of the above quality settings applies - * - * - ``chromosomes`` - preset selection for selecting chromosomes/regions/genes allow/block lists, valid values are - * - * - ``whole_genome`` - the defaults settings selecting the whole genome - * - ``autosomes`` - select the variants lying on the autosomes only - * - ``x_chromosome`` - select variants on the X chromosome only - * - ``y_chromosome`` - select variants on the Y chromosome only - * - ``mt_chromosome`` - select variants on the mitochondrial chromosome only - * - ``custom`` - indicates custom settings such that none of the above chromosomes presets applies - * - * - ``flagsetc`` - preset selection for "flags etc." section, valid values are - * - * - ``defaults`` - the defaults also used in the user interface - * - ``clinvar_only`` - select variants present in Clinvar only - * - ``user_flagged`` - select user_flagged variants only - * - ``custom`` - indicates custom settings such that none of the above flags etc. presets apply - * - * **Returns:** - * - * - ``presets`` - a ``dict`` with the following keys; this mirrors back the quick presets and further presets - * selected in the parameters - * - * - ``quick_presets`` - one of the ``quick_presets`` preset values from above - * - ``inheritance`` - one of the ``inheritance`` preset values from above - * - ``frequency`` - one of the ``frequency`` preset values from above - * - ``impact`` - one of the ``impact`` preset values from above - * - ``quality`` - one of the ``quality`` preset values from above - * - ``chromosomes`` - one of the ``chromosomes`` preset values from above - * - ``flagsetc`` - one of the ``flagsetc`` preset values from above - * - * - ``query_settings`` - a ``dict`` with the query settings ready to be used for the given case; this will - * follow :ref:`api_json_schemas_case_query_v1`. */ - get: operations['retrieveSettingsShortcuts'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/quick-presets/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Resolve quick preset name to category preset. - * - * **URL:** ``/variants/api/query-case/quick-presets`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['listSmallVariantQuickPresetsApis'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/category-presets/{category}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all presets for the given category. - * - * **URL:** ``/variants/api/query-case/category-presets/{category}`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['retrieveSmallVariantCategoryPresetsApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/inheritance-presets/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all inheritance presets for the given case. - * - * **URL:** ``/variants/api/query-case/inheritance-presets/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['retrieveSmallVariantInheritancePresetsApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/download/generate/tsv/{smallvariantquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Start generating results for download of a small variant query. - * - * **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantQueryDownloadGenerateApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/download/generate/vcf/{smallvariantquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Start generating results for download of a small variant query. - * - * **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantQueryDownloadGenerateApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/download/generate/xlsx/{smallvariantquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Start generating results for download of a small variant query. - * - * **URL:** ``/variants/api/query-case/download/generate/tsv/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/xlsx/{query.sodar_uuid}`` - * - * **URL:** ``/variants/api/query-case/download/generate/vcf/{query.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantQueryDownloadGenerateApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/download/serve/{exportfilebgjob}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Serve download results of a small variant query. - * - * **URL:** ``/variants/api/query-case/download/serve/{exportfilebgjob.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantQueryDownloadServeApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/query-case/download/status/{exportfilebgjob}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Get status of generating results for download of a small variant query. - * - * **URL:** ``/variants/api/query-case/download/status/{job.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveExportFileBgJob'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-comment/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that allows to list existing comments and new ones. - * - * **URL:** ``/variants/api/small-variant-comment/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantComment'] - put?: never - /** @description A view that allows to list existing comments and new ones. - * - * **URL:** ``/variants/api/small-variant-comment/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** */ - post: operations['createSmallVariantComment'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-comment/list-project/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that allows to list existing comments for a project and variant. - * - * **URL:** ``/variants/api/small-variant-comment/list-project/{project.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - exclude_case_uuid - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantCommentProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-flags/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that allows to list existing flags and create new ones. - * - * **URL:** ``/variants/api/small-variant-flags/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantFlags'] - put?: never - /** @description A view that allows to list existing flags and create new ones. - * - * **URL:** ``/variants/api/small-variant-flags/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** */ - post: operations['createSmallVariantFlags'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-flags/list-project/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that allows to list existing comments for a project and variant. - * - * **URL:** ``/variants/api/small-variant-flags/list-project/{project.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - exclude_case_uuid - * - * **Methods:** ``GET`` - * - * **Returns:** */ - get: operations['retrieveSmallVariantFlagsProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/acmg-criteria-rating/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that allows to create new ACMG ratings. - * - * **URL:** ``/variants/api/acmg-criteria-rating/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``POST`` - * - * **Returns:** */ - get: operations['retrieveAcmgCriteriaRating'] - put?: never - /** @description A view that allows to create new ACMG ratings. - * - * **URL:** ``/variants/api/acmg-criteria-rating/list-create/{case.sodar_uuid}/`` - * - * **Query Arguments:** - * - * - release - * - chromosome - * - start - * - end - * - reference - * - alternative - * - * **Methods:** ``POST`` - * - * **Returns:** */ - post: operations['createAcmgCriteriaRating'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/extra-anno-fields/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that returns all extra annotation field names. - * - * **URL:** ``/variants/api/extra-anno-fields/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of extra annotation field names. */ - get: operations['listExtraAnnoFields'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/project-settings/retrieve/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description A view that returns project settings for the given project. - * - * **URL:** ``/variants/api/project-settings/retrieve/{project.uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** { - * ts_tv_warning_upper, - * ts_tv_warning_lower - * } */ - get: operations['retrieveProjectSettings'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/case-import-info/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``CaseImportInfo`` model. */ - get: operations['retrieveCaseImportInfo'] - put?: never - /** @description DRF list-create API view the ``CaseImportInfo`` model. */ - post: operations['createCaseImportInfo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/case-import-info/{project}/{caseimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``CaseImportInfo`` model. */ - get: operations['retrieveCaseImportInfo'] - /** @description DRF retrieve-update-destroy API view for the ``CaseImportInfo`` model. */ - put: operations['updateCaseImportInfo'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``CaseImportInfo`` model. */ - delete: operations['destroyCaseImportInfo'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``CaseImportInfo`` model. */ - patch: operations['partialUpdateCaseImportInfo'] - trace?: never - } - '/importer/api/variant-set-import-info/{caseimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``VariantSetImportInfo`` model. */ - get: operations['retrieveVariantSetImportInfo'] - put?: never - /** @description DRF list-create API view the ``VariantSetImportInfo`` model. */ - post: operations['createVariantSetImportInfo'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/variant-set-import-info/{caseimportinfo}/{variantsetimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` model. */ - get: operations['retrieveVariantSetImportInfo'] - /** @description DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` model. */ - put: operations['updateVariantSetImportInfo'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` model. */ - delete: operations['destroyVariantSetImportInfo'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``VariantSetImportInfo`` model. */ - patch: operations['partialUpdateVariantSetImportInfo'] - trace?: never - } - '/importer/api/bam-qc-file/{caseimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``BamQcFile`` model. */ - get: operations['retrieveBamQcFile'] - put?: never - /** @description DRF list-create API view the ``BamQcFile`` model. */ - post: operations['createBamQcFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/bam-qc-file/{caseimportinfo}/{bamqcfile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``BamQcFile`` model. */ - get: operations['retrieveBamQcFile'] - put?: never - post?: never - /** @description DRF retrieve-update-destroy API view for the ``BamQcFile`` model. */ - delete: operations['destroyBamQcFile'] - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/case-gene-annotation-file/{caseimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``CaseGeneAnnotationFile`` model. */ - get: operations['retrieveCaseGeneAnnotationFile'] - put?: never - /** @description DRF list-create API view the ``CaseGeneAnnotationFile`` model. */ - post: operations['createCaseGeneAnnotationFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/case-gene-annotation-file/{caseimportinfo}/{casegeneannotationfile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``CaseGeneAnnotationFile`` model. */ - get: operations['retrieveCaseGeneAnnotationFile'] - put?: never - post?: never - /** @description DRF retrieve-update-destroy API view for the ``CaseGeneAnnotationFile`` model. */ - delete: operations['destroyCaseGeneAnnotationFile'] - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/genotype-file/{variantsetimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``GenotypeFile`` model. */ - get: operations['retrieveGenotypeFile'] - put?: never - /** @description DRF list-create API view the ``GenotypeFile`` model. */ - post: operations['createGenotypeFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/genotype-file/{variantsetimportinfo}/{genotypefile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``GenotypeFile`` model. */ - get: operations['retrieveGenotypeFile'] - put?: never - post?: never - /** @description DRF retrieve-update-destroy API view for the ``GenotypeFile`` model. */ - delete: operations['destroyGenotypeFile'] - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/effects-file/{variantsetimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``EffectsFile`` model. */ - get: operations['retrieveEffectFile'] - put?: never - /** @description DRF list-create API view the ``EffectsFile`` model. */ - post: operations['createEffectFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/effects-file/{variantsetimportinfo}/{effectsfile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``EffectsFile`` model. */ - get: operations['retrieveEffectFile'] - put?: never - post?: never - /** @description DRF retrieve-update-destroy API view for the ``EffectsFile`` model. */ - delete: operations['destroyEffectFile'] - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/database-info-file/{variantsetimportinfo}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``DatabaseInfoFile`` model. */ - get: operations['retrieveDatabaseInfoFile'] - put?: never - /** @description DRF list-create API view the ``DatabaseInfoFile`` model. */ - post: operations['createDatabaseInfoFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/importer/api/database-info-file/{variantsetimportinfo}/{databaseinfofile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``DatabaseInfoFile`` model. */ - get: operations['retrieveDatabaseInfoFile'] - put?: never - post?: never - /** @description DRF retrieve-update-destroy API view for the ``DatabaseInfoFile`` model. */ - delete: operations['destroyDatabaseInfoFile'] - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/fetch-variants/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for retrieving structural variants from the given case. - * - * **URL:** ``/ajax/fetch-variants/{case.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvFetchVariantsAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/query-case/quick-presets/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Resolve quick preset name to category preset. - * - * **URL:** ``/variants/api/query-case/quick-presets`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['listSvQuickPresetsAjaxs'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/query-case/category-presets/{category}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all presets for the given category. - * - * **URL:** ``/variants/api/query-case/category-presets/{category}`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['retrieveSvCategoryPresetsApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/query-case/inheritance-presets/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all inheritance presets for the given case. - * - * **URL:** ``/variants/api/query-case/inheritance-presets/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** A dict mapping each of the category names to category preset values. */ - get: operations['retrieveSvInheritancePresetsApi'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/query-case/query-settings-shortcut/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint to generate SV query settings for a given case by certain shortcuts. - * - * **URL:** ``/svs/ajax/query-case/query-settings-shortcut/{case.uuid}/`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``quick_preset`` - overall preset selection using the presets below, valid values are - * - * - ``defaults`` - applies presets that are recommended for starting out without a specific hypothesis - * - ``de_novo`` - applies presets that are recommended for starting out when the hypothesis is dominannt - * inheritance with *de novo* variants - * - ``dominant`` - applies presets that are recommended for starting out when the hypothesis is dominant - * inheritance (but not with *de novo* variants) - * - ``homozygous_recessive`` - applies presets that are recommended for starting out when the hypothesis is - * recessive with homzygous variants - * - ``heterozygous_recessive`` - applies presets that are recommended for starting out when the hypothesis is - * recessive with compound heterozygous variants; will only query for SINGLE variants - * - ``x_recessive`` - applies presets that are recommended for starting out when the hypothesis is X recessive - * mode of inheritance - * - ``clinvar_pathogenic`` - apply presets that are recommended for screening variants for known pathogenic - * variants present Clinvar - * - ``mitochondrial`` - apply presets recommended for starting out to filter for mitochondrial mode of - * inheritance - * - ``whole_genome`` - apply presets that return all variants of the case, regardless of frequency, quality etc. - * - * - ``inheritance`` - preset selection for mode of inheritance, valid values are - * - * - ``any`` - no particular constraint on inheritance (default) - * - ``de_novo`` - allow variants compatible with de novo mode of inheritance - * - ``dominant`` - allow variants compatible with dominant mode of inheritance (includes *de novo* variants) - * - ``homozygous_recessive`` - allow variants compatible with homozygous recessive mode of inheritance - * - ``heterozygous_heterozygous`` - allow variants compatible with compound heterozygous recessive mode of - * inheritance - * - ``x_recessive`` - allow variants compatible with X_recessive mode of inheritance of a disease/trait - * - ``mitochondrial`` - mitochondrial inheritance (also applicable for "clinvar pathogenic") - * - ``custom`` - indicates custom settings such that none of the above inheritance settings applies - * - * - ``frequency`` - preset selection for frequencies, valid values are - * - * - ``any`` - do not apply any thresholds - * - ``strict`` - apply thresholds considered "strict" - * - ``relaxed`` - apply thresholds considered "relaxed" - * - ``custom`` - indicates custom settings such that none of the above frequency settings applies - * - * - ``impact`` - preset selection for molecular impact values, valid values are - * - * - ``any`` - allow any impact - * - ``almost_all`` - remove variants that commonly are artifacts - * - ``cnv_only`` - keep only copy number variable variants - * - ``custom`` - indicates custom settings such that none of the above impact settings applies - * - * - ``chromosomes`` - preset selection for selecting chromosomes/regions/genes allow/block lists, valid values are - * - * - ``whole_genome`` - the defaults settings selecting the whole genome - * - ``autosomes`` - select the variants lying on the autosomes only - * - ``x_chromosome`` - select variants on the X chromosome only - * - ``y_chromosome`` - select variants on the Y chromosome only - * - ``mt_chromosome`` - select variants on the mitochondrial chromosome only - * - ``custom`` - indicates custom settings such that none of the above chromosomes presets applies - * - * - ``regulatory`` - preset selection for regulatory feature annotation - * - * - ``default`` - the defaults setting selection - * - * - ``tad`` - preset selection for TAD feature annotation - * - * - ``default`` - the defaults setting - * - * - ``known_patho`` - presets related to known pathogenic variants and ClinVar - * - * - ``default`` - default settings - * - ``custom`` - indicates custom settings such that none of the above presets applies - * - * - ``genotype_criteria`` - selection of filter criteria - * - * - ``svish_high`` - "high convidence" filter criteria - * - ``svish_pass`` - "pass" filter criteria - * - ``default`` - define default filter criteria - * - ``none`` - define no filter criteria - * - * - ``database`` - the database to query, one of ``"refseq"`` (default) and ``"ensembl"`` - * - * **Returns:** - * - * - ``presets`` - a ``dict`` with the following keys; this mirrors back the quick presets and further presets - * selected in the parameters - * - * - ``quick_presets`` - one of the ``quick_presets`` preset values from above - * - ``inheritance`` - one of the ``inheritance`` preset values from above - * - ``frequency`` - one of the ``frequency`` preset values from above - * - ``impact`` - one of the ``impact`` preset values from above - * - ``chromosomes`` - one of the ``chromosomes`` preset values from above - * - ``regulatory`` - feature annotation based on regulatory features, from above - * - ``tad`` - feature annotation based on TADs, from above - * - ``filter_criteria_definition`` - definition of filter criteria, from above - * - * - ``query_settings`` - a ``dict`` with the query settings ready to be used for the given case */ - get: operations['retrieveSvQuerySettingsShortcuts'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/sv-query/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for listing and creating SV queries for a given case. - * - * After creation, a background job will be started to execute the query. - * - * **URL:** ``/svs/ajax/sv-query/list-create/{case.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` */ - get: operations['retrieveSvQuery'] - put?: never - /** @description AJAX endpoint for listing and creating SV queries for a given case. - * - * After creation, a background job will be started to execute the query. - * - * **URL:** ``/svs/ajax/sv-query/list-create/{case.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` */ - post: operations['createSvQuery'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/sv-query/retrieve-update-destroy/{svquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for retrieving, updating, and deleting SV queries for a given case. - * - * **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - get: operations['retrieveSvQueryWithLogs'] - /** @description AJAX endpoint for retrieving, updating, and deleting SV queries for a given case. - * - * **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - put: operations['updateSvQueryWithLogs'] - post?: never - /** @description AJAX endpoint for retrieving, updating, and deleting SV queries for a given case. - * - * **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - delete: operations['destroySvQueryWithLogs'] - options?: never - head?: never - /** @description AJAX endpoint for retrieving, updating, and deleting SV queries for a given case. - * - * **URL:** ``/svs/ajax/sv-query/retrieve-update-destroy/{svquery.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - patch: operations['partialUpdateSvQueryWithLogs'] - trace?: never - } - '/svs/sv-query-result-set/list/{svquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for listing query result sets for a query. - * - * **URL:** ``/svs/ajax/sv-query-result-set/list/{svqueryresultset.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvQueryResultSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/sv-query-result-set/retrieve/{svqueryresultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for retrieving query result sets. - * - * **URL:** ``/svs/ajax/sv-query-result-set/retrieve/{svqueryresultset.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvQueryResultSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/sv-query-result-row/list/{svqueryresultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for listing query result rows for a query. - * - * **URL:** ``/svs/ajax/sv-query-result-row/list/{svqueryresultset.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvQueryResultRow'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/sv-query-result-row/retrieve/{svqueryresultrow}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description AJAX endpoint for retreiving query result row for a query. - * - * **URL:** ``/svs/ajax/sv-query-result-row/retrieve/{svqueryresultrow.sodar_uuid}/`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvQueryResultRow'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-flags/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantFlags'] - put?: never - post: operations['createStructuralVariantFlags'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-flags/list-project/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantFlagsProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-flags/retrieve-update-destroy/{structuralvariantflags}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantFlags'] - put: operations['updateStructuralVariantFlags'] - post?: never - delete: operations['destroyStructuralVariantFlags'] - options?: never - head?: never - patch: operations['partialUpdateStructuralVariantFlags'] - trace?: never - } - '/svs/ajax/structural-variant-comment/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantComment'] - put?: never - post: operations['createStructuralVariantComment'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-comment/list-project/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantCommentProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-comment/retrieve-update-destroy/{structuralvariantcomment}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantComment'] - put: operations['updateStructuralVariantComment'] - post?: never - delete: operations['destroyStructuralVariantComment'] - options?: never - head?: never - patch: operations['partialUpdateStructuralVariantComment'] - trace?: never - } - '/svs/ajax/structural-variant-acmg-rating/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantAcmgRating'] - put?: never - post: operations['createStructuralVariantAcmgRating'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-acmg-rating/list-project/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantAcmgRatingProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/svs/ajax/structural-variant-acmg-rating/retrieve-update-destroy/{structuralvariantacmgrating}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveStructuralVariantAcmgRating'] - put: operations['updateStructuralVariantAcmgRating'] - post?: never - delete: operations['destroyStructuralVariantAcmgRating'] - options?: never - head?: never - patch: operations['partialUpdateStructuralVariantAcmgRating'] - trace?: never - } - '/project/ajax/list': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description View to retrieve project list entries from the client */ - get: operations['listProjectListAjaxs'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/ajax/user/current': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Return information of the requesting user for Ajax requests. */ - get: operations['retrieveSODARUser'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/list': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all projects and categories for which the requesting user has access. - * - * **URL:** ``/project/api/list`` - * - * **Methods:** ``GET`` - * - * **Returns:** - * - * List of project details (see ``ProjectRetrieveAPIView``). For project finder - * role, only lists title and UUID of projects. */ - get: operations['listProjects'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/retrieve/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve a project or category by its UUID. - * - * **URL:** ``/project/api/retrieve/{Project.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** - * - * - ``description``: Project description (string) - * - ``parent``: Parent category UUID (string or null) - * - ``readme``: Project readme (string, supports markdown) - * - ``public_guest_access``: Guest access for all users (boolean) - * - ``roles``: Project role assignments (dict, assignment UUID as key) - * - ``sodar_uuid``: Project UUID (string) - * - ``title``: Project title (string) - * - ``type``: Project type (string, options: ``PROJECT`` or ``CATEGORY``) */ - get: operations['retrieveProject'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/invites/list/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List user invites for a project. - * - * **URL:** ``/project/api/invites/list/{Project.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of project invite details */ - get: operations['retrieveProjectInvite'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/settings/retrieve/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API view for retrieving an app setting with the PROJECT or PROJECT_USER - * scope. - * - * **URL:** ``project/api/settings/retrieve/{Project.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``app_name``: Name of app plugin for the setting, use "projectroles" for projectroles settings (string) - * - ``setting_name``: Setting name (string) - * - ``user``: User UUID for a PROJECT_USER setting (string or None, optional) */ - get: operations['retrieveAppSetting'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/settings/retrieve/user': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API view for retrieving an app setting with the USER scope. - * - * **URL:** ``project/api/settings/retrieve/user`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``app_name``: Name of app plugin for the setting, use "projectroles" for projectroles settings (string) - * - ``setting_name``: Setting name (string) */ - get: operations['retrieveAppSetting'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/users/list': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Return a list of all users on the site. Excludes system users, unless called - * with superuser access. - * - * **URL:** ``/project/api/users/list`` - * - * **Methods:** ``GET`` - * - * **Returns**: List of serializers users (see ``CurrentUserRetrieveAPIView``) */ - get: operations['listSODARUsers'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/users/current': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Return information on the user making the request. - * - * **URL:** ``/project/api/users/current`` - * - * **Methods:** ``GET`` - * - * **Returns**: - * - * For current user: - * - * - ``email``: Email address of the user (string) - * - ``is_superuser``: Superuser status (boolean) - * - ``name``: Full name of the user (string) - * - ``sodar_uuid``: User UUID (string) - * - ``username``: Username of the user (string) */ - get: operations['retrieveSODARUser'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/remote/get/{secret}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description API view for retrieving remote projects from a source site */ - get: operations['retrieveRemoteProjectGet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/timeline/ajax/detail/{projectevent}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Ajax view for retrieving event details for projects */ - get: operations['retrieveProjectEventDetailAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/timeline/ajax/detail/site/{projectevent}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Ajax view for retrieving event details for site-wide events */ - get: operations['retrieveSiteEventDetailAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/timeline/ajax/extra/{projectevent}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Ajax view for retrieving event extra data for projects */ - get: operations['retrieveProjectEventExtraAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/timeline/ajax/extra/site/{projectevent}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Ajax view for retrieving event extra data for site-wide events */ - get: operations['retrieveSiteEventExtraAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/timeline/ajax/extra/status/{eventstatus}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Ajax view for retrieving event status extra data for events */ - get: operations['retrieveEventStatusExtraAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/app_alerts/ajax/status': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description View to get app alert status for user */ - get: operations['listAppAlertStatusAjaxs'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/ajax/user-permissions/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve permissions of current user in project. - * - * **URL:** ``/cohorts/ajax/user-permissions/{project.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of permissions that the user has in the project for the ``cohorts`` app. */ - get: operations['retrieveProjectUserPermissionsAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/api/cohort/list-create/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List cohorts of a project or create a cohort in the project. - * - * **URL:** ``/cohorts/api/cohort/list-create/{project.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** List of cohorts */ - get: operations['retrieveCohort'] - put?: never - /** @description List cohorts of a project or create a cohort in the project. - * - * **URL:** ``/cohorts/api/cohort/list-create/{project.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``POST`` - * - * **Returns:** List of cohorts */ - post: operations['createCohort'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/api/cohort/retrieve-update-destroy/{cohort}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve, update destroy a given cohort. - * - * **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - * - * **Returns:** Cohort. */ - get: operations['retrieveCohort'] - /** @description Retrieve, update destroy a given cohort. - * - * **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - * - * **Returns:** Cohort. */ - put: operations['updateCohort'] - post?: never - /** @description Retrieve, update destroy a given cohort. - * - * **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - * - * **Returns:** Cohort. */ - delete: operations['destroyCohort'] - options?: never - head?: never - /** @description Retrieve, update destroy a given cohort. - * - * **URL:** ``/cohorts/api/cohort/retrieve-update-destroy/{cohort.sodar_uuid}/`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` - * - * **Returns:** Cohort. */ - patch: operations['partialUpdateCohort'] - trace?: never - } - '/cohorts/api/cohortcase/list/{cohort}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all cohortcase for a given cohort. - * - * **URL:** ``/cohorts/api/cohortcase/list/{cohort.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of CohortCase. */ - get: operations['retrieveCohortCase'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/api/accessible-projects-cases/list/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all accessible projects including cases for a user. - * - * **URL:** ``/cohorts/api/accessible-projects-cases/list/{cohort.sodar_uuid}/`` - * - * **Methods:**: ``GET`` - * - * **Returns:** List of project including cases. */ - get: operations['retrieveProjectCases'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/beaconsite/endpoint/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Implementation of the GA4GH info endpoint. */ - get: operations['listBeaconInfoApis'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/beaconsite/endpoint/query/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Implementation of the GA4GH query endpoint. */ - get: operations['listBeaconQueryApis'] - put?: never - /** @description Implementation of the GA4GH query endpoint. */ - post: operations['createBeaconQueryApi'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/genepanels/api/genepanel-category/list/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all ``GenePanelCategory`` entries with ``GenePanel``. - * - * **URL:** ``/genepanels/api/gene-panel-category`` - * - * **Methods:** GET - * - * **Returns:** */ - get: operations['listGenePanelCategorys'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/genepanels/api/lookup-genepanel/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve information about a gene panel. - * - * **URL:** ``/genepanels/api/lookup-genepanel/`` - * - * **Methods:** GET - * - * **Returns:** */ - get: operations['retrieveGenePanel'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/ajax/user-permissions/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve permissions of current user in project. - * - * **URL:** ``/cases/ajax/user-permissions/{project.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of permissions that the user has in the project for the ``cases`` app. */ - get: operations['retrieveProjectUserPermissionsAjax'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/api/case/list/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List all cases in the current project. - * - * **URL:** ``/cases/api/case/list/{project.sodar_uid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** List of project details (see :py:class:`CaseRetrieveApiView`) */ - get: operations['retrieveCaseSerializerNg'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/api/case/retrieve-update-destroy/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Update a given case. - * - * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - * - * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - * - * **Returns:** Updated case details. */ - get: operations['retrieveCaseSerializerNg'] - /** @description Update a given case. - * - * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - * - * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - * - * **Returns:** Updated case details. */ - put: operations['updateCaseSerializerNg'] - post?: never - /** @description Update a given case. - * - * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - * - * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - * - * **Returns:** Updated case details. */ - delete: operations['destroyCaseSerializerNg'] - options?: never - head?: never - /** @description Update a given case. - * - * **URL:** ``/cases/api/case/update/{case.sodar_uid}/`` - * - * **Methods:** ``PATCH``, ``PUT``, ``DELETE``. - * - * **Returns:** Updated case details. */ - patch: operations['partialUpdateCaseSerializerNg'] - trace?: never - } - '/cases/api/case-comment/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List/create case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``page`` - specify page to return (default/first is ``1``) - * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) - * - * **Returns:** - * - * - ``count`` - number of total elements (``int``) - * - ``next`` - URL to next page (``str`` or ``null``) - * - ``previous`` - URL to next page (``str`` or ``null``) - * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) */ - get: operations['retrieveCaseComment'] - put?: never - /** @description List/create case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/list-create/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``page`` - specify page to return (default/first is ``1``) - * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) - * - * **Returns:** - * - * - ``count`` - number of total elements (``int``) - * - ``next`` - URL to next page (``str`` or ``null``) - * - ``previous`` - URL to next page (``str`` or ``null``) - * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) */ - post: operations['createCaseComment'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/ajax/case-comment/retrieve-update-destroy/{casecomment}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - get: operations['retrieveCaseComments'] - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - put: operations['updateCaseComments'] - post?: never - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - delete: operations['destroyCaseComments'] - options?: never - head?: never - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-comment/retrieve-update-destroy/{case_comment.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - patch: operations['partialUpdateCaseComments'] - trace?: never - } - '/cases/api/case-phenotype-terms/list-create/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List/create case phenotype term annotations. - * - * **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``page`` - specify page to return (default/first is ``1``) - * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) - * - * **Returns:** - * - * - ``count`` - number of total elements (``int``) - * - ``next`` - URL to next page (``str`` or ``null``) - * - ``previous`` - URL to next page (``str`` or ``null``) - * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) */ - get: operations['retrieveCasePhenotypeTerms'] - put?: never - /** @description List/create case phenotype term annotations. - * - * **URL:** ``/cases/api/case-phenotype-terms/list-create/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` - * - * **Parameters:** - * - * - ``page`` - specify page to return (default/first is ``1``) - * - ``page_size`` -- number of elements per page (default is ``10``, maximum is ``100``) - * - * **Returns:** - * - * - ``count`` - number of total elements (``int``) - * - ``next`` - URL to next page (``str`` or ``null``) - * - ``previous`` - URL to next page (``str`` or ``null``) - * - ``results`` - ``list`` of case small variant query details (see :py:class:`SmallVariantQuery`) */ - post: operations['createCasePhenotypeTerms'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/api/case-phenotype-terms/retrieve-update-destroy/{casephenotypeterms}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - get: operations['retrieveCasePhenotypeTerms'] - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - put: operations['updateCasePhenotypeTerms'] - post?: never - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - delete: operations['destroyCasePhenotypeTerms'] - options?: never - head?: never - /** @description Retrieve, update, destroy case comments for the given case. - * - * **URL:** ``/cases/api/case-phenotype-terms/retrieve-update-destroy/{case_phenotype_terms.sodar_uuid}`` - * - * **Methods:** ``GET``, ``PATCH``, ``PUT``, ``DELETE`` */ - patch: operations['partialUpdateCasePhenotypeTerms'] - trace?: never - } - '/cases/api/annotation-release-info/list/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List annotation release infos for a given case. - * - * **URL:** ``/cases/api/annotation-release-info/list/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveAnnotationReleaseInfo'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases/api/sv-annotation-release-info/list/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List SVannotation release infos for a given case. - * - * **URL:** ``/cases/api/sv-annotation-release-info/list/{case.sodar_uuid}`` - * - * **Methods:** ``GET`` */ - get: operations['retrieveSvAnnotationReleaseInfo'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/varannos/api/varannoset/list-create/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``VarAnnoSet`` model. */ - get: operations['retrieveVarAnnoSet'] - put?: never - /** @description DRF list-create API view the ``VarAnnoSet`` model. */ - post: operations['createVarAnnoSet'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/varannos/api/varannoset/retrieve-update-destroy/{varannoset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. */ - get: operations['retrieveVarAnnoSet'] - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. */ - put: operations['updateVarAnnoSet'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. */ - delete: operations['destroyVarAnnoSet'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSet`` model. */ - patch: operations['partialUpdateVarAnnoSet'] - trace?: never - } - '/varannos/api/varannosetentry/list-create/{varannoset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``VarAnnoSetEntry`` model. */ - get: operations['retrieveVarAnnoSetEntry'] - put?: never - /** @description DRF list-create API view the ``VarAnnoSetEntry`` model. */ - post: operations['createVarAnnoSetEntry'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/varannos/api/varannosetentry/retrieve-update-destroy/{varannosetentry}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` model. */ - get: operations['retrieveVarAnnoSetEntry'] - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` model. */ - put: operations['updateVarAnnoSetEntry'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` model. */ - delete: operations['destroyVarAnnoSetEntry'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``VarAnnoSetEntry`` model. */ - patch: operations['partialUpdateVarAnnoSetEntry'] - trace?: never - } - '/seqmeta/api/enrichmentkit/list-create/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``EnrichmentKit`` model. */ - get: operations['listEnrichmentKits'] - put?: never - /** @description DRF list-create API view the ``EnrichmentKit`` model. */ - post: operations['createEnrichmentKit'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqmeta/api/enrichmentkit/retrieve-update-destroy/{enrichmentkit}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. */ - get: operations['retrieveEnrichmentKit'] - /** @description DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. */ - put: operations['updateEnrichmentKit'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. */ - delete: operations['destroyEnrichmentKit'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``EnrichmentKit`` model. */ - patch: operations['partialUpdateEnrichmentKit'] - trace?: never - } - '/seqmeta/api/targetbedfile/list-create/{enrichmentkit}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF list-create API view the ``TargetBedFile`` model. */ - get: operations['retrieveTargetBedFile'] - put?: never - /** @description DRF list-create API view the ``TargetBedFile`` model. */ - post: operations['createTargetBedFile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqmeta/api/targetbedfile/retrieve-update-destroy/{targetbedfile}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. */ - get: operations['retrieveTargetBedFile'] - /** @description DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. */ - put: operations['updateTargetBedFile'] - post?: never - /** @description DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. */ - delete: operations['destroyTargetBedFile'] - options?: never - head?: never - /** @description DRF retrieve-update-destroy API view for the ``TargetBedFile`` model. */ - patch: operations['partialUpdateTargetBedFile'] - trace?: never - } - '/cases-import/api/case-import-action/list-create/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveCaseImportAction'] - put?: never - post: operations['createCaseImportAction'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-import/api/case-import-action/retrieve-update-destroy/{caseimportaction}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get: operations['retrieveCaseImportAction'] - put: operations['updateCaseImportAction'] - post?: never - delete: operations['destroyCaseImportAction'] - options?: never - head?: never - patch: operations['partialUpdateCaseImportAction'] - trace?: never - } - '/cases-qc/api/caseqc/retrieve/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve the latest ``CaseQc`` for the given case. - * - * This corresponds to the raw QC values imported into VarFish. See - * ``VarfishStatsRetrieveApiView`` for the information used by the UI. - * - * **URL:** ``/cases_qc/api/caseqc/retrieve/{case.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found */ - get: operations['retrieveCaseQc'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-qc/api/varfishstats/retrieve/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Retrieve the latest statistics to display in the UI for a case. - * - * **URL:** ``/cases_qc/api/varfishstats/retrieve/{case.sodar_uuid}/`` - * - * **Methods:** ``GET`` - * - * **Returns:** serialized ``CaseQc`` if any, HTTP 404 if not found */ - get: operations['retrieveVarfishStats'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-analysis/api/caseanalysis/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List the ``CaseAnalysis`` objects for the given case. - * - * Implement the "create single case analysis on listing" logic. */ - get: operations['listCaseAnalysis'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-analysis/api/caseanalysis/{case}/{caseanalysis}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Allow listing and retrieval of ``CaseAnalysis`` records for a given case. - * - * As we only allow for one ``CaseAnalysis`` per case, we implicitely create one - * when listing. */ - get: operations['retrieveCaseAnalysis'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-analysis/api/caseanalysissession/{case}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description List the ``CaseAnalysisSession`` objects for the given case and current user. - * - * Implement the "create single case analysis session on listing" logic. */ - get: operations['listCaseAnalysisSessions'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cases-analysis/api/caseanalysissession/{case}/{caseanalysissession}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Allow retrieval only of ``CaseAnalysisSession`` record for current user. */ - get: operations['retrieveCaseAnalysisSession'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsset/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - get: operations['listQueryPresetsSets'] - put?: never - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - post: operations['createQueryPresetsSet'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsset/{project}/{querypresetsset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - get: operations['retrieveQueryPresetsSet'] - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - put: operations['updateQueryPresetsSet'] - post?: never - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - delete: operations['destroyQueryPresetsSet'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsSet`` model. */ - patch: operations['partialUpdateQueryPresetsSet'] - trace?: never - } - '/seqvars/api/querypresetsset/{project}/{querypresetsset}/copy_from/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Copy from another presets set. */ - get: operations['copyFromQueryPresetsSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetssetversion/{querypresetsset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - get: operations['listQueryPresetsSetVersions'] - put?: never - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - post: operations['createQueryPresetsSetVersion'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetssetversion/{querypresetsset}/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - get: operations['retrieveQueryPresetsSetVersionDetails'] - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - put: operations['updateQueryPresetsSetVersion'] - post?: never - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - delete: operations['destroyQueryPresetsSetVersion'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsSetVersion`` model. */ - patch: operations['partialUpdateQueryPresetsSetVersion'] - trace?: never - } - '/seqvars/api/querypresetsquality/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - get: operations['listQueryPresetsQualitys'] - put?: never - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - post: operations['createQueryPresetsQuality'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsquality/{querypresetssetversion}/{querypresetsquality}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - get: operations['retrieveQueryPresetsQuality'] - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - put: operations['updateQueryPresetsQuality'] - post?: never - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - delete: operations['destroyQueryPresetsQuality'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsQuality`` model. */ - patch: operations['partialUpdateQueryPresetsQuality'] - trace?: never - } - '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - get: operations['listQueryPresetsFrequencys'] - put?: never - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - post: operations['createQueryPresetsFrequency'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsfrequency/{querypresetssetversion}/{querypresetsfrequency}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - get: operations['retrieveQueryPresetsFrequency'] - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - put: operations['updateQueryPresetsFrequency'] - post?: never - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - delete: operations['destroyQueryPresetsFrequency'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsFrequency`` model. */ - patch: operations['partialUpdateQueryPresetsFrequency'] - trace?: never - } - '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - get: operations['listQueryPresetsConsequences'] - put?: never - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - post: operations['createQueryPresetsConsequence'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsconsequence/{querypresetssetversion}/{querypresetsconsequence}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - get: operations['retrieveQueryPresetsConsequence'] - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - put: operations['updateQueryPresetsConsequence'] - post?: never - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - delete: operations['destroyQueryPresetsConsequence'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsConsequence`` model. */ - patch: operations['partialUpdateQueryPresetsConsequence'] - trace?: never - } - '/seqvars/api/querypresetslocus/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - get: operations['listQueryPresetsLocus'] - put?: never - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - post: operations['createQueryPresetsLocus'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetslocus/{querypresetssetversion}/{querypresetslocus}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - get: operations['retrieveQueryPresetsLocus'] - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - put: operations['updateQueryPresetsLocus'] - post?: never - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - delete: operations['destroyQueryPresetsLocus'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsLocus`` model. */ - patch: operations['partialUpdateQueryPresetsLocus'] - trace?: never - } - '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - get: operations['listQueryPresetsPhenotypePrios'] - put?: never - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - post: operations['createQueryPresetsPhenotypePrio'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsphenotypeprio/{querypresetssetversion}/{querypresetsphenotypeprio}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - get: operations['retrieveQueryPresetsPhenotypePrio'] - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - put: operations['updateQueryPresetsPhenotypePrio'] - post?: never - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - delete: operations['destroyQueryPresetsPhenotypePrio'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsPhenotypePrio`` model. */ - patch: operations['partialUpdateQueryPresetsPhenotypePrio'] - trace?: never - } - '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - get: operations['listQueryPresetsVariantPrios'] - put?: never - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - post: operations['createQueryPresetsVariantPrio'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsvariantprio/{querypresetssetversion}/{querypresetsvariantprio}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - get: operations['retrieveQueryPresetsVariantPrio'] - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - put: operations['updateQueryPresetsVariantPrio'] - post?: never - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - delete: operations['destroyQueryPresetsVariantPrio'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsVariantPrio`` model. */ - patch: operations['partialUpdateQueryPresetsVariantPrio'] - trace?: never - } - '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - get: operations['listQueryPresetsClinvars'] - put?: never - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - post: operations['createQueryPresetsClinvar'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetsclinvar/{querypresetssetversion}/{querypresetsclinvar}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - get: operations['retrieveQueryPresetsClinvar'] - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - put: operations['updateQueryPresetsClinvar'] - post?: never - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - delete: operations['destroyQueryPresetsClinvar'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsClinvar`` model. */ - patch: operations['partialUpdateQueryPresetsClinvar'] - trace?: never - } - '/seqvars/api/querypresetscolumns/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - get: operations['listQueryPresetsColumns'] - put?: never - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - post: operations['createQueryPresetsColumns'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querypresetscolumns/{querypresetssetversion}/{querypresetscolumns}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - get: operations['retrieveQueryPresetsColumns'] - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - put: operations['updateQueryPresetsColumns'] - post?: never - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - delete: operations['destroyQueryPresetsColumns'] - options?: never - head?: never - /** @description ViewSet for the ``QueryPresetsColumns`` model. */ - patch: operations['partialUpdateQueryPresetsColumns'] - trace?: never - } - '/seqvars/api/predefinedquery/{querypresetssetversion}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``PredefinedQuery`` model. */ - get: operations['listPredefinedQuerys'] - put?: never - /** @description ViewSet for the ``PredefinedQuery`` model. */ - post: operations['createPredefinedQuery'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/predefinedquery/{querypresetssetversion}/{predefinedquery}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``PredefinedQuery`` model. */ - get: operations['retrievePredefinedQuery'] - /** @description ViewSet for the ``PredefinedQuery`` model. */ - put: operations['updatePredefinedQuery'] - post?: never - /** @description ViewSet for the ``PredefinedQuery`` model. */ - delete: operations['destroyPredefinedQuery'] - options?: never - head?: never - /** @description ViewSet for the ``PredefinedQuery`` model. */ - patch: operations['partialUpdatePredefinedQuery'] - trace?: never - } - '/seqvars/api/querysettings/{session}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QuerySettings`` model. */ - get: operations['listQuerySettings'] - put?: never - /** @description ViewSet for the ``QuerySettings`` model. */ - post: operations['createQuerySettingsDetails'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/querysettings/{session}/{querysettings}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for the ``QuerySettings`` model. */ - get: operations['retrieveQuerySettingsDetails'] - /** @description ViewSet for the ``QuerySettings`` model. */ - put: operations['updateQuerySettingsDetails'] - post?: never - /** @description ViewSet for the ``QuerySettings`` model. */ - delete: operations['destroyQuerySettings'] - options?: never - head?: never - /** @description ViewSet for the ``QuerySettings`` model. */ - patch: operations['partialUpdateQuerySettingsDetails'] - trace?: never - } - '/seqvars/api/query/{session}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Allow CRUD of the user's queries. */ - get: operations['listQuerys'] - put?: never - /** @description Allow CRUD of the user's queries. */ - post: operations['createQueryDetails'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/query/{session}/{query}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description Allow CRUD of the user's queries. */ - get: operations['retrieveQueryDetails'] - /** @description Allow CRUD of the user's queries. */ - put: operations['updateQueryDetails'] - post?: never - /** @description Allow CRUD of the user's queries. */ - delete: operations['destroyQuery'] - options?: never - head?: never - /** @description Allow CRUD of the user's queries. */ - patch: operations['partialUpdateQueryDetails'] - trace?: never - } - '/seqvars/api/queryexecution/{query}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``QueryExecution`` records. */ - get: operations['listQueryExecutions'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/queryexecution/{query}/{queryexecution}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``QueryExecution`` records. */ - get: operations['retrieveQueryExecutionDetails'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/resultset/{query}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``ResultSet`` records. */ - get: operations['listResultSets'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/resultset/{query}/{resultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``ResultSet`` records. */ - get: operations['retrieveResultSet'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/resultrow/{resultset}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``ResultRow`` records. */ - get: operations['listResultRows'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/seqvars/api/resultrow/{resultset}/{seqvarresultrow}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description ViewSet for retrieving ``ResultRow`` records. */ - get: operations['retrieveResultRow'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/api/auth/login/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post: operations['createLogin'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/api/auth/logout/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post: operations['createLogout'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/api/auth/logoutall/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Log the user out of all sessions - * I.E. deletes all auth tokens for the user */ - post: operations['createLogoutAll'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/ajax/list/columns': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description View to retrieve project list extra column data from the client */ - post: operations['createProjectListColumnAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/ajax/list/roles': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description View to retrieve project list role data from the client */ - post: operations['createProjectListRoleAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/ajax/star/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description View to handle starring and unstarring a project */ - post: operations['createProjectStarringAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/create': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Create a project or a category. - * - * **URL:** ``/project/api/create`` - * - * **Methods:** ``POST`` - * - * **Parameters:** - * - * - ``title``: Project title (string) - * - ``type``: Project type (string, options: ``PROJECT`` or ``CATEGORY``) - * - ``parent``: Parent category UUID (string) - * - ``description``: Project description (string, optional) - * - ``readme``: Project readme (string, optional, supports markdown) - * - ``public_guest_access``: Guest access for all users (boolean) - * - ``owner``: User UUID of the project owner (string) */ - post: operations['createProject'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/roles/create/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Create a role assignment in a project. - * - * **URL:** ``/project/api/roles/create/{Project.sodar_uuid}`` - * - * **Methods:** ``POST`` - * - * **Parameters:** - * - * - ``role``: Desired role for user (string, e.g. "project contributor") - * - ``user``: User UUID (string) */ - post: operations['createRoleAssignment'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/roles/owner-transfer/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Handle ownership transfer in a POST request */ - post: operations['createRoleAssignmentOwnerTransfer'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/invites/create/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Create a project invite. - * - * **URL:** ``/project/api/invites/create/{Project.sodar_uuid}`` - * - * **Methods:** ``POST`` - * - * **Parameters:** - * - * - ``email``: User email (string) - * - ``role``: Desired role for user (string, e.g. "project contributor") */ - post: operations['createProjectInvite'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/invites/revoke/{projectinvite}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Handle invite revoking in a POST request */ - post: operations['createProjectInviteRevoke'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/invites/resend/{projectinvite}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Handle invite resending in a POST request */ - post: operations['createProjectInviteResend'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/settings/set/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description API view for setting the value of an app setting with the PROJECT or - * PROJECT_USER scope. - * - * **URL:** ``project/api/settings/set/{Project.sodar_uuid}`` - * - * **Methods:** ``POST`` - * - * **Parameters:** - * - * - ``app_name``: Name of app plugin for the setting, use "projectroles" for projectroles settings (string) - * - ``setting_name``: Setting name (string) - * - ``value``: Setting value (string, may contain JSON for JSON settings) - * - ``user``: User UUID for a PROJECT_USER setting (string or None, optional) */ - post: operations['createProjectSettingSet'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/settings/set/user': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description API view for setting the value of an app setting with the USER scope. Only - * allows the user to set the value of their own settings. - * - * **URL:** ``project/api/settings/set/user`` - * - * **Methods:** ``POST`` - * - * **Parameters:** - * - * - ``app_name``: Name of app plugin for the setting, use "projectroles" for projectroles settings (string) - * - ``setting_name``: Setting name (string) - * - ``value``: Setting value (string, may contain JSON for JSON settings) */ - post: operations['createUserSettingSet'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/admin_alerts/ajax/active/toggle/{adminalert}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description AdminAlert acivation toggling Ajax view */ - post: operations['createAdminAlertActiveToggleAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/app_alerts/ajax/dismiss/{appalert}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description View to handle app alert dismissal in UI */ - post: operations['createAppAlertDismissAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/app_alerts/ajax/dismiss/all': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description View to handle app alert dismissal in UI */ - post: operations['createAppAlertDismissAjax'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/api/cohortcase/create/{project}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** @description Create cohortcase in the current project. - * - * **URL:** ``/cohorts/api/cohortcase/create/{project.sodar_uuid}/`` - * - * **Methods:** ``POST`` - * - * **Returns:** CohortCase. */ - post: operations['createCohortCase'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-comment/update/{smallvariantcomment}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** @description A view that allows to update comments. - * - * **URL:** ``/variants/api/small-variant-comment/update/{smallvariantcomment.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - put: operations['updateSmallVariantComment'] - post?: never - delete?: never - options?: never - head?: never - /** @description A view that allows to update comments. - * - * **URL:** ``/variants/api/small-variant-comment/update/{smallvariantcomment.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - patch: operations['partialUpdateSmallVariantComment'] - trace?: never - } - '/variants/api/small-variant-flags/update/{smallvariantflags}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** @description A view that allows to update flags. - * - * **URL:** ``/variants/api/small-variant-flags/update/{smallvariantflags.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - put: operations['updateSmallVariantFlags'] - post?: never - delete?: never - options?: never - head?: never - /** @description A view that allows to update flags. - * - * **URL:** ``/variants/api/small-variant-flags/update/{smallvariantflags.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - patch: operations['partialUpdateSmallVariantFlags'] - trace?: never - } - '/variants/api/acmg-criteria-rating/update/{acmgcriteriarating}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** @description A view that allows to create new ACMG ratings. - * - * **URL:** ``/variants/api/acmg-criteria-rating/update/{acmgcriteriarating.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - put: operations['updateAcmgCriteriaRating'] - post?: never - delete?: never - options?: never - head?: never - /** @description A view that allows to create new ACMG ratings. - * - * **URL:** ``/variants/api/acmg-criteria-rating/update/{acmgcriteriarating.sodar_uuid}/`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Returns:** */ - patch: operations['partialUpdateAcmgCriteriaRating'] - trace?: never - } - '/project/api/update/{project}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** @description Update the metadata of a project or a category. - * - * Note that the project owner can not be updated here. Instead, use the - * dedicated API view ``RoleAssignmentOwnerTransferAPIView``. - * - * The project type can not be updated once a project has been created. The - * parameter is still required for non-partial updates via the ``PUT`` method. - * - * **URL:** ``/project/api/update/{Project.sodar_uuid}`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Parameters:** - * - * - ``title``: Project title (string) - * - ``type``: Project type (string, can not be modified) - * - ``parent``: Parent category UUID (string) - * - ``description``: Project description (string, optional) - * - ``readme``: Project readme (string, optional, supports markdown) - * - ``public_guest_access``: Guest access for all users (boolean) */ - put: operations['updateProject'] - post?: never - delete?: never - options?: never - head?: never - /** @description Update the metadata of a project or a category. - * - * Note that the project owner can not be updated here. Instead, use the - * dedicated API view ``RoleAssignmentOwnerTransferAPIView``. - * - * The project type can not be updated once a project has been created. The - * parameter is still required for non-partial updates via the ``PUT`` method. - * - * **URL:** ``/project/api/update/{Project.sodar_uuid}`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Parameters:** - * - * - ``title``: Project title (string) - * - ``type``: Project type (string, can not be modified) - * - ``parent``: Parent category UUID (string) - * - ``description``: Project description (string, optional) - * - ``readme``: Project readme (string, optional, supports markdown) - * - ``public_guest_access``: Guest access for all users (boolean) */ - patch: operations['partialUpdateProject'] - trace?: never - } - '/project/api/roles/update/{roleassignment}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - /** @description Update the role assignment for a user in a project. - * - * The user can not be changed in this API view. - * - * **URL:** ``/project/api/roles/update/{RoleAssignment.sodar_uuid}`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Parameters:** - * - * - ``role``: Desired role for user (string, e.g. "project contributor") - * - ``user``: User UUID (string) */ - put: operations['updateRoleAssignment'] - post?: never - delete?: never - options?: never - head?: never - /** @description Update the role assignment for a user in a project. - * - * The user can not be changed in this API view. - * - * **URL:** ``/project/api/roles/update/{RoleAssignment.sodar_uuid}`` - * - * **Methods:** ``PUT``, ``PATCH`` - * - * **Parameters:** - * - * - ``role``: Desired role for user (string, e.g. "project contributor") - * - ``user``: User UUID (string) */ - patch: operations['partialUpdateRoleAssignment'] - trace?: never - } - '/variants/api/small-variant-comment/delete/{smallvariantcomment}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** @description A view that allows to delete comments. - * - * **URL:** ``/variants/api/small-variant-comment/delete/{smallvariantcomment.sodar_uuid}/`` - * - * **Methods:** ``DELETE`` - * - * **Returns:** */ - delete: operations['destroySmallVariantComment'] - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/small-variant-flags/delete/{smallvariantflags}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** @description A view that allows to delete flags. - * - * **URL:** ``/variants/api/small-variant-flags/delete/{smallvariantflags.sodar_uuid}/`` - * - * **Methods:** ``DELETE`` - * - * **Returns:** */ - delete: operations['destroySmallVariantFlags'] - options?: never - head?: never - patch?: never - trace?: never - } - '/variants/api/acmg-criteria-rating/delete/{acmgcriteriarating}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** @description A view that allows to delete ACMG ratings. - * - * **URL:** ``/variants/api/acmg-criteria-rating/delete/{acmgcriteriarating.sodar_uuid}/`` - * - * **Methods:** ``DELETE`` - * - * **Returns:** */ - delete: operations['destroyAcmgCriteriaRating'] - options?: never - head?: never - patch?: never - trace?: never - } - '/project/api/roles/destroy/{roleassignment}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** @description Destroy a role assignment. - * - * The owner role can not be destroyed using this view. - * - * **URL:** ``/project/api/roles/destroy/{RoleAssignment.sodar_uuid}`` - * - * **Methods:** ``DELETE`` */ - delete: operations['destroyRoleAssignment'] - options?: never - head?: never - patch?: never - trace?: never - } - '/cohorts/api/cohortcase/destroy/{cohortcase}/': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - post?: never - /** @description Destroy a given cohortcase. - * - * **URL:** ``/cohorts/api/cohortcase/destroy/{cohortcase.sodar_uuid}/`` - * - * **Methods:** ``DELETE`` - * - * **Returns:** None */ - delete: operations['destroyCohortCase'] - options?: never - head?: never - patch?: never - trace?: never - } -} -export type webhooks = Record -export interface components { - schemas: { - ExtraAnnoField: { - field: number - label: string - } - CaseListQcStats: { - pedigree: Record - relData: Record - varStats: Record - sexErrors: Record - chrXHetHomRatio: Record - dps: Record - dpQuantiles: Record - hetRatioQuantiles: Record - dpHetData: Record - } - Case: { - readonly sodar_uuid?: string - readonly project?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly release?: string | null - name: string - index: string - pedigree: Record - /** @description Number of small variants, empty if no small variants have been imported */ - readonly num_small_vars?: number | null - /** @description Number of structural variants, empty if no structural variants have been imported */ - readonly num_svs?: number | null - notes?: string | null - /** @enum {string} */ - status?: - | 'initial' - | 'active' - | 'closed-unsolved' - | 'closed-uncertain' - | 'closed-solved' - tags?: string[] | null - readonly annotationreleaseinfo_set?: { - readonly genomebuild?: string - readonly table?: string - /** Format: date-time */ - readonly timestamp?: string - readonly release?: string - }[] - readonly svannotationreleaseinfo_set?: { - readonly genomebuild?: string - readonly table?: string - /** Format: date-time */ - readonly timestamp?: string - readonly release?: string - }[] - readonly phenotype_terms?: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - /** @description Individual */ - individual: string - terms: Record - }[] - readonly casealignmentstats?: string - readonly casevariantstats?: string - readonly relatedness?: string - readonly sex_errors?: string - readonly presetset?: string - case_version?: number - readonly smallvariantqueryresultset?: string - readonly svqueryresultset?: string - } - SmallVariantQuery: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - readonly case?: string - readonly user?: string - query_settings: Record - /** @description The query settings version (major) */ - query_settings_version_major?: number - /** @description The query settings version (minor) */ - query_settings_version_minor?: number - /** @description Optional user-assigned name */ - name?: string | null - /** @description Case is flagged as public or not */ - public?: boolean - } - SmallVariantQueryWithLogs: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - readonly user?: string - readonly case?: string - /** - * @description The current query state - * @enum {string} - */ - readonly query_state?: - | 'initial' - | 'running' - | 'done' - | 'cancelled' - | 'failed' - | 'timeout' - /** @description Message related to the query state */ - readonly query_state_msg?: string | null - query_settings: Record - /** @description The query settings version (major) */ - readonly query_settings_version_major?: number - /** @description The query settings version (minor) */ - readonly query_settings_version_minor?: number - readonly logs?: string - } - SmallVariantQueryResultSet: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of modification - */ - readonly date_modified?: string - readonly smallvariantquery?: string - readonly case?: string - /** - * Format: date-time - * @description Date time of query start - */ - readonly start_time?: string - /** - * Format: date-time - * @description Date time of query end - */ - readonly end_time?: string - /** @description Elapsed seconds */ - readonly elapsed_seconds?: number - /** @description Number of rows in the result */ - readonly result_row_count?: number - } - SmallVariantQueryResultRow: { - readonly sodar_uuid?: string - readonly smallvariantqueryresultset?: string - readonly release?: string - readonly chromosome?: string - readonly chromosome_no?: number - readonly bin?: number - readonly start?: number - readonly end?: number - readonly reference?: string - readonly alternative?: string - /** @description The query result rows */ - readonly payload?: Record - } - SettingsShortcuts: { - presets: Record - query_settings: Record - } - ExportFileBgJob: { - readonly sodar_uuid?: string - /** - * @description File types for exported file - * @enum {string} - */ - file_type: 'tsv' | 'xlsx' | 'vcf' - readonly status?: string - } - SmallVariantComment: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - readonly user?: string - release: string - chromosome: string - start: number - end: number - reference: string - alternative: string - text: string - readonly user_can_edit?: string - } - SmallVariantCommentProject: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - readonly user?: string - release: string - chromosome: string - start: number - end: number - reference: string - alternative: string - text: string - readonly user_can_edit?: string - } - SmallVariantFlags: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - reference: string - alternative: string - flag_bookmarked?: boolean - flag_incidental?: boolean - flag_candidate?: boolean - flag_final_causative?: boolean - flag_for_validation?: boolean - flag_no_disease_association?: boolean - flag_segregates?: boolean - flag_doesnt_segregate?: boolean - /** @enum {string} */ - flag_visual?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_molecular?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_validation?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_phenotype_match?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_summary?: 'positive' | 'uncertain' | 'negative' | 'empty' - } - SmallVariantFlagsProject: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - reference: string - alternative: string - flag_bookmarked?: boolean - flag_incidental?: boolean - flag_candidate?: boolean - flag_final_causative?: boolean - flag_for_validation?: boolean - flag_no_disease_association?: boolean - flag_segregates?: boolean - flag_doesnt_segregate?: boolean - /** @enum {string} */ - flag_visual?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_molecular?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_validation?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_phenotype_match?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_summary?: 'positive' | 'uncertain' | 'negative' | 'empty' - } - AcmgCriteriaRating: { - readonly user?: string - readonly case?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - /** - * Format: uuid - * @description Case SODAR UUID - */ - readonly sodar_uuid?: string - release: string - chromosome: string - start: number - end: number - reference: string - alternative: string - /** @description ('null variant (nonsense, frameshift, canonical ±1 or 2 splice sites, initiation codon, single or multiexon deletion) in a gene where LOF is a known mechanism of disease',) */ - pvs1?: number - /** @description Same amino acid change as a previously established pathogenic variant regardless of nucleotide change */ - ps1?: number - /** @description De novo (both maternity and paternity confirmed) in a patient with the disease and no family history */ - ps2?: number - /** @description Well-established in vitro or in vivo functional studies supportive of a damaging effect on the gene or gene product */ - ps3?: number - /** @description The prevalence of the variant in affected individuals is significantly increased compared with the prevalence in controls */ - ps4?: number - /** @description Located in a mutational hot spot and/or critical and well-established functional domain (e.g., active site of an enzyme) without benign variation */ - pm1?: number - /** @description Absent from controls (or at extremely low frequency if recessive) in Exome Sequencing Project, 1000 Genomes Project, or Exome Aggregation Consortium */ - pm2?: number - /** @description For recessive disorders, detected in trans with a pathogenic variant */ - pm3?: number - /** @description Protein length changes as a result of in-frame deletions/insertions in a nonrepeat region or stop-loss variants */ - pm4?: number - /** @description Novel missense change at an amino acid residue where a different missense change determined to be pathogenic has been seen before */ - pm5?: number - /** @description Assumed de novo, but without confirmation of paternity and maternity */ - pm6?: number - /** @description Cosegregation with disease in multiple affected family members in a gene definitively known to cause the disease */ - pp1?: number - /** @description Missense variant in a gene that has a low rate of benign missense variation and in which missense variants are: a common mechanism of disease */ - pp2?: number - /** @description Multiple lines of computational evidence support a deleterious effect on the gene or gene product (conservation, evolutionary, splicing impact, etc.) */ - pp3?: number - /** @description Patient's phenotype or family history is highly specific for a disease with a single genetic etiology */ - pp4?: number - /** @description Reputable source recently reports variant as pathogenic, but the evidence is not available to the laboratory to perform an independent evaluation */ - pp5?: number - /** @description Allele frequency is >5% in Exome Sequencing Project, 1000 Genomes Project, or Exome Aggregation Consortium */ - ba1?: number - /** @description Allele frequency is greater than expected for disorder (see Table 6) */ - bs1?: number - /** @description Observed in a healthy adult individual for a recessive (homozygous), dominant (heterozygous), or X-linked (hemizygous) disorder, with full penetrance expected at an early age */ - bs2?: number - /** @description Well-established in vitro or in vivo functional studies show no damaging effect on protein function or splicing */ - bs3?: number - /** @description BS4: Lack of segregation in affected members of a family */ - bs4?: number - /** @description Missense variant in a gene for which primarily truncating variants are known to cause disease */ - bp1?: number - /** @description Observed in trans with a pathogenic variant for a fully penetrant dominant gene/disorder or observed in cis with a pathogenic variant in any inheritance pattern */ - bp2?: number - /** @description In-frame deletions/insertions in a repetitive region without a known function */ - bp3?: number - /** @description Multiple lines of computational evidence suggest no impact on gene or gene product (conservation, evolutionary, splicing impact, etc.) */ - bp4?: number - /** @description Variant found in a case with an alternate molecular basis for disease */ - bp5?: number - /** @description Reputable source recently reports variant as benign, but the evidence is not available to the laboratory to perform an independent evaluation */ - bp6?: number - /** @description A synonymous (silent) variant for which splicing prediction algorithms predict no impact to the splice consensus sequence nor the creation of a new splice site AND the nucleotide is not highly conserved */ - bp7?: number - /** @description Result of the ACMG classification */ - class_auto?: number | null - /** @description Use this field to override the auto-computed class assignment */ - class_override?: number | null - readonly acmg_class?: string - } - ProjectSettings: { - ts_tv_valid_upper: number - ts_tv_valid_lower: number - } - CaseImportInfo: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly owner?: string - readonly case?: string - release?: string | null - readonly project?: string - name: string - index: string - pedigree: Record - notes?: string | null - /** - * @description State of the case import - * @enum {string} - */ - state?: 'draft' | 'submitted' | 'imported' | 'evicted' | 'failed' - tags?: string[] | null - readonly bam_qc_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - readonly variant_sets?: { - /** - * Format: uuid - * @description Record UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - /** - * @description Genome build used in the variant set. - * @enum {string} - */ - genomebuild?: 'GRCh37' | 'GRCh38' - readonly case_import_info?: string - /** - * @description The type of variant set that is referenced. - * @enum {string} - */ - variant_type: 'SMALL' | 'STRUCTURAL' - readonly genotype_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - readonly effect_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - readonly db_info_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - /** - * @description State of the variant set import - * @enum {string} - */ - state?: 'draft' | 'uploaded' | 'imported' | 'evicted' | 'failed' - }[] - } - VariantSetImportInfo: { - /** - * Format: uuid - * @description Record UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - /** - * @description Genome build used in the variant set. - * @enum {string} - */ - genomebuild?: 'GRCh37' | 'GRCh38' - readonly case_import_info?: string - /** - * @description The type of variant set that is referenced. - * @enum {string} - */ - variant_type: 'SMALL' | 'STRUCTURAL' - readonly genotype_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - readonly effect_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - readonly db_info_files?: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - }[] - /** - * @description State of the variant set import - * @enum {string} - */ - state?: 'draft' | 'uploaded' | 'imported' | 'evicted' | 'failed' - } - BamQcFile: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - } - CaseGeneAnnotationFile: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - } - GenotypeFile: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - } - EffectFile: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - } - DatabaseInfoFile: { - /** - * Format: uuid - * @description Record UUID - */ - sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly variant_set_import_info?: string - /** - * Format: binary - * @description The uploaded file. - */ - file: string - /** @description Original file name. */ - name: string - /** @description MD5 checksum of original file. */ - md5: string - } - SvQuerySettingsShortcuts: { - presets: Record - query_settings: Record - } - SvQuery: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of modification - */ - readonly date_modified?: string - readonly user?: string - readonly case?: string - /** - * @description The current query state - * @enum {string} - */ - readonly query_state?: - | 'initial' - | 'running' - | 'done' - | 'cancelled' - | 'failed' - | 'timeout' - /** @description Message related to the query state */ - readonly query_state_msg?: string | null - query_settings: Record - } - SvQueryWithLogs: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of modification - */ - readonly date_modified?: string - readonly user?: string - readonly case?: string - /** - * @description The current query state - * @enum {string} - */ - readonly query_state?: - | 'initial' - | 'running' - | 'done' - | 'cancelled' - | 'failed' - | 'timeout' - /** @description Message related to the query state */ - readonly query_state_msg?: string | null - query_settings: Record - readonly logs?: string - } - SvQueryResultSet: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of modification - */ - readonly date_modified?: string - readonly svquery?: string - readonly case?: string - /** - * Format: date-time - * @description Date time of query start - */ - readonly start_time?: string - /** - * Format: date-time - * @description Date time of query end - */ - readonly end_time?: string - /** @description Elapsed seconds */ - readonly elapsed_seconds?: number - /** @description Number of rows in the result */ - readonly result_row_count?: number - } - SvQueryResultRow: { - readonly sodar_uuid?: string - readonly svqueryresultset?: string - readonly release?: string - readonly chromosome?: string - readonly chromosome_no?: number - readonly bin?: number - readonly chromosome2?: string | null - readonly chromosome_no2?: number | null - readonly bin2?: number | null - readonly start?: number - readonly end?: number - readonly pe_orientation?: string | null - /** @enum {string} */ - readonly sv_type?: 'DEL' | 'DUP' | 'INS' | 'INV' | 'BND' | 'CNV' - /** @enum {string} */ - readonly sv_sub_type?: - | 'DEL' - | 'DEL:ME' - | 'DEL:ME:SVA' - | 'DEL:ME:L1' - | 'DEL:ME:ALU' - | 'DUP' - | 'DUP:TANDEM' - | 'INV' - | 'INS' - | 'INS:ME' - | 'INS:ME:SVA' - | 'INS:ME:L1' - | 'INS:ME:ALU' - | 'BND' - | 'CNV' - /** @description The query result rows */ - readonly payload?: Record - } - StructuralVariantFlags: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - flag_bookmarked?: boolean - flag_candidate?: boolean - flag_final_causative?: boolean - flag_for_validation?: boolean - flag_no_disease_association?: boolean - flag_segregates?: boolean - flag_doesnt_segregate?: boolean - /** @enum {string} */ - flag_visual?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_molecular?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_validation?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_phenotype_match?: 'positive' | 'uncertain' | 'negative' | 'empty' - flag_incidental?: boolean - /** @enum {string} */ - flag_summary?: 'positive' | 'uncertain' | 'negative' | 'empty' - } - StructuralVariantFlagsProject: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - flag_bookmarked?: boolean - flag_candidate?: boolean - flag_final_causative?: boolean - flag_for_validation?: boolean - flag_no_disease_association?: boolean - flag_segregates?: boolean - flag_doesnt_segregate?: boolean - /** @enum {string} */ - flag_visual?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_molecular?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_validation?: 'positive' | 'uncertain' | 'negative' | 'empty' - /** @enum {string} */ - flag_phenotype_match?: 'positive' | 'uncertain' | 'negative' | 'empty' - flag_incidental?: boolean - /** @enum {string} */ - flag_summary?: 'positive' | 'uncertain' | 'negative' | 'empty' - } - StructuralVariantComment: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly user?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - /** @description The comment text */ - text: string - readonly user_can_edit?: string - } - StructuralVariantCommentProject: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly user?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - /** @description The comment text */ - text: string - readonly user_can_edit?: string - } - StructuralVariantAcmgRating: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - /** @description Use this field to override the auto-computed class assignment */ - class_override?: number | null - } - StructuralVariantAcmgRatingProject: { - /** - * Format: uuid - * @description Annotation UUID - */ - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - release: string - chromosome: string - start: number - end: number - sv_type: string - sv_sub_type: string - /** @description Use this field to override the auto-computed class assignment */ - class_override?: number | null - } - SODARUser: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - Project: { - /** @description Project title */ - title: string - /** - * @description Type of project ("CATEGORY", "PROJECT") - * @enum {string} - */ - type?: 'CATEGORY' | 'PROJECT' - parent: string | null - /** @description Short project description */ - description?: string | null - readme?: string - /** @description Allow public guest access for the project, also including unauthenticated users if allowed on the site */ - public_guest_access?: boolean - readonly archive?: boolean - owner?: string - readonly roles?: { - role: string - readonly user?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - readonly sodar_uuid?: string - }[] - readonly sodar_uuid?: string - } - ProjectInvite: { - /** - * Format: email - * @description Email address of the person to be invited - */ - email: string - readonly project?: string - role: string - readonly issuer?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - /** - * Format: date-time - * @description DateTime of invite creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description Expiration of invite as DateTime - */ - readonly date_expire?: string - /** @description Message to be included in the invite email (optional) */ - message?: string - readonly sodar_uuid?: string - } - AppSetting: { - readonly app_name?: string - readonly project?: string - readonly user?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - /** @description Name of the setting */ - readonly name?: string - /** @description Type of the setting */ - readonly type?: string - /** @description Value of the setting */ - readonly value?: string | null - /** @description Setting visibility in forms */ - readonly user_modifiable?: boolean - } - Cohort: { - readonly sodar_uuid?: string - readonly project?: string - readonly user?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - readonly inaccessible_cases?: string - readonly cases?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - name: string - } - CohortCase: { - case: string - cohort: string - /** - * Format: uuid - * @description CohortCase SODAR UUID - */ - readonly sodar_uuid?: string - } - ProjectCases: { - /** @description Project title */ - title: string - /** - * @description Type of project ("CATEGORY", "PROJECT") - * @enum {string} - */ - type?: 'CATEGORY' | 'PROJECT' - parent: string | null - /** @description Short project description */ - description?: string | null - readme?: string - /** @description Allow public guest access for the project, also including unauthenticated users if allowed on the site */ - public_guest_access?: boolean - readonly archive?: boolean - owner?: string - readonly roles?: { - role: string - readonly user?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - readonly sodar_uuid?: string - }[] - readonly sodar_uuid?: string - readonly case_set?: string - } - GenePanelCategory: { - /** @description Title of the category */ - readonly title?: string - /** @description Optional description of the category */ - readonly description?: string | null - readonly genepanel_set?: string - } - /** - * GenePanel - * @description Representation of a gene panel to use in the query. - */ - GenePanel: { - source: components['schemas']['GenePanelSource'] - /** Panel Id */ - panel_id: string - /** Name */ - name: string - /** Version */ - version: string - } - CaseNg: { - readonly sodar_uuid?: string - readonly project?: string - readonly presetset?: string - readonly sex_errors?: string - readonly smallvariantqueryresultset?: string - readonly svqueryresultset?: string - readonly caseqc?: string - readonly release?: string | null - name: string - index: string - pedigree: Record - notes?: string | null - /** @enum {string} */ - status?: - | 'initial' - | 'active' - | 'closed-unsolved' - | 'closed-uncertain' - | 'closed-solved' - tags?: string[] | null - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - case_version?: number - /** @enum {string|null} */ - readonly state?: 'importing' | 'updating' | 'active' | 'deleting' | null - /** @description Number of small variants, empty if no small variants have been imported */ - readonly num_small_vars?: number | null - /** @description Number of structural variants, empty if no structural variants have been imported */ - readonly num_svs?: number | null - } - CaseComment: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - readonly user?: string - comment: string - } - CasePhenotypeTerms: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly case?: string - /** @description Individual */ - individual: string - terms: Record - } - AnnotationReleaseInfo: { - readonly genomebuild?: string - readonly table?: string - /** Format: date-time */ - readonly timestamp?: string - readonly release?: string - } - SvAnnotationReleaseInfo: { - readonly genomebuild?: string - readonly table?: string - /** Format: date-time */ - readonly timestamp?: string - readonly release?: string - } - VarAnnoSet: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly project?: string - /** - * @description Genome build of the variant annotation set. - * @enum {string} - */ - release: 'GRCh37' | 'GRCh38' - /** @description The variant annotation set's title. */ - title: string - /** @description An optional description for the variant annotation set. */ - description?: string | null - /** @description The allowed fields in the entries. */ - fields: string[] - } - VarAnnoSetEntry: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly varannoset?: string - release: string - chromosome: string - reference: string - alternative: string - start: number - end: number - /** @description The annotation's data with fields defined in the variant annotation set. */ - payload: Record - } - EnrichmentKit: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - /** @description Identifier of the enrichment kit, e.g., 'agilent-all-exon-v4'. */ - identifier: string - /** @description Title of the enrichment kit */ - title: string - /** @description Optional description of the enrichment kit */ - description?: string | null - } - TargetBedFile: { - readonly sodar_uuid?: string - /** - * Format: date-time - * @description DateTime of creation - */ - readonly date_created?: string - /** - * Format: date-time - * @description DateTime of last modification - */ - readonly date_modified?: string - readonly enrichmentkit?: string - /** @description The file's URI. */ - file_uri: string - /** - * @description The file's reference genome. - * @default grch37 - * @enum {string} - */ - genome_release: 'grch37' | 'grch38' - } - CaseImportAction: { - readonly sodar_uuid?: string - readonly project?: string - /** @enum {string} */ - state: 'draft' | 'submitted' - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @enum {string} */ - action?: 'create' | 'update' | 'delete' - payload: Record - overwrite_terms?: boolean - } - CaseQc: { - readonly sodar_uuid?: string - readonly case?: string - readonly dragen_cnvmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - }[] - readonly dragen_fragmentlengthhistograms?: { - readonly sodar_uuid?: string - readonly caseqc?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - keys: number[] - values: number[] - }[] - readonly dragen_mappingmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_ploidyestimationmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_rohmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_vchethomratiometrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - }[] - readonly dragen_vcmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - }[] - readonly dragen_svmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - }[] - readonly dragen_timemetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_trimmermetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_wgscoveragemetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_wgscontigmeancovmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_wgsoverallmeancov?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly dragen_wgsfinehist?: { - readonly sodar_uuid?: string - readonly caseqc?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - keys: number[] - values: number[] - }[] - readonly dragen_wgshist?: { - readonly sodar_uuid?: string - readonly caseqc?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - keys: string[] - values: number[] - }[] - readonly dragen_regioncoveragemetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - region_name: string - }[] - readonly dragen_regionfinehist?: { - readonly sodar_uuid?: string - readonly caseqc?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - keys: number[] - values: number[] - region_name: string - }[] - readonly dragen_regionhist?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - region_name: string - }[] - readonly dragen_regionoverallmeancov?: { - readonly sodar_uuid?: string - readonly caseqc?: string - metrics: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - region_name: string - }[] - readonly bcftools_statsmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - sn: string - tstv: string - sis: string - af: string - qual: string - idd: string - st: string - dp: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - }[] - readonly samtools_statsmainmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - sn: string - chk: string - isize: string - cov: string - gcd: string - frl: string - lrl: string - idd: string - ffq: string - lfq: string - fbc: string - lbc: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly samtools_statssupplementarymetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - gcf: string - gcl: string - gcc: string - gct: string - rl: string - mapq: string - ic: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly samtools_flagstatmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - qc_pass: string - qc_fail: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly samtools_idxstatsmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - records: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly cramino_metrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - summary: string - chrom_counts: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - }[] - readonly ngsbits_mappingqcmetrics?: { - readonly sodar_uuid?: string - readonly caseqc?: string - records: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - sample: string - region_name: string - }[] - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @enum {string} */ - state?: 'DRAFT' | 'ACTIVE' - } - VarfishStats: { - samples: string - readstats: string - alignmentstats: string - seqvarstats: string - strucvarstats: string - } - CaseAnalysis: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly case?: string - } - CaseAnalysisSession: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly caseanalysis?: string - readonly case?: string - readonly user?: string - } - QueryPresetsSet: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly project?: string - } - QueryPresetsSetVersion: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly presetsset?: string - /** @default 1 */ - version_major: number - /** @default 0 */ - version_minor: number - /** @default draft */ - status: string - readonly signed_off_by?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - } - QueryPresetsSetVersionDetails: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly presetsset?: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly project?: string - } - /** @default 1 */ - version_major: number - /** @default 0 */ - version_minor: number - /** @default draft */ - status: string - readonly signed_off_by?: { - /** @description Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string - name?: string - /** Format: email */ - email?: string - /** @description Designates that this user has all permissions without explicitly assigning them. */ - is_superuser?: boolean - readonly sodar_uuid?: string - } - readonly querypresetsquality_set?: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - /** @default false */ - filter_active: boolean - min_dp_het?: number | null - min_dp_hom?: number | null - min_ab_het?: number | null - min_gq?: number | null - min_ad?: number | null - max_ad?: number | null - }[] - readonly querypresetsfrequency_set?: { - /** @default false */ - gnomad_exomes_enabled: boolean - gnomad_exomes_frequency?: number | null - gnomad_exomes_homozygous?: number | null - gnomad_exomes_heterozygous?: number | null - gnomad_exomes_hemizygous?: boolean | null - /** @default false */ - gnomad_genomes_enabled: boolean - gnomad_genomes_frequency?: number | null - gnomad_genomes_homozygous?: number | null - gnomad_genomes_heterozygous?: number | null - gnomad_genomes_hemizygous?: boolean | null - /** @default false */ - helixmtdb_enabled: boolean - helixmtdb_heteroplasmic?: number | null - helixmtdb_homoplasmic?: number | null - helixmtdb_frequency?: number | null - /** @default false */ - inhouse_enabled: boolean - inhouse_carriers?: number | null - inhouse_homozygous?: number | null - inhouse_heterozygous?: number | null - inhouse_hemizygous?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetsconsequence_set?: { - variant_types?: components['schemas']['VariantTypeChoice'][] - transcript_types?: components['schemas']['TranscriptTypeChoice'][] - variant_consequences?: components['schemas']['VariantConsequenceChoice'][] - max_distance_to_exon?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetslocus_set?: { - genes?: components['schemas']['Gene'][] - gene_panels?: components['schemas']['GenePanel'][] - genome_regions?: components['schemas']['GenomeRegion'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetsphenotypeprio_set?: { - /** @default false */ - phenotype_prio_enabled: boolean - phenotype_prio_algorithm?: string | null - terms?: components['schemas']['TermPresence'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetsvariantprio_set?: { - /** @default false */ - variant_prio_enabled: boolean - services?: components['schemas']['VariantPrioService'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetsclinvar_set?: { - /** @default false */ - clinvar_presence_required: boolean - clinvar_germline_aggregate_description?: components['schemas']['ClinvarGermlineAggregateDescription'][] - /** @default false */ - allow_conflicting_interpretations: boolean - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly querypresetscolumns_set?: { - column_settings?: components['schemas']['ColumnConfig'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - }[] - readonly predefinedquery_set?: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - /** @default false */ - included_in_sop: boolean - genotype?: components['schemas']['GenotypePresets'] | null - quality?: string | null - frequency?: string | null - consequence?: string | null - locus?: string | null - phenotypeprio?: string | null - variantprio?: string | null - clinvar?: string | null - columns?: string | null - }[] - } - /** - * TranscriptTypeChoice - * @description The type of a transcript. - * @enum {string} - */ - TranscriptTypeChoice: 'coding' | 'non_coding' - /** - * VariantConsequenceChoice - * @description The variant consequence. - * @enum {string} - */ - VariantConsequenceChoice: - | 'frameshift_variant' - | 'rare_amino_acid_variant' - | 'splice_acceptor_variant' - | 'splice_donor_variant' - | 'start_lost' - | 'stop_gained' - | 'stop_lost' - | '3_prime_UTR_truncation' - | '5_prime_UTR_truncation' - | 'conservative_inframe_deletion' - | 'conservative_inframe_insertion' - | 'disruptive_inframe_deletion' - | 'disruptive_inframe_insertion' - | 'missense_variant' - | 'splice_region_variant' - | 'initiator_codon_variant' - | 'start_retained' - | 'stop_retained_variant' - | 'synonymous_variant' - | 'downstream_gene_variant' - | 'intron_variant' - | 'non_coding_transcript_exon_variant' - | 'non_coding_transcript_intron_variant' - | '5_prime_UTR_variant' - | 'coding_sequence_variant' - | 'upstream_gene_variant' - | '3_prime_UTR_variant-exon_variant' - | '5_prime_UTR_variant-exon_variant' - | '3_prime_UTR_variant-intron_variant' - | '5_prime_UTR_variant-intron_variant' - /** - * VariantTypeChoice - * @description The type of a variant. - * @enum {string} - */ - VariantTypeChoice: 'snv' | 'indel' | 'mnv' | 'complex_substitution' - /** - * Gene - * @description Representation of a gene to query for. - */ - Gene: { - /** Hgnc Id */ - hgnc_id: string - /** Symbol */ - symbol: string - /** - * Name - * @default null - */ - name: string | null - /** - * Entrez Id - * @default null - */ - entrez_id: number | null - /** - * Ensembl Id - * @default null - */ - ensembl_id: string | null - } - /** - * GenePanelSource - * @description The source of a gene panel. - * @enum {string} - */ - GenePanelSource: 'panelapp' | 'internal' - /** - * GenomeRegion - * @description Representation of a genomic region to query for. - */ - GenomeRegion: { - /** Chromosome */ - chromosome: string - /** @default null */ - range: components['schemas']['OneBasedRange'] | null - } - /** - * OneBasedRange - * @description Representation of a 1-based range. - */ - OneBasedRange: { - /** Start */ - start: number - /** End */ - end: number - } - /** - * Term - * @description Representation of a condition (phenotype / disease) term. - */ - Term: { - /** Term Id */ - term_id: string - /** Label */ - label: string | null - } - /** - * TermPresence - * @description Representation of a term with optional presence (default is not excluded). - */ - TermPresence: { - term: components['schemas']['Term'] - /** - * Excluded - * @default null - */ - excluded: boolean | null - } - /** - * VariantPrioService - * @description Representation of a variant pathogenicity service. - */ - VariantPrioService: { - /** Name */ - name: string - /** Version */ - version: string - } - /** - * ClinvarGermlineAggregateDescription - * @description The aggregate description for germline variants in ClinVar. - * @enum {string} - */ - ClinvarGermlineAggregateDescription: - | 'pathogenic' - | 'likely_pathogenic' - | 'uncertain_significance' - | 'likely_benign' - | 'benign' - /** - * ColumnConfig - * @description Configuration for a single column in the result table. - */ - ColumnConfig: { - /** Name */ - name: string - /** Label */ - label: string - /** - * Description - * @default null - */ - description: string | null - /** Width */ - width: number - /** Visible */ - visible: boolean - } - /** - * GenotypePresetChoice - * @description Presets value for the chosen genotype. - * @enum {string} - */ - GenotypePresetChoice: - | 'any' - | 'de_novo' - | 'dominant' - | 'homozygous_recessive' - | 'compound_heterozygous_recessive' - | 'recessive' - | 'x_recessive' - | 'affected_carriers' - /** - * GenotypePresets - * @description Configuration for a single column in the result table. - */ - GenotypePresets: { - /** @default null */ - choice: components['schemas']['GenotypePresetChoice'] | null - } - QueryPresetsQuality: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - /** @default false */ - filter_active: boolean - min_dp_het?: number | null - min_dp_hom?: number | null - min_ab_het?: number | null - min_gq?: number | null - min_ad?: number | null - max_ad?: number | null - } - QueryPresetsFrequency: { - /** @default false */ - gnomad_exomes_enabled: boolean - gnomad_exomes_frequency?: number | null - gnomad_exomes_homozygous?: number | null - gnomad_exomes_heterozygous?: number | null - gnomad_exomes_hemizygous?: boolean | null - /** @default false */ - gnomad_genomes_enabled: boolean - gnomad_genomes_frequency?: number | null - gnomad_genomes_homozygous?: number | null - gnomad_genomes_heterozygous?: number | null - gnomad_genomes_hemizygous?: boolean | null - /** @default false */ - helixmtdb_enabled: boolean - helixmtdb_heteroplasmic?: number | null - helixmtdb_homoplasmic?: number | null - helixmtdb_frequency?: number | null - /** @default false */ - inhouse_enabled: boolean - inhouse_carriers?: number | null - inhouse_homozygous?: number | null - inhouse_heterozygous?: number | null - inhouse_hemizygous?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsConsequence: { - variant_types?: components['schemas']['VariantTypeChoice'][] - transcript_types?: components['schemas']['TranscriptTypeChoice'][] - variant_consequences?: components['schemas']['VariantConsequenceChoice'][] - max_distance_to_exon?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsLocus: { - genes?: components['schemas']['Gene'][] - gene_panels?: components['schemas']['GenePanel'][] - genome_regions?: components['schemas']['GenomeRegion'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsPhenotypePrio: { - /** @default false */ - phenotype_prio_enabled: boolean - phenotype_prio_algorithm?: string | null - terms?: components['schemas']['TermPresence'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsVariantPrio: { - /** @default false */ - variant_prio_enabled: boolean - services?: components['schemas']['VariantPrioService'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsClinvar: { - /** @default false */ - clinvar_presence_required: boolean - clinvar_germline_aggregate_description?: components['schemas']['ClinvarGermlineAggregateDescription'][] - /** @default false */ - allow_conflicting_interpretations: boolean - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - QueryPresetsColumns: { - column_settings?: components['schemas']['ColumnConfig'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - } - PredefinedQuery: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - description?: string | null - readonly presetssetversion?: string - /** @default false */ - included_in_sop: boolean - genotype?: components['schemas']['GenotypePresets'] | null - quality?: string | null - frequency?: string | null - consequence?: string | null - locus?: string | null - phenotypeprio?: string | null - variantprio?: string | null - clinvar?: string | null - columns?: string | null - } - QuerySettings: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly session?: string - readonly presetssetversion?: string - readonly genotype?: string - readonly quality?: string - readonly consequence?: string - readonly locus?: string - readonly frequency?: string - readonly phenotypeprio?: string - readonly variantprio?: string - readonly clinvar?: string - } - QuerySettingsDetails: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly session?: string - readonly presetssetversion?: string - genotype: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_genotype_choices?: components['schemas']['SampleGenotypeChoice'][] - } - quality: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_quality_filters?: components['schemas']['SampleQualityFilter'][] - } - consequence: { - variant_types?: components['schemas']['VariantTypeChoice'][] - transcript_types?: components['schemas']['TranscriptTypeChoice'][] - variant_consequences?: components['schemas']['VariantConsequenceChoice'][] - max_distance_to_exon?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - locus: { - genes?: components['schemas']['Gene'][] - gene_panels?: components['schemas']['GenePanel'][] - genome_regions?: components['schemas']['GenomeRegion'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - frequency: { - /** @default false */ - gnomad_exomes_enabled: boolean - gnomad_exomes_frequency?: number | null - gnomad_exomes_homozygous?: number | null - gnomad_exomes_heterozygous?: number | null - gnomad_exomes_hemizygous?: boolean | null - /** @default false */ - gnomad_genomes_enabled: boolean - gnomad_genomes_frequency?: number | null - gnomad_genomes_homozygous?: number | null - gnomad_genomes_heterozygous?: number | null - gnomad_genomes_hemizygous?: boolean | null - /** @default false */ - helixmtdb_enabled: boolean - helixmtdb_heteroplasmic?: number | null - helixmtdb_homoplasmic?: number | null - helixmtdb_frequency?: number | null - /** @default false */ - inhouse_enabled: boolean - inhouse_carriers?: number | null - inhouse_homozygous?: number | null - inhouse_heterozygous?: number | null - inhouse_hemizygous?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - phenotypeprio: { - /** @default false */ - phenotype_prio_enabled: boolean - phenotype_prio_algorithm?: string | null - terms?: components['schemas']['TermPresence'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - variantprio: { - /** @default false */ - variant_prio_enabled: boolean - services?: components['schemas']['VariantPrioService'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - clinvar: { - /** @default false */ - clinvar_presence_required: boolean - clinvar_germline_aggregate_description?: components['schemas']['ClinvarGermlineAggregateDescription'][] - /** @default false */ - allow_conflicting_interpretations: boolean - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - } - /** - * GenotypeChoice - * @description Store genotype choice of a ``SampleGenotype``. - * @enum {string} - */ - GenotypeChoice: - | 'any' - | 'ref' - | 'het' - | 'hom' - | 'non-hom' - | 'variant' - | 'comphet_index' - | 'recessive_index' - | 'recessive_parent' - /** - * SampleGenotypeChoice - * @description Store the genotype of a sample. - */ - SampleGenotypeChoice: { - /** Sample */ - sample: string - genotype: components['schemas']['GenotypeChoice'] - } - /** - * SampleQualityFilter - * @description Stores per-sample quality filter settings for a particular query. - */ - SampleQualityFilter: { - /** Sample */ - sample: string - /** - * Filter Active - * @default false - */ - filter_active: boolean - /** - * Min Dp Het - * @default null - */ - min_dp_het: number | null - /** - * Min Dp Hom - * @default null - */ - min_dp_hom: number | null - /** - * Min Ab Het - * @default null - */ - min_ab_het: number | null - /** - * Min Gq - * @default null - */ - min_gq: number | null - /** - * Min Ad - * @default null - */ - min_ad: number | null - /** - * Max Ad - * @default null - */ - max_ad: number | null - } - Query: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - readonly session?: string - readonly settings?: string - readonly columnsconfig?: string - } - QueryDetails: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @default 1 */ - rank: number - label: string - readonly session?: string - settings: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly session?: string - readonly presetssetversion?: string - genotype: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_genotype_choices?: components['schemas']['SampleGenotypeChoice'][] - } - quality: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_quality_filters?: components['schemas']['SampleQualityFilter'][] - } - consequence: { - variant_types?: components['schemas']['VariantTypeChoice'][] - transcript_types?: components['schemas']['TranscriptTypeChoice'][] - variant_consequences?: components['schemas']['VariantConsequenceChoice'][] - max_distance_to_exon?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - locus: { - genes?: components['schemas']['Gene'][] - gene_panels?: components['schemas']['GenePanel'][] - genome_regions?: components['schemas']['GenomeRegion'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - frequency: { - /** @default false */ - gnomad_exomes_enabled: boolean - gnomad_exomes_frequency?: number | null - gnomad_exomes_homozygous?: number | null - gnomad_exomes_heterozygous?: number | null - gnomad_exomes_hemizygous?: boolean | null - /** @default false */ - gnomad_genomes_enabled: boolean - gnomad_genomes_frequency?: number | null - gnomad_genomes_homozygous?: number | null - gnomad_genomes_heterozygous?: number | null - gnomad_genomes_hemizygous?: boolean | null - /** @default false */ - helixmtdb_enabled: boolean - helixmtdb_heteroplasmic?: number | null - helixmtdb_homoplasmic?: number | null - helixmtdb_frequency?: number | null - /** @default false */ - inhouse_enabled: boolean - inhouse_carriers?: number | null - inhouse_homozygous?: number | null - inhouse_heterozygous?: number | null - inhouse_hemizygous?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - phenotypeprio: { - /** @default false */ - phenotype_prio_enabled: boolean - phenotype_prio_algorithm?: string | null - terms?: components['schemas']['TermPresence'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - variantprio: { - /** @default false */ - variant_prio_enabled: boolean - services?: components['schemas']['VariantPrioService'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - clinvar: { - /** @default false */ - clinvar_presence_required: boolean - clinvar_germline_aggregate_description?: components['schemas']['ClinvarGermlineAggregateDescription'][] - /** @default false */ - allow_conflicting_interpretations: boolean - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - } - columnsconfig: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - column_settings?: components['schemas']['ColumnConfig'][] - } - } - QueryExecution: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @enum {string} */ - readonly state?: - | 'initial' - | 'queued' - | 'running' - | 'failed' - | 'canceled' - | 'done' - readonly complete_percent?: number | null - /** Format: date-time */ - readonly start_time?: string | null - /** Format: date-time */ - readonly end_time?: string | null - readonly elapsed_seconds?: number | null - readonly query?: string - readonly querysettings?: string - } - QueryExecutionDetails: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - /** @enum {string} */ - readonly state?: - | 'initial' - | 'queued' - | 'running' - | 'failed' - | 'canceled' - | 'done' - readonly complete_percent?: number | null - /** Format: date-time */ - readonly start_time?: string | null - /** Format: date-time */ - readonly end_time?: string | null - readonly elapsed_seconds?: number | null - readonly query?: string - querysettings: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly session?: string - readonly presetssetversion?: string - genotype: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_genotype_choices?: components['schemas']['SampleGenotypeChoice'][] - } - quality: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - sample_quality_filters?: components['schemas']['SampleQualityFilter'][] - } - consequence: { - variant_types?: components['schemas']['VariantTypeChoice'][] - transcript_types?: components['schemas']['TranscriptTypeChoice'][] - variant_consequences?: components['schemas']['VariantConsequenceChoice'][] - max_distance_to_exon?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - locus: { - genes?: components['schemas']['Gene'][] - gene_panels?: components['schemas']['GenePanel'][] - genome_regions?: components['schemas']['GenomeRegion'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - frequency: { - /** @default false */ - gnomad_exomes_enabled: boolean - gnomad_exomes_frequency?: number | null - gnomad_exomes_homozygous?: number | null - gnomad_exomes_heterozygous?: number | null - gnomad_exomes_hemizygous?: boolean | null - /** @default false */ - gnomad_genomes_enabled: boolean - gnomad_genomes_frequency?: number | null - gnomad_genomes_homozygous?: number | null - gnomad_genomes_heterozygous?: number | null - gnomad_genomes_hemizygous?: boolean | null - /** @default false */ - helixmtdb_enabled: boolean - helixmtdb_heteroplasmic?: number | null - helixmtdb_homoplasmic?: number | null - helixmtdb_frequency?: number | null - /** @default false */ - inhouse_enabled: boolean - inhouse_carriers?: number | null - inhouse_homozygous?: number | null - inhouse_heterozygous?: number | null - inhouse_hemizygous?: number | null - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - phenotypeprio: { - /** @default false */ - phenotype_prio_enabled: boolean - phenotype_prio_algorithm?: string | null - terms?: components['schemas']['TermPresence'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - variantprio: { - /** @default false */ - variant_prio_enabled: boolean - services?: components['schemas']['VariantPrioService'][] - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - clinvar: { - /** @default false */ - clinvar_presence_required: boolean - clinvar_germline_aggregate_description?: components['schemas']['ClinvarGermlineAggregateDescription'][] - /** @default false */ - allow_conflicting_interpretations: boolean - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly querysettings?: string - } - } - } - ResultSet: { - /** Format: uuid */ - readonly sodar_uuid?: string - /** Format: date-time */ - readonly date_created?: string - /** Format: date-time */ - readonly date_modified?: string - readonly queryexecution?: string - datasource_infos: components['schemas']['DataSourceInfos'] - } - /** - * DataSourceInfo - * @description Describes the version version of a given datasource. - */ - DataSourceInfo: { - /** Name */ - name: string - /** Version */ - version: string - } - /** - * DataSourceInfos - * @description Container for ``DataSourceInfo`` records. - */ - DataSourceInfos: { - /** Infos */ - infos: components['schemas']['DataSourceInfo'][] - } - ResultRow: { - /** Format: uuid */ - readonly sodar_uuid?: string - readonly resultset?: string - readonly release?: string - readonly chromosome?: string - readonly chromosome_no?: number - readonly start?: number - readonly stop?: number - readonly reference?: string - readonly alternative?: string - payload: components['schemas']['ResultRowPayload'] - } - /** - * ResultRowPayload - * @description Payload for one result row of a seqvar query. - */ - ResultRowPayload: { - /** Foo */ - foo: number - } - RoleAssignment: { - readonly project?: string - role: string - user: string - readonly sodar_uuid?: string - } - } - responses: never - parameters: never - requestBodies: never - headers: never - pathItems: never -} -export type $defs = Record -export interface operations { - listExtraAnnoFields: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['ExtraAnnoField'][] - } - } - } - } - retrieveCaseListQcStats: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseListQcStats'] - } - } - } - } - retrieveCase: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Case'] - } - } - } - } - retrieveSmallVariantQuery: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQuery'] - } - } - } - } - retrieveSmallVariantQuery: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQuery'] - } - } - } - } - createSmallVariantQuery: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantQuery'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantQuery'] - 'multipart/form-data': components['schemas']['SmallVariantQuery'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQuery'] - } - } - } - } - retrieveSmallVariantQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryWithLogs'] - } - } - } - } - updateSmallVariantQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantQueryWithLogs'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantQueryWithLogs'] - 'multipart/form-data': components['schemas']['SmallVariantQueryWithLogs'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryWithLogs'] - } - } - } - } - destroySmallVariantQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateSmallVariantQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantQueryWithLogs'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantQueryWithLogs'] - 'multipart/form-data': components['schemas']['SmallVariantQueryWithLogs'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryWithLogs'] - } - } - } - } - retrieveSmallVariantQueryResultSet: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryResultSet'] - } - } - } - } - retrieveSmallVariantQueryResultSet: { - parameters: { - query?: never - header?: never - path: { - smallvariantqueryresultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryResultSet'] - } - } - } - } - retrieveSmallVariantQueryResultRow: { - parameters: { - query?: never - header?: never - path: { - smallvariantqueryresultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryResultRow'] - } - } - } - } - retrieveSmallVariantQueryResultRow: { - parameters: { - query?: never - header?: never - path: { - smallvariantqueryresultrow: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantQueryResultRow'] - } - } - } - } - retrieveSettingsShortcuts: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SettingsShortcuts'] - } - } - } - } - listSmallVariantQuickPresetsApis: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown[] - } - } - } - } - retrieveSmallVariantCategoryPresetsApi: { - parameters: { - query?: never - header?: never - path: { - category: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSmallVariantInheritancePresetsApi: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSmallVariantQueryDownloadGenerateApi: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSmallVariantQueryDownloadGenerateApi: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSmallVariantQueryDownloadGenerateApi: { - parameters: { - query?: never - header?: never - path: { - smallvariantquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSmallVariantQueryDownloadServeApi: { - parameters: { - query?: never - header?: never - path: { - exportfilebgjob: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveExportFileBgJob: { - parameters: { - query?: never - header?: never - path: { - exportfilebgjob: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['ExportFileBgJob'] - } - } - } - } - retrieveSmallVariantComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantComment'] - } - } - } - } - createSmallVariantComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantComment'] - 'multipart/form-data': components['schemas']['SmallVariantComment'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantComment'] - } - } - } - } - retrieveSmallVariantCommentProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantCommentProject'] - } - } - } - } - retrieveSmallVariantFlags: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantFlags'] - } - } - } - } - createSmallVariantFlags: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantFlags'] - 'multipart/form-data': components['schemas']['SmallVariantFlags'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantFlags'] - } - } - } - } - retrieveSmallVariantFlagsProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantFlagsProject'] - } - } - } - } - retrieveAcmgCriteriaRating: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['AcmgCriteriaRating'] - } - } - } - } - createAcmgCriteriaRating: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['AcmgCriteriaRating'] - 'application/x-www-form-urlencoded': components['schemas']['AcmgCriteriaRating'] - 'multipart/form-data': components['schemas']['AcmgCriteriaRating'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['AcmgCriteriaRating'] - } - } - } - } - listExtraAnnoFields: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['ExtraAnnoField'][] - } - } - } - } - retrieveProjectSettings: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['ProjectSettings'] - } - } - } - } - retrieveCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportInfo'] - } - } - } - } - createCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportInfo'] - 'multipart/form-data': components['schemas']['CaseImportInfo'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportInfo'] - } - } - } - } - retrieveCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - caseimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportInfo'] - } - } - } - } - updateCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - caseimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportInfo'] - 'multipart/form-data': components['schemas']['CaseImportInfo'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportInfo'] - } - } - } - } - destroyCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - caseimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCaseImportInfo: { - parameters: { - query?: never - header?: never - path: { - project: string - caseimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportInfo'] - 'multipart/form-data': components['schemas']['CaseImportInfo'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportInfo'] - } - } - } - } - retrieveVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VariantSetImportInfo'] - } - } - } - } - createVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VariantSetImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['VariantSetImportInfo'] - 'multipart/form-data': components['schemas']['VariantSetImportInfo'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VariantSetImportInfo'] - } - } - } - } - retrieveVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VariantSetImportInfo'] - } - } - } - } - updateVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VariantSetImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['VariantSetImportInfo'] - 'multipart/form-data': components['schemas']['VariantSetImportInfo'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VariantSetImportInfo'] - } - } - } - } - destroyVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateVariantSetImportInfo: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VariantSetImportInfo'] - 'application/x-www-form-urlencoded': components['schemas']['VariantSetImportInfo'] - 'multipart/form-data': components['schemas']['VariantSetImportInfo'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VariantSetImportInfo'] - } - } - } - } - retrieveBamQcFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['BamQcFile'] - } - } - } - } - createBamQcFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['BamQcFile'] - 'application/x-www-form-urlencoded': components['schemas']['BamQcFile'] - 'multipart/form-data': components['schemas']['BamQcFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['BamQcFile'] - } - } - } - } - retrieveBamQcFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - bamqcfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['BamQcFile'] - } - } - } - } - destroyBamQcFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - bamqcfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - retrieveCaseGeneAnnotationFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseGeneAnnotationFile'] - } - } - } - } - createCaseGeneAnnotationFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseGeneAnnotationFile'] - 'application/x-www-form-urlencoded': components['schemas']['CaseGeneAnnotationFile'] - 'multipart/form-data': components['schemas']['CaseGeneAnnotationFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseGeneAnnotationFile'] - } - } - } - } - retrieveCaseGeneAnnotationFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - casegeneannotationfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseGeneAnnotationFile'] - } - } - } - } - destroyCaseGeneAnnotationFile: { - parameters: { - query?: never - header?: never - path: { - caseimportinfo: string - casegeneannotationfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - retrieveGenotypeFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['GenotypeFile'] - } - } - } - } - createGenotypeFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['GenotypeFile'] - 'application/x-www-form-urlencoded': components['schemas']['GenotypeFile'] - 'multipart/form-data': components['schemas']['GenotypeFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['GenotypeFile'] - } - } - } - } - retrieveGenotypeFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - genotypefile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['GenotypeFile'] - } - } - } - } - destroyGenotypeFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - genotypefile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - retrieveEffectFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EffectFile'] - } - } - } - } - createEffectFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['EffectFile'] - 'application/x-www-form-urlencoded': components['schemas']['EffectFile'] - 'multipart/form-data': components['schemas']['EffectFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EffectFile'] - } - } - } - } - retrieveEffectFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - effectsfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EffectFile'] - } - } - } - } - destroyEffectFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - effectsfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - retrieveDatabaseInfoFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['DatabaseInfoFile'] - } - } - } - } - createDatabaseInfoFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['DatabaseInfoFile'] - 'application/x-www-form-urlencoded': components['schemas']['DatabaseInfoFile'] - 'multipart/form-data': components['schemas']['DatabaseInfoFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['DatabaseInfoFile'] - } - } - } - } - retrieveDatabaseInfoFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - databaseinfofile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['DatabaseInfoFile'] - } - } - } - } - destroyDatabaseInfoFile: { - parameters: { - query?: never - header?: never - path: { - variantsetimportinfo: string - databaseinfofile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - retrieveSvFetchVariantsAjax: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - listSvQuickPresetsAjaxs: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown[] - } - } - } - } - retrieveSvCategoryPresetsApi: { - parameters: { - query?: never - header?: never - path: { - category: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSvInheritancePresetsApi: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveSvQuerySettingsShortcuts: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQuerySettingsShortcuts'] - } - } - } - } - retrieveSvQuery: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQuery'] - } - } - } - } - createSvQuery: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SvQuery'] - 'application/x-www-form-urlencoded': components['schemas']['SvQuery'] - 'multipart/form-data': components['schemas']['SvQuery'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQuery'] - } - } - } - } - retrieveSvQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - svquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryWithLogs'] - } - } - } - } - updateSvQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - svquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SvQueryWithLogs'] - 'application/x-www-form-urlencoded': components['schemas']['SvQueryWithLogs'] - 'multipart/form-data': components['schemas']['SvQueryWithLogs'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryWithLogs'] - } - } - } - } - destroySvQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - svquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateSvQueryWithLogs: { - parameters: { - query?: never - header?: never - path: { - svquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SvQueryWithLogs'] - 'application/x-www-form-urlencoded': components['schemas']['SvQueryWithLogs'] - 'multipart/form-data': components['schemas']['SvQueryWithLogs'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryWithLogs'] - } - } - } - } - retrieveSvQueryResultSet: { - parameters: { - query?: never - header?: never - path: { - svquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryResultSet'] - } - } - } - } - retrieveSvQueryResultSet: { - parameters: { - query?: never - header?: never - path: { - svqueryresultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryResultSet'] - } - } - } - } - retrieveSvQueryResultRow: { - parameters: { - query?: never - header?: never - path: { - svqueryresultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryResultRow'] - } - } - } - } - retrieveSvQueryResultRow: { - parameters: { - query?: never - header?: never - path: { - svqueryresultrow: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvQueryResultRow'] - } - } - } - } - retrieveStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlags'] - } - } - } - } - createStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantFlags'] - 'multipart/form-data': components['schemas']['StructuralVariantFlags'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlags'] - } - } - } - } - retrieveStructuralVariantFlagsProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlagsProject'] - } - } - } - } - retrieveStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - structuralvariantflags: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlags'] - } - } - } - } - updateStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - structuralvariantflags: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantFlags'] - 'multipart/form-data': components['schemas']['StructuralVariantFlags'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlags'] - } - } - } - } - destroyStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - structuralvariantflags: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateStructuralVariantFlags: { - parameters: { - query?: never - header?: never - path: { - structuralvariantflags: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantFlags'] - 'multipart/form-data': components['schemas']['StructuralVariantFlags'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantFlags'] - } - } - } - } - retrieveStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantComment'] - } - } - } - } - createStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantComment'] - 'multipart/form-data': components['schemas']['StructuralVariantComment'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantComment'] - } - } - } - } - retrieveStructuralVariantCommentProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantCommentProject'] - } - } - } - } - retrieveStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - structuralvariantcomment: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantComment'] - } - } - } - } - updateStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - structuralvariantcomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantComment'] - 'multipart/form-data': components['schemas']['StructuralVariantComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantComment'] - } - } - } - } - destroyStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - structuralvariantcomment: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateStructuralVariantComment: { - parameters: { - query?: never - header?: never - path: { - structuralvariantcomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantComment'] - 'multipart/form-data': components['schemas']['StructuralVariantComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantComment'] - } - } - } - } - retrieveStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRating'] - } - } - } - } - createStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantAcmgRating'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantAcmgRating'] - 'multipart/form-data': components['schemas']['StructuralVariantAcmgRating'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRating'] - } - } - } - } - retrieveStructuralVariantAcmgRatingProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRatingProject'] - } - } - } - } - retrieveStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - structuralvariantacmgrating: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRating'] - } - } - } - } - updateStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - structuralvariantacmgrating: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantAcmgRating'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantAcmgRating'] - 'multipart/form-data': components['schemas']['StructuralVariantAcmgRating'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRating'] - } - } - } - } - destroyStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - structuralvariantacmgrating: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateStructuralVariantAcmgRating: { - parameters: { - query?: never - header?: never - path: { - structuralvariantacmgrating: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['StructuralVariantAcmgRating'] - 'application/x-www-form-urlencoded': components['schemas']['StructuralVariantAcmgRating'] - 'multipart/form-data': components['schemas']['StructuralVariantAcmgRating'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['StructuralVariantAcmgRating'] - } - } - } - } - listProjectListAjaxs: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown[] - } - } - } - } - retrieveSODARUser: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['SODARUser'] - } - } - } - } - listProjects: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown[] - } - } - } - } - retrieveProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['Project'] - } - } - } - } - retrieveProjectInvite: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['ProjectInvite'] - } - } - } - } - retrieveAppSetting: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['AppSetting'] - } - } - } - } - retrieveAppSetting: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['AppSetting'] - } - } - } - } - listSODARUsers: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['SODARUser'][] - } - } - } - } - retrieveSODARUser: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['SODARUser'] - } - } - } - } - retrieveRemoteProjectGet: { - parameters: { - query?: never - header?: never - path: { - secret: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - retrieveProjectEventDetailAjax: { - parameters: { - query?: never - header?: never - path: { - projectevent: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - retrieveSiteEventDetailAjax: { - parameters: { - query?: never - header?: never - path: { - projectevent: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - retrieveProjectEventExtraAjax: { - parameters: { - query?: never - header?: never - path: { - projectevent: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - retrieveSiteEventExtraAjax: { - parameters: { - query?: never - header?: never - path: { - projectevent: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - retrieveEventStatusExtraAjax: { - parameters: { - query?: never - header?: never - path: { - eventstatus: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - listAppAlertStatusAjaxs: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown[] - } - } - } - } - retrieveProjectUserPermissionsAjax: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveCohort: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Cohort'] - } - } - } - } - createCohort: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Cohort'] - 'application/x-www-form-urlencoded': components['schemas']['Cohort'] - 'multipart/form-data': components['schemas']['Cohort'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Cohort'] - } - } - } - } - retrieveCohort: { - parameters: { - query?: never - header?: never - path: { - cohort: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Cohort'] - } - } - } - } - updateCohort: { - parameters: { - query?: never - header?: never - path: { - cohort: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Cohort'] - 'application/x-www-form-urlencoded': components['schemas']['Cohort'] - 'multipart/form-data': components['schemas']['Cohort'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Cohort'] - } - } - } - } - destroyCohort: { - parameters: { - query?: never - header?: never - path: { - cohort: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCohort: { - parameters: { - query?: never - header?: never - path: { - cohort: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Cohort'] - 'application/x-www-form-urlencoded': components['schemas']['Cohort'] - 'multipart/form-data': components['schemas']['Cohort'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['Cohort'] - } - } - } - } - retrieveCohortCase: { - parameters: { - query?: never - header?: never - path: { - cohort: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CohortCase'] - } - } - } - } - retrieveProjectCases: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['ProjectCases'] - } - } - } - } - listBeaconInfoApis: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown[] - } - } - } - } - listBeaconQueryApis: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown[] - } - } - } - } - createBeaconQueryApi: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - listGenePanelCategorys: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['GenePanelCategory'][] - } - } - } - } - retrieveGenePanel: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['GenePanel'] - } - } - } - } - retrieveProjectUserPermissionsAjax: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': unknown - } - } - } - } - retrieveCaseSerializerNg: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseNg'] - } - } - } - } - retrieveCaseSerializerNg: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseNg'] - } - } - } - } - updateCaseSerializerNg: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseNg'] - 'application/x-www-form-urlencoded': components['schemas']['CaseNg'] - 'multipart/form-data': components['schemas']['CaseNg'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseNg'] - } - } - } - } - destroyCaseSerializerNg: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCaseSerializerNg: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseNg'] - 'application/x-www-form-urlencoded': components['schemas']['CaseNg'] - 'multipart/form-data': components['schemas']['CaseNg'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseNg'] - } - } - } - } - retrieveCaseComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseComment'] - } - } - } - } - createCaseComment: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseComment'] - 'application/x-www-form-urlencoded': components['schemas']['CaseComment'] - 'multipart/form-data': components['schemas']['CaseComment'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseComment'] - } - } - } - } - retrieveCaseComments: { - parameters: { - query?: never - header?: never - path: { - casecomment: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseComment'] - } - } - } - } - updateCaseComments: { - parameters: { - query?: never - header?: never - path: { - casecomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseComment'] - 'application/x-www-form-urlencoded': components['schemas']['CaseComment'] - 'multipart/form-data': components['schemas']['CaseComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseComment'] - } - } - } - } - destroyCaseComments: { - parameters: { - query?: never - header?: never - path: { - casecomment: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCaseComments: { - parameters: { - query?: never - header?: never - path: { - casecomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseComment'] - 'application/x-www-form-urlencoded': components['schemas']['CaseComment'] - 'multipart/form-data': components['schemas']['CaseComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseComment'] - } - } - } - } - retrieveCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CasePhenotypeTerms'] - } - } - } - } - createCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CasePhenotypeTerms'] - 'application/x-www-form-urlencoded': components['schemas']['CasePhenotypeTerms'] - 'multipart/form-data': components['schemas']['CasePhenotypeTerms'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CasePhenotypeTerms'] - } - } - } - } - retrieveCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - casephenotypeterms: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CasePhenotypeTerms'] - } - } - } - } - updateCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - casephenotypeterms: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CasePhenotypeTerms'] - 'application/x-www-form-urlencoded': components['schemas']['CasePhenotypeTerms'] - 'multipart/form-data': components['schemas']['CasePhenotypeTerms'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CasePhenotypeTerms'] - } - } - } - } - destroyCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - casephenotypeterms: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCasePhenotypeTerms: { - parameters: { - query?: never - header?: never - path: { - casephenotypeterms: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CasePhenotypeTerms'] - 'application/x-www-form-urlencoded': components['schemas']['CasePhenotypeTerms'] - 'multipart/form-data': components['schemas']['CasePhenotypeTerms'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CasePhenotypeTerms'] - } - } - } - } - retrieveAnnotationReleaseInfo: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['AnnotationReleaseInfo'] - } - } - } - } - retrieveSvAnnotationReleaseInfo: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SvAnnotationReleaseInfo'] - } - } - } - } - retrieveVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSet'] - } - } - } - } - createVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSet'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSet'] - 'multipart/form-data': components['schemas']['VarAnnoSet'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSet'] - } - } - } - } - retrieveVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSet'] - } - } - } - } - updateVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSet'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSet'] - 'multipart/form-data': components['schemas']['VarAnnoSet'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSet'] - } - } - } - } - destroyVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateVarAnnoSet: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSet'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSet'] - 'multipart/form-data': components['schemas']['VarAnnoSet'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSet'] - } - } - } - } - retrieveVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSetEntry'] - } - } - } - } - createVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannoset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSetEntry'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSetEntry'] - 'multipart/form-data': components['schemas']['VarAnnoSetEntry'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSetEntry'] - } - } - } - } - retrieveVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannosetentry: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSetEntry'] - } - } - } - } - updateVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannosetentry: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSetEntry'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSetEntry'] - 'multipart/form-data': components['schemas']['VarAnnoSetEntry'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSetEntry'] - } - } - } - } - destroyVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannosetentry: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateVarAnnoSetEntry: { - parameters: { - query?: never - header?: never - path: { - varannosetentry: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['VarAnnoSetEntry'] - 'application/x-www-form-urlencoded': components['schemas']['VarAnnoSetEntry'] - 'multipart/form-data': components['schemas']['VarAnnoSetEntry'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarAnnoSetEntry'] - } - } - } - } - listEnrichmentKits: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EnrichmentKit'][] - } - } - } - } - createEnrichmentKit: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['EnrichmentKit'] - 'application/x-www-form-urlencoded': components['schemas']['EnrichmentKit'] - 'multipart/form-data': components['schemas']['EnrichmentKit'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EnrichmentKit'] - } - } - } - } - retrieveEnrichmentKit: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EnrichmentKit'] - } - } - } - } - updateEnrichmentKit: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['EnrichmentKit'] - 'application/x-www-form-urlencoded': components['schemas']['EnrichmentKit'] - 'multipart/form-data': components['schemas']['EnrichmentKit'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EnrichmentKit'] - } - } - } - } - destroyEnrichmentKit: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateEnrichmentKit: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['EnrichmentKit'] - 'application/x-www-form-urlencoded': components['schemas']['EnrichmentKit'] - 'multipart/form-data': components['schemas']['EnrichmentKit'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['EnrichmentKit'] - } - } - } - } - retrieveTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['TargetBedFile'] - } - } - } - } - createTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - enrichmentkit: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['TargetBedFile'] - 'application/x-www-form-urlencoded': components['schemas']['TargetBedFile'] - 'multipart/form-data': components['schemas']['TargetBedFile'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['TargetBedFile'] - } - } - } - } - retrieveTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - targetbedfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['TargetBedFile'] - } - } - } - } - updateTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - targetbedfile: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['TargetBedFile'] - 'application/x-www-form-urlencoded': components['schemas']['TargetBedFile'] - 'multipart/form-data': components['schemas']['TargetBedFile'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['TargetBedFile'] - } - } - } - } - destroyTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - targetbedfile: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateTargetBedFile: { - parameters: { - query?: never - header?: never - path: { - targetbedfile: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['TargetBedFile'] - 'application/x-www-form-urlencoded': components['schemas']['TargetBedFile'] - 'multipart/form-data': components['schemas']['TargetBedFile'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['TargetBedFile'] - } - } - } - } - retrieveCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportAction'] - } - } - } - } - createCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportAction'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportAction'] - 'multipart/form-data': components['schemas']['CaseImportAction'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportAction'] - } - } - } - } - retrieveCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - caseimportaction: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportAction'] - } - } - } - } - updateCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - caseimportaction: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportAction'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportAction'] - 'multipart/form-data': components['schemas']['CaseImportAction'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportAction'] - } - } - } - } - destroyCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - caseimportaction: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateCaseImportAction: { - parameters: { - query?: never - header?: never - path: { - caseimportaction: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CaseImportAction'] - 'application/x-www-form-urlencoded': components['schemas']['CaseImportAction'] - 'multipart/form-data': components['schemas']['CaseImportAction'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseImportAction'] - } - } - } - } - retrieveCaseQc: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CaseQc'] - } - } - } - } - retrieveVarfishStats: { - parameters: { - query?: never - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['VarfishStats'] - } - } - } - } - listCaseAnalysis: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveCaseAnalysis: { - parameters: { - query?: never - header?: never - path: { - case: string - caseanalysis: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listCaseAnalysisSessions: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - case: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveCaseAnalysisSession: { - parameters: { - query?: never - header?: never - path: { - case: string - caseanalysissession: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsSets: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSet'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSet'] - 'multipart/form-data': components['schemas']['QueryPresetsSet'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - querypresetsset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - querypresetsset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSet'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSet'] - 'multipart/form-data': components['schemas']['QueryPresetsSet'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - querypresetsset: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - querypresetsset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSet'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSet'] - 'multipart/form-data': components['schemas']['QueryPresetsSet'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - copyFromQueryPresetsSet: { - parameters: { - query?: never - header?: never - path: { - project: string - querypresetsset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsSetVersions: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetsset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsSetVersion: { - parameters: { - query?: never - header?: never - path: { - querypresetsset: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSetVersion'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSetVersion'] - 'multipart/form-data': components['schemas']['QueryPresetsSetVersion'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsSetVersionDetails: { - parameters: { - query?: never - header?: never - path: { - querypresetsset: string - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsSetVersion: { - parameters: { - query?: never - header?: never - path: { - querypresetsset: string - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSetVersion'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSetVersion'] - 'multipart/form-data': components['schemas']['QueryPresetsSetVersion'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsSetVersion: { - parameters: { - query?: never - header?: never - path: { - querypresetsset: string - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsSetVersion: { - parameters: { - query?: never - header?: never - path: { - querypresetsset: string - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsSetVersion'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsSetVersion'] - 'multipart/form-data': components['schemas']['QueryPresetsSetVersion'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsQualitys: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsQuality: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsQuality'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsQuality'] - 'multipart/form-data': components['schemas']['QueryPresetsQuality'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsQuality: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsquality: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsQuality: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsquality: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsQuality'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsQuality'] - 'multipart/form-data': components['schemas']['QueryPresetsQuality'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsQuality: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsquality: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsQuality: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsquality: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsQuality'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsQuality'] - 'multipart/form-data': components['schemas']['QueryPresetsQuality'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsFrequencys: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsFrequency: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsFrequency'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsFrequency'] - 'multipart/form-data': components['schemas']['QueryPresetsFrequency'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsFrequency: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsfrequency: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsFrequency: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsfrequency: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsFrequency'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsFrequency'] - 'multipart/form-data': components['schemas']['QueryPresetsFrequency'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsFrequency: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsfrequency: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsFrequency: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsfrequency: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsFrequency'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsFrequency'] - 'multipart/form-data': components['schemas']['QueryPresetsFrequency'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsConsequences: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsConsequence: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsConsequence'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsConsequence'] - 'multipart/form-data': components['schemas']['QueryPresetsConsequence'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsConsequence: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsconsequence: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsConsequence: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsconsequence: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsConsequence'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsConsequence'] - 'multipart/form-data': components['schemas']['QueryPresetsConsequence'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsConsequence: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsconsequence: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsConsequence: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsconsequence: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsConsequence'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsConsequence'] - 'multipart/form-data': components['schemas']['QueryPresetsConsequence'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsLocus: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsLocus: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsLocus'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsLocus'] - 'multipart/form-data': components['schemas']['QueryPresetsLocus'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsLocus: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetslocus: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsLocus: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetslocus: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsLocus'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsLocus'] - 'multipart/form-data': components['schemas']['QueryPresetsLocus'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsLocus: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetslocus: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsLocus: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetslocus: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsLocus'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsLocus'] - 'multipart/form-data': components['schemas']['QueryPresetsLocus'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsPhenotypePrios: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsPhenotypePrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsPhenotypePrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsPhenotypePrio'] - 'multipart/form-data': components['schemas']['QueryPresetsPhenotypePrio'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsPhenotypePrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsphenotypeprio: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsPhenotypePrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsphenotypeprio: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsPhenotypePrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsPhenotypePrio'] - 'multipart/form-data': components['schemas']['QueryPresetsPhenotypePrio'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsPhenotypePrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsphenotypeprio: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsPhenotypePrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsphenotypeprio: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsPhenotypePrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsPhenotypePrio'] - 'multipart/form-data': components['schemas']['QueryPresetsPhenotypePrio'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsVariantPrios: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsVariantPrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsVariantPrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsVariantPrio'] - 'multipart/form-data': components['schemas']['QueryPresetsVariantPrio'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsVariantPrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsvariantprio: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsVariantPrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsvariantprio: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsVariantPrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsVariantPrio'] - 'multipart/form-data': components['schemas']['QueryPresetsVariantPrio'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsVariantPrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsvariantprio: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsVariantPrio: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsvariantprio: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsVariantPrio'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsVariantPrio'] - 'multipart/form-data': components['schemas']['QueryPresetsVariantPrio'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsClinvars: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsClinvar: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsClinvar'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsClinvar'] - 'multipart/form-data': components['schemas']['QueryPresetsClinvar'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsClinvar: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsclinvar: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsClinvar: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsclinvar: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsClinvar'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsClinvar'] - 'multipart/form-data': components['schemas']['QueryPresetsClinvar'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsClinvar: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsclinvar: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsClinvar: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetsclinvar: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsClinvar'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsClinvar'] - 'multipart/form-data': components['schemas']['QueryPresetsClinvar'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryPresetsColumns: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryPresetsColumns: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsColumns'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsColumns'] - 'multipart/form-data': components['schemas']['QueryPresetsColumns'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryPresetsColumns: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetscolumns: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryPresetsColumns: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetscolumns: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsColumns'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsColumns'] - 'multipart/form-data': components['schemas']['QueryPresetsColumns'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQueryPresetsColumns: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetscolumns: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryPresetsColumns: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - querypresetscolumns: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryPresetsColumns'] - 'application/x-www-form-urlencoded': components['schemas']['QueryPresetsColumns'] - 'multipart/form-data': components['schemas']['QueryPresetsColumns'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listPredefinedQuerys: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createPredefinedQuery: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['PredefinedQuery'] - 'application/x-www-form-urlencoded': components['schemas']['PredefinedQuery'] - 'multipart/form-data': components['schemas']['PredefinedQuery'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrievePredefinedQuery: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - predefinedquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updatePredefinedQuery: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - predefinedquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['PredefinedQuery'] - 'application/x-www-form-urlencoded': components['schemas']['PredefinedQuery'] - 'multipart/form-data': components['schemas']['PredefinedQuery'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyPredefinedQuery: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - predefinedquery: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdatePredefinedQuery: { - parameters: { - query?: never - header?: never - path: { - querypresetssetversion: string - predefinedquery: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['PredefinedQuery'] - 'application/x-www-form-urlencoded': components['schemas']['PredefinedQuery'] - 'multipart/form-data': components['schemas']['PredefinedQuery'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQuerySettings: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - session: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQuerySettingsDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QuerySettingsDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QuerySettingsDetails'] - 'multipart/form-data': components['schemas']['QuerySettingsDetails'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQuerySettingsDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - querysettings: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQuerySettingsDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - querysettings: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QuerySettingsDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QuerySettingsDetails'] - 'multipart/form-data': components['schemas']['QuerySettingsDetails'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQuerySettings: { - parameters: { - query?: never - header?: never - path: { - session: string - querysettings: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQuerySettingsDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - querysettings: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QuerySettingsDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QuerySettingsDetails'] - 'multipart/form-data': components['schemas']['QuerySettingsDetails'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQuerys: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - session: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createQueryDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QueryDetails'] - 'multipart/form-data': components['schemas']['QueryDetails'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - query: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - updateQueryDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - query: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QueryDetails'] - 'multipart/form-data': components['schemas']['QueryDetails'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - destroyQuery: { - parameters: { - query?: never - header?: never - path: { - session: string - query: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - partialUpdateQueryDetails: { - parameters: { - query?: never - header?: never - path: { - session: string - query: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['QueryDetails'] - 'application/x-www-form-urlencoded': components['schemas']['QueryDetails'] - 'multipart/form-data': components['schemas']['QueryDetails'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listQueryExecutions: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - query: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveQueryExecutionDetails: { - parameters: { - query?: never - header?: never - path: { - query: string - queryexecution: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listResultSets: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - query: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveResultSet: { - parameters: { - query?: never - header?: never - path: { - query: string - resultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - listResultRows: { - parameters: { - query?: { - /** @description The pagination cursor value. */ - cursor?: string - /** @description Number of results to return per page. */ - page_size?: number - } - header?: never - path: { - resultset: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - retrieveResultRow: { - parameters: { - query?: never - header?: never - path: { - resultset: string - seqvarresultrow: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html': unknown - } - } - } - } - createLogin: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createLogout: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createLogoutAll: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createProjectListColumnAjax: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createProjectListRoleAjax: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createProjectStarringAjax: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createProject: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Project'] - 'application/x-www-form-urlencoded': components['schemas']['Project'] - 'multipart/form-data': components['schemas']['Project'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['Project'] - } - } - } - } - createRoleAssignment: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['RoleAssignment'] - 'application/x-www-form-urlencoded': components['schemas']['RoleAssignment'] - 'multipart/form-data': components['schemas']['RoleAssignment'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['RoleAssignment'] - } - } - } - } - createRoleAssignmentOwnerTransfer: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - createProjectInvite: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['ProjectInvite'] - 'application/x-www-form-urlencoded': components['schemas']['ProjectInvite'] - 'multipart/form-data': components['schemas']['ProjectInvite'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['ProjectInvite'] - } - } - } - } - createProjectInviteRevoke: { - parameters: { - query?: never - header?: never - path: { - projectinvite: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - createProjectInviteResend: { - parameters: { - query?: never - header?: never - path: { - projectinvite: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - createProjectSettingSet: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - createUserSettingSet: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': unknown - } - } - } - } - createAdminAlertActiveToggleAjax: { - parameters: { - query?: never - header?: never - path: { - adminalert: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createAppAlertDismissAjax: { - parameters: { - query?: never - header?: never - path: { - appalert: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createAppAlertDismissAjax: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: { - content: { - 'application/json': unknown - 'application/x-www-form-urlencoded': unknown - 'multipart/form-data': unknown - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - } - } - } - } - createCohortCase: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['CohortCase'] - 'application/x-www-form-urlencoded': components['schemas']['CohortCase'] - 'multipart/form-data': components['schemas']['CohortCase'] - } - } - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['CohortCase'] - } - } - } - } - updateSmallVariantComment: { - parameters: { - query?: never - header?: never - path: { - smallvariantcomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantComment'] - 'multipart/form-data': components['schemas']['SmallVariantComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantComment'] - } - } - } - } - partialUpdateSmallVariantComment: { - parameters: { - query?: never - header?: never - path: { - smallvariantcomment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantComment'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantComment'] - 'multipart/form-data': components['schemas']['SmallVariantComment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantComment'] - } - } - } - } - updateSmallVariantFlags: { - parameters: { - query?: never - header?: never - path: { - smallvariantflags: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantFlags'] - 'multipart/form-data': components['schemas']['SmallVariantFlags'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantFlags'] - } - } - } - } - partialUpdateSmallVariantFlags: { - parameters: { - query?: never - header?: never - path: { - smallvariantflags: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['SmallVariantFlags'] - 'application/x-www-form-urlencoded': components['schemas']['SmallVariantFlags'] - 'multipart/form-data': components['schemas']['SmallVariantFlags'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['SmallVariantFlags'] - } - } - } - } - updateAcmgCriteriaRating: { - parameters: { - query?: never - header?: never - path: { - acmgcriteriarating: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['AcmgCriteriaRating'] - 'application/x-www-form-urlencoded': components['schemas']['AcmgCriteriaRating'] - 'multipart/form-data': components['schemas']['AcmgCriteriaRating'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['AcmgCriteriaRating'] - } - } - } - } - partialUpdateAcmgCriteriaRating: { - parameters: { - query?: never - header?: never - path: { - acmgcriteriarating: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['AcmgCriteriaRating'] - 'application/x-www-form-urlencoded': components['schemas']['AcmgCriteriaRating'] - 'multipart/form-data': components['schemas']['AcmgCriteriaRating'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.varfish+json': components['schemas']['AcmgCriteriaRating'] - } - } - } - } - updateProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Project'] - 'application/x-www-form-urlencoded': components['schemas']['Project'] - 'multipart/form-data': components['schemas']['Project'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['Project'] - } - } - } - } - partialUpdateProject: { - parameters: { - query?: never - header?: never - path: { - project: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['Project'] - 'application/x-www-form-urlencoded': components['schemas']['Project'] - 'multipart/form-data': components['schemas']['Project'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['Project'] - } - } - } - } - updateRoleAssignment: { - parameters: { - query?: never - header?: never - path: { - roleassignment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['RoleAssignment'] - 'application/x-www-form-urlencoded': components['schemas']['RoleAssignment'] - 'multipart/form-data': components['schemas']['RoleAssignment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['RoleAssignment'] - } - } - } - } - partialUpdateRoleAssignment: { - parameters: { - query?: never - header?: never - path: { - roleassignment: string - } - cookie?: never - } - requestBody?: { - content: { - 'application/json': components['schemas']['RoleAssignment'] - 'application/x-www-form-urlencoded': components['schemas']['RoleAssignment'] - 'multipart/form-data': components['schemas']['RoleAssignment'] - } - } - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/vnd.bihealth.sodar-core+json': components['schemas']['RoleAssignment'] - } - } - } - } - destroySmallVariantComment: { - parameters: { - query?: never - header?: never - path: { - smallvariantcomment: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - destroySmallVariantFlags: { - parameters: { - query?: never - header?: never - path: { - smallvariantflags: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - destroyAcmgCriteriaRating: { - parameters: { - query?: never - header?: never - path: { - acmgcriteriarating: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - destroyRoleAssignment: { - parameters: { - query?: never - header?: never - path: { - roleassignment: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - destroyCohortCase: { - parameters: { - query?: never - header?: never - path: { - cohortcase: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } -} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 5dfedca08..6d1ad922b 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -27,6 +27,7 @@ "baseUrl": ".", "paths": { "@bihealth/reev-frontend-lib/*": ["./ext/reev-frontend-lib/src/*"], + "@varfish-org/varfish-api/*": ["./ext/varfish-api/src/*"], "@tests/*": ["./tests/*"], "@/*": ["./src/*"] } diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 5a4bedef4..7fd154e99 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -54,6 +54,7 @@ export default defineConfig({ alias: { '@test': resolve(__dirname, './tests/'), '@bihealth/reev-frontend-lib': resolve(__dirname, './ext/reev-frontend-lib/src'), + '@varfish-org/varfish-api': resolve(__dirname, './ext/varfish-api/src'), '@': resolve(__dirname, './src/'), }, },