@gmod/bbi 7.0.5 → 8.0.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.
Files changed (90) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +59 -0
  3. package/dist/bbi.d.ts +13 -3
  4. package/dist/bbi.js +81 -18
  5. package/dist/bbi.js.map +1 -1
  6. package/dist/bigbed.d.ts +14 -2
  7. package/dist/bigbed.js +127 -86
  8. package/dist/bigbed.js.map +1 -1
  9. package/dist/bigwig.js +1 -2
  10. package/dist/bigwig.js.map +1 -1
  11. package/dist/block-view.d.ts +13 -4
  12. package/dist/block-view.js +332 -150
  13. package/dist/block-view.js.map +1 -1
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/parse-bigwig.d.ts +3 -0
  18. package/dist/parse-bigwig.js +15 -0
  19. package/dist/parse-bigwig.js.map +1 -0
  20. package/dist/range.js +12 -24
  21. package/dist/range.js.map +1 -1
  22. package/dist/types.d.ts +14 -2
  23. package/dist/unzip.d.ts +18 -1
  24. package/dist/unzip.js +33 -4
  25. package/dist/unzip.js.map +1 -1
  26. package/dist/util.d.ts +2 -4
  27. package/dist/util.js +7 -5
  28. package/dist/util.js.map +1 -1
  29. package/dist/wasm/inflate-wasm-inlined.d.ts +19 -0
  30. package/dist/wasm/inflate-wasm-inlined.js +117 -0
  31. package/dist/wasm/inflate-wasm-inlined.js.map +1 -0
  32. package/dist/wasm/inflate_wasm.d.ts +1 -0
  33. package/dist/wasm/inflate_wasm.js +43 -0
  34. package/dist/wasm/inflate_wasm.js.map +1 -0
  35. package/dist/wasm/inflate_wasm_bg.d.ts +68 -0
  36. package/dist/wasm/inflate_wasm_bg.js +307 -0
  37. package/dist/wasm/inflate_wasm_bg.js.map +1 -0
  38. package/esm/bbi.d.ts +13 -3
  39. package/esm/bbi.js +81 -18
  40. package/esm/bbi.js.map +1 -1
  41. package/esm/bigbed.d.ts +14 -2
  42. package/esm/bigbed.js +127 -86
  43. package/esm/bigbed.js.map +1 -1
  44. package/esm/bigwig.js +1 -2
  45. package/esm/bigwig.js.map +1 -1
  46. package/esm/block-view.d.ts +13 -4
  47. package/esm/block-view.js +334 -152
  48. package/esm/block-view.js.map +1 -1
  49. package/esm/index.d.ts +2 -1
  50. package/esm/index.js +1 -0
  51. package/esm/index.js.map +1 -1
  52. package/esm/parse-bigwig.d.ts +3 -0
  53. package/esm/parse-bigwig.js +12 -0
  54. package/esm/parse-bigwig.js.map +1 -0
  55. package/esm/range.js +12 -24
  56. package/esm/range.js.map +1 -1
  57. package/esm/types.d.ts +14 -2
  58. package/esm/unzip.d.ts +18 -1
  59. package/esm/unzip.js +30 -3
  60. package/esm/unzip.js.map +1 -1
  61. package/esm/util.d.ts +2 -4
  62. package/esm/util.js +7 -5
  63. package/esm/util.js.map +1 -1
  64. package/esm/wasm/inflate-wasm-inlined.d.ts +19 -0
  65. package/esm/wasm/inflate-wasm-inlined.js +111 -0
  66. package/esm/wasm/inflate-wasm-inlined.js.map +1 -0
  67. package/esm/wasm/inflate_wasm.d.ts +1 -0
  68. package/esm/wasm/inflate_wasm.js +5 -0
  69. package/esm/wasm/inflate_wasm.js.map +1 -0
  70. package/esm/wasm/inflate_wasm_bg.d.ts +68 -0
  71. package/esm/wasm/inflate_wasm_bg.js +296 -0
  72. package/esm/wasm/inflate_wasm_bg.js.map +1 -0
  73. package/package.json +21 -17
  74. package/src/bbi.ts +101 -21
  75. package/src/bigbed.ts +165 -83
  76. package/src/bigwig.ts +1 -2
  77. package/src/block-view.ts +415 -158
  78. package/src/index.ts +8 -1
  79. package/src/parse-bigwig.ts +19 -0
  80. package/src/range.ts +13 -21
  81. package/src/types.ts +19 -2
  82. package/src/unzip.ts +88 -3
  83. package/src/util.ts +9 -10
  84. package/src/wasm/inflate-wasm-inlined.d.ts +49 -0
  85. package/src/wasm/inflate-wasm-inlined.js +1 -0
  86. package/src/wasm/inflate_wasm.d.ts +35 -0
  87. package/src/wasm/inflate_wasm.js +4 -0
  88. package/src/wasm/inflate_wasm_bg.js +309 -0
  89. package/src/wasm/inflate_wasm_bg.wasm +0 -0
  90. package/src/wasm/inflate_wasm_bg.wasm.d.ts +13 -0
package/src/index.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  import './bigint-polyfill/polyfill.ts'
2
2
  export { BigWig } from './bigwig.ts'
3
3
  export { BigBed } from './bigbed.ts'
4
- export type { BigWigHeader, Feature, RequestOptions } from './types.ts'
4
+ export { parseBigWig } from './parse-bigwig.ts'
5
+ export type {
6
+ BigWigFeatureArrays,
7
+ BigWigHeader,
8
+ Feature,
9
+ RequestOptions,
10
+ SummaryFeatureArrays,
11
+ } from './types.ts'
@@ -0,0 +1,19 @@
1
+ import type { BigWig } from './bigwig.ts'
2
+ import type { Feature, RequestOptions2 } from './types.ts'
3
+
4
+ export async function parseBigWig(
5
+ bigwig: BigWig,
6
+ opts?: RequestOptions2,
7
+ ): Promise<Feature[]> {
8
+ const header = await bigwig.getHeader(opts)
9
+ const allFeatures: Feature[] = []
10
+
11
+ for (const ref of Object.values(header.refsByNumber)) {
12
+ const features = await bigwig.getFeatures(ref.name, 0, ref.length, opts)
13
+ for (const feature of features) {
14
+ allFeatures.push(feature)
15
+ }
16
+ }
17
+
18
+ return allFeatures
19
+ }
package/src/range.ts CHANGED
@@ -15,7 +15,7 @@ export default class Range {
15
15
  }
16
16
 
17
17
  get min() {
18
- return this.ranges[0].min
18
+ return this.ranges[0]!.min
19
19
  }
20
20
 
21
21
  get max() {
@@ -36,7 +36,7 @@ export default class Range {
36
36
  }
37
37
 
38
38
  public getRanges() {
39
- return this.ranges.map(r => new Range([{ min: r.min, max: r.max }]))
39
+ return this.ranges.map(r => new Range([r]))
40
40
  }
41
41
 
42
42
  public toString(): string {
@@ -44,32 +44,24 @@ export default class Range {
44
44
  }
45
45
 
46
46
  public union(s1: Range) {
47
- const ranges = [...this.getRanges(), ...s1.getRanges()].sort((a, b) => {
48
- if (a.min < b.min) {
49
- return -1
50
- } else if (a.min > b.min) {
51
- return 1
52
- } else if (a.max < b.max) {
53
- return -1
54
- } else if (b.max > a.max) {
55
- return 1
56
- } else {
57
- return 0
58
- }
47
+ const allRanges = [...this.ranges, ...s1.ranges].sort((a, b) => {
48
+ return a.min !== b.min ? a.min - b.min : a.max - b.max
59
49
  })
60
- const oranges = [] as Range[]
61
- let current = ranges[0]
62
50
 
63
- for (const nxt of ranges) {
51
+ const merged: IRange[] = []
52
+ let current = allRanges[0]!
53
+
54
+ for (let i = 1; i < allRanges.length; i++) {
55
+ const nxt = allRanges[i]!
64
56
  if (nxt.min > current.max + 1) {
65
- oranges.push(current)
57
+ merged.push(current)
66
58
  current = nxt
67
59
  } else if (nxt.max > current.max) {
68
- current = new Range([{ min: current.min, max: nxt.max }])
60
+ current = { min: current.min, max: nxt.max }
69
61
  }
70
62
  }
71
- oranges.push(current)
63
+ merged.push(current)
72
64
 
73
- return oranges.length === 1 ? oranges[0] : new Range(oranges)
65
+ return new Range(merged)
74
66
  }
75
67
  }
package/src/types.ts CHANGED
@@ -7,7 +7,7 @@ export interface ZoomLevel {
7
7
 
8
8
  export interface Feature {
9
9
  offset?: number
10
- chromId: number
10
+ chromId?: number
11
11
  start: number
12
12
  end: number
13
13
  score?: number
@@ -46,7 +46,10 @@ export interface BigWigHeader {
46
46
  unzoomedDataOffset: number
47
47
  definedFieldCount: number
48
48
  uncompressBufSize: number
49
- chromTreeOffset: number
49
+ // Offset to the B+ tree that maps chromosome names to integer IDs.
50
+ // This is part of the "cirTree" (combined ID R-tree) - a structure that
51
+ // combines a B+ tree for chromosome names with an R-tree for spatial queries
52
+ chromosomeTreeOffset: number
50
53
  extHeaderOffset: number
51
54
  fileType: string
52
55
  }
@@ -64,3 +67,17 @@ export interface RequestOptions2 extends RequestOptions {
64
67
  scale?: number
65
68
  basesPerSpan?: number
66
69
  }
70
+
71
+ export interface BigWigFeatureArrays {
72
+ starts: Int32Array
73
+ ends: Int32Array
74
+ scores: Float32Array
75
+ }
76
+
77
+ export interface SummaryFeatureArrays {
78
+ starts: Int32Array
79
+ ends: Int32Array
80
+ scores: Float32Array
81
+ minScores: Float32Array
82
+ maxScores: Float32Array
83
+ }
package/src/unzip.ts CHANGED
@@ -1,5 +1,90 @@
1
- import { inflateRaw } from 'pako'
1
+ import {
2
+ decompressAndParseBigWig,
3
+ decompressAndParseSummary,
4
+ inflateRawBatch,
5
+ } from './wasm/inflate-wasm-inlined.js'
2
6
 
3
- export function unzip(input: Uint8Array) {
4
- return inflateRaw(input.subarray(2))
7
+ import type {
8
+ BigWigFeatureArrays,
9
+ SummaryFeatureArrays,
10
+ } from './wasm/inflate-wasm-inlined.js'
11
+
12
+
13
+
14
+ export interface UnzipBatchResult {
15
+ data: Uint8Array
16
+ offsets: number[]
17
+ }
18
+
19
+ export async function unzipBatch(
20
+ data: Uint8Array,
21
+ blocks: { offset: number; length: number }[],
22
+ maxOutputSize: number,
23
+ ): Promise<UnzipBatchResult> {
24
+ const inputOffsets = new Uint32Array(blocks.length)
25
+ const inputLengths = new Uint32Array(blocks.length)
26
+
27
+ for (let i = 0; i < blocks.length; i++) {
28
+ const block = blocks[i]!
29
+ inputOffsets[i] = block.offset
30
+ inputLengths[i] = block.length
31
+ }
32
+
33
+ return inflateRawBatch(data, inputOffsets, inputLengths, maxOutputSize)
34
+ }
35
+
36
+ export async function decompressAndParseBigWigBlocks(
37
+ data: Uint8Array,
38
+ blocks: { offset: number; length: number }[],
39
+ maxOutputSize: number,
40
+ reqStart: number,
41
+ reqEnd: number,
42
+ ): Promise<BigWigFeatureArrays> {
43
+ const inputOffsets = new Uint32Array(blocks.length)
44
+ const inputLengths = new Uint32Array(blocks.length)
45
+
46
+ for (let i = 0; i < blocks.length; i++) {
47
+ const block = blocks[i]!
48
+ inputOffsets[i] = block.offset
49
+ inputLengths[i] = block.length
50
+ }
51
+
52
+ return decompressAndParseBigWig(
53
+ data,
54
+ inputOffsets,
55
+ inputLengths,
56
+ maxOutputSize,
57
+ reqStart,
58
+ reqEnd,
59
+ )
60
+ }
61
+
62
+ export async function decompressAndParseSummaryBlocks(
63
+ data: Uint8Array,
64
+ blocks: { offset: number; length: number }[],
65
+ maxOutputSize: number,
66
+ reqChrId: number,
67
+ reqStart: number,
68
+ reqEnd: number,
69
+ ): Promise<SummaryFeatureArrays> {
70
+ const inputOffsets = new Uint32Array(blocks.length)
71
+ const inputLengths = new Uint32Array(blocks.length)
72
+
73
+ for (let i = 0; i < blocks.length; i++) {
74
+ const block = blocks[i]!
75
+ inputOffsets[i] = block.offset
76
+ inputLengths[i] = block.length
77
+ }
78
+
79
+ return decompressAndParseSummary(
80
+ data,
81
+ inputOffsets,
82
+ inputLengths,
83
+ maxOutputSize,
84
+ reqChrId,
85
+ reqStart,
86
+ reqEnd,
87
+ )
5
88
  }
89
+
90
+ export type { BigWigFeatureArrays, SummaryFeatureArrays } from './types.ts'
package/src/util.ts CHANGED
@@ -21,19 +21,18 @@ export function groupBlocks(blocks: Block[]) {
21
21
  let lastBlockEnd: number | undefined
22
22
  for (const block of blocks) {
23
23
  if (lastBlock && lastBlockEnd && block.offset - lastBlockEnd <= 2000) {
24
- lastBlock.length =
25
- lastBlock.length + block.length - lastBlockEnd + block.offset
24
+ lastBlock.length = block.offset + block.length - lastBlock.offset
26
25
  lastBlock.blocks.push(block)
26
+ lastBlockEnd = block.offset + block.length
27
27
  } else {
28
- blockGroups.push(
29
- (lastBlock = {
30
- blocks: [block],
31
- length: block.length,
32
- offset: block.offset,
33
- }),
34
- )
28
+ lastBlock = {
29
+ blocks: [block],
30
+ length: block.length,
31
+ offset: block.offset,
32
+ }
33
+ blockGroups.push(lastBlock)
34
+ lastBlockEnd = block.offset + block.length
35
35
  }
36
- lastBlockEnd = lastBlock.offset + lastBlock.length
37
36
  }
38
37
 
39
38
  return blockGroups
@@ -0,0 +1,49 @@
1
+ export function inflateRaw(
2
+ input: Uint8Array,
3
+ outputSize: number,
4
+ ): Promise<Uint8Array>
5
+ export function inflateRawUnknownSize(input: Uint8Array): Promise<Uint8Array>
6
+
7
+ export interface BatchResult {
8
+ data: Uint8Array
9
+ offsets: number[]
10
+ }
11
+ export function inflateRawBatch(
12
+ inputs: Uint8Array,
13
+ inputOffsets: Uint32Array,
14
+ inputLengths: Uint32Array,
15
+ maxOutputSize: number,
16
+ ): Promise<BatchResult>
17
+
18
+ export interface BigWigFeatureArrays {
19
+ starts: Int32Array
20
+ ends: Int32Array
21
+ scores: Float32Array
22
+ }
23
+
24
+ export interface SummaryFeatureArrays {
25
+ starts: Int32Array
26
+ ends: Int32Array
27
+ scores: Float32Array
28
+ minScores: Float32Array
29
+ maxScores: Float32Array
30
+ }
31
+
32
+ export function decompressAndParseBigWig(
33
+ inputs: Uint8Array,
34
+ inputOffsets: Uint32Array,
35
+ inputLengths: Uint32Array,
36
+ maxBlockSize: number,
37
+ reqStart: number,
38
+ reqEnd: number,
39
+ ): Promise<BigWigFeatureArrays>
40
+
41
+ export function decompressAndParseSummary(
42
+ inputs: Uint8Array,
43
+ inputOffsets: Uint32Array,
44
+ inputLengths: Uint32Array,
45
+ maxBlockSize: number,
46
+ reqChrId: number,
47
+ reqStart: number,
48
+ reqEnd: number,
49
+ ): Promise<SummaryFeatureArrays>
@@ -0,0 +1 @@
1
+ var A={d:(Q,I)=>{for(var g in I)A.o(I,g)&&!A.o(Q,g)&&Object.defineProperty(Q,g,{enumerable:!0,get:I[g]})},o:(A,Q)=>Object.prototype.hasOwnProperty.call(A,Q),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},Q={};let I;function g(A){I=A}function C(A,Q){return A>>>=0,o().subarray(A/1,A/1+Q)}A.r(Q),A.d(Q,{__wbg_Error_52673b7de5a0ca89:()=>K,__wbg_set_wasm:()=>g,decompress_and_parse_bigwig:()=>s,decompress_and_parse_summary:()=>Y,inflate_raw:()=>R,inflate_raw_batch:()=>c,inflate_raw_unknown_size:()=>U,parse_bigwig_block:()=>S,parse_summary_block:()=>L});let B=null;function E(){return(null===B||!0===B.buffer.detached||void 0===B.buffer.detached&&B.buffer!==I.memory.buffer)&&(B=new DataView(I.memory.buffer)),B}let D=null,i=null;function o(){return null!==i&&0!==i.byteLength||(i=new Uint8Array(I.memory.buffer)),i}let w=new Array(128).fill(void 0);w.push(void 0,null,!0,!1);let N=w.length;function G(A,Q){const g=Q(4*A.length,4)>>>0;return(null!==D&&0!==D.byteLength||(D=new Uint32Array(I.memory.buffer)),D).set(A,g/4),y=A.length,g}function F(A,Q){const I=Q(1*A.length,1)>>>0;return o().set(A,I/1),y=A.length,I}function h(A){const Q=function(A){return w[A]}(A);return function(A){A<132||(w[A]=N,N=A)}(A),Q}let k=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});k.decode();const J=2146435072;let a=0,y=0;function s(A,Q,g,B,D,i){try{const J=I.__wbindgen_add_to_stack_pointer(-16),a=F(A,I.__wbindgen_export),s=y,Y=G(Q,I.__wbindgen_export),R=y,c=G(g,I.__wbindgen_export),U=y;I.decompress_and_parse_bigwig(J,a,s,Y,R,c,U,B,D,i);var o=E().getInt32(J+0,!0),w=E().getInt32(J+4,!0),N=E().getInt32(J+8,!0);if(E().getInt32(J+12,!0))throw h(N);var k=C(o,w).slice();return I.__wbindgen_export2(o,1*w,1),k}finally{I.__wbindgen_add_to_stack_pointer(16)}}function Y(A,Q,g,B,D,i,o){try{const a=I.__wbindgen_add_to_stack_pointer(-16),s=F(A,I.__wbindgen_export),Y=y,R=G(Q,I.__wbindgen_export),c=y,U=G(g,I.__wbindgen_export),S=y;I.decompress_and_parse_summary(a,s,Y,R,c,U,S,B,D,i,o);var w=E().getInt32(a+0,!0),N=E().getInt32(a+4,!0),k=E().getInt32(a+8,!0);if(E().getInt32(a+12,!0))throw h(k);var J=C(w,N).slice();return I.__wbindgen_export2(w,1*N,1),J}finally{I.__wbindgen_add_to_stack_pointer(16)}}function R(A,Q){try{const o=I.__wbindgen_add_to_stack_pointer(-16),w=F(A,I.__wbindgen_export),N=y;I.inflate_raw(o,w,N,Q);var g=E().getInt32(o+0,!0),B=E().getInt32(o+4,!0),D=E().getInt32(o+8,!0);if(E().getInt32(o+12,!0))throw h(D);var i=C(g,B).slice();return I.__wbindgen_export2(g,1*B,1),i}finally{I.__wbindgen_add_to_stack_pointer(16)}}function c(A,Q,g,B){try{const N=I.__wbindgen_add_to_stack_pointer(-16),k=F(A,I.__wbindgen_export),J=y,a=G(Q,I.__wbindgen_export),s=y,Y=G(g,I.__wbindgen_export),R=y;I.inflate_raw_batch(N,k,J,a,s,Y,R,B);var D=E().getInt32(N+0,!0),i=E().getInt32(N+4,!0),o=E().getInt32(N+8,!0);if(E().getInt32(N+12,!0))throw h(o);var w=C(D,i).slice();return I.__wbindgen_export2(D,1*i,1),w}finally{I.__wbindgen_add_to_stack_pointer(16)}}function U(A){try{const i=I.__wbindgen_add_to_stack_pointer(-16),o=F(A,I.__wbindgen_export),w=y;I.inflate_raw_unknown_size(i,o,w);var Q=E().getInt32(i+0,!0),g=E().getInt32(i+4,!0),B=E().getInt32(i+8,!0);if(E().getInt32(i+12,!0))throw h(B);var D=C(Q,g).slice();return I.__wbindgen_export2(Q,1*g,1),D}finally{I.__wbindgen_add_to_stack_pointer(16)}}function S(A,Q,g){try{const o=I.__wbindgen_add_to_stack_pointer(-16),w=F(A,I.__wbindgen_export),N=y;I.parse_bigwig_block(o,w,N,Q,g);var B=E().getInt32(o+0,!0),D=E().getInt32(o+4,!0),i=C(B,D).slice();return I.__wbindgen_export2(B,1*D,1),i}finally{I.__wbindgen_add_to_stack_pointer(16)}}function L(A,Q,g,B){try{const w=I.__wbindgen_add_to_stack_pointer(-16),N=F(A,I.__wbindgen_export),G=y;I.parse_summary_block(w,N,G,Q,g,B);var D=E().getInt32(w+0,!0),i=E().getInt32(w+4,!0),o=C(D,i).slice();return I.__wbindgen_export2(D,1*i,1),o}finally{I.__wbindgen_add_to_stack_pointer(16)}}function K(A,Q){return function(A){N===w.length&&w.push(w.length+1);const Q=N;return N=w[Q],w[Q]=A,Q}(Error((I=A,function(A,Q){return a+=Q,a>=J&&(k=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),k.decode(),a=Q),k.decode(o().subarray(A,A+Q))}(I>>>=0,Q))));var I}let M=null,q=null;async function t(){return M||(q||(q=(async()=>{const A=await fetch("data:application/wasm;base64,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bGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAC9ob21lL2NkaWVzaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA2L3NyYy9jb252ZXJ0L3NsaWNlcy5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAL2hvbWUvY2RpZXNoLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvd2FzbS1iaW5kZ2VuLTAuMi4xMDYvc3JjL2V4dGVybnJlZi5ycwAvaG9tZS9jZGllc2gvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3RjL2VkNjFlN2Q3ZTI0MjQ5NGZiNzA1N2YyNjU3MzAwZDllNzdiYjRmY2IvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTAvc3JjL2RsbWFsbG9jLnJzAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5ycwAvaG9tZS9jZGllc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjAvc3JjL2xpYi5ycwAAAABqAhAACgAAAAkAAAAWAAAAZGVjb21wcmVzc2lvbiBmYWlsZWQ6IAAAiAIQABYAAABqAhAACgAAAGsAAAAZAAAAagIQAAoAAABrAAAAJwAAAGoCEAAKAAAAawAAADkAAABqAhAACgAAAGsAAABLAAAAagIQAAoAAABfAAAAGQAAAGoCEAAKAAAAXwAAACcAAABqAhAACgAAAF8AAAA5AAAAagIQAAoAAABfAAAASwAAAGoCEAAKAAAAYwAAABkAAABqAhAACgAAAGMAAAAnAAAAagIQAAoAAABjAAAAOQAAAGoCEAAKAAAAYwAAAEsAAABqAhAACgAAADwAAAAWAAAAagIQAAoAAAA/AAAA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"),I=await A.arrayBuffer(),{instance:C}=await WebAssembly.instantiate(I,{"./inflate_wasm_bg.js":Q});return M=C.exports,g(M),M})()),q)}async function n(A,Q){return await t(),R(A,Q)}async function H(A){return await t(),U(A)}async function e(A,Q,I,g){await t();const C=c(A,Q,I,g),B=new DataView(C.buffer,C.byteOffset,C.byteLength),E=B.getUint32(0,!0),D=4+4*(E+1),i=new Array(E+1);for(let A=0;A<=E;A++)i[A]=B.getUint32(4+4*A,!0);return{data:C.subarray(D),offsets:i}}async function d(A,Q,I,g,C,B){return await t(),function(A){const Q=new DataView(A.buffer,A.byteOffset,A.byteLength).getUint32(0,!0);if(0===Q)return{starts:new Int32Array(0),ends:new Int32Array(0),scores:new Float32Array(0)};const I=4+4*Q,g=I+4*Q;return{starts:new Int32Array(A.buffer,A.byteOffset+4,Q),ends:new Int32Array(A.buffer,A.byteOffset+I,Q),scores:new Float32Array(A.buffer,A.byteOffset+g,Q)}}(s(A,Q,I,g,C,B))}async function r(A,Q,I,g,C,B,E){return await t(),function(A){const Q=new DataView(A.buffer,A.byteOffset,A.byteLength).getUint32(0,!0);if(0===Q)return{starts:new Int32Array(0),ends:new Int32Array(0),scores:new Float32Array(0),minScores:new Float32Array(0),maxScores:new Float32Array(0)};const I=4+4*Q,g=I+4*Q,C=g+4*Q,B=C+4*Q;return{starts:new Int32Array(A.buffer,A.byteOffset+4,Q),ends:new Int32Array(A.buffer,A.byteOffset+I,Q),scores:new Float32Array(A.buffer,A.byteOffset+g,Q),minScores:new Float32Array(A.buffer,A.byteOffset+C,Q),maxScores:new Float32Array(A.buffer,A.byteOffset+B,Q)}}(Y(A,Q,I,g,C,B,E))}export{d as decompressAndParseBigWig,r as decompressAndParseSummary,n as inflateRaw,e as inflateRawBatch,H as inflateRawUnknownSize};
@@ -0,0 +1,35 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * Combined decompress + parse for BigWig blocks
6
+ * Returns same format as parse_bigwig_block but handles multiple compressed blocks
7
+ */
8
+ export function decompress_and_parse_bigwig(inputs: Uint8Array, input_offsets: Uint32Array, input_lengths: Uint32Array, max_block_size: number, req_start: number, req_end: number): Uint8Array;
9
+
10
+ /**
11
+ * Combined decompress + parse for summary blocks
12
+ */
13
+ export function decompress_and_parse_summary(inputs: Uint8Array, input_offsets: Uint32Array, input_lengths: Uint32Array, max_block_size: number, req_chr_id: number, req_start: number, req_end: number): Uint8Array;
14
+
15
+ export function inflate_raw(input: Uint8Array, output_size: number): Uint8Array;
16
+
17
+ export function inflate_raw_batch(inputs: Uint8Array, input_offsets: Uint32Array, input_lengths: Uint32Array, max_block_size: number): Uint8Array;
18
+
19
+ export function inflate_raw_unknown_size(input: Uint8Array): Uint8Array;
20
+
21
+ /**
22
+ * Parse a BigWig data block and return packed typed arrays
23
+ * Block types: 1 = bedGraph, 2 = varstep, 3 = fixedstep
24
+ *
25
+ * Returns packed binary: [count: u32][starts: i32*count][ends: i32*count][scores: f32*count]
26
+ */
27
+ export function parse_bigwig_block(data: Uint8Array, req_start: number, req_end: number): Uint8Array;
28
+
29
+ /**
30
+ * Parse a BigWig summary block and return packed typed arrays
31
+ * Summary blocks contain: chromId, start, end, validCnt, minScore, maxScore, sumData, sumSqData
32
+ *
33
+ * Returns: [count: u32][starts: i32*n][ends: i32*n][scores: f32*n][minScores: f32*n][maxScores: f32*n]
34
+ */
35
+ export function parse_summary_block(data: Uint8Array, req_chr_id: number, req_start: number, req_end: number): Uint8Array;
@@ -0,0 +1,4 @@
1
+ import * as wasm from "./inflate_wasm_bg.wasm";
2
+ export * from "./inflate_wasm_bg.js";
3
+ import { __wbg_set_wasm } from "./inflate_wasm_bg.js";
4
+ __wbg_set_wasm(wasm);