@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
29 lines (28 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MsaAlignmentTrackFactory = void 0;
const tslib_1 = require("tslib");
const PositionalScoreAlignmentTrackFactory_1 = require("./PositionalScoreAlignmentTrackFactory");
const PlainObservedAlignmentTrackFactory_1 = require("./PlainObservedAlignmentTrackFactory");
const TagDelimiter_1 = require("@rcsb/rcsb-api-tools/lib/RcsbUtils/TagDelimiter");
class MsaAlignmentTrackFactory {
constructor(entityInstanceTranslator) {
this.observedAlignmentTrackFactory = new PlainObservedAlignmentTrackFactory_1.PlainObservedAlignmentTrackFactory(entityInstanceTranslator);
this.positionalScoreAlignmentTrackFactory = new PositionalScoreAlignmentTrackFactory_1.PositionalScoreAlignmentTrackFactory(entityInstanceTranslator);
}
getTrack(alignmentQueryContext, targetAlignment) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (targetAlignment.target_id && TagDelimiter_1.TagDelimiter.isEntityOrInstanceId(targetAlignment.target_id))
return this.observedAlignmentTrackFactory.getTrack(alignmentQueryContext, targetAlignment);
else
return this.positionalScoreAlignmentTrackFactory.getTrack(alignmentQueryContext, targetAlignment);
});
}
prepareFeatures(unObservedRegions, positionalScores) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
yield this.observedAlignmentTrackFactory.prepareFeatures(unObservedRegions);
yield this.positionalScoreAlignmentTrackFactory.prepareFeatures(positionalScores);
});
}
}
exports.MsaAlignmentTrackFactory = MsaAlignmentTrackFactory;