// TODO: get rid of this; move all methods into SamRead. getFull(): Object { if (this._full) return this._full; var jb = new jBinary(this.buffer, bamTypes.TYPE_SET); var full = jb.read(bamTypes.ThickAlignment, 0); this._full = full; return full; }
function extractFeaturesFromBlock(buffer, dataRange, block): ChrIdBedRow[] { var blockOffset = block.offset - dataRange.start, blockLimit = blockOffset + block.size, // TODO: where does the +2 come from? (I copied it from dalliance) blockBuffer = buffer.slice(blockOffset + 2, blockLimit); // TODO: only inflate if necessary var inflatedBuffer = pako.inflateRaw(new Uint8Array(blockBuffer)); var jb = new jBinary(inflatedBuffer, bbi.TYPE_SET); // TODO: parse only one BedEntry at a time & use an iterator. return jb.read('BedBlock'); }
this.indexCache[contig] = this.getSlice(start, stop).then(buffer => { var jb = new jBinary(buffer, bamTypes.TYPE_SET); return jb.read('BaiIndex'); });