UNPKG

@rcsb/rcsb-saguaro-app

Version:
56 lines 4 kB
import { __awaiter } from "tslib"; import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule"; import * as acm from "../../RcsbAnnotationConfig/GroupAnnotationConfig.ac.json"; import { SequenceTrackFactory } from "../RcsbFvFactories/RcsbFvTrackFactory/TrackFactoryImpl/SequenceTrackFactory"; import { Assertions } from "../../RcsbUtils/Helpers/Assertions"; var assertDefined = Assertions.assertDefined; const annotationConfigMap = acm; export class RcsbFvGroupAnnotation extends RcsbFvAbstractModule { protectedBuild() { return __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(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 __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); } } //# sourceMappingURL=RcsbFvGroupAnnotation.js.map