@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
57 lines (56 loc) • 3.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RcsbFvProteinSequence = void 0;
const tslib_1 = require("tslib");
const GqlTypes_1 = require("@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes");
const RcsbFvAbstractModule_1 = require("./RcsbFvAbstractModule");
const Assertions_1 = require("../../RcsbUtils/Helpers/Assertions");
var assertDefined = Assertions_1.Assertions.assertDefined;
class RcsbFvProteinSequence extends RcsbFvAbstractModule_1.RcsbFvAbstractModule {
protectedBuild() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
var _a, _b, _c, _d, _e;
const buildConfig = this.buildConfig;
if (!buildConfig.from || !buildConfig.to)
return;
const queryId = buildConfig.queryId;
assertDefined(queryId);
const source = (_a = buildConfig.sources) !== null && _a !== void 0 ? _a : [GqlTypes_1.AnnotationReference.Uniprot];
const alignmentRequestContext = {
queryId: queryId,
from: buildConfig.from,
to: buildConfig.to,
dynamicDisplay: true,
externalTrackBuilder: (_b = buildConfig.additionalConfig) === null || _b === void 0 ? void 0 : _b.externalTrackBuilder
};
const alignmentResponse = yield this.alignmentCollector.collect(alignmentRequestContext, (_c = buildConfig.additionalConfig) === null || _c === void 0 ? void 0 : _c.alignmentFilter);
yield this.buildAlignmentTracks(alignmentRequestContext, alignmentResponse);
const annotationsRequestContext = {
queryId: queryId,
reference: buildConfig.from,
sources: source,
annotationProcessing: (_d = buildConfig.additionalConfig) === null || _d === void 0 ? void 0 : _d.annotationProcessing,
externalTrackBuilder: (_e = buildConfig.additionalConfig) === null || _e === void 0 ? void 0 : _e.externalTrackBuilder
};
const annotationsFeatures = yield this.annotationCollector.collect(annotationsRequestContext);
yield this.buildAnnotationsTrack(annotationsRequestContext, annotationsFeatures);
this.boardConfigData.length = yield this.alignmentCollector.getAlignmentLength();
this.boardConfigData.includeAxis = true;
return void 0;
});
}
concatAlignmentAndAnnotationTracks() {
var _a, _b;
const buildConfig = this.buildConfig;
if ((_a = buildConfig.additionalConfig) === null || _a === void 0 ? void 0 : _a.hideAlignments) {
this.rowConfigData = [this.referenceTrack].concat(this.annotationTracks);
}
else if ((_b = buildConfig.additionalConfig) === null || _b === void 0 ? void 0 : _b.bottomAlignments) {
this.rowConfigData = [this.referenceTrack].concat(this.annotationTracks).concat(this.alignmentTracks);
}
else {
this.rowConfigData = [this.referenceTrack].concat(this.alignmentTracks).concat(this.annotationTracks);
}
}
}
exports.RcsbFvProteinSequence = RcsbFvProteinSequence;