@gmod/bam
Version:
Parser for BAM and BAM index (bai) files
43 lines (42 loc) • 1.47 kB
TypeScript
import Chunk from './chunk';
import IndexFile from './indexFile';
import { BaseOpts } from './util';
import { VirtualOffset } from './virtualOffset';
export interface IndexCovEntry {
start: number;
end: number;
score: number;
}
export default class BAI extends IndexFile {
setupP?: ReturnType<BAI['_parse']>;
lineCount(refId: number, opts?: BaseOpts): Promise<number>;
_parse(_opts?: BaseOpts): Promise<{
bai: boolean;
firstDataLine: VirtualOffset | undefined;
maxBlockSize: number;
indices: (refId: number) => {
binIndex: Record<number, Chunk[]>;
linearIndex: VirtualOffset[];
stats: {
lineCount: number;
} | undefined;
} | undefined;
refCount: number;
}>;
indexCov(seqId: number, start?: number, end?: number, opts?: BaseOpts): Promise<IndexCovEntry[]>;
blocksForRange(refId: number, min: number, max: number, opts?: BaseOpts): Promise<Chunk[]>;
parse(opts?: BaseOpts): Promise<{
bai: boolean;
firstDataLine: VirtualOffset | undefined;
maxBlockSize: number;
indices: (refId: number) => {
binIndex: Record<number, Chunk[]>;
linearIndex: VirtualOffset[];
stats: {
lineCount: number;
} | undefined;
} | undefined;
refCount: number;
}>;
hasRefSeq(seqId: number, opts?: BaseOpts): Promise<boolean>;
}