@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.
- package/CHANGELOG.md +9 -0
- package/dist/craiIndex.d.ts +19 -12
- package/dist/craiIndex.js +63 -123
- package/dist/craiIndex.js.map +1 -1
- package/dist/cram-bundle.js +2 -17
- package/dist/cram-bundle.js.LICENSE.txt +17 -0
- package/dist/cramFile/codecs/_base.d.ts +26 -5
- package/dist/cramFile/codecs/_base.js +3 -39
- package/dist/cramFile/codecs/_base.js.map +1 -1
- package/dist/cramFile/codecs/beta.d.ts +7 -3
- package/dist/cramFile/codecs/beta.js +13 -31
- package/dist/cramFile/codecs/beta.js.map +1 -1
- package/dist/cramFile/codecs/byteArrayLength.d.ts +13 -7
- package/dist/cramFile/codecs/byteArrayLength.js +22 -41
- package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/dist/cramFile/codecs/byteArrayStop.d.ts +9 -5
- package/dist/cramFile/codecs/byteArrayStop.js +25 -46
- package/dist/cramFile/codecs/byteArrayStop.js.map +1 -1
- package/dist/cramFile/codecs/dataSeriesTypes.d.ts +4 -0
- package/dist/cramFile/codecs/dataSeriesTypes.js +3 -0
- package/dist/cramFile/codecs/dataSeriesTypes.js.map +1 -0
- package/dist/cramFile/codecs/external.d.ts +10 -6
- package/dist/cramFile/codecs/external.js +26 -44
- package/dist/cramFile/codecs/external.js.map +1 -1
- package/dist/cramFile/codecs/gamma.d.ts +7 -3
- package/dist/cramFile/codecs/gamma.js +16 -34
- package/dist/cramFile/codecs/gamma.js.map +1 -1
- package/dist/cramFile/codecs/getBits.d.ts +7 -0
- package/dist/cramFile/codecs/getBits.js +26 -0
- package/dist/cramFile/codecs/getBits.js.map +1 -0
- package/dist/cramFile/codecs/huffman.d.ts +17 -13
- package/dist/cramFile/codecs/huffman.js +76 -85
- package/dist/cramFile/codecs/huffman.js.map +1 -1
- package/dist/cramFile/codecs/index.d.ts +4 -2
- package/dist/cramFile/codecs/index.js +12 -13
- package/dist/cramFile/codecs/index.js.map +1 -1
- package/dist/cramFile/codecs/subexp.d.ts +7 -3
- package/dist/cramFile/codecs/subexp.js +19 -36
- package/dist/cramFile/codecs/subexp.js.map +1 -1
- package/dist/cramFile/constants.d.ts +35 -35
- package/dist/cramFile/constants.js +1 -1
- package/dist/cramFile/constants.js.map +1 -1
- package/dist/cramFile/container/compressionScheme.d.ts +57 -11
- package/dist/cramFile/container/compressionScheme.js +37 -32
- package/dist/cramFile/container/compressionScheme.js.map +1 -1
- package/dist/cramFile/container/index.d.ts +23 -9
- package/dist/cramFile/container/index.js +74 -144
- package/dist/cramFile/container/index.js.map +1 -1
- package/dist/cramFile/encoding.d.ts +78 -0
- package/dist/cramFile/encoding.js +3 -0
- package/dist/cramFile/encoding.js.map +1 -0
- package/dist/cramFile/file.d.ts +91 -41
- package/dist/cramFile/file.js +234 -368
- package/dist/cramFile/file.js.map +1 -1
- package/dist/cramFile/filehandle.d.ts +2 -0
- package/dist/cramFile/filehandle.js +3 -0
- package/dist/cramFile/filehandle.js.map +1 -0
- package/dist/cramFile/index.d.ts +1 -1
- package/dist/cramFile/index.js +1 -1
- package/dist/cramFile/index.js.map +1 -1
- package/dist/cramFile/record.d.ts +61 -17
- package/dist/cramFile/record.js +153 -77
- package/dist/cramFile/record.js.map +1 -1
- package/dist/cramFile/sectionParsers.d.ts +99 -8
- package/dist/cramFile/sectionParsers.js +70 -80
- package/dist/cramFile/sectionParsers.js.map +1 -1
- package/dist/cramFile/slice/decodeRecord.d.ts +30 -2
- package/dist/cramFile/slice/decodeRecord.js +148 -118
- package/dist/cramFile/slice/decodeRecord.js.map +1 -1
- package/dist/cramFile/slice/index.d.ts +21 -14
- package/dist/cramFile/slice/index.js +286 -381
- package/dist/cramFile/slice/index.js.map +1 -1
- package/dist/cramFile/util.d.ts +11 -5
- package/dist/cramFile/util.js +19 -97
- package/dist/cramFile/util.js.map +1 -1
- package/dist/errors.d.ts +5 -10
- package/dist/errors.js +11 -62
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/indexedCramFile.d.ts +37 -12
- package/dist/indexedCramFile.js +114 -154
- package/dist/indexedCramFile.js.map +1 -1
- package/dist/io/index.d.ts +5 -5
- package/dist/io/index.js +9 -9
- package/dist/io/index.js.map +1 -1
- package/dist/rans/constants.js +3 -3
- package/dist/rans/constants.js.map +1 -1
- package/dist/rans/d04.js +15 -15
- package/dist/rans/d04.js.map +1 -1
- package/dist/rans/d14.js +21 -21
- package/dist/rans/d14.js.map +1 -1
- package/dist/rans/decoding.js +27 -30
- package/dist/rans/decoding.js.map +1 -1
- package/dist/rans/frequencies.js +11 -11
- package/dist/rans/frequencies.js.map +1 -1
- package/dist/rans/index.js +46 -49
- package/dist/rans/index.js.map +1 -1
- package/dist/sam.d.ts +8 -1
- package/dist/sam.js +7 -7
- package/dist/sam.js.map +1 -1
- package/dist/typescript.d.ts +3 -0
- package/dist/typescript.js +11 -0
- package/dist/typescript.js.map +1 -0
- package/dist/unzip-pako.js +1 -1
- package/dist/unzip-pako.js.map +1 -1
- package/dist/unzip.js +1 -1
- package/dist/unzip.js.map +1 -1
- package/errors.js +11 -62
- package/esm/craiIndex.d.ts +19 -12
- package/esm/craiIndex.js +8 -24
- package/esm/craiIndex.js.map +1 -1
- package/esm/cramFile/codecs/_base.d.ts +26 -5
- package/esm/cramFile/codecs/_base.js +1 -35
- package/esm/cramFile/codecs/_base.js.map +1 -1
- package/esm/cramFile/codecs/beta.d.ts +7 -3
- package/esm/cramFile/codecs/beta.js +4 -3
- package/esm/cramFile/codecs/beta.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayLength.d.ts +13 -7
- package/esm/cramFile/codecs/byteArrayLength.js +1 -1
- package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayStop.d.ts +9 -5
- package/esm/cramFile/codecs/byteArrayStop.js +7 -9
- package/esm/cramFile/codecs/byteArrayStop.js.map +1 -1
- package/esm/cramFile/codecs/dataSeriesTypes.d.ts +4 -0
- package/esm/cramFile/codecs/dataSeriesTypes.js +2 -0
- package/esm/cramFile/codecs/dataSeriesTypes.js.map +1 -0
- package/esm/cramFile/codecs/external.d.ts +10 -6
- package/esm/cramFile/codecs/external.js +4 -3
- package/esm/cramFile/codecs/external.js.map +1 -1
- package/esm/cramFile/codecs/gamma.d.ts +7 -3
- package/esm/cramFile/codecs/gamma.js +5 -4
- package/esm/cramFile/codecs/gamma.js.map +1 -1
- package/esm/cramFile/codecs/getBits.d.ts +7 -0
- package/esm/cramFile/codecs/getBits.js +21 -0
- package/esm/cramFile/codecs/getBits.js.map +1 -0
- package/esm/cramFile/codecs/huffman.d.ts +17 -13
- package/esm/cramFile/codecs/huffman.js +22 -9
- package/esm/cramFile/codecs/huffman.js.map +1 -1
- package/esm/cramFile/codecs/index.d.ts +4 -2
- package/esm/cramFile/codecs/index.js +1 -1
- package/esm/cramFile/codecs/index.js.map +1 -1
- package/esm/cramFile/codecs/subexp.d.ts +7 -3
- package/esm/cramFile/codecs/subexp.js +7 -5
- package/esm/cramFile/codecs/subexp.js.map +1 -1
- package/esm/cramFile/constants.d.ts +35 -35
- package/esm/cramFile/constants.js.map +1 -1
- package/esm/cramFile/container/compressionScheme.d.ts +57 -11
- package/esm/cramFile/container/compressionScheme.js +15 -8
- package/esm/cramFile/container/compressionScheme.js.map +1 -1
- package/esm/cramFile/container/index.d.ts +23 -9
- package/esm/cramFile/container/index.js +11 -9
- package/esm/cramFile/container/index.js.map +1 -1
- package/esm/cramFile/encoding.d.ts +78 -0
- package/esm/cramFile/encoding.js +2 -0
- package/esm/cramFile/encoding.js.map +1 -0
- package/esm/cramFile/file.d.ts +91 -41
- package/esm/cramFile/file.js +59 -47
- package/esm/cramFile/file.js.map +1 -1
- package/esm/cramFile/filehandle.d.ts +2 -0
- package/esm/cramFile/filehandle.js +2 -0
- package/esm/cramFile/filehandle.js.map +1 -0
- package/esm/cramFile/index.d.ts +1 -1
- package/esm/cramFile/index.js.map +1 -1
- package/esm/cramFile/record.d.ts +61 -17
- package/esm/cramFile/record.js +83 -5
- package/esm/cramFile/record.js.map +1 -1
- package/esm/cramFile/sectionParsers.d.ts +99 -8
- package/esm/cramFile/sectionParsers.js +7 -17
- package/esm/cramFile/sectionParsers.js.map +1 -1
- package/esm/cramFile/slice/decodeRecord.d.ts +30 -2
- package/esm/cramFile/slice/decodeRecord.js +102 -70
- package/esm/cramFile/slice/decodeRecord.js.map +1 -1
- package/esm/cramFile/slice/index.d.ts +21 -14
- package/esm/cramFile/slice/index.js +77 -38
- package/esm/cramFile/slice/index.js.map +1 -1
- package/esm/cramFile/util.d.ts +11 -5
- package/esm/cramFile/util.js +11 -82
- package/esm/cramFile/util.js.map +1 -1
- package/esm/errors.d.ts +5 -10
- package/esm/errors.js +0 -5
- package/esm/errors.js.map +1 -1
- package/esm/index.d.ts +3 -3
- package/esm/index.js.map +1 -1
- package/esm/indexedCramFile.d.ts +37 -12
- package/esm/indexedCramFile.js +19 -8
- package/esm/indexedCramFile.js.map +1 -1
- package/esm/io/index.d.ts +5 -5
- package/esm/io/index.js +3 -3
- package/esm/io/index.js.map +1 -1
- package/esm/sam.d.ts +8 -1
- package/esm/sam.js.map +1 -1
- package/esm/typescript.d.ts +3 -0
- package/esm/typescript.js +7 -0
- package/esm/typescript.js.map +1 -0
- package/package.json +18 -11
- package/src/{craiIndex.js → craiIndex.ts} +37 -31
- package/src/cramFile/codecs/_base.ts +45 -0
- package/src/cramFile/codecs/beta.ts +34 -0
- package/src/cramFile/codecs/{byteArrayLength.js → byteArrayLength.ts} +27 -5
- package/src/cramFile/codecs/{byteArrayStop.js → byteArrayStop.ts} +25 -12
- package/src/cramFile/codecs/dataSeriesTypes.ts +39 -0
- package/src/cramFile/codecs/{external.js → external.ts} +28 -12
- package/src/cramFile/codecs/gamma.ts +42 -0
- package/src/cramFile/codecs/getBits.ts +28 -0
- package/src/cramFile/codecs/{huffman.js → huffman.ts} +48 -15
- package/src/cramFile/codecs/{index.js → index.ts} +9 -3
- package/src/cramFile/codecs/subexp.ts +45 -0
- package/src/cramFile/{constants.js → constants.ts} +0 -0
- package/src/cramFile/container/{compressionScheme.js → compressionScheme.ts} +50 -18
- package/src/cramFile/container/{index.js → index.ts} +13 -13
- package/src/cramFile/encoding.ts +98 -0
- package/src/cramFile/{file.js → file.ts} +136 -62
- package/src/cramFile/filehandle.ts +3 -0
- package/src/cramFile/{index.js → index.ts} +0 -0
- package/src/cramFile/{record.js → record.ts} +185 -14
- package/src/cramFile/{sectionParsers.js → sectionParsers.ts} +148 -20
- package/src/cramFile/slice/{decodeRecord.js → decodeRecord.ts} +158 -105
- package/src/cramFile/slice/{index.js → index.ts} +138 -63
- package/src/cramFile/{util.js → util.ts} +28 -17
- package/src/{errors.js → errors.ts} +0 -5
- package/src/{index.js → index.ts} +0 -0
- package/src/{indexedCramFile.js → indexedCramFile.ts} +79 -19
- package/src/io/{index.js → index.ts} +10 -5
- package/src/{sam.js → sam.ts} +7 -2
- package/src/typescript.ts +17 -0
- package/src/typings/binary-parser.d.ts +44 -0
- package/src/typings/bzip2.d.ts +7 -0
- package/src/typings/htscodecs.d.ts +6 -0
- package/dist/io/bufferCache.d.ts +0 -12
- package/dist/io/bufferCache.js +0 -112
- package/dist/io/bufferCache.js.map +0 -1
- package/dist/io/localFile.d.ts +0 -10
- package/dist/io/localFile.js +0 -108
- package/dist/io/localFile.js.map +0 -1
- package/dist/io/remoteFile.d.ts +0 -16
- package/dist/io/remoteFile.js +0 -143
- package/dist/io/remoteFile.js.map +0 -1
- package/esm/io/bufferCache.d.ts +0 -12
- package/esm/io/bufferCache.js +0 -54
- package/esm/io/bufferCache.js.map +0 -1
- package/esm/io/localFile.d.ts +0 -10
- package/esm/io/localFile.js +0 -31
- package/esm/io/localFile.js.map +0 -1
- package/esm/io/remoteFile.d.ts +0 -16
- package/esm/io/remoteFile.js +0 -64
- package/esm/io/remoteFile.js.map +0 -1
- package/src/cramFile/codecs/_base.js +0 -49
- package/src/cramFile/codecs/beta.js +0 -23
- package/src/cramFile/codecs/gamma.js +0 -30
- package/src/cramFile/codecs/subexp.js +0 -32
- package/src/io/bufferCache.js +0 -66
- package/src/io/localFile.js +0 -35
- package/src/io/remoteFile.js +0 -71
package/dist/indexedCramFile.js
CHANGED
|
@@ -8,40 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
13
|
};
|
|
41
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
15
|
+
const errors_1 = require("./errors");
|
|
16
|
+
const cramFile_1 = __importDefault(require("./cramFile"));
|
|
17
|
+
class IndexedCramFile {
|
|
45
18
|
/**
|
|
46
19
|
*
|
|
47
20
|
* @param {object} args
|
|
@@ -52,7 +25,7 @@ var IndexedCramFile = /** @class */ (function () {
|
|
|
52
25
|
* @param {boolean} [args.checkSequenceMD5] - default true. if false, disables verifying the MD5
|
|
53
26
|
* checksum of the reference sequence underlying a slice. In some applications, this check can cause an inconvenient amount (many megabases) of sequences to be fetched.
|
|
54
27
|
*/
|
|
55
|
-
|
|
28
|
+
constructor(args) {
|
|
56
29
|
// { cram, index, seqFetch /* fasta, fastaIndex */ }) {
|
|
57
30
|
if (args.cram) {
|
|
58
31
|
this.cram = args.cram;
|
|
@@ -83,141 +56,128 @@ var IndexedCramFile = /** @class */ (function () {
|
|
|
83
56
|
* @param {number} end end of the range of interest. 1-based closed coordinates.
|
|
84
57
|
* @returns {Promise[Array[CramRecord]]}
|
|
85
58
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
59
|
+
getRecordsForRange(seq, start, end, opts = {}) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
opts.viewAsPairs = opts.viewAsPairs || false;
|
|
62
|
+
opts.pairAcrossChr = opts.pairAcrossChr || false;
|
|
63
|
+
opts.maxInsertSize = opts.maxInsertSize || 200000;
|
|
64
|
+
if (typeof seq === 'string') {
|
|
65
|
+
// TODO: support string reference sequence names somehow
|
|
66
|
+
throw new errors_1.CramUnimplementedError('string sequence names not yet supported');
|
|
67
|
+
}
|
|
68
|
+
const seqId = seq;
|
|
69
|
+
const slices = yield this.index.getEntriesForRange(seqId, start, end);
|
|
70
|
+
const totalSize = slices.map(s => s.sliceBytes).reduce((a, b) => a + b, 0);
|
|
71
|
+
if (totalSize > this.fetchSizeLimit) {
|
|
72
|
+
throw new errors_1.CramSizeLimitError(`data size of ${totalSize.toLocaleString()} bytes exceeded fetch size limit of ${this.fetchSizeLimit.toLocaleString()} bytes`);
|
|
73
|
+
}
|
|
74
|
+
// TODO: do we need to merge or de-duplicate the blocks?
|
|
75
|
+
// fetch all the slices and parse the feature data
|
|
76
|
+
const filter = (feature) => feature.sequenceId === seq &&
|
|
77
|
+
feature.alignmentStart <= end &&
|
|
78
|
+
feature.lengthOnRef !== undefined &&
|
|
79
|
+
feature.alignmentStart + feature.lengthOnRef - 1 >= start;
|
|
80
|
+
const sliceResults = yield Promise.all(slices.map(slice => this.getRecordsInSlice(slice, filter)));
|
|
81
|
+
let ret = Array.prototype.concat(...sliceResults);
|
|
82
|
+
if (opts.viewAsPairs) {
|
|
83
|
+
const readNames = {};
|
|
84
|
+
const readIds = {};
|
|
85
|
+
for (let i = 0; i < ret.length; i += 1) {
|
|
86
|
+
const name = ret[i].readName;
|
|
87
|
+
if (name === undefined) {
|
|
88
|
+
throw new Error();
|
|
89
|
+
}
|
|
90
|
+
const id = ret[i].uniqueId;
|
|
91
|
+
if (!readNames[name]) {
|
|
92
|
+
readNames[name] = 0;
|
|
93
|
+
}
|
|
94
|
+
readNames[name] += 1;
|
|
95
|
+
readIds[id] = 1;
|
|
96
|
+
}
|
|
97
|
+
const unmatedPairs = {};
|
|
98
|
+
Object.entries(readNames).forEach(([k, v]) => {
|
|
99
|
+
if (v === 1) {
|
|
100
|
+
unmatedPairs[k] = true;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
const matePromises = [];
|
|
104
|
+
for (let i = 0; i < ret.length; i += 1) {
|
|
105
|
+
const cramRecord = ret[i];
|
|
106
|
+
const name = cramRecord.readName;
|
|
107
|
+
if (name === undefined) {
|
|
108
|
+
throw new Error();
|
|
109
|
+
}
|
|
110
|
+
if (unmatedPairs[name] &&
|
|
111
|
+
cramRecord.mate &&
|
|
112
|
+
(cramRecord.mate.sequenceId === seqId || opts.pairAcrossChr) &&
|
|
113
|
+
Math.abs(cramRecord.alignmentStart - cramRecord.mate.alignmentStart) <
|
|
114
|
+
opts.maxInsertSize) {
|
|
115
|
+
const mateSlices = this.index.getEntriesForRange(cramRecord.mate.sequenceId, cramRecord.mate.alignmentStart, cramRecord.mate.alignmentStart + 1);
|
|
116
|
+
matePromises.push(mateSlices);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const mateBlocks = yield Promise.all(matePromises);
|
|
120
|
+
let mateChunks = [];
|
|
121
|
+
for (let i = 0; i < mateBlocks.length; i += 1) {
|
|
122
|
+
mateChunks.push(...mateBlocks[i]);
|
|
123
|
+
}
|
|
124
|
+
// filter out duplicates
|
|
125
|
+
mateChunks = mateChunks
|
|
126
|
+
.sort((a, b) => a.toString().localeCompare(b.toString()))
|
|
127
|
+
.filter((item, pos, ary) => !pos || item.toString() !== ary[pos - 1].toString());
|
|
128
|
+
const mateRecordPromises = [];
|
|
129
|
+
const mateFeatPromises = [];
|
|
130
|
+
const mateTotalSize = mateChunks
|
|
131
|
+
.map(s => s.sliceBytes)
|
|
132
|
+
.reduce((a, b) => a + b, 0);
|
|
133
|
+
if (mateTotalSize > this.fetchSizeLimit) {
|
|
134
|
+
throw new Error(`mate data size of ${mateTotalSize.toLocaleString()} bytes exceeded fetch size limit of ${this.fetchSizeLimit.toLocaleString()} bytes`);
|
|
135
|
+
}
|
|
136
|
+
mateChunks.forEach(c => {
|
|
137
|
+
let recordPromise = this.cram.featureCache.get(c.toString());
|
|
138
|
+
if (!recordPromise) {
|
|
139
|
+
recordPromise = this.getRecordsInSlice(c, () => true);
|
|
140
|
+
this.cram.featureCache.set(c.toString(), recordPromise);
|
|
141
|
+
}
|
|
142
|
+
mateRecordPromises.push(recordPromise);
|
|
143
|
+
const featPromise = recordPromise.then(feats => {
|
|
144
|
+
const mateRecs = [];
|
|
145
|
+
for (let i = 0; i < feats.length; i += 1) {
|
|
146
|
+
const feature = feats[i];
|
|
147
|
+
if (feature.readName === undefined) {
|
|
148
|
+
throw new Error();
|
|
148
149
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
case 3:
|
|
152
|
-
mateBlocks = _b.sent();
|
|
153
|
-
mateChunks = [];
|
|
154
|
-
for (i = 0; i < mateBlocks.length; i += 1) {
|
|
155
|
-
mateChunks.push.apply(mateChunks, mateBlocks[i]);
|
|
156
|
-
}
|
|
157
|
-
// filter out duplicates
|
|
158
|
-
mateChunks = mateChunks
|
|
159
|
-
.sort(function (a, b) { return a.toString().localeCompare(b.toString()); })
|
|
160
|
-
.filter(function (item, pos, ary) {
|
|
161
|
-
return !pos || item.toString() !== ary[pos - 1].toString();
|
|
162
|
-
});
|
|
163
|
-
mateRecordPromises_1 = [];
|
|
164
|
-
mateFeatPromises_1 = [];
|
|
165
|
-
mateTotalSize = mateChunks
|
|
166
|
-
.map(function (s) { return s.sliceBytes; })
|
|
167
|
-
.reduce(function (a, b) { return a + b; }, 0);
|
|
168
|
-
if (mateTotalSize > this.fetchSizeLimit) {
|
|
169
|
-
throw new Error("mate data size of ".concat(mateTotalSize.toLocaleString(), " bytes exceeded fetch size limit of ").concat(this.fetchSizeLimit.toLocaleString(), " bytes"));
|
|
170
|
-
}
|
|
171
|
-
mateChunks.forEach(function (c) {
|
|
172
|
-
var recordPromise = _this.cram.featureCache.get(c.toString());
|
|
173
|
-
if (!recordPromise) {
|
|
174
|
-
recordPromise = _this.getRecordsInSlice(c, function () { return true; });
|
|
175
|
-
_this.cram.featureCache.set(c.toString(), recordPromise);
|
|
150
|
+
if (unmatedPairs[feature.readName] && !readIds[feature.uniqueId]) {
|
|
151
|
+
mateRecs.push(feature);
|
|
176
152
|
}
|
|
177
|
-
mateRecordPromises_1.push(recordPromise);
|
|
178
|
-
var featPromise = recordPromise.then(function (feats) {
|
|
179
|
-
var mateRecs = [];
|
|
180
|
-
for (var i = 0; i < feats.length; i += 1) {
|
|
181
|
-
var feature = feats[i];
|
|
182
|
-
if (unmatedPairs_1[feature.readName] && !readIds_1[feature.uniqueId]) {
|
|
183
|
-
mateRecs.push(feature);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return mateRecs;
|
|
187
|
-
});
|
|
188
|
-
mateFeatPromises_1.push(featPromise);
|
|
189
|
-
});
|
|
190
|
-
return [4 /*yield*/, Promise.all(mateFeatPromises_1)];
|
|
191
|
-
case 4:
|
|
192
|
-
newMateFeats = _b.sent();
|
|
193
|
-
if (newMateFeats.length) {
|
|
194
|
-
newMates = newMateFeats.reduce(function (result, current) {
|
|
195
|
-
return result.concat(current);
|
|
196
|
-
});
|
|
197
|
-
ret = ret.concat(newMates);
|
|
198
153
|
}
|
|
199
|
-
|
|
200
|
-
|
|
154
|
+
return mateRecs;
|
|
155
|
+
});
|
|
156
|
+
mateFeatPromises.push(featPromise);
|
|
157
|
+
});
|
|
158
|
+
const newMateFeats = yield Promise.all(mateFeatPromises);
|
|
159
|
+
if (newMateFeats.length) {
|
|
160
|
+
const newMates = newMateFeats.reduce((result, current) => result.concat(current));
|
|
161
|
+
ret = ret.concat(newMates);
|
|
201
162
|
}
|
|
202
|
-
}
|
|
163
|
+
}
|
|
164
|
+
return ret;
|
|
203
165
|
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
var slice = container.getSlice(sliceStart, sliceBytes);
|
|
166
|
+
}
|
|
167
|
+
getRecordsInSlice({ containerStart, sliceStart, sliceBytes, }, filterFunction) {
|
|
168
|
+
const container = this.cram.getContainerAtPosition(containerStart);
|
|
169
|
+
const slice = container.getSlice(sliceStart, sliceBytes);
|
|
209
170
|
return slice.getRecords(filterFunction);
|
|
210
|
-
}
|
|
171
|
+
}
|
|
211
172
|
/**
|
|
212
173
|
*
|
|
213
174
|
* @param {number} seqId
|
|
214
175
|
* @returns {Promise} true if the CRAM file contains data for the given
|
|
215
176
|
* reference sequence numerical ID
|
|
216
177
|
*/
|
|
217
|
-
|
|
178
|
+
hasDataForReferenceSequence(seqId) {
|
|
218
179
|
return this.index.hasDataForReferenceSequence(seqId);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
}());
|
|
180
|
+
}
|
|
181
|
+
}
|
|
222
182
|
exports.default = IndexedCramFile;
|
|
223
183
|
//# sourceMappingURL=indexedCramFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedCramFile.js","sourceRoot":"","sources":["../src/indexedCramFile.
|
|
1
|
+
{"version":3,"file":"indexedCramFile.js","sourceRoot":"","sources":["../src/indexedCramFile.ts"],"names":[],"mappings":"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"}
|
package/dist/io/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import RemoteFile from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { LocalFile, RemoteFile };
|
|
1
|
+
import { Filehandle } from '../cramFile/filehandle';
|
|
2
|
+
import { LocalFile, RemoteFile } from 'generic-filehandle';
|
|
3
|
+
declare function fromUrl(source: string): LocalFile | RemoteFile;
|
|
4
|
+
declare function open(maybeUrl?: string, maybePath?: string, maybeFilehandle?: Filehandle): Filehandle;
|
|
5
|
+
export { LocalFile, RemoteFile, fromUrl, open };
|
package/dist/io/index.js
CHANGED
|
@@ -4,17 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.open = exports.fromUrl = exports.RemoteFile = exports.LocalFile = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports
|
|
7
|
+
const url_1 = __importDefault(require("url"));
|
|
8
|
+
const typescript_1 = require("../typescript");
|
|
9
|
+
const generic_filehandle_1 = require("generic-filehandle");
|
|
10
|
+
Object.defineProperty(exports, "LocalFile", { enumerable: true, get: function () { return generic_filehandle_1.LocalFile; } });
|
|
11
|
+
Object.defineProperty(exports, "RemoteFile", { enumerable: true, get: function () { return generic_filehandle_1.RemoteFile; } });
|
|
12
12
|
function fromUrl(source) {
|
|
13
|
-
|
|
13
|
+
const { protocol, pathname } = url_1.default.parse(source);
|
|
14
14
|
if (protocol === 'file:') {
|
|
15
|
-
return new
|
|
15
|
+
return new generic_filehandle_1.LocalFile(unescape((0, typescript_1.ensureNotNullish)(pathname)));
|
|
16
16
|
}
|
|
17
|
-
return new
|
|
17
|
+
return new generic_filehandle_1.RemoteFile(source);
|
|
18
18
|
}
|
|
19
19
|
exports.fromUrl = fromUrl;
|
|
20
20
|
function open(maybeUrl, maybePath, maybeFilehandle) {
|
|
@@ -25,7 +25,7 @@ function open(maybeUrl, maybePath, maybeFilehandle) {
|
|
|
25
25
|
return fromUrl(maybeUrl);
|
|
26
26
|
}
|
|
27
27
|
if (maybePath) {
|
|
28
|
-
return new
|
|
28
|
+
return new generic_filehandle_1.LocalFile(maybePath);
|
|
29
29
|
}
|
|
30
30
|
throw new Error('no url, path, or filehandle provided, cannot open');
|
|
31
31
|
}
|
package/dist/io/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/io/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;AACrB,8CAAgD;AAEhD,2DAA0D;AA2BjD,0FA3BA,8BAAS,OA2BA;AAAE,2FA3BA,+BAAU,OA2BA;AAzB9B,SAAS,OAAO,CAAC,MAAc;IAC7B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChD,IAAI,QAAQ,KAAK,OAAO,EAAE;QACxB,OAAO,IAAI,8BAAS,CAAC,QAAQ,CAAC,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;KAC3D;IACD,OAAO,IAAI,+BAAU,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAmB+B,0BAAO;AAjBvC,SAAS,IAAI,CACX,QAAiB,EACjB,SAAkB,EAClB,eAA4B;IAE5B,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,CAAA;KACvB;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;KACzB;IACD,IAAI,SAAS,EAAE;QACb,OAAO,IAAI,8BAAS,CAAC,SAAS,CAAC,CAAA;KAChC;IACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,CAAC;AAEwC,oBAAI"}
|
package/dist/rans/constants.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RANS_BYTE_L = exports.TOTFREQ = exports.TF_SHIFT = void 0;
|
|
4
|
-
|
|
4
|
+
const TF_SHIFT = 12;
|
|
5
5
|
exports.TF_SHIFT = TF_SHIFT;
|
|
6
|
-
|
|
6
|
+
const TOTFREQ = 1 << TF_SHIFT;
|
|
7
7
|
exports.TOTFREQ = TOTFREQ;
|
|
8
|
-
|
|
8
|
+
const RANS_BYTE_L = 1 << 23;
|
|
9
9
|
exports.RANS_BYTE_L = RANS_BYTE_L;
|
|
10
10
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rans/constants.js"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rans/constants.js"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,EAAE,CAAA;AAIV,4BAAQ;AAHjB,MAAM,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAA;AAGV,0BAAO;AAF1B,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,CAAA;AAEC,kCAAW"}
|
package/dist/rans/d04.js
CHANGED
|
@@ -3,25 +3,25 @@ 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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const decoding_1 = __importDefault(require("./decoding"));
|
|
9
9
|
function uncompress(
|
|
10
10
|
/* ByteBuffer */ input,
|
|
11
11
|
/* Decoding.AriDecoder */ D,
|
|
12
12
|
/* Decoding.Symbol[] */ syms,
|
|
13
13
|
/* ByteBuffer */ out) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
let rans0 = input.getInt();
|
|
15
|
+
let rans1 = input.getInt();
|
|
16
|
+
let rans2 = input.getInt();
|
|
17
|
+
let rans3 = input.getInt();
|
|
18
|
+
const /* int */ outputSize = out.remaining();
|
|
19
|
+
const /* int */ outputEnd = outputSize & ~3;
|
|
20
|
+
for (let i = 0; i < outputEnd; i += 4) {
|
|
21
|
+
const /* byte */ c0 = D.R[decoding_1.default.get(rans0, constants_1.TF_SHIFT)];
|
|
22
|
+
const /* byte */ c1 = D.R[decoding_1.default.get(rans1, constants_1.TF_SHIFT)];
|
|
23
|
+
const /* byte */ c2 = D.R[decoding_1.default.get(rans2, constants_1.TF_SHIFT)];
|
|
24
|
+
const /* byte */ c3 = D.R[decoding_1.default.get(rans3, constants_1.TF_SHIFT)];
|
|
25
25
|
out.putAt(i, c0);
|
|
26
26
|
out.putAt(i + 1, c1);
|
|
27
27
|
out.putAt(i + 2, c2);
|
|
@@ -36,7 +36,7 @@ function uncompress(
|
|
|
36
36
|
rans3 = decoding_1.default.renormalize(rans3, input);
|
|
37
37
|
}
|
|
38
38
|
out.setPosition(outputEnd);
|
|
39
|
-
|
|
39
|
+
let /* byte */ c;
|
|
40
40
|
switch (outputSize & 3) {
|
|
41
41
|
case 0:
|
|
42
42
|
break;
|
package/dist/rans/d04.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d04.js","sourceRoot":"","sources":["../../src/rans/d04.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"d04.js","sourceRoot":"","sources":["../../src/rans/d04.js"],"names":[],"mappings":"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"}
|
package/dist/rans/d14.js
CHANGED
|
@@ -3,32 +3,32 @@ 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
|
-
|
|
7
|
-
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const decoding_1 = __importDefault(require("./decoding"));
|
|
8
8
|
function uncompress(
|
|
9
9
|
/* ByteBuffer */ input,
|
|
10
10
|
/* ByteBuffer */ output,
|
|
11
11
|
/* Decoding.AriDecoder[] */ D,
|
|
12
12
|
/* Decoding.Symbol[][] */ syms) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
const /* int */ outputSize = output.remaining();
|
|
14
|
+
let rans0 = input.getInt();
|
|
15
|
+
let rans1 = input.getInt();
|
|
16
|
+
let rans2 = input.getInt();
|
|
17
|
+
let rans7 = input.getInt();
|
|
18
|
+
const /* int */ isz4 = outputSize >> 2;
|
|
19
|
+
let /* int */ i0 = 0;
|
|
20
|
+
let /* int */ i1 = isz4;
|
|
21
|
+
let /* int */ i2 = 2 * isz4;
|
|
22
|
+
let /* int */ i7 = 3 * isz4;
|
|
23
|
+
let /* int */ l0 = 0;
|
|
24
|
+
let /* int */ l1 = 0;
|
|
25
|
+
let /* int */ l2 = 0;
|
|
26
|
+
let /* int */ l7 = 0;
|
|
27
27
|
for (; i0 < isz4; i0 += 1, i1 += 1, i2 += 1, i7 += 1) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const /* int */ c0 = 0xff & D[l0].R[decoding_1.default.get(rans0, constants_1.TF_SHIFT)];
|
|
29
|
+
const /* int */ c1 = 0xff & D[l1].R[decoding_1.default.get(rans1, constants_1.TF_SHIFT)];
|
|
30
|
+
const /* int */ c2 = 0xff & D[l2].R[decoding_1.default.get(rans2, constants_1.TF_SHIFT)];
|
|
31
|
+
const /* int */ c7 = 0xff & D[l7].R[decoding_1.default.get(rans7, constants_1.TF_SHIFT)];
|
|
32
32
|
output.putAt(i0, c0);
|
|
33
33
|
output.putAt(i1, c1);
|
|
34
34
|
output.putAt(i2, c2);
|
|
@@ -48,7 +48,7 @@ function uncompress(
|
|
|
48
48
|
}
|
|
49
49
|
// Remainder
|
|
50
50
|
for (; i7 < outputSize; i7 += 1) {
|
|
51
|
-
|
|
51
|
+
const /* int */ c7 = 0xff & D[l7].R[decoding_1.default.get(rans7, constants_1.TF_SHIFT)];
|
|
52
52
|
output.putAt(i7, c7);
|
|
53
53
|
rans7 = decoding_1.default.advanceSymbol(rans7, input, syms[l7][c7], constants_1.TF_SHIFT);
|
|
54
54
|
l7 = c7;
|
package/dist/rans/d14.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d14.js","sourceRoot":"","sources":["../../src/rans/d14.js"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"d14.js","sourceRoot":"","sources":["../../src/rans/d14.js"],"names":[],"mappings":"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"}
|