UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

30 lines (29 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchSequence = fetchSequence; const configuration_1 = require("@jbrowse/core/configuration"); const util_1 = require("@jbrowse/core/util"); async function fetchSequence(model, regions) { const session = (0, util_1.getSession)(model); const { leftOffset, rightOffset } = model; if (!leftOffset || !rightOffset) { throw new Error('no offsets on model to use for range'); } const assemblyNames = new Set(regions.map(r => r.assemblyName)); if (assemblyNames.size > 1) { throw new Error('not able to fetch sequences from multiple assemblies currently'); } const { rpcManager, assemblyManager } = session; const assemblyName = leftOffset.assemblyName || rightOffset.assemblyName || ''; const assembly = assemblyManager.get(assemblyName); if (!assembly) { throw new Error(`assembly ${assemblyName} not found`); } const adapterConfig = (0, configuration_1.getConf)(assembly, ['sequence', 'adapter']); const sessionId = 'getSequence'; return rpcManager.call(sessionId, 'CoreGetFeatures', { adapterConfig, regions, sessionId, }); }