UNPKG

higlass

Version:

HiGlass Hi-C / genomic / large data viewer

47 lines (40 loc) 1.42 kB
// @ts-nocheck import { DEFAULT_TRACKS_FOR_DATATYPE, TRACKS_INFO_BY_TYPE } from '../configs'; /** Get the default tracks for a datatype. Uses the known track definitions as * well as any extra definitions that may be passed in. */ export default function getDefaultTracksForDatatype( datatype, otherDefaultTracks, ) { if (window.higlassTracksByType) { // Extend `TRACKS_INFO_BY_TYPE` with the configs of plugin tracks. Object.keys(window.higlassTracksByType).forEach((pluginTrackType) => { TRACKS_INFO_BY_TYPE[pluginTrackType] = window.higlassTracksByType[pluginTrackType].config; }); } if (!(datatype in DEFAULT_TRACKS_FOR_DATATYPE) && !otherDefaultTracks) { console.warn('unknown data type:', datatype); return undefined; } const orientationToPositions = { '1d-horizontal': ['top', 'bottom', 'left', 'right'], '2d': ['center'], '1d-vertical': ['left', 'right'], }; const defaultTracks = DEFAULT_TRACKS_FOR_DATATYPE[datatype] || {}; if (otherDefaultTracks) { for (const trackType of otherDefaultTracks) { if (!TRACKS_INFO_BY_TYPE[trackType]) { console.warn('unknown track type', trackType); } else { for (const position of orientationToPositions[ TRACKS_INFO_BY_TYPE[trackType].orientation ]) { defaultTracks[position] = trackType; } } } } return defaultTracks; }