@gmod/cram 1.6.3 → 1.7.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 (255) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/craiIndex.d.ts +19 -12
  3. package/dist/craiIndex.js +63 -123
  4. package/dist/craiIndex.js.map +1 -1
  5. package/dist/cram-bundle.js +2 -17
  6. package/dist/cram-bundle.js.LICENSE.txt +17 -0
  7. package/dist/cramFile/codecs/_base.d.ts +26 -5
  8. package/dist/cramFile/codecs/_base.js +3 -39
  9. package/dist/cramFile/codecs/_base.js.map +1 -1
  10. package/dist/cramFile/codecs/beta.d.ts +7 -3
  11. package/dist/cramFile/codecs/beta.js +13 -31
  12. package/dist/cramFile/codecs/beta.js.map +1 -1
  13. package/dist/cramFile/codecs/byteArrayLength.d.ts +13 -7
  14. package/dist/cramFile/codecs/byteArrayLength.js +22 -41
  15. package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
  16. package/dist/cramFile/codecs/byteArrayStop.d.ts +9 -5
  17. package/dist/cramFile/codecs/byteArrayStop.js +25 -46
  18. package/dist/cramFile/codecs/byteArrayStop.js.map +1 -1
  19. package/dist/cramFile/codecs/dataSeriesTypes.d.ts +4 -0
  20. package/dist/cramFile/codecs/dataSeriesTypes.js +3 -0
  21. package/dist/cramFile/codecs/dataSeriesTypes.js.map +1 -0
  22. package/dist/cramFile/codecs/external.d.ts +10 -6
  23. package/dist/cramFile/codecs/external.js +26 -44
  24. package/dist/cramFile/codecs/external.js.map +1 -1
  25. package/dist/cramFile/codecs/gamma.d.ts +7 -3
  26. package/dist/cramFile/codecs/gamma.js +16 -34
  27. package/dist/cramFile/codecs/gamma.js.map +1 -1
  28. package/dist/cramFile/codecs/getBits.d.ts +7 -0
  29. package/dist/cramFile/codecs/getBits.js +26 -0
  30. package/dist/cramFile/codecs/getBits.js.map +1 -0
  31. package/dist/cramFile/codecs/huffman.d.ts +17 -13
  32. package/dist/cramFile/codecs/huffman.js +76 -85
  33. package/dist/cramFile/codecs/huffman.js.map +1 -1
  34. package/dist/cramFile/codecs/index.d.ts +4 -2
  35. package/dist/cramFile/codecs/index.js +12 -13
  36. package/dist/cramFile/codecs/index.js.map +1 -1
  37. package/dist/cramFile/codecs/subexp.d.ts +7 -3
  38. package/dist/cramFile/codecs/subexp.js +19 -36
  39. package/dist/cramFile/codecs/subexp.js.map +1 -1
  40. package/dist/cramFile/constants.d.ts +35 -35
  41. package/dist/cramFile/constants.js +1 -1
  42. package/dist/cramFile/constants.js.map +1 -1
  43. package/dist/cramFile/container/compressionScheme.d.ts +57 -11
  44. package/dist/cramFile/container/compressionScheme.js +37 -32
  45. package/dist/cramFile/container/compressionScheme.js.map +1 -1
  46. package/dist/cramFile/container/index.d.ts +23 -9
  47. package/dist/cramFile/container/index.js +74 -144
  48. package/dist/cramFile/container/index.js.map +1 -1
  49. package/dist/cramFile/encoding.d.ts +78 -0
  50. package/dist/cramFile/encoding.js +3 -0
  51. package/dist/cramFile/encoding.js.map +1 -0
  52. package/dist/cramFile/file.d.ts +91 -41
  53. package/dist/cramFile/file.js +234 -368
  54. package/dist/cramFile/file.js.map +1 -1
  55. package/dist/cramFile/filehandle.d.ts +2 -0
  56. package/dist/cramFile/filehandle.js +3 -0
  57. package/dist/cramFile/filehandle.js.map +1 -0
  58. package/dist/cramFile/index.d.ts +1 -1
  59. package/dist/cramFile/index.js +1 -1
  60. package/dist/cramFile/index.js.map +1 -1
  61. package/dist/cramFile/record.d.ts +61 -17
  62. package/dist/cramFile/record.js +153 -77
  63. package/dist/cramFile/record.js.map +1 -1
  64. package/dist/cramFile/sectionParsers.d.ts +99 -8
  65. package/dist/cramFile/sectionParsers.js +70 -80
  66. package/dist/cramFile/sectionParsers.js.map +1 -1
  67. package/dist/cramFile/slice/decodeRecord.d.ts +30 -2
  68. package/dist/cramFile/slice/decodeRecord.js +148 -118
  69. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  70. package/dist/cramFile/slice/index.d.ts +21 -14
  71. package/dist/cramFile/slice/index.js +286 -381
  72. package/dist/cramFile/slice/index.js.map +1 -1
  73. package/dist/cramFile/util.d.ts +11 -5
  74. package/dist/cramFile/util.js +19 -97
  75. package/dist/cramFile/util.js.map +1 -1
  76. package/dist/errors.d.ts +5 -10
  77. package/dist/errors.js +11 -62
  78. package/dist/errors.js.map +1 -1
  79. package/dist/index.d.ts +3 -3
  80. package/dist/index.js +3 -3
  81. package/dist/index.js.map +1 -1
  82. package/dist/indexedCramFile.d.ts +37 -12
  83. package/dist/indexedCramFile.js +114 -154
  84. package/dist/indexedCramFile.js.map +1 -1
  85. package/dist/io/index.d.ts +5 -5
  86. package/dist/io/index.js +9 -9
  87. package/dist/io/index.js.map +1 -1
  88. package/dist/rans/constants.js +3 -3
  89. package/dist/rans/constants.js.map +1 -1
  90. package/dist/rans/d04.js +15 -15
  91. package/dist/rans/d04.js.map +1 -1
  92. package/dist/rans/d14.js +21 -21
  93. package/dist/rans/d14.js.map +1 -1
  94. package/dist/rans/decoding.js +27 -30
  95. package/dist/rans/decoding.js.map +1 -1
  96. package/dist/rans/frequencies.js +11 -11
  97. package/dist/rans/frequencies.js.map +1 -1
  98. package/dist/rans/index.js +46 -49
  99. package/dist/rans/index.js.map +1 -1
  100. package/dist/sam.d.ts +8 -1
  101. package/dist/sam.js +7 -7
  102. package/dist/sam.js.map +1 -1
  103. package/dist/typescript.d.ts +3 -0
  104. package/dist/typescript.js +11 -0
  105. package/dist/typescript.js.map +1 -0
  106. package/dist/unzip-pako.js +1 -1
  107. package/dist/unzip-pako.js.map +1 -1
  108. package/dist/unzip.js +1 -1
  109. package/dist/unzip.js.map +1 -1
  110. package/errors.js +11 -62
  111. package/esm/craiIndex.d.ts +19 -12
  112. package/esm/craiIndex.js +8 -24
  113. package/esm/craiIndex.js.map +1 -1
  114. package/esm/cramFile/codecs/_base.d.ts +26 -5
  115. package/esm/cramFile/codecs/_base.js +1 -35
  116. package/esm/cramFile/codecs/_base.js.map +1 -1
  117. package/esm/cramFile/codecs/beta.d.ts +7 -3
  118. package/esm/cramFile/codecs/beta.js +4 -3
  119. package/esm/cramFile/codecs/beta.js.map +1 -1
  120. package/esm/cramFile/codecs/byteArrayLength.d.ts +13 -7
  121. package/esm/cramFile/codecs/byteArrayLength.js +1 -1
  122. package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
  123. package/esm/cramFile/codecs/byteArrayStop.d.ts +9 -5
  124. package/esm/cramFile/codecs/byteArrayStop.js +7 -9
  125. package/esm/cramFile/codecs/byteArrayStop.js.map +1 -1
  126. package/esm/cramFile/codecs/dataSeriesTypes.d.ts +4 -0
  127. package/esm/cramFile/codecs/dataSeriesTypes.js +2 -0
  128. package/esm/cramFile/codecs/dataSeriesTypes.js.map +1 -0
  129. package/esm/cramFile/codecs/external.d.ts +10 -6
  130. package/esm/cramFile/codecs/external.js +4 -3
  131. package/esm/cramFile/codecs/external.js.map +1 -1
  132. package/esm/cramFile/codecs/gamma.d.ts +7 -3
  133. package/esm/cramFile/codecs/gamma.js +5 -4
  134. package/esm/cramFile/codecs/gamma.js.map +1 -1
  135. package/esm/cramFile/codecs/getBits.d.ts +7 -0
  136. package/esm/cramFile/codecs/getBits.js +21 -0
  137. package/esm/cramFile/codecs/getBits.js.map +1 -0
  138. package/esm/cramFile/codecs/huffman.d.ts +17 -13
  139. package/esm/cramFile/codecs/huffman.js +22 -9
  140. package/esm/cramFile/codecs/huffman.js.map +1 -1
  141. package/esm/cramFile/codecs/index.d.ts +4 -2
  142. package/esm/cramFile/codecs/index.js +1 -1
  143. package/esm/cramFile/codecs/index.js.map +1 -1
  144. package/esm/cramFile/codecs/subexp.d.ts +7 -3
  145. package/esm/cramFile/codecs/subexp.js +7 -5
  146. package/esm/cramFile/codecs/subexp.js.map +1 -1
  147. package/esm/cramFile/constants.d.ts +35 -35
  148. package/esm/cramFile/constants.js.map +1 -1
  149. package/esm/cramFile/container/compressionScheme.d.ts +57 -11
  150. package/esm/cramFile/container/compressionScheme.js +15 -8
  151. package/esm/cramFile/container/compressionScheme.js.map +1 -1
  152. package/esm/cramFile/container/index.d.ts +23 -9
  153. package/esm/cramFile/container/index.js +11 -9
  154. package/esm/cramFile/container/index.js.map +1 -1
  155. package/esm/cramFile/encoding.d.ts +78 -0
  156. package/esm/cramFile/encoding.js +2 -0
  157. package/esm/cramFile/encoding.js.map +1 -0
  158. package/esm/cramFile/file.d.ts +91 -41
  159. package/esm/cramFile/file.js +59 -47
  160. package/esm/cramFile/file.js.map +1 -1
  161. package/esm/cramFile/filehandle.d.ts +2 -0
  162. package/esm/cramFile/filehandle.js +2 -0
  163. package/esm/cramFile/filehandle.js.map +1 -0
  164. package/esm/cramFile/index.d.ts +1 -1
  165. package/esm/cramFile/index.js.map +1 -1
  166. package/esm/cramFile/record.d.ts +61 -17
  167. package/esm/cramFile/record.js +83 -5
  168. package/esm/cramFile/record.js.map +1 -1
  169. package/esm/cramFile/sectionParsers.d.ts +99 -8
  170. package/esm/cramFile/sectionParsers.js +7 -17
  171. package/esm/cramFile/sectionParsers.js.map +1 -1
  172. package/esm/cramFile/slice/decodeRecord.d.ts +30 -2
  173. package/esm/cramFile/slice/decodeRecord.js +102 -70
  174. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  175. package/esm/cramFile/slice/index.d.ts +21 -14
  176. package/esm/cramFile/slice/index.js +77 -38
  177. package/esm/cramFile/slice/index.js.map +1 -1
  178. package/esm/cramFile/util.d.ts +11 -5
  179. package/esm/cramFile/util.js +11 -82
  180. package/esm/cramFile/util.js.map +1 -1
  181. package/esm/errors.d.ts +5 -10
  182. package/esm/errors.js +0 -5
  183. package/esm/errors.js.map +1 -1
  184. package/esm/index.d.ts +3 -3
  185. package/esm/index.js.map +1 -1
  186. package/esm/indexedCramFile.d.ts +37 -12
  187. package/esm/indexedCramFile.js +19 -8
  188. package/esm/indexedCramFile.js.map +1 -1
  189. package/esm/io/index.d.ts +5 -5
  190. package/esm/io/index.js +3 -3
  191. package/esm/io/index.js.map +1 -1
  192. package/esm/sam.d.ts +8 -1
  193. package/esm/sam.js.map +1 -1
  194. package/esm/typescript.d.ts +3 -0
  195. package/esm/typescript.js +7 -0
  196. package/esm/typescript.js.map +1 -0
  197. package/package.json +18 -11
  198. package/src/{craiIndex.js → craiIndex.ts} +37 -31
  199. package/src/cramFile/codecs/_base.ts +45 -0
  200. package/src/cramFile/codecs/beta.ts +34 -0
  201. package/src/cramFile/codecs/{byteArrayLength.js → byteArrayLength.ts} +27 -5
  202. package/src/cramFile/codecs/{byteArrayStop.js → byteArrayStop.ts} +25 -12
  203. package/src/cramFile/codecs/dataSeriesTypes.ts +39 -0
  204. package/src/cramFile/codecs/{external.js → external.ts} +28 -12
  205. package/src/cramFile/codecs/gamma.ts +42 -0
  206. package/src/cramFile/codecs/getBits.ts +28 -0
  207. package/src/cramFile/codecs/{huffman.js → huffman.ts} +48 -15
  208. package/src/cramFile/codecs/{index.js → index.ts} +9 -3
  209. package/src/cramFile/codecs/subexp.ts +45 -0
  210. package/src/cramFile/{constants.js → constants.ts} +0 -0
  211. package/src/cramFile/container/{compressionScheme.js → compressionScheme.ts} +50 -18
  212. package/src/cramFile/container/{index.js → index.ts} +13 -13
  213. package/src/cramFile/encoding.ts +98 -0
  214. package/src/cramFile/{file.js → file.ts} +136 -62
  215. package/src/cramFile/filehandle.ts +3 -0
  216. package/src/cramFile/{index.js → index.ts} +0 -0
  217. package/src/cramFile/{record.js → record.ts} +185 -14
  218. package/src/cramFile/{sectionParsers.js → sectionParsers.ts} +148 -20
  219. package/src/cramFile/slice/{decodeRecord.js → decodeRecord.ts} +158 -105
  220. package/src/cramFile/slice/{index.js → index.ts} +138 -63
  221. package/src/cramFile/{util.js → util.ts} +28 -17
  222. package/src/{errors.js → errors.ts} +0 -5
  223. package/src/{index.js → index.ts} +0 -0
  224. package/src/{indexedCramFile.js → indexedCramFile.ts} +79 -19
  225. package/src/io/{index.js → index.ts} +10 -5
  226. package/src/{sam.js → sam.ts} +7 -2
  227. package/src/typescript.ts +17 -0
  228. package/src/typings/binary-parser.d.ts +44 -0
  229. package/src/typings/bzip2.d.ts +7 -0
  230. package/src/typings/htscodecs.d.ts +6 -0
  231. package/dist/io/bufferCache.d.ts +0 -12
  232. package/dist/io/bufferCache.js +0 -112
  233. package/dist/io/bufferCache.js.map +0 -1
  234. package/dist/io/localFile.d.ts +0 -10
  235. package/dist/io/localFile.js +0 -108
  236. package/dist/io/localFile.js.map +0 -1
  237. package/dist/io/remoteFile.d.ts +0 -16
  238. package/dist/io/remoteFile.js +0 -143
  239. package/dist/io/remoteFile.js.map +0 -1
  240. package/esm/io/bufferCache.d.ts +0 -12
  241. package/esm/io/bufferCache.js +0 -54
  242. package/esm/io/bufferCache.js.map +0 -1
  243. package/esm/io/localFile.d.ts +0 -10
  244. package/esm/io/localFile.js +0 -31
  245. package/esm/io/localFile.js.map +0 -1
  246. package/esm/io/remoteFile.d.ts +0 -16
  247. package/esm/io/remoteFile.js +0 -64
  248. package/esm/io/remoteFile.js.map +0 -1
  249. package/src/cramFile/codecs/_base.js +0 -49
  250. package/src/cramFile/codecs/beta.js +0 -23
  251. package/src/cramFile/codecs/gamma.js +0 -30
  252. package/src/cramFile/codecs/subexp.js +0 -32
  253. package/src/io/bufferCache.js +0 -66
  254. package/src/io/localFile.js +0 -35
  255. package/src/io/remoteFile.js +0 -71
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,109 @@
1
- export namespace cramFileDefinition {
2
- const parser: any;
3
- const maxLength: number;
4
- }
5
- export function getSectionParsers(majorVersion: any): {
1
+ import { Parser } from '@gmod/binary-parser';
2
+ import { TupleOf } from '../typescript';
3
+ import { ParsedItem } from './util';
4
+ import { DataSeriesEncodingMap } from './codecs/dataSeriesTypes';
5
+ import { CramEncoding } from './encoding';
6
+ declare const cramFileDefinition: {
7
+ parser: Parser<unknown>;
8
+ maxLength: number;
9
+ };
10
+ export declare type CramTagDictionary = string[][];
11
+ export declare type CramPreservationMap = {
12
+ MI: boolean;
13
+ UI: boolean;
14
+ PI: boolean;
15
+ RN: boolean;
16
+ AP: boolean;
17
+ RR: boolean;
18
+ SM: [number, number, number, number, number];
19
+ TD: CramTagDictionary;
20
+ };
21
+ export declare type MappedSliceHeader = {
22
+ refSeqId: number;
23
+ refSeqStart: number;
24
+ refSeqSpan: number;
25
+ numRecords: number;
26
+ recordCounter: number;
27
+ numBlocks: number;
28
+ numContentIds: number;
29
+ contentIds: number[];
30
+ refBaseBlockId: number;
31
+ md5: TupleOf<number, 16>;
32
+ };
33
+ export declare type UnmappedSliceHeader = {
34
+ numRecords: number;
35
+ recordCounter: number;
36
+ numBlocks: number;
37
+ numContentIds: number;
38
+ contentIds: number[];
39
+ md5: TupleOf<number, 16>;
40
+ };
41
+ export declare function isMappedSliceHeader(header: MappedSliceHeader | UnmappedSliceHeader): header is MappedSliceHeader;
42
+ export declare type CompressionMethod = 'raw' | 'gzip' | 'bzip2' | 'lzma' | 'rans' | 'rans4x16' | 'arith' | 'fqzcomp' | 'tok3';
43
+ export declare type BlockHeader = {
44
+ compressionMethod: CompressionMethod;
45
+ contentType: 'FILE_HEADER' | 'COMPRESSION_HEADER' | 'MAPPED_SLICE_HEADER' | 'UNMAPPED_SLICE_HEADER' | 'EXTERNAL_DATA' | 'CORE_DATA';
46
+ contentId: number;
47
+ compressedSize: number;
48
+ uncompressedSize: number;
49
+ };
50
+ export declare type CramCompressionHeader = ParsedItem<{
51
+ preservation: CramPreservationMap;
52
+ dataSeriesEncoding: DataSeriesEncodingMap;
53
+ tagEncoding: Record<string, CramEncoding>;
54
+ }>;
55
+ declare function getSectionParsers(majorVersion: number): {
6
56
  cramFileDefinition: {
7
- parser: any;
57
+ parser: Parser<{
58
+ magic: string;
59
+ majorVersion: number;
60
+ minorVersion: number;
61
+ fileId: string;
62
+ }>;
8
63
  maxLength: number;
9
64
  };
65
+ cramContainerHeader1: {
66
+ parser: Parser<{
67
+ length: number;
68
+ refSeqId: number;
69
+ refSeqStart: number;
70
+ alignmentSpan: number;
71
+ numRecords: number;
72
+ recordCounter: number;
73
+ numBases: number;
74
+ numBlocks: number;
75
+ numLandmarks: number;
76
+ }>;
77
+ maxLength: number;
78
+ };
79
+ cramContainerHeader2: {
80
+ parser: Parser<{
81
+ numLandmarks: number;
82
+ landmarks: number[];
83
+ crc32: number;
84
+ }>;
85
+ maxLength: (x: number) => number;
86
+ };
10
87
  cramBlockHeader: {
11
- parser: any;
88
+ parser: Parser<BlockHeader>;
12
89
  maxLength: number;
13
90
  };
14
91
  cramBlockCrc32: {
15
- parser: any;
92
+ parser: Parser<{
93
+ crc32: number;
94
+ }>;
16
95
  maxLength: number;
17
96
  };
97
+ cramCompressionHeader: {
98
+ parser: Parser<CramCompressionHeader>;
99
+ };
100
+ cramMappedSliceHeader: {
101
+ parser: Parser<MappedSliceHeader>;
102
+ maxLength: (numContentIds: number) => number;
103
+ };
104
+ cramUnmappedSliceHeader: {
105
+ parser: Parser<UnmappedSliceHeader>;
106
+ maxLength: (numContentIds: number) => number;
107
+ };
18
108
  };
109
+ export { cramFileDefinition, getSectionParsers };
@@ -54,18 +54,6 @@ const cramBlockCrc32 = {
54
54
  parser: new Parser().uint32('crc32'),
55
55
  maxLength: 4,
56
56
  };
57
- // const ENCODING_NAMES = [
58
- // 'NULL', // 0
59
- // 'EXTERNAL', // 1
60
- // 'GOLOMB', // 2
61
- // 'HUFFMAN_INT', // 3
62
- // 'BYTE_ARRAY_LEN', // 4
63
- // 'BYTE_ARRAY_STOP', // 5
64
- // 'BETA', // 6
65
- // 'SUBEXP', // 7
66
- // 'GOLOMB_RICE', // 8
67
- // 'GAMMA', // 9
68
- // ]
69
57
  const cramTagDictionary = new Parser().itf8('size').buffer('ents', {
70
58
  length: 'size',
71
59
  formatter: /* istanbul ignore next */ /* istanbul ignore next */ buffer => {
@@ -143,6 +131,9 @@ const unversionedParsers = {
143
131
  cramBlockHeader,
144
132
  cramBlockCrc32,
145
133
  };
134
+ export function isMappedSliceHeader(header) {
135
+ return typeof header.refSeqId === 'number';
136
+ }
146
137
  // each of these is a function of the major and minor version
147
138
  const versionedParsers = {
148
139
  // assemble a section parser for the unmapped slice header, with slight
@@ -173,7 +164,7 @@ const versionedParsers = {
173
164
  parser = parser.array('md5', { type: 'uint8', length: 16 });
174
165
  maxLength += 16;
175
166
  }
176
- const maxLengthFunc = numContentIds => maxLength + numContentIds * 5;
167
+ const maxLengthFunc = (numContentIds) => maxLength + numContentIds * 5;
177
168
  return { parser, maxLength: maxLengthFunc }; // : p, maxLength: numContentIds => 5 + 9 + 5 * 2 + 5 * numContentIds + 16 }
178
169
  },
179
170
  // assembles a section parser for the unmapped slice header, with slight
@@ -207,7 +198,7 @@ const versionedParsers = {
207
198
  parser = parser.array('md5', { type: 'uint8', length: 16 });
208
199
  maxLength += 16;
209
200
  }
210
- const maxLengthFunc = numContentIds => maxLength + numContentIds * 5;
201
+ const maxLengthFunc = (numContentIds) => maxLength + numContentIds * 5;
211
202
  return { parser, maxLength: maxLengthFunc };
212
203
  },
213
204
  cramEncoding(majorVersion) {
@@ -231,8 +222,7 @@ const versionedParsers = {
231
222
  .nest('lengthsEncoding', { type: 'cramEncoding' })
232
223
  .nest('valuesEncoding', { type: 'cramEncoding' }),
233
224
  // BYTE_ARRAY_STOP is a little different for CRAM v1
234
- 5: new Parser()
235
- .uint8('stopByte')[majorVersion > 1 ? 'itf8' : 'int']('blockContentId'),
225
+ 5: new Parser().uint8('stopByte').itf8('blockContentId'),
236
226
  6: new Parser().itf8('offset').itf8('length'),
237
227
  7: new Parser().itf8('offset').itf8('K'),
238
228
  8: new Parser().itf8('offset').itf8('log2m'),
@@ -332,7 +322,7 @@ const versionedParsers = {
332
322
  }
333
323
  return {
334
324
  parser,
335
- maxLength: numLandmarks => 5 + numLandmarks * 5 + crcLength,
325
+ maxLength: (numLandmarks) => 5 + numLandmarks * 5 + crcLength,
336
326
  };
337
327
  },
338
328
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sectionParsers.js","sourceRoot":"","sources":["../../src/cramFile/sectionParsers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sectionParsers.js","sourceRoot":"","sources":["../../src/cramFile/sectionParsers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,30 @@
1
- export default function decodeRecord(slice: any, decodeDataSeries: any, compressionScheme: any, sliceHeader: any, coreDataBlock: any, blocksByContentId: any, cursors: any, majorVersion: any, recordNumber: any): CramRecord;
2
- import CramRecord from "../record";
1
+ import { ReadFeature } from '../record';
2
+ import CramSlice, { SliceHeader } from './index';
3
+ import CramContainerCompressionScheme, { DataSeriesTypes } from '../container/compressionScheme';
4
+ import { CramFileBlock } from '../file';
5
+ import { Cursors, DataTypeMapping } from '../codecs/_base';
6
+ import { DataSeriesEncodingKey } from '../codecs/dataSeriesTypes';
7
+ export declare type DataSeriesDecoder = <T extends DataSeriesEncodingKey>(dataSeriesName: T) => DataTypeMapping[DataSeriesTypes[T]];
8
+ export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSeriesDecoder, compressionScheme: CramContainerCompressionScheme, sliceHeader: SliceHeader, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, majorVersion: number, recordNumber: number): {
9
+ readLength: number;
10
+ sequenceId: number;
11
+ cramFlags: number;
12
+ flags: number;
13
+ alignmentStart: number;
14
+ readGroupId: number;
15
+ readName: string | undefined;
16
+ mateToUse: {
17
+ mateFlags: number;
18
+ mateSequenceId: number;
19
+ mateAlignmentStart: number;
20
+ mateReadName: string | undefined;
21
+ } | undefined;
22
+ templateSize: number | undefined;
23
+ mateRecordNumber: number | undefined;
24
+ readFeatures: ReadFeature[] | undefined;
25
+ lengthOnRef: number | undefined;
26
+ mappingQuality: number | undefined;
27
+ qualityScores: number[] | null | undefined;
28
+ readBases: string | null | undefined;
29
+ tags: Record<string, any>;
30
+ };
@@ -1,7 +1,7 @@
1
1
  import Long from 'long';
2
2
  import { CramMalformedError } from '../../errors';
3
- import CramRecord from '../record';
4
- import Constants from '../constants';
3
+ import { BamFlagsDecoder, CramFlagsDecoder, MateFlagsDecoder, } from '../record';
4
+ import { isMappedSliceHeader } from '../sectionParsers';
5
5
  /**
6
6
  * given a Buffer, read a string up to the first null character
7
7
  * @private
@@ -105,9 +105,9 @@ function parseTagData(tagType, buffer) {
105
105
  }
106
106
  throw new CramMalformedError(`Unrecognized tag type ${tagType}`);
107
107
  }
108
- function decodeReadFeatures(cramRecord, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion) {
108
+ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion) {
109
109
  let currentReadPos = 0;
110
- let currentRefPos = cramRecord.alignmentStart - 1;
110
+ let currentRefPos = alignmentStart - 1;
111
111
  const readFeatures = new Array(readFeatureCount);
112
112
  function decodeRFData([type, dataSeriesName]) {
113
113
  const data = decodeDataSeries(dataSeriesName);
@@ -128,7 +128,6 @@ function decodeReadFeatures(cramRecord, readFeatureCount, decodeDataSeries, comp
128
128
  for (let i = 0; i < readFeatureCount; i += 1) {
129
129
  const code = String.fromCharCode(decodeDataSeries('FC'));
130
130
  const readPosDelta = decodeDataSeries('FP');
131
- const readFeature = { code };
132
131
  // map of operator name -> data series name
133
132
  const data1Schema = {
134
133
  B: ['character', 'BA'],
@@ -147,81 +146,94 @@ function decodeReadFeatures(cramRecord, readFeatureCount, decodeDataSeries, comp
147
146
  if (!data1Schema) {
148
147
  throw new CramMalformedError(`invalid read feature code "${code}"`);
149
148
  }
150
- readFeature.data = decodeRFData(data1Schema);
149
+ let data = decodeRFData(data1Schema);
151
150
  // if this is a tag with two data items, make the data an array and add the second item
152
151
  const data2Schema = { B: ['number', 'QS'] }[code];
153
152
  if (data2Schema) {
154
- readFeature.data = [readFeature.data, decodeRFData(data2Schema)];
153
+ data = [data, decodeRFData(data2Schema)];
155
154
  }
156
155
  currentReadPos += readPosDelta;
157
- readFeature.pos = currentReadPos;
156
+ const pos = currentReadPos;
158
157
  currentRefPos += readPosDelta;
159
- readFeature.refPos = currentRefPos;
158
+ const refPos = currentRefPos;
160
159
  // for gapping features, adjust the reference position for read features that follow
161
160
  if (code === 'D' || code === 'N') {
162
- currentRefPos += readFeature.data;
161
+ currentRefPos += data;
163
162
  }
164
163
  else if (code === 'I' || code === 'S') {
165
- currentRefPos -= readFeature.data.length;
164
+ currentRefPos -= data.length;
166
165
  }
167
166
  else if (code === 'i') {
168
167
  currentRefPos -= 1;
169
168
  }
170
- readFeatures[i] = readFeature;
169
+ readFeatures[i] = { code, pos, refPos, data };
171
170
  }
172
171
  return readFeatures;
173
172
  }
174
173
  export default function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber) {
175
- const cramRecord = new CramRecord();
176
- cramRecord.flags = decodeDataSeries('BF');
174
+ let flags = decodeDataSeries('BF');
177
175
  // note: the C data type of compressionFlags is byte in cram v1
178
176
  // and int32 in cram v2+, but that does not matter for us here
179
177
  // in javascript land.
180
- cramRecord.cramFlags = decodeDataSeries('CF');
181
- if (majorVersion > 1 && sliceHeader.content.refSeqId === -2) {
182
- cramRecord.sequenceId = decodeDataSeries('RI');
178
+ const cramFlags = decodeDataSeries('CF');
179
+ if (!isMappedSliceHeader(sliceHeader.parsedContent)) {
180
+ throw new Error();
181
+ }
182
+ let sequenceId;
183
+ if (majorVersion > 1 && sliceHeader.parsedContent.refSeqId === -2) {
184
+ sequenceId = decodeDataSeries('RI');
183
185
  }
184
186
  else {
185
- cramRecord.sequenceId = sliceHeader.content.refSeqId;
187
+ sequenceId = sliceHeader.parsedContent.refSeqId;
186
188
  }
187
- cramRecord.readLength = decodeDataSeries('RL');
189
+ const readLength = decodeDataSeries('RL');
188
190
  // if APDelta, will calculate the true start in a second pass
189
- cramRecord.alignmentStart = decodeDataSeries('AP');
191
+ let alignmentStart = decodeDataSeries('AP');
190
192
  if (compressionScheme.APdelta) {
191
- cramRecord.alignmentStart += cursors.lastAlignmentStart;
193
+ alignmentStart = alignmentStart + cursors.lastAlignmentStart;
192
194
  }
193
- cursors.lastAlignmentStart = cramRecord.alignmentStart;
194
- cramRecord.readGroupId = decodeDataSeries('RG');
195
+ cursors.lastAlignmentStart = alignmentStart;
196
+ const readGroupId = decodeDataSeries('RG');
197
+ let readName;
195
198
  if (compressionScheme.readNamesIncluded) {
196
- cramRecord.readName = readNullTerminatedString(decodeDataSeries('RN'));
199
+ readName = readNullTerminatedString(decodeDataSeries('RN'));
197
200
  }
201
+ let mateToUse;
202
+ let templateSize;
203
+ let mateRecordNumber;
198
204
  // mate record
199
- if (cramRecord.isDetached()) {
205
+ if (CramFlagsDecoder.isDetached(cramFlags)) {
200
206
  // note: the MF is a byte in 1.0, int32 in 2+, but once again this doesn't matter for javascript
201
- const mate = {};
202
- mate.flags = decodeDataSeries('MF');
207
+ // const mate: any = {}
208
+ const mateFlags = decodeDataSeries('MF');
209
+ let mateReadName;
203
210
  if (!compressionScheme.readNamesIncluded) {
204
- mate.readName = readNullTerminatedString(decodeDataSeries('RN'));
205
- cramRecord.readName = mate.readName;
211
+ mateReadName = readNullTerminatedString(decodeDataSeries('RN'));
212
+ readName = mateReadName;
206
213
  }
207
- mate.sequenceId = decodeDataSeries('NS');
208
- mate.alignmentStart = decodeDataSeries('NP');
209
- if (mate.flags || mate.sequenceId > -1) {
210
- cramRecord.mate = mate;
214
+ const mateSequenceId = decodeDataSeries('NS');
215
+ const mateAlignmentStart = decodeDataSeries('NP');
216
+ if (mateFlags || mateSequenceId > -1) {
217
+ mateToUse = {
218
+ mateFlags,
219
+ mateSequenceId,
220
+ mateAlignmentStart,
221
+ mateReadName,
222
+ };
211
223
  }
212
- cramRecord.templateSize = decodeDataSeries('TS');
224
+ templateSize = decodeDataSeries('TS');
213
225
  // set mate unmapped if needed
214
- if (mate.flags & Constants.CRAM_M_UNMAP) {
215
- cramRecord.flags |= Constants.BAM_FMUNMAP;
226
+ if (MateFlagsDecoder.isUnmapped(mateFlags)) {
227
+ flags = BamFlagsDecoder.setMateUnmapped(flags);
216
228
  }
217
229
  // set mate reversed if needed
218
- if (mate.flags & Constants.CRAM_M_REVERSE) {
219
- cramRecord.flags |= Constants.BAM_FMREVERSE;
230
+ if (MateFlagsDecoder.isOnNegativeStrand(mateFlags)) {
231
+ flags = BamFlagsDecoder.setMateReverseComplemented(flags);
220
232
  }
221
233
  // detachedCount++
222
234
  }
223
- else if (cramRecord.hasMateDownStream()) {
224
- cramRecord.mateRecordNumber = decodeDataSeries('NF') + recordNumber + 1;
235
+ else if (CramFlagsDecoder.isWithMateDownstream(cramFlags)) {
236
+ mateRecordNumber = decodeDataSeries('NF') + recordNumber + 1;
225
237
  }
226
238
  // TODO: the aux tag parsing will have to be refactored if we want to support
227
239
  // cram v1
@@ -230,6 +242,7 @@ export default function decodeRecord(slice, decodeDataSeries, compressionScheme,
230
242
  /* TODO: check nTL: TLindex >= compressionHeader.tagEncoding.size */
231
243
  throw new CramMalformedError('invalid TL index');
232
244
  }
245
+ const tags = {};
233
246
  // TN = tag names
234
247
  const TN = compressionScheme.getTagNames(TLindex);
235
248
  const ntags = TN.length;
@@ -242,62 +255,81 @@ export default function decodeRecord(slice, decodeDataSeries, compressionScheme,
242
255
  throw new CramMalformedError(`no codec defined for auxiliary tag ${tagId}`);
243
256
  }
244
257
  const tagData = tagCodec.decode(slice, coreDataBlock, blocksByContentId, cursors);
245
- cramRecord.tags[tagName] = parseTagData(tagType, tagData);
246
- }
247
- if (!cramRecord.isSegmentUnmapped()) {
258
+ tags[tagName] = parseTagData(tagType, tagData);
259
+ }
260
+ let readFeatures;
261
+ let lengthOnRef;
262
+ let mappingQuality;
263
+ let qualityScores;
264
+ let readBases = undefined;
265
+ if (!BamFlagsDecoder.isSegmentUnmapped(flags)) {
248
266
  // reading read features
249
- const /* int */ readFeatureCount = decodeDataSeries('FN');
267
+ const readFeatureCount = decodeDataSeries('FN');
250
268
  if (readFeatureCount) {
251
- cramRecord.readFeatures = decodeReadFeatures(cramRecord, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion);
269
+ readFeatures = decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion);
252
270
  }
253
271
  // compute the read's true span on the reference sequence, and the end coordinate of the alignment on the reference
254
- let lengthOnRef = cramRecord.readLength;
255
- if (cramRecord.readFeatures) {
256
- cramRecord.readFeatures.forEach(({ code, data }) => {
272
+ lengthOnRef = readLength;
273
+ if (readFeatures) {
274
+ for (const { code, data } of readFeatures) {
257
275
  if (code === 'D' || code === 'N') {
258
276
  lengthOnRef += data;
259
277
  }
260
278
  else if (code === 'I' || code === 'S') {
261
- lengthOnRef -= data.length;
279
+ lengthOnRef = lengthOnRef - data.length;
262
280
  }
263
281
  else if (code === 'i') {
264
- lengthOnRef -= 1;
282
+ lengthOnRef = lengthOnRef - 1;
265
283
  }
266
- });
284
+ }
267
285
  }
268
286
  if (Number.isNaN(lengthOnRef)) {
269
- console.warn(`${cramRecord.readName ||
270
- `${cramRecord.sequenceId}:${cramRecord.alignmentStart}`} record has invalid read features`);
271
- lengthOnRef = cramRecord.readLength;
287
+ console.warn(`${readName || `${sequenceId}:${alignmentStart}`} record has invalid read features`);
288
+ lengthOnRef = readLength;
272
289
  }
273
- cramRecord.lengthOnRef = lengthOnRef;
274
290
  // mapping quality
275
- cramRecord.mappingQuality = decodeDataSeries('MQ');
276
- if (cramRecord.isPreservingQualityScores()) {
277
- const bases = new Array(cramRecord.readLength);
278
- for (let i = 0; i < bases.length; i += 1) {
279
- bases[i] = decodeDataSeries('QS');
291
+ mappingQuality = decodeDataSeries('MQ');
292
+ if (CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
293
+ qualityScores = new Array(readLength);
294
+ for (let i = 0; i < qualityScores.length; i++) {
295
+ qualityScores[i] = decodeDataSeries('QS');
280
296
  }
281
- cramRecord.qualityScores = bases;
282
297
  }
283
298
  }
284
- else if (cramRecord.isUnknownBases()) {
285
- cramRecord.readBases = null;
286
- cramRecord.qualityScores = null;
299
+ else if (CramFlagsDecoder.isDecodeSequenceAsStar(cramFlags)) {
300
+ readBases = null;
301
+ qualityScores = null;
287
302
  }
288
303
  else {
289
- const bases = new Array(cramRecord.readLength);
304
+ const bases = new Array(readLength);
290
305
  for (let i = 0; i < bases.length; i += 1) {
291
306
  bases[i] = decodeDataSeries('BA');
292
307
  }
293
- cramRecord.readBases = String.fromCharCode(...bases);
294
- if (cramRecord.isPreservingQualityScores()) {
308
+ readBases = String.fromCharCode(...bases);
309
+ if (CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
310
+ qualityScores = new Array(readLength);
295
311
  for (let i = 0; i < bases.length; i += 1) {
296
- bases[i] = decodeDataSeries('QS');
312
+ qualityScores[i] = decodeDataSeries('QS');
297
313
  }
298
- cramRecord.qualityScores = bases;
299
314
  }
300
315
  }
301
- return cramRecord;
316
+ return {
317
+ readLength,
318
+ sequenceId,
319
+ cramFlags,
320
+ flags,
321
+ alignmentStart,
322
+ readGroupId,
323
+ readName,
324
+ mateToUse,
325
+ templateSize,
326
+ mateRecordNumber,
327
+ readFeatures,
328
+ lengthOnRef,
329
+ mappingQuality,
330
+ qualityScores,
331
+ readBases,
332
+ tags,
333
+ };
302
334
  }
303
335
  //# sourceMappingURL=decodeRecord.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decodeRecord.js","sourceRoot":"","sources":["../../../src/cramFile/slice/decodeRecord.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decodeRecord.js","sourceRoot":"","sources":["../../../src/cramFile/slice/decodeRecord.ts"],"names":[],"mappings":"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"}