higlass
Version:
HiGlass Hi-C / genomic / large data viewer
35 lines (34 loc) • 1.11 kB
TypeScript
export default parseChromsizesRows;
export type ChromsizeRow = [string, number];
export type CumulativeChromsizeEntry = {
id: number;
chr: string;
pos: number;
};
export type ParsedChromsizes = {
cumPositions: CumulativeChromsizeEntry[];
chrPositions: Record<string, CumulativeChromsizeEntry>;
totalLength: number;
chromLengths: Record<string, number>;
};
/** @typedef {[string, number]} ChromsizeRow */
/**
* @typedef CumulativeChromsizeEntry
* @property {number} id
* @property {string} chr
* @property {number} pos
*/
/**
* @typedef ParsedChromsizes
* @property {CumulativeChromsizeEntry[]} cumPositions
* @property {Record<string, CumulativeChromsizeEntry>} chrPositions
* @property {number} totalLength
* @property {Record<string, number>} chromLengths
*/
/**
* Parse an array of chromsizes, for example that result from reading rows of a chromsizes CSV file.
*
* @param {ArrayLike<ChromsizeRow>} data - Array of [chrName, chrLen] "tuples".
* @returns {ParsedChromsizes}
*/
declare function parseChromsizesRows(data: ArrayLike<ChromsizeRow>): ParsedChromsizes;