UNPKG

@gmod/cram

Version:

read CRAM files with pure Javascript

43 lines (42 loc) 1.27 kB
import { CramFileSource } from './cramFile/file.ts'; export interface Slice { start: number; span: number; containerStart: number; sliceStart: number; sliceBytes: number; } type ParsedIndex = Record<string, Slice[] | undefined>; export default class CraiIndex { private parseIndexP?; private filehandle; /** * * @param {object} args * @param {string} [args.path] * @param {string} [args.url] * @param {FileHandle} [args.filehandle] */ constructor(args: CramFileSource); parseIndex(): Promise<ParsedIndex>; getIndex(): Promise<ParsedIndex>; /** * @param {number} seqId * @returns {Promise} true if the index contains entries for * the given reference sequence ID, false otherwise */ hasDataForReferenceSequence(seqId: number): Promise<boolean>; /** * fetch index entries for the given range * * @param {number} seqId * @param {number} queryStart * @param {number} queryEnd * * @returns {Promise} promise for * an array of objects of the form * `{start, span, containerStart, sliceStart, sliceBytes }` */ getEntriesForRange(seqId: number, queryStart: number, queryEnd: number): Promise<Slice[]>; } export {};