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
TypeScript
/// <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;
}