@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
27 lines (26 loc) • 817 B
JavaScript
import { clusterObject, toNewick } from '@gmod/hclust';
import { checkStopToken2, createStopTokenChecker, } from '@jbrowse/core/util/stopToken';
import { getScoreMatrix } from "./getScoreMatrix.js";
export async function executeClusterScoreMatrix({ pluginManager, args, }) {
const stopTokenCheck = createStopTokenChecker(args.stopToken);
const matrix = await getScoreMatrix({
pluginManager,
args: {
...args,
stopTokenCheck,
},
});
const result = await clusterObject({
data: matrix,
onProgress: a => {
args.statusCallback?.(a);
},
checkCancellation: () => {
checkStopToken2(stopTokenCheck);
},
});
return {
order: result.order,
tree: toNewick(result.tree),
};
}