UNPKG

@rcsb/rcsb-saguaro-app

Version:
64 lines 3.83 kB
import { __awaiter } from "tslib"; import { FieldName, OperationType, SequenceReference, AnnotationReference } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes"; import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule"; import { buriedResidues, buriedResiduesFilter } from "../../RcsbUtils/TrackGenerators/BuriedResidues"; import { Assertions } from "../../RcsbUtils/Helpers/Assertions"; var assertDefined = Assertions.assertDefined; export class RcsbFvUniprotInstance extends RcsbFvAbstractModule { protectedBuild() { return __awaiter(this, void 0, void 0, function* () { var _a, _b, _c; const buildConfig = this.buildConfig; const upAcc = buildConfig.upAcc; const entityId = buildConfig.entityId; const instanceId = buildConfig.instanceId; const additionalConfig = buildConfig.additionalConfig; assertDefined(entityId), assertDefined(instanceId), assertDefined(upAcc); let sources = [AnnotationReference.Uniprot, AnnotationReference.PdbEntity, AnnotationReference.PdbInstance]; if (additionalConfig != null && additionalConfig.sources != null && additionalConfig.sources.length > 0) sources = additionalConfig.sources; let filters = [{ field: FieldName.TargetId, operation: OperationType.Equals, source: AnnotationReference.PdbEntity, values: [entityId] }, { field: FieldName.TargetId, operation: OperationType.Contains, source: AnnotationReference.PdbInstance, values: [instanceId] }]; if (additionalConfig != null && additionalConfig.filters != null && additionalConfig.filters.length > 0) filters = additionalConfig.filters; const alignmentRequestContext = { queryId: upAcc, from: SequenceReference.Uniprot, to: SequenceReference.PdbInstance, filterByTargetContains: instanceId, excludeFirstRowLink: true, externalTrackBuilder: (_a = buildConfig.additionalConfig) === null || _a === void 0 ? void 0 : _a.externalTrackBuilder }; const alignmentResponse = yield this.alignmentCollector.collect(alignmentRequestContext, [instanceId]); yield this.buildAlignmentTracks(alignmentRequestContext, alignmentResponse); const annotationsRequestContext = { queryId: upAcc, reference: SequenceReference.Uniprot, sources: sources, filters: filters, annotationGenerator: (ann) => (new Promise((r) => (r(buriedResidues(ann))))), annotationFilter: (ann) => (new Promise((r) => (r(buriedResiduesFilter(ann))))), annotationProcessing: (_b = buildConfig.additionalConfig) === null || _b === void 0 ? void 0 : _b.annotationProcessing, externalTrackBuilder: (_c = buildConfig.additionalConfig) === null || _c === void 0 ? void 0 : _c.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() { this.rowConfigData = [this.referenceTrack].concat(this.alignmentTracks).concat(this.annotationTracks); } } //# sourceMappingURL=RcsbFvUniprotInstance.js.map