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.

53 lines (52 loc) 1.64 kB
import { DataLoader } from "../loader/DataLoader"; import { BamHeader } from "./BamHeaderReader"; import { Chunk, BamIndexData } from "./BamIndexReader"; export interface CigarOp { opLen: number; op: string; seqOffset: number; } export interface BamAlignmentMate { chr: string; position: number; strand: boolean; } export interface BamAlignment { chr: string; start: number; flags: number; strand: boolean; readName: string; cigarOps: Array<CigarOp>; templateLength: number; mappingQuality: number; seq: string; phredQualities: Array<number>; lengthOnRef: number; } export declare function isFlagged(bitwiseFlags: number, flag: BamAlignmentFlag): boolean; export declare enum BamAlignmentFlag { READ_PAIRED = 1, PROPER_PAIR = 2, READ_UNMAPPED = 4, MATE_UNMAPPED = 8, READ_STRAND = 16, MATE_STRAND = 32, FIRST_OF_PAIR = 64, SECOND_OF_PAIR = 128, SECONDARY_ALIGNMNET = 256, READ_FAILS_VENDOR_QUALITY_CHECK = 512, DUPLICATE_READ = 1024, SUPPLEMENTARY_ALIGNMENT = 2048 } export declare class BamReader { private bamDataLoader; private bamIndexDataLoader; constructor(bamDataLoader: DataLoader, bamIndexDataLoader: DataLoader); private indexData?; getIndexData(): Promise<BamIndexData>; private headerData?; getHeaderData(): Promise<BamHeader>; read(chr: string, start: number, end: number): Promise<Array<BamAlignment>>; } export declare function readBam(bamDataLoader: DataLoader, chunks: Array<Chunk>, refId: number, chr: string, start: number, end: number): Promise<Array<BamAlignment>>;