@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
18 lines (17 loc) • 940 B
JavaScript
import { getAdapter } from "../../data_adapters/dataAdapterCache.js";
import RpcMethodType from "../../pluggableElementTypes/RpcMethodType.js";
import { renameRegionsIfNeeded } from "../../util/index.js";
export default class CoreGetSequence extends RpcMethodType {
name = 'CoreGetSequence';
async serializeArguments(args, rpcDriver) {
const { rootModel } = this.pluginManager;
const assemblyManager = rootModel.session.assemblyManager;
const renamedArgs = await renameRegionsIfNeeded(assemblyManager, args);
return super.serializeArguments(renamedArgs, rpcDriver);
}
async execute(args, rpcDriver) {
const { stopToken, sessionId, adapterConfig, region } = await this.deserializeArguments(args, rpcDriver);
const dataAdapter = (await getAdapter(this.pluginManager, sessionId, adapterConfig)).dataAdapter;
return dataAdapter.getSequence(region, { stopToken });
}
}