Skip to content

Commit 24dbe45

Browse files
Merge pull request #628 from bcgsc/develop
Merge dev to hot fix release
2 parents dd01402 + 6caf0ac commit 24dbe45

File tree

4 files changed

+11
-19
lines changed

4 files changed

+11
-19
lines changed

app/utils/kbMatchStatementsGeneValueGetter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const kbMStatementGeneValueGetter = (params) => {
2828
geneName.push(kbMatch?.variant?.gene2.name);
2929
}
3030
}
31-
return geneName.join(', ');
31+
return [...new Set(geneName)].join(', ');
3232
}
3333
const [kbMatch] = kbMatchesNonNull;
3434
// msi and tmb doesn't have gene field

app/utils/kbMatchStatementsKnownVarValueGetter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const kbMatchStatementsKnownVarValueGetter = (params) => {
77
}
88
return accumulator;
99
}, []);
10-
return kbVariants.join(', ');
10+
return [...new Set(kbVariants)].join(', ');
1111
}
1212
return null;
1313
};

app/utils/kbMatchStatementsObsVarValueGetter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const kbMatchStatementsObsVarValueGetter = (params) => {
3333
break;
3434
}
3535
}
36-
return variantArr.join(', ');
36+
return [...new Set(variantArr)].join(', ');
3737
}
3838
return null;
3939
};

app/views/ReportView/components/KbMatches/coalesce.ts

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,20 +53,7 @@ function getBucketKey(entry: KbMatchedStatementType, delimiter = '||') {
5353
const variantName = getVariantName(kbMatch?.variant, kbMatch?.variantType);
5454
const { relevance, disease } = entry;
5555
const commonSuffix = `${context}${delimiter}${variantName}${delimiter}${relevance}${delimiter}${disease}`;
56-
if (kbMatch?.variantType === 'sv') {
57-
const {
58-
variant: { gene1: { name: gene1Name }, gene2: { name: gene2Name } },
59-
} = kbMatch as KbMatchType<'sv'>;
60-
bucketKey += `${gene1Name || '?'}${delimiter}${gene2Name || '?'}${delimiter}${commonSuffix}`;
61-
} else if (kbMatch?.variantType === 'msi' || kbMatch?.variantType === 'tmb') {
62-
const { kbCategory } = kbMatch.variant as KbMatchType<'tmb' | 'msi'>['variant'];
63-
bucketKey += `${kbCategory}${delimiter}${commonSuffix}`;
64-
} else {
65-
const {
66-
variant: { gene: { name: geneName } },
67-
} = kbMatch as KbMatchType<'cnv' | 'exp' | 'mut'>;
68-
bucketKey += `${geneName}${delimiter}${commonSuffix}`;
69-
}
56+
bucketKey += commonSuffix;
7057
}
7158
return bucketKey;
7259
}
@@ -78,7 +65,6 @@ function getBucketKey(entry: KbMatchedStatementType, delimiter = '||') {
7865
const commonSuffix = `${context}${delimiter}${variantName}${delimiter}${relevance}${delimiter}${disease}`;
7966
return commonSuffix;
8067
}
81-
8268
return null;
8369
}
8470

@@ -114,7 +100,13 @@ const coalesceEntries = <T extends KbMatchedStatementType[]>(entries: T): Coales
114100
} else {
115101
Object.entries(entry).forEach(([key, value]) => {
116102
if (Array.isArray(buckets[bucketKey][key])) {
117-
if (!buckets[bucketKey][key].includes(value)) {
103+
if (key === 'kbMatches' && Array.isArray(value)) {
104+
const kbMatchesIdents = buckets[bucketKey][key].map((kbM) => kbM.ident).join();
105+
const coalescedKbMatchesIdents = value.map((kbM) => kbM.ident).join();
106+
if (kbMatchesIdents !== coalescedKbMatchesIdents) {
107+
buckets[bucketKey][key] = buckets[bucketKey][key].concat(value);
108+
}
109+
} else if (!buckets[bucketKey][key].includes(value)) {
118110
buckets[bucketKey][key].push(value);
119111
}
120112
} else if (typeof buckets[bucketKey][key] !== 'object' && buckets[bucketKey][key] !== value) {

0 commit comments

Comments
 (0)