From 7f5013b54069f91f63edd76174ee08be4c15ebef Mon Sep 17 00:00:00 2001 From: ivan-aksamentov Date: Wed, 15 Jul 2020 10:22:15 +0200 Subject: [PATCH] feat: subtract thresholds when calculating QC scores --- packages/web/src/algorithms/QC/ruleMissingData.ts | 2 +- packages/web/src/algorithms/QC/ruleMixedSites.ts | 2 +- packages/web/src/algorithms/QC/ruleSnpClusters.ts | 2 +- packages/web/src/algorithms/QC/ruleTotalMutations.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/web/src/algorithms/QC/ruleMissingData.ts b/packages/web/src/algorithms/QC/ruleMissingData.ts index 1d8e54c66..10badd190 100644 --- a/packages/web/src/algorithms/QC/ruleMissingData.ts +++ b/packages/web/src/algorithms/QC/ruleMissingData.ts @@ -17,7 +17,7 @@ export function ruleMissingData( let scoreRaw = 0 if (totalMissing > missingDataThreshold) { - scoreRaw = totalMissing * scoreWeight - scoreBias + scoreRaw = (totalMissing - missingDataThreshold) * scoreWeight - scoreBias } const score = clamp(scoreRaw, 0, scoreMax) diff --git a/packages/web/src/algorithms/QC/ruleMixedSites.ts b/packages/web/src/algorithms/QC/ruleMixedSites.ts index f70a29d86..61aec71c9 100644 --- a/packages/web/src/algorithms/QC/ruleMixedSites.ts +++ b/packages/web/src/algorithms/QC/ruleMixedSites.ts @@ -21,7 +21,7 @@ export function ruleMixedSites( let scoreRaw = 0 if (totalMixedSites > mixedSitesThreshold) { - scoreRaw = totalMixedSites * scoreWeight - scoreBias + scoreRaw = (totalMixedSites - mixedSitesThreshold) * scoreWeight - scoreBias } const score = clamp(scoreRaw, 0, scoreMax) diff --git a/packages/web/src/algorithms/QC/ruleSnpClusters.ts b/packages/web/src/algorithms/QC/ruleSnpClusters.ts index d935173c2..479a05ab8 100644 --- a/packages/web/src/algorithms/QC/ruleSnpClusters.ts +++ b/packages/web/src/algorithms/QC/ruleSnpClusters.ts @@ -76,7 +76,7 @@ export function ruleSnpClusters(data: QCInputData, config: QCRulesConfigSNPClust let scoreRaw = 0 if (totalSNPs > totalSNPsThreshold) { - scoreRaw = totalSNPs * scoreWeight - scoreBias + scoreRaw = (totalSNPs - totalSNPsThreshold) * scoreWeight - scoreBias } const score = clamp(scoreRaw, 0, scoreMax) diff --git a/packages/web/src/algorithms/QC/ruleTotalMutations.ts b/packages/web/src/algorithms/QC/ruleTotalMutations.ts index 860415953..6c97b5f72 100644 --- a/packages/web/src/algorithms/QC/ruleTotalMutations.ts +++ b/packages/web/src/algorithms/QC/ruleTotalMutations.ts @@ -17,8 +17,8 @@ export function ruleTotalMutations( Object.keys(substitutions).length + Object.keys(insertions).length + Object.keys(deletions).length let scoreRaw = 0 - if (totalNumberOfMutations) { - scoreRaw = totalNumberOfMutations * scoreWeight - scoreBias + if (totalNumberOfMutations > divergenceThreshold) { + scoreRaw = (totalNumberOfMutations - divergenceThreshold) * scoreWeight - scoreBias } const score = clamp(scoreRaw, 0, scoreMax)