@gmod/bam
Version:
Parser for BAM and BAM index (bai) files
59 lines (58 loc) • 1.91 kB
TypeScript
import Chunk from './chunk.ts';
import IndexFile from './indexFile.ts';
import { VirtualOffset } from './virtualOffset.ts';
import type { BaseOpts } from './util.ts';
export default class CSI extends IndexFile {
private maxBinNumber;
private depth;
private minShift;
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: 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<number, Chunk[]>;
stats: {
lineCount: number;
} | undefined;
} | undefined;
refCount: number;
csi: boolean;
maxBlockSize: number;
}>;
protected getLowestChunk(): VirtualOffset;
/**
* calculate the list of bins that may overlap with region [beg,end)
* (zero-based half-open). Follows the reference implementation in hts-specs
* CSIv1.tex.
*/
protected reg2bins(beg: number, end: number): (readonly [number, number])[];
}