Skip to content

Commit 7cadc1b

Browse files
committed
More stringent check for joint sort.
1 parent a80548f commit 7cadc1b

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/helpers/jointSort.js

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { max } from "d3";
22

3-
function sortFASTAAndNewick(sequence_data, tree) {
3+
function sortFASTAAndNewick(sequence_data, tree, strict) {
44
var i = 0;
55
tree.traverse_and_compute(function(n) {
66
var d = 1;
@@ -26,6 +26,20 @@ function sortFASTAAndNewick(sequence_data, tree) {
2626
b_index = ordered_leaf_names.indexOf(b.header);
2727
return a_index - b_index;
2828
});
29+
if (strict) {
30+
const number_of_leaves = ordered_leaf_names.length,
31+
lengths_agree = number_of_leaves == sequence_data.length;
32+
if (!lengths_agree) {
33+
throw "Different number of leaves and sequences!";
34+
}
35+
sequence_data.forEach((record, index) => {
36+
const leaf = ordered_leaf_names[index],
37+
header = record.header;
38+
if (leaf != header) {
39+
throw `Tree/alignment mismatch at ${i}: ${leaf}/${header}.`;
40+
}
41+
});
42+
}
2943
return tree;
3044
}
3145

0 commit comments

Comments
 (0)