diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml
index 6d0d79be4..f74595a38 100644
--- a/.github/workflows/playwright.yml
+++ b/.github/workflows/playwright.yml
@@ -14,7 +14,8 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
- submodules: true
+ submodules: 'recursive'
+ lfs: true
- uses: actions/setup-node@v4
with:
node-version: 18
diff --git a/backend/cases/views_api.py b/backend/cases/views_api.py
index c84d84bfb..5b5c388bb 100644
--- a/backend/cases/views_api.py
+++ b/backend/cases/views_api.py
@@ -4,6 +4,7 @@
from django.conf import settings
from django.db import transaction
from django.middleware.csrf import get_token
+from drf_spectacular.utils import OpenApiParameter, extend_schema, extend_schema_view
from modelcluster.queryset import FakeQuerySet
from projectroles.app_settings import AppSettingAPI
from projectroles.views_api import (
@@ -60,6 +61,15 @@ class CasePagination(PageNumberPagination):
max_page_size = 1000
+@extend_schema_view(
+ get=extend_schema(
+ parameters=[
+ OpenApiParameter(name="order_by", type=str),
+ OpenApiParameter(name="order_dir", type=str),
+ OpenApiParameter(name="q", type=str),
+ ]
+ )
+)
class CaseListApiView(SODARAPIBaseProjectMixin, ListAPIView):
"""
List all cases in the current project.
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 a997ce07d..46cd6d13d 100644
--- a/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml
+++ b/backend/varfish/tests/drf_openapi_schema/varfish_api_schema.yaml
@@ -856,6 +856,14 @@ paths:
**Returns:** List of project details (see :py:class:`CaseRetrieveApiView`)
parameters:
+ - in: query
+ name: order_by
+ schema:
+ type: string
+ - in: query
+ name: order_dir
+ schema:
+ type: string
- name: page
required: false
in: query
@@ -874,6 +882,10 @@ paths:
type: string
pattern: ^[0-9a-f-]+$
required: true
+ - in: query
+ name: q
+ schema:
+ type: string
tags:
- cases
security:
diff --git a/frontend/.gitignore b/frontend/.gitignore
index 8fe425b2e..7123b4700 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -1,4 +1,5 @@
/components.d.ts
+/test-results
!/src
!/ext/varfish-api/src/lib
diff --git a/frontend/end-to-end-tests/seqvar-filtration.spec.ts b/frontend/end-to-end-tests/seqvar-filtration.spec.ts
index 18453e7f3..18c102ecd 100644
--- a/frontend/end-to-end-tests/seqvar-filtration.spec.ts
+++ b/frontend/end-to-end-tests/seqvar-filtration.spec.ts
@@ -122,7 +122,7 @@ test.describe('genotype', () => {
test.describe('genotype (recessive)', () => {
test.beforeEach(async ({ page }) => {
await page
- .locator('button[aria-label="Create query based on recessive"]')
+ .locator('button[title="Create query based on recessive"]')
.click()
})
diff --git a/frontend/ext/varfish-api/src/lib/types.gen.ts b/frontend/ext/varfish-api/src/lib/types.gen.ts
index bc736802d..cd29f861e 100644
--- a/frontend/ext/varfish-api/src/lib/types.gen.ts
+++ b/frontend/ext/varfish-api/src/lib/types.gen.ts
@@ -3545,6 +3545,8 @@ export type CasesApiCaseListListData = {
project: string;
};
query?: {
+ order_by?: string;
+ order_dir?: string;
/**
* A page number within the paginated result set.
*/
@@ -3553,6 +3555,7 @@ export type CasesApiCaseListListData = {
* Number of results to return per page.
*/
page_size?: number;
+ q?: string;
};
};
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 1cda0dd81..36c55e1dd 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -17,11 +17,11 @@
"@vueform/multiselect": "^2.6.7",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
+ "@wdns/vuetify-resize-drawer": "^3.1.6",
"bootstrap": "^4.6.2",
"camelcase": "^8.0.0",
"core-js": "^3.37.0",
"fast-deep-equal": "^3.1.3",
- "iconify-icon": "^2.1.0",
"igv": "^2.15.11",
"javascript-time-ago": "^2.5.10",
"jquery": "^3.7.1",
@@ -2890,7 +2890,8 @@
"node_modules/@iconify/types": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
- "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+ "dev": true
},
"node_modules/@iconify/utils": {
"version": "2.1.23",
@@ -8031,6 +8032,26 @@
}
}
},
+ "node_modules/@wdns/vuetify-resize-drawer": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@wdns/vuetify-resize-drawer/-/vuetify-resize-drawer-3.1.6.tgz",
+ "integrity": "sha512-mye9lsiQVAlrELjBXit22PmXOEVDWUGR5k5tdFeKm82pk+nxBB7EVMCc+i+aFSmJMk8CAgk4uO5P8y+gaegWHA==",
+ "funding": [
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/webdevnerdstuff"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/WebDevNerdStuff"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "vue": "^3.4.20",
+ "vuetify": "^3.5.6"
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -14215,18 +14236,6 @@
"ms": "^2.0.0"
}
},
- "node_modules/iconify-icon": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/iconify-icon/-/iconify-icon-2.1.0.tgz",
- "integrity": "sha512-lto4XU3bwTQnb+D/CsJ4dWAo0aDe+uPMxEtxyOodw9l7R9QnJUUab3GCehlw2M8mDHdeUu/ufx8PvRQiJphhXg==",
- "license": "MIT",
- "dependencies": {
- "@iconify/types": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/cyberalien"
- }
- },
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 196fc7fa2..e071c276d 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -6,6 +6,7 @@
"build": "vite build --emptyOutDir",
"test:unit": "vitest run",
"test:unit:nocov": "vitest run",
+ "test:e2e": "playwright test",
"lint": "eslint . --fix --max-warnings 0",
"type-check": "vue-tsc --noEmit --composite false",
"prettier-check": "npx prettier --check src/*/** tests/*/**",
@@ -24,11 +25,11 @@
"@vueform/multiselect": "^2.6.7",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
+ "@wdns/vuetify-resize-drawer": "^3.1.6",
"bootstrap": "^4.6.2",
"camelcase": "^8.0.0",
"core-js": "^3.37.0",
"fast-deep-equal": "^3.1.3",
- "iconify-icon": "^2.1.0",
"igv": "^2.15.11",
"javascript-time-ago": "^2.5.10",
"jquery": "^3.7.1",
diff --git a/frontend/src/cases/components/CaseDetail/CardCase.vue b/frontend/src/cases/components/CaseDetail/CardCase.vue
index 4390a5923..5d5999ecb 100644
--- a/frontend/src/cases/components/CaseDetail/CardCase.vue
+++ b/frontend/src/cases/components/CaseDetail/CardCase.vue
@@ -96,6 +96,8 @@ const badgeStatusColor = computed(() => {
Reference Genome
{{ caseObj.release }}
+ Case Version
+ {{ caseObj.case_version }}
diff --git a/frontend/src/cases/components/CaseDetail/Content.vue b/frontend/src/cases/components/CaseDetail/Content.vue
index edd2f35dc..da472c8d0 100644
--- a/frontend/src/cases/components/CaseDetail/Content.vue
+++ b/frontend/src/cases/components/CaseDetail/Content.vue
@@ -42,7 +42,7 @@ const caseQcStore = useCaseQcStore()
@@ -70,7 +70,7 @@ const caseQcStore = useCaseQcStore()
diff --git a/frontend/src/cases/components/CaseListTable/CaseListTable.vue b/frontend/src/cases/components/CaseListTable/CaseListTable.vue
index 07472443c..bc53d0e2f 100644
--- a/frontend/src/cases/components/CaseListTable/CaseListTable.vue
+++ b/frontend/src/cases/components/CaseListTable/CaseListTable.vue
@@ -1,27 +1,33 @@
@@ -16,7 +16,7 @@ const props = withDefaults(
floating
permanent
color="grey-lighten-3"
- :rail="navbarHidden"
+ :rail="!navbarShown"
>
diff --git a/frontend/src/cases/router/index.ts b/frontend/src/cases/router/index.ts
index 81cbd3b1f..b581f16b2 100644
--- a/frontend/src/cases/router/index.ts
+++ b/frontend/src/cases/router/index.ts
@@ -2,6 +2,7 @@ import StrucvarDetails from '@/svs/views/StrucvarDetails/StrucvarDetails.vue'
import StrucvarFilterLegacy from '@/svs/views/StrucvarFilterLegacy/StrucvarFilterLegacy.vue'
import { useHistoryStore } from '@/varfish/stores/history'
import SeqvarFilterLegacy from '@/variants/views/SeqvarFilterLegacy/SeqvarFilterLegacy.vue'
+import SeqvarsQuery from '@/seqvars/views/SeqvarsQuery/SeqvarsQuery.vue'
import SeqvarDetails from '@/variants/views/SeqvarDetails/SeqvarDetails.vue'
import {
RouteLocationNormalized,
@@ -108,6 +109,15 @@ const routes: RouteRecordRaw[] = [
currentTab: 'browser',
}),
},
+ {
+ name: 'seqvars-query',
+ path: '/-/cases/:project/seqvars/queries/:case',
+ component: SeqvarsQuery,
+ props: (route: RouteLocationNormalized) => ({
+ projectUuid: route.params.project,
+ caseUuid: route.params.case,
+ }),
+ },
{
name: 'variants-filter',
path: '/-/cases/:project/variants/filter/:case',
diff --git a/frontend/src/cases/views/CaseDetail/CaseDetail.vue b/frontend/src/cases/views/CaseDetail/CaseDetail.vue
index a763cb039..8156dddb1 100644
--- a/frontend/src/cases/views/CaseDetail/CaseDetail.vue
+++ b/frontend/src/cases/views/CaseDetail/CaseDetail.vue
@@ -1,9 +1,10 @@
-
-
+
+
- Back to Case List
+ Back to Case List
-
+
Case Overview
- Overview
+ Overview
params: { project: projectUuid, case: caseUuid },
}"
>
- Quality Control
+ Quality Control
params: { project: projectUuid, case: caseUuid },
}"
>
- Variant Annotation
+ Variant Annotation
-
- Variant Analysis
-
+
+
+ Variant Analysis
+
+
+
+
+
+ Variant Analysis
+
-
- Filter Variants
-
-
- Filter SVs
-
+
+ Filter Variants
+
+
+ Filter SVs
+
+
+
+
+ Variant Analysis (V2)
+
+
+
+ Filter Variants
+
+
+ Filter SVs
+
+
-
+
Case Operations
- Edit Query Presets
+ Edit Query Presets
- Add Comment
+ Add Comment
- Edit Status
+ Edit Status
- Edit Notes
+ Edit Notes
- Edit Pedigree
+ Edit Pedigree
class="dropdown-item text-danger"
@click="paneRef!.handleDestroyCaseClicked()"
>
- Delete Case
+ Delete Case
diff --git a/frontend/src/cases/views/CaseList/CaseList.vue b/frontend/src/cases/views/CaseList/CaseList.vue
index 18b9e0eb5..fe4098e98 100644
--- a/frontend/src/cases/views/CaseList/CaseList.vue
+++ b/frontend/src/cases/views/CaseList/CaseList.vue
@@ -7,6 +7,7 @@ import { Tab } from './types'
import QueryPresets from '@/variants/components/QueryPresets.vue'
import TheAppBar from '@/cases/components/TheAppBar/TheAppBar.vue'
import TheNavBar from '@/cases/components/TheNavBar/TheNavBar.vue'
+import { SnackbarMessage } from '@/seqvars/views/PresetSets/lib'
import { useCaseListStore } from '@/cases/stores/caseList'
import { useProjectStore } from '@/cases/stores/project/store'
@@ -24,7 +25,14 @@ const caseListStore = useCaseListStore()
const projectStore = useProjectStore()
// Whether to hide the navigation bar; component state.
-const navbarHidden = ref(false)
+const navbarShown = ref(true)
+/** Messages to display in VSnackbarQueue; component state. */
+const messages = ref([])
+
+/** Event handler for queueing message in VSnackbarQueue. */
+const queueMessage = (message: SnackbarMessage) => {
+ messages.value.push(message)
+}
// Initialize case list store on mount.
onMounted(() => {
@@ -44,26 +52,30 @@ watch(
-
-
+
+
- Back to Project
+ Back to Project
-
+
Project Overview
- Case List
+ Case List
- Quality Control
+ Quality Control
- Query Presets
+ Query Presets
- Query Presets (V2)
+ Query Presets (V2)
-
+
@@ -108,5 +120,10 @@ watch(
+
diff --git a/frontend/src/seqvars/App.vue b/frontend/src/seqvars/App.vue
index c9bdf7b12..4a2fafd91 100644
--- a/frontend/src/seqvars/App.vue
+++ b/frontend/src/seqvars/App.vue
@@ -55,11 +55,11 @@ watch(
() => refreshStores(),
)
-const presetDetails = computed(() =>
+const presetsDetails = computed(() =>
[...seqvarsPresetsStore.presetSetVersions.values()].at(0),
)
-
+
diff --git a/frontend/src/seqvars/components/GeneDataTable/GeneDataTable.vue b/frontend/src/seqvars/components/GeneDataTable/GeneDataTable.vue
index 3abdc1d0c..7ddaab223 100644
--- a/frontend/src/seqvars/components/GeneDataTable/GeneDataTable.vue
+++ b/frontend/src/seqvars/components/GeneDataTable/GeneDataTable.vue
@@ -30,7 +30,7 @@ type GeneItem = {
const props = defineProps<{
selectedQueryIndex: number
- presetDetails: SeqvarsQueryPresetsSetVersionDetails
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails
queries: Query[]
}>()
diff --git a/frontend/src/seqvars/components/PredefinedQueryList.vue b/frontend/src/seqvars/components/PredefinedQueryList.vue
index bffa2914a..b0d94fbe2 100644
--- a/frontend/src/seqvars/components/PredefinedQueryList.vue
+++ b/frontend/src/seqvars/components/PredefinedQueryList.vue
@@ -11,20 +11,37 @@ import CollapsibleGroup from './ui/CollapsibleGroup.vue'
import Item from './ui/Item.vue'
import ItemButton from './ui/ItemButton.vue'
-const { presets, query } = defineProps<{
- presets: SeqvarsQueryPresetsSetVersionDetails
- query: Query | null
-}>()
+/** This component's props. */
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const props = withDefaults(
+ defineProps<{
+ /** The presets version to use. */
+ presets: SeqvarsQueryPresetsSetVersionDetails
+ /** The query that is being modified. */
+ query: Query | null
+ /** Whether hints are enabled. */
+ hintsEnabled?: boolean
+ }>(),
+ { hintsEnabled: false },
+)
+
+/** Currently selected predefined query, if any. */
const selectedId = defineModel('selectedId', {
required: true,
})
-defineEmits<{ addQuery: [preset: SeqvarsPredefinedQuery] }>()
+/** This component's events. */
+defineEmits<{
+ /** Create a query based on the predefined query. */
+ addQuery: [preset: SeqvarsPredefinedQuery]
+}>()
{{ pq.label }}
-
+
+ >
+
+
+
diff --git a/frontend/src/seqvars/components/QueryEditor/QueryEditor.stories.ts b/frontend/src/seqvars/components/QueryEditor/QueryEditor.stories.ts
new file mode 100644
index 000000000..b75d10395
--- /dev/null
+++ b/frontend/src/seqvars/components/QueryEditor/QueryEditor.stories.ts
@@ -0,0 +1,70 @@
+import type { Meta, StoryObj } from '@storybook/vue3'
+import { delay, http, HttpResponse } from 'msw'
+
+import fixture from './fixture.QueryEditor.json'
+import QueryEditor from './QueryEditor.vue'
+
+const meta: Meta = {
+ title: 'Seqvars / Query Editor',
+ component: QueryEditor,
+}
+
+export default meta
+
+type Story = StoryObj
+
+export const Example: Story = {
+ render: () => ({
+ components: { QueryEditor },
+ setup() {
+ return { fixture }
+ },
+ template: '',
+ }),
+ parameters: {
+ msw: {
+ handlers: [
+ http.get('/proxy/varfish/viguno/hpo/terms', async () => {
+ await delay(1000)
+ return HttpResponse.json({
+ version: { hpo: '2023-06-06', viguno: '0.2.0' },
+ query: {
+ term_id: null,
+ name: 'foobar',
+ max_results: 100,
+ genes: false,
+ },
+ result: [],
+ })
+ }),
+ http.get('/proxy/varfish/viguno/hpo/omims', async () => {
+ await delay(1000)
+ return HttpResponse.json({
+ version: { hpo: '2023-06-06', viguno: '0.2.0' },
+ query: {
+ omim_id: null,
+ name: 'early',
+ match_: 'contains',
+ max_results: 100,
+ hpo_terms: false,
+ },
+ result: [
+ {
+ omim_id: 'OMIM:165800',
+ name: 'Short stature and advanced bone age, with or without early-onset osteoarthritis and/or osteochondritis dissecans',
+ },
+ {
+ omim_id: 'OMIM:167320',
+ name: 'Inclusion body myopathy with early-onset paget disease with or without frontotemporal dementia 1',
+ },
+ {
+ omim_id: 'OMIM:208920',
+ name: 'Ataxia, early-onset, with oculomotor apraxia and hypoalbuminemia',
+ },
+ ],
+ })
+ }),
+ ],
+ },
+ },
+}
diff --git a/frontend/src/seqvars/components/QueryEditor/QueryEditor.vue b/frontend/src/seqvars/components/QueryEditor/QueryEditor.vue
new file mode 100644
index 000000000..3486a4879
--- /dev/null
+++ b/frontend/src/seqvars/components/QueryEditor/QueryEditor.vue
@@ -0,0 +1,269 @@
+
+
+
+
+
(selectedQueryIndex = index)"
+ @remove="(index) => queries.splice(index, 1)"
+ @revert="
+ () => {
+ const pq = presetsDetails.seqvarspredefinedquery_set.find(
+ (p) => p.sodar_uuid === selectedQuery?.predefinedquery,
+ )!
+ selectedQuery = createQuery(pq)
+ }
+ "
+ />
+
+
+
+
+ Queries
+
+
+
+
+
+
+ {
+ const pq = presetsDetails.seqvarspredefinedquery_set.find(
+ (p) => p.sodar_uuid === id,
+ )!
+ selectedQuery = createQuery(pq)
+ }
+ "
+ @add-query="
+ (pq) => {
+ const query = createQuery(pq)
+ queries.push(query)
+ selectedQueryIndex = queries.length - 1
+ }
+ "
+ />
+
+
+
+
+ - setGenotypeToPreset(key)"
+ @revert="() => setGenotypeToPreset(key)"
+ >
+ {{ getGenotypeLabel(key) }}
+
+
+
+
+
+
+
+
+ - setToPreset(group, preset)"
+ @revert="() => setToPreset(group, preset)"
+ >
+ {{ preset.label }}
+
+
+
+
+
+
+
+
diff --git a/frontend/src/seqvars/components/QueryEditor/fixture.QueryEditor.json b/frontend/src/seqvars/components/QueryEditor/fixture.QueryEditor.json
new file mode 100644
index 000000000..4ded58781
--- /dev/null
+++ b/frontend/src/seqvars/components/QueryEditor/fixture.QueryEditor.json
@@ -0,0 +1,1145 @@
+{
+ "sodar_uuid": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "presetsset": {
+ "sodar_uuid": "b39cfd4b-8abe-4d78-8520-10116895cea8",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "short-read exome sequencing (modern)",
+ "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."
+ },
+ "version_major": 1,
+ "version_minor": 0,
+ "status": "active",
+ "signed_off_by": null,
+ "seqvarsquerypresetsquality_set": [
+ {
+ "sodar_uuid": "39850d17-0772-4aea-8a21-229039a40dfe",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "super strict",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "filter_active": true,
+ "min_dp_het": 10,
+ "min_dp_hom": 5,
+ "min_ab_het": 0.3,
+ "min_gq": 30,
+ "min_ad": 3,
+ "max_ad": null
+ },
+ {
+ "sodar_uuid": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "strict",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "filter_active": true,
+ "min_dp_het": 10,
+ "min_dp_hom": 5,
+ "min_ab_het": 0.2,
+ "min_gq": 10,
+ "min_ad": 3,
+ "max_ad": null
+ },
+ {
+ "sodar_uuid": "b0567812-8382-456e-8642-35eb281cdb93",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "relaxed",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "filter_active": true,
+ "min_dp_het": 8,
+ "min_dp_hom": 4,
+ "min_ab_het": 0.1,
+ "min_gq": 10,
+ "min_ad": 2,
+ "max_ad": null
+ },
+ {
+ "sodar_uuid": "a24eb80d-b189-4370-8d90-437bfd4f6854",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "any",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "filter_active": false,
+ "min_dp_het": null,
+ "min_dp_hom": null,
+ "min_ab_het": null,
+ "min_gq": null,
+ "min_ad": null,
+ "max_ad": null
+ }
+ ],
+ "seqvarsquerypresetsfrequency_set": [
+ {
+ "gnomad_exomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 1,
+ "hemizygous": null,
+ "frequency": 0.002
+ },
+ "gnomad_genomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 1,
+ "hemizygous": null,
+ "frequency": 0.002
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": true,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": 20
+ },
+ "sodar_uuid": "bd15349c-09af-4530-b5b9-80156fb59ea3",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "dominant super strict",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "gnomad_exomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 1,
+ "hemizygous": null,
+ "frequency": 0.002
+ },
+ "gnomad_genomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 1,
+ "hemizygous": null,
+ "frequency": 0.002
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": true,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": 20
+ },
+ "sodar_uuid": "d82e3ed6-bcaf-4c20-b1d8-fbc7b6ad2d73",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "dominant strict",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "gnomad_exomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 50,
+ "hemizygous": null,
+ "frequency": 0.01
+ },
+ "gnomad_genomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 20,
+ "hemizygous": null,
+ "frequency": 0.01
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": true,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": 20
+ },
+ "sodar_uuid": "5e9879ff-5422-47bb-8fbe-5628a7483d73",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "dominant relaxed",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "gnomad_exomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 120,
+ "hemizygous": null,
+ "frequency": 0.001
+ },
+ "gnomad_genomes": {
+ "enabled": true,
+ "homozygous": 0,
+ "heterozygous": 15,
+ "hemizygous": null,
+ "frequency": 0.001
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": true,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": 20
+ },
+ "sodar_uuid": "74211244-a16c-4327-b88b-78bdd49a72b4",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "recessive strict",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "gnomad_exomes": {
+ "enabled": true,
+ "homozygous": 20,
+ "heterozygous": 0,
+ "hemizygous": null,
+ "frequency": 0.01
+ },
+ "gnomad_genomes": {
+ "enabled": true,
+ "homozygous": 4,
+ "heterozygous": 150,
+ "hemizygous": null,
+ "frequency": 0.01
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": true,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": 20
+ },
+ "sodar_uuid": "268cdc62-8a60-4252-8d4d-6762970882be",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 5,
+ "label": "recessive relaxed",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "gnomad_exomes": {
+ "enabled": false,
+ "homozygous": null,
+ "heterozygous": null,
+ "hemizygous": null,
+ "frequency": null
+ },
+ "gnomad_genomes": {
+ "enabled": false,
+ "homozygous": null,
+ "heterozygous": null,
+ "hemizygous": null,
+ "frequency": null
+ },
+ "gnomad_mitochondrial": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "helixmtdb": {
+ "enabled": false,
+ "heteroplasmic": null,
+ "homoplasmic": null,
+ "frequency": null
+ },
+ "inhouse": {
+ "enabled": false,
+ "heterozygous": null,
+ "homozygous": null,
+ "hemizygous": null,
+ "carriers": null
+ },
+ "sodar_uuid": "fe56b1e5-74a0-4625-bbc3-6d973bb70669",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 6,
+ "label": "any",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetsconsequence_set": [
+ {
+ "variant_types": ["snv", "indel", "mnv", "complex_substitution"],
+ "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"
+ ],
+ "max_distance_to_exon": null,
+ "sodar_uuid": "c41edca6-67b1-4551-974b-975360e09044",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "any",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_types": ["snv", "indel", "mnv", "complex_substitution"],
+ "transcript_types": ["coding"],
+ "variant_consequences": [
+ "frameshift_variant",
+ "rare_amino_acid_variant",
+ "splice_acceptor_variant",
+ "splice_donor_variant",
+ "start_lost",
+ "stop_gained",
+ "stop_lost"
+ ],
+ "max_distance_to_exon": null,
+ "sodar_uuid": "5bb88633-537c-4792-ab87-55c5b0f9aafc",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "null variant",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_types": ["snv", "indel", "mnv", "complex_substitution"],
+ "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"
+ ],
+ "max_distance_to_exon": null,
+ "sodar_uuid": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "AA change + splicing",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_types": ["snv", "indel", "mnv", "complex_substitution"],
+ "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"
+ ],
+ "max_distance_to_exon": null,
+ "sodar_uuid": "82d1d170-1cac-4d0b-a8b7-65989e022098",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "all coding + deep intronic",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_types": ["snv", "indel", "mnv", "complex_substitution"],
+ "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"
+ ],
+ "max_distance_to_exon": null,
+ "sodar_uuid": "451ed237-1839-42d2-96af-b86411efe3fd",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 5,
+ "label": "whole transcript",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetslocus_set": [
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [],
+ "sodar_uuid": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "whole genome",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "1",
+ "range": null
+ },
+ {
+ "chromosome": "2",
+ "range": null
+ },
+ {
+ "chromosome": "3",
+ "range": null
+ },
+ {
+ "chromosome": "4",
+ "range": null
+ },
+ {
+ "chromosome": "5",
+ "range": null
+ },
+ {
+ "chromosome": "6",
+ "range": null
+ },
+ {
+ "chromosome": "7",
+ "range": null
+ },
+ {
+ "chromosome": "8",
+ "range": null
+ },
+ {
+ "chromosome": "9",
+ "range": null
+ },
+ {
+ "chromosome": "10",
+ "range": null
+ },
+ {
+ "chromosome": "11",
+ "range": null
+ },
+ {
+ "chromosome": "12",
+ "range": null
+ },
+ {
+ "chromosome": "13",
+ "range": null
+ },
+ {
+ "chromosome": "14",
+ "range": null
+ },
+ {
+ "chromosome": "15",
+ "range": null
+ },
+ {
+ "chromosome": "16",
+ "range": null
+ },
+ {
+ "chromosome": "17",
+ "range": null
+ },
+ {
+ "chromosome": "18",
+ "range": null
+ },
+ {
+ "chromosome": "19",
+ "range": null
+ },
+ {
+ "chromosome": "20",
+ "range": null
+ },
+ {
+ "chromosome": "21",
+ "range": null
+ },
+ {
+ "chromosome": "22",
+ "range": null
+ },
+ {
+ "chromosome": "X",
+ "range": null
+ },
+ {
+ "chromosome": "Y",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "4a2a3e41-f835-4314-9263-3d6da014c5d4",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "nuclear chromosomes",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "1",
+ "range": null
+ },
+ {
+ "chromosome": "2",
+ "range": null
+ },
+ {
+ "chromosome": "3",
+ "range": null
+ },
+ {
+ "chromosome": "4",
+ "range": null
+ },
+ {
+ "chromosome": "5",
+ "range": null
+ },
+ {
+ "chromosome": "6",
+ "range": null
+ },
+ {
+ "chromosome": "7",
+ "range": null
+ },
+ {
+ "chromosome": "8",
+ "range": null
+ },
+ {
+ "chromosome": "9",
+ "range": null
+ },
+ {
+ "chromosome": "10",
+ "range": null
+ },
+ {
+ "chromosome": "11",
+ "range": null
+ },
+ {
+ "chromosome": "12",
+ "range": null
+ },
+ {
+ "chromosome": "13",
+ "range": null
+ },
+ {
+ "chromosome": "14",
+ "range": null
+ },
+ {
+ "chromosome": "15",
+ "range": null
+ },
+ {
+ "chromosome": "16",
+ "range": null
+ },
+ {
+ "chromosome": "17",
+ "range": null
+ },
+ {
+ "chromosome": "18",
+ "range": null
+ },
+ {
+ "chromosome": "19",
+ "range": null
+ },
+ {
+ "chromosome": "20",
+ "range": null
+ },
+ {
+ "chromosome": "21",
+ "range": null
+ },
+ {
+ "chromosome": "22",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "18873255-62c8-44c1-9834-7f9608f5fa74",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "autosomes",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "X",
+ "range": null
+ },
+ {
+ "chromosome": "Y",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "30c9e507-eab9-4480-b9e2-1d297a2f15f0",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "gonosomes",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "X",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "bf4302b2-4223-453b-a14a-79023047a452",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 5,
+ "label": "X chromosome",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "Y",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "0b1f331b-0c98-4e86-86cc-ac693f7a9c53",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 6,
+ "label": "Y chromosome",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "genes": [],
+ "gene_panels": [],
+ "genome_regions": [
+ {
+ "chromosome": "MT",
+ "range": null
+ }
+ ],
+ "sodar_uuid": "ae0b60fd-d113-4b9a-b5e8-04cfac78b489",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 7,
+ "label": "MT genome",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetsphenotypeprio_set": [
+ {
+ "phenotype_prio_enabled": false,
+ "phenotype_prio_algorithm": "exomiser.hiphive_human",
+ "terms": [],
+ "sodar_uuid": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "disabled",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetsvariantprio_set": [
+ {
+ "variant_prio_enabled": false,
+ "services": [],
+ "sodar_uuid": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "disabled",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_prio_enabled": false,
+ "services": [
+ {
+ "name": "cadd",
+ "version": "1.6"
+ }
+ ],
+ "sodar_uuid": "47290348-0b2a-43a0-bcd4-48ced6e3facf",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "CADD",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "variant_prio_enabled": false,
+ "services": [
+ {
+ "name": "mutationtaster",
+ "version": "2021"
+ }
+ ],
+ "sodar_uuid": "e2164371-3920-4108-8260-d2cc2842cc58",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "MutationTaster",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetsclinvar_set": [
+ {
+ "clinvar_presence_required": false,
+ "clinvar_germline_aggregate_description": [],
+ "allow_conflicting_interpretations": false,
+ "sodar_uuid": "9a949347-c0e2-4124-947d-605303bc1158",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "disabled",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "clinvar_presence_required": true,
+ "clinvar_germline_aggregate_description": [
+ "pathogenic",
+ "likely_pathogenic"
+ ],
+ "allow_conflicting_interpretations": false,
+ "sodar_uuid": "481ffa49-8b0f-441e-8e55-e385a5940e13",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "Clinvar P/LP",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "clinvar_presence_required": true,
+ "clinvar_germline_aggregate_description": [
+ "pathogenic",
+ "likely_pathogenic"
+ ],
+ "allow_conflicting_interpretations": true,
+ "sodar_uuid": "90401dcc-5b4f-4f2c-b1c4-1106fea2658c",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "Clinvar P/LP +conflicting",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ },
+ {
+ "clinvar_presence_required": true,
+ "clinvar_germline_aggregate_description": [
+ "pathogenic",
+ "likely_pathogenic",
+ "uncertain_significance"
+ ],
+ "allow_conflicting_interpretations": true,
+ "sodar_uuid": "5c66c458-1c8c-457b-a78f-5a8532f4bdb0",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "ClinVar P/LP/VUS +conflicting",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarsquerypresetscolumns_set": [
+ {
+ "column_settings": [],
+ "sodar_uuid": "394aa1da-d68a-4f2d-9cc2-5c505712caa6",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "defaults",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f"
+ }
+ ],
+ "seqvarspredefinedquery_set": [
+ {
+ "sodar_uuid": "ffb91fd8-0f2c-4bfc-b779-e1eb9b527636",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 1,
+ "label": "defaults",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "any"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "d82e3ed6-bcaf-4c20-b1d8-fbc7b6ad2d73",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "ad05a008-0c48-4695-82be-277b6ee870af",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 2,
+ "label": "de novo",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "de_novo"
+ },
+ "quality": "39850d17-0772-4aea-8a21-229039a40dfe",
+ "frequency": "d82e3ed6-bcaf-4c20-b1d8-fbc7b6ad2d73",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "2486d632-1f5b-4a1a-b954-7b1e9f82af07",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 3,
+ "label": "dominant",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "dominant"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "d82e3ed6-bcaf-4c20-b1d8-fbc7b6ad2d73",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "bc333ff0-a477-41d4-aeb9-07252defcb3a",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 4,
+ "label": "homozygous recessive",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "homozygous_recessive"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "74211244-a16c-4327-b88b-78bdd49a72b4",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "a64108e7-9ea0-4917-8161-afd8d5e6ece5",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 5,
+ "label": "compound heterozygous",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "compound_heterozygous_recessive"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "74211244-a16c-4327-b88b-78bdd49a72b4",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "1024b6d5-a533-4e83-abc9-d0834b2fd3fb",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 6,
+ "label": "recessive",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "recessive"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "74211244-a16c-4327-b88b-78bdd49a72b4",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "6f6c866b-01b9-49d2-930e-16c145a5027c",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 7,
+ "label": "X recessive",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "x_recessive"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "74211244-a16c-4327-b88b-78bdd49a72b4",
+ "consequence": "4860f7d0-d76e-4b6f-96bc-f77c12d465da",
+ "locus": "bf4302b2-4223-453b-a14a-79023047a452",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "86113d33-b030-491d-adab-5aaf461f1f40",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 8,
+ "label": "ClinVar pathogenic",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "affected_carriers"
+ },
+ "quality": "a24eb80d-b189-4370-8d90-437bfd4f6854",
+ "frequency": "fe56b1e5-74a0-4625-bbc3-6d973bb70669",
+ "consequence": "c41edca6-67b1-4551-974b-975360e09044",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "90401dcc-5b4f-4f2c-b1c4-1106fea2658c",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "dba947cb-3150-4e85-ada0-9b93a060af85",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 9,
+ "label": "mitochondrial",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "affected_carriers"
+ },
+ "quality": "19a56746-0241-45e4-9195-9d9d1ddccf2d",
+ "frequency": "d82e3ed6-bcaf-4c20-b1d8-fbc7b6ad2d73",
+ "consequence": "c41edca6-67b1-4551-974b-975360e09044",
+ "locus": "ae0b60fd-d113-4b9a-b5e8-04cfac78b489",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ },
+ {
+ "sodar_uuid": "0f8f7bdb-d4a7-463b-baa2-ac82d733291e",
+ "date_created": "2024-07-01T00:00:00Z",
+ "date_modified": "2024-07-01T00:00:00Z",
+ "rank": 10,
+ "label": "whole genome",
+ "description": null,
+ "presetssetversion": "612b6cd5-2d39-45ab-9ddd-2106dcae6e9f",
+ "included_in_sop": false,
+ "genotype": {
+ "choice": "any"
+ },
+ "quality": "a24eb80d-b189-4370-8d90-437bfd4f6854",
+ "frequency": "fe56b1e5-74a0-4625-bbc3-6d973bb70669",
+ "consequence": "c41edca6-67b1-4551-974b-975360e09044",
+ "locus": "f1702cde-1b93-4513-90bf-eb96f57bfe7b",
+ "phenotypeprio": "feb9a31c-af0a-46c8-bc93-5110cb477e85",
+ "variantprio": "f92d470b-d1d2-484c-9dc2-b5d1588d6282",
+ "clinvar": "9a949347-c0e2-4124-947d-605303bc1158",
+ "columns": "394aa1da-d68a-4f2d-9cc2-5c505712caa6"
+ }
+ ]
+}
diff --git a/frontend/src/seqvars/components/QueryEditorDrawer/QueryEditorDrawer.vue b/frontend/src/seqvars/components/QueryEditorDrawer/QueryEditorDrawer.vue
new file mode 100644
index 000000000..8b4ba67bc
--- /dev/null
+++ b/frontend/src/seqvars/components/QueryEditorDrawer/QueryEditorDrawer.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/seqvars/components/QueryList.vue b/frontend/src/seqvars/components/QueryList.vue
index 396b82896..444bd8bd9 100644
--- a/frontend/src/seqvars/components/QueryList.vue
+++ b/frontend/src/seqvars/components/QueryList.vue
@@ -12,19 +12,36 @@ import ItemButton from './ui/ItemButton.vue'
const selectedIndex = defineModel('selectedIndex', {
required: true,
})
-const { presetDetails, queries } = defineProps<{
- presetDetails: SeqvarsQueryPresetsSetVersionDetails
- queries: Query[]
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const props = withDefaults(
+ defineProps<{
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails
+ queries: Query[]
+ hintsEnabled?: boolean
+ }>(),
+ {
+ hintsEnabled: false,
+ },
+)
+
+/** This component's events. */
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const emit = defineEmits<{
+ /** Remove the given query. */
+ remove: [index: number]
+ /** Revert modifications. */
+ revert: []
}>()
-defineEmits<{ remove: [index: number]; revert: [] }>()
@@ -36,8 +53,8 @@ defineEmits<{ remove: [index: number]; revert: [] }>()
:modified="
!!query &&
!matchesPredefinedQuery(
- presetDetails,
- presetDetails.seqvarspredefinedquery_set.find(
+ presetsDetails,
+ presetsDetails.seqvarspredefinedquery_set.find(
(pq) => pq.sodar_uuid === query.predefinedquery,
)!,
query,
@@ -47,13 +64,13 @@ defineEmits<{ remove: [index: number]; revert: [] }>()
@revert="$emit('revert')"
>
- #{{ index + 1 }}
- {{ getQueryLabel({ presetDetails, queries, index }) }}
+
+ {{ getQueryLabel({ presetsDetails, queries, index }) }}
-
+
+
+
diff --git a/frontend/src/seqvars/components/SeqvarDetails/SeqvarDetails.vue b/frontend/src/seqvars/components/SeqvarDetails/SeqvarDetails.vue
new file mode 100644
index 000000000..bec2af378
--- /dev/null
+++ b/frontend/src/seqvars/components/SeqvarDetails/SeqvarDetails.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/seqvars/components/groups.ts b/frontend/src/seqvars/components/groups.ts
index 71e313c8c..05eed133c 100644
--- a/frontend/src/seqvars/components/groups.ts
+++ b/frontend/src/seqvars/components/groups.ts
@@ -62,9 +62,9 @@ export class FilterGroup<
return `seqvarsquerypresets${this.id}_set` as const
}
- matchesPreset(presetDetails: PresetDetails, query: Query): boolean {
- if (!isKeyOfObject(this.presetSetKey, presetDetails)) return false
- const preset = presetDetails[this.presetSetKey].find(
+ matchesPreset(presetsDetails: PresetDetails, query: Query): boolean {
+ if (!isKeyOfObject(this.presetSetKey, presetsDetails)) return false
+ const preset = presetsDetails[this.presetSetKey].find(
(p) =>
isKeyOfObject(this.queryPresetKey, query) &&
p.sodar_uuid === query[this.queryPresetKey],
@@ -197,23 +197,23 @@ export const createQualityFromPreset = (
})
export const matchesQualityPreset = (
- presetDetails: SeqvarsQueryPresetsSetVersionDetails,
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails,
query: Query,
) => {
- const preset = presetDetails.seqvarsquerypresetsquality_set.find(
+ const preset = presetsDetails.seqvarsquerypresetsquality_set.find(
(p) => p.sodar_uuid === query.qualitypresets,
)
return !!preset && isEqual(query.quality, createQualityFromPreset(preset))
}
export const matchesPredefinedQuery = (
- presetDetails: SeqvarsQueryPresetsSetVersionDetails,
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails,
pq: SeqvarsPredefinedQuery,
query: Query,
) =>
matchesGenotypePreset(pq.genotype?.choice, query) &&
GROUPS.every((group) =>
group.id == 'quality'
- ? matchesQualityPreset(presetDetails, query)
- : group.matchesPreset(presetDetails, query),
+ ? matchesQualityPreset(presetsDetails, query)
+ : group.matchesPreset(presetsDetails, query),
)
diff --git a/frontend/src/seqvars/components/ui/CollapsibleGroup.vue b/frontend/src/seqvars/components/ui/CollapsibleGroup.vue
index d5e73f43e..8c3a2008e 100644
--- a/frontend/src/seqvars/components/ui/CollapsibleGroup.vue
+++ b/frontend/src/seqvars/components/ui/CollapsibleGroup.vue
@@ -1,7 +1,17 @@
@@ -23,6 +33,9 @@ const isOpen = ref(true)
{{ props.title }}
+
+
+
{{ summary }}
diff --git a/frontend/src/seqvars/components/ui/HintButton.vue b/frontend/src/seqvars/components/ui/HintButton.vue
new file mode 100644
index 000000000..7ec5c2bbf
--- /dev/null
+++ b/frontend/src/seqvars/components/ui/HintButton.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/seqvars/components/ui/Item.vue b/frontend/src/seqvars/components/ui/Item.vue
index 87801c3ef..ea8b44812 100644
--- a/frontend/src/seqvars/components/ui/Item.vue
+++ b/frontend/src/seqvars/components/ui/Item.vue
@@ -1,12 +1,23 @@
@@ -15,15 +26,20 @@ const emit = defineEmits<{ revert: [] }>()
-
emit('revert')"
- >
+ >
+
+
diff --git a/frontend/src/seqvars/utils.ts b/frontend/src/seqvars/utils.ts
index 534cf1645..d4e6d7599 100644
--- a/frontend/src/seqvars/utils.ts
+++ b/frontend/src/seqvars/utils.ts
@@ -3,16 +3,16 @@ import { SeqvarsQueryPresetsSetVersionDetails } from '@varfish-org/varfish-api/l
import { Query } from '@/seqvars/types'
export function getQueryLabel({
- presetDetails,
+ presetsDetails,
queries,
index,
}: {
- presetDetails: SeqvarsQueryPresetsSetVersionDetails
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails
queries: Query[]
index: number
}) {
const query = queries.at(index)
- const presetLabel = presetDetails.seqvarspredefinedquery_set.find(
+ const presetLabel = presetsDetails.seqvarspredefinedquery_set.find(
(pq) => pq.sodar_uuid === query?.predefinedquery,
)?.label
const othersCount = queries
diff --git a/frontend/src/seqvars/views/PresetSets/PresetSets.vue b/frontend/src/seqvars/views/PresetSets/PresetSets.vue
index 2d8b7ca5d..4593c0c66 100644
--- a/frontend/src/seqvars/views/PresetSets/PresetSets.vue
+++ b/frontend/src/seqvars/views/PresetSets/PresetSets.vue
@@ -22,7 +22,7 @@ const projectStore = useProjectStore()
const seqvarsPresetsStore = useSeqvarsPresetsStore()
/** Whether to hide the navigation bar; component state. */
-const navbarHidden = ref(false)
+const navbarShown = ref(true)
/** Messages to display in VSnackbarQueue; component state. */
const messages = ref([])
@@ -55,26 +55,30 @@ watch(
-
-
+
+
- Back to Project
+ Back to Project
-
+
Project Overview
- Case List
+ Case List
- Quality Control
+ Quality Control
- Query Presets
+ Query Presets
- Query Presets (V2)
+ Query Presets (V2)
diff --git a/frontend/src/seqvars/views/SeqvarsFiltration.stories.ts b/frontend/src/seqvars/views/SeqvarsFiltration.stories.ts
index 948749cde..f56b88cbb 100644
--- a/frontend/src/seqvars/views/SeqvarsFiltration.stories.ts
+++ b/frontend/src/seqvars/views/SeqvarsFiltration.stories.ts
@@ -19,7 +19,7 @@ export const Example: Story = {
setup() {
return { fixture }
},
- template: '',
+ template: '',
}),
parameters: {
msw: {
diff --git a/frontend/src/seqvars/views/SeqvarsFiltration.vue b/frontend/src/seqvars/views/SeqvarsFiltration.vue
index 3726d49f7..8ebb700ea 100644
--- a/frontend/src/seqvars/views/SeqvarsFiltration.vue
+++ b/frontend/src/seqvars/views/SeqvarsFiltration.vue
@@ -29,8 +29,8 @@ import SidebarCollapseIcon from '@/seqvars/components/ui/SidebarCollapseIcon.vue
import SidebarExpandIcon from '@/seqvars/components/ui/SidebarExpandIcon.vue'
import { Query } from '@/seqvars/types'
-const { presetDetails } = defineProps<{
- presetDetails: SeqvarsQueryPresetsSetVersionDetails
+const { presetsDetails } = defineProps<{
+ presetsDetails: SeqvarsQueryPresetsSetVersionDetails
}>()
const queries = ref([])
@@ -53,7 +53,7 @@ const selectedQuery = computed({
})
const selectedPredefinedQuery = computed(() =>
- presetDetails.seqvarspredefinedquery_set.find(
+ presetsDetails.seqvarspredefinedquery_set.find(
(pq) => pq.sodar_uuid === selectedQuery.value?.predefinedquery,
),
)
@@ -64,7 +64,7 @@ const getGenotypeLabel = (key: SeqvarsGenotypePresetChoice) =>
const createQuery = (pq: SeqvarsPredefinedQuery): Query => {
const presetFields = Object.fromEntries(
GROUPS.flatMap((group) => {
- const preset = presetDetails[group.presetSetKey].find(
+ const preset = presetsDetails[group.presetSetKey].find(
(p) => p.sodar_uuid === pq[group.id],
)
return [
@@ -151,13 +151,13 @@ const setGenotypeToPreset = (choice: SeqvarsGenotypePresetChoice) => {
(selectedQueryIndex = index)"
@remove="(index) => queries.splice(index, 1)"
@revert="
() => {
- const pq = presetDetails.seqvarspredefinedquery_set.find(
+ const pq = presetsDetails.seqvarspredefinedquery_set.find(
(p) => p.sodar_uuid === selectedQuery?.predefinedquery,
)!
selectedQuery = createQuery(pq)
@@ -165,12 +165,12 @@ const setGenotypeToPreset = (choice: SeqvarsGenotypePresetChoice) => {
"
/>
{
- const pq = presetDetails.seqvarspredefinedquery_set.find(
+ const pq = presetsDetails.seqvarspredefinedquery_set.find(
(p) => p.sodar_uuid === id,
)!
selectedQuery = createQuery(pq)
@@ -227,7 +227,7 @@ const setGenotypeToPreset = (choice: SeqvarsGenotypePresetChoice) => {
:key="group.id"
:title="group.title"
:summary="
- presetDetails[group.presetSetKey].find(
+ presetsDetails[group.presetSetKey].find(
(p) => p.sodar_uuid === selectedQuery?.[group.queryPresetKey],
)?.label
"
@@ -238,7 +238,7 @@ const setGenotypeToPreset = (choice: SeqvarsGenotypePresetChoice) => {
style="width: 100%; display: flex; flex-direction: column"
>
- setToPreset(group, preset)"
@@ -278,7 +278,7 @@ const setGenotypeToPreset = (choice: SeqvarsGenotypePresetChoice) => {
(selectedGene = item)"
/>
diff --git a/frontend/src/seqvars/views/SeqvarsQuery/SeqvarsQuery.vue b/frontend/src/seqvars/views/SeqvarsQuery/SeqvarsQuery.vue
new file mode 100644
index 000000000..4e932cb5e
--- /dev/null
+++ b/frontend/src/seqvars/views/SeqvarsQuery/SeqvarsQuery.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+ Back to Case
+
+
+
+ Variant Analysis (V2)
+
+
+
+ Go To SV Filtration
+
+
+
+ Analysis Information
+
+
+
+
+ Query Editor
+
+
+
+
+
+
+
+
+ Hints
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec
+ purus nec nunc tincidunt ultricies. Nullam nec purus nec nunc tincidunt
+ ultricies. Nullam nec purus nec nunc tincidunt ultricies. Nullam nec
+ purus nec nunc tincidunt ultricies. Nullam nec purus nec nunc tincidunt
+ ultricies. Nullam nec purus nec nunc tincidunt ultricies. Nullam nec
+ purus nec nunc tincidunt ultricies. Nullam nec purus nec nunc tincidunt
+ ultricies. Nullam nec purus nec nunc
+
+
+
+
+
+
+
diff --git a/frontend/src/svs/views/StrucvarFilterLegacy/StrucvarFilterLegacy.vue b/frontend/src/svs/views/StrucvarFilterLegacy/StrucvarFilterLegacy.vue
index a0a9d0e40..a1da293d5 100644
--- a/frontend/src/svs/views/StrucvarFilterLegacy/StrucvarFilterLegacy.vue
+++ b/frontend/src/svs/views/StrucvarFilterLegacy/StrucvarFilterLegacy.vue
@@ -51,7 +51,7 @@ const toggleFiltrationComplexityMode = () => {
}
// Whether to hide the navigation bar; component state.
-const navbarHidden = ref(false)
+const navbarShown = ref(true)
const filterFormVisible = ref(true)
const logsVisible = ref(false)
@@ -60,8 +60,12 @@ const logsVisible = ref(false)
-
-
+
+
- Back to Case
+ Back to Case
-
+
SV Analysis
- Go To Variant Filtration
+ Go To Variant Filtration
-
+
Analysis Info
- Toggle Form
+ Toggle Form
- Toggle Complexity
+ Toggle Complexity
- Toggle Logs
+ Toggle Logs
(false)
+const navbarShown = ref(true)
const filterFormVisible = ref(true)
const logsVisible = ref(false)
@@ -136,8 +136,12 @@ onMounted(() => {
-
-
+
+
- Back to Case
+ Back to Case
-
+
Variant Analysis
- Go To SV Filtration
+ Go To SV Filtration
-
- Analysis Info
+
+ Analysis Info
- Toggle Form
+ Toggle Form
- Toggle Complexity
+ Toggle Complexity
- Toggle Logs
+ Toggle Logs
- Filter: Defaults
+ Filter: Defaults