UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

33 lines (32 loc) 1.28 kB
import { getContainingView, isAbortException } from '@jbrowse/core/util'; import { createStopToken } from '@jbrowse/core/util/stopToken'; import { autorun } from 'mobx'; import { addDisposer, isAlive } from 'mobx-state-tree'; import { getQuantitativeStats } from './getQuantitativeStats'; export function getQuantitativeStatsAutorun(self) { addDisposer(self, autorun(async () => { try { if (self.quantitativeStatsReady) { const view = getContainingView(self); const stopToken = createStopToken(); self.setStatsLoading(stopToken); const statsRegion = JSON.stringify(view.dynamicBlocks); const wiggleStats = await getQuantitativeStats(self, { stopToken, filters: [], currStatsBpPerPx: view.bpPerPx, ...self.adapterProps(), }); if (isAlive(self)) { self.updateQuantitativeStats(wiggleStats, statsRegion); } } } catch (e) { if (isAlive(self) && !isAbortException(e)) { console.error(e); self.setError(e); } } }, { delay: 1000 })); }