@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
24 lines (23 loc) • 868 B
JavaScript
import { getConf } from "../configuration/index.js";
export async function fetchSeq({ start, end, refName, assemblyName, session, }) {
const { rpcManager, assemblyManager } = session;
const assembly = await assemblyManager.waitForAssembly(assemblyName);
if (!assembly) {
throw new Error('assembly not found');
}
const sessionId = 'getSequence';
const adapterConfig = getConf(assembly, ['sequence', 'adapter']);
const canonicalRefName = assembly.getCanonicalRefName2(refName);
const seqAdapterRefName = assembly.getSeqAdapterRefName(canonicalRefName);
const seq = (await rpcManager.call(sessionId, 'CoreGetSequence', {
adapterConfig,
sessionId,
region: {
start,
end,
refName: seqAdapterRefName,
assemblyName,
},
}));
return seq ?? '';
}