From 594f8a8b9401021616e434cbac68d6fea2a696fa Mon Sep 17 00:00:00 2001
From: Manuel Holtgrewe
Date: Fri, 22 Dec 2023 15:33:37 +0100
Subject: [PATCH 1/2] feat: deprecation warning for PP3_strong + PM1_strong
(#324)
---
.../components/SeqvarDetails/ClinsigCard.vue | 19 ++++++++++++++++++-
frontend/src/lib/acmgSeqVar.ts | 2 ++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/SeqvarDetails/ClinsigCard.vue b/frontend/src/components/SeqvarDetails/ClinsigCard.vue
index cb2f53d1..519f3ed6 100644
--- a/frontend/src/components/SeqvarDetails/ClinsigCard.vue
+++ b/frontend/src/components/SeqvarDetails/ClinsigCard.vue
@@ -17,6 +17,7 @@ import {
ACMG_EVIDENCE_LEVELS_PATHOGENIC,
ALL_ACMG_CRITERIA,
AcmgCriteria,
+ AcmgEvidenceLevel,
Presence
} from '@/lib/acmgSeqVar'
import { type Seqvar } from '@/lib/genomicVars'
@@ -100,7 +101,9 @@ enum Conflict {
/** PVS1 vs. PM4. */
Pvs1Pm4 = 'pvs1_pm4',
/** PVS1 vs. PP3. */
- Pvs1Pp3 = 'pvs1_pp3'
+ Pvs1Pp3 = 'pvs1_pp3',
+ /** PP3_strong vs. PM1_strong. */
+ Pp3StrongPm1Strong = 'pp3_strong_pm1_strong'
}
/** Currently detected conflicts. */
@@ -124,6 +127,17 @@ const currentConflicts = computed(() => {
) {
result.push(Conflict.Pvs1Pp3)
}
+ // Check for combination of PP3_strong and PM1_strong which is discouraged by Pejaver et al. (2022).
+ if (
+ acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PP3).presence === Presence.Present &&
+ acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PP3).evidenceLevel ===
+ AcmgEvidenceLevel.Strong &&
+ acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PM1).presence === Presence.Present &&
+ acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PM1).evidenceLevel ===
+ AcmgEvidenceLevel.Strong
+ ) {
+ result.push(Conflict.Pp3StrongPm1Strong)
+ }
return result
})
@@ -287,6 +301,9 @@ onMounted(async () => {
PVS1 and PP3 cannot be applied at the same time.
+
+ PP3_strong and PM1_strong should not be applied at the same time.
+
diff --git a/frontend/src/lib/acmgSeqVar.ts b/frontend/src/lib/acmgSeqVar.ts
index ddda8c35..d4708457 100644
--- a/frontend/src/lib/acmgSeqVar.ts
+++ b/frontend/src/lib/acmgSeqVar.ts
@@ -6,6 +6,7 @@ export enum AcmgEvidenceLevel {
PathogenicSupporting = 'Pathogenic Supporting',
BenignStandalone = 'Benign Standalone',
BenignStrong = 'Benign Strong',
+ BenignModerate = 'Benign Moderate',
BenignSupporting = 'Benign Supporting',
NotSet = 'Not Set'
}
@@ -21,6 +22,7 @@ export const ACMG_EVIDENCE_LEVELS_PATHOGENIC = [
/** Array of benign evidence levels. */
export const ACMG_EVIDENCE_LEVELS_BENIGN = [
AcmgEvidenceLevel.BenignStandalone,
+ AcmgEvidenceLevel.BenignModerate,
AcmgEvidenceLevel.BenignStrong,
AcmgEvidenceLevel.BenignSupporting
]
From db0acbdd8a14270a391e467b9da3c27b689c48a6 Mon Sep 17 00:00:00 2001
From: Manuel Holtgrewe
Date: Fri, 22 Dec 2023 15:38:42 +0100
Subject: [PATCH 2/2] wip
---
frontend/src/components/CaseInformationCard.vue | 2 +-
frontend/src/components/SeqvarDetails/ClinsigCard.vue | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/frontend/src/components/CaseInformationCard.vue b/frontend/src/components/CaseInformationCard.vue
index ba3b98c6..4b37e026 100644
--- a/frontend/src/components/CaseInformationCard.vue
+++ b/frontend/src/components/CaseInformationCard.vue
@@ -146,7 +146,7 @@ watch(
disease genes ranked by their CADA score. Also, you will see the rank in the details
section of each gene.
-
+
As you are not logged in, we will store the case information in the local browser
storage.
diff --git a/frontend/src/components/SeqvarDetails/ClinsigCard.vue b/frontend/src/components/SeqvarDetails/ClinsigCard.vue
index 519f3ed6..0eb1db90 100644
--- a/frontend/src/components/SeqvarDetails/ClinsigCard.vue
+++ b/frontend/src/components/SeqvarDetails/ClinsigCard.vue
@@ -131,10 +131,10 @@ const currentConflicts = computed(() => {
if (
acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PP3).presence === Presence.Present &&
acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PP3).evidenceLevel ===
- AcmgEvidenceLevel.Strong &&
+ AcmgEvidenceLevel.PathogenicStrong &&
acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PM1).presence === Presence.Present &&
acmgRatingStore.acmgRating.getCriteriaState(AcmgCriteria.PM1).evidenceLevel ===
- AcmgEvidenceLevel.Strong
+ AcmgEvidenceLevel.PathogenicStrong
) {
result.push(Conflict.Pp3StrongPm1Strong)
}