@gmod/cram 2.0.4 → 3.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 (64) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cram-bundle.js +1 -1
  3. package/dist/cramFile/codecs/byteArrayLength.js +1 -1
  4. package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
  5. package/dist/cramFile/codecs/external.js +1 -1
  6. package/dist/cramFile/codecs/external.js.map +1 -1
  7. package/dist/cramFile/codecs/huffman.js +2 -1
  8. package/dist/cramFile/codecs/huffman.js.map +1 -1
  9. package/dist/cramFile/container/compressionScheme.d.ts +0 -3
  10. package/dist/cramFile/container/compressionScheme.js +0 -4
  11. package/dist/cramFile/container/compressionScheme.js.map +1 -1
  12. package/dist/cramFile/container/index.d.ts +56 -3
  13. package/dist/cramFile/container/index.js +15 -9
  14. package/dist/cramFile/container/index.js.map +1 -1
  15. package/dist/cramFile/file.d.ts +24 -59
  16. package/dist/cramFile/file.js +21 -26
  17. package/dist/cramFile/file.js.map +1 -1
  18. package/dist/cramFile/record.d.ts +1 -1
  19. package/dist/cramFile/sectionParsers.d.ts +195 -48
  20. package/dist/cramFile/sectionParsers.js +621 -303
  21. package/dist/cramFile/sectionParsers.js.map +1 -1
  22. package/dist/cramFile/slice/index.d.ts +23 -1
  23. package/dist/cramFile/slice/index.js +9 -6
  24. package/dist/cramFile/slice/index.js.map +1 -1
  25. package/dist/cramFile/util.d.ts +6 -4
  26. package/dist/cramFile/util.js +88 -6
  27. package/dist/cramFile/util.js.map +1 -1
  28. package/esm/cramFile/codecs/byteArrayLength.js +1 -1
  29. package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
  30. package/esm/cramFile/codecs/external.js +1 -1
  31. package/esm/cramFile/codecs/external.js.map +1 -1
  32. package/esm/cramFile/codecs/huffman.js +2 -1
  33. package/esm/cramFile/codecs/huffman.js.map +1 -1
  34. package/esm/cramFile/container/compressionScheme.d.ts +0 -3
  35. package/esm/cramFile/container/compressionScheme.js +0 -4
  36. package/esm/cramFile/container/compressionScheme.js.map +1 -1
  37. package/esm/cramFile/container/index.d.ts +56 -3
  38. package/esm/cramFile/container/index.js +15 -9
  39. package/esm/cramFile/container/index.js.map +1 -1
  40. package/esm/cramFile/file.d.ts +24 -59
  41. package/esm/cramFile/file.js +22 -25
  42. package/esm/cramFile/file.js.map +1 -1
  43. package/esm/cramFile/record.d.ts +1 -1
  44. package/esm/cramFile/sectionParsers.d.ts +195 -48
  45. package/esm/cramFile/sectionParsers.js +620 -303
  46. package/esm/cramFile/sectionParsers.js.map +1 -1
  47. package/esm/cramFile/slice/index.d.ts +23 -1
  48. package/esm/cramFile/slice/index.js +10 -7
  49. package/esm/cramFile/slice/index.js.map +1 -1
  50. package/esm/cramFile/util.d.ts +6 -4
  51. package/esm/cramFile/util.js +87 -6
  52. package/esm/cramFile/util.js.map +1 -1
  53. package/package.json +7 -8
  54. package/src/cramFile/codecs/byteArrayLength.ts +1 -2
  55. package/src/cramFile/codecs/external.ts +1 -1
  56. package/src/cramFile/codecs/huffman.ts +2 -1
  57. package/src/cramFile/container/compressionScheme.ts +1 -8
  58. package/src/cramFile/container/index.ts +21 -10
  59. package/src/cramFile/file.ts +28 -43
  60. package/src/cramFile/record.ts +1 -1
  61. package/src/cramFile/sectionParsers.ts +668 -390
  62. package/src/cramFile/slice/index.ts +11 -5
  63. package/src/cramFile/util.ts +90 -91
  64. package/src/typings/binary-parser.d.ts +0 -44
@@ -1 +1 @@
1
- {"version":3,"file":"sectionParsers.js","sourceRoot":"","sources":["../../src/cramFile/sectionParsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sectionParsers.js","sourceRoot":"","sources":["../../src/cramFile/sectionParsers.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,29 @@ export default class CramSlice {
10
10
  containerPosition: number;
11
11
  private file;
12
12
  constructor(container: CramContainer, containerPosition: number, _unused: number);
13
- getHeader(): Promise<SliceHeader>;
13
+ getHeader(): Promise<{
14
+ parsedContent: {
15
+ recordCounter: number;
16
+ md5: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | undefined;
17
+ contentIds: number[];
18
+ numContentIds: number;
19
+ numBlocks: number;
20
+ numRecords: number;
21
+ } & {
22
+ _endPosition: number;
23
+ _size: number;
24
+ };
25
+ compressionMethod: import("../sectionParsers").CompressionMethod;
26
+ contentType: "FILE_HEADER" | "COMPRESSION_HEADER" | "MAPPED_SLICE_HEADER" | "UNMAPPED_SLICE_HEADER" | "EXTERNAL_DATA" | "CORE_DATA";
27
+ contentId: number;
28
+ compressedSize: number;
29
+ uncompressedSize: number;
30
+ _endPosition: number;
31
+ contentPosition: number;
32
+ _size: number;
33
+ content: Buffer;
34
+ crc32?: number;
35
+ }>;
14
36
  getBlocks(): Promise<CramFileBlock[]>;
15
37
  getCoreDataBlock(): Promise<CramFileBlock>;
16
38
  _getBlocksContentIdIndex(): Promise<Record<number, CramFileBlock>>;
@@ -3,7 +3,7 @@ import { parseItem, sequenceMD5, tinyMemoize } from '../util';
3
3
  import Constants from '../constants';
4
4
  import decodeRecord from './decodeRecord';
5
5
  import CramRecord from '../record';
6
- import { isMappedSliceHeader, } from '../sectionParsers';
6
+ import { getSectionParsers, isMappedSliceHeader, } from '../sectionParsers';
7
7
  import { CramBufferOverrunError } from '../codecs/getBits';
8
8
  /**
9
9
  * @private
@@ -132,8 +132,12 @@ export default class CramSlice {
132
132
  // memoize
133
133
  async getHeader() {
134
134
  // fetch and parse the slice header
135
- const sectionParsers = await this.file.getSectionParsers();
135
+ const { majorVersion } = await this.file.getDefinition();
136
+ const sectionParsers = getSectionParsers(majorVersion);
136
137
  const containerHeader = await this.container.getHeader();
138
+ if (!containerHeader) {
139
+ throw new Error('no container header detected');
140
+ }
137
141
  const header = await this.file.readBlock(containerHeader._endPosition + this.containerPosition);
138
142
  if (header === undefined) {
139
143
  throw new Error('block header undefined');
@@ -156,7 +160,7 @@ export default class CramSlice {
156
160
  // read all the blocks into memory and store them
157
161
  let blockPosition = header._endPosition;
158
162
  const blocks = new Array(header.parsedContent.numBlocks);
159
- for (let i = 0; i < blocks.length; i += 1) {
163
+ for (let i = 0; i < blocks.length; i++) {
160
164
  const block = await this.file.readBlock(blockPosition);
161
165
  if (block === undefined) {
162
166
  throw new Error('block undefined');
@@ -239,6 +243,7 @@ export default class CramSlice {
239
243
  return this.getRecords(() => true);
240
244
  }
241
245
  async _fetchRecords() {
246
+ var _a, _b;
242
247
  const { majorVersion } = await this.file.getDefinition();
243
248
  const compressionScheme = await this.container.getCompressionScheme();
244
249
  if (compressionScheme === undefined) {
@@ -254,14 +259,12 @@ export default class CramSlice {
254
259
  this.file.options.checkSequenceMD5 &&
255
260
  isMappedSliceHeader(sliceHeader.parsedContent) &&
256
261
  sliceHeader.parsedContent.refSeqId >= 0 &&
257
- sliceHeader.parsedContent.md5.join('') !== '0000000000000000') {
262
+ ((_a = sliceHeader.parsedContent.md5) === null || _a === void 0 ? void 0 : _a.join('')) !== '0000000000000000') {
258
263
  const refRegion = await this.getReferenceRegion();
259
264
  if (refRegion) {
260
265
  const { seq, start, end } = refRegion;
261
266
  const seqMd5 = sequenceMD5(seq);
262
- const storedMd5 = sliceHeader.parsedContent.md5
263
- .map(byte => (byte < 16 ? '0' : '') + byte.toString(16))
264
- .join('');
267
+ const storedMd5 = (_b = sliceHeader.parsedContent.md5) === null || _b === void 0 ? void 0 : _b.map(byte => (byte < 16 ? '0' : '') + byte.toString(16)).join('');
265
268
  if (seqMd5 !== storedMd5) {
266
269
  throw new CramMalformedError(`MD5 checksum reference mismatch for ref ${sliceHeader.parsedContent.refSeqId} pos ${start}..${end}. recorded MD5: ${storedMd5}, calculated MD5: ${seqMd5}`);
267
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/slice/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/slice/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { Parser } from '@gmod/binary-parser';
2
1
  export declare function itf8Size(v: number): 1 | 2 | 3 | 4 | 5;
3
- export declare function parseItf8(buffer: Uint8Array, initialOffset: number): [number, number];
4
- export type ParsedItem<T> = T & {
2
+ export declare function parseItf8(buffer: Uint8Array, initialOffset: number): readonly [number, number];
3
+ export declare function parseLtf8(buffer: Buffer, initialOffset: number): readonly [number, number];
4
+ export declare function parseItem<T>(buffer: Buffer, parser: (buffer: Buffer, offset: number) => {
5
+ offset: number;
6
+ value: T;
7
+ }, startBufferPosition?: number, startFilePosition?: number): T & {
5
8
  _endPosition: number;
6
9
  _size: number;
7
10
  };
8
- export declare function parseItem<T>(buffer: Buffer, parser: Parser<T>, startBufferPosition?: number, startFilePosition?: number): ParsedItem<T>;
9
11
  export declare function tinyMemoize(_class: any, methodName: any): void;
10
12
  export declare function sequenceMD5(seq: string): string;
@@ -1,4 +1,5 @@
1
1
  import md5 from 'md5';
2
+ import Long from 'long';
2
3
  import { CramBufferOverrunError } from './codecs/getBits';
3
4
  export function itf8Size(v) {
4
5
  if (!(v & ~0x7f)) {
@@ -58,18 +59,98 @@ export function parseItf8(buffer, initialOffset) {
58
59
  }
59
60
  return [result, offset - initialOffset];
60
61
  }
62
+ export function parseLtf8(buffer, initialOffset) {
63
+ let offset = initialOffset;
64
+ const countFlags = buffer[offset];
65
+ let n;
66
+ if (countFlags < 0x80) {
67
+ n = countFlags;
68
+ offset += 1;
69
+ }
70
+ else if (countFlags < 0xc0) {
71
+ n = ((buffer[offset] << 8) | buffer[offset + 1]) & 0x3fff;
72
+ offset += 2;
73
+ }
74
+ else if (countFlags < 0xe0) {
75
+ n =
76
+ ((buffer[offset] << 16) |
77
+ (buffer[offset + 1] << 8) |
78
+ buffer[offset + 2]) &
79
+ 0x1fffff;
80
+ n = ((countFlags & 63) << 16) | buffer.readUInt16LE(offset + 1);
81
+ offset += 3;
82
+ }
83
+ else if (countFlags < 0xf0) {
84
+ n =
85
+ ((buffer[offset] << 24) |
86
+ (buffer[offset + 1] << 16) |
87
+ (buffer[offset + 2] << 8) |
88
+ buffer[offset + 3]) &
89
+ 0x0fffffff;
90
+ offset += 4;
91
+ }
92
+ else if (countFlags < 0xf8) {
93
+ n =
94
+ ((buffer[offset] & 15) * Math.pow(2, 32) + (buffer[offset + 1] << 24)) |
95
+ ((buffer[offset + 2] << 16) |
96
+ (buffer[offset + 3] << 8) |
97
+ buffer[offset + 4]);
98
+ // TODO *val_p = uv < 0x80000000UL ? uv : -((int32_t) (0xffffffffUL - uv)) - 1;
99
+ offset += 5;
100
+ }
101
+ else if (countFlags < 0xfc) {
102
+ n =
103
+ ((((buffer[offset] & 7) << 8) | buffer[offset + 1]) * Math.pow(2, 32) +
104
+ (buffer[offset + 2] << 24)) |
105
+ ((buffer[offset + 3] << 16) |
106
+ (buffer[offset + 4] << 8) |
107
+ buffer[offset + 5]);
108
+ offset += 6;
109
+ }
110
+ else if (countFlags < 0xfe) {
111
+ n =
112
+ ((((buffer[offset] & 3) << 16) |
113
+ (buffer[offset + 1] << 8) |
114
+ buffer[offset + 2]) *
115
+ Math.pow(2, 32) +
116
+ (buffer[offset + 3] << 24)) |
117
+ ((buffer[offset + 4] << 16) |
118
+ (buffer[offset + 5] << 8) |
119
+ buffer[offset + 6]);
120
+ offset += 7;
121
+ }
122
+ else if (countFlags < 0xff) {
123
+ n = Long.fromBytesBE(buffer.slice(offset + 1, offset + 8));
124
+ if (n.greaterThan(Number.MAX_SAFE_INTEGER) ||
125
+ n.lessThan(Number.MIN_SAFE_INTEGER)) {
126
+ throw new Error('integer overflow');
127
+ }
128
+ n = n.toNumber();
129
+ offset += 8;
130
+ }
131
+ else {
132
+ n = Long.fromBytesBE(buffer.slice(offset + 1, offset + 9));
133
+ if (n.greaterThan(Number.MAX_SAFE_INTEGER) ||
134
+ n.lessThan(Number.MIN_SAFE_INTEGER)) {
135
+ throw new Error('integer overflow');
136
+ }
137
+ n = n.toNumber();
138
+ offset += 9;
139
+ }
140
+ return [n, offset - initialOffset];
141
+ }
61
142
  export function parseItem(buffer, parser, startBufferPosition = 0, startFilePosition = 0) {
62
- const { offset, result } = parser.parse(buffer);
143
+ const { offset, value } = parser(buffer, startBufferPosition);
63
144
  return {
64
- ...result,
145
+ ...value,
65
146
  _endPosition: offset + startFilePosition,
66
147
  _size: offset - startBufferPosition,
67
148
  };
68
149
  }
69
- // this would be nice as a decorator, but i'm a little worried about
70
- // babel support for it going away or changing.
71
- // memoizes a method in the stupidest possible way, with no regard for the
72
- // arguments. actually, this only works on methods that take no arguments
150
+ // this would be nice as a decorator, but i'm a little worried about babel
151
+ // support for it going away or changing. memoizes a method in the stupidest
152
+ // possible way, with no regard for the arguments. actually, this only works
153
+ // on methods that take no arguments
73
154
  export function tinyMemoize(_class, methodName) {
74
155
  const method = _class.prototype[methodName];
75
156
  const memoAttrName = `_memo_${methodName}`;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,MAAkB,EAClB,aAAqB;IAErB,IAAI,MAAM,GAAG,aAAa,CAAA;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,MAAM,CAAA;IACV,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,UAAU,CAAA;QACnB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;SAAM,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QAC1D,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;SAAM,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;QAC7B,MAAM;YACJ,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrE,QAAQ,CAAA;QACV,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;SAAM,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;QAC7B,MAAM;YACJ,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;gBACjB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrB,UAAU,CAAA;QACZ,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,MAAM;YACJ,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC7B,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,sBAAsB,CAC9B,oEAAoE,CACrE,CAAA;IACH,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,CAAA;AACzC,CAAC;AAiFD,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,MAAiB,EACjB,mBAAmB,GAAG,CAAC,EACvB,iBAAiB,GAAG,CAAC;IAErB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,MAAM,GAAG,iBAAiB;QACxC,KAAK,EAAE,MAAM,GAAG,mBAAmB;KACpC,CAAA;AACH,CAAC;AAED,oEAAoE;AACpE,+CAA+C;AAC/C,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,MAAW,EAAE,UAAe;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,SAAS,UAAU,EAAE,CAAA;IAC1C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,aAAa;QACnD,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAA;YACxB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAA;IAC3B,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/cram",
3
- "version": "2.0.4",
3
+ "version": "3.0.0",
4
4
  "description": "read CRAM files with pure Javascript",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/cram-js",
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "scripts": {
24
24
  "test": "jest",
25
- "lint": "eslint src test",
25
+ "lint": "eslint --report-unused-disable-directives --max-warnings 0 src test",
26
26
  "docs": "documentation readme --shallow src/indexedCramFile.ts --section=IndexedCramFile; documentation readme --shallow src/cramFile/file.ts --section=CramFile; documentation readme --shallow src/craiIndex.ts --section=CraiIndex; documentation readme --shallow errors.ts '--section=Exception Classes'; documentation readme --shallow src/cramFile/file.ts --section=CramFile; documentation readme --shallow src/cramFile/record.ts --section=CramRecord",
27
27
  "prebuild": "npm run clean",
28
28
  "clean": "rimraf dist esm",
@@ -43,7 +43,6 @@
43
43
  ],
44
44
  "dependencies": {
45
45
  "@gmod/abortable-promise-cache": "^2.0.0",
46
- "@gmod/binary-parser": "^1.3.5",
47
46
  "@jkbonfield/htscodecs": "^0.5.1",
48
47
  "buffer-crc32": "^1.0.0",
49
48
  "bzip2": "^0.1.1",
@@ -59,18 +58,18 @@
59
58
  "@types/long": "^4.0.0",
60
59
  "@types/md5": "^2.3.2",
61
60
  "@types/pako": "^1.0.3",
62
- "@typescript-eslint/eslint-plugin": "^7.0.2",
63
- "@typescript-eslint/parser": "^7.0.2",
61
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
62
+ "@typescript-eslint/parser": "^8.0.0",
64
63
  "buffer": "^6.0.3",
65
64
  "documentation": "^14.0.3",
66
- "eslint": "^9.0.0",
65
+ "eslint": "^9.8.0",
67
66
  "eslint-config-prettier": "^9.0.0",
68
67
  "eslint-plugin-prettier": "^5.1.3",
69
- "eslint-plugin-unicorn": "^54.0.0",
68
+ "eslint-plugin-unicorn": "^55.0.0",
70
69
  "jest": "^29.3.1",
71
70
  "mock-fs": "^5.2.0",
72
71
  "prettier": "^3.2.5",
73
- "rimraf": "^5.0.1",
72
+ "rimraf": "^6.0.1",
74
73
  "ts-jest": "^29.1.2",
75
74
  "typescript": "^5.0.3",
76
75
  "webpack": "^5.90.3",
@@ -1,10 +1,9 @@
1
- import { tinyMemoize } from '../util'
2
-
3
1
  import CramCodec, { Cursors } from './_base'
4
2
  import { ByteArrayLengthEncoding, CramEncoding } from '../encoding'
5
3
  import CramSlice from '../slice'
6
4
  import { CramFileBlock } from '../file'
7
5
  import { DataType } from './dataSeriesTypes'
6
+ import { tinyMemoize } from '../util'
8
7
 
9
8
  type CramCodecFactory = <TData extends DataType = DataType>(
10
9
  encodingData: CramEncoding,
@@ -42,7 +42,7 @@ export default class ExternalCodec extends CramCodec<
42
42
  const contentBlock = blocksByContentId[blockContentId]
43
43
  if (!contentBlock) {
44
44
  throw new CramMalformedError(
45
- `no block found with content ID ${blockContentId}`,
45
+ `no block found with content ID ${blockContentId}}`,
46
46
  )
47
47
  }
48
48
  const cursor = cursors.externalBlocks.getCursor(blockContentId)
@@ -46,7 +46,8 @@ export default class HuffmanIntCodec extends CramCodec<
46
46
  this.buildCodes()
47
47
  this.buildCaches()
48
48
 
49
- // if this is a degenerate zero-length huffman code, special-case the decoding
49
+ // if this is a degenerate zero-length huffman code, special-case the
50
+ // decoding
50
51
  if (this.sortedCodes[0].bitLength === 0) {
51
52
  this._decode = this._decodeZeroLengthCode
52
53
  }
@@ -1,6 +1,6 @@
1
1
  import { instantiateCodec } from '../codecs'
2
2
  import CramCodec from '../codecs/_base'
3
- import { CramCompressionHeader, CramPreservationMap } from '../sectionParsers'
3
+ import { CramCompressionHeader } from '../sectionParsers'
4
4
  import { CramEncoding } from '../encoding'
5
5
  import { CramMalformedError } from '../../errors'
6
6
  import {
@@ -95,12 +95,8 @@ export default class CramContainerCompressionScheme {
95
95
  public tagCodecCache: Record<string, CramCodec> = {}
96
96
  public tagEncoding: Record<string, CramEncoding> = {}
97
97
  public dataSeriesEncoding: DataSeriesEncodingMap
98
- private preservation: CramPreservationMap
99
- private _endPosition: number
100
- private _size: number
101
98
 
102
99
  constructor(content: CramCompressionHeader) {
103
- // Object.assign(this, content)
104
100
  // interpret some of the preservation map tags for convenient use
105
101
  this.readNamesIncluded = content.preservation.RN
106
102
  this.APdelta = content.preservation.AP
@@ -109,9 +105,6 @@ export default class CramContainerCompressionScheme {
109
105
  this.substitutionMatrix = parseSubstitutionMatrix(content.preservation.SM)
110
106
  this.dataSeriesEncoding = content.dataSeriesEncoding
111
107
  this.tagEncoding = content.tagEncoding
112
- this.preservation = content.preservation
113
- this._size = content._size
114
- this._endPosition = content._endPosition
115
108
  }
116
109
 
117
110
  /**
@@ -4,6 +4,7 @@ import { itf8Size, parseItem, tinyMemoize } from '../util'
4
4
  import CramSlice from '../slice'
5
5
  import CramContainerCompressionScheme from './compressionScheme'
6
6
  import CramFile from '../file'
7
+ import { getSectionParsers } from '../sectionParsers'
7
8
 
8
9
  export default class CramContainer {
9
10
  constructor(
@@ -11,20 +12,21 @@ export default class CramContainer {
11
12
  public filePosition: number,
12
13
  ) {}
13
14
 
14
- // memoize
15
15
  getHeader() {
16
16
  return this._readContainerHeader(this.filePosition)
17
17
  }
18
18
 
19
- // memoize
20
19
  async getCompressionHeaderBlock() {
21
20
  const containerHeader = await this.getHeader()
22
21
 
23
- // if there are no records in the container, there will be no compression header
24
- if (!containerHeader.numRecords) {
22
+ // if there are no records in the container, there will be no compression
23
+ // header
24
+ if (!containerHeader?.numRecords) {
25
25
  return null
26
26
  }
27
- const sectionParsers = await this.file.getSectionParsers()
27
+ const { majorVersion } = await this.file.getDefinition()
28
+ const sectionParsers = getSectionParsers(majorVersion)
29
+
28
30
  const block = await this.getFirstBlock()
29
31
  if (block === undefined) {
30
32
  return undefined
@@ -34,6 +36,7 @@ export default class CramContainer {
34
36
  `invalid content type ${block.contentType} in what is supposed to be the compression header block`,
35
37
  )
36
38
  }
39
+
37
40
  const content = parseItem(
38
41
  block.content,
39
42
  sectionParsers.cramCompressionHeader.parser,
@@ -48,16 +51,20 @@ export default class CramContainer {
48
51
 
49
52
  async getFirstBlock() {
50
53
  const containerHeader = await this.getHeader()
54
+ if (!containerHeader) {
55
+ return undefined
56
+ }
51
57
  return this.file.readBlock(containerHeader._endPosition)
52
58
  }
53
59
 
54
- // parses the compression header data into a CramContainerCompressionScheme object
55
- // memoize
60
+ // parses the compression header data into a CramContainerCompressionScheme
61
+ // object
56
62
  async getCompressionScheme() {
57
63
  const header = await this.getCompressionHeaderBlock()
58
64
  if (!header) {
59
65
  return undefined
60
66
  }
67
+
61
68
  return new CramContainerCompressionScheme(header.parsedContent)
62
69
  }
63
70
 
@@ -68,11 +75,15 @@ export default class CramContainer {
68
75
  }
69
76
 
70
77
  async _readContainerHeader(position: number) {
71
- const sectionParsers = await this.file.getSectionParsers()
78
+ const { majorVersion } = await this.file.getDefinition()
79
+ const sectionParsers = getSectionParsers(majorVersion)
72
80
  const { cramContainerHeader1, cramContainerHeader2 } = sectionParsers
73
81
  const { size: fileSize } = await this.file.stat()
74
82
 
75
83
  if (position >= fileSize) {
84
+ console.warn(
85
+ `position:${position}>=fileSize:${fileSize} in cram container`,
86
+ )
76
87
  return undefined
77
88
  }
78
89
 
@@ -80,11 +91,11 @@ export default class CramContainer {
80
91
  // how much to buffer until you read numLandmarks
81
92
  const bytes1 = Buffer.allocUnsafe(cramContainerHeader1.maxLength)
82
93
  await this.file.read(bytes1, 0, cramContainerHeader1.maxLength, position)
83
- const header1 = parseItem(bytes1, cramContainerHeader1.parser) as any
94
+ const header1 = parseItem(bytes1, cramContainerHeader1.parser)
84
95
  const numLandmarksSize = itf8Size(header1.numLandmarks)
85
96
  if (position + header1.length >= fileSize) {
86
97
  console.warn(
87
- `${this.file}: container header at ${position} indicates that the container has length ${header1.length}, which extends beyond the length of the file. Skipping this container.`,
98
+ `container header at ${position} indicates that the container has length ${header1.length}, which extends beyond the length of the file. Skipping this container.`,
88
99
  )
89
100
  return undefined
90
101
  }