higlass
Version:
HiGlass Hi-C / genomic / large data viewer
87 lines (86 loc) • 3.02 kB
TypeScript
export default GBKDataFetcher;
export type FillerSegment = {
start: number;
end: number;
type: "filler";
strand: "+" | "-";
};
export type GenbankFeature = import("genbank-parser").ParsedGenbank["features"][number];
export type FillerGeneAnnotation = {
xStart: number;
xEnd: number;
strand: "+" | "-";
uid: string;
type: "filler";
fields: [];
};
export type CompleteGeneAnnotation = {
xStart: number;
xEnd: number;
strand: "+" | "-";
chrOffset: number;
importance: number;
uid: string;
type?: string | undefined;
fields: [chr: "chrom", start: number, end: number, name: string, importance: number, strand: "+" | "-", _unknown0: string, _unknown1: string, type: string, name: string, start: string, end: string, start: string, end: string];
};
export type GeneAnnotation = CompleteGeneAnnotation | FillerGeneAnnotation;
export type GenbankDataConfig = {
url?: string | undefined;
text?: string | undefined;
};
export type GenbankTile = Array<GeneAnnotation> & {
tilePositionId?: string;
};
/**
* @typedef GenbankDataConfig
* @prop {string=} url
* @prop {string=} text
*/
/**
* @typedef {Array<GeneAnnotation> & { tilePositionId?: string }} GenbankTile
*/
/** @implements {AbstractDataFetcher<GenbankTile, GenbankDataConfig>} */
declare class GBKDataFetcher implements AbstractDataFetcher {
/** @param {GenbankDataConfig} dataConfig */
constructor(dataConfig: GenbankDataConfig);
/** @type {GenbankDataConfig} */
dataConfig: GenbankDataConfig;
/** @type {string} */
trackUid: string;
/** @type {string} */
errorTxt: string;
/** @type {Promise<ReturnType<typeof gbToJsonAndFeatures>>} */
gbDataPromise: Promise<ReturnType<typeof gbToJsonAndFeatures>>;
/**
* @param {import('../types').HandleTilesetInfoFinished} [callback]
* @returns {Promise<import('../types').LegacyTilesetInfo | undefined>}
*/
tilesetInfo(callback?: import("../types").HandleTilesetInfoFinished): Promise<import("../types").LegacyTilesetInfo | undefined>;
tilesetInfoLoading: boolean | undefined;
/**
* @param {(tiles: Record<string, GenbankTile>) => void} receivedTiles
* @param {string[]} tileIds
* @returns {Promise<Record<string, GenbankTile>>}
*/
fetchTilesDebounced(receivedTiles: (tiles: Record<string, GenbankTile>) => void, tileIds: string[]): Promise<Record<string, GenbankTile>>;
/**
* @param {number} z
* @param {number} x
* @returns {Promise<GeneAnnotation[]>}
*/
tile(z: number, x: number): Promise<GeneAnnotation[]>;
}
import type { AbstractDataFetcher } from '../types';
/**
* Convert genbank text to a JSON representation and extract features
* @param {string} gbText
* @returns {{
* json: import('genbank-parser').ParsedGenbank[],
* features: GenbankFeature[],
* }}
*/
declare function gbToJsonAndFeatures(gbText: string): {
json: import("genbank-parser").ParsedGenbank[];
features: GenbankFeature[];
};