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.

62 lines (61 loc) 1.48 kB
import { DataLoader } from "../loader/DataLoader"; export interface HeaderData { fileType: FileType; littleEndian: boolean; common?: CommonHeader; zoomLevelHeaders?: Array<ZoomLevelHeader>; autosql?: string; totalSummary?: BWTotalSummary; chromTree?: ChromTree; sequences?: { [name: string]: number; }; } export declare enum FileType { BigWig = "BigWig", BigBed = "BigBed", TwoBit = "TwoBit" } export interface CommonHeader { bwVersion: number; nZoomLevels: number; chromTreeOffset: number; fullDataOffset: number; fullIndexOffset: number; fieldCount: number; definedFieldCount: number; autoSqlOffset: number; totalSummaryOffset: number; uncompressBuffSize: number; reserved: number; } export interface ZoomLevelHeader { index: number; reductionLevel: number; reserved: number; dataOffset: number; indexOffset: number; } export interface BWTotalSummary { basesCovered: number; minVal: number; maxVal: number; sumData: number; sumSquares: number; } export interface ChromTree { magic: number; blockSize: number; keySize: number; valSize: number; itemCount: number; reserved: number; chromToId: { [chrom: string]: number; }; chromSize: { [chrom: string]: number; }; idToChrom: Array<string>; } export declare function loadHeaderData(dataLoader: DataLoader): Promise<HeaderData>;