mapper = (d) => {
let { cluster_counts, week, total_sequences } = d;
let myObject = {};
myObject.week = week;
let total_counted = Object.values(cluster_counts).reduce(
(previousValue, currentValue) => {
return previousValue + currentValue;
},
0
);
let counts = {};
counts.alpha = 0;
counts.beta = 0;
counts.gamma = 0;
counts.delta = 0;
counts.omicron = 0;
counts.other = total_sequences - total_counted;
Object.keys(cluster_counts).forEach((key) => {
switch (key) {
case "20I (Alpha, V1)":
counts.alpha += cluster_counts[key];
break;
case "20H (Beta, V2)":
counts.beta += cluster_counts[key];
break;
case "20J (Gamma, V3)":
counts.gamma += cluster_counts[key];
break;
case "21A (Delta)":
case "21I (Delta)":
case "21J (Delta)":
counts.delta += cluster_counts[key];
break;
case "21K (Omicron)":
counts.omicron += cluster_counts[key];
default:
counts.other += cluster_counts[key];
}
});
myObject.counts = counts;
return myObject;
}