UNPKG

@rcsb/rcsb-saguaro-app

Version:
71 lines 3.26 kB
import { ReturnType, Service } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchEnums"; import { RcsbSearchMetadata } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchMetadata"; import { CHEM_COMP_FACET, ENTITY_NAME_FACET, EXPERIMENTAL_METHOD_FACET, LIGAND_FACET, ORGANISM_FACET, PFAM_FACET, RELEASE_DATE_FACET, RESOLUTION_FACET, SCOP_FACET, TAXONOMY_FACET, CATH_FACET, ECOD_FACET, ENZYME_CLASS_FACET, GO_FUNCTION_FACET, GO_PROCESS_FACET, GO_COMPONENT_FACET, METHODOLOGY_FACET, TAXONOMY_COUNT_FACET, DISEASE_FACET, INTERPRO_FACET, PHENOTYPE_FACET } from "./SingleFacets"; import { cloneDeep } from "lodash"; class UniprotGroupFacetStore { constructor() { this.entryFacet = [ cloneDeep(EXPERIMENTAL_METHOD_FACET), cloneDeep(RESOLUTION_FACET), cloneDeep(METHODOLOGY_FACET), cloneDeep(RELEASE_DATE_FACET), cloneDeep(ENZYME_CLASS_FACET) ]; this.instanceFacet = [ cloneDeep(SCOP_FACET), cloneDeep(CATH_FACET), cloneDeep(ECOD_FACET), cloneDeep(LIGAND_FACET) ]; this.entityFacet = [ cloneDeep(ORGANISM_FACET), cloneDeep(TAXONOMY_FACET), cloneDeep(PFAM_FACET), cloneDeep(ENTITY_NAME_FACET), cloneDeep(GO_FUNCTION_FACET), cloneDeep(GO_PROCESS_FACET), cloneDeep(GO_COMPONENT_FACET), cloneDeep(TAXONOMY_COUNT_FACET) ]; this.uniprotFacet = [ cloneDeep(DISEASE_FACET), cloneDeep(PHENOTYPE_FACET), cloneDeep(INTERPRO_FACET) ]; this.nonPolymerFacet = [ cloneDeep(CHEM_COMP_FACET) ]; this.facetLayoutGrid = [ RcsbSearchMetadata.RcsbAccessionInfo.DepositDate.path, RcsbSearchMetadata.RcsbEntryInfo.ResolutionCombined.path, RcsbSearchMetadata.Exptl.Method.path, RcsbSearchMetadata.RcsbEntryInfo.StructureDeterminationMethodology.path, RcsbSearchMetadata.ChemComp.Type.path, RcsbSearchMetadata.RcsbEntitySourceOrganism.NcbiScientificName.path, RcsbSearchMetadata.RcsbEntitySourceOrganism.NcbiParentScientificName.path, RcsbSearchMetadata.RcsbPolymerEntityAnnotation.Name.path, RcsbSearchMetadata.RcsbPolymerInstanceAnnotation.AnnotationLineage.Name.path ]; this.returnType = ReturnType.PolymerEntity; } getServices() { return [Service.Text]; } getFacetService(service) { switch (service) { case Service.Text: return this.entryFacet .concat(this.instanceFacet) .concat(this.entityFacet) .concat(this.uniprotFacet); case Service.TextChem: return this.nonPolymerFacet; case "all": return this.entryFacet .concat(this.instanceFacet) .concat(this.entityFacet) .concat(this.nonPolymerFacet) .concat(this.uniprotFacet); default: return []; } } } export const uniprotGroupFacetStore = new UniprotGroupFacetStore(); //# sourceMappingURL=UniprotGroupFacetStore.js.map