Skip to content

Commit 63372f3

Browse files
committed
Caching COI traversal fix
1 parent b5fb814 commit 63372f3

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

src/hiv_tx_network.js

+39-1
Original file line numberDiff line numberDiff line change
@@ -1023,8 +1023,27 @@ class HIVTxNetwork {
10231023
let edge_set;
10241024

10251025
if (edgesByNode) {
1026+
let node_list = [...core_node_set];
1027+
let node_set = new Set(node_list);
1028+
1029+
for (let i = 0; i < node_list.length; i++) {
1030+
let d = node_list[i];
1031+
if (d in this.json.Nodes) {
1032+
_.each([...edgesByNode[d]], (e) => {
1033+
if (!node_set.has(e.source)) {
1034+
node_list.push(e.source);
1035+
node_set.add(e.source);
1036+
}
1037+
if (!node_set.has(e.target)) {
1038+
node_list.push(e.target);
1039+
node_set.add(e.target);
1040+
}
1041+
});
1042+
}
1043+
}
1044+
10261045
const existing_nodes = _.map(
1027-
_.filter([...core_node_set], (d) => d in this.json.Nodes),
1046+
_.filter(node_list, (d) => d in this.json.Nodes),
10281047
(d) => edgesByNode[d]
10291048
);
10301049

@@ -1529,6 +1548,25 @@ class HIVTxNetwork {
15291548
pg.nodes.push(n);
15301549
});
15311550

1551+
if (inject_mspp_nodes.length) {
1552+
let desc = {};
1553+
1554+
_.each(inject_mspp_nodes, (n) => {
1555+
let k = this.primary_key({ id: n.name });
1556+
if (!(k in desc)) {
1557+
desc[k] = [];
1558+
}
1559+
desc[k].push(n);
1560+
pg.nodes.push(n);
1561+
});
1562+
1563+
pg.description +=
1564+
" Migrated to multiple sequences per person cluster; added the following sequences: " +
1565+
_.map(desc, (k, n) => {
1566+
return n + "(" + k.length + ")";
1567+
}).join(", ");
1568+
}
1569+
15321570
/** extract network data at 0.015 and subcluster thresholds
15331571
filter on dates subsequent to the created date
15341572
*/

0 commit comments

Comments
 (0)