UNPKG

@gmod/bam

Version:

Parser for BAM and BAM index (bai) files

89 lines (88 loc) 2.93 kB
import Chunk from './chunk'; import IndexFile from './indexFile'; import { BaseOpts } from './util'; import { VirtualOffset } from './virtualOffset'; export default class CSI extends IndexFile { private maxBinNumber; private depth; private minShift; setupP?: ReturnType<CSI['_parse']>; lineCount(refId: number, opts?: BaseOpts): Promise<number>; indexCov(): Promise<never[]>; parseAuxData(bytes: Uint8Array, offset: number): { refNameToId: Record<string, number>; refIdToName: string[]; columnNumbers: { ref: number; start: number; end: number; }; coordinateType: string; metaValue: number; metaChar: string; skipLines: number; format: string; formatFlags: number; }; _parse(opts: { signal?: AbortSignal; }): Promise<{ refNameToId?: Record<string, number> | undefined; refIdToName?: string[] | undefined; columnNumbers?: { ref: number; start: number; end: number; } | undefined; coordinateType?: string | undefined; metaValue?: number | undefined; metaChar?: string | undefined; skipLines?: number | undefined; format?: string | undefined; formatFlags?: number | undefined; csiVersion: number; firstDataLine: VirtualOffset | undefined; indices: (refId: number) => { binIndex: Record<string, Chunk[]>; stats: { lineCount: number; } | undefined; } | undefined; refCount: number; csi: boolean; maxBlockSize: number; }>; blocksForRange(refId: number, min: number, max: number, opts?: BaseOpts): Promise<Chunk[]>; /** * calculate the list of bins that may overlap with region [beg,end) * (zero-based half-open) */ reg2bins(beg: number, end: number): (readonly [number, number])[]; parse(opts?: BaseOpts): Promise<{ refNameToId?: Record<string, number> | undefined; refIdToName?: string[] | undefined; columnNumbers?: { ref: number; start: number; end: number; } | undefined; coordinateType?: string | undefined; metaValue?: number | undefined; metaChar?: string | undefined; skipLines?: number | undefined; format?: string | undefined; formatFlags?: number | undefined; csiVersion: number; firstDataLine: VirtualOffset | undefined; indices: (refId: number) => { binIndex: Record<string, Chunk[]>; stats: { lineCount: number; } | undefined; } | undefined; refCount: number; csi: boolean; maxBlockSize: number; }>; hasRefSeq(seqId: number, opts?: BaseOpts): Promise<boolean>; }