Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Drop PP5 and BP6 criteria (#289) #319

Merged
merged 6 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions backend/app/schemas/acmgseqvar.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class Criteria(str, Enum):
PP2 = "PP2"
PP3 = "PP3"
PP4 = "PP4"
PP5 = "PP5"
BA1 = "BA1"
BS1 = "BS1"
BS2 = "BS2"
Expand All @@ -48,7 +47,6 @@ class Criteria(str, Enum):
BP3 = "BP3"
BP4 = "BP4"
BP5 = "BP5"
BP6 = "BP6"
BP7 = "BP7"


Expand Down
4 changes: 2 additions & 2 deletions frontend/src/assets/__tests__/ExampleAcmgSeqVarRank.json
Git LFS file not shown
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ describe.concurrent('AcmgRating', async () => {
const summarySheet = wrapper.findComponent(SummarySheet)
expect(summarySheet.exists()).toBe(true)
const switchers = wrapper.findAllComponents({ name: 'CriterionSwitch' })
expect(switchers.length).toBe(56)
expect(switchers.length).toBe(52)

// click show failed button
const btnShowFailed = wrapper.findAll('.show-failed')
Expand Down
16 changes: 8 additions & 8 deletions frontend/src/lib/__tests__/acmgSeqVar.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,19 @@ describe.concurrent('MultiSourceAcmgCriteriaState', () => {
expect(AcmgCriteriaState.criteriaStates).toHaveProperty(StateSource.User)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.Default]
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.Default]).length).toEqual(28)
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.Default]).length).toEqual(26)
expect(AcmgCriteriaState.criteriaStates[StateSource.Default]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.InterVar]
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.InterVar]).length).toEqual(28)
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.InterVar]).length).toEqual(26)
expect(AcmgCriteriaState.criteriaStates[StateSource.InterVar]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.Server]
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.Server]).length).toEqual(28)
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.Server]).length).toEqual(26)
expect(AcmgCriteriaState.criteriaStates[StateSource.Server]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.User]
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.User]).length).toEqual(28)
expect(Object.keys(AcmgCriteriaState.criteriaStates[StateSource.User]).length).toEqual(26)
expect(AcmgCriteriaState.criteriaStates[StateSource.User]).toHaveProperty(AcmgCriteria.PVS1)
})

Expand Down Expand Up @@ -319,19 +319,19 @@ describe.concurrent('MultiSourceAcmgCriteriaState', () => {
expect(criteriaStates).toHaveProperty(StateSource.User)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.Default]
expect(Object.keys(criteriaStates[StateSource.Default]).length).toEqual(28)
expect(Object.keys(criteriaStates[StateSource.Default]).length).toEqual(26)
expect(criteriaStates[StateSource.Default]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.InterVar]
expect(Object.keys(criteriaStates[StateSource.InterVar]).length).toEqual(28)
expect(Object.keys(criteriaStates[StateSource.InterVar]).length).toEqual(26)
expect(criteriaStates[StateSource.InterVar]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.Server]
expect(Object.keys(criteriaStates[StateSource.Server]).length).toEqual(28)
expect(Object.keys(criteriaStates[StateSource.Server]).length).toEqual(26)
expect(criteriaStates[StateSource.Server]).toHaveProperty(AcmgCriteria.PVS1)

// Check keys of AcmgCriteriaState.criteriaStates[StateSource.User]
expect(Object.keys(criteriaStates[StateSource.User]).length).toEqual(28)
expect(Object.keys(criteriaStates[StateSource.User]).length).toEqual(26)
expect(criteriaStates[StateSource.User]).toHaveProperty(AcmgCriteria.PVS1)
})

Expand Down
31 changes: 0 additions & 31 deletions frontend/src/lib/acmgSeqVar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ enum AcmgCriteria {
PP2 = 'PP2',
PP3 = 'PP3',
PP4 = 'PP4',
PP5 = 'PP5',
BA1 = 'BA1',
BS1 = 'BS1',
BS2 = 'BS2',
Expand All @@ -53,7 +52,6 @@ enum AcmgCriteria {
BP3 = 'BP3',
BP4 = 'BP4',
BP5 = 'BP5',
BP6 = 'BP6',
BP7 = 'BP7'
}

Expand All @@ -74,7 +72,6 @@ const ALL_ACMG_CRITERIA = [
AcmgCriteria.PP2,
AcmgCriteria.PP3,
AcmgCriteria.PP4,
AcmgCriteria.PP5,
AcmgCriteria.BA1,
AcmgCriteria.BS1,
AcmgCriteria.BS2,
Expand All @@ -85,7 +82,6 @@ const ALL_ACMG_CRITERIA = [
AcmgCriteria.BP3,
AcmgCriteria.BP4,
AcmgCriteria.BP5,
AcmgCriteria.BP6,
AcmgCriteria.BP7
]

Expand Down Expand Up @@ -224,15 +220,6 @@ const ACMG_CRITERIA_DEFS: Map<AcmgCriteria, CriteriaDefinition> = new Map(
description: `Patient's phenotype or family history is highly specific for a disease with a single
genetic etiology.`
},
{
criteria: AcmgCriteria.PP5,
defaultEvidenceLevel: AcmgEvidenceLevel.PathogenicSupporting,
label: 'PP5',
hint: 'reliable source: pathogenic',
description: `Reputable source recently reports variant as pathogenic, but the evidence is not available
to the laboratoryto perform an independent evaluation. Note: Not recommended to use anymore,
use PS3 and PS4 at different levels of evidence.`
},
{
criteria: AcmgCriteria.BA1,
defaultEvidenceLevel: AcmgEvidenceLevel.BenignStandalone,
Expand Down Expand Up @@ -309,14 +296,6 @@ const ACMG_CRITERIA_DEFS: Map<AcmgCriteria, CriteriaDefinition> = new Map(
hint: 'different gene in other case',
description: 'Variant found in a case with an alternate molecular basis for disease'
},
{
criteria: AcmgCriteria.BP6,
defaultEvidenceLevel: AcmgEvidenceLevel.BenignSupporting,
label: 'BP6',
hint: 'reputable source: benign',
description:
'Reputable source recently reports variant as benign, but the evidence is not available to the laboratory to perform an independent evaluation'
},
{
criteria: AcmgCriteria.BP7,
defaultEvidenceLevel: AcmgEvidenceLevel.BenignSupporting,
Expand Down Expand Up @@ -470,11 +449,6 @@ class MultiSourceAcmgCriteriaState {
presence: Presence.Unknown,
evidenceLevel: isDefault ? AcmgEvidenceLevel.PathogenicSupporting : AcmgEvidenceLevel.NotSet
},
PP5: {
criteria: AcmgCriteria.PP5,
presence: Presence.Unknown,
evidenceLevel: isDefault ? AcmgEvidenceLevel.PathogenicSupporting : AcmgEvidenceLevel.NotSet
},
BA1: {
criteria: AcmgCriteria.BA1,
presence: Presence.Unknown,
Expand Down Expand Up @@ -525,11 +499,6 @@ class MultiSourceAcmgCriteriaState {
presence: Presence.Unknown,
evidenceLevel: isDefault ? AcmgEvidenceLevel.BenignSupporting : AcmgEvidenceLevel.NotSet
},
BP6: {
criteria: AcmgCriteria.BP6,
presence: Presence.Unknown,
evidenceLevel: isDefault ? AcmgEvidenceLevel.BenignSupporting : AcmgEvidenceLevel.NotSet
},
BP7: {
criteria: AcmgCriteria.BP7,
presence: Presence.Unknown,
Expand Down
2 changes: 0 additions & 2 deletions frontend/src/stores/__tests__/variantAcmgRating.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ const ExampleInterVarResponse = {
pp2: false,
pp3: false,
pp4: false,
pp5: false,
ba1: false,
bs1: false,
bs2: false,
Expand All @@ -48,7 +47,6 @@ const ExampleInterVarResponse = {
bp3: false,
bp4: false,
bp5: false,
bp6: false,
bp7: false
}

Expand Down
5 changes: 4 additions & 1 deletion frontend/src/stores/seqVarAcmgRating.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ export const useSeqVarAcmgRatingStore = defineStore('seqVarAcmgRating', () => {
const acmgRatingInterVarData = await response.json()
// Go through the data and setPresense for each criteria
for (const [criteriaId, value] of Object.entries(acmgRatingInterVarData)) {
// Skip pp5 and bp6 criteria as they are not used anymore
if (criteriaId === 'pp5' || criteriaId === 'bp6') {
continue
}
const criteriaIdKey = criteriaId.toUpperCase() as keyof typeof AcmgCriteria
if (value === true) {
acmgRating.value.setPresence(
Expand Down Expand Up @@ -142,7 +146,6 @@ export const useSeqVarAcmgRatingStore = defineStore('seqVarAcmgRating', () => {
const acmgRatingBackend = await acmgSeqVarClient.fetchAcmgRating(
seqvar$.chrom + ':' + seqvar$.pos + ':' + seqvar$.del + ':' + seqvar$.ins
)
console.log(acmgRatingBackend)
if (acmgRatingBackend.acmg_rank?.criterias) {
acmgRatingStatus.value = true
// Go through the data and setPresense for each criteria
Expand Down
18 changes: 0 additions & 18 deletions frontend/src/views/ACMGCriteriaDocs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,6 @@ const mainBackgroundColor = computed(() => {
</p>
<p>Hint: Phenotype/pedigree match gene</p>
</li>
<li>
<h3>PP5 - Reputable source reports variant as pathogenic</h3>
<p>
Description: Reputable source recently reports variant as pathogenic, but the
evidence is not available to the laboratory to perform an independent evaluation.
Note: Not recommended to use anymore, use PS3 and PS4 at different levels of
evidence.
</p>
<p>Hint: Reliable source: pathogenic</p>
</li>
</ul>
</div>

Expand Down Expand Up @@ -241,14 +231,6 @@ const mainBackgroundColor = computed(() => {
</p>
<p>Hint: Different gene in other case</p>
</li>
<li>
<h3>BP6 - Reputable source reports variant as benign</h3>
<p>
Description: Reputable source recently reports variant as benign, but the evidence
is not available to the laboratory to perform an independent evaluation
</p>
<p>Hint: Reputable source: benign</p>
</li>
<li>
<h3>BP7 - Synonymous variant with no splicing impact</h3>
<p>
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/__tests__/ACMGCriteriaDoc.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ describe.concurrent('ACMGCriteriaDocs', async () => {
expect(mainContent.exists()).toBe(true)
expect(mainContent.html()).toMatch('PVS1')
expect(mainContent.html()).toMatch('Benign Criteria')
expect(mainContent.html()).toMatch('BP6')
expect(mainContent.html()).toMatch('BP1')
})
})
Loading