@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
71 lines • 3.26 kB
JavaScript
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