@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
68 lines • 3.65 kB
JavaScript
import { __awaiter } from "tslib";
import { SequenceReference } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import resource from "../../../../RcsbServerConfig/web.resources.json";
import { RcsbAnnotationConstants } from "../../../../RcsbAnnotationConfig/RcsbAnnotationConstants";
import { TrackUtils } from "../TrackFactoryImpl/Helper/TrackUtils";
import { Assertions } from "../../../../RcsbUtils/Helpers/Assertions";
var assertDefined = Assertions.assertDefined;
import { TagDelimiter } from "@rcsb/rcsb-api-tools/lib/RcsbUtils/TagDelimiter";
export class SequenceTrackTitleFactory {
constructor(entityInstanceTranslator) {
this.entityInstanceTranslator = undefined;
this.entityInstanceTranslator = entityInstanceTranslator;
}
getTrackTitle(alignmentQueryContext) {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c;
let rowTitle;
if (!alignmentQueryContext.excludeFirstRowLink && alignmentQueryContext.from === SequenceReference.Uniprot) {
rowTitle = {
visibleTex: (_a = alignmentQueryContext.queryId) !== null && _a !== void 0 ? _a : "",
url: resource.rcsb_uniprot.url + alignmentQueryContext.queryId,
style: {
fontWeight: "bold",
color: RcsbAnnotationConstants.provenanceColorCode.rcsbLink
}
};
}
else if (!alignmentQueryContext.excludeFirstRowLink && alignmentQueryContext.from === SequenceReference.PdbInstance && this.entityInstanceTranslator != null) {
rowTitle = {
visibleTex: alignmentQueryContext.queryId ? this.buildInstanceId(alignmentQueryContext.queryId) : "",
style: {
fontWeight: "bold",
}
};
}
else {
rowTitle = {
visibleTex: (_b = alignmentQueryContext.queryId) !== null && _b !== void 0 ? _b : ((_c = alignmentQueryContext.groupId) !== null && _c !== void 0 ? _c : ""),
style: {
fontWeight: "bold",
}
};
}
return rowTitle;
});
}
getTrackTitlePrefix(alignmentQueryContext) {
return __awaiter(this, void 0, void 0, function* () {
var _a;
return (alignmentQueryContext.from && !alignmentQueryContext.from.includes("PDB")) ? alignmentQueryContext.from.replace("_", " ") + " " + TagDelimiter.sequenceTitle : ((_a = alignmentQueryContext.sequencePrefix) !== null && _a !== void 0 ? _a : "");
});
}
getTrackTitleFlagColor(alignmentQueryContext) {
return __awaiter(this, void 0, void 0, function* () {
var _a;
const queryId = (_a = alignmentQueryContext.queryId) !== null && _a !== void 0 ? _a : alignmentQueryContext.groupId;
assertDefined(queryId), assertDefined(alignmentQueryContext.from);
return TrackUtils.getProvenanceConfigFormTarget(queryId, alignmentQueryContext.from).color;
});
}
buildInstanceId(targetId) {
var _a;
const labelAsymId = targetId.split(TagDelimiter.instance)[1];
const authAsymId = (_a = this.entityInstanceTranslator) === null || _a === void 0 ? void 0 : _a.translateAsymToAuth(labelAsymId);
return (labelAsymId === authAsymId || !authAsymId ? labelAsymId : labelAsymId + "[auth " + authAsymId + "]");
}
}
//# sourceMappingURL=SequenceTrackTitleFactory.js.map