Skip to content

Instantly share code, notes, and snippets.

@manzt
Last active May 3, 2023 20:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save manzt/7373d274a3b6a3999e89c84fc2989caf to your computer and use it in GitHub Desktop.
Save manzt/7373d274a3b6a3999e89c84fc2989caf to your computer and use it in GitHub Desktop.
some (incomplete) types for HiGlass tilesets
type ChromSizes = [name: string, length: number][]
type ChromName = unknown;
type TilesetInfo = {};
type Bam = {
min_pos: [number];
max_pos: [number];
max_zoom: number;
max_width: number;
tile_size: number;
chromsizes: ChromSizes[];
};
type BedArcsDb = {
min_pos: [number, number];
max_pos: [number, number];
max_length: number;
max_width: number;
max_zoom: number;
zoom_step: number;
assembly: string;
chrom_names: unknown[];
chrom_sizes: ChromSizes;
tile_size: number;
};
type BedDb = {
min_pos: [number];
max_pos: [number];
max_length: number;
max_width: number;
max_zoom: number;
zoom_step: number;
assembly: string;
chrom_names: ChromName[];
chrom_sizes: ChromSizes;
tile_size: number;
header: string;
version: number;
};
type BedDb2d = {
min_pos: [number, number];
max_pos: [number, number];
max_length: number;
max_width: number;
max_zoom: number;
zoom_step: number;
assembly: string;
chrom_names: unknown[];
chrom_sizes: ChromSizes;
tile_size: number;
};
type BigWig = {
min_pos: [0];
max_pos: [number];
max_width: number;
max_zoom: number;
tile_size: number;
chromsizes: ChromSizes;
aggregation_modes: Record<string, { name: string; value: string }>;
range_modes: Record<string, { name: string; value: string }>;
};
type BigBed = BigWig;
type Cooler =
& {
chromsizes: ChromSizes;
min_pos: [number, number];
max_pos: [number, number];
transforms?: { name: string; value: string }[];
mirror_tiles?: "false";
}
& (
| {
max_width: number;
bins_per_dimension: number;
}
| {
resolutions: number[];
}
);
type Density = {
max_pos: [number, number];
max_width: number;
max_zoom: number;
min_pos: [number, number];
mirror_tiles: "false";
};
type Geo = {
zoom_step: number;
tile_size: number;
max_zoom: number;
min_pos: [number, number];
max_pos: [number, number];
max_data_length: number;
};
type HiTile = {
max_pos: [number];
min_pos: [number];
max_width: number;
max_zoom: number;
tile_size: number;
};
type ImTile = {
tile_size: number;
max_zoom: number;
max_size: number;
width?: number;
height?: number;
dtype?: number;
}
type MrMatrix = {
min_pos: number;
max_pos: number;
resolutions: number[];
mirror_tiles: "false";
bins_per_dimension: 256;
}
type Multivec = {
resolutions: number[];
min_pos: number;
max_pos: number;
tile_size: number;
shape: number[];
row_infos?: string[];
}
type NpMatrix = {
max_width: number;
max_width1: number;
min_pos: number;
max_pos: number;
max_zoom: number;
mirror_tiles: "false";
bins_per_dimension: number;
}
type NpVector = {
max_width: number;
min_pos: number;
max_pos: number;
max_zoom: number;
bins_per_dimension: number;
tile_size: number;
}
type Points = {
min_pos: [number, number];
max_pos: [number, number];
max_width: number;
max_zoom: 100;
}
type TimeInterval = {
min_pos: [number],
max_pos: [number],
max_width: number;
start_value: number;
end_value: number;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment