@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
56 lines • 4 kB
JavaScript
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