UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

23 lines (22 loc) 952 B
import { forEachWithStopTokenCheck, groupBy } from '@jbrowse/core/util'; import WiggleBaseRenderer from '../WiggleBaseRenderer'; import { YSCALEBAR_LABEL_OFFSET } from '../util'; export default class MultiXYPlotRenderer extends WiggleBaseRenderer { async draw(ctx, props) { const { stopToken, sources, features } = props; const groups = groupBy(features.values(), f => f.get('source')); const { drawXY } = await import('../drawXY'); let feats = []; forEachWithStopTokenCheck(sources, stopToken, source => { const features = groups[source.name] || []; const { reducedFeatures } = drawXY(ctx, { ...props, features, offset: YSCALEBAR_LABEL_OFFSET, colorCallback: () => source.color || 'blue', }); feats = feats.concat(reducedFeatures); }); return { reducedFeatures: feats }; } }