UNPKG

@rcsb/rcsb-saguaro-app

Version:
58 lines (57 loc) 4.18 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 alignmentResponse = yield this.alignmentCollector.collect(alignmentRequestContext, (_g = buildConfig.additionalConfig) === null || _g === void 0 ? void 0 : _g.alignmentFilter); const sequenceTrackFactory = new SequenceTrackFactory_1.SequenceTrackFactory(this.getPolymerEntityInstanceTranslator()); if (alignmentResponse.query_sequence) this.referenceTrack = yield sequenceTrackFactory.getTrack(alignmentRequestContext, alignmentResponse.query_sequence); const annotationsRequestContext = { group: buildConfig.group, groupId: buildConfig.groupId, isSummary: typeof ((_h = buildConfig.additionalConfig) === null || _h === void 0 ? void 0 : _h.isAnnotationsGroupSummary) === "boolean" ? buildConfig.additionalConfig.isAnnotationsGroupSummary : true, sources: (_k = (_j = buildConfig.additionalConfig) === null || _j === void 0 ? void 0 : _j.sources) !== null && _k !== void 0 ? _k : [], filters: (_l = buildConfig.additionalConfig) === null || _l === void 0 ? void 0 : _l.filters, annotationProcessing: (_m = buildConfig.additionalConfig) === null || _m === void 0 ? void 0 : _m.annotationProcessing, externalTrackBuilder: (_o = buildConfig.additionalConfig) === null || _o === void 0 ? void 0 : _o.externalTrackBuilder }; const annotationsFeatures = yield this.annotationCollector.collect(annotationsRequestContext); 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;