@gmod/bam 5.0.4 → 5.0.6

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 (82) hide show
  1. package/CHANGELOG.md +4 -8
  2. package/dist/bai.d.ts +17 -16
  3. package/dist/bai.js +67 -16
  4. package/dist/bai.js.map +1 -1
  5. package/dist/bamFile.d.ts +3 -8
  6. package/dist/bamFile.js +7 -31
  7. package/dist/bamFile.js.map +1 -1
  8. package/dist/chunk.d.ts +4 -4
  9. package/dist/chunk.js.map +1 -1
  10. package/dist/csi.d.ts +9 -9
  11. package/dist/csi.js +52 -45
  12. package/dist/csi.js.map +1 -1
  13. package/dist/htsget.d.ts +1 -1
  14. package/dist/htsget.js +2 -2
  15. package/dist/htsget.js.map +1 -1
  16. package/dist/indexFile.d.ts +2 -2
  17. package/dist/indexFile.js +1 -1
  18. package/dist/indexFile.js.map +1 -1
  19. package/dist/long.d.ts +3 -0
  20. package/dist/long.js +18 -0
  21. package/dist/long.js.map +1 -0
  22. package/dist/nullFilehandle.d.ts +6 -0
  23. package/dist/nullFilehandle.js +18 -0
  24. package/dist/nullFilehandle.js.map +1 -0
  25. package/dist/record.js +2 -3
  26. package/dist/record.js.map +1 -1
  27. package/dist/util.d.ts +3 -2
  28. package/dist/util.js +11 -3
  29. package/dist/util.js.map +1 -1
  30. package/dist/virtualOffset.d.ts +7 -2
  31. package/dist/virtualOffset.js +2 -14
  32. package/dist/virtualOffset.js.map +1 -1
  33. package/esm/bai.d.ts +17 -16
  34. package/esm/bai.js +67 -16
  35. package/esm/bai.js.map +1 -1
  36. package/esm/bamFile.d.ts +3 -8
  37. package/esm/bamFile.js +6 -30
  38. package/esm/bamFile.js.map +1 -1
  39. package/esm/chunk.d.ts +4 -4
  40. package/esm/chunk.js.map +1 -1
  41. package/esm/csi.d.ts +9 -9
  42. package/esm/csi.js +51 -11
  43. package/esm/csi.js.map +1 -1
  44. package/esm/htsget.d.ts +1 -1
  45. package/esm/htsget.js +2 -2
  46. package/esm/htsget.js.map +1 -1
  47. package/esm/indexFile.d.ts +2 -2
  48. package/esm/indexFile.js +1 -1
  49. package/esm/indexFile.js.map +1 -1
  50. package/esm/long.d.ts +3 -0
  51. package/esm/long.js +14 -0
  52. package/esm/long.js.map +1 -0
  53. package/esm/nullFilehandle.d.ts +6 -0
  54. package/esm/nullFilehandle.js +15 -0
  55. package/esm/nullFilehandle.js.map +1 -0
  56. package/esm/record.js +2 -3
  57. package/esm/record.js.map +1 -1
  58. package/esm/util.d.ts +3 -2
  59. package/esm/util.js +10 -3
  60. package/esm/util.js.map +1 -1
  61. package/esm/virtualOffset.d.ts +7 -2
  62. package/esm/virtualOffset.js +1 -14
  63. package/esm/virtualOffset.js.map +1 -1
  64. package/package.json +4 -4
  65. package/src/bai.ts +83 -30
  66. package/src/bamFile.ts +21 -41
  67. package/src/chunk.ts +3 -3
  68. package/src/csi.ts +58 -21
  69. package/src/htsget.ts +3 -2
  70. package/src/indexFile.ts +3 -2
  71. package/src/long.ts +16 -0
  72. package/src/nullFilehandle.ts +16 -0
  73. package/src/record.ts +14 -12
  74. package/src/util.ts +14 -6
  75. package/src/virtualOffset.ts +15 -22
  76. package/dist/errors.d.ts +0 -23
  77. package/dist/errors.js +0 -33
  78. package/dist/errors.js.map +0 -1
  79. package/esm/errors.d.ts +0 -23
  80. package/esm/errors.js +0 -24
  81. package/esm/errors.js.map +0 -1
  82. package/src/errors.ts +0 -22
package/esm/htsget.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { BaseOpts, BamOpts } from './util';
2
1
  import BamFile from './bamFile';
3
2
  import Chunk from './chunk';
3
+ import { BamOpts, BaseOpts } from './util';
4
4
  export default class HtsgetFile extends BamFile {
5
5
  private baseUrl;
6
6
  private trackId;
package/esm/htsget.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { unzip } from '@gmod/bgzf-filehandle';
2
- import { concatUint8Array } from './util';
3
2
  import BamFile, { BAM_MAGIC } from './bamFile';
4
3
  import { parseHeaderText } from './sam';
4
+ import { concatUint8Array } from './util';
5
5
  async function concat(arr, opts) {
6
6
  const res = await Promise.all(arr.map(async (chunk) => {
7
7
  const { url, headers } = chunk;
@@ -16,7 +16,7 @@ async function concat(arr, opts) {
16
16
  return new Uint8Array(ret);
17
17
  }
18
18
  else {
19
- //remove referer header, it is not even allowed to be specified
19
+ // remove referer header, it is not even allowed to be specified
20
20
  // @ts-expect-error
21
21
  const { referer, ...rest } = headers;
22
22
  const res = await fetch(url, {
package/esm/htsget.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { GenericFilehandle } from 'generic-filehandle2';
2
1
  import Chunk from './chunk';
3
2
  import { BaseOpts } from './util';
3
+ import type { GenericFilehandle } from 'generic-filehandle2';
4
4
  export default abstract class IndexFile {
5
5
  filehandle: GenericFilehandle;
6
6
  renameRefSeq: (s: string) => string;
7
7
  /**
8
8
  * @param {filehandle} filehandle
9
- * @param {function} [renameRefSeqs]
9
+ * @param {function} renameRefSeqs
10
10
  */
11
11
  constructor({ filehandle, renameRefSeq, }: {
12
12
  filehandle: GenericFilehandle;
package/esm/indexFile.js CHANGED
@@ -3,7 +3,7 @@ export default class IndexFile {
3
3
  renameRefSeq;
4
4
  /**
5
5
  * @param {filehandle} filehandle
6
- * @param {function} [renameRefSeqs]
6
+ * @param {function} renameRefSeqs
7
7
  */
8
8
  constructor({ filehandle, renameRefSeq = (n) => n, }) {
9
9
  this.filehandle = filehandle;
@@ -1 +1 @@
1
- {"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAgB,SAAS;IAC9B,UAAU,CAAmB;IAC7B,YAAY,CAAuB;IAE1C;;;OAGG;IACH,YAAY,EACV,UAAU,EACV,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIhC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;CAcF"}
1
+ {"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAgB,SAAS;IAC9B,UAAU,CAAmB;IAC7B,YAAY,CAAuB;IAE1C;;;OAGG;IACH,YAAY,EACV,UAAU,EACV,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIhC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;CAcF"}
package/esm/long.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare const TWO_PWR_16_DBL: number;
2
+ export declare const TWO_PWR_32_DBL: number;
3
+ export declare function longFromBytesToUnsigned(source: Uint8Array, i?: number): number;
package/esm/long.js ADDED
@@ -0,0 +1,14 @@
1
+ export const TWO_PWR_16_DBL = 1 << 16;
2
+ export const TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;
3
+ export function longFromBytesToUnsigned(source, i = 0) {
4
+ const low = source[i] |
5
+ (source[i + 1] << 8) |
6
+ (source[i + 2] << 16) |
7
+ (source[i + 3] << 24);
8
+ const high = source[i + 4] |
9
+ (source[i + 5] << 8) |
10
+ (source[i + 6] << 16) |
11
+ (source[i + 7] << 24);
12
+ return (high >>> 0) * TWO_PWR_32_DBL + (low >>> 0);
13
+ }
14
+ //# sourceMappingURL=long.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long.js","sourceRoot":"","sources":["../src/long.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAA;AAE7D,MAAM,UAAU,uBAAuB,CAAC,MAAkB,EAAE,CAAC,GAAG,CAAC;IAC/D,MAAM,GAAG,GACP,MAAM,CAAC,CAAC,CAAE;QACV,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAA;IACxB,MAAM,IAAI,GACR,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE;QACd,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAA;IACxB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export default class NullFilehandle {
2
+ read(): Promise<any>;
3
+ stat(): Promise<any>;
4
+ readFile(): Promise<any>;
5
+ close(): Promise<any>;
6
+ }
@@ -0,0 +1,15 @@
1
+ export default class NullFilehandle {
2
+ read() {
3
+ throw new Error('never called');
4
+ }
5
+ stat() {
6
+ throw new Error('never called');
7
+ }
8
+ readFile() {
9
+ throw new Error('never called');
10
+ }
11
+ close() {
12
+ throw new Error('never called');
13
+ }
14
+ }
15
+ //# sourceMappingURL=nullFilehandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullFilehandle.js","sourceRoot":"","sources":["../src/nullFilehandle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,IAAI;QACT,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IACM,IAAI;QACT,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAEM,QAAQ;QACb,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK;QACV,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;CACF"}
package/esm/record.js CHANGED
@@ -327,14 +327,13 @@ export default class BamRecord {
327
327
  return (this.seq_length + 1) >> 1;
328
328
  }
329
329
  get seq() {
330
- const { byteArray } = this.bytes;
331
330
  const p = this.b0 + this.read_name_length + this.num_cigar_ops * 4;
332
331
  const seqBytes = this.num_seq_bytes;
333
332
  const len = this.seq_length;
334
333
  const buf = [];
335
334
  let i = 0;
336
335
  for (let j = 0; j < seqBytes; ++j) {
337
- const sb = byteArray[p + j];
336
+ const sb = this.byteArray[p + j];
338
337
  buf.push(SEQRET_DECODER[(sb & 0xf0) >> 4]);
339
338
  i++;
340
339
  if (i < len) {
@@ -403,7 +402,7 @@ export default class BamRecord {
403
402
  if (k.startsWith('_') || k === 'bytes') {
404
403
  continue;
405
404
  }
406
- //@ts-ignore
405
+ // @ts-ignore
407
406
  data[k] = this[k];
408
407
  }
409
408
  return data;
package/esm/record.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
package/esm/util.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Chunk from './chunk';
2
- import VirtualOffset from './virtualOffset';
2
+ import { Offset, VirtualOffset } from './virtualOffset';
3
3
  export declare function timeout(ms: number): Promise<unknown>;
4
4
  /**
5
5
  * Properly check if the given AbortSignal is aborted.
@@ -32,7 +32,7 @@ export interface BaseOpts {
32
32
  signal?: AbortSignal;
33
33
  }
34
34
  export declare function makeOpts(obj?: AbortSignal | BaseOpts): BaseOpts;
35
- export declare function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset): Chunk[];
35
+ export declare function optimizeChunks(chunks: Chunk[], lowest?: Offset): Chunk[];
36
36
  export declare function parsePseudoBin(bytes: Uint8Array, offset: number): {
37
37
  lineCount: number;
38
38
  };
@@ -43,3 +43,4 @@ export declare function parseNameBytes(namesBytes: Uint8Array, renameRefSeq?: (a
43
43
  };
44
44
  export declare function sum(array: Uint8Array[]): number;
45
45
  export declare function concatUint8Array(args: Uint8Array[]): Uint8Array<ArrayBuffer>;
46
+ export declare function gen2array<T>(gen: AsyncIterable<T[]>): Promise<T[]>;
package/esm/util.js CHANGED
@@ -1,4 +1,4 @@
1
- import { fromBytesLE, toNumber } from 'longfn';
1
+ import { longFromBytesToUnsigned } from './long';
2
2
  export function timeout(ms) {
3
3
  return new Promise(resolve => setTimeout(resolve, ms));
4
4
  }
@@ -22,7 +22,7 @@ export function checkAbortSignal(signal) {
22
22
  // console.log('bam aborted!')
23
23
  if (typeof DOMException === 'undefined') {
24
24
  const e = new Error('aborted');
25
- //@ts-ignore
25
+ // @ts-ignore
26
26
  e.code = 'ERR_ABORTED';
27
27
  throw e;
28
28
  }
@@ -81,7 +81,7 @@ export function optimizeChunks(chunks, lowest) {
81
81
  }
82
82
  export function parsePseudoBin(bytes, offset) {
83
83
  return {
84
- lineCount: toNumber(fromBytesLE(bytes.subarray(offset, offset + 8), true)),
84
+ lineCount: longFromBytesToUnsigned(bytes, offset),
85
85
  };
86
86
  }
87
87
  export function findFirstData(firstDataLine, virtualOffset) {
@@ -129,4 +129,11 @@ export function concatUint8Array(args) {
129
129
  }
130
130
  return mergedArray;
131
131
  }
132
+ export async function gen2array(gen) {
133
+ let out = [];
134
+ for await (const x of gen) {
135
+ out = out.concat(x);
136
+ }
137
+ return out;
138
+ }
132
139
  //# sourceMappingURL=util.js.map
package/esm/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
- export default class VirtualOffset {
1
+ export interface Offset {
2
+ blockPosition: number;
3
+ dataPosition: number;
4
+ toString(): string;
5
+ compareTo(arg: Offset): number;
6
+ }
7
+ export declare class VirtualOffset {
2
8
  blockPosition: number;
3
9
  dataPosition: number;
4
10
  constructor(blockPosition: number, dataPosition: number);
5
11
  toString(): string;
6
12
  compareTo(b: VirtualOffset): number;
7
- static min(...args: VirtualOffset[]): VirtualOffset;
8
13
  }
9
14
  export declare function fromBytes(bytes: Uint8Array, offset?: number, bigendian?: boolean): VirtualOffset;
@@ -1,4 +1,4 @@
1
- export default class VirtualOffset {
1
+ export class VirtualOffset {
2
2
  blockPosition;
3
3
  dataPosition;
4
4
  constructor(blockPosition, dataPosition) {
@@ -11,19 +11,6 @@ export default class VirtualOffset {
11
11
  compareTo(b) {
12
12
  return (this.blockPosition - b.blockPosition || this.dataPosition - b.dataPosition);
13
13
  }
14
- static min(...args) {
15
- let min;
16
- let i = 0;
17
- for (; !min; i += 1) {
18
- min = args[i];
19
- }
20
- for (; i < args.length; i += 1) {
21
- if (min.compareTo(args[i]) > 0) {
22
- min = args[i];
23
- }
24
- }
25
- return min;
26
- }
27
14
  }
28
15
  export function fromBytes(bytes, offset = 0, bigendian = false) {
29
16
  if (bigendian) {
@@ -1 +1 @@
1
- {"version":3,"file":"virtualOffset.js","sourceRoot":"","sources":["../src/virtualOffset.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,aAAa;IACzB,aAAa,CAAQ;IACrB,YAAY,CAAQ;IAC3B,YAAY,aAAqB,EAAE,YAAoB;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA,CAAC,wCAAwC;QAC3E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA,CAAC,sCAAsC;IACzE,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;IACrD,CAAC;IAED,SAAS,CAAC,CAAgB;QACxB,OAAO,CACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAC3E,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,IAAqB;QACjC,IAAI,GAAG,CAAA;QACP,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AACD,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK;IACxE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,IAAI,aAAa,CACtB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa;QAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW;QAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS;QAC7B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO;QAC3B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACnB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CACzC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"virtualOffset.js","sourceRoot":"","sources":["../src/virtualOffset.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,aAAa;IACjB,aAAa,CAAQ;IACrB,YAAY,CAAQ;IAC3B,YAAY,aAAqB,EAAE,YAAoB;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA,CAAC,wCAAwC;QAC3E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA,CAAC,sCAAsC;IACzE,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;IACrD,CAAC;IAED,SAAS,CAAC,CAAgB;QACxB,OAAO,CACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAC3E,CAAA;IACH,CAAC;CACF;AACD,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK;IACxE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,IAAI,aAAa,CACtB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,aAAa;QAChC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,WAAW;QAChC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,SAAS;QAC9B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,OAAO;QAC5B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,KAAK;QAC1B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,EACpB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAE,CAC3C,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bam",
3
- "version": "5.0.4",
3
+ "version": "5.0.6",
4
4
  "description": "Parser for BAM and BAM index (bai) files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bam-js",
@@ -42,22 +42,22 @@
42
42
  "@gmod/bgzf-filehandle": "^2.0.1",
43
43
  "crc": "^4.3.2",
44
44
  "generic-filehandle2": "^1.0.0",
45
- "longfn": "^1.3.1",
46
45
  "quick-lru": "^4.0.0"
47
46
  },
48
47
  "devDependencies": {
49
48
  "@types/node": "^20.11.19",
50
49
  "@typescript-eslint/eslint-plugin": "^8.1.0",
51
50
  "@typescript-eslint/parser": "^8.1.0",
52
- "@vitest/coverage-v8": "^2.0.5",
51
+ "@vitest/coverage-v8": "^3.0.1",
53
52
  "eslint": "^9.9.0",
53
+ "eslint-plugin-import": "^2.31.0",
54
54
  "eslint-plugin-unicorn": "^56.0.0",
55
55
  "prettier": "^3.3.3",
56
56
  "rimraf": "^6.0.1",
57
57
  "standard-changelog": "^6.0.0",
58
58
  "typescript": "^5.0.4",
59
59
  "typescript-eslint": "^8.1.0",
60
- "vitest": "^2.0.5"
60
+ "vitest": "^3.0.1"
61
61
  },
62
62
  "publishConfig": {
63
63
  "access": "public"
package/src/bai.ts CHANGED
@@ -1,8 +1,9 @@
1
- import VirtualOffset, { fromBytes } from './virtualOffset'
2
- import Chunk from './chunk'
1
+ import QuickLRU from 'quick-lru'
3
2
 
4
- import { optimizeChunks, parsePseudoBin, findFirstData, BaseOpts } from './util'
3
+ import Chunk from './chunk'
5
4
  import IndexFile from './indexFile'
5
+ import { BaseOpts, findFirstData, optimizeChunks, parsePseudoBin } from './util'
6
+ import { VirtualOffset, fromBytes } from './virtualOffset'
6
7
 
7
8
  const BAI_MAGIC = 21578050 // BAI\1
8
9
 
@@ -13,6 +14,12 @@ function roundUp(n: number, multiple: number) {
13
14
  return n - (n % multiple) + multiple
14
15
  }
15
16
 
17
+ export interface IndexCovEntry {
18
+ start: number
19
+ end: number
20
+ score: number
21
+ }
22
+
16
23
  function reg2bins(beg: number, end: number) {
17
24
  end -= 1
18
25
  return [
@@ -30,10 +37,9 @@ export default class BAI extends IndexFile {
30
37
 
31
38
  async lineCount(refId: number, opts?: BaseOpts) {
32
39
  const indexData = await this.parse(opts)
33
- return indexData.indices[refId]?.stats?.lineCount || 0
40
+ return indexData.indices(refId)?.stats?.lineCount || 0
34
41
  }
35
42
 
36
- // fetch and parse the index
37
43
  async _parse(_opts?: BaseOpts) {
38
44
  const bytes = await this.filehandle.readFile()
39
45
  const dataView = new DataView(bytes.buffer)
@@ -51,17 +57,53 @@ export default class BAI extends IndexFile {
51
57
  let curr = 8
52
58
  let firstDataLine: VirtualOffset | undefined
53
59
 
54
- type BinIndex = Record<string, Chunk[]>
55
- type LinearIndex = VirtualOffset[]
56
- const indices = new Array<{
57
- binIndex: BinIndex
58
- linearIndex: LinearIndex
59
- stats?: { lineCount: number }
60
- }>(refCount)
61
-
60
+ const offsets = [] as number[]
62
61
  for (let i = 0; i < refCount; i++) {
63
- // the binning index
62
+ offsets.push(curr)
63
+ const binCount = dataView.getInt32(curr, true)
64
64
 
65
+ curr += 4
66
+
67
+ for (let j = 0; j < binCount; j += 1) {
68
+ const bin = dataView.getUint32(curr, true)
69
+ curr += 4
70
+ if (bin === binLimit + 1) {
71
+ curr += 4
72
+ curr += 32
73
+ } else if (bin > binLimit + 1) {
74
+ throw new Error('bai index contains too many bins, please use CSI')
75
+ } else {
76
+ const chunkCount = dataView.getInt32(curr, true)
77
+ curr += 4
78
+ for (let k = 0; k < chunkCount; k++) {
79
+ curr += 8
80
+ curr += 8
81
+ }
82
+ }
83
+ }
84
+
85
+ const linearCount = dataView.getInt32(curr, true)
86
+ curr += 4
87
+ // as we're going through the linear index, figure out the smallest
88
+ // virtual offset in the indexes, which tells us where the BAM header
89
+ // ends
90
+ const linearIndex = new Array<VirtualOffset>(linearCount)
91
+ for (let j = 0; j < linearCount; j++) {
92
+ const offset = fromBytes(bytes, curr)
93
+ curr += 8
94
+ firstDataLine = findFirstData(firstDataLine, offset)
95
+ linearIndex[j] = offset
96
+ }
97
+ }
98
+ const indicesCache = new QuickLRU<number, ReturnType<typeof getIndices>>({
99
+ maxSize: 5,
100
+ })
101
+
102
+ function getIndices(refId: number) {
103
+ let curr = offsets[refId]
104
+ if (curr === undefined) {
105
+ return undefined
106
+ }
65
107
  const binCount = dataView.getInt32(curr, true)
66
108
  let stats
67
109
 
@@ -106,14 +148,27 @@ export default class BAI extends IndexFile {
106
148
  linearIndex[j] = offset
107
149
  }
108
150
 
109
- indices[i] = { binIndex, linearIndex, stats }
151
+ return {
152
+ binIndex,
153
+ linearIndex,
154
+ stats,
155
+ }
110
156
  }
111
157
 
112
158
  return {
113
159
  bai: true,
114
160
  firstDataLine,
115
161
  maxBlockSize: 1 << 16,
116
- indices,
162
+ indices: (refId: number) => {
163
+ if (!indicesCache.has(refId)) {
164
+ const result = getIndices(refId)
165
+ if (result) {
166
+ indicesCache.set(refId, result)
167
+ }
168
+ return result
169
+ }
170
+ return indicesCache.get(refId)
171
+ },
117
172
  refCount,
118
173
  }
119
174
  }
@@ -122,13 +177,13 @@ export default class BAI extends IndexFile {
122
177
  seqId: number,
123
178
  start?: number,
124
179
  end?: number,
125
- opts: BaseOpts = {},
126
- ): Promise<{ start: number; end: number; score: number }[]> {
180
+ opts?: BaseOpts,
181
+ ): Promise<IndexCovEntry[]> {
127
182
  const v = 16384
128
183
  const range = start !== undefined
129
184
  const indexData = await this.parse(opts)
130
- const seqIdx = indexData.indices[seqId]
131
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
185
+ const seqIdx = indexData.indices(seqId)
186
+
132
187
  if (!seqIdx) {
133
188
  return []
134
189
  }
@@ -141,18 +196,18 @@ export default class BAI extends IndexFile {
141
196
  const depths = range
142
197
  ? new Array((e - s) / v)
143
198
  : new Array(linearIndex.length - 1)
144
- const totalSize = linearIndex[linearIndex.length - 1].blockPosition
199
+ const totalSize = linearIndex[linearIndex.length - 1]!.blockPosition
145
200
  if (e > (linearIndex.length - 1) * v) {
146
201
  throw new Error('query outside of range of linear index')
147
202
  }
148
- let currentPos = linearIndex[s / v].blockPosition
203
+ let currentPos = linearIndex[s / v]!.blockPosition
149
204
  for (let i = s / v, j = 0; i < e / v; i++, j++) {
150
205
  depths[j] = {
151
- score: linearIndex[i + 1].blockPosition - currentPos,
206
+ score: linearIndex[i + 1]!.blockPosition - currentPos,
152
207
  start: i * v,
153
208
  end: i * v + v,
154
209
  }
155
- currentPos = linearIndex[i + 1].blockPosition
210
+ currentPos = linearIndex[i + 1]!.blockPosition
156
211
  }
157
212
  return depths.map(d => ({
158
213
  ...d,
@@ -175,8 +230,8 @@ export default class BAI extends IndexFile {
175
230
  if (!indexData) {
176
231
  return []
177
232
  }
178
- const ba = indexData.indices[refId]
179
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
233
+ const ba = indexData.indices(refId)
234
+
180
235
  if (!ba) {
181
236
  return []
182
237
  }
@@ -188,9 +243,8 @@ export default class BAI extends IndexFile {
188
243
  // Find chunks in overlapping bins. Leaf bins (< 4681) are not pruned
189
244
  for (const [start, end] of overlappingBins) {
190
245
  for (let bin = start; bin <= end; bin++) {
191
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
192
246
  if (ba.binIndex[bin]) {
193
- const binChunks = ba.binIndex[bin]
247
+ const binChunks = ba.binIndex[bin]!
194
248
  for (const binChunk of binChunks) {
195
249
  chunks.push(new Chunk(binChunk.minv, binChunk.maxv, bin))
196
250
  }
@@ -207,7 +261,6 @@ export default class BAI extends IndexFile {
207
261
  for (let i = minLin; i <= maxLin; ++i) {
208
262
  const vp = ba.linearIndex[i]
209
263
 
210
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
211
264
  if (vp && (!lowest || vp.compareTo(lowest) < 0)) {
212
265
  lowest = vp
213
266
  }
@@ -228,6 +281,6 @@ export default class BAI extends IndexFile {
228
281
 
229
282
  async hasRefSeq(seqId: number, opts: BaseOpts = {}) {
230
283
  const header = await this.parse(opts)
231
- return !!header.indices[seqId]?.binIndex
284
+ return !!header.indices(seqId)?.binIndex
232
285
  }
233
286
  }