@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":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { GenericFilehandle } from 'generic-filehandle';
2
+ export { GenericFilehandle as Filehandle };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=filehandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filehandle.js","sourceRoot":"","sources":["../../src/cramFile/filehandle.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
+ import CramFile from './file';
1
2
  export default CramFile;
2
- import CramFile from "./file";
@@ -3,6 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var file_1 = __importDefault(require("./file"));
6
+ const file_1 = __importDefault(require("./file"));
7
7
  exports.default = file_1.default;
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cramFile/index.js"],"names":[],"mappings":";;;;;AAAA,gDAA6B;AAE7B,kBAAe,cAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cramFile/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAA6B;AAE7B,kBAAe,cAAQ,CAAA"}
@@ -1,8 +1,63 @@
1
+ import CramContainerCompressionScheme from './container/compressionScheme';
2
+ import decodeRecord from './slice/decodeRecord';
3
+ export declare type RefRegion = {
4
+ start: number;
5
+ end: number;
6
+ seq: string;
7
+ };
8
+ export declare type ReadFeature = {
9
+ code: string;
10
+ pos: number;
11
+ refPos: number;
12
+ data: any;
13
+ ref?: string;
14
+ sub?: string;
15
+ };
16
+ export declare type MateRecord = {
17
+ readName?: string;
18
+ sequenceId: number;
19
+ alignmentStart: number;
20
+ flags?: number;
21
+ uniqueId?: number;
22
+ };
23
+ export declare const BamFlags: readonly [readonly [1, "Paired"], readonly [2, "ProperlyPaired"], readonly [4, "SegmentUnmapped"], readonly [8, "MateUnmapped"], readonly [16, "ReverseComplemented"], readonly [32, "MateReverseComplemented"], readonly [64, "Read1"], readonly [128, "Read2"], readonly [256, "Secondary"], readonly [512, "FailedQc"], readonly [1024, "Duplicate"], readonly [2048, "Supplementary"]];
24
+ export declare const CramFlags: readonly [readonly [1, "PreservingQualityScores"], readonly [2, "Detached"], readonly [4, "WithMateDownstream"], readonly [8, "DecodeSequenceAsStar"]];
25
+ export declare const MateFlags: readonly [readonly [1, "OnNegativeStrand"], readonly [2, "Unmapped"]];
26
+ declare type FlagsDecoder<Type> = {
27
+ [Property in Type as `is${Capitalize<string & Property>}`]: (flags: number) => boolean;
28
+ };
29
+ declare type FlagsEncoder<Type> = {
30
+ [Property in Type as `set${Capitalize<string & Property>}`]: (flags: number) => number;
31
+ };
32
+ export declare const BamFlagsDecoder: FlagsDecoder<"Paired" | "ProperlyPaired" | "SegmentUnmapped" | "MateUnmapped" | "ReverseComplemented" | "MateReverseComplemented" | "Read1" | "Read2" | "Secondary" | "FailedQc" | "Duplicate" | "Supplementary"> & FlagsEncoder<"Paired" | "ProperlyPaired" | "SegmentUnmapped" | "MateUnmapped" | "ReverseComplemented" | "MateReverseComplemented" | "Read1" | "Read2" | "Secondary" | "FailedQc" | "Duplicate" | "Supplementary">;
33
+ export declare const CramFlagsDecoder: FlagsDecoder<"PreservingQualityScores" | "Detached" | "WithMateDownstream" | "DecodeSequenceAsStar"> & FlagsEncoder<"PreservingQualityScores" | "Detached" | "WithMateDownstream" | "DecodeSequenceAsStar">;
34
+ export declare const MateFlagsDecoder: FlagsDecoder<"OnNegativeStrand" | "Unmapped"> & FlagsEncoder<"OnNegativeStrand" | "Unmapped">;
1
35
  /**
2
36
  * Class of each CRAM record returned by this API.
3
37
  */
4
38
  export default class CramRecord {
5
- tags: {};
39
+ tags: Record<string, string>;
40
+ flags: number;
41
+ cramFlags: number;
42
+ readBases?: string | null;
43
+ _refRegion?: RefRegion;
44
+ readFeatures?: ReadFeature[];
45
+ alignmentStart: number;
46
+ lengthOnRef: number | undefined;
47
+ readLength: number;
48
+ templateLength?: number;
49
+ templateSize?: number;
50
+ readName?: string;
51
+ mateRecordNumber?: number;
52
+ mate?: MateRecord;
53
+ uniqueId: number;
54
+ sequenceId: number;
55
+ readGroupId: number;
56
+ mappingQuality: number | undefined;
57
+ qualityScores: number[] | null | undefined;
58
+ constructor({ flags, cramFlags, readLength, mappingQuality, lengthOnRef, qualityScores, mateRecordNumber, readBases, readFeatures, mateToUse, readGroupId, readName, sequenceId, uniqueId, templateSize, alignmentStart, tags, }: ReturnType<typeof decodeRecord> & {
59
+ uniqueId: number;
60
+ });
6
61
  /**
7
62
  * @returns {boolean} true if the read is paired, regardless of whether both segments are mapped
8
63
  */
@@ -43,13 +98,12 @@ export default class CramRecord {
43
98
  * Get the original sequence of this read.
44
99
  * @returns {String} sequence basepairs
45
100
  */
46
- getReadBases(): string;
47
- readBases: any;
101
+ getReadBases(): string | null | undefined;
48
102
  /**
49
103
  * Get the pair orientation of a paired read. Adapted from igv.js
50
104
  * @returns {String} of paired orientatin
51
105
  */
52
- getPairOrientation(): string;
106
+ getPairOrientation(): string | null;
53
107
  /**
54
108
  * Annotates this feature with the given reference sequence basepair
55
109
  * information. This will add a `sub` and a `ref` item to base
@@ -63,17 +117,7 @@ export default class CramRecord {
63
117
  * @param {CramContainerCompressionScheme} compressionScheme
64
118
  * @returns {undefined} nothing
65
119
  */
66
- addReferenceSequence(refRegion: {
67
- start: number;
68
- end: number;
69
- seq: string;
70
- }, compressionScheme: CramContainerCompressionScheme): undefined;
71
- _refRegion: {
72
- start: number;
73
- end: number;
74
- seq: string;
75
- } | undefined;
76
- toJSON(): {
77
- readBases: string;
78
- };
120
+ addReferenceSequence(refRegion: RefRegion, compressionScheme: CramContainerCompressionScheme): void;
121
+ toJSON(): any;
79
122
  }
123
+ export {};
@@ -3,28 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var constants_1 = __importDefault(require("./constants"));
6
+ exports.MateFlagsDecoder = exports.CramFlagsDecoder = exports.BamFlagsDecoder = exports.MateFlags = exports.CramFlags = exports.BamFlags = void 0;
7
+ const constants_1 = __importDefault(require("./constants"));
7
8
  function decodeReadSequence(cramRecord, refRegion) {
8
9
  // if it has no length, it has no sequence
9
10
  if (!cramRecord.lengthOnRef && !cramRecord.readLength) {
10
- return undefined;
11
+ return null;
11
12
  }
12
13
  if (cramRecord.isUnknownBases()) {
13
- return undefined;
14
+ return null;
14
15
  }
15
16
  // remember: all coordinates are 1-based closed
16
- var regionSeqOffset = cramRecord.alignmentStart - refRegion.start;
17
+ const regionSeqOffset = cramRecord.alignmentStart - refRegion.start;
17
18
  if (!cramRecord.readFeatures) {
18
19
  return refRegion.seq
19
20
  .substr(regionSeqOffset, cramRecord.lengthOnRef)
20
21
  .toUpperCase();
21
22
  }
22
- var bases = '';
23
- var regionPos = regionSeqOffset;
24
- var currentReadFeature = 0;
23
+ let bases = '';
24
+ let regionPos = regionSeqOffset;
25
+ let currentReadFeature = 0;
25
26
  while (bases.length < cramRecord.readLength) {
26
27
  if (currentReadFeature < cramRecord.readFeatures.length) {
27
- var feature = cramRecord.readFeatures[currentReadFeature];
28
+ const feature = cramRecord.readFeatures[currentReadFeature];
28
29
  if (feature.code === 'Q' || feature.code === 'q') {
29
30
  currentReadFeature += 1;
30
31
  }
@@ -33,8 +34,8 @@ function decodeReadSequence(cramRecord, refRegion) {
33
34
  currentReadFeature += 1;
34
35
  if (feature.code === 'b') {
35
36
  // specify a base pair for some reason
36
- var ret = feature.data.split(',');
37
- var added = String.fromCharCode.apply(String, ret);
37
+ const ret = feature.data.split(',');
38
+ const added = String.fromCharCode(...ret);
38
39
  bases += added;
39
40
  regionPos += added.length;
40
41
  }
@@ -81,21 +82,21 @@ function decodeReadSequence(cramRecord, refRegion) {
81
82
  }
82
83
  else if (currentReadFeature < cramRecord.readFeatures.length) {
83
84
  // put down a chunk of sequence up to the next read feature
84
- var chunk = refRegion.seq.substr(regionPos, cramRecord.readFeatures[currentReadFeature].pos - bases.length - 1);
85
+ const chunk = refRegion.seq.substr(regionPos, cramRecord.readFeatures[currentReadFeature].pos - bases.length - 1);
85
86
  bases += chunk;
86
87
  regionPos += chunk.length;
87
88
  }
88
89
  }
89
90
  else {
90
91
  // put down a chunk of reference up to the full read length
91
- var chunk = refRegion.seq.substr(regionPos, cramRecord.readLength - bases.length);
92
+ const chunk = refRegion.seq.substr(regionPos, cramRecord.readLength - bases.length);
92
93
  bases += chunk;
93
94
  regionPos += chunk.length;
94
95
  }
95
96
  }
96
97
  return bases.toUpperCase();
97
98
  }
98
- var baseNumbers = {
99
+ const baseNumbers = {
99
100
  a: 0,
100
101
  A: 0,
101
102
  c: 1,
@@ -112,120 +113,195 @@ function decodeBaseSubstitution(cramRecord, refRegion, compressionScheme, readFe
112
113
  return;
113
114
  }
114
115
  // decode base substitution code using the substitution matrix
115
- var refCoord = readFeature.refPos - refRegion.start;
116
- var refBase = refRegion.seq.charAt(refCoord);
116
+ const refCoord = readFeature.refPos - refRegion.start;
117
+ const refBase = refRegion.seq.charAt(refCoord);
117
118
  if (refBase) {
118
119
  readFeature.ref = refBase;
119
120
  }
120
- var baseNumber = baseNumbers[refBase];
121
+ let baseNumber = baseNumbers[refBase];
121
122
  if (baseNumber === undefined) {
122
123
  baseNumber = 4;
123
124
  }
124
- var substitutionScheme = compressionScheme.substitutionMatrix[baseNumber];
125
- var base = substitutionScheme[readFeature.data];
125
+ const substitutionScheme = compressionScheme.substitutionMatrix[baseNumber];
126
+ const base = substitutionScheme[readFeature.data];
126
127
  if (base) {
127
128
  readFeature.sub = base;
128
129
  }
129
130
  }
131
+ exports.BamFlags = [
132
+ [0x1, 'Paired'],
133
+ [0x2, 'ProperlyPaired'],
134
+ [0x4, 'SegmentUnmapped'],
135
+ [0x8, 'MateUnmapped'],
136
+ [0x10, 'ReverseComplemented'],
137
+ // the mate is mapped to the reverse strand
138
+ [0x20, 'MateReverseComplemented'],
139
+ // this is read1
140
+ [0x40, 'Read1'],
141
+ // this is read2
142
+ [0x80, 'Read2'],
143
+ // not primary alignment
144
+ [0x100, 'Secondary'],
145
+ // QC failure
146
+ [0x200, 'FailedQc'],
147
+ // optical or PCR duplicate
148
+ [0x400, 'Duplicate'],
149
+ // supplementary alignment
150
+ [0x800, 'Supplementary'],
151
+ ];
152
+ exports.CramFlags = [
153
+ [0x1, 'PreservingQualityScores'],
154
+ [0x2, 'Detached'],
155
+ [0x4, 'WithMateDownstream'],
156
+ [0x8, 'DecodeSequenceAsStar'],
157
+ ];
158
+ exports.MateFlags = [
159
+ [0x1, 'OnNegativeStrand'],
160
+ [0x2, 'Unmapped'],
161
+ ];
162
+ function makeFlagsHelper(x) {
163
+ const r = {};
164
+ for (const [code, name] of x) {
165
+ r['is' + name] = (flags) => !!(flags & code);
166
+ r['set' + name] = (flags) => flags | code;
167
+ }
168
+ return r;
169
+ }
170
+ exports.BamFlagsDecoder = makeFlagsHelper(exports.BamFlags);
171
+ exports.CramFlagsDecoder = makeFlagsHelper(exports.CramFlags);
172
+ exports.MateFlagsDecoder = makeFlagsHelper(exports.MateFlags);
130
173
  /**
131
174
  * Class of each CRAM record returned by this API.
132
175
  */
133
- var CramRecord = /** @class */ (function () {
134
- function CramRecord() {
135
- this.tags = {};
176
+ class CramRecord {
177
+ constructor({ flags, cramFlags, readLength, mappingQuality, lengthOnRef, qualityScores, mateRecordNumber, readBases, readFeatures, mateToUse, readGroupId, readName, sequenceId, uniqueId, templateSize, alignmentStart, tags, }) {
178
+ this.flags = flags;
179
+ this.cramFlags = cramFlags;
180
+ this.readLength = readLength;
181
+ this.mappingQuality = mappingQuality;
182
+ this.lengthOnRef = lengthOnRef;
183
+ this.qualityScores = qualityScores;
184
+ if (readBases) {
185
+ this.readBases = readBases;
186
+ }
187
+ this.readGroupId = readGroupId;
188
+ this.readName = readName;
189
+ this.sequenceId = sequenceId;
190
+ this.uniqueId = uniqueId;
191
+ this.templateSize = templateSize;
192
+ this.alignmentStart = alignmentStart;
193
+ this.tags = tags;
194
+ // backwards compatibility
195
+ if (readFeatures) {
196
+ this.readFeatures = readFeatures;
197
+ }
198
+ if (mateToUse) {
199
+ this.mate = {
200
+ flags: mateToUse.mateFlags,
201
+ readName: mateToUse.mateReadName,
202
+ sequenceId: mateToUse.mateSequenceId,
203
+ alignmentStart: mateToUse.mateAlignmentStart,
204
+ };
205
+ }
206
+ if (mateRecordNumber) {
207
+ this.mateRecordNumber = mateRecordNumber;
208
+ }
136
209
  }
137
210
  /**
138
211
  * @returns {boolean} true if the read is paired, regardless of whether both segments are mapped
139
212
  */
140
- CramRecord.prototype.isPaired = function () {
213
+ isPaired() {
141
214
  return !!(this.flags & constants_1.default.BAM_FPAIRED);
142
- };
215
+ }
143
216
  /** @returns {boolean} true if the read is paired, and both segments are mapped */
144
- CramRecord.prototype.isProperlyPaired = function () {
217
+ isProperlyPaired() {
145
218
  return !!(this.flags & constants_1.default.BAM_FPROPER_PAIR);
146
- };
219
+ }
147
220
  /** @returns {boolean} true if the read itself is unmapped; conflictive with isProperlyPaired */
148
- CramRecord.prototype.isSegmentUnmapped = function () {
221
+ isSegmentUnmapped() {
149
222
  return !!(this.flags & constants_1.default.BAM_FUNMAP);
150
- };
223
+ }
151
224
  /** @returns {boolean} true if the read itself is unmapped; conflictive with isProperlyPaired */
152
- CramRecord.prototype.isMateUnmapped = function () {
225
+ isMateUnmapped() {
153
226
  return !!(this.flags & constants_1.default.BAM_FMUNMAP);
154
- };
227
+ }
155
228
  /** @returns {boolean} true if the read is mapped to the reverse strand */
156
- CramRecord.prototype.isReverseComplemented = function () {
229
+ isReverseComplemented() {
157
230
  return !!(this.flags & constants_1.default.BAM_FREVERSE);
158
- };
231
+ }
159
232
  /** @returns {boolean} true if the mate is mapped to the reverse strand */
160
- CramRecord.prototype.isMateReverseComplemented = function () {
233
+ isMateReverseComplemented() {
161
234
  return !!(this.flags & constants_1.default.BAM_FMREVERSE);
162
- };
235
+ }
163
236
  /** @returns {boolean} true if this is read number 1 in a pair */
164
- CramRecord.prototype.isRead1 = function () {
237
+ isRead1() {
165
238
  return !!(this.flags & constants_1.default.BAM_FREAD1);
166
- };
239
+ }
167
240
  /** @returns {boolean} true if this is read number 2 in a pair */
168
- CramRecord.prototype.isRead2 = function () {
241
+ isRead2() {
169
242
  return !!(this.flags & constants_1.default.BAM_FREAD2);
170
- };
243
+ }
171
244
  /** @returns {boolean} true if this is a secondary alignment */
172
- CramRecord.prototype.isSecondary = function () {
245
+ isSecondary() {
173
246
  return !!(this.flags & constants_1.default.BAM_FSECONDARY);
174
- };
247
+ }
175
248
  /** @returns {boolean} true if this read has failed QC checks */
176
- CramRecord.prototype.isFailedQc = function () {
249
+ isFailedQc() {
177
250
  return !!(this.flags & constants_1.default.BAM_FQCFAIL);
178
- };
251
+ }
179
252
  /** @returns {boolean} true if the read is an optical or PCR duplicate */
180
- CramRecord.prototype.isDuplicate = function () {
253
+ isDuplicate() {
181
254
  return !!(this.flags & constants_1.default.BAM_FDUP);
182
- };
255
+ }
183
256
  /** @returns {boolean} true if this is a supplementary alignment */
184
- CramRecord.prototype.isSupplementary = function () {
257
+ isSupplementary() {
185
258
  return !!(this.flags & constants_1.default.BAM_FSUPPLEMENTARY);
186
- };
259
+ }
187
260
  /**
188
261
  * @returns {boolean} true if the read is detached
189
262
  */
190
- CramRecord.prototype.isDetached = function () {
263
+ isDetached() {
191
264
  return !!(this.cramFlags & constants_1.default.CRAM_FLAG_DETACHED);
192
- };
265
+ }
193
266
  /** @returns {boolean} true if the read has a mate in this same CRAM segment */
194
- CramRecord.prototype.hasMateDownStream = function () {
267
+ hasMateDownStream() {
195
268
  return !!(this.cramFlags & constants_1.default.CRAM_FLAG_MATE_DOWNSTREAM);
196
- };
269
+ }
197
270
  /** @returns {boolean} true if the read contains qual scores */
198
- CramRecord.prototype.isPreservingQualityScores = function () {
271
+ isPreservingQualityScores() {
199
272
  return !!(this.cramFlags & constants_1.default.CRAM_FLAG_PRESERVE_QUAL_SCORES);
200
- };
273
+ }
201
274
  /** @returns {boolean} true if the read has no sequence bases */
202
- CramRecord.prototype.isUnknownBases = function () {
275
+ isUnknownBases() {
203
276
  return !!(this.cramFlags & constants_1.default.CRAM_FLAG_NO_SEQ);
204
- };
277
+ }
205
278
  /**
206
279
  * Get the original sequence of this read.
207
280
  * @returns {String} sequence basepairs
208
281
  */
209
- CramRecord.prototype.getReadBases = function () {
282
+ getReadBases() {
210
283
  if (!this.readBases && this._refRegion) {
211
- this.readBases = decodeReadSequence(this, this._refRegion);
284
+ const decoded = decodeReadSequence(this, this._refRegion);
285
+ if (decoded) {
286
+ this.readBases = decoded;
287
+ }
212
288
  }
213
289
  return this.readBases;
214
- };
290
+ }
215
291
  /**
216
292
  * Get the pair orientation of a paired read. Adapted from igv.js
217
293
  * @returns {String} of paired orientatin
218
294
  */
219
- CramRecord.prototype.getPairOrientation = function () {
295
+ getPairOrientation() {
220
296
  if (!this.isSegmentUnmapped() &&
221
297
  this.isPaired() &&
222
298
  !this.isMateUnmapped() &&
223
299
  this.mate &&
224
300
  this.sequenceId === this.mate.sequenceId) {
225
- var s1 = this.isReverseComplemented() ? 'R' : 'F';
226
- var s2 = this.isMateReverseComplemented() ? 'R' : 'F';
227
- var o1 = ' ';
228
- var o2 = ' ';
301
+ const s1 = this.isReverseComplemented() ? 'R' : 'F';
302
+ const s2 = this.isMateReverseComplemented() ? 'R' : 'F';
303
+ let o1 = ' ';
304
+ let o2 = ' ';
229
305
  if (this.isRead1()) {
230
306
  o1 = '1';
231
307
  o2 = '2';
@@ -234,8 +310,11 @@ var CramRecord = /** @class */ (function () {
234
310
  o1 = '2';
235
311
  o2 = '1';
236
312
  }
237
- var tmp = [];
238
- var isize = this.templateLength || this.templateSize;
313
+ const tmp = [];
314
+ let isize = this.templateLength || this.templateSize;
315
+ if (isize === undefined) {
316
+ throw new Error('One of templateSize and templateLength must be set');
317
+ }
239
318
  if (this.alignmentStart > this.mate.alignmentStart && isize > 0) {
240
319
  isize = -isize;
241
320
  }
@@ -254,7 +333,7 @@ var CramRecord = /** @class */ (function () {
254
333
  return tmp.join('');
255
334
  }
256
335
  return null;
257
- };
336
+ }
258
337
  /**
259
338
  * Annotates this feature with the given reference sequence basepair
260
339
  * information. This will add a `sub` and a `ref` item to base
@@ -268,14 +347,13 @@ var CramRecord = /** @class */ (function () {
268
347
  * @param {CramContainerCompressionScheme} compressionScheme
269
348
  * @returns {undefined} nothing
270
349
  */
271
- CramRecord.prototype.addReferenceSequence = function (refRegion, compressionScheme) {
272
- var _this = this;
350
+ addReferenceSequence(refRegion, compressionScheme) {
273
351
  if (this.readFeatures) {
274
352
  // use the reference bases to decode the bases
275
353
  // substituted in each base substitution
276
- this.readFeatures.forEach(function (readFeature) {
354
+ this.readFeatures.forEach(readFeature => {
277
355
  if (readFeature.code === 'X') {
278
- decodeBaseSubstitution(_this, refRegion, compressionScheme, readFeature);
356
+ decodeBaseSubstitution(this, refRegion, compressionScheme, readFeature);
279
357
  }
280
358
  });
281
359
  }
@@ -287,20 +365,18 @@ var CramRecord = /** @class */ (function () {
287
365
  this.alignmentStart + (this.lengthOnRef || this.readLength) - 1) {
288
366
  this._refRegion = refRegion;
289
367
  }
290
- };
291
- CramRecord.prototype.toJSON = function () {
292
- var _this = this;
293
- var data = {};
294
- Object.keys(this).forEach(function (k) {
368
+ }
369
+ toJSON() {
370
+ const data = {};
371
+ Object.keys(this).forEach(k => {
295
372
  if (k.charAt(0) === '_') {
296
373
  return;
297
374
  }
298
- data[k] = _this[k];
375
+ data[k] = this[k];
299
376
  });
300
377
  data.readBases = this.getReadBases();
301
378
  return data;
302
- };
303
- return CramRecord;
304
- }());
379
+ }
380
+ }
305
381
  exports.default = CramRecord;
306
382
  //# sourceMappingURL=record.js.map
@@ -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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"}