@jbrowse/plugin-alignments 2.4.0 → 2.4.2
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/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +4 -4
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +88 -126
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +6 -0
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +44 -0
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -0
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +6 -0
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js +37 -0
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js.map +1 -0
- package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
- package/dist/AlignmentsFeatureDetail/util.d.ts +8 -0
- package/dist/AlignmentsFeatureDetail/util.js +27 -0
- package/dist/AlignmentsFeatureDetail/util.js.map +1 -0
- package/dist/BamAdapter/BamAdapter.js +2 -2
- package/dist/BamAdapter/BamAdapter.js.map +1 -1
- package/dist/BamAdapter/BamSlightlyLazyFeature.js +2 -2
- package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
- package/dist/CramAdapter/CramAdapter.js +2 -2
- package/dist/CramAdapter/CramAdapter.js.map +1 -1
- package/dist/CramAdapter/CramSlightlyLazyFeature.js +2 -2
- package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
- package/dist/CramAdapter/util.js +10 -10
- package/dist/CramAdapter/util.js.map +1 -1
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +4 -4
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
- package/dist/LinearAlignmentsDisplay/models/model.d.ts +2 -4
- package/dist/LinearAlignmentsDisplay/models/model.js +3 -4
- package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
- package/dist/LinearPileupDisplay/index.d.ts +2 -3
- package/dist/LinearPileupDisplay/index.js +4 -2
- package/dist/LinearPileupDisplay/index.js.map +1 -1
- package/dist/LinearPileupDisplay/model.d.ts +30 -31
- package/dist/LinearPileupDisplay/model.js +4 -4
- package/dist/LinearPileupDisplay/model.js.map +1 -1
- package/dist/LinearReadArcsDisplay/model.d.ts +13 -21
- package/dist/LinearReadCloudDisplay/model.d.ts +13 -21
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +22 -24
- package/dist/MismatchParser/index.js +6 -8
- package/dist/MismatchParser/index.js.map +1 -1
- package/dist/PileupRPC/rpcMethods.d.ts +3 -4
- package/dist/PileupRPC/rpcMethods.js +6 -6
- package/dist/PileupRPC/rpcMethods.js.map +1 -1
- package/dist/PileupRenderer/PileupRenderer.d.ts +5 -3
- package/dist/PileupRenderer/PileupRenderer.js +29 -33
- package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
- package/dist/PileupRenderer/components/PileupRendering.js +2 -2
- package/dist/PileupRenderer/components/PileupRendering.js.map +1 -1
- package/dist/PileupRenderer/configSchema.js +1 -1
- package/dist/PileupRenderer/configSchema.js.map +1 -1
- package/dist/PileupRenderer/sortUtil.js +5 -4
- package/dist/PileupRenderer/sortUtil.js.map +1 -1
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +10 -7
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +4 -4
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +88 -126
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +6 -0
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +38 -0
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -0
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +6 -0
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js +31 -0
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js.map +1 -0
- package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
- package/esm/AlignmentsFeatureDetail/util.d.ts +8 -0
- package/esm/AlignmentsFeatureDetail/util.js +22 -0
- package/esm/AlignmentsFeatureDetail/util.js.map +1 -0
- package/esm/BamAdapter/BamAdapter.js +2 -2
- package/esm/BamAdapter/BamAdapter.js.map +1 -1
- package/esm/BamAdapter/BamSlightlyLazyFeature.js +2 -2
- package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
- package/esm/CramAdapter/CramAdapter.js +2 -2
- package/esm/CramAdapter/CramAdapter.js.map +1 -1
- package/esm/CramAdapter/CramSlightlyLazyFeature.js +2 -2
- package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
- package/esm/CramAdapter/util.js +10 -10
- package/esm/CramAdapter/util.js.map +1 -1
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +4 -4
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
- package/esm/LinearAlignmentsDisplay/models/model.d.ts +2 -4
- package/esm/LinearAlignmentsDisplay/models/model.js +3 -4
- package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
- package/esm/LinearPileupDisplay/index.d.ts +2 -3
- package/esm/LinearPileupDisplay/index.js +2 -1
- package/esm/LinearPileupDisplay/index.js.map +1 -1
- package/esm/LinearPileupDisplay/model.d.ts +30 -31
- package/esm/LinearPileupDisplay/model.js +4 -4
- package/esm/LinearPileupDisplay/model.js.map +1 -1
- package/esm/LinearReadArcsDisplay/model.d.ts +13 -21
- package/esm/LinearReadCloudDisplay/model.d.ts +13 -21
- package/esm/LinearSNPCoverageDisplay/models/model.d.ts +22 -24
- package/esm/MismatchParser/index.js +6 -8
- package/esm/MismatchParser/index.js.map +1 -1
- package/esm/PileupRPC/rpcMethods.d.ts +3 -4
- package/esm/PileupRPC/rpcMethods.js +3 -4
- package/esm/PileupRPC/rpcMethods.js.map +1 -1
- package/esm/PileupRenderer/PileupRenderer.d.ts +5 -3
- package/esm/PileupRenderer/PileupRenderer.js +29 -33
- package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
- package/esm/PileupRenderer/components/PileupRendering.js +2 -2
- package/esm/PileupRenderer/components/PileupRendering.js.map +1 -1
- package/esm/PileupRenderer/configSchema.js +1 -1
- package/esm/PileupRenderer/configSchema.js.map +1 -1
- package/esm/PileupRenderer/sortUtil.js +5 -4
- package/esm/PileupRenderer/sortUtil.js.map +1 -1
- package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +10 -7
- package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
- package/esm/index.d.ts +3 -5
- package/esm/index.js +3 -3
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +109 -183
- package/src/AlignmentsFeatureDetail/AlignmentsFeatureFlags.tsx +62 -0
- package/src/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.tsx +51 -0
- package/src/AlignmentsFeatureDetail/__snapshots__/index.test.tsx.snap +3 -2
- package/src/AlignmentsFeatureDetail/index.test.tsx +1 -1
- package/src/AlignmentsFeatureDetail/util.ts +27 -0
- package/src/BamAdapter/BamAdapter.ts +2 -2
- package/src/BamAdapter/BamSlightlyLazyFeature.ts +2 -2
- package/src/CramAdapter/CramAdapter.ts +2 -2
- package/src/CramAdapter/CramSlightlyLazyFeature.ts +2 -2
- package/src/CramAdapter/util.ts +10 -10
- package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +4 -4
- package/src/LinearAlignmentsDisplay/models/configSchema.test.ts +1 -1
- package/src/LinearAlignmentsDisplay/models/model.tsx +4 -5
- package/src/LinearPileupDisplay/index.ts +2 -4
- package/src/LinearPileupDisplay/model.ts +4 -4
- package/src/LinearSNPCoverageDisplay/models/configSchema.test.ts +1 -1
- package/src/MismatchParser/index.ts +5 -7
- package/src/PileupRPC/rpcMethods.ts +3 -9
- package/src/PileupRenderer/PileupRenderer.ts +46 -61
- package/src/PileupRenderer/components/PileupRendering.tsx +2 -2
- package/src/PileupRenderer/configSchema.ts +1 -1
- package/src/PileupRenderer/sortUtil.ts +5 -4
- package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +14 -13
- package/src/index.ts +5 -10
- package/dist/NestedFrequencyTable.d.ts +0 -14
- package/dist/NestedFrequencyTable.js +0 -104
- package/dist/NestedFrequencyTable.js.map +0 -1
- package/esm/NestedFrequencyTable.d.ts +0 -14
- package/esm/NestedFrequencyTable.js +0 -101
- package/esm/NestedFrequencyTable.js.map +0 -1
- package/src/NestedFrequencyTable.ts +0 -121
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
// see perf results on object.keys vs for-in loop
|
|
3
|
-
// https://jsperf.com/object-keys-vs-hasownproperty/55
|
|
4
|
-
export default class NestedFrequencyTable {
|
|
5
|
-
public categories: { [key: string]: any }
|
|
6
|
-
|
|
7
|
-
constructor(initialData = {}) {
|
|
8
|
-
this.categories = { ...initialData }
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// get the sum of all the category counts
|
|
12
|
-
total() {
|
|
13
|
-
// calculate total if necessary
|
|
14
|
-
let t = 0
|
|
15
|
-
|
|
16
|
-
for (const k in this.categories) {
|
|
17
|
-
const v = this.categories[k]
|
|
18
|
-
t += v.total ? v.total() : v
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return t
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// decrement the count for the given category
|
|
25
|
-
decrement(slotName: string, amount: number) {
|
|
26
|
-
if (!amount) {
|
|
27
|
-
amount = 1
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (!slotName) {
|
|
31
|
-
slotName = 'default'
|
|
32
|
-
} else {
|
|
33
|
-
slotName = slotName.toString()
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (this.categories[slotName]) {
|
|
37
|
-
this.categories[slotName] = Math.max(
|
|
38
|
-
0,
|
|
39
|
-
this.categories[slotName] - amount,
|
|
40
|
-
)
|
|
41
|
-
return this.categories[slotName]
|
|
42
|
-
}
|
|
43
|
-
return 0
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// increment the count for the given category
|
|
47
|
-
increment(slotName: string, amount: number) {
|
|
48
|
-
if (!amount) {
|
|
49
|
-
amount = 1
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!slotName) {
|
|
53
|
-
slotName = 'default'
|
|
54
|
-
} else {
|
|
55
|
-
slotName = slotName.toString()
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
this.categories[slotName] = (this.categories[slotName] || 0) + amount
|
|
59
|
-
return this.categories[slotName]
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// get the value of the given category. may be a number or a
|
|
63
|
-
// frequency table.
|
|
64
|
-
get(slotName: string) {
|
|
65
|
-
return this.categories[slotName] || 0
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// get a given category as a frequency table
|
|
69
|
-
getNested(path: string | string[]) {
|
|
70
|
-
if (typeof path === 'string') {
|
|
71
|
-
path = path.split('/')
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (!path.length) {
|
|
75
|
-
return this
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const slotName = path[0].toString()
|
|
79
|
-
let slot = this.categories[slotName]
|
|
80
|
-
if (!slot || !slot.categories) {
|
|
81
|
-
this.categories[slotName] = new NestedFrequencyTable(
|
|
82
|
-
slot ? { default: slot + 0 } : {},
|
|
83
|
-
)
|
|
84
|
-
}
|
|
85
|
-
slot = this.categories[slotName]
|
|
86
|
-
|
|
87
|
-
if (path.length > 1) {
|
|
88
|
-
return slot.getNested(path.slice(1))
|
|
89
|
-
}
|
|
90
|
-
return slot
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
toString() {
|
|
94
|
-
return this.total()
|
|
95
|
-
.toPrecision(6)
|
|
96
|
-
.toString()
|
|
97
|
-
.replace(/\.?0+$/, '')
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
valueOf() {
|
|
101
|
-
return this.total()
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// iterate through the categories and counts, call like:
|
|
105
|
-
//
|
|
106
|
-
// tbl.forEach( function( count, categoryName ) {
|
|
107
|
-
// // do something
|
|
108
|
-
// }, this );
|
|
109
|
-
//
|
|
110
|
-
forEach(func: Function, ctx: any) {
|
|
111
|
-
if (ctx) {
|
|
112
|
-
for (const slotName in this.categories) {
|
|
113
|
-
func.call(ctx, this.categories[slotName], slotName)
|
|
114
|
-
}
|
|
115
|
-
} else {
|
|
116
|
-
for (const slotName in this.categories) {
|
|
117
|
-
func(this.categories[slotName], slotName)
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|