@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
53 lines • 3.48 kB
JavaScript
import { __awaiter } from "tslib";
import { SequenceReference, AnnotationReference } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule";
import { buriedResidues, buriedResiduesFilter } from "../../RcsbUtils/TrackGenerators/BuriedResidues";
import { SequenceTrackFactory } from "../RcsbFvFactories/RcsbFvTrackFactory/TrackFactoryImpl/SequenceTrackFactory";
import { InstanceSequenceTrackTitleFactory } from "../RcsbFvFactories/RcsbFvTrackFactory/TrackTitleFactoryImpl/InstanceSequenceTrackTitleFactory";
import { Assertions } from "../../RcsbUtils/Helpers/Assertions";
var assertDefined = Assertions.assertDefined;
export class RcsbFvInstance extends RcsbFvAbstractModule {
protectedBuild() {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c, _d;
const buildConfig = this.buildConfig;
const instanceId = buildConfig.instanceId;
assertDefined(instanceId);
const source = [AnnotationReference.PdbEntity, AnnotationReference.PdbInstance, AnnotationReference.Uniprot];
const alignmentRequestContext = {
queryId: instanceId,
from: SequenceReference.PdbInstance,
to: SequenceReference.Uniprot,
externalTrackBuilder: (_a = buildConfig.additionalConfig) === null || _a === void 0 ? void 0 : _a.externalTrackBuilder
};
const alignmentResponse = yield this.alignmentCollector.collect(alignmentRequestContext, (_b = buildConfig.additionalConfig) === null || _b === void 0 ? void 0 : _b.alignmentFilter);
yield this.buildAlignmentTracks(alignmentRequestContext, alignmentResponse, {
sequenceTrackFactory: new SequenceTrackFactory(this.getPolymerEntityInstanceTranslator(), new InstanceSequenceTrackTitleFactory(this.getPolymerEntityInstanceTranslator()))
});
const annotationsRequestContext = {
queryId: instanceId,
reference: SequenceReference.PdbInstance,
annotationGenerator: (ann) => (new Promise((r) => (r(buriedResidues(ann))))),
annotationFilter: (ann) => (new Promise((r) => (r(buriedResiduesFilter(ann))))),
sources: source,
annotationProcessing: (_c = buildConfig.additionalConfig) === null || _c === void 0 ? void 0 : _c.annotationProcessing,
externalTrackBuilder: (_d = buildConfig.additionalConfig) === null || _d === void 0 ? void 0 : _d.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;
const buildConfig = this.buildConfig;
this.rowConfigData =
!((_a = buildConfig.additionalConfig) === null || _a === void 0 ? void 0 : _a.hideAlignments) ?
[this.referenceTrack].concat(this.alignmentTracks).concat(this.annotationTracks)
:
this.alignmentTracks.concat(this.annotationTracks);
}
}
//# sourceMappingURL=RcsbFvInstance.js.map