@jbrowse/plugin-wiggle 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BigWigAdapter/BigWigAdapter.d.ts +0 -1
- package/dist/BigWigAdapter/BigWigAdapter.js +0 -1
- package/dist/LinearWiggleDisplay/model.d.ts +1 -1
- package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +2 -2
- package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialog.d.ts → WiggleClusterDialog/WiggleClusterDialog.d.ts} +2 -2
- package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialog.js → WiggleClusterDialog/WiggleClusterDialog.js} +7 -7
- package/{esm/MultiLinearWiggleDisplay/components/ClusterDialog/ClusterDialogAuto.d.ts → dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts} +2 -2
- package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogAuto.js → WiggleClusterDialog/WiggleClusterDialogAuto.js} +8 -5
- package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogAuto.d.ts → WiggleClusterDialog/WiggleClusterDialogManual.d.ts} +3 -3
- package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogManual.js → WiggleClusterDialog/WiggleClusterDialogManual.js} +32 -42
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +2 -2
- package/dist/MultiLinearWiggleDisplay/components/util.d.ts +3 -2
- package/dist/MultiLinearWiggleDisplay/model.d.ts +3 -1
- package/dist/MultiLinearWiggleDisplay/model.js +14 -2
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +0 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
- package/dist/WiggleBaseRenderer.d.ts +4 -4
- package/dist/WiggleBaseRenderer.js +1 -1
- package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.js +2 -5
- package/dist/drawDensity.js +12 -4
- package/dist/drawLine.js +4 -2
- package/dist/drawXY.js +7 -3
- package/dist/shared/SharedWiggleMixin.d.ts +1 -1
- package/esm/BigWigAdapter/BigWigAdapter.d.ts +0 -1
- package/esm/BigWigAdapter/BigWigAdapter.js +0 -1
- package/esm/LinearWiggleDisplay/model.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +2 -2
- package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialog.d.ts → WiggleClusterDialog/WiggleClusterDialog.d.ts} +2 -2
- package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialog.js → WiggleClusterDialog/WiggleClusterDialog.js} +7 -7
- package/{dist/MultiLinearWiggleDisplay/components/ClusterDialog/ClusterDialogManual.d.ts → esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts} +3 -3
- package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogAuto.js → WiggleClusterDialog/WiggleClusterDialogAuto.js} +8 -5
- package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogManual.d.ts → WiggleClusterDialog/WiggleClusterDialogManual.d.ts} +2 -2
- package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog/ClusterDialogManual.js → WiggleClusterDialog/WiggleClusterDialogManual.js} +33 -43
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +2 -2
- package/esm/MultiLinearWiggleDisplay/components/util.d.ts +3 -2
- package/esm/MultiLinearWiggleDisplay/model.d.ts +3 -1
- package/esm/MultiLinearWiggleDisplay/model.js +14 -2
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +0 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
- package/esm/WiggleBaseRenderer.d.ts +4 -4
- package/esm/WiggleBaseRenderer.js +1 -1
- package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.js +2 -5
- package/esm/drawDensity.js +12 -4
- package/esm/drawLine.js +4 -2
- package/esm/drawXY.js +7 -3
- package/esm/shared/SharedWiggleMixin.d.ts +1 -1
- package/package.json +10 -10
- package/dist/WiggleRPC/cluster.d.ts +0 -17
- package/dist/WiggleRPC/cluster.js +0 -84
- package/esm/WiggleRPC/cluster.d.ts +0 -17
- package/esm/WiggleRPC/cluster.js +0 -79
- /package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.d.ts +0 -0
- /package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.js +0 -0
- /package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.d.ts +0 -0
- /package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.js +0 -0
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare function euclideanDistance(a: number[], b: number[]): number;
|
|
2
|
-
export declare function averageDistance(setA: number[], setB: number[], distances: number[][]): number;
|
|
3
|
-
export declare function clusterData({ data, distance, linkage, onProgress, stopToken, }: {
|
|
4
|
-
data: number[][];
|
|
5
|
-
distance?: (a: number[], b: number[]) => number;
|
|
6
|
-
linkage?: (a: number[], b: number[], distances: number[][]) => number;
|
|
7
|
-
onProgress?: (a: number) => void;
|
|
8
|
-
stopToken?: string;
|
|
9
|
-
}): {
|
|
10
|
-
clusters: {
|
|
11
|
-
height: number;
|
|
12
|
-
indexes: number[];
|
|
13
|
-
} | undefined;
|
|
14
|
-
distances: number[][];
|
|
15
|
-
order: number[];
|
|
16
|
-
clustersGivenK: number[][][];
|
|
17
|
-
};
|
package/esm/WiggleRPC/cluster.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { checkStopToken } from '@jbrowse/core/util/stopToken';
|
|
2
|
-
export function euclideanDistance(a, b) {
|
|
3
|
-
const size = Math.min(a.length, b.length);
|
|
4
|
-
let sum = 0;
|
|
5
|
-
for (let index = 0; index < size; index++) {
|
|
6
|
-
sum += (a[index] - b[index]) * (a[index] - b[index]);
|
|
7
|
-
}
|
|
8
|
-
return Math.sqrt(sum);
|
|
9
|
-
}
|
|
10
|
-
export function averageDistance(setA, setB, distances) {
|
|
11
|
-
let distance = 0;
|
|
12
|
-
for (const a of setA) {
|
|
13
|
-
for (const b of setB) {
|
|
14
|
-
distance += distances[a][b];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return distance / setA.length / setB.length;
|
|
18
|
-
}
|
|
19
|
-
function updateProgress(stepNumber, stepProgress, onProgress) {
|
|
20
|
-
onProgress(stepNumber / 2 + stepProgress / 2);
|
|
21
|
-
}
|
|
22
|
-
export function clusterData({ data, distance = euclideanDistance, linkage = averageDistance, onProgress, stopToken, }) {
|
|
23
|
-
const distances = data.map((datum, index) => {
|
|
24
|
-
if (onProgress) {
|
|
25
|
-
updateProgress(0, index / (data.length - 1), onProgress);
|
|
26
|
-
}
|
|
27
|
-
return data.map(otherDatum => distance(datum, otherDatum));
|
|
28
|
-
});
|
|
29
|
-
const clusters = data.map((_datum, index) => ({
|
|
30
|
-
height: 0,
|
|
31
|
-
indexes: [Number(index)],
|
|
32
|
-
}));
|
|
33
|
-
let clustersGivenK = [];
|
|
34
|
-
let start = performance.now();
|
|
35
|
-
for (let iteration = 0; iteration < data.length; iteration++) {
|
|
36
|
-
if (performance.now() - start > 2000) {
|
|
37
|
-
checkStopToken(stopToken);
|
|
38
|
-
start = performance.now();
|
|
39
|
-
}
|
|
40
|
-
if (onProgress) {
|
|
41
|
-
updateProgress(1, (iteration + 1) / data.length, onProgress);
|
|
42
|
-
}
|
|
43
|
-
clustersGivenK.push(clusters.map(cluster => cluster.indexes));
|
|
44
|
-
if (iteration >= data.length - 1) {
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
let nearestDistance = Infinity;
|
|
48
|
-
let nearestRow = 0;
|
|
49
|
-
let nearestCol = 0;
|
|
50
|
-
for (let row = 0; row < clusters.length; row++) {
|
|
51
|
-
for (let col = row + 1; col < clusters.length; col++) {
|
|
52
|
-
const distance = linkage(clusters[row].indexes, clusters[col].indexes, distances);
|
|
53
|
-
if (distance < nearestDistance) {
|
|
54
|
-
nearestDistance = distance;
|
|
55
|
-
nearestRow = row;
|
|
56
|
-
nearestCol = col;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const newCluster = {
|
|
61
|
-
indexes: [
|
|
62
|
-
...clusters[nearestRow].indexes,
|
|
63
|
-
...clusters[nearestCol].indexes,
|
|
64
|
-
],
|
|
65
|
-
height: nearestDistance,
|
|
66
|
-
children: [clusters[nearestRow], clusters[nearestCol]],
|
|
67
|
-
};
|
|
68
|
-
clusters.splice(Math.max(nearestRow, nearestCol), 1);
|
|
69
|
-
clusters.splice(Math.min(nearestRow, nearestCol), 1);
|
|
70
|
-
clusters.push(newCluster);
|
|
71
|
-
}
|
|
72
|
-
clustersGivenK = [[], ...clustersGivenK.reverse()];
|
|
73
|
-
return {
|
|
74
|
-
clusters: clusters[0],
|
|
75
|
-
distances: distances,
|
|
76
|
-
order: clusters[0].indexes,
|
|
77
|
-
clustersGivenK: clustersGivenK,
|
|
78
|
-
};
|
|
79
|
-
}
|
/package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.d.ts
RENAMED
|
File without changes
|
/package/dist/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.js
RENAMED
|
File without changes
|
/package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.d.ts
RENAMED
|
File without changes
|
/package/esm/MultiLinearWiggleDisplay/components/{ClusterDialog → WiggleClusterDialog}/types.js
RENAMED
|
File without changes
|