UNPKG

@rcsb/rcsb-saguaro-app

Version:
60 lines (59 loc) 4.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RcsbFvGroupAnnotation = void 0; const tslib_1 = require("tslib"); const RcsbFvAbstractModule_1 = require("./RcsbFvAbstractModule"); const acm = tslib_1.__importStar(require("../../RcsbAnnotationConfig/GroupAnnotationConfig.ac.json")); const SequenceTrackFactory_1 = require("../RcsbFvFactories/RcsbFvTrackFactory/TrackFactoryImpl/SequenceTrackFactory"); const Assertions_1 = require("../../RcsbUtils/Helpers/Assertions"); var assertDefined = Assertions_1.Assertions.assertDefined; const annotationConfigMap = acm; class RcsbFvGroupAnnotation extends RcsbFvAbstractModule_1.RcsbFvAbstractModule { protectedBuild() { return tslib_1.__awaiter(this, void 0, void 0, function* () { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; const buildConfig = this.buildConfig; assertDefined(buildConfig.group), assertDefined(buildConfig.groupId), assertDefined((_a = buildConfig.additionalConfig) === null || _a === void 0 ? void 0 : _a.page); const alignmentRequestContext = { group: buildConfig.group, groupId: buildConfig.groupId, filter: (_b = buildConfig.additionalConfig) === null || _b === void 0 ? void 0 : _b.alignmentFilter, page: (_c = buildConfig.additionalConfig) === null || _c === void 0 ? void 0 : _c.page, from: buildConfig.from, to: buildConfig.to, dynamicDisplay: false, fitTitleWidth: true, excludeFirstRowLink: true, sequencePrefix: (_e = (_d = buildConfig.additionalConfig) === null || _d === void 0 ? void 0 : _d.sequencePrefix) !== null && _e !== void 0 ? _e : "", externalTrackBuilder: (_f = buildConfig.additionalConfig) === null || _f === void 0 ? void 0 : _f.externalTrackBuilder }; const annotationsRequestContext = { group: buildConfig.group, groupId: buildConfig.groupId, isSummary: typeof ((_g = buildConfig.additionalConfig) === null || _g === void 0 ? void 0 : _g.isAnnotationsGroupSummary) === "boolean" ? buildConfig.additionalConfig.isAnnotationsGroupSummary : true, sources: (_j = (_h = buildConfig.additionalConfig) === null || _h === void 0 ? void 0 : _h.sources) !== null && _j !== void 0 ? _j : [], filters: (_k = buildConfig.additionalConfig) === null || _k === void 0 ? void 0 : _k.filters, annotationProcessing: (_l = buildConfig.additionalConfig) === null || _l === void 0 ? void 0 : _l.annotationProcessing, externalTrackBuilder: (_m = buildConfig.additionalConfig) === null || _m === void 0 ? void 0 : _m.externalTrackBuilder }; const [alignmentResponse, annotationsFeatures] = yield Promise.all([ this.alignmentCollector.collect(alignmentRequestContext, (_o = buildConfig.additionalConfig) === null || _o === void 0 ? void 0 : _o.alignmentFilter), this.annotationCollector.collect(annotationsRequestContext) ]); const sequenceTrackFactory = new SequenceTrackFactory_1.SequenceTrackFactory(this.getPolymerEntityInstanceTranslator()); if (alignmentResponse.query_sequence) this.referenceTrack = yield sequenceTrackFactory.getTrack(alignmentRequestContext, alignmentResponse.query_sequence); yield this.buildAnnotationsTrack(annotationsRequestContext, annotationsFeatures, annotationConfigMap); return void 0; }); } getBoardConfig() { return tslib_1.__awaiter(this, void 0, void 0, function* () { return Object.assign(Object.assign({}, this.boardConfigData), { length: yield this.alignmentCollector.getAlignmentLength(), includeAxis: true }); }); } concatAlignmentAndAnnotationTracks() { this.rowConfigData = this.referenceTrack ? [this.referenceTrack].concat(this.alignmentTracks).concat(this.annotationTracks) : this.alignmentTracks.concat(this.annotationTracks); } } exports.RcsbFvGroupAnnotation = RcsbFvGroupAnnotation;