UNPKG

genomic-reader

Version:

A Typescript library for reading BigWig, BigBed, 2bit, and Bam files. Capable of streaming. For use in the browser or on Node.js.

49 lines (48 loc) 1.5 kB
/// <reference types="node" /> import { Readable } from "stream"; export declare enum ErrorType { OUT_OF_RANGE = "OUT_OF_RANGE", DATA_MISSING = "DATA_MISSING", IO = "IO", FILE_FORMAT = "FILE_FORMAT" } export interface DataLoader { load: (start: number, size?: number) => Promise<ArrayBuffer>; loadStream?: (start: number, size?: number) => Promise<Readable>; } export declare class OutOfRangeError extends Error { resource: string; start: number; size?: number | undefined; errortype: ErrorType; constructor(resource: string, start: number, size?: number | undefined); } export declare class DataMissingError extends Error { chromosome: string; errortype: ErrorType; constructor(chromosome: string); } export declare class IOError extends Error { message: string; errortype: ErrorType; constructor(message: string); } export declare class FileFormatError extends Error { message: string; errortype: ErrorType; constructor(message: string); } export declare class BufferedDataLoader { private dataLoader; private bufferSize?; private streamMode; private buffer?; private stream?; private streamCaughtUpLock?; constructor(dataLoader: DataLoader, bufferSize?: number | undefined, streamMode?: boolean); load(start: number, size: number): Promise<ArrayBuffer>; private loadDataIntoBuffer; private streamDataIntoBuffer; private bufferContainsData; private getDataFromBuffer; }