{"version":3,"sources":["src/environments/environment.prod.ts","src/app/search-box/search-box.component.ts","src/app/search-box/search-box.component.html","src/app/main-nav-bar/main-nav-bar.component.ts","src/app/main-nav-bar/main-nav-bar.component.html","src/app/stats-ribbon/stats-ribbon.component.ts","src/app/stats-ribbon/stats-ribbon.component.html","src/app/app.component.ts","src/app/app.component.html","node_modules/@angular/animations/fesm2022/browser.mjs","node_modules/@angular/platform-browser/fesm2022/animations.mjs","node_modules/ngx-intersection-observer/fesm2020/ngx-intersection-observer.mjs","src/app/annotation-table-intersection-event.ts","src/app/pombase-types.ts","src/app/reference-short/reference-short.component.ts","src/app/reference-short/reference-short.component.html","src/app/reaction-view/reaction-view.component.ts","src/app/reaction-view/reaction-view.component.html","src/app/term-link/term-link.component.ts","src/app/term-link/term-link.component.html","src/app/extension-display/extension-display.component.ts","src/app/extension-display/extension-display.component.html","src/app/genotype-allele-summary/genotype-allele-summary.component.ts","src/app/genotype-allele-summary/genotype-allele-summary.component.html","src/app/genotype-link/genotype-link.component.ts","src/app/genotype-link/genotype-link.component.html","src/app/evidence-link/evidence-link.component.ts","src/app/evidence-link/evidence-link.component.html","src/app/with-or-from-link/with-or-from-link.component.ts","src/app/with-or-from-link/with-or-from-link.component.html","src/app/filtering.ts","src/app/filtering/annotation-term-filter.ts","src/app/annotation-table-term-filter/annotation-table-term-filter.component.ts","src/app/annotation-table-term-filter/annotation-table-term-filter.component.html","src/app/filtering/annotation-ploidiness-filter.ts","src/app/annotation-table-ploidiness-filter/annotation-table-ploidiness-filter.component.ts","src/app/annotation-table-ploidiness-filter/annotation-table-ploidiness-filter.component.html","src/app/filtering/annotation-evidence-filter.ts","src/app/annotation-table-evidence-filter/annotation-table-evidence-filter.component.ts","src/app/annotation-table-evidence-filter/annotation-table-evidence-filter.component.html","src/app/filtering/annotation-extension-filter.ts","src/app/annotation-table-extension-filter/annotation-table-extension-filter.component.ts","src/app/annotation-table-extension-filter/annotation-table-extension-filter.component.html","src/app/filtering/annotation-throughput-filter.ts","src/app/annotation-table-throughput-filter/annotation-table-throughput-filter.component.ts","src/app/annotation-table-throughput-filter/annotation-table-throughput-filter.component.html","src/app/annotation-table-filters/annotation-table-filters.component.ts","src/app/annotation-table-filters/annotation-table-filters.component.html","src/app/annotation-table-ext-links/annotation-table-ext-links.component.ts","src/app/annotation-table-ext-links/annotation-table-ext-links.component.html","src/app/annotation-table-widgets/annotation-table-widgets.component.ts","src/app/annotation-table-widgets/annotation-table-widgets.component.html","src/app/allele-promoter-list/allele-promoter-list.component.ts","src/app/allele-promoter-list/allele-promoter-list.component.html","src/app/annotation-sub-table/annotation-sub-table.component.ts","src/app/annotation-sub-table/annotation-sub-table.component.html","src/app/deletion-viability-summary/deletion-viability-summary.component.ts","src/app/deletion-viability-summary/deletion-viability-summary.component.html","src/app/slim-summary/slim-summary.component.ts","src/app/slim-summary/slim-summary.component.html","src/app/protein-properties/protein-properties.component.ts","src/app/protein-properties/protein-properties.component.html","src/app/help-link/help-link.component.ts","src/app/help-link/help-link.component.html","src/app/annotation-table/annotation-table.component.ts","src/app/annotation-table/annotation-table.component.html","src/app/message-dialog/message-dialog.component.ts","src/app/message-dialog/message-dialog.component.html","src/app/filtering/interaction-throughput-filter.ts","src/app/interaction-table-throughput-filter/interaction-table-throughput-filter.component.ts","src/app/interaction-table-throughput-filter/interaction-table-throughput-filter.component.html","src/app/interaction-table-filters/interaction-table-filters.component.ts","src/app/interaction-table-filters/interaction-table-filters.component.html","src/app/interaction-annotation-table/interaction-annotation-table.component.ts","src/app/interaction-annotation-table/interaction-annotation-table.component.html","src/app/external-refs-table/external-refs-table.component.ts","src/app/external-refs-table/external-refs-table.component.html","src/app/ortholog-annotation-table/ortholog-annotation-table.component.ts","src/app/ortholog-annotation-table/ortholog-annotation-table.component.html","src/app/paralog-annotation-table/paralog-annotation-table.component.ts","src/app/paralog-annotation-table/paralog-annotation-table.component.html","src/app/target-of-annotation-table/target-of-annotation-table.component.ts","src/app/target-of-annotation-table/target-of-annotation-table.component.html","src/app/reference-order-by.pipe.ts","src/app/gene-references-table/gene-references-table.component.ts","src/app/gene-references-table/gene-references-table.component.html","src/app/quant-gene-ex-table/quant-gene-ex-table.component.ts","src/app/quant-gene-ex-table/quant-gene-ex-table.component.html","src/app/gene-external-references/gene-external-references.component.ts","src/app/gene-external-references/gene-external-references.component.html","src/app/transcript-sequence-select/transcript-sequence-select.component.ts","src/app/transcript-sequence-select/transcript-sequence-select.component.html","src/app/display-sequence.ts","src/app/interpro-matches/interpro-matches.component.ts","src/app/interpro-matches/interpro-matches.component.html","src/app/protein-features/protein-features.component.ts","src/app/protein-features/protein-features.component.html","src/app/transcript-view/transcript-view.component.ts","src/app/transcript-view/transcript-view.component.html","src/app/misc-annotation-table/misc-annotation-table.component.ts","src/app/misc-annotation-table/misc-annotation-table.component.html","node_modules/ngx-toastr/fesm2022/ngx-toastr.mjs","src/app/jbrowse-track-order-by.pipe.ts","src/app/jbrowse-track-picker/jbrowse-track-picker.component.ts","src/app/jbrowse-track-picker/jbrowse-track-picker.component.html","src/app/filtering/genetic-interaction-throughput-filter.ts","src/app/genetic-interaction-table-throughput-filter/genetic-interaction-table-throughput-filter.component.ts","src/app/genetic-interaction-table-throughput-filter/genetic-interaction-table-throughput-filter.component.html","src/app/filtering/genetic-interaction-type-filter.ts","src/app/genetic-interaction-table-type-filter/genetic-interaction-table-type-filter.component.ts","src/app/genetic-interaction-table-type-filter/genetic-interaction-table-type-filter.component.html","src/app/genetic-interaction-table-filters/genetic-interaction-table-filters.component.ts","src/app/genetic-interaction-table-filters/genetic-interaction-table-filters.component.html","src/app/genetic-interaction-annotation-table/genetic-interaction-annotation-table.component.ts","src/app/genetic-interaction-annotation-table/genetic-interaction-annotation-table.component.html","src/app/gene-page-widgets/gene-page-widgets.component.ts","src/app/gene-page-widgets/gene-page-widgets.component.html","src/app/gene-history-table/gene-history-table.component.ts","src/app/gene-history-table/gene-history-table.component.html","src/app/gene-details/gene-details.component.ts","src/app/gene-details/gene-details.component.html","src/app/gene-allele-list/gene-allele-list.component.ts","src/app/gene-allele-list/gene-allele-list.component.html","src/app/protein-feature-table/protein-feature-table.component.ts","src/app/protein-feature-table/protein-feature-table.component.html","src/app/gene-protein-features/gene-protein-features.component.ts","src/app/gene-protein-features/gene-protein-features.component.html","src/app/genotype-references-table/genotype-references-table.component.ts","src/app/genotype-references-table/genotype-references-table.component.html","src/app/genotype-details/genotype-details.component.ts","src/app/genotype-details/genotype-details.component.html","src/app/allele-details/allele-details.component.ts","src/app/allele-details/allele-details.component.html","src/app/term-external-links/term-external-links.component.ts","src/app/term-external-links/term-external-links.component.html","src/app/term-page-summary/term-page-summary.component.ts","src/app/term-page-summary/term-page-summary.component.html","node_modules/@swissprot/rhea-reaction-visualizer/index.js","src/app/go-cam-viewer/go-cam-viewer.component.ts","src/app/go-cam-viewer/go-cam-viewer.component.html","src/app/term-page-widgets/term-page-widgets.component.ts","src/app/term-page-widgets/term-page-widgets.component.html","src/app/term-details/term-details.component.ts","src/app/term-details/term-details.component.html","src/app/term-genes-view/term-genes-view.component.ts","src/app/term-genes-view/term-genes-view.component.html","src/app/gene-subset-view/gene-subset-view.component.ts","src/app/gene-subset-view/gene-subset-view.component.html","src/app/genotype-order-by.pipe.ts","src/app/genotypes-table/genotypes-table.component.ts","src/app/genotypes-table/genotypes-table.component.html","src/app/term-genotypes-view/term-genotypes-view.component.ts","src/app/term-genotypes-view/term-genotypes-view.component.html","src/app/term-single-gene-genotypes-view/term-single-gene-genotypes-view.component.ts","src/app/term-single-gene-genotypes-view/term-single-gene-genotypes-view.component.html","src/app/pdb-structure-viewer/pdb-structure-viewer.component.ts","src/app/pdb-structure-viewer/pdb-structure-viewer.component.html","src/app/reference-details/reference-details.component.ts","src/app/reference-details/reference-details.component.html","src/app/query-node-display/query-node-display.component.ts","src/app/query-node-display/query-node-display.component.html","src/app/query-node/query-node.component.ts","src/app/query-node/query-node.component.html","src/app/gene-query-structure/gene-query-structure.component.ts","src/app/gene-query-structure/gene-query-structure.component.html","src/app/query-details-dialog/query-details-dialog.component.ts","src/app/query-details-dialog/query-details-dialog.component.html","src/app/query-history/query-history.component.ts","src/app/query-history/query-history.component.html","src/app/not-direction-select-dialog/not-direction-select-dialog.component.ts","src/app/not-direction-select-dialog/not-direction-select-dialog.component.html","src/app/query-builder/query-builder.component.ts","src/app/query-builder/query-builder.component.html","src/app/recent-news/recent-news.component.ts","src/app/recent-news/recent-news.component.html","src/app/reference-short-list/reference-short-list.component.ts","src/app/reference-short-list/reference-short-list.component.html","src/app/recent-community-pubs/recent-community-pubs.component.ts","src/app/recent-community-pubs/recent-community-pubs.component.html","src/app/front-panel-content/front-panel-content.component.ts","src/app/front-panel-content/front-panel-content.component.html","src/app/front-panel/front-panel.component.ts","src/app/front-panel/front-panel.component.html","src/app/front/front.component.ts","src/app/front/front.component.html","src/app/router-not-found-handler/router-not-found-handler.component.ts","src/app/router-not-found-handler/router-not-found-handler.component.html","src/app/panel-archive/panel-archive.component.ts","src/app/panel-archive/panel-archive.component.html","src/app/reference-detail-list/reference-detail-list.component.ts","src/app/reference-detail-list/reference-detail-list.component.html","src/app/reference-detail-list-page/reference-detail-list-page.component.ts","src/app/reference-detail-list-page/reference-detail-list-page.component.html","src/app/motif.service.ts","src/app/motif-search-help/motif-search-help.component.ts","src/app/motif-search-help/motif-search-help.component.html","src/app/motif-search/motif-search.component.ts","src/app/motif-search/motif-search.component.html","src/app/identifier-mapper.service.ts","src/app/identifier-mapper/identifier-mapper.component.ts","src/app/identifier-mapper/identifier-mapper.component.html","src/app/gene-results-page/gene-results-page.component.ts","src/app/gene-results-page/gene-results-page.component.html","src/app/all-cv-versions/all-cv-versions.component.ts","src/app/all-cv-versions/all-cv-versions.component.html","src/app/internal-details/internal-details.component.ts","src/app/internal-details/internal-details.component.html","src/app/identifier-mapper-results/identifier-mapper-results.component.ts","src/app/identifier-mapper-results/identifier-mapper-results.component.html","src/app/ref-genes-view/ref-genes-view.component.ts","src/app/ref-genes-view/ref-genes-view.component.html","src/app/stats-summary/stats-summary.component.ts","src/app/stats-summary/stats-summary.component.html","src/app/curation-stats/curation-stats.component.ts","src/app/curation-stats/curation-stats.component.html","src/app/go-cam-view-page/go-cam-view-page.component.ts","src/app/go-cam-view-page/go-cam-view-page.component.html","src/app/gocam-connections/gocam-connections.component.ts","src/app/gocam-connections/gocam-connections.component.html","src/app/app-routing.module.ts","node_modules/ngx-bootstrap/pagination/fesm2022/ngx-bootstrap-pagination.mjs","node_modules/ngx-bootstrap/buttons/fesm2022/ngx-bootstrap-buttons.mjs","src/app/gene-neighbourhood/gene-neighbourhood.component.ts","src/app/gene-neighbourhood/gene-neighbourhood.component.html","src/app/gene-list-lookup/gene-list-lookup.component.ts","src/app/gene-list-lookup/gene-list-lookup.component.html","src/app/query-term-node/query-term-node.component.ts","src/app/query-term-node/query-term-node.component.html","src/app/query-subset-input/query-subset-input.component.ts","src/app/query-subset-input/query-subset-input.component.html","src/app/query-sub-nodes/query-sub-nodes.component.ts","src/app/query-sub-nodes/query-sub-nodes.component.html","src/app/query-range-node/query-range-node.component.ts","src/app/query-range-node/query-range-node.component.html","src/app/query-genome-range-node/query-genome-range-node.component.ts","src/app/query-genome-range-node/query-genome-range-node.component.html","src/app/alphafold-viewer/alphafold-viewer.component.ts","src/app/alphafold-viewer/alphafold-viewer.component.html","src/app/protein-feature-viewer/protein-feature-viewer.component.ts","src/app/protein-feature-viewer/protein-feature-viewer.component.html","src/app/rna-structure/rna-structure.component.ts","src/app/rna-structure/rna-structure.component.html","src/app/app.module.ts","src/main.ts"],"sourcesContent":["export const environment = {\n production: true\n};\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\n\nimport { PombaseAPIService, GeneSummary, IdNameAndOrganism } from '../pombase-api.service';\nimport { CompleteService, SolrTermSummary, SolrRefSummary, SolrAlleleSummary } from '../complete.service';\nimport { getAppConfig, ConfigOrganism } from '../config';\n\nimport { TypeaheadMatch } from 'ngx-bootstrap/typeahead/typeahead-match.class';\nimport { switchMap } from 'rxjs/operators';\nimport { combineLatest } from 'rxjs';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { Util } from '../shared/util';\n\nclass SearchSummary {\n constructor(\n public uniquename: string,\n public uniquenameLowerCase: string,\n public name: string|undefined,\n public nameLowerCase: string|undefined,\n public product: string|undefined,\n public productLowerCase: string|undefined,\n public uniprotIdentifier: string|undefined,\n public uniprotIdentifierLowerCase: string|undefined,\n public transcripts: Array,\n public lowerCaseTranscripts: Array,\n public synonyms: Array,\n public synonymsLowerCase: Array,\n public orthologs: Array,\n public organism: ConfigOrganism) { }\n}\n\nclass DisplayModel {\n constructor(public matchType: string,\n public uniquename: string,\n public name: string|undefined,\n public otherDetails: Array,\n public alleleGeneUniquename?: string,\n public organism?: ConfigOrganism) {\n if (this.name && this.name.length > 45) {\n this.name = this.name.slice(0, 42) + '...';\n }\n if (this.otherDetails) {\n this.otherDetails =\n this.otherDetails.filter(detail => detail && detail.length > 0);\n for (let idx = 0; idx < this.otherDetails.length; idx++) {\n const otherDetail = this.otherDetails[idx];\n if (otherDetail.length > 73 && otherDetail.indexOf('>;\n noResults = false;\n waitingForServer = false;\n\n fieldValue = '';\n\n geneSummariesFailed = false;\n\n searchSummaries: Array = [];\n\n appConfig = getAppConfig();\n\n configuredTaxonIds = this.appConfig.organisms.map(org => org.taxonid);\n\n cvNamesForTermComplete = '(' + this.appConfig.searchBoxCvNames.join(' OR ') + ')';\n\n sysGeneIdRe = new RegExp(this.appConfig.gene_systematic_identifier_re);\n sysTranscriptIdRe = new RegExp(this.appConfig.transcript_systematic_identifier_re);\n\n @ViewChild('searchBox') searchBoxElement: ElementRef;\n\n constructor(private completeService: CompleteService,\n private pombaseApiService: PombaseAPIService,\n private deployConfigService: DeployConfigService,\n private router: Router) {\n }\n\n isInitialised(): boolean {\n return this.searchSummaries.length > 0;\n }\n\n private makeGeneDisplayModel(uniquename: string, name: string|undefined, otherDetailsArg: Array,\n organism: ConfigOrganism): DisplayModel {\n let otherDetails: Array = [...otherDetailsArg];\n if (getAppConfig().isMultiOrganismMode()) {\n const orgDetails =\n `${organism.common_name}`;\n otherDetails.unshift(orgDetails);\n }\n\n return new DisplayModel('Matching genes:', uniquename, name, otherDetails, undefined, organism);\n }\n\n private highlightMatch(pos: number, searchString: string, target?: string): string {\n let start;\n let highlightBit;\n let rest;\n if (target) {\n start = target.substr(0, pos);\n highlightBit = target.substr(pos, searchString.length);\n rest = target.substr(pos + searchString.length);\n } else {\n start = '';\n highlightBit = searchString;\n rest = '';\n }\n return `${start}${highlightBit}${rest}`;\n }\n\n private makeTermDisplayModel(termResult: SolrTermSummary): DisplayModel {\n let details = termResult.definition;\n\n if (termResult.highlighting && termResult.highlighting['definition']) {\n details = termResult.highlighting['definition'];\n }\n return new DisplayModel('Matching terms:', termResult.termid, termResult.name,\n [details]);\n }\n\n private makeRefDisplayModel(refResult: SolrRefSummary): DisplayModel {\n let authorsAbbrev = refResult.authors_abbrev;\n let citation = refResult.citation;\n\n if (refResult.highlighting) {\n if (refResult.highlighting['authors_abbrev']) {\n authorsAbbrev = refResult.highlighting['authors_abbrev']\n }\n if (refResult.highlighting['citation']) {\n citation = refResult.highlighting['citation'];\n }\n }\n\n const authorAndCitation =\n [authorsAbbrev, citation].filter(v => !!v).join(' ');\n\n return new DisplayModel('Matching publications:', refResult.pubmedid, refResult.title,\n [authorAndCitation]);\n }\n\n private makeAlleleDisplayModel(alleleResult: SolrAlleleSummary): DisplayModel {\n let nameAndDescription = Util.alleleDisplayName(alleleResult);\n\n let geneDisplayName = 'Gene: ';\n if (alleleResult.gene_name) {\n geneDisplayName += alleleResult.gene_name;\n } else {\n geneDisplayName += alleleResult.gene_uniquename;\n }\n\n let otherDetails = [geneDisplayName];\n\n let fieldValue = this.fieldValue.trim().replace('Δ', 'delta').toLowerCase();\n\n if (this.fieldValue && alleleResult.synonyms &&\n alleleResult.synonyms.find(syn => syn.toLowerCase() === fieldValue)) {\n otherDetails.push(\"Matching synonym: \" + this.fieldValue);\n }\n\n return new DisplayModel('Matching alleles:', alleleResult.id, nameAndDescription,\n otherDetails, alleleResult.gene_uniquename);\n }\n\n private nameExactMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.nameLowerCase === value) {\n const matchingOrthologs = this.findMatchingOrthologs(geneSumm, value, 'exact');\n\n const orthOrgsToShow = this.appConfig.searchBoxConfig.ortholog_organisms_to_always_show;\n\n const details: Array =\n matchingOrthologs.\n filter(orthMatch => orthOrgsToShow.includes(orthMatch.orth.taxonid)).\n map(({ matchingFieldValue, orth }) =>\n this.formatOrthologDetails(orth, matchingFieldValue));\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name, details, geneSumm.organism);\n }\n return undefined;\n }\n\n private identifierExactMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.uniquenameLowerCase === value) {\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name, [], geneSumm.organism);\n } else {\n return undefined;\n }\n }\n\n private nameMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.nameLowerCase && geneSumm.nameLowerCase.indexOf(value) !== -1 &&\n (geneSumm.name!.indexOf('-antisense-') === -1 ||\n value.indexOf('antisense') !== -1)) { // See #409\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name, [], geneSumm.organism);\n } else {\n return undefined;\n }\n }\n\n private identifierMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.uniquenameLowerCase.indexOf(value) !== -1) {\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name, [], geneSumm.organism);\n } else {\n return undefined;\n }\n }\n\n private antisenseNameMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.nameLowerCase && geneSumm.nameLowerCase.indexOf(value) !== -1 &&\n geneSumm.name!.indexOf('-antisense-') !== -1 &&\n value.indexOf('antisense') === -1) { // See #409\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name, [], geneSumm.organism);\n } else {\n return undefined;\n }\n }\n\n private transcriptMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n const matchIndex = geneSumm.lowerCaseTranscripts.findIndex(id => id === value);\n if (matchIndex !== -1) {\n const highlightedMatch = this.highlightMatch(0, geneSumm.transcripts[matchIndex]);\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n ['transcript: ' + highlightedMatch],\n geneSumm.organism);\n }\n return undefined;\n }\n\n private synonymMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n const matchIndex = geneSumm.synonymsLowerCase.findIndex(syn => syn.indexOf(value) !== -1);\n if (matchIndex !== -1) {\n const highlightedMatch = this.highlightMatch(0, geneSumm.synonyms[matchIndex]);\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n ['synonym: ' + highlightedMatch],\n geneSumm.organism);\n }\n return undefined;\n }\n\n private synonymExactMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n const matchIndex = geneSumm.synonymsLowerCase.findIndex(syn => syn === value);\n if (matchIndex !== -1) {\n const highlightedMatch = this.highlightMatch(0, geneSumm.synonyms[matchIndex]);\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n ['synonym: ' + highlightedMatch],\n geneSumm.organism);\n }\n return undefined;\n }\n\n\n private findMatchingOrthologs(geneSumm: SearchSummary, value: string, exactness: 'exact' | 'sub-string'): Array {\n\n let matchingOrthologs = [];\n\n if (exactness === 'exact') {\n for (const orth of geneSumm.orthologs) {\n if (!this.configuredTaxonIds.includes(orth.taxonid)) {\n continue;\n }\n if (orth.name && orth.name.toLowerCase() === value) {\n matchingOrthologs.push({ matchingFieldValue: orth.name, orth });\n } else {\n if (orth.identifier.toLowerCase() === value) {\n matchingOrthologs.push({ matchingFieldValue: orth.identifier, orth });\n } else {\n if (orth.secondary_identifier &&\n orth.secondary_identifier.toLowerCase() === value) {\n matchingOrthologs.push({ matchingFieldValue: orth.secondary_identifier, orth });\n }\n }\n }\n }\n } else {\n for (const orth of geneSumm.orthologs) {\n if (!this.configuredTaxonIds.includes(orth.taxonid)) {\n continue;\n }\n if (orth.name && orth.name.toLowerCase().indexOf(value) !== -1) {\n matchingOrthologs.push({ matchingFieldValue: orth.name, orth });\n break;\n }\n }\n }\n\n return matchingOrthologs;\n }\n\n private orthologMatch(geneSumm: SearchSummary, value: string, exactness: 'exact'|'sub-string'): DisplayModel|undefined {\n\n let matchingOrthologs = this.findMatchingOrthologs(geneSumm, value, exactness);\n\n if (matchingOrthologs.length > 0) {\n const details =\n matchingOrthologs.map(({ matchingFieldValue, orth }) => {\n return this.formatOrthologDetails(orth, matchingFieldValue);\n });\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n details, geneSumm.organism);\n }\n\n return undefined;\n }\n\n private formatOrthologDetails(orth: IdNameAndOrganism, matchingFieldValue: string) {\n const orgDetails = this.appConfig.getOrganismByTaxonid(orth.taxonid);\n const commonNameSpan = `(${orgDetails.common_name})`;\n return `ortholog: ${this.highlightMatch(0, matchingFieldValue)} ${commonNameSpan}`;\n }\n\n private productMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.product) {\n const pos = geneSumm.productLowerCase!.indexOf(value);\n if (pos !== -1) {\n const highlightedMatch = this.highlightMatch(pos, value, geneSumm.product);\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n ['product: ' + highlightedMatch],\n geneSumm.organism);\n }\n }\n return undefined;\n }\n\n private uniprotIdMatch(geneSumm: SearchSummary, value: string): DisplayModel|undefined {\n if (geneSumm.uniprotIdentifier) {\n const pos = geneSumm.uniprotIdentifierLowerCase!.indexOf(value);\n\n if (pos !== -1) {\n const highlightedMatch = this.highlightMatch(pos, value, geneSumm.uniprotIdentifier);\n return this.makeGeneDisplayModel(geneSumm.uniquename, geneSumm.name,\n ['UniProt ID: ' + highlightedMatch],\n geneSumm.organism);\n }\n }\n return undefined;\n }\n\n private containsMatch(matches: Array, match: DisplayModel): boolean {\n return matches.findIndex((element) => element.uniquename === match.uniquename) !== -1;\n }\n\n private summariesFromToken(fieldValue: string): Array {\n if (this.searchSummaries) {\n let value = fieldValue.trim().toLowerCase();\n\n value = value.replace(/\\s+gene$/i, '');\n value = value.replace(/^gene\\s+/i, '');\n\n if (value.length > 0) {\n let filteredSummaries: Array = [];\n\n const maybeAdd = (match?: DisplayModel) => {\n if (match && filteredSummaries.length < 20 &&\n !this.containsMatch(filteredSummaries, match)) {\n filteredSummaries.push(match);\n }\n };\n\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.nameExactMatch(geneSumm, value));\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.identifierExactMatch(geneSumm, value));\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.synonymExactMatch(geneSumm, value));\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.orthologMatch(geneSumm, value, 'exact'));\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.nameMatch(geneSumm, value));\n }\n if (filteredSummaries.length < 20) {\n let valueNoSuffixes = value;\n const suffixesToTrim = this.appConfig.searchBoxConfig.suffixes_to_trim;\n if (suffixesToTrim) {\n suffixesToTrim.map(suff => {\n valueNoSuffixes = valueNoSuffixes.replace(new RegExp(suff + '$'), '');\n });\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.identifierMatch(geneSumm, valueNoSuffixes));\n }\n }\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.antisenseNameMatch(geneSumm, value));\n }\n if (filteredSummaries.length < 20) {\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.transcriptMatch(geneSumm, value));\n }\n }\n if (filteredSummaries.length < 20) {\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.synonymMatch(geneSumm, value));\n }\n }\n if (filteredSummaries.length < 20) {\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.orthologMatch(geneSumm, value, 'sub-string'));\n }\n }\n if (filteredSummaries.length < 20) {\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.productMatch(geneSumm, value));\n }\n }\n if (filteredSummaries.length < 20) {\n for (let geneSumm of this.searchSummaries) {\n maybeAdd(this.uniprotIdMatch(geneSumm, value));\n }\n }\n return filteredSummaries;\n }\n }\n return [];\n }\n\n getTermMatches(token: string): Observable> {\n return this.completeService.completeTermName(this.cvNamesForTermComplete, token)\n .pipe(map((termResults: Array) =>\n termResults.map(termResult => this.makeTermDisplayModel(termResult))),\n catchError(e => {\n console.log('completion API call failed: ' + e.message);\n return of([]);\n }));\n }\n\n getRefMatches(token: string): Observable> {\n return this.completeService.completeRef(token)\n .pipe(map((refResults: Array) =>\n refResults.map(refResult => this.makeRefDisplayModel(refResult))),\n catchError(e => {\n console.log('completion API call failed: ' + e.message);\n return of([]);\n }));\n }\n\n getAlleleMatches(token: string): Observable> {\n token = token.replace('Δ', 'delta');\n return this.completeService.completeAllele(token)\n .pipe(\n map((alleleResults: Array) => {\n const trimToken = token.trim().toLowerCase();\n const nameMatches =\n alleleResults.filter(alleleSummary => {\n if (alleleSummary.name &&\n alleleSummary.name.toLowerCase() === trimToken) {\n return true;\n } else {\n if (alleleSummary.synonyms &&\n alleleSummary.synonyms.find(syn => syn.toLowerCase() === trimToken)) {\n return true;\n }\n }\n return false;\n });\n if (nameMatches.length > 0) {\n alleleResults = nameMatches;\n }\n return alleleResults.map(alleleResult => this.makeAlleleDisplayModel(alleleResult));\n }),\n catchError(e => {\n console.log('completion API call failed: ' + e.message);\n return of([]);\n }));\n }\n\n observableFromToken(token: string): Observable> {\n token = token.trim();\n let observables = [];\n const geneSummaryObservable = of(this.summariesFromToken(token));\n observables.push(geneSummaryObservable);\n\n token = token.replace(this.sysGeneIdRe, '').replace(this.sysTranscriptIdRe, '').trim();\n\n // handle copy and paste from PubMed pages, and other weird things that happen to PMIDs\n token = token.replace(/^(PMID|PubMed)[: _\\-]*/i, 'PMID:');\n\n if (token.length > 0) {\n // for now we filter out systematic IDs because they cause Lucene problems\n const termResultsObservable = this.getTermMatches(token);\n const refResultsObservable = this.getRefMatches(token);\n\n observables.push(termResultsObservable);\n observables.push(refResultsObservable);\n\n if (!this.deployConfigService.productionMode()) {\n const alleleResultsObservable = this.getAlleleMatches(token);\n observables.push(alleleResultsObservable);\n }\n }\n\n const combined =\n combineLatest(observables)\n .pipe(\n map(([geneRes, termRes, refRes, alleleRes]) => {\n const maxGenes = 8;\n const maxTerms = 6;\n const geneCount = geneRes.length;\n\n if (!termRes) {\n termRes = [];\n }\n if (!refRes) {\n refRes = [];\n }\n if (!alleleRes) {\n alleleRes = [];\n }\n\n const termCount = termRes.length;\n let refCount = 5;\n if (geneCount + termCount < maxGenes + maxTerms) {\n refCount += (maxGenes + maxTerms) - (geneCount + termCount);\n }\n\n let maxAlleles = 0;\n if (geneCount == 0) {\n maxAlleles = 5;\n }\n\n this.waitingForServer = false;\n\n if (this.deployConfigService.productionMode()) {\n return [...geneRes.slice(0, maxGenes),\n ...termRes.slice(0, maxTerms),\n ...refRes.slice(0, refCount)];\n } else {\n return [...geneRes.slice(0, maxGenes),\n ...alleleRes.slice(0, maxAlleles),\n ...termRes.slice(0, maxTerms),\n ...refRes.slice(0, refCount)];\n }\n }));\n return combined;\n }\n\n getDataSource(): Observable> {\n return Observable\n .create((observer: any) => {\n // Runs on every search\n observer.next(this.fieldValue);\n })\n .pipe(\n catchError(err => {\n this.waitingForServer = false;\n return of([]);\n }),\n switchMap((token: string) => {\n this.waitingForServer = true;\n return this.observableFromToken(token);\n })\n );\n }\n\n ngOnInit() {\n this.dataSource = this.getDataSource();\n\n this.pombaseApiService.getGeneSummariesPromise()\n .then(summaries => {\n this.searchSummaries = this.makeSearchSummaries(summaries);\n\n let summaryCmp =\n (a: SearchSummary, b: SearchSummary) => {\n if (a.name) {\n if (b.name) {\n return a.name.localeCompare(b.name);\n } else {\n return -1;\n }\n } else {\n if (b.name) {\n return 1;\n } else {\n return a.uniquename.localeCompare(b.uniquename);\n }\n }\n };\n\n this.searchSummaries.sort(summaryCmp);\n\n setTimeout(() => { // this will make the execution after the above boolean has changed\n this.searchBoxElement.nativeElement.focus();\n }, 100);\n })\n .catch(reason => this.geneSummariesFailed = true);\n }\n\n makeSearchSummaries(summaries: Array): Array {\n return summaries\n .map(geneSumm => {\n const nameLowerCase =\n geneSumm.name ? geneSumm.name.toLowerCase() : undefined;\n const productLowerCase =\n geneSumm.product ? geneSumm.product.toLowerCase() : undefined;\n const uniprotIdentifierLowerCase =\n geneSumm.uniprot_identifier ? geneSumm.uniprot_identifier.toLowerCase() : undefined;\n\n let transcripts = [];\n let lowerCaseTranscripts = [];\n\n for (let transcriptNum = 1;\n transcriptNum <= geneSumm.getTranscriptCount();\n transcriptNum++) {\n const transcriptId = geneSumm.uniquename + '.' + transcriptNum;\n transcripts.push(transcriptId);\n lowerCaseTranscripts.push(transcriptId.toLowerCase());\n }\n\n return new SearchSummary(geneSumm.uniquename,\n geneSumm.uniquename.toLowerCase(),\n geneSumm.name, nameLowerCase,\n geneSumm.product, productLowerCase,\n geneSumm.uniprot_identifier, uniprotIdentifierLowerCase,\n transcripts, lowerCaseTranscripts,\n geneSumm.synonyms, geneSumm.synonyms.map(syn => syn.toLowerCase()),\n geneSumm.orthologs, geneSumm.organism)\n });\n }\n\n public typeaheadOnSelect(e: TypeaheadMatch): void {\n const displayModel = e.item as DisplayModel;\n if (displayModel.matchType.toLowerCase().includes('gene')) {\n this.router.navigate(['/gene', displayModel.uniquename]);\n } else {\n if (e.item.matchType.toLowerCase().includes('term')) {\n this.router.navigate(['/term', displayModel.uniquename]);\n } else {\n if (e.item.matchType.toLowerCase().includes('publication')) {\n this.router.navigate(['/reference', displayModel.uniquename]);\n } else {\n if (this.deployConfigService.productionMode()) {\n this.router.navigate(['/gene', displayModel.alleleGeneUniquename]);\n } else {\n this.router.navigate(['/allele', displayModel.uniquename]);\n }\n }\n }\n }\n this.clearBox();\n }\n\n public typeaheadNoResults(e: boolean) {\n this.noResults = e;\n }\n\n matchesReference(value: string): boolean {\n return value.match(/^\\s*(?:(?:pmid|pubmed|go_ref)(?:[:_]| +))?\\d\\d\\d+\\s*$/i) != null;\n }\n\n matchesTerm(value: string): boolean {\n return value.match(/^\\s*[a-zA-Z_]+:\\d\\d\\d+\\s*$/) != null;\n }\n\n matchesGoCamId(value: string): boolean {\n return value.match(/^(?:gomodel:)?[0-9a-f]{16}$/) != null;\n }\n\n clearBox(): void {\n this.fieldValue = '';\n }\n\n enterPressed() {\n let trimmedValue = this.fieldValue\n .replace(/\\s+$/, '').replace(/^\\s+/, '');\n\n if (this.matchesReference(trimmedValue)) {\n let pmid = trimmedValue.replace(/^(?:pmid|pubmed)(?:[:_]| +)/i, 'PMID:');\n if (!pmid.startsWith('PMID:')) {\n pmid = 'PMID:' + pmid;\n }\n this.clearBox()\n this.router.navigate(['/reference', pmid]);\n } else {\n if (this.matchesTerm(trimmedValue)) {\n this.clearBox()\n this.router.navigate(['/term', trimmedValue]);\n } else {\n if (this.matchesGoCamId(trimmedValue)) {\n const gocamDetailPromise = this.pombaseApiService.getGoCamDetailByIds(trimmedValue);\n gocamDetailPromise.then((_) => {\n this.clearBox();\n this.router.navigate(['/gocam/docs/', trimmedValue]);\n });\n }\n }\n }\n }\n\n noMatches(): boolean {\n return !this.waitingForServer && this.noResults && this.fieldValue.length > 0;\n }\n}\n","\n
\n {{model.name}} ({{model.uniquename}})\n {{model.uniquename}}\n
\n
\n \n
\n
\n
\n
\n\n\n
\n
    \n
  • Start typing to search for genes
  • \n
  • For publications: type or paste a PubMed ID and press enter
  • \n
  • For ontology terms: type or paste the term ID and press enter
  • \n
  • Or see the other options under the \"Search\" menu
  • \n
\n
\n
\n\nLoading ...\n\n Search box initialisation failed - try reloading\n\n\n\n\n\n \n\n\n\n No matches\n\n","import { Component, OnInit } from '@angular/core';\n\nimport { getAppConfig, NavBarEntry } from '../config';\n\n@Component({\n selector: 'app-main-nav-bar',\n templateUrl: './main-nav-bar.component.html',\n styleUrls: ['./main-nav-bar.component.css'],\n standalone: false\n})\nexport class MainNavBarComponent implements OnInit {\n\n siteName = getAppConfig().site_name;\n\n navBarMenus = getAppConfig().navBar.nav_bar_menus;\n\n communityMailingList = getAppConfig().community_mailing_list;\n ensemblBlastURL = getAppConfig().ensembl_blast_url;\n cantoURL = getAppConfig().canto_url;\n cantoDocumentationURL = getAppConfig().canto_documentation_url;\n hasDiseaseAnnotation = getAppConfig().has_disease_annotation;\n hasAdminCuration = getAppConfig().has_admin_curation;\n\n constructor() { }\n\n entryIsRoute(menuEntry: NavBarEntry): boolean {\n return menuEntry.url.startsWith('/');\n }\n\n ngOnInit() {\n }\n\n}\n","
\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n\n \n\n \n \n\n \n \n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { Metadata, DatabaseStatistics, StatCountsByTaxon,\n PombaseAPIService } from '../pombase-api.service';\nimport { getAppConfig, ConfigOrganism } from '../config';\n\n@Component({\n selector: 'app-stats-ribbon',\n templateUrl: './stats-ribbon.component.html',\n styleUrls: ['./stats-ribbon.component.css'],\n standalone: false\n})\nexport class StatsRibbonComponent implements OnInit {\n\n metadata: Metadata|undefined = undefined;\n stats: DatabaseStatistics|undefined = undefined;\n organismStats: StatCountsByTaxon|undefined = undefined;\n configOrganism: ConfigOrganism|undefined = undefined;\n curatedPublicationsCount = 0;\n dbCreationDate: string|undefined = undefined;\n appConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit() {\n\n this.configOrganism = this.appConfig.getConfigOrganism();\n\n this.pombaseApiService.getMetadata()\n .then(metadata => {\n this.metadata = metadata;\n const dateVersionMatch = this.metadata.date_version.match(/^\\d\\d\\d\\d-\\d\\d-\\d\\d/g);\n if (dateVersionMatch) {\n this.dbCreationDate = dateVersionMatch[0];\n } else {\n this.dbCreationDate = metadata.db_creation_datetime.split(' ')[0];\n }\n });\n\n this.pombaseApiService.getStatistics()\n .then(stats => {\n this.stats = stats;\n if (this.configOrganism) {\n this.organismStats = stats.by_taxon[this.configOrganism.taxonid];\n\n this.curatedPublicationsCount =\n stats.community_pubs_count + stats.non_community_pubs_count;\n }\n });\n }\n}\n","
\n Last updated: {{dbCreationDate}}\n \n {{organismStats.annotations}} annotations\n \n \n {{curatedPublicationsCount}} curated publications\n \n
\n","import { Component, OnInit, Inject, AfterViewInit } from '@angular/core';\nimport { DomSanitizer, Meta, SafeHtml } from '@angular/platform-browser';\n\nimport { Router, ActivatedRoute, NavigationEnd, Data } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\n\nimport { filter, map, mergeMap } from 'rxjs/operators';\n\nimport { FooterLogoConfig, getAppConfig } from './config';\nimport { DeployConfigService } from './deploy-config.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n standalone: false\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n siteName = getAppConfig().site_name;\n defaultDescription = getAppConfig().site_description;\n logoFileName = getAppConfig().logo_file_name;\n headerBackgroundFileName = getAppConfig().header_background_file_name;\n\n showElixirAndGbcMessage = getAppConfig().footer.show_elixir_and_gbc_message;\n\n constructor(\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private titleService: Title,\n private meta: Meta,\n private sanitizer: DomSanitizer,\n public deployConfigService: DeployConfigService,\n @Inject('Window') private window: any) { }\n\n ngOnInit() {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this.activatedRoute),\n map((route: ActivatedRoute) => {\n while (route.firstChild) {\n route = route.firstChild;\n }\n return route;\n }),\n filter((route: ActivatedRoute) => route.outlet === 'primary'),\n mergeMap((route: ActivatedRoute) => route.data)\n )\n .subscribe((event: Data) => {\n if (event.defaultTitleDetail) {\n const title = this.siteName + ' - ' + event.defaultTitleDetail;\n this.titleService.setTitle(title);\n this.meta.updateTag({ property: 'og:title', content: title });\n }\n this.window.scrollTo(0, 0);\n });\n }\n\n getFundersHtml(): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(getAppConfig().footer.funders);\n }\n\n getLogoConfig(): Array {\n return getAppConfig().footer.logos;\n }\n\n ngAfterViewInit(): void {\n const twttr = (window).twttr;\n if (twttr) {\n twttr.widgets.load();\n }\n }\n}\n","
\n
\n
\n
\n \n
\n \n \"{{siteName}}\n \n \n DEV/TEST SERVER\n \n
\n
\n
\n \n
\n
\n\n \n
\n\n\n\n
\n\n\n\n
\n\n
\n \n \n \n {{siteName}} is Global Core Biodata Resource\n and an ELIXIR-UK Node Service\n \n
\n\n
\n \n \"{{conf.alt_text}}\"/\n \n
\n\n
\n\n","/**\n * @license Angular v19.0.0\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, AnimationMetadataType, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode && `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode && \"animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))\");\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode && `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode && `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode && `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode && `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode && `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode && `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode && `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && \"The requested animation doesn't exist or has already been destroyed\");\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode && `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode && `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode && `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode && `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode && `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode && `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = /*#__PURE__*/new Set(['-moz-outline-radius', '-moz-outline-radius-bottomleft', '-moz-outline-radius-bottomright', '-moz-outline-radius-topleft', '-moz-outline-radius-topright', '-ms-grid-columns', '-ms-grid-rows', '-webkit-line-clamp', '-webkit-text-fill-color', '-webkit-text-stroke', '-webkit-text-stroke-color', 'accent-color', 'all', 'backdrop-filter', 'background', 'background-color', 'background-position', 'background-size', 'block-size', 'border', 'border-block-end', 'border-block-end-color', 'border-block-end-width', 'border-block-start', 'border-block-start-color', 'border-block-start-width', 'border-bottom', 'border-bottom-color', 'border-bottom-left-radius', 'border-bottom-right-radius', 'border-bottom-width', 'border-color', 'border-end-end-radius', 'border-end-start-radius', 'border-image-outset', 'border-image-slice', 'border-image-width', 'border-inline-end', 'border-inline-end-color', 'border-inline-end-width', 'border-inline-start', 'border-inline-start-color', 'border-inline-start-width', 'border-left', 'border-left-color', 'border-left-width', 'border-radius', 'border-right', 'border-right-color', 'border-right-width', 'border-start-end-radius', 'border-start-start-radius', 'border-top', 'border-top-color', 'border-top-left-radius', 'border-top-right-radius', 'border-top-width', 'border-width', 'bottom', 'box-shadow', 'caret-color', 'clip', 'clip-path', 'color', 'column-count', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-width', 'columns', 'filter', 'flex', 'flex-basis', 'flex-grow', 'flex-shrink', 'font', 'font-size', 'font-size-adjust', 'font-stretch', 'font-variation-settings', 'font-weight', 'gap', 'grid-column-gap', 'grid-gap', 'grid-row-gap', 'grid-template-columns', 'grid-template-rows', 'height', 'inline-size', 'input-security', 'inset', 'inset-block', 'inset-block-end', 'inset-block-start', 'inset-inline', 'inset-inline-end', 'inset-inline-start', 'left', 'letter-spacing', 'line-clamp', 'line-height', 'margin', 'margin-block-end', 'margin-block-start', 'margin-bottom', 'margin-inline-end', 'margin-inline-start', 'margin-left', 'margin-right', 'margin-top', 'mask', 'mask-border', 'mask-position', 'mask-size', 'max-block-size', 'max-height', 'max-inline-size', 'max-lines', 'max-width', 'min-block-size', 'min-height', 'min-inline-size', 'min-width', 'object-position', 'offset', 'offset-anchor', 'offset-distance', 'offset-path', 'offset-position', 'offset-rotate', 'opacity', 'order', 'outline', 'outline-color', 'outline-offset', 'outline-width', 'padding', 'padding-block-end', 'padding-block-start', 'padding-bottom', 'padding-inline-end', 'padding-inline-start', 'padding-left', 'padding-right', 'padding-top', 'perspective', 'perspective-origin', 'right', 'rotate', 'row-gap', 'scale', 'scroll-margin', 'scroll-margin-block', 'scroll-margin-block-end', 'scroll-margin-block-start', 'scroll-margin-bottom', 'scroll-margin-inline', 'scroll-margin-inline-end', 'scroll-margin-inline-start', 'scroll-margin-left', 'scroll-margin-right', 'scroll-margin-top', 'scroll-padding', 'scroll-padding-block', 'scroll-padding-block-end', 'scroll-padding-block-start', 'scroll-padding-bottom', 'scroll-padding-inline', 'scroll-padding-inline-end', 'scroll-padding-inline-start', 'scroll-padding-left', 'scroll-padding-right', 'scroll-padding-top', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scrollbar-color', 'shape-image-threshold', 'shape-margin', 'shape-outside', 'tab-size', 'text-decoration', 'text-decoration-color', 'text-decoration-thickness', 'text-emphasis', 'text-emphasis-color', 'text-indent', 'text-shadow', 'text-underline-offset', 'top', 'transform', 'transform-origin', 'translate', 'vertical-align', 'visibility', 'width', 'word-spacing', 'z-index', 'zoom']);\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(normalizer, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = isSameOffset && previousKeyframe || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue = normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return {\n element,\n triggerName,\n fromState,\n toState,\n phaseName,\n totalTime,\n disabled: !!disabled\n };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nconst documentElement = /* @__PURE__ */(() => typeof document === 'undefined' ? null : document.documentElement)();\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host || null; // consider host to support shadow DOM\n if (parent === documentElement) {\n return null;\n }\n return parent;\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? 'WebkitAppearance' in _CACHED_BODY.style : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nfunction containsElement(elm1, elm2) {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n}\nfunction invokeQuery(element, selector, multi) {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n}\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @publicApi\n *\n * `AnimationDriver` implentation for Noop animations\n */\nlet NoopAnimationDriver = /*#__PURE__*/(() => {\n class NoopAnimationDriver {\n /**\n * @returns Whether `prop` is a valid CSS property\n */\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n /**\n *\n * @returns Whether elm1 contains elm2.\n */\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n /**\n * @returns Rhe parent of the given element or `null` if the element is the `document`\n */\n getParentElement(element) {\n return getParentElement(element);\n }\n /**\n * @returns The result of the query selector on the element. The array will contain up to 1 item\n * if `multi` is `false`.\n */\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n /**\n * @returns The `defaultValue` or empty string\n */\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n /**\n * @returns An `NoopAnimationPlayer`\n */\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n static ɵfac = function NoopAnimationDriver_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationDriver)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NoopAnimationDriver,\n factory: NoopAnimationDriver.ɵfac\n });\n }\n return NoopAnimationDriver;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n /**\n * @deprecated Use the NoopAnimationDriver class.\n */\n static NOOP = /*#__PURE__*/new NoopAnimationDriver();\n}\nclass AnimationStyleNormalizer {}\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number') return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default:\n // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ? timings : parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return {\n duration: 0,\n delay: 0,\n easing: ''\n };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return {\n duration,\n delay,\n easing\n };\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => new Map(Object.entries(kf)));\n}\nfunction normalizeStyles(styles) {\n return Array.isArray(styles) ? new Map(...styles) : new Map(styles);\n}\nfunction setStyles(element, styles, formerStyles) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n}\nfunction eraseStyles(element, styles) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = /*#__PURE__*/new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = `${value}`;\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\nconst DIMENSIONAL_PROP_SET = /*#__PURE__*/new Set(['width', 'height', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'left', 'top', 'bottom', 'right', 'fontSize', 'outlineWidth', 'outlineOffset', 'paddingTop', 'paddingLeft', 'paddingBottom', 'paddingRight', 'marginTop', 'marginLeft', 'marginBottom', 'marginRight', 'borderRadius', 'borderWidth', 'borderTopWidth', 'borderLeftWidth', 'borderRightWidth', 'borderBottomWidth', 'textIndent', 'perspective']);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n } else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) && console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) && console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) && console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n } else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n return;\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = /*#__PURE__*/new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = /*#__PURE__*/new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = /*#__PURE__*/new RegExp(`s*${SELF_TOKEN}s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n _driver;\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n } else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n } else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = metadata.options && metadata.options.params || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n context.errors.push(invalidState(metadata.name, [...missingSubs.values()]));\n }\n }\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? {\n params: astParams\n } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n } else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n } else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n } else {\n styles.push(new Map(Object.entries(styleTuple)));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string') return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime && endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, {\n startTime,\n endTime\n });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = {\n type: AnimationMetadataType.Keyframes,\n styles: [],\n options: null\n };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n } else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? i == limit ? 1 : generatedOffset * i : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = metadata.options || {};\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector = parentSelector.length ? parentSelector + ' ' + selector : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ? {\n duration: 0,\n delay: 0,\n easing: 'full'\n } : resolveTiming(metadata.timings, context.errors, true);\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR).replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1)).replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? {\n ...obj\n } : null;\n}\nclass AnimationAstBuilderContext {\n errors;\n queryCount = 0;\n depCount = 0;\n currentTransition = null;\n currentQuery = null;\n currentQuerySelector = null;\n currentAnimateTimings = null;\n currentTime = 0;\n collectedStyles = /*#__PURE__*/new Map();\n options = null;\n unsupportedCSSPropertiesFound = /*#__PURE__*/new Set();\n constructor(errors) {\n this.errors = errors;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string') return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n } else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = {\n ...options\n };\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n } else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return {\n duration,\n delay,\n easing\n };\n}\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\nclass ElementInstructionMap {\n _map = /*#__PURE__*/new Map();\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = /*#__PURE__*/new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = /*#__PURE__*/new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) : [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ? animationDelay : resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime = Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n } else {\n return {\n duration: ast.duration,\n delay: ast.delay,\n easing: ast.easing\n };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n } else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = timings && timings.easing || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n } else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = context.currentTimeline.duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = ast.options || {};\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay && (context.previousNode.type === AnimationMetadataType.Style || startTime == 0 && context.currentTimeline.hasCurrentStyleProperties())) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime = tl.currentTime - startingTime + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n _driver;\n element;\n subInstructions;\n _enterClassName;\n _leaveClassName;\n errors;\n timelines;\n parentContext = null;\n currentTimeline;\n currentAnimateTimings = null;\n previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n subContextCount = 0;\n options = {};\n currentQueryIndex = 0;\n currentQueryTotal = 0;\n currentStaggerTime = 0;\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options) return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) {\n // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) : elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n _driver;\n element;\n startTime;\n _elementTimelineStylesLookup;\n duration = 0;\n easing = null;\n _previousKeyframe = /*#__PURE__*/new Map();\n _currentKeyframe = /*#__PURE__*/new Map();\n _keyframes = /*#__PURE__*/new Map();\n _styleSummary = /*#__PURE__*/new Map();\n _localTimelineStyles = /*#__PURE__*/new Map();\n _globalTimelineStyles;\n _pendingStyles = /*#__PURE__*/new Map();\n _backFill = /*#__PURE__*/new Map();\n _currentEmptyStepKeyframe = null;\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n } else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, {\n time: this.currentTime,\n value\n });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = options && options.params || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0) return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = new Map([...this._backFill, ...keyframe]);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n } else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = [...preStyleProps.values()];\n const postProps = [...postStyleProps.values()];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n keyframes;\n preStyleProps;\n postStyleProps;\n _stretchStartingKeyframe;\n timings;\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = {\n duration: timings.duration,\n delay: timings.delay,\n easing: timings.easing\n };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let {\n delay,\n duration,\n easing\n } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = new Map(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = new Map(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n delay=1000, duration=1000, keyframes = 0 .5 1\n turns into\n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = new Map(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties ??= allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n } else {\n for (let [prop, val] of token) {\n styles.set(prop, val);\n }\n }\n });\n return styles;\n}\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n _triggerName;\n ast;\n _stateStyles;\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay\n };\n const timelines = skipAstBuild ? [] : buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, [...queriedElements.values()], preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const allowedNonAnimatableProps = new Set([\n // 'easing' is a utility/synthetic prop we use to represent\n // easing functions, it represents a property of the animation\n // which is not animatable but different values can be used\n // in different steps\n 'easing']);\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({\n keyframes\n }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n const entriesToCheck = Array.from(keyframe.entries()).filter(([prop]) => !allowedNonAnimatableProps.has(prop));\n for (const [prop, value] of entriesToCheck) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n } else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` + ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' + '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = {\n ...defaults\n };\n Object.entries(userParams).forEach(([key, value]) => {\n if (value != null) {\n result[key] = value;\n }\n });\n return result;\n}\nclass AnimationStateStyles {\n styles;\n defaultParams;\n normalizer;\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = applyParamDefaults(params, this.defaultParams);\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(prop, val);\n });\n }\n });\n return finalStyles;\n }\n}\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n name;\n ast;\n _normalizer;\n transitionFactories = [];\n fallbackTransition;\n states = /*#__PURE__*/new Map();\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n ast.states.forEach(ast => {\n const defaultParams = ast.options && ast.options.params || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = {\n type: AnimationMetadataType.Sequence,\n steps: [],\n options: null\n };\n const transition = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n } else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\nconst EMPTY_INSTRUCTION_MAP = /*#__PURE__*/new ElementInstructionMap();\nclass TimelineAnimationEngine {\n bodyNode;\n _driver;\n _normalizer;\n _animations = /*#__PURE__*/new Map();\n _playersById = /*#__PURE__*/new Map();\n players = [];\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n } else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._normalizer, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n } else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => {};\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = args[0] || {};\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n namespaceId;\n value;\n options;\n get params() {\n return this.options.params;\n }\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n // we drop the value property from options.\n const {\n value,\n ...options\n } = input;\n this.options = options;\n } else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = /*#__PURE__*/new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n id;\n hostElement;\n _engine;\n players = [];\n _triggers = /*#__PURE__*/new Map();\n _queue = [];\n _elementListeners = /*#__PURE__*/new Map();\n _hostClassName;\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = {\n name,\n phase,\n callback\n };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n } else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n } else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback) return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition\n });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG]) return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n } else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName)) return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true)) return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n } else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n } else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed) return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach(listener => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n } else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n}\nclass TransitionAnimationEngine {\n bodyNode;\n driver;\n _normalizer;\n players = [];\n newHostElements = /*#__PURE__*/new Map();\n playersByElement = /*#__PURE__*/new Map();\n playersByQueriedElement = /*#__PURE__*/new Map();\n statesByElement = /*#__PURE__*/new Map();\n disabledNodes = /*#__PURE__*/new Set();\n totalAnimations = 0;\n totalQueuedPlayers = 0;\n _namespaceLookup = {};\n _namespaceList = [];\n _flushFns = [];\n _whenQuietFns = [];\n namespacesByHostElement = /*#__PURE__*/new Map();\n collectedEnterElements = [];\n collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n } else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n } else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId) return;\n this.afterFlush(() => {});\n this.afterFlushAnimationsDone(() => {\n const ns = this._fetchNamespace(namespaceId);\n this.namespacesByHostElement.delete(ns.hostElement);\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n ns.destroy(context);\n delete this._namespaceLookup[namespaceId];\n });\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element)) return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n } else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n } else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n } else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => {};\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0) return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n } else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n } else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length && (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n } finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n } else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n } else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n } else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues && details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = {\n instruction,\n player,\n element\n };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...(post?.entries() ?? []), ...(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const {\n element,\n player,\n instruction\n } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n } else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n } else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n } else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation) continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n } else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n } else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued) return;\n if (!isRemovalAnimation && player.triggerName != triggerName) return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId) return false;\n if (triggerName && triggerName != player.triggerName) return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried) return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY).map(p => p.getRealPlayer())).filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this._normalizer, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n namespaceId;\n triggerName;\n element;\n _player = /*#__PURE__*/new NoopAnimationPlayer();\n _containsRealPlayer = false;\n _queuedCallbacks = /*#__PURE__*/new Map();\n destroyed = false;\n parentPlayer = null;\n markedForDestroy = false;\n disabled = false;\n queued = true;\n totalTime = 0;\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer) return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0) return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node) return NULL_NODE;\n let root = localRootMap.get(node);\n if (root) return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) {\n // ngIf inside @trigger\n root = parent;\n } else if (nodeSet.has(parent)) {\n // ngIf inside ngIf\n root = NULL_NODE;\n } else {\n // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n } else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length) return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop]) return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry) return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n } else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\nclass AnimationEngine {\n _driver;\n _normalizer;\n _transitionEngine;\n _timelineEngine;\n _triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n constructor(doc, _driver, _normalizer) {\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._transitionEngine = new TransitionAnimationEngine(doc.body, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(doc.body, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context) {\n this._transitionEngine.removeNode(namespaceId, element, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n } else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return [...this._transitionEngine.players, ...this._timelineEngine.players];\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n afterFlushAnimationsDone(cb) {\n this._transitionEngine.afterFlushAnimationsDone(cb);\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n } else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return startStyles || endStyles ? new SpecialCasedStyles(element, startStyles, endStyles) : null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nlet SpecialCasedStyles = /*#__PURE__*/(() => {\n class SpecialCasedStyles {\n _element;\n _startStyles;\n _endStyles;\n static initialStylesByElement = /* @__PURE__ */new WeakMap();\n _state = 0 /* SpecialCasedStylesState.Pending */;\n _initialStyles;\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n }\n return SpecialCasedStyles;\n})();\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\nclass WebAnimationsPlayer {\n element;\n keyframes;\n options;\n _specialStyles;\n _onDoneFns = [];\n _onStartFns = [];\n _onDestroyFns = [];\n _duration;\n _delay;\n _initialized = false;\n _finished = false;\n _started = false;\n _destroyed = false;\n _finalKeyframe;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n _originalOnDoneFns = [];\n _originalOnStartFns = [];\n // using non-null assertion because it's re(set) by init();\n domPlayer;\n time = 0;\n parentPlayer = null;\n currentSnapshot = /*#__PURE__*/new Map();\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized) return;\n this._initialized = true;\n const keyframes = this.keyframes;\n // @ts-expect-error overwriting a readonly property\n this.domPlayer = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n const onFinish = () => this._onFinish();\n this.domPlayer.addEventListener('finish', onFinish);\n this.onDestroy(() => {\n // We must remove the `finish` event listener once an animation has completed all its\n // iterations. This action is necessary to prevent a memory leak since the listener captures\n // `this`, creating a closure that prevents `this` from being garbage collected.\n this.domPlayer.removeEventListener('finish', onFinish);\n });\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n } else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n return element.animate(this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n // tsc is complaining with TS2362 without the conversion to number\n return +(this.domPlayer.currentTime ?? 0) / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return computeStyle(element, prop);\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = {\n duration,\n delay,\n fill\n };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => new Map(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\nfunction createEngine(type, doc) {\n // TODO: find a way to make this tree shakable.\n if (type === 'noop') {\n return new AnimationEngine(doc, new NoopAnimationDriver(), new NoopAnimationStyleNormalizer());\n }\n return new AnimationEngine(doc, new WebAnimationsDriver(), new WebAnimationsStyleNormalizer());\n}\nclass Animation {\n _driver;\n _animationAst;\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) : startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) : destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass BaseAnimationRenderer {\n namespaceId;\n delegate;\n engine;\n _onDestroy;\n // We need to explicitly type this property because of an api-extractor bug\n // See https://github.com/microsoft/rushstack/issues/4390\n ɵtype = 0 /* AnimationRendererType.Regular */;\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n // Prior to the changes in #57203, this method wasn't being called at all by `core` if the child\n // doesn't have a parent. There appears to be some animation-specific downstream logic that\n // depends on the null check happening before the animation engine. This check keeps the old\n // behavior while allowing `core` to not have to check for the parent element anymore.\n if (this.parentNode(oldChild)) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n factory;\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n } else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\nclass AnimationRendererFactory {\n delegate;\n engine;\n _zone;\n _currentId = 0;\n _microtaskId = 1;\n _animationCallbacksBuffer = [];\n _rendererCache = /*#__PURE__*/new Map();\n _cdRecurDepth = 0;\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n engine.onRemovalComplete = (element, delegate) => {\n delegate?.removeChild(null, element);\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type?.data?.['animation']) {\n const cache = this._rendererCache;\n let renderer = cache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => cache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n cache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = trigger => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n const animationCallbacksBuffer = this._animationCallbacksBuffer;\n if (animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, NoopAnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };\n","/**\n * @license Angular v19.0.0\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nlet InjectableAnimationEngine = /*#__PURE__*/(() => {\n class InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static ɵfac = function InjectableAnimationEngine_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectableAnimationEngine,\n factory: InjectableAnimationEngine.ɵfac\n });\n }\n return InjectableAnimationEngine;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n provide: ɵAnimationStyleNormalizer,\n useFactory: instantiateDefaultStyleNormalizer\n}, {\n provide: ɵAnimationEngine,\n useClass: InjectableAnimationEngine\n}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useFactory: () => new ɵWebAnimationsDriver()\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useClass: NoopAnimationDriver\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nlet BrowserAnimationsModule = /*#__PURE__*/(() => {\n class BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static ɵfac = function BrowserAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BrowserAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BrowserAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n return BrowserAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nlet NoopAnimationsModule = /*#__PURE__*/(() => {\n class NoopAnimationsModule {\n static ɵfac = function NoopAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NoopAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n return NoopAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import * as i0 from '@angular/core';\nimport { Injectable, Optional, EventEmitter, Directive, Input, Output, NgModule } from '@angular/core';\nimport { ReplaySubject, fromEvent, EMPTY, debounceTime, distinctUntilChanged, merge, Subscription } from 'rxjs';\nclass IntersectionObserverConfig {\n constructor() {\n /** Debounces the intersection check. */\n this.debounce = 50;\n /** Specifies how many precentage of the element need to be visible to treat it as intersection. */\n this.threshold = 30;\n /** Automatically remove classes from the element. */\n this.autoRemove = true;\n /** Scroll Listener, false = IntersectionObserver */\n this.useScroll = false;\n }\n}\nlet IntersectionObserverService = /*#__PURE__*/(() => {\n class IntersectionObserverService {\n constructor(intersectionObserverConfig) {\n this.intersectionObserverConfig = intersectionObserverConfig;\n this._windowScrollY$ = new ReplaySubject();\n this._windowResize$ = new ReplaySubject();\n this._windowViewportChange$ = new ReplaySubject();\n this._pageYOffset = 0;\n // Get the config or default\n this._config = intersectionObserverConfig ? intersectionObserverConfig : {\n debounce: 10,\n threshold: 20\n };\n // Manage scroll position initially\n this.manageScrollPos();\n // Subscribe to window scroll event and debounce it\n this.onScroll$ = typeof window !== \"undefined\" ? fromEvent(window, \"scroll\") : EMPTY;\n this.scrollSub = this.onScroll$.pipe(debounceTime(this._config.debounce), distinctUntilChanged()).subscribe(t => {\n this.manageScrollPos();\n this._windowScrollY$.next(this._pageYOffset);\n });\n // Subscribe to window resize event and debounce it\n this.onResize$ = typeof window !== \"undefined\" ? fromEvent(window, \"resize\") : EMPTY;\n this.resizeSub = this.onResize$.pipe(debounceTime(this._config.debounce), distinctUntilChanged()).subscribe(t => {\n this.manageScrollPos();\n this._windowResize$.next(this._pageYOffset);\n });\n // Observable that fires on scroll or resize\n this.viewportChangeSub = merge(this._windowScrollY$, this._windowResize$).subscribe(t => {\n this._windowViewportChange$.next(this._pageYOffset);\n });\n }\n /** Gets the page offset Y axis */\n get pageYOffset() {\n return this._pageYOffset;\n }\n /** Gets the intersection observer config */\n get config() {\n return this._config;\n }\n /** Gets an observable to the window scroll event */\n get windowScrollY$() {\n return this._windowScrollY$;\n }\n /** Gets an observable to the window resize event */\n get windowResize$() {\n return this._windowResize$;\n }\n /** Gets an observable to the window viewport event (combination of resize and scroll) */\n get windowViewportChange$() {\n return this._windowViewportChange$;\n }\n manageScrollPos() {\n this._pageYOffset = typeof window !== \"undefined\" ? window.pageYOffset : 0;\n }\n ngOnDestroy() {\n this.scrollSub.unsubscribe();\n this.resizeSub.unsubscribe();\n this.viewportChangeSub.unsubscribe();\n }\n }\n IntersectionObserverService.ɵfac = function IntersectionObserverService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IntersectionObserverService)(i0.ɵɵinject(IntersectionObserverConfig, 8));\n };\n IntersectionObserverService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IntersectionObserverService,\n factory: IntersectionObserverService.ɵfac,\n providedIn: 'root'\n });\n return IntersectionObserverService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet IntersectionObserverDirective = /*#__PURE__*/(() => {\n class IntersectionObserverDirective {\n constructor(element, renderer, intersectionObserverService, intersectionObserverConfig) {\n this.element = element;\n this.renderer = renderer;\n this.intersectionObserverService = intersectionObserverService;\n this.intersectionObserverConfig = intersectionObserverConfig;\n // Private fields\n this._viewportChangeSub = new Subscription();\n this._visitClass = [];\n this._leaveClass = [];\n this._removeVisitClass = [];\n this._removeLeaveClass = [];\n this._elementVisible = false;\n this._hasClasses = false;\n // Directive outputs\n this.intersection = new EventEmitter(); // Event that fires once an element intersects.\n }\n ngOnInit() {\n // Generate arrays of class stings\n this._visitClass = this.getClassArray(this.visitClass ?? \"\");\n this._leaveClass = this.getClassArray(this.leaveClass ?? \"\");\n this._removeVisitClass = this.getClassArray(this.removeVisitClass ?? \"\");\n this._removeLeaveClass = this.getClassArray(this.removeLeaveClass ?? \"\");\n this._hasClasses = this.visitClass || this.leaveClass || this.removeVisitClass || this.removeLeaveClass ? true : false;\n // Identify which intersection mechanism should be used\n // (IntersectionObserver or Scroll Listener) default IntersectionObserver\n let useScroll = this.intersectionObserverConfig?.useScroll;\n useScroll = useScroll == undefined ? false : useScroll;\n useScroll = this.useScroll == undefined ? useScroll : this.useScroll;\n // Get threshold or default to 30\n let threshold = this.intersectionObserverConfig?.threshold;\n threshold = threshold == undefined ? 30 : threshold;\n threshold = this.threshold == undefined ? threshold : this.threshold;\n // Auto remove\n let autoRemove = this.intersectionObserverConfig?.autoRemove;\n autoRemove = autoRemove == undefined ? true : autoRemove;\n autoRemove = this.autoRemove == undefined ? autoRemove : this.autoRemove;\n // using intersecting observer by default, else fallback to scroll Listener\n if (\"IntersectionObserver\" in window && !useScroll) {\n const options = {\n root: null,\n threshold: threshold / 100,\n rootMargin: \"0px\"\n };\n const observer = new IntersectionObserver((entries, _) => {\n entries.forEach(entry => {\n this.handleIntersection(entry.isIntersecting);\n });\n }, options);\n observer.observe(this.element.nativeElement);\n return;\n }\n // Fallback to scroll listener\n this._viewportChangeSub = this.intersectionObserverService.windowViewportChange$.subscribe(() => this.checkForIntersection());\n }\n /**\r\n * Gets an array of classes.\r\n * @param classString String with classes separated by whitespace.\r\n * @returns An array with classes.\r\n */\n getClassArray(classString) {\n let classes = new Array();\n classString.split(\" \").forEach(cls => {\n if (cls.trim()) {\n classes.push(cls.trim());\n }\n });\n return classes;\n }\n /**\r\n * Checks if the element is visible within the viewport.\r\n * @returns void\r\n * */\n checkForIntersection() {\n const thresholdPx = this.elementHeight / 100 * this.threshold;\n const scrollTriggerMax = this.offsetTop + thresholdPx - this.winHeight;\n const scrollTriggerMin = this.offsetTop + (this.elementHeight - thresholdPx);\n this.handleIntersection(this.intersectionObserverService.pageYOffset >= scrollTriggerMax && this.intersectionObserverService.pageYOffset <= scrollTriggerMin);\n }\n /**\r\n *\r\n * @param intersect Determines if the elements intersects with its viewport or not.\r\n * @returns void\r\n */\n handleIntersection(intersect) {\n this._elementVisible = intersect;\n this.handleClasses();\n this.intersection.emit({\n element: this.element,\n intersect: intersect\n });\n }\n /**\r\n * Adds or removes classes on the element when it enters or leaves the viewport.\r\n * @returns void\r\n * */\n handleClasses() {\n // No classes, skip\n if (!this._hasClasses) return;\n if (this._elementVisible) {\n this.addClasses(this._visitClass);\n if (this.autoRemove) {\n this.removeClasses(this._leaveClass);\n }\n this.removeClasses(this._removeVisitClass);\n } else {\n this.addClasses(this._leaveClass);\n if (this.autoRemove) {\n this.removeClasses(this._visitClass);\n }\n this.removeClasses(this._removeLeaveClass);\n }\n }\n /**\r\n * Helper to add a list of classes to the element.\r\n * @param classes The list of classes to add.\r\n * @returns void\r\n */\n addClasses(classes) {\n classes.forEach(cls => {\n if (!this.element.nativeElement.classList.contains(cls)) {\n this.renderer.addClass(this.element.nativeElement, cls);\n }\n });\n }\n /**\r\n * Helper to remove a list of classes from the element.\r\n * @param classes The list of classes to remove.\r\n * @returns void\r\n */\n removeClasses(classes) {\n classes.forEach(cls => {\n if (this.element.nativeElement.classList.contains(cls)) {\n this.renderer.removeClass(this.element.nativeElement, cls);\n }\n });\n }\n /**\r\n * Gets the height of the browser window.\r\n * @returns the height of the browser window.\r\n */\n get winHeight() {\n return typeof window !== \"undefined\" ? window.innerHeight : 0;\n }\n /**\r\n * Gets the offset of the element.\r\n * @returns The elements offset.\r\n */\n get offsetTop() {\n if (typeof this.element.nativeElement.getBoundingClientRect === \"function\") {\n const viewportTop = this.element.nativeElement.getBoundingClientRect().top;\n return viewportTop + this.intersectionObserverService.pageYOffset - this.element.nativeElement.clientTop;\n } else {\n return 0;\n }\n }\n /**\r\n * Gets the height of the element (Including border)\r\n * @returns the height of the element.\r\n */\n get elementHeight() {\n return this.element.nativeElement.offsetHeight;\n }\n ngOnDestroy() {\n this._viewportChangeSub.unsubscribe();\n }\n }\n IntersectionObserverDirective.ɵfac = function IntersectionObserverDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IntersectionObserverDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(IntersectionObserverService), i0.ɵɵdirectiveInject(IntersectionObserverConfig, 8));\n };\n IntersectionObserverDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: IntersectionObserverDirective,\n selectors: [[\"\", \"intersectionObserver\", \"\"]],\n inputs: {\n visitClass: \"visitClass\",\n leaveClass: \"leaveClass\",\n removeVisitClass: \"removeVisitClass\",\n removeLeaveClass: \"removeLeaveClass\",\n useScroll: \"useScroll\",\n threshold: \"threshold\",\n autoRemove: \"autoRemove\"\n },\n outputs: {\n intersection: \"intersection\"\n },\n standalone: false\n });\n return IntersectionObserverDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet IntersectionObserverModule = /*#__PURE__*/(() => {\n class IntersectionObserverModule {\n static forRoot(config) {\n return {\n ngModule: IntersectionObserverModule,\n providers: [{\n provide: IntersectionObserverConfig,\n useValue: config ? config : {\n debounce: 10,\n threshold: 30\n },\n multi: false\n }, IntersectionObserverService]\n };\n }\n }\n IntersectionObserverModule.ɵfac = function IntersectionObserverModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || IntersectionObserverModule)();\n };\n IntersectionObserverModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: IntersectionObserverModule\n });\n IntersectionObserverModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n return IntersectionObserverModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\r\n * Public API Surface of intersection-observer\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { IntersectionObserverDirective, IntersectionObserverModule, IntersectionObserverService };\n","export class AnnotationTableIntersection {\n constructor(public annotationTypeName: string,\n public isIntersecting: boolean) {}\n}\n","export enum TableViewState {\n Summary,\n Details,\n Partial\n}\n","import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';\n\nimport { ReferenceShort } from '../pombase-api.service';\nimport { getXrf, getAppConfig } from '../config';\nimport { PopoverDirective } from 'ngx-bootstrap/popover';\n\n@Component({\n selector: 'app-reference-short',\n templateUrl: './reference-short.component.html',\n styleUrls: ['./reference-short.component.css'],\n standalone: false\n})\nexport class ReferenceShortComponent implements OnInit, OnChanges {\n @Input() reference: ReferenceShort;\n @Input() showRefTitle = false;\n @Input() linkText?: string;\n @Input() popupHeader?: string;\n\n @ViewChild('link', {static: false}) link: PopoverDirective;\n\n mouseIn = false;\n\n displayString = '';\n refTitle = '';\n popoverContents: string[] = [];\n xref?: string;\n hasAnnotation = false;\n\n appConfig = getAppConfig();\n\n constructor() { }\n\n mouseEnter(): void {\n this.mouseIn = true;\n setTimeout(() => {\n if (this.mouseIn && this.link) {\n this.link.show();\n }\n }, this.appConfig.details_popup_delay);\n\n }\n\n mouseLeave(): void {\n this.mouseIn = false;\n this.link.hide();\n }\n\n ngOnDestroy(): void {\n this.link.hide();\n this.mouseIn = false;\n }\n\n ngOnChanges(): void {\n if (this.reference.gene_count && this.reference.gene_count > 0 ||\n this.reference.genotype_count && this.reference.genotype_count > 0) {\n this.hasAnnotation = true;\n }\n\n let xrfDetail = getXrf(this.reference.uniquename);\n\n if (!this.reference.uniquename.startsWith(\"PMID:\") && xrfDetail) {\n this.xref = xrfDetail.url;\n if (this.linkText) {\n this.displayString = this.linkText;\n } else {\n this.displayString = this.reference.uniquename;\n }\n } else {\n if (this.reference.authors_abbrev) {\n this.displayString = this.reference.authors_abbrev;\n } else {\n this.displayString = this.reference.uniquename;\n }\n if (this.reference.publication_year) {\n this.displayString += ' (' + this.reference.publication_year + ')';\n }\n\n if (this.showRefTitle && this.reference.title) {\n const m = this.reference.title.match(/(^.{1,60}\\S+)/);\n if (m) {\n this.refTitle = m[0];\n if (this.refTitle !== this.reference.title) {\n this.refTitle += ' ...';\n }\n } else {\n this.refTitle = this.reference.title;\n }\n }\n }\n\n if (this.reference.title) {\n this.popoverContents = [this.reference.title + ' (' + this.reference.uniquename + ')'];\n if (this.reference.citation) {\n this.popoverContents.push(this.reference.citation);\n }\n } else {\n this.popoverContents = [this.displayString];\n }\n\n if (this.linkText) {\n this.displayString = this.linkText;\n }\n\n if (this.popupHeader) {\n this.popoverContents.unshift(this.popupHeader);\n }\n }\n\n ngOnInit() {\n }\n}\n","\n
{{content}}
\n \n
\n\n \n {{refTitle}}\n {{displayString}}\n \n {{displayString}}\n\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { TermIdRefs } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-reaction-view',\n templateUrl: './reaction-view.component.html',\n styleUrls: ['./reaction-view.component.css'],\n standalone: false\n})\nexport class ReactionViewComponent implements OnChanges {\n @Input() termIdRefs: TermIdRefs;\n @Input() miniView = false;\n\n rheaData: Array<{ rheaId: string, link?: string }> = [];\n\n appConfig: AppConfig = getAppConfig();\n\n setRheaData() {\n this.rheaData = [];\n\n const process = (xrefs: Array) => {\n xrefs.map((xref: string) => {\n if (xref.startsWith('RHEA:')) {\n const rheaId = xref.substring(5);\n\n if (!this.rheaData.find((d) => d.rheaId == rheaId)) {\n let xrfDetails = getAppConfig().getExternalTermLink('RHEA', xref);\n let link = xrfDetails?.url;\n\n this.rheaData.push({ rheaId, link });\n }\n }\n });\n }\n\n if (this.termIdRefs.definition_xrefs) {\n process(this.termIdRefs.definition_xrefs);\n }\n\n if (this.termIdRefs.secondary_identifiers) {\n process(this.termIdRefs.secondary_identifiers);\n }\n }\n\n ngOnChanges() {\n this.setRheaData();\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { SolrTermSummary } from '../complete.service';\nimport { getAnnotationTableConfig, getXrf } from '../config';\nimport { PombaseAPIService } from '../pombase-api.service';\nimport { getAppConfig } from '../config';\nimport { TermAndName } from '../pombase-query';\nimport { PopoverDirective } from 'ngx-bootstrap/popover';\n\n@Component({\n selector: 'app-term-link',\n templateUrl: './term-link.component.html',\n styleUrls: ['./term-link.component.css'],\n standalone: false\n})\nexport class TermLinkComponent implements OnInit {\n @Input() term: TermAndName;\n @Input() hideTermIdPrefix = false;\n\n @ViewChild('link', {static: false}) link: PopoverDirective;\n\n mouseIn = false;\n\n config = getAnnotationTableConfig();\n appConfig = getAppConfig();\n\n externalLink?: string;\n\n termSummary: SolrTermSummary|undefined = undefined;\n cvDisplayName = '';\n\n hasReactions = false;\n gocamCount = 0;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n mouseEnter(): void {\n this.mouseIn = true;\n setTimeout(() => {\n if (this.mouseIn && this.link) {\n this.link.show();\n }\n }, this.appConfig.details_popup_delay);\n }\n\n setHasReactions() {\n this.hasReactions = false;\n if (!this.termSummary) {\n return;\n }\n\n if (this.termSummary.definition_xrefs) {\n for (const xref of this.termSummary.definition_xrefs) {\n if (xref.startsWith(\"RHEA:\")) {\n this.hasReactions = true;\n return;\n }\n }\n }\n\n if (this.termSummary.secondary_identifiers) {\n for (const xref of this.termSummary.secondary_identifiers) {\n if (xref.startsWith(\"RHEA:\")) {\n this.hasReactions = true;\n return\n }\n }\n }\n\n return;\n }\n\n getLinkHint(): string {\n let base = 'Click to view term details';\n const rheaString = 'larger Rhea reaction diagram';\n if (this.externalLink) {\n if (this.hasReactions) {\n return base + ' and ' + rheaString;\n } else {\n return base;\n }\n } else {\n if (this.hasReactions) {\n return base + ', annotations and ' + rheaString;\n } else {\n return base + ' and annotations';\n }\n }\n }\n\n mouseLeave(): void {\n this.mouseIn = false;\n this.link.hide();\n }\n\n ngOnDestroy(): void {\n this.link.hide();\n this.mouseIn = false;\n }\n\n shown() {\n this.pombaseApiService.termSummaryById(this.term.termid)\n .then(termSummary => {\n this.termSummary = termSummary;\n\n if (termSummary) {\n let typeConfig = this.config.getAnnotationType(termSummary.cv_name);\n this.cvDisplayName = typeConfig.display_name;\n\n this.setHasReactions();\n\n if (termSummary.gocam_ids) {\n this.gocamCount = termSummary.gocam_ids.length;\n } else {\n this.gocamCount = 0;\n }\n }\n });\n }\n\n getDisplayTermId(): string {\n if (this.hideTermIdPrefix) {\n return this.term.termid.replace(/^.*?:/, '');\n } else {\n return this.term.termid;\n }\n }\n\n ngOnInit() {\n this.externalLink = undefined;\n\n for (const prefix of this.appConfig.externalTermLinkPrefixes) {\n if (this.term.termid.startsWith(prefix + ':')) {\n const xrfConfig = getXrf(this.term.termid);\n if (xrfConfig) {\n this.externalLink = xrfConfig.url;\n break;\n }\n }\n }\n }\n}\n","\n
\n
{{cvDisplayName}}
\n\n
\n {{term.name}}\n ({{getDisplayTermId()}})\n
\n
{{termSummary.definition}}
\n\n
\n \n
\n\n
\n A GO-CAM pathway model is available for this process\n
\n\n
1\" class=\"term-gocams\">\n GO-CAM pathway models are available for this process\n
\n\n \n
\n
\n\n\n \n\n\n\n {{term.name}}\n\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { ExtPart, ExtRange, GeneShort } from '../pombase-api.service';\nimport { TermShort } from '../pombase-query';\nimport { getAnnotationTableConfig, AnnotationTableConfig, AnnotationType,\n getAppConfig, getXrf } from '../config';\nimport { DeployConfigService } from '../deploy-config.service';\n\ninterface DisplayExtension {\n relTypeName: string;\n rawName: string;\n extRange: any;\n}\n\n@Component({\n selector: 'app-extension-display',\n templateUrl: './extension-display.component.html',\n styleUrls: ['./extension-display.component.css'],\n standalone: false\n})\nexport class ExtensionDisplayComponent implements OnInit {\n @Input() extension: Array = [];\n @Input() annotationTypeName: string;\n @Input() highlightRelations = true;\n @Input() geneShort?: GeneShort = undefined;\n\n displayExtension: Array = [];\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n typeConfig: AnnotationType;\n\n constructor(private deployConfigService: DeployConfigService) { }\n\n getLink(idWithPrefix: string): string|undefined {\n const linkConf = getXrf(idWithPrefix);\n if (linkConf) {\n return linkConf.url;\n } else {\n return undefined;\n }\n }\n\n residueTitle(posAndResidue: string): string {\n if (!this.geneShort) {\n return '';\n }\n\n const modAbbrevConfig = this.typeConfig.modification_abbreviations;\n if (!modAbbrevConfig) {\n return '';\n }\n\n const modGeneConfig = modAbbrevConfig[this.geneShort.uniquename];\n if (!modGeneConfig) {\n return '';\n }\n\n const newResidue = modGeneConfig[posAndResidue];\n if (newResidue) {\n return newResidue;\n } else {\n return '';\n }\n }\n\n displayResidue(relTypeName: string, residue: string): string {\n if (relTypeName == \"binding site\") {\n if (this.geneShort) {\n return (this.geneShort.name || this.geneShort.uniquename) + \" residues \" + residue;\n } else {\n return \"residues \" + residue;\n }\n }\n return residue;\n }\n\n relTitle(extPart: DisplayExtension): string {\n if (this.deployConfigService.productionMode()) {\n return '';\n } else {\n return extPart.rawName;\n }\n }\n\n ngOnInit() {\n let organismRE: RegExp;\n const loadOrganism = getAppConfig().getConfigOrganism();\n if (loadOrganism) {\n const loadOrganismFullName = loadOrganism.genus + ' ' + loadOrganism.species;\n organismRE = new RegExp(` *\\\\(${loadOrganismFullName}\\\\)`);\n }\n\n this.typeConfig = this.config.getAnnotationType(this.annotationTypeName);\n\n let extensionCopy: Array = this.extension.slice();\n\n this.displayExtension =\n extensionCopy.map(ext => {\n let origRange: Array = [];\n if (ext.ext_range instanceof Array) {\n origRange = ext.ext_range;\n } else {\n origRange = [ext.ext_range];\n }\n\n let newRange = origRange.map(rangePart => {\n const termForProduct =\n (gene: GeneShort|undefined, id: string, term?: TermShort) => {\n let displayName: string;\n if (term) {\n displayName = term.name;\n if (organismRE) {\n displayName = displayName.replace(organismRE, '');\n }\n } else {\n displayName = id;\n }\n if (gene && gene.name && displayName.startsWith(gene.name + '/')) {\n displayName = displayName.substring(gene.name.length + 1);\n }\n return {\n id: id,\n link: this.getLink(id),\n displayName,\n };\n };\n\n if (rangePart.gene_product) {\n return {\n gene_product: termForProduct(undefined, rangePart.gene_product,\n rangePart.term),\n };\n } else {\n if (rangePart.gene_and_gene_product) {\n return {\n gene_and_gene_product: {\n gene: rangePart.gene_and_gene_product.gene,\n product: termForProduct(rangePart.gene_and_gene_product.gene,\n rangePart.gene_and_gene_product.product,\n rangePart.term)\n }\n };\n } else {\n if (rangePart.domain) {\n let id = rangePart.domain;\n return {\n domain: {\n id: id,\n link: this.getLink(id),\n }\n };\n } else {\n if (rangePart.misc) {\n let value = rangePart.misc;\n let link = null;\n if (ext.rel_type_name === 'has_penetrance' ||\n ext.rel_type_name === 'has_severity') {\n value += '%';\n } else {\n link = this.getLink(value);\n }\n return {\n misc: {\n value: value,\n link: link,\n }\n };\n } else {\n return rangePart;\n }\n }\n }\n }\n });\n\n return {\n relTypeName: ext.rel_type_display_name || ext.rel_type_name,\n rawName: ext.rel_type_name,\n extRange: newRange,\n };\n });\n }\n}\n","\n \n {{extPart.relTypeName}}\n \n\n \n {{range.term.name}}\n \n\n \n {{term.name}},\n \n\n \n \n \n\n \n \n {{range.transcript.uniquename}}\n ()\n \n {{range.transcript.uniquename}}\n \n\n \n \n promoter of \n \n \n {{range.promoter.displayName}}\n \n \n\n \n \n {{displayResidue(extPart.relTypeName, residue)}}, \n \n \n\n \n \n and ,\n \n \n\n \n \n {{tr.uniquename}} (){{tr.uniquename}} and ,\n \n \n\n \n {{range.misc.value}}{{range.misc.value}}\n \n\n \n {{range.gene_product.displayName}}\n \n\n \n \n ({{range.gene_and_gene_product.product.displayName}})\n \n\n \n {{range.domain.id}}\n \n \n \n\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\n\nimport { Util } from '../shared/util';\nimport { GenotypeDetails, GenotypeShort, AlleleShort, ReferenceShort } from '../pombase-api.service';\n\n@Component({\n selector: 'app-genotype-allele-summary',\n templateUrl: './genotype-allele-summary.component.html',\n styleUrls: ['./genotype-allele-summary.component.css'],\n standalone: false\n})\nexport class GenotypeAlleleSummaryComponent implements OnInit, OnChanges {\n @Input() genotype: GenotypeDetails|GenotypeShort;\n @Input() showProduct = false;\n\n isDiploid = false;\n hasSynonyms = false;\n hasComment = false;\n\n constructor() { }\n\n tidyAlleleName(alleleName?: string): string {\n return Util.tidyAlleleName(alleleName).replace(/,/g, ',');\n }\n\n alleleDisplayDescription(allele: AlleleShort): string {\n let description = Util.descriptionWithResidueType(allele);\n if (description) {\n return description.replace(/,/g, ',');\n } else {\n return '';\n }\n }\n\n getPopupHeaderText(reference: ReferenceShort, type: 'comment'|'synonym'): string {\n if (reference && reference.authors_abbrev) {\n return `Reference for this ${type}, ${reference.authors_abbrev}`;\n } else {\n return `Reference for this ${type}`;\n }\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.isDiploid = false;\n this.hasSynonyms = false;\n this.hasComment = false;\n for (let locus of this.genotype.loci) {\n if (locus.expressed_alleles.length > 1) {\n this.isDiploid = true;\n break;\n }\n locus.expressed_alleles.map(expressedAllele => {\n if (expressedAllele.allele.synonyms && expressedAllele.allele.synonyms.length > 0) {\n this.hasSynonyms = true;\n }\n if (expressedAllele.allele.comments && expressedAllele.allele.comments.length > 0) {\n this.hasComment = true;\n }\n })\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
GeneLocusProductAllele name\n Synonyms\n Description\n Comment\n TypeExpression
\n \n \n {{expressedAllele.allele.gene?.product}}\n \n \n \n
    \n
  • \n \n {{synonymDetail.name}}\n \n \n {{synonymDetail.name}}\n \n \n \n
  • \n
\n
\n \n \n
    \n
  • \n \n {{comment.comment}}\n \n \n {{comment.comment}}\n \n \n \n
  • \n
\n
{{expressedAllele.allele.allele_type}}{{expressedAllele.expression}}
\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { GenotypeShort } from '../pombase-api.service';\n\n@Component({\n selector: 'app-genotype-link',\n templateUrl: './genotype-link.component.html',\n styleUrls: ['./genotype-link.component.css'],\n standalone: false\n})\nexport class GenotypeLinkComponent implements OnInit {\n @Input() genotype: GenotypeShort;\n @Input() background: string|undefined = undefined;\n\n isShortDisplayName = false;\n displayName = '';\n\n displayNameLong(): string {\n return this.genotype.displayNameLong\n .replace(/,/g, ',')\n .replace(/\\(/g, '\\(');\n }\n\n constructor() { }\n\n isDiploid(): boolean {\n for (const locus of this.genotype.loci) {\n if (locus.expressed_alleles.length > 1) {\n return true;\n }\n }\n return false;\n }\n\n ngOnInit() {\n this.displayName = this.displayNameLong();\n\n this.isShortDisplayName =\n !!this.genotype.displayNameLong && this.genotype.displayNameLong.length < 50;\n }\n}\n","\n \n
Diploid genotype
\n
Background: {{background}}
\n \n \n\n
\n (Click to view all annotation for this genotype)\n
\n
\n \n \n \n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { getAppConfig, AppConfig } from '../config';\n\n@Component({\n selector: 'app-evidence-link',\n templateUrl: './evidence-link.component.html',\n styleUrls: ['./evidence-link.component.css'],\n standalone: false\n})\nexport class EvidenceLinkComponent implements OnInit {\n @Input() evidence: string;\n @Input() assignedBy?: string = undefined;\n @Input() assignedDate?: string = undefined\n\n displayName = '[unknown]';\n title = '[unknown]';\n link: string;\n appConfig: AppConfig = getAppConfig();\n\n constructor() { }\n\n initialise() {\n if (this.evidence) {\n this.title = this.evidence;\n if (this.appConfig.evidenceTypes[this.evidence]) {\n let conf = this.appConfig.evidenceTypes[this.evidence];\n if (conf.long) {\n this.title = conf.long;\n }\n if (conf.link) {\n this.link = conf.link;\n }\n }\n this.displayName = this.evidence;\n }\n }\n\n ngOnInit() {\n this.initialise();\n }\n}\n","\n
Evidence: {{title}}
\n \n
\n Assigned by: {{assignedBy}}\n {{assignedDate}}\n
\n
\n\n \n \n {{displayName}}\n \n \n \n {{displayName}}\n \n\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { PopoverDirective } from 'ngx-bootstrap/popover';\nimport { getAppConfig, getXrf } from '../config';\nimport { GeneShort, TranscriptDetails, WithFromValue } from '../pombase-api.service';\nimport { TermShort } from '../pombase-query';\n\n@Component({\n selector: 'app-with-or-from-link',\n templateUrl: './with-or-from-link.component.html',\n styleUrls: ['./with-or-from-link.component.css'],\n standalone: false\n})\nexport class WithOrFromLinkComponent implements OnInit {\n @Input() withOrFrom: WithFromValue;\n\n @ViewChild('link', {static: false}) link: PopoverDirective;\n\n gene?: GeneShort;\n term?: TermShort;\n transcript?: TranscriptDetails;\n identifier?: string;\n name?: string;\n linkUrl?: string;\n\n appConfig = getAppConfig();\n displayIdentifier = '';\n popoverIdentifier = '';\n identifierSourceDescription = '';\n mouseIn = false;\n\n constructor() { }\n\n private displayIdentifierOf(idWithPrefix: string): string {\n return idWithPrefix.replace(/^[^:]+:/, '');\n }\n\n mouseEnter(): void {\n this.mouseIn = true;\n setTimeout(() => {\n if (this.mouseIn && this.link) {\n this.link.show();\n }\n }, this.appConfig.details_popup_delay);\n }\n\n mouseLeave(): void {\n this.mouseIn = false;\n this.link.hide();\n }\n\n ngOnDestroy(): void {\n if (this.link) {\n this.link.hide();\n }\n this.mouseIn = false;\n }\n\n ngOnInit() {\n this.gene = this.withOrFrom.gene;\n this.term = this.withOrFrom.term;\n this.transcript = this.withOrFrom.transcript;\n\n if (this.withOrFrom.identifier) {\n this.identifier = this.withOrFrom.identifier;\n this.displayIdentifier = this.displayIdentifierOf(this.identifier);\n this.popoverIdentifier = this.withOrFrom.identifier;\n }\n if (this.withOrFrom.identifier_and_name) {\n this.identifier = this.withOrFrom.identifier_and_name.identifier;\n this.name = this.withOrFrom.identifier_and_name.name;\n this.displayIdentifier = `${this.name} (${this.displayIdentifierOf(this.identifier)})`;\n }\n if (this.identifier) {\n const xrfDetails = getXrf(this.identifier);\n if (xrfDetails) {\n this.linkUrl = xrfDetails.url;\n if (xrfDetails.description) {\n this.identifierSourceDescription = xrfDetails.description\n } else {\n this.identifierSourceDescription = '';\n }\n } else {\n this.linkUrl = undefined;\n }\n }\n }\n}\n","\n
{{popoverIdentifier}}
\n
Click for details at: {{identifierSourceDescription}}
\n
\n\n\n\n \n \n\n\n \n \n {{transcript.uniquename}}\n ()\n \n {{transcript.uniquename}}\n \n\n\n {{term.name}}\n\n \n {{displayIdentifier}}\n {{displayIdentifier}}\n \n\n","import { AnnotationTable, GeneticInteractionTable, InteractionTable } from './pombase-api.service';\n\nexport interface Filter {\n filter(table: T): [T, number, number];\n}\n\nexport type AnnotationFilter = Filter;\nexport type InteractionFilter = Filter;\nexport type GeneticInteractionFilter = Filter;\n\nexport class FilterCombiner implements Filter {\n constructor(private filters: Array>) { }\n\n filter(annotationTable: T): [T, number, number] {\n let filterResult: [T, number, number] =\n this.filters[0].filter(annotationTable);\n\n let totalAnnotationCount = filterResult[1];\n\n for (let filter of this.filters.slice(1)) {\n filterResult = filter.filter(filterResult[0]);\n }\n\n let [filteredTable, , filteredAnnotationCount] = filterResult;\n\n return [filteredTable, totalAnnotationCount, filteredAnnotationCount];\n }\n\n getFilters(): Array> {\n return this.filters;\n }\n}\n","import { AnnotationTable } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class AnnotationTermFilter implements Filter {\n constructor(private termIds: Array) { }\n\n filter(annotationTable: AnnotationTable): [AnnotationTable, number, number] {\n let retTable = [] as AnnotationTable;\n let annotationCount = 0;\n let filteredAnnotationCount = 0;\n\n for (let annotation of annotationTable) {\n TERMS: for (let termId of this.termIds) {\n annotationCount += annotation.annotations.length;\n if (annotation.term.interesting_parent_ids) {\n for (let interestingAncestor of annotation.term.interesting_parent_ids) {\n if (interestingAncestor === termId || annotation.term.termid == termId) {\n retTable.push(annotation);\n filteredAnnotationCount += annotation.annotations.length;\n break TERMS;\n }\n }\n }\n }\n }\n\n return [retTable, annotationCount, filteredAnnotationCount];\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChange } from '@angular/core';\n\nimport { TermAnnotation, AnnotationTable, PombaseAPIService, TermSubsets } from '../pombase-api.service';\nimport { FilterConfig, TermFilterCategory } from '../config';\nimport { AnnotationTermFilter } from '../filtering/annotation-term-filter';\nimport { Filter } from '../filtering';\nimport { TableViewState } from '../pombase-types';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has one of these\n // ancestors\n public active: boolean,\n public ancestors: Array) { }\n}\n\n@Component({\n selector: 'app-annotation-table-term-filter',\n templateUrl: './annotation-table-term-filter.component.html',\n styleUrls: ['./annotation-table-term-filter.component.css'],\n standalone: false\n})\nexport class AnnotationTableTermFilterComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() config: FilterConfig;\n @Input() tableViewState: TableViewState\n @Output() filterChange = new EventEmitter>();\n\n subsetPromise: Promise;\n\n selectedCategory: any = null;\n\n choiceData: Array = [];\n\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(undefined);\n }\n\n setCategory(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new AnnotationTermFilter(event.ancestors));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor(pombaseApiService: PombaseAPIService) {\n this.subsetPromise = pombaseApiService.getTermSubsets();\n }\n\n ngOnInit() {\n }\n\n processChanges(termCategories: Array): void {\n this.choiceData = [];\n\n let seenAncestors: { [key: string]: boolean } = {};\n\n for (let termAnnotation of this.annotationTable) {\n seenAncestors[termAnnotation.term.termid] = true;\n if (termAnnotation.term.interesting_parent_ids) {\n for (let ancestor of termAnnotation.term.interesting_parent_ids) {\n seenAncestors[ancestor] = true;\n }\n }\n }\n\n for (let category of termCategories) {\n let active = false;\n\n for (let ancestor of category.ancestors) {\n if (seenAncestors[ancestor]) {\n active = true;\n break;\n }\n }\n\n let selectData = new SelectData(category.display_name,\n active, category.ancestors);\n this.choiceData.push(selectData);\n }\n\n this.choiceData.sort((a, b) => {\n return a.displayName.localeCompare(b.displayName);\n });\n }\n\n getAllAncestors(): Set {\n let ret = new Set();\n for (let term_annotations of this.annotationTable) {\n let term = term_annotations.term;\n\n if (term_annotations.is_not) {\n continue;\n }\n\n ret.add(term.termid);\n\n if (term.interesting_parent_ids) {\n for (let ancestor of term.interesting_parent_ids) {\n ret.add(ancestor);\n }\n }\n }\n\n return ret;\n }\n\n processChangesForSlim(): void {\n this.subsetPromise.then((subsets) => {\n let termCategories = [];\n let allAncestors = this.getAllAncestors();\n const subset = subsets[this.config.slim_name!];\n for (const termid of Object.keys(subset.elements)) {\n if (allAncestors.has(termid)) {\n const element = subset.elements[termid];\n const termCategory = {\n display_name: element.name,\n ancestors: [termid],\n };\n termCategories.push(termCategory);\n }\n }\n this.processChanges(termCategories);\n });\n }\n\n ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n // reset unless the only change is moving the annotation table to\n // Details mode\n if (Object.keys(changes).length != 1 ||\n !changes['tableViewState'] ||\n changes['tableViewState'].currentValue == TableViewState.Summary) {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n if (this.config.term_categories) {\n this.processChanges(this.config.term_categories);\n } else {\n if (this.config.slim_name) {\n this.processChangesForSlim();\n }\n }\n }\n }\n}\n","\n {{config.display_name}}\n\n \n\n\n\n (No {{config.display_name.toLocaleLowerCase()}}s)\n\n","import { AnnotationTable, GenotypeShort } from '../pombase-api.service';\nimport { Filter } from '../filtering';\nimport { Ploidiness } from '../pombase-query';\n\nexport class AnnotationPloidinessFilter implements Filter {\n evidenceCodes: Array = [];\n\n constructor(private filterPloidiness: Ploidiness) {\n }\n\n private genotypePloidiness(genotype: GenotypeShort): Ploidiness {\n for (const locus of genotype.loci) {\n if (locus.expressed_alleles.length == 1) {\n return 'haploid';\n }\n }\n\n return 'diploid';\n }\n\n filter(annotationTable: AnnotationTable): [AnnotationTable, number, number] {\n let retTable = [] as AnnotationTable;\n let annotationCount = 0;\n let filteredAnnotationCount = 0;\n\n for (let termAnnotation of annotationTable) {\n annotationCount += termAnnotation.annotations.length;\n let retAnnotation = Object.assign({}, termAnnotation);\n\n if (this.filterPloidiness !== 'any' && retAnnotation.summary) {\n const origSummary = retAnnotation.summary;\n retAnnotation.summary = [];\n origSummary.map(summaryRow => {\n let newRow = Object.assign({}, summaryRow);\n newRow.genotypes =\n summaryRow.genotypes.filter(g => {\n return this.genotypePloidiness(g) == this.filterPloidiness;\n });\n if (newRow.genotypes.length > 0) {\n newRow.genotype_uniquenames =\n newRow.genotypes.map(g => g.display_uniquename);\n retAnnotation.summary.push(newRow);\n }\n });\n\n }\n\n retAnnotation.annotations = [];\n\n for (let annotation of termAnnotation.annotations) {\n if (this.filterPloidiness === 'any') {\n retAnnotation.annotations.push(annotation);\n } else {\n let annotationPloidiness = this.genotypePloidiness(annotation.genotype);\n\n if (annotationPloidiness === this.filterPloidiness) {\n retAnnotation.annotations.push(annotation);\n }\n }\n }\n\n if (retAnnotation.annotations.length > 0) {\n retTable.push(retAnnotation);\n filteredAnnotationCount += retAnnotation.annotations.length;\n }\n }\n\n return [retTable, annotationCount, filteredAnnotationCount];\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\nimport { TermAnnotation, AnnotationTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { AnnotationPloidinessFilter } from '../filtering/annotation-ploidiness-filter';\nimport { Filter } from '../filtering';\nimport { Ploidiness } from '../pombase-query';\n\nclass SelectData {\n constructor(public name: Ploidiness,\n public displayName: string,\n public active: boolean) { }\n}\n\n@Component({\n selector: 'app-annotation-table-ploidiness-filter',\n templateUrl: './annotation-table-ploidiness-filter.component.html',\n styleUrls: ['./annotation-table-ploidiness-filter.component.css'],\n standalone: false\n})\nexport class AnnotationTablePloidinessFilterComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>();\n\n anySelectData = new SelectData('any', 'Any (default)', true);\n selectedCategory: SelectData = this.anySelectData;\n\n hasHaplods = false;\n hasDiploids = false;\n\n haploidSelectData = new SelectData('haploid', 'Haploid', false);\n diploidSelectData = new SelectData('diploid', 'Diploid', false);\n\n reset(): void {\n this.selectedCategory = this.anySelectData;\n this.setCategory(undefined);\n }\n\n setCategory(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new AnnotationPloidinessFilter(event.name));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n private checkPloidiness(): [boolean, boolean] {\n let seenHaploid = false;\n let seenDiploid = false;\n\n TERM_ANNOTATION: for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n for (const locus of annotation.genotype.loci) {\n if (locus.expressed_alleles.length == 1) {\n seenHaploid = true;\n } else {\n seenDiploid = true;\n }\n\n if (seenHaploid && seenDiploid) {\n break TERM_ANNOTATION;\n }\n }\n }\n }\n\n return [seenHaploid, seenDiploid];\n }\n\n ngOnChanges() {\n this.selectedCategory = this.anySelectData;\n\n [this.hasHaplods, this.hasDiploids] = this.checkPloidiness();\n\n this.haploidSelectData.active = this.hasHaplods;\n this.diploidSelectData.active = this.hasDiploids;\n\n if (this.hasHaplods && !this.hasDiploids) {\n this.selectedCategory = this.haploidSelectData;\n } else {\n if (!this.hasHaplods && this.hasDiploids) {\n this.selectedCategory = this.diploidSelectData;\n }\n }\n }\n}\n","\n \n\n","import { AnnotationTable } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class AnnotationEvidenceFilter implements Filter {\n evidenceCodes: Array = [];\n\n constructor(private evidenceCodesArg: Array) {\n for (let code of this.evidenceCodesArg) {\n let lcCode = code.toLowerCase();\n this.evidenceCodes.push(lcCode);\n this.evidenceCodes.push(lcCode + ' evidence');\n }\n }\n\n filter(annotationTable: AnnotationTable): [AnnotationTable, number, number] {\n let retTable = [] as AnnotationTable;\n let annotationCount = 0;\n let filteredAnnotationCount = 0;\n\n for (let termAnnotation of annotationTable) {\n annotationCount += termAnnotation.annotations.length;\n let retAnnotation = Object.assign({}, termAnnotation);\n retAnnotation.annotations = [];\n\n for (let annotation of termAnnotation.annotations) {\n if (annotation.evidence &&\n this.evidenceCodes.indexOf(annotation.evidence.toLowerCase()) !== -1) {\n retAnnotation.annotations.push(annotation);\n }\n }\n\n if (retAnnotation.annotations.length > 0) {\n retTable.push(retAnnotation);\n filteredAnnotationCount += retAnnotation.annotations.length;\n }\n }\n\n return [retTable, annotationCount, filteredAnnotationCount];\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\nimport { TermAnnotation, AnnotationTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { AnnotationEvidenceFilter } from '../filtering/annotation-evidence-filter';\nimport { Filter } from '../filtering';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has one of these\n // evidence codes\n public active: boolean,\n public evidenceCodes: Array) { }\n}\n\n@Component({\n selector: 'app-annotation-table-evidence-filter',\n templateUrl: './annotation-table-evidence-filter.component.html',\n styleUrls: ['./annotation-table-evidence-filter.component.css'],\n standalone: false\n})\nexport class AnnotationTableEvidenceFilterComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>();\n\n selectedCategory: any = null;\n\n choiceData: Array = [];\n\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(undefined);\n }\n\n setCategory(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new AnnotationEvidenceFilter(event.evidenceCodes));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n if (!this.config.evidence_categories) {\n return;\n }\n\n let seenEvidence: { [key: string]: boolean } = {};\n\n for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n let evidence = annotation.evidence;\n if (evidence) {\n let lcEvidence = evidence.toLowerCase();\n for (let configCategory of this.config.evidence_categories) {\n for (let configEvidenceCode of configCategory.evidence_codes) {\n let lcConfigEvidenceCode = configEvidenceCode.toLowerCase();\n if (lcEvidence === lcConfigEvidenceCode ||\n lcEvidence === lcConfigEvidenceCode + ' evidence') {\n seenEvidence[configEvidenceCode] = true;\n }\n }\n }\n }\n }\n }\n\n for (let category of this.config.evidence_categories) {\n let active = false;\n\n for (let evidence_code of category.evidence_codes) {\n if (seenEvidence[evidence_code]) {\n active = true;\n break;\n }\n }\n\n let selectData = new SelectData(category.display_name,\n active, category.evidence_codes);\n this.choiceData.push(selectData);\n }\n\n this.choiceData.sort((a, b) => {\n return a.displayName.localeCompare(b.displayName);\n });\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { AnnotationTable } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class AnnotationExtensionFilter implements Filter {\n constructor(private extensionRelNames: Array,\n private filterTermIds: Array) { }\n\n filter(annotationTable: AnnotationTable): [AnnotationTable, number, number] {\n let retTable = [] as AnnotationTable;\n let annotationCount = 0;\n let filteredAnnotationCount = 0;\n\n for (let termAnnotation of annotationTable) {\n annotationCount += termAnnotation.annotations.length;\n let retTermAnnotation = Object.assign({}, termAnnotation);\n retTermAnnotation.annotations = [];\n\n ANNOTATION: for (let annotation of termAnnotation.annotations) {\n for (let filterTermId of this.filterTermIds) {\n if (annotation.extension) {\n for (let extPart of annotation.extension) {\n const rangeTerm = extPart.ext_range.term;\n if (this.extensionRelNames.includes(extPart.rel_type_name) && rangeTerm) {\n if (filterTermId === rangeTerm.termid) {\n retTermAnnotation.annotations.push(annotation);\n continue ANNOTATION;\n }\n if (rangeTerm.interesting_parent_ids) {\n for (let interestingAncestor of rangeTerm.interesting_parent_ids) {\n if (interestingAncestor === filterTermId) {\n retTermAnnotation.annotations.push(annotation);\n continue ANNOTATION;\n }\n }\n }\n }\n }\n }\n }\n }\n\n if (retTermAnnotation.summary) {\n retTermAnnotation.summary = retTermAnnotation.summary\n .filter(summaryRow => {\n if (summaryRow.extension) {\n for (const extPart of summaryRow.extension) {\n if (extPart.ext_range.summaryTerms) {\n for (const rangeSummaryTerm of extPart.ext_range.summaryTerms) {\n\n if (!this.extensionRelNames.includes(extPart.rel_type_name)) {\n return false;\n }\n\n if (this.filterTermIds.includes(rangeSummaryTerm.termid)) {\n return true;\n }\n\n for (const rangeTermInterestingParentId of rangeSummaryTerm.interesting_parent_ids) {\n if (this.filterTermIds.includes(rangeTermInterestingParentId)) {\n return true;\n }\n }\n }\n }\n }\n }\n return false;\n });\n }\n\n if (retTermAnnotation.annotations.length > 0) {\n retTable.push(retTermAnnotation);\n filteredAnnotationCount += retTermAnnotation.annotations.length;\n }\n }\n\n return [retTable, annotationCount, filteredAnnotationCount];\n }\n\n getFilterTermIds(): Array{\n return this.filterTermIds;\n }\n}\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\nimport { TermAnnotation, AnnotationTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { AnnotationExtensionFilter } from '../filtering/annotation-extension-filter';\nimport { Filter } from '../filtering';\nimport { TableViewState } from '../pombase-types';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has an extension\n // with one of these ancestors\n public active: boolean,\n public ancestors: Array) { }\n}\n\n@Component({\n selector: 'app-annotation-table-extension-filter',\n templateUrl: './annotation-table-extension-filter.component.html',\n styleUrls: ['./annotation-table-extension-filter.component.css'],\n standalone: false\n})\nexport class AnnotationTableExtensionFilterComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() tableViewState: TableViewState; // this parameter is only used by ngOnChanges()\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>();\n @Output() availableChoiceChange = new EventEmitter();\n\n selectedCategory: any|undefined = undefined;\n\n choiceData: Array = [];\n availableChoices = 0;\n\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(undefined);\n }\n\n setCategory(event: SelectData|undefined): void {\n if (event && this.config.extension_rel_type_names) {\n this.filterChange.emit(new AnnotationExtensionFilter(this.config.extension_rel_type_names, event.ancestors));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n let seenCategories: { [key: string]: boolean } = {};\n\n for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n const extension = annotation.extension;\n if (extension) {\n for (const extPart of extension) {\n if (this.config.extension_rel_type_names &&\n this.config.extension_rel_type_names.includes(extPart.rel_type_name)) {\n const rangeTerm = extPart.ext_range.term;\n if (rangeTerm) {\n seenCategories[rangeTerm.termid] = true;\n const interestingParentIds = rangeTerm.interesting_parent_ids;\n if (interestingParentIds) {\n for (let ancestor of interestingParentIds) {\n seenCategories[ancestor] = true;\n }\n }\n }\n }\n }\n }\n }\n }\n\n this.availableChoices = 0;\n\n if (this.config.extension_categories) {\n for (let category of this.config.extension_categories) {\n let active = false;\n\n for (let ancestor of category.ancestors) {\n if (seenCategories[ancestor]) {\n active = true;\n break;\n }\n }\n\n let selectData = new SelectData(category.display_name,\n active, category.ancestors);\n this.choiceData.push(selectData);\n\n if (active) {\n this.availableChoices += 1;\n }\n }\n }\n\n this.availableChoiceChange.emit(this.availableChoices);\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { AnnotationTable, ThroughputType } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class AnnotationThroughputFilter implements Filter {\n constructor(private throughputType: ThroughputType) { }\n\n filter(annotationTable: AnnotationTable): [AnnotationTable, number, number] {\n let retTable = [] as AnnotationTable;\n let annotationCount = 0;\n let filteredAnnotationCount = 0;\n\n for (let termAnnotation of annotationTable) {\n annotationCount += termAnnotation.annotations.length;\n let retAnnotation = Object.assign({}, termAnnotation);\n retAnnotation.annotations = [];\n\n for (let annotation of termAnnotation.annotations) {\n if (annotation.throughput &&\n this.throughputType.split(\"|\").includes(annotation.throughput)) {\n retAnnotation.annotations.push(annotation);\n }\n }\n\n if (retAnnotation.annotations.length > 0) {\n retTable.push(retAnnotation);\n filteredAnnotationCount += retAnnotation.annotations.length;\n }\n }\n\n return [retTable, annotationCount, filteredAnnotationCount];\n }\n}\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\nimport { ThroughputType, TermAnnotation, AnnotationTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { AnnotationThroughputFilter } from '../filtering/annotation-throughput-filter';\nimport { Filter } from '../filtering';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has this\n // throughput\n public active: boolean,\n public throughput: ThroughputType) { }\n}\n\n@Component({\n selector: 'app-annotation-table-throughput-filter',\n templateUrl: './annotation-table-throughput-filter.component.html',\n styleUrls: ['./annotation-table-throughput-filter.component.css'],\n standalone: false\n})\nexport class AnnotationTableThroughputFilterComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>();\n\n selectedCategory: SelectData|null = null;\n\n choiceData: Array = [];\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(null);\n }\n\n setCategory(event: SelectData|null): void {\n if (event) {\n this.filterChange.emit(new AnnotationThroughputFilter(event.throughput));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n let seenThroughput: { [key: string]: boolean } = {};\n\n if (this.config.throughput_categories) {\n for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n let annotationThroughput = annotation.throughput;\n if (annotationThroughput) {\n for (let configCategory of this.config.throughput_categories) {\n if (configCategory.throughput_type.split(\"|\").includes(annotationThroughput)) {\n seenThroughput[configCategory.throughput_type] = true;\n }\n }\n }\n }\n }\n\n for (let category of this.config.throughput_categories) {\n let active = seenThroughput[category.throughput_type];\n\n let selectData = new SelectData(category.display_name,\n active, category.throughput_type);\n this.choiceData.push(selectData);\n }\n }\n\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { Component, OnInit, Input, Output, OnChanges,\n EventEmitter } from '@angular/core';\n\nimport { TermAnnotation, AnnotationTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { AnnotationFilter, FilterCombiner } from '../filtering';\nimport { TableViewState } from '../pombase-types';\n\n@Component({\n selector: 'app-annotation-table-filters',\n templateUrl: './annotation-table-filters.component.html',\n styleUrls: ['./annotation-table-filters.component.css'],\n standalone: false\n})\nexport class AnnotationTableFiltersComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() filterConfig: Array;\n @Input() currentViewState: TableViewState;\n @Input() scope: string; // \"gene\", \"term\", \"reference\" ...\n @Output() filterChange = new EventEmitter>();\n\n currentFilters: { [key: string]: AnnotationFilter } = {};\n scopeFilterConfig: Array = [];\n\n filterChanged(filterType: string, event: AnnotationFilter) {\n if (event) {\n this.currentFilters[filterType] = event;\n } else {\n delete this.currentFilters[filterType];\n }\n\n let eventsToEmit = [];\n\n for (let filterType of Object.keys(this.currentFilters)) {\n eventsToEmit.push(this.currentFilters[filterType]);\n }\n\n if (eventsToEmit.length === 0) {\n this.filterChange.emit(undefined);\n } else {\n this.filterChange.emit(new FilterCombiner(eventsToEmit));\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.scopeFilterConfig =\n this.filterConfig.filter(conf => {\n return conf.scope.indexOf(this.scope) !== -1 &&\n (this.currentViewState === TableViewState.Details ||\n !conf.detailed_view_only);\n });\n }\n}\n","
\n 0\" class=\"filters-header\">Filters:\n \n \n \n\n \n \n\n \n \n\n\n \n \n\n \n \n \n
\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\n\nimport { AnnotationExternalLinkConfig } from '../config';\n\n@Component({\n selector: 'app-annotation-table-ext-links',\n templateUrl: './annotation-table-ext-links.component.html',\n styleUrls: ['./annotation-table-ext-links.component.css'],\n standalone: false\n})\nexport class AnnotationTableExtLinksComponent implements OnInit, OnChanges {\n @Input() termIds: Array = [];\n @Input() extLinksConfig: Array = [];\n\n termIdString = '';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.termIdString = this.termIds.join('%2C');\n }\n}\n","\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { AnnotationTable, GeneDetails, PombaseAPIService } from '../pombase-api.service';\nimport { AnnotationType } from '../config';\nimport { FilterCombiner } from '../filtering';\nimport { AnnotationExtensionFilter } from '../filtering/annotation-extension-filter';\nimport { DownstreamGenesNode, GeneQuery, SubstratesNode } from '../pombase-query';\nimport { HistoryEntry, QueryService } from '../query.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-annotation-table-widgets',\n templateUrl: './annotation-table-widgets.component.html',\n styleUrls: ['./annotation-table-widgets.component.css'],\n standalone: false\n})\nexport class AnnotationTableWidgetsComponent implements OnInit, OnChanges {\n @Input() annotationTable: AnnotationTable;\n @Input() annotationTypeName: string;\n @Input() typeConfig: AnnotationType;\n @Input() geneDetails: GeneDetails;\n @Input() filters?: FilterCombiner;\n\n duringTermId?: string;\n duringTermName?: string;\n hasSubstrates = false;\n hasDownstreamGenes = false;\n\n constructor(private router: Router,\n private pombaseApiService: PombaseAPIService,\n private queryService: QueryService) {}\n\n showWidgets(): boolean {\n return this.hasSubstrates || this.hasDownstreamGenes;\n }\n\n sendToQueryBuilder(): void {\n let queryName;\n if (this.duringTermId) {\n const duringTermName = this.duringTermName || this.duringTermId;\n queryName = `Substrates of ${this.geneDetails.displayName} during ${duringTermName}`;\n } else {\n queryName = `All substrates of ${this.geneDetails.displayName}`;\n }\n\n const part = new SubstratesNode(queryName, this.geneDetails.uniquename, this.duringTermId);\n const geneQuery = new GeneQuery(part);\n const callback = (historyEntry: HistoryEntry) => {\n this.router.navigate(['/results/from/id/', historyEntry.getEntryId()]);\n };\n this.queryService.runAndSaveToHistory(geneQuery, callback);\n }\n\n sendDownstreamGenesToQueryBuilder(): void {\n if (!this.hasDownstreamGenes) {\n return;\n }\n let queryName = `Genes downstream of (affected by) ${this.geneDetails.displayName}`\n\n const part = new DownstreamGenesNode(queryName, this.geneDetails.uniquename,\n this.annotationTypeName);\n const geneQuery = new GeneQuery(part);\n const callback = (historyEntry: HistoryEntry) => {\n this.router.navigate(['/results/from/id/', historyEntry.getEntryId()]);\n };\n this.queryService.runAndSaveToHistory(geneQuery, callback);\n }\n\n updateSubstratesState() {\n if (this.annotationTypeName !== 'molecular_function') {\n return;\n }\n this.duringTermId = undefined;\n this.hasSubstrates = false;\n\n if (!this.typeConfig.filters) {\n return;\n }\n\n let extFilterConf = undefined;\n\n for (const filterConf of this.typeConfig.filters) {\n if (filterConf.filter_type == \"extension\" &&\n filterConf.filter_subtype == \"during\") {\n extFilterConf = filterConf;\n break;\n }\n }\n\n if (!extFilterConf) {\n return;\n }\n\n const filterConfRelTypes = extFilterConf.extension_rel_type_names;\n\n if (!filterConfRelTypes) {\n return;\n }\n\n if (this.filters) {\n for (let filter of this.filters.getFilters()) {\n if (filter instanceof AnnotationExtensionFilter) {\n const filterTermIds = filter.getFilterTermIds();\n\n const duringTermId = filterTermIds[0];\n this.duringTermId = duringTermId;\n this.findDuringTermName(duringTermId);\n }\n }\n }\n\n TERM_ANNOTATIONS:\n for (const termAnnotation of this.annotationTable) {\n for (const annotation of termAnnotation.annotations) {\n for (const extPart of annotation.extension) {\n if (extPart.rel_type_name == 'has_input') {\n this.hasSubstrates = true;\n break TERM_ANNOTATIONS;\n }\n }\n }\n }\n }\n\n updateDownstreamGenesState() {\n const downstreamRelations = this.typeConfig.downstream_relations;\n if (!this.typeConfig.downstream_query_title || !downstreamRelations) {\n return;\n }\n this.hasDownstreamGenes = false;\n\n TERM_ANNOTATIONS:\n for (const termAnnotation of this.annotationTable) {\n for (const annotation of termAnnotation.annotations) {\n for (const extPart of annotation.extension) {\n if (downstreamRelations.includes(extPart.rel_type_name)) {\n this.hasDownstreamGenes = true;\n break TERM_ANNOTATIONS;\n }\n }\n }\n }\n }\n\n findDuringTermName(duringTermId: string) {\n this.pombaseApiService.termSummaryById(duringTermId)\n .then(termSummary => {\n this.duringTermName = termSummary?.name;\n });\n }\n\n sendSubstratesText(): string {\n if (this.duringTermId) {\n return `Send substrate genes during ${this.duringTermName || this.duringTermId} to Advanced Search ...`;\n } else {\n return 'Send all substrate genes to Advanced Search ...';\n }\n }\n\n ngOnChanges() {\n this.updateSubstratesState();\n this.updateDownstreamGenesState();\n }\n\n ngOnInit() {\n this.updateSubstratesState();\n this.updateDownstreamGenesState();\n }\n}\n","\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Annotation } from '../pombase-api.service';\n\n@Component({\n selector: 'app-allele-promoter-list',\n templateUrl: './allele-promoter-list.component.html',\n styleUrls: ['./allele-promoter-list.component.css'],\n standalone: false\n})\nexport class AllelePromoterListComponent implements OnInit {\n @Input() annotation: Annotation;\n @Input() long = true;\n\n isMultiLocusGenotype = true;\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.isMultiLocusGenotype = this.annotation.genotype.loci.length > 1;\n }\n}\n","
\n {{allelePromoter.allele_display_name}}\n promoter:\n \n {{allelePromoter.promoter}}\n \n
\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\nimport { TermAnnotation, ReferenceShort, Annotation } from '../pombase-api.service';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig, AnnotationType,\n FilterConfig, AnnotationExternalLinkConfig, getAppConfig,\n AppConfig} from '../config';\nimport { AnnotationTable, GeneDetails, GeneShort, GenotypeShort,\n TermSummaryRow } from '../pombase-api.service';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { TableViewState } from '../pombase-types';\nimport { TermShort, GeneUniquename } from '../pombase-query';\nimport { FilterCombiner } from '../filtering';\n\nconst SUMMARY_ROW_TRUNCATED_LIMIT = 80;\nconst LARGE_TABLE_ANNOTATION_LIMIT = 5000;\n\nfunction summaryRowFeatureCount(summaryRow: TermSummaryRow): number {\n let featureCount = 0;\n\n if (summaryRow.genes) {\n featureCount += summaryRow.genes.length;\n }\n if (summaryRow.genotypes) {\n featureCount += summaryRow.genotypes.length;\n }\n\n return featureCount;\n}\n\n@Component({\n selector: 'app-annotation-sub-table',\n templateUrl: './annotation-sub-table.component.html',\n styleUrls: ['./annotation-sub-table.component.css'],\n standalone: false\n})\nexport class AnnotationSubTableComponent implements OnInit, OnChanges {\n @Input() annotationTypeName: string;\n @Input() hideColumns: Array;\n @Input() featureInFirstColumn = false;\n @Input() detailsOnly = false;\n @Input() annotationTable: AnnotationTable;\n @Input() geneDetails?: GeneDetails;\n @Input() scope: string;\n\n // copy to the component for use in template\n TableViewState = TableViewState;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n appConfig: AppConfig = getAppConfig();\n typeConfig: AnnotationType;\n filterConfig: Array|undefined = undefined;\n filteredTable: AnnotationTable = [];\n filters?: FilterCombiner;\n\n hideColumn = {};\n showColumn: { [key: string]: boolean } = {};\n termNameColSpan = -1;\n compactFirstRows: { [key: string]: boolean } = {};\n detailsView: {[key: string]: boolean} = {};\n summaryRowAllVisible: { [key: string]: boolean } = {};\n currentViewState = TableViewState.Summary;\n tableIsFiltered = false;\n filteredAnnotationCount = 0;\n annotationCount = 0;\n\n externalLinksConfig: Array = [];\n allTermIds: Array = [];\n\n geneUniquename?: GeneUniquename;\n\n getAllTermIds(): Array {\n if (this.annotationTable) {\n let ret: Array = [];\n\n this.annotationTable.map((termAnnotation: TermAnnotation) => {\n if (!termAnnotation.is_not) {\n ret.push(termAnnotation.term.termid);\n }\n });\n\n return ret;\n } else {\n return [];\n }\n }\n\n updateCurrentFilter(filters: FilterCombiner|undefined) {\n this.filters = filters\n if (filters) {\n [this.filteredTable, this.annotationCount, this.filteredAnnotationCount] =\n filters.filter(this.annotationTable);\n } else {\n this.filteredTable = this.annotationTable;\n\n this.annotationCount = 0;\n\n this.annotationTable.map(termAnnotation => {\n this.annotationCount += termAnnotation.annotations.length;\n });\n }\n\n this.tableIsFiltered = !!filters;\n }\n\n isLargeTable(): boolean {\n return this.annotationCount > LARGE_TABLE_ANNOTATION_LIMIT;\n }\n\n resetFilter(): void {\n this.updateCurrentFilter(undefined);\n }\n\n constructor(public deployConfigService: DeployConfigService) { }\n\n getCountPopoverContext(term: TermShort): { [key: string]: number|string } {\n let termId: string;\n if (this.typeConfig.hide_term_id_prefix) {\n termId = term.termid.replace(/^.*?:/, '');\n } else {\n termId = term.termid;\n }\n return {\n geneCount: term.gene_count,\n termId,\n };\n }\n\n detailsViewVisible(termAnnotation: TermAnnotation): boolean {\n let key;\n if (termAnnotation.is_not) {\n key = 'NOT:' + termAnnotation.term.termid;\n } else {\n key = termAnnotation.term.termid;\n }\n\n return this.detailsView[key] || false;\n }\n\n getSummaryRowGenes(termAnnotation: TermAnnotation, rowIndex: number): Array {\n const summaryRow = termAnnotation.summary[rowIndex];\n if (this.allOfSummaryRowVisible(termAnnotation, rowIndex)) {\n return summaryRow.genes;\n } else {\n return summaryRow.genes.slice(0, SUMMARY_ROW_TRUNCATED_LIMIT)\n }\n }\n\n getSummaryRowGenotypes(termAnnotation: TermAnnotation, rowIndex: number): Array {\n const summaryRow = termAnnotation.summary[rowIndex];\n if (this.allOfSummaryRowVisible(termAnnotation, rowIndex)) {\n return summaryRow.genotypes;\n } else {\n return summaryRow.genotypes.slice(0, SUMMARY_ROW_TRUNCATED_LIMIT);\n }\n }\n\n allOfSummaryRowVisible(termAnnotation: TermAnnotation, rowIndex: number): boolean {\n if (!this.isLargeTable()) {\n return true;\n }\n\n let key;\n if (termAnnotation.is_not) {\n key = 'NOT:' + termAnnotation.term.termid;\n } else {\n key = termAnnotation.term.termid;\n }\n\n key += ' - ' + rowIndex;\n\n const summaryRow = termAnnotation.summary[rowIndex];\n\n const featureCount = summaryRowFeatureCount(summaryRow);\n\n if (featureCount <= SUMMARY_ROW_TRUNCATED_LIMIT + 10) {\n return true;\n }\n\n return this.summaryRowAllVisible[key] || false;\n }\n\n showAllSummaryRowLinkText(termAnnotation: TermAnnotation, rowIndex: number): string {\n const summaryRow = termAnnotation.summary[rowIndex];\n\n const featureCount = summaryRowFeatureCount(summaryRow);\n\n return `Show all ${featureCount} ${this.typeConfig.feature_type}s ...`;\n }\n\n showAllOfSummaryRow(termAnnotation: TermAnnotation, rowIndex: number) {\n let key;\n if (termAnnotation.is_not) {\n key = 'NOT:' + termAnnotation.term.termid;\n } else {\n key = termAnnotation.term.termid;\n }\n\n key += ' - ' + rowIndex;\n\n this.summaryRowAllVisible[key] = true;\n }\n\n toggleDetails(termAnnotation: TermAnnotation) {\n let key;\n if (termAnnotation.is_not) {\n key = 'NOT:' + termAnnotation.term.termid;\n } else {\n key = termAnnotation.term.termid;\n }\n\n this.detailsView[key] = !this.detailsView[key];\n\n let seenSummarised = false;\n\n for (let termAnnotation of this.annotationTable) {\n if (termAnnotation.summary) {\n if (!this.detailsViewVisible(termAnnotation)) {\n seenSummarised = true;\n }\n }\n }\n\n if (seenSummarised) {\n this.currentViewState = TableViewState.Summary;\n } else {\n this.currentViewState = TableViewState.Details;\n }\n }\n\n allDetailsView() {\n this.currentViewState = TableViewState.Details;\n for (let termAnnotation of this.annotationTable) {\n this.detailsView[termAnnotation.term.termid] = true;\n if (termAnnotation.is_not) {\n this.detailsView['NOT:' + termAnnotation.term.termid] = true;\n }\n }\n\n this.resetFilter();\n }\n\n allSummaryView() {\n this.currentViewState = TableViewState.Summary;\n for (let termAnnotation of this.annotationTable) {\n this.detailsView[termAnnotation.term.termid] = false;\n if (termAnnotation.is_not) {\n this.detailsView['NOT:' + termAnnotation.term.termid] = false;\n }\n }\n\n this.resetFilter();\n }\n\n trackByTermId(_: number, item: any) {\n return item.term.termid;\n }\n\n getTermXrefLink(sourceName: string, id: string, geneUniquename?: string): string {\n if (sourceName && id) {\n const linkConf = this.appConfig.getMiscExternalLink(sourceName, id, geneUniquename);\n if (linkConf) {\n return linkConf.url;\n } else {\n return '';\n }\n } else {\n return '';\n }\n }\n\n xrefSource(xrefKeyValue: any): string {\n return xrefKeyValue.key as string;\n }\n\n xrefId(xrefKeyValue: any): string {\n return xrefKeyValue.value.xref_id as string;\n }\n\n checkCondition(condition: string|undefined, reference: ReferenceShort): boolean {\n if (condition) {\n if (condition.startsWith('reference=')) {\n const condRef = condition.substring(10);\n if (reference && condRef && condRef === reference.uniquename) {\n return true;\n }\n }\n }\n return false;\n }\n\n showXRef(sourceName: string, reference: ReferenceShort): boolean {\n if (!this.typeConfig.source_config) {\n return false;\n }\n const sourceConfig = this.typeConfig.source_config[sourceName];\n if (sourceConfig) {\n const condition = sourceConfig.condition;\n return this.checkCondition(condition, reference);\n } else {\n return true;\n }\n }\n\n otherSources(reference: ReferenceShort): Array {\n let sourceConfig = this.typeConfig.source_config;\n if (!sourceConfig) {\n return [];\n }\n\n let ret = [];\n\n for (const sourceName of Object.keys(sourceConfig)) {\n const conf = sourceConfig[sourceName];\n if (this.checkCondition(conf.condition, reference) && !conf.id_source) {\n ret.push(sourceName);\n }\n }\n\n return ret;\n }\n\n getDisplayTermId(termAnnotation: TermAnnotation) {\n if (this.typeConfig.hide_term_id_prefix) {\n return termAnnotation.term.termid.replace(/^.*?:/, '');\n } else {\n return termAnnotation.term.termid;\n }\n }\n\n hasQualifiers(): boolean {\n for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n if (annotation['qualifiers'] && annotation['qualifiers'].length > 0) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n transcriptDisplay(annotation: Annotation, long: boolean): string {\n if (annotation.transcripts && annotation.transcripts.length > 0) {\n const gene = annotation.transcripts[0].gene!;\n const transcriptCount = gene.transcript_count || 1;\n if (annotation.transcripts.length == transcriptCount) {\n if (long) {\n if (transcriptCount == 2) {\n return 'Both transcripts';\n } else {\n return 'All transcripts';\n }\n } else {\n return 'All';\n }\n } else {\n let transcriptIds =\n annotation.transcripts.map(transcriptDetails => {\n return transcriptDetails.name || transcriptDetails.uniquename;\n }).join(', ');\n if (long) {\n if (annotation.transcripts.length == 1) {\n return 'Transcript: ' + transcriptIds;\n } else {\n return 'Transcripts: ' + transcriptIds;\n }\n } else {\n return transcriptIds;\n }\n }\n } else {\n return '';\n }\n }\n\n hasPhenotypeScores(): boolean {\n for (const termAnnotation of this.annotationTable) {\n for (const annotation of termAnnotation.annotations) {\n if (annotation.annotation_phenotype_score) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n showStructureChangedMessage(): boolean {\n return !!this.typeConfig.gene_structure_change_message &&\n !!this.geneDetails &&\n !!this.geneDetails.gene_history &&\n this.geneDetails.gene_history.length > 0;\n }\n\n init() {\n if (this.geneDetails) {\n this.geneUniquename = this.geneDetails.uniquename;\n } else {\n this.geneUniquename = undefined;\n }\n\n this.termNameColSpan = -1;\n\n let typeConfig = this.config.getAnnotationType(this.annotationTypeName);\n\n if (typeConfig.columns_to_show) {\n for (let columnName of typeConfig.columns_to_show) {\n this.showColumn[columnName] = true;\n }\n }\n\n if (typeConfig.columns_to_show_by_page_type &&\n typeConfig.columns_to_show_by_page_type[this.scope]) {\n for (let columnName of typeConfig.columns_to_show_by_page_type[this.scope]) {\n this.showColumn[columnName] = true;\n }\n }\n\n if (this.showColumn['annotation_phenotype_score'] && !this.hasPhenotypeScores()) {\n // hide the column if there aren't any\n this.showColumn['annotation_phenotype_score'] = false;\n }\n\n if (this.hideColumns) {\n for (let columnName of this.hideColumns) {\n this.showColumn[columnName] = false;\n }\n }\n\n if (!this.hasQualifiers()) {\n this.showColumn['qualifiers'] = false;\n }\n\n this.showColumn['transcripts'] = false;\n\n if (this.annotationTable && typeConfig.feature_type == 'gene' && this.annotationTable.length < 10) {\n for (const termAnnotation of this.annotationTable) {\n if (termAnnotation.annotations.length > 50) {\n // don't show the column when there are many annotations because it isn't useful\n this.showColumn['transcripts'] = false;\n break;\n }\n for (const annotation of termAnnotation.annotations) {\n if (annotation.genes.length > 0) {\n const firstGene = annotation.genes[0];\n if (firstGene.transcript_count && firstGene.transcript_count > 1) {\n this.showColumn['transcripts'] = true;\n }\n }\n }\n }\n }\n\n for (let columnName of Object.keys(this.showColumn)) {\n if (columnName !== 'term_id' && this.showColumn[columnName]) {\n this.termNameColSpan++;\n }\n }\n\n if (this.featureInFirstColumn) {\n this.termNameColSpan -= 1;\n }\n\n let foundBackground = false;\n let foundPromoter = false;\n\n if (this.annotationTable && this.annotationTable.length > 0) {\n for (let termAnnotation of this.annotationTable) {\n this.compactFirstRows[termAnnotation.term.termid] =\n !this.showColumn['extension'] ||\n !termAnnotation.annotations[0].extension ||\n termAnnotation.annotations[0].extension.length === 0;\n }\n\n FOUND:\n for (let termAnnotation of this.annotationTable) {\n for (let annotation of termAnnotation.annotations) {\n if (annotation.genotype_background) {\n foundBackground = true;\n }\n if (annotation.allele_promoters && annotation.allele_promoters.length > 0) {\n foundPromoter = true;\n }\n if (foundBackground && foundPromoter) {\n break FOUND;\n }\n }\n }\n }\n\n if (!foundBackground) {\n this.showColumn['genotype_background'] = false;\n }\n\n if (!foundPromoter) {\n this.showColumn['allele_promoters'] = false;\n }\n\n if (typeConfig.details_only) {\n this.detailsOnly = true;\n }\n\n if (this.detailsOnly) {\n this.allDetailsView();\n } else {\n this.allSummaryView();\n }\n\n this.allTermIds = this.getAllTermIds();\n\n this.resetFilter();\n }\n\n ngOnInit() {\n this.typeConfig = this.config.getAnnotationType(this.annotationTypeName);\n this.filterConfig = this.typeConfig.filters;\n this.externalLinksConfig = this.typeConfig.external_link_config || [];\n }\n\n ngOnChanges() {\n // reset when gene changes\n this.init();\n }\n}\n","\n
{{genecount}} genes are annotated with {{termid}}
\n \n
\n\n\n
All details for this publication cannot be displayed\n simultaneously because of the large number of annotations.
\n
You can use the \"+\" buttons to show details for individual\n terms below.
\n
\n\n
\n
\n \n Show details ...\n \n \n Show details ...\n \n Show summary ...\n
\n\n
\n \n \n
\n\n
\n Note: This section has {{annotationCount}} annotations so page loading may be slow.\n The {{this.typeConfig.feature_type}} list has been truncated for some terms.\n
\n\n
\n
{{line}}
\n
\n\n
\n \n \n
\n\n
\n \n Showing all annotations\n \n \n Showing {{filteredAnnotationCount}} of {{annotationCount}} annotations\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n\n \n\n
 GeneGenotypeTerm IDIDTerm nameNameGeneGenotypeBackgroundPromoterTranscript IDEvidencePhenotype scoreConditionsQualifiersSourceResidueReferenceCount
\n \n -\n +\n \n \n \n \n 0\">\n {{termAnnotation.rel_names}}\n \n \n {{getDisplayTermId(termAnnotation)}}\n \n \n \n NOT\n \n \n {{termAnnotation.term.name}}\n \n \n \n \n {{termAnnotation.term.gene_count}}\n \n
\n \n -\n +\n \n \n \n \n
\n {{transcriptDisplay(annotation, true)}}\n
\n
\n
\n \n
\n background: {{annotation.genotype_background}}\n
\n \n
\n \n 0\">\n {{termAnnotation.rel_names}}\n \n \n {{getDisplayTermId(termAnnotation)}}\n \n \n \n
\n \n
\n
\n NOT\n \n {{termAnnotation.term.name}}\n \n
\n
\n \n \n
\n background: {{annotation.genotype_background}}\n
\n \n
\n \n {{annotation.genotype_background}}\n \n \n \n \n \n \n {{transcriptDisplay(annotation, false)}}\n \n \n \n 0\">with\n \n , \n \n \n 0\">from\n \n , \n \n \n \n
\n {{annotation.annotation_phenotype_score}}\n
\n
\n
    \n
  • \n {{conditionAndDetail[0].name}}\n ({{conditionAndDetail[1]}})\n
  • \n
\n
\n
\n {{annotation.qualifiers}}\n
\n
\n
\n \n
\n
\n {{sourceName}}\n
\n
{{annotation.residue}}\n \n \n \n {{termAnnotation.term.gene_count}}\n \n
\n \n -\n +\n \n \n NOT\n \n \n {{termAnnotation.term.name}}\n \n \n
\n \n 0\">\n \n , \n \n \n 0\">\n \n ,  \n \n \n \n \n
\n\n \n (No annotations after filtering)\n \n\n
\n \n \n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { GeneDetails } from '../pombase-api.service';\n\n@Component({\n selector: 'app-deletion-viability-summary',\n templateUrl: './deletion-viability-summary.component.html',\n styleUrls: ['./deletion-viability-summary.component.css'],\n standalone: false\n})\nexport class DeletionViabilitySummaryComponent implements OnInit {\n @Input() geneDetails: GeneDetails;\n\n getViabilityClass(): string {\n if (this.geneDetails.deletion_viability) {\n if (this.geneDetails.deletion_viability === 'depends_on_conditions') {\n return 'depends';\n } else {\n return this.geneDetails.deletion_viability;\n }\n } else {\n return 'unknown';\n }\n }\n\n getDisplayViability(): string {\n let viabilityClass = this.getViabilityClass();\n if (viabilityClass === 'depends') {\n return 'Depends on conditions';\n } else {\n return viabilityClass.charAt(0).toUpperCase() + viabilityClass.slice(1); ;\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","\n
\nDetails of individual viability phenotypes and conditions are in the \"population phenotype\" section below\n
\n
\n\n\n \n Gene Deletion Viability: {{getDisplayViability()}}\n \n \n \n \n\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\n\nimport { TermSubsets, PombaseAPIService, GeneDetails } from '../pombase-api.service';\nimport { AnnotationType, getAnnotationTableConfig } from '../config';\nimport { TermShort, TermXref } from '../pombase-query';\n\nclass SlimSubsetElement implements TermShort {\n definition: string;\n interesting_parent_ids: Array = [];\n is_obsolete = false;\n xrefs: { [source_name: string]: TermXref } = {};\n constructor(public termid: string,\n public name: string,\n public gene_count: number) { }\n}\n\n@Component({\n selector: 'app-slim-summary',\n templateUrl: './slim-summary.component.html',\n styleUrls: ['./slim-summary.component.css'],\n standalone: false\n})\nexport class SlimSummaryComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n @Input() annotationTypeName: string;\n\n annotationType?: AnnotationType;\n\n subsetPromise: Promise;\n geneSlimTerms: Array;\n\n getAllAncestors(): Set {\n let ret = new Set();\n\n let annotations = this.geneDetails.cv_annotations[this.annotationTypeName];\n\n if (annotations) {\n for (let term_annotations of annotations) {\n let term = term_annotations.term;\n\n if (term_annotations.is_not) {\n continue;\n }\n\n ret.add(term.termid);\n\n if (term.interesting_parent_ids) {\n for (let ancestor of term.interesting_parent_ids) {\n ret.add(ancestor);\n }\n }\n }\n }\n\n return ret;\n }\n\n constructor(private pombaseApiService: PombaseAPIService) {\n this.subsetPromise = this.pombaseApiService.getTermSubsets();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.annotationType = getAnnotationTableConfig().getAnnotationType(this.annotationTypeName);\n this.subsetPromise\n .then((subsets) => {\n let allAncestors = this.getAllAncestors();\n this.geneSlimTerms = [];\n const slimSubsetName = this.annotationType!.slim_subset_name;\n if (slimSubsetName) {\n const subset = subsets[slimSubsetName];\n for (const termid of Object.keys(subset.elements)) {\n if (allAncestors.has(termid)) {\n const element = subset.elements[termid];\n const slimTerm = new SlimSubsetElement(termid, element.name, element.gene_count);\n this.geneSlimTerms.push(slimTerm);\n }\n }\n }\n this.geneSlimTerms.sort((a,b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()));\n });\n }\n}\n","
\n
0\">\n
\n {{annotationType.slim_description}}\n {{annotationType.slim_description}}\n
\n \n
\n
\n This gene product is not currently assigned to any\n {{annotationType.slim_no_category_text}}\n {{annotationType.slim_no_category_text}}\n
\n
\n","import { Component, OnInit, OnChanges, Input } from '@angular/core';\nimport { GeneDetails } from '../pombase-api.service';\n\ninterface ProteinDisplayDetails {\n transcript_uniquename: string;\n average_residue_weight: number | string;\n number_of_residues: number;\n molecular_weight: number | string;\n}\n\n@Component({\n selector: 'app-protein-properties',\n templateUrl: './protein-properties.component.html',\n styleUrls: ['./protein-properties.component.css'],\n standalone: false\n})\nexport class ProteinPropertiesComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n\n proteinDisplayDetails: Array = [];\n\n propDisplayNames =\n { molecular_weight: 'Molecular weight',\n number_of_residues: 'Number of residues',\n average_residue_weight: 'Average residue weight',\n charge_at_ph7: 'Charge at pH 7',\n isoelectric_point: 'Isoelectric point',\n };\n\n propNames = Object.keys(this.propDisplayNames);\n\n constructor() { }\n\n ngOnInit() {\n }\n\n getPropDisplayName(propName: string): string {\n return (this.propDisplayNames as { [name: string]: string })[propName];\n }\n\n getProteinDisplayDetails(proteinDisplayDetails: ProteinDisplayDetails, propName: string): string {\n // FIXME: yuck\n return (proteinDisplayDetails as unknown as { [name: string]: string })[propName];\n }\n\n ngOnChanges() {\n this.proteinDisplayDetails = [];\n for (const transcript of this.geneDetails.transcripts) {\n if (transcript.protein) {\n const protein = transcript.protein;\n let proteinDisplayDetails: ProteinDisplayDetails =\n Object.assign({ transcript_uniquename: transcript.uniquename }, protein);\n\n const weight = protein.molecular_weight;\n proteinDisplayDetails.molecular_weight =\n Math.round(weight * 100) / 100.0 + ' kDa';\n\n const avg_weight = protein.average_residue_weight;\n proteinDisplayDetails.average_residue_weight =\n Math.round(avg_weight * 1000) + ' Da';\n\n proteinDisplayDetails.number_of_residues =\n protein.number_of_residues;\n\n this.proteinDisplayDetails.push(proteinDisplayDetails);\n }\n }\n }\n}\n","\n 1\">\n \n \n \n \n \n \n \n
\n \n {{proteinDetails.transcript_uniquename}}\n
{{getPropDisplayName(propName)}}\n {{getProteinDisplayDetails(proteinDetails, propName)}}\n
\n\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-help-link',\n templateUrl: './help-link.component.html',\n styleUrls: ['./help-link.component.css'],\n standalone: false\n})\nexport class HelpLinkComponent implements OnInit {\n @Input() route: string;\n @Input() title = 'Visit documentation';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n
\n {{title}}\n
\n
\n\n\n\n \n \n \n\n","import { Component, Input, OnInit, OnChanges, Output, EventEmitter } from '@angular/core';\nimport { TermAnnotation, GeneDetails } from '../pombase-api.service';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig, AnnotationType,\n SplitByParentsConfig } from '../config';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Util } from '../shared/util';\nimport { AnnotationTableIntersection } from '../annotation-table-intersection-event';\n\n@Component({\n selector: 'app-annotation-table',\n templateUrl: './annotation-table.component.html',\n styleUrls: ['./annotation-table.component.css'],\n standalone: false\n})\nexport class AnnotationTableComponent implements OnInit, OnChanges {\n @Input() tableDisplayName?: string;\n @Input() annotationTypeName: string;\n @Input() hideColumns: Array;\n @Input() featureInFirstColumn = false;\n @Input() annotationTable: Array;\n @Input() geneDetails?: GeneDetails;\n @Input() scope: string; // \"gene\", \"term\", \"reference\" ...\n @Output() annotationTableIntersection = new EventEmitter();\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n typeConfig: AnnotationType;\n annotationTypeDisplayName: string;\n splitDataList: { [key: string]: Array } = {};\n split_by_parents: Array = [];\n helpIconTitle = 'Click to view documention';\n sanitizedFeatureViewURL?: SafeResourceUrl;\n\n constructor(private sanitizer: DomSanitizer,\n public deployConfigService: DeployConfigService) { }\n\n maybeDoSplit() {\n if (this.annotationTable && this.typeConfig && this.typeConfig.split_by_parents) {\n this.split_by_parents = this.typeConfig.split_by_parents;\n this.splitDataList = {};\n\n for (let splitByConfig of this.split_by_parents) {\n let seenTerms: {[termid: string]: boolean} = {};\n for (let splitByTermId of splitByConfig.termids) {\n let notFlag = false;\n\n if (splitByTermId.startsWith('NOT ')) {\n // handling splitting out some terms, eg. MF binding vs NOT binding\n notFlag = true;\n splitByTermId = splitByTermId.substring(4);\n }\n\n for (let termAnnotation of this.annotationTable) {\n let interestingParentIds = termAnnotation.term.interesting_parent_ids;\n let isInThisSplit =\n termAnnotation.term.termid === splitByTermId ||\n interestingParentIds && (interestingParentIds.indexOf(splitByTermId) !== -1);\n\n if (notFlag && !isInThisSplit ||\n !notFlag && isInThisSplit) {\n if (!this.splitDataList[splitByConfig.config_name]) {\n this.splitDataList[splitByConfig.config_name] = [];\n }\n let seenTermsKey;\n if (termAnnotation.is_not) {\n // confusing! - this is_not is different from the NOT in the config\n seenTermsKey = 'not-' + termAnnotation.term.termid;\n } else {\n seenTermsKey = termAnnotation.term.termid;\n }\n if (!seenTerms[seenTermsKey]) {\n this.splitDataList[splitByConfig.config_name].push(termAnnotation);\n seenTerms[seenTermsKey] = true;\n }\n }\n }\n }\n }\n }\n }\n\n getProteinViewerIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedFeatureViewURL;\n }\n\n capitalize(s: string): string {\n return Util.capitalize(s);\n }\n\n ngOnInit() {\n }\n\n intersectHandler(subTableName: string, isIntersecting: boolean) {\n this.annotationTableIntersection.emit(new AnnotationTableIntersection(subTableName, isIntersecting));\n }\n\n ngOnChanges() {\n this.typeConfig = this.config.getAnnotationType(this.annotationTypeName);\n\n if (this.tableDisplayName == null) {\n if (this.typeConfig.display_name) {\n this.tableDisplayName = this.typeConfig.display_name;\n } else {\n this.tableDisplayName = this.annotationTypeName;\n }\n }\n\n if (this.tableDisplayName) {\n this.helpIconTitle = 'Click to view documentation for the ' + this.tableDisplayName +\n ' section';\n } else {\n this.helpIconTitle = 'Click to view documentation';\n }\n\n if (this.geneDetails && this.typeConfig.protein_viewer_type) {\n const rawUrl = 'protein_feature_view/' + this.typeConfig.protein_viewer_type + '/' +\n this.geneDetails.uniquename;\n this.sanitizedFeatureViewURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n } else {\n this.sanitizedFeatureViewURL = undefined;\n }\n\n this.maybeDoSplit();\n }\n}\n","
0\" class=\"annotation-table\">\n \n {{tableDisplayName}}\n Annotations\n\n \n \n \n\n
\n \n \n\n
\n \n \n
\n\n \n\n
\n
\n \n \n \n \n\n View all protein features ...\n
\n\n
\n \n
\n
\n\n
\n \n \n
\n
\n
\n
0\"\n intersectionObserver\n (intersection)=\"intersectHandler(annotationTypeName + '-' + conf.config_name, $event.intersect)\">\n
{{capitalize(conf.display_name)}}
\n \n \n
\n
\n
\n\n \n \n
\n\n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-message-dialog',\n templateUrl: './message-dialog.component.html',\n styleUrls: ['./message-dialog.component.css'],\n standalone: false\n})\nexport class MessageDialogComponent implements OnInit {\n public title: string;\n public message: string;\n\n constructor(public bsModalRef: BsModalRef) { }\n\n ngOnInit() {\n }\n}\n","
\n
\n

{{title}}

\n \n
\n
\n
\n {{message}}\n
\n
\n
\n \n
\n
\n","import { InteractionTable, ThroughputType } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class InteractionThroughputFilter implements Filter {\n constructor(private throughputType: ThroughputType) { }\n\n filter(interactionTable: InteractionTable): [InteractionTable, number, number] {\n let retTable = [] as InteractionTable;\n let count = interactionTable.length;\n\n for (let interaction of interactionTable) {\n if (interaction.throughput && interaction.throughput === this.throughputType) {\n retTable.push(interaction);\n }\n }\n\n return [retTable, count, retTable.length];\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\nimport { InteractionTable, ThroughputType } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { InteractionThroughputFilter } from '../filtering/interaction-throughput-filter';\nimport { Filter } from '../filtering';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has this\n // throughput\n public active: boolean,\n public throughput: ThroughputType) { }\n}\n\n\n@Component({\n selector: 'app-interaction-table-throughput-filter',\n templateUrl: './interaction-table-throughput-filter.component.html',\n styleUrls: ['./interaction-table-throughput-filter.component.css'],\n standalone: false\n})\nexport class InteractionTableThroughputFilterComponent implements OnInit, OnChanges {\n @Input() interactionTable: InteractionTable;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>();\n\n selectedCategory: any = null;\n\n choiceData: Array = [];\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(undefined);\n }\n\n setCategory(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new InteractionThroughputFilter(event.throughput));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n let seenThroughput: { [key: string]: boolean } = {};\n\n for (let interaction of this.interactionTable) {\n seenThroughput[interaction.throughput] = true;\n }\n\n if (this.config.throughput_categories) {\n for (let category of this.config.throughput_categories) {\n let active = seenThroughput[category.throughput_type];\n\n let selectData = new SelectData(category.display_name,\n active, category.throughput_type);\n\n this.choiceData.push(selectData);\n }\n }\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\nimport { InteractionAnnotation, InteractionTable } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { InteractionFilter, FilterCombiner } from '../filtering';\n\n@Component({\n selector: 'app-interaction-table-filters',\n templateUrl: './interaction-table-filters.component.html',\n styleUrls: ['./interaction-table-filters.component.css'],\n standalone: false\n})\nexport class InteractionTableFiltersComponent implements OnInit {\n @Input() interactionTable: Array;\n @Input() filters: Array;\n @Output() filterChange = new EventEmitter();\n\n currentFilters: { [key: string]: InteractionFilter } = {};\n\n filterChanged(filterType: string, event: InteractionFilter) {\n if (event) {\n this.currentFilters[filterType] = event;\n } else {\n delete this.currentFilters[filterType];\n }\n\n let eventsToEmit = [];\n\n for (let filterName of Object.keys(this.currentFilters)) {\n eventsToEmit.push(this.currentFilters[filterName]);\n }\n\n if (eventsToEmit.length === 0) {\n this.filterChange.emit(undefined);\n } else {\n this.filterChange.emit(new FilterCombiner(eventsToEmit));\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n }\n}\n","
\n Filters:\n \n \n \n \n
\n\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\nimport { InteractionAnnotation, GeneShort, GeneDetails, ReferenceShort } from '../pombase-api.service';\nimport { getAnnotationTableConfig, AnnotationTableConfig, AppConfig, getAppConfig, FilterConfig } from '../config';\nimport { Util } from '../shared/util';\nimport { MessageDialogComponent } from '../message-dialog/message-dialog.component';\nimport { InteractionFilter } from '../filtering';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\ninterface DisplayAnnotation {\n gene: GeneShort;\n interactor: GeneShort;\n reference: ReferenceShort;\n evidence: string;\n displayLabel: string;\n interactionNote?: string;\n}\n\n@Component({\n selector: 'app-interaction-annotation-table',\n templateUrl: './interaction-annotation-table.component.html',\n styleUrls: ['./interaction-annotation-table.component.css'],\n standalone: false\n})\nexport class InteractionAnnotationTableComponent implements OnInit, OnChanges {\n @Input() annotationTypeName: string;\n @Input() currentGene: GeneDetails;\n @Input() hideColumns: Array = [];\n @Input() annotationTable: Array;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n filteredTable: Array;\n\n annotationTypeDisplayName: string;\n hideColumn: { [key: string]: boolean } = {};\n\n displayTable: Array = [];\n helpIconTitle = 'View documentation';\n\n queryLinkUrl: string;\n biogridUrl: string;\n annotationCount: any;\n filteredAnnotationCount: any;\n tableIsFiltered: boolean;\n filters?: Array;\n interactionNoteRef: any;\n\n interactionSources = this.appConfig.data_sources.interactions;\n\n constructor(private modalService: BsModalService) { }\n\n ngOnInit() {\n let typeConfig = this.config.annotationTypes[this.annotationTypeName];\n this.filters = typeConfig.filters;\n\n if (typeConfig && typeConfig.display_name) {\n this.annotationTypeDisplayName =\n this.config.annotationTypes[this.annotationTypeName].display_name;\n this.helpIconTitle = 'Click to view documentation for ' + typeConfig.display_name;\n } else {\n this.annotationTypeDisplayName = this.annotationTypeName;\n this.helpIconTitle = 'Click to view documentation';\n }\n }\n\n showInteractionNote(annotation: DisplayAnnotation) {\n const config = {\n animated: false,\n };\n this.interactionNoteRef = this.modalService.show(MessageDialogComponent, config);\n this.interactionNoteRef.content.title = 'Interaction note';\n this.interactionNoteRef.content.message = annotation.interactionNote;\n }\n\n updateDisplayTable(): void {\n this.hideColumns.map(col => {\n this.hideColumn[col] = true;\n });\n\n this.hideColumn['interactionNote'] = true;\n\n if (this.filteredTable === null) {\n this.filteredTable = this.annotationTable;\n }\n\n let interactionType;\n\n if (this.annotationTypeName === 'physical_interactions') {\n interactionType = 'physical';\n } else {\n interactionType = 'genetic';\n }\n\n if (this.currentGene) {\n const json = `{\"constraints\":{\"interactors\":\n {\"gene_uniquename\": \"${this.currentGene.uniquename}\", \"interaction_type\": \"${interactionType}\"}},` +\n '\"output_options\": {\"field_names\":[\"gene_uniquename\"],\"sequence\":\"none\"}}';\n this.queryLinkUrl = `/results/from/json/${json}`;\n\n if (this.currentGene.biogrid_interactor_id) {\n const linkResult =\n this.appConfig.getExternalGeneLink('BioGRID', this.currentGene.taxonid,\n this.currentGene);\n if (linkResult) {\n [, this.biogridUrl] = linkResult;\n }\n }\n }\n\n this.displayTable =\n this.filteredTable.map(\n (annotation) => {\n let displayAnnotation: DisplayAnnotation = {\n gene: annotation.gene,\n interactor: annotation.interactor,\n reference: annotation.reference,\n evidence: annotation.evidence,\n displayLabel: '',\n interactionNote: annotation.interaction_note,\n };\n\n if (annotation.interaction_note) {\n this.hideColumn['interactionNote'] = false;\n }\n\n let labelConfig = this.config.interactionConfig[annotation.evidence];\n\n if (!labelConfig) {\n return displayAnnotation;\n }\n\n displayAnnotation.displayLabel = labelConfig.baitLabel;\n\n if (this.currentGene) {\n if (this.currentGene.uniquename !== annotation.gene.uniquename) {\n // current gene is the prey\n displayAnnotation.displayLabel = labelConfig.preyLabel;\n [displayAnnotation.gene, displayAnnotation.interactor] =\n [displayAnnotation.interactor, displayAnnotation.gene];\n }\n }\n\n return displayAnnotation;\n });\n\n this.displayTable.sort((a: DisplayAnnotation, b: DisplayAnnotation) => {\n if (this.currentGene) {\n const geneComp = Util.geneCompare(a.interactor, b.interactor);\n if (geneComp === 0) {\n return a.evidence.localeCompare(b.evidence);\n }\n return geneComp;\n } else {\n let geneComp = Util.geneCompare(a.gene, b.gene);\n if (geneComp === 0) {\n geneComp = Util.geneCompare(a.interactor, b.interactor);\n if (geneComp === 0) {\n return a.evidence.localeCompare(b.evidence);\n }\n }\n\n return geneComp;\n }\n });\n }\n\n ngOnChanges() {\n this.updateCurrentFilter(undefined);\n }\n\n updateCurrentFilter(filter?: InteractionFilter) {\n if (filter) {\n [this.filteredTable, this.annotationCount, this.filteredAnnotationCount] =\n filter.filter(this.annotationTable);\n } else {\n this.filteredTable = this.annotationTable;\n }\n\n this.tableIsFiltered = !!filter;\n\n this.updateDisplayTable();\n }\n}\n","
0\" class=\"annotation-table\">\n \n {{annotationTypeDisplayName}}\n\n \n \n \n\n
\n Source:\n Interactions curated by\n \n {{source.name}}\n , \n and\n {{siteName}}\n
\n\n \n View interactions for {{currentGene.displayName}} at BioGRID ...\n \n\n
\n \n \n
\n\n \n\n
\n \n Showing all annotations\n \n \n Showing {{filteredAnnotationCount}} of {{annotationCount}} annotations\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
GeneProductInteracting geneInteracting productEvidenceReferenceInteraction note
\n \n {{annotation.gene.product}}{{annotation.displayLabel}}\n \n {{annotation.interactor.product}}{{annotation.evidence}}\n \n \n \n \n View ...\n
\n
\n
\n","import { Component, OnChanges, Input } from '@angular/core';\n\nimport { getAppConfig, ExternalGeneReference,\n makeGeneExternalUrl} from '../config';\nimport { GeneDetails } from '../pombase-api.service';\n\ninterface RefRow {\n refType: string;\n name: string;\n description: string;\n linkLabel: string;\n url: string;\n}\n\n@Component({\n selector: 'app-external-refs-table',\n templateUrl: './external-refs-table.component.html',\n styleUrls: ['./external-refs-table.component.css'],\n standalone: false\n})\nexport class ExternalRefsTableComponent implements OnChanges {\n @Input() geneDetails: GeneDetails;\n @Input() sectionFilter: string;\n\n table: Array = [];\n extRefConfs: Array = [];\n appConfig = getAppConfig();\n\n showTypeColumn = true;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.table = [];\n this.extRefConfs = [];\n\n for (let extRefConf of this.appConfig.externalGeneReferences) {\n let confFeatureTypes = extRefConf.feature_types;\n if (confFeatureTypes.indexOf('ALL') === -1 &&\n extRefConf.feature_types.indexOf(this.geneDetails.feature_type) === -1) {\n continue;\n }\n\n if (this.sectionFilter) {\n if (!extRefConf.show_in_sections ||\n !extRefConf.show_in_sections.includes(this.sectionFilter)) {\n continue;\n }\n\n this.showTypeColumn = false;\n }\n\n this.extRefConfs.push(extRefConf);\n }\n\n if (this.extRefConfs) {\n for (const extRefConf of this.extRefConfs) {\n let link = makeGeneExternalUrl(this.geneDetails,\n this.geneDetails.taxonid,\n extRefConf);\n if (link.length > 0) {\n let row: RefRow = {\n refType: extRefConf.ref_type,\n name: extRefConf.name,\n description: extRefConf.description,\n linkLabel: link[0],\n url: link[1],\n };\n this.table.push(row);\n }\n }\n }\n }\n}\n","\n \n \n \n \n \n \n
\n {{row.refType}}\n \n {{row.name}}\n \n {{row.linkLabel}}\n \n {{row.description}}\n
\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\nimport { OrthologAnnotation, GeneShort, ReferenceShort, GeneDetails } from '../pombase-api.service';\nimport { getAnnotationTableConfig, AnnotationTableConfig,\n getOrganismExternalLink, ConfigOrganism, getAppConfig, ExternalGeneReference, AppConfig} from '../config';\nimport { MessageDialogComponent } from '../message-dialog/message-dialog.component';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-ortholog-annotation-table',\n templateUrl: './ortholog-annotation-table.component.html',\n styleUrls: ['./ortholog-annotation-table.component.css'],\n standalone: false\n})\nexport class OrthologAnnotationTableComponent implements OnInit, OnChanges {\n @Input() currentGene: GeneDetails;\n @Input() hideColumns: Array = [];\n @Input() annotationTable: Array;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n appConfig: AppConfig = getAppConfig();\n annotationTypeDisplayName: string;\n hideColumn: { [key: string]: boolean } = {};\n\n hasQualifier = false;\n\n extRefConfs: Array = [];\n\n fullProductRef: BsModalRef;\n\n displayTable: Array<{\n gene: GeneShort;\n ortholog: GeneShort;\n orthologOrganism: ConfigOrganism;\n orthologShortProduct?: string;\n orthologFullProduct?: string;\n reference: ReferenceShort;\n qualifier?: string;\n }> = [];\n\n\n getLink(organism: ConfigOrganism, uniquename: string, name?: string): string {\n return getOrganismExternalLink(organism.genus, organism.species, uniquename, name) || '';\n }\n\n constructor(private modalService: BsModalService) { }\n\n showFullProduct(geneUniquename: string, fullProduct: string) {\n const config = {\n animated: false,\n };\n this.fullProductRef = this.modalService.show(MessageDialogComponent, config);\n this.fullProductRef.content.title = 'Ortholog product for ' + geneUniquename;\n this.fullProductRef.content.message = fullProduct;\n }\n\n displayOrthologPredictionResources(): boolean {\n return this.currentGene && this.appConfig.isConfigOrganism(this.currentGene.taxonid) &&\n (this.currentGene.feature_type === 'mRNA gene' ||\n this.currentGene.feature_type === 'pseudogene');\n }\n\n ngOnInit() {\n let typeConfig = this.config.annotationTypes['orthologs'];\n this.annotationTypeDisplayName = typeConfig.display_name;\n }\n\n ngOnChanges() {\n this.hasQualifier = false;\n this.hideColumns.map(col => {\n this.hideColumn[col] = true;\n });\n\n this.displayTable =\n this.annotationTable\n .filter(row => !!row.ortholog_organism)\n .map(row => {\n let shortProduct;\n\n if (row.ortholog.product) {\n const m = row.ortholog.product.match(/([^;]+);/);\n\n if (m) {\n shortProduct = m[1];\n } else {\n shortProduct = row.ortholog.product;\n }\n }\n\n if (row.qualifier) {\n this.hasQualifier = true;\n }\n\n return {\n gene: row.gene,\n ortholog: row.ortholog,\n orthologOrganism: row.ortholog_organism,\n orthologShortProduct: shortProduct,\n orthologFullProduct: row.ortholog.product,\n reference: row.reference,\n qualifier: row.qualifier,\n };\n });\n\n this.hideColumn['qualifier'] = !this.hasQualifier;\n }\n}\n","
\n \n {{annotationTypeDisplayName}}\n\n \n \n \n\n
0\"\n class=\"ortholog-table annotation-table-container\">\n
\n Manually assigned orthologs\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
GeneProductOrtholog speciesOrtholog geneOrtholog descriptionQualifierReference
\n \n {{annotation.gene.product}}{{annotation.orthologOrganism.genus}} {{annotation.orthologOrganism.species}}\n \n \n \n {{annotation.ortholog.name ? annotation.ortholog.name + \" (\" + annotation.ortholog.uniquename + \")\" : annotation.ortholog.uniquename }}\n \n \n \n \n {{annotation.orthologShortProduct}}\n \n more ...\n \n \n \n {{annotation.qualifier || ''}}\n \n \n \n \n
\n
\n\n
\n
\n Ortholog prediction resources\n
\n\n
\n \n \n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { ParalogAnnotation } from '../pombase-api.service';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig } from '../config';\n\n@Component({\n selector: 'app-paralog-annotation-table',\n templateUrl: './paralog-annotation-table.component.html',\n styleUrls: ['./paralog-annotation-table.component.css'],\n standalone: false\n})\nexport class ParalogAnnotationTableComponent implements OnInit {\n\n @Input() annotationTable: Array;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n\n annotationTypeDisplayName: string;\n\n constructor() { }\n\n ngOnInit() {\n let typeConfig = this.config.annotationTypes['paralogs'];\n this.annotationTypeDisplayName = typeConfig.display_name;\n }\n}\n","
0\" class=\"annotation-table\">\n \n {{annotationTypeDisplayName}}\n\n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Paralogous geneProduct
\n \n \n \n \n {{annotation.paralog.product || ''}}\n
\n
\n
\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\n\nimport { TargetOfAnnotation, GeneShort, GenotypeShort, ReferenceShort, GeneDetails } from '../pombase-api.service';\nimport { getAppConfig } from '../config';\nimport { TableViewState } from '../pombase-types';\nimport { GeneQuery, GenesTargetingNode } from '../pombase-query';\nimport { HistoryEntry, QueryService } from '../query.service';\nimport { Router } from '@angular/router';\n\ninterface DisplayRow {\n showInSummary: boolean;\n ontologyLabel: string;\n ext_rel_display_name: string;\n gene: GeneShort;\n genotype: GenotypeShort;\n reference: ReferenceShort;\n evidence?: string;\n date?: string;\n assigned_by?: string;\n}\n\ninterface SummaryRow {\n ontologyLabel: string;\n ext_rel_display_name: string;\n gene: GeneShort;\n}\n\n@Component({\n selector: 'app-target-of-annotation-table',\n templateUrl: './target-of-annotation-table.component.html',\n styleUrls: ['./target-of-annotation-table.component.css'],\n standalone: false\n})\nexport class TargetOfAnnotationTableComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n @Input() annotationTable: Array;\n\n config = getAppConfig().targetOfConfig;\n displayTable: Array = [];\n summaryTable: Array = [];\n\n // copy to the component for use in template\n TableViewState = TableViewState;\n\n currentViewState = TableViewState.Summary;\n\n constructor(private router: Router,\n private queryService: QueryService) {\n }\n\n showDetails() {\n this.currentViewState = TableViewState.Details;\n }\n\n showSummary() {\n this.currentViewState = TableViewState.Summary;\n }\n\n makeTables(): void {\n if (this.annotationTable) {\n let ontologyLabels = this.config.ontology_labels;\n\n this.displayTable = [];\n this.summaryTable = [];\n\n for (let annotation of this.annotationTable) {\n let ontologyLabel =\n ontologyLabels[annotation.ontology_name] || annotation.ontology_name;\n this.displayTable.push({\n showInSummary: annotation.show_in_summary,\n ontologyLabel: ontologyLabel,\n ext_rel_display_name: annotation.ext_rel_display_name,\n gene: annotation.gene as GeneShort,\n genotype: annotation.genotype,\n reference: annotation.reference,\n date: annotation.date,\n evidence: annotation.evidence,\n assigned_by: annotation.assigned_by,\n });\n }\n\n for (let annotation of this.displayTable) {\n if (!annotation.showInSummary) {\n continue;\n }\n let summaryRow = {\n ontologyLabel: annotation.ontologyLabel,\n ext_rel_display_name: annotation.ext_rel_display_name,\n gene: annotation.gene as GeneShort,\n };\n\n if (this.summaryTable.length === 0) {\n this.summaryTable.push(summaryRow);\n } else {\n let prevSummaryRow = this.summaryTable[this.summaryTable.length - 1];\n\n if (prevSummaryRow['ontologyLabel'] !== summaryRow['ontologyLabel'] ||\n prevSummaryRow['ext_rel_display_name'] !== summaryRow['ext_rel_display_name'] ||\n prevSummaryRow.gene.uniquename !== summaryRow.gene.uniquename) {\n this.summaryTable.push(summaryRow);\n }\n }\n }\n } else {\n this.displayTable = [];\n }\n }\n\n sendToQueryBuilder(targetOfType: 'go'|'phenotype'|'all') {\n let queryName = `Targets`;\n\n const part = new GenesTargetingNode(queryName, this.geneDetails.uniquename, targetOfType);\n const geneQuery = new GeneQuery(part);\n const callback = (historyEntry: HistoryEntry) => {\n this.router.navigate(['/results/from/id/', historyEntry.getEntryId()]);\n };\n this.queryService.runAndSaveToHistory(geneQuery, callback);\n }\n\n ngOnInit() {\n this.currentViewState = TableViewState.Summary;\n\n this.makeTables();\n }\n\n ngOnChanges() {\n this.currentViewState = TableViewState.Summary;\n\n this.makeTables();\n }\n}\n","
0\" class=\"annotation-table\">\n \n Target of\n\n \n \n \n\n \n\n
\n
\n Send causally upstream genes to the Advanced Search:\n Gene Ontology\n |\n Phenotype\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OntologyRelationshipGene/genotypeProductEvidenceReference
{{annotation.ontologyLabel}}{{annotation.ext_rel_display_name}}\n \n \n \n \n   {{annotation.gene.product}}\n \n \n {{annotation.gene.product}}\n \n \n \n \n \n \n
{{annotation.ontologyLabel}}{{annotation.ext_rel_display_name}}\n \n \n \n \n \n {{annotation.gene.product}}\n \n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ReferenceShort } from './pombase-api.service';\n\n@Pipe({\n name: 'referenceOrderBy',\n standalone: false\n})\nexport class ReferenceOrderByPipe implements PipeTransform {\n transform(references: Array, field: string): any {\n let sortDirection = '+';\n let matches = field.match(/^(\\+|-)(.*)/);\n if (matches) {\n sortDirection = matches[1];\n field = matches[2];\n }\n references.sort((a: any, b: any) => {\n if (sortDirection !== '+') {\n [b, a] = [a, b];\n }\n if (a[field] < b[field]) {\n return -1;\n } else {\n if (a[field] > b[field]) {\n return 1;\n } else {\n return 0;\n }\n }\n });\n return references;\n }\n}\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\n\nimport { ReferenceShort, GeneDetails } from '../pombase-api.service';\nimport { getAppConfig } from '../config';\n\n@Component({\n selector: 'app-gene-references-table',\n templateUrl: './gene-references-table.component.html',\n styleUrls: ['./gene-references-table.component.css'],\n standalone: false\n})\nexport class GeneReferencesTableComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n @Input() references: Array;\n\n orderByField = '+gene_count';\n\n pubmedSearchUrl?: string;\n pubmedSearchGeneLabel?: string;\n\n appConfig = getAppConfig();\n\n setOrderBy(field: string) {\n this.orderByField = field;\n }\n\n constructor() { }\n\n isCurated(reference: ReferenceShort): boolean {\n return reference.approved_date !== undefined;\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.pubmedSearchGeneLabel = this.geneDetails.name || this.geneDetails.uniquename;\n\n let idList = [this.geneDetails.uniquename];\n\n if (this.geneDetails.name) {\n idList.push(this.geneDetails.name);\n }\n\n this.geneDetails.synonyms\n .filter((synonym) => synonym.type !== 'obsolete_name')\n .map((synonym) => {\n idList.push(synonym.name);\n });\n\n let joinedIds = idList.join(' OR ');\n\n if (this.appConfig.isConfigOrganism(this.geneDetails.taxonid)) {\n this.pubmedSearchUrl =\n `http://www.ncbi.nlm.nih.gov/sites/entrez?cmd=Search&db=pubmed&term=(${joinedIds}) AND (pombe OR fission yeast)`;\n } else {\n this.pubmedSearchUrl = undefined;\n }\n }\n}\n","
0\" class=\"annotation-table references\">\n \n Literature\n\n \n \n \n\n \n
\n Sort by:\n Publication gene count\n Publication gene count |\n Authors\n Authors |\n Year:\n Ascending\n Ascending /\n Descending\n Descending\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DetailsYearGenes
\n
\n {{reference.title}}\n
\n
\n \n {{reference.authors_abbrev}}\n \n \n \n {{reference.citation}}\n \n \n \n \n {{reference.journal}}\n \n \n {{reference.citation_date_pages}}\n \n \n {{reference.uniquename}}\n \n Curated\n \n \n \n \n \n
\n
\n {{reference.publication_year}}\n \n {{reference.gene_count}}\n
\n
\n
\n","import { Component, OnInit, Input, OnChanges, Output, EventEmitter } from '@angular/core';\n\nimport { TermAnnotation, AnnotationTable, GeneDetails } from '../pombase-api.service';\nimport { TableViewState } from '../pombase-types';\nimport { AnnotationTableConfig, getAnnotationTableConfig, AnnotationType, FilterConfig } from '../config';\nimport { Filter } from '../filtering';\n\n@Component({\n selector: 'app-quant-gene-ex-table',\n templateUrl: './quant-gene-ex-table.component.html',\n styleUrls: ['./quant-gene-ex-table.component.css'],\n standalone: false\n})\nexport class QuantGeneExTableComponent implements OnInit, OnChanges {\n @Input() annotationTable: Array;\n @Input() hideColumns: Array;\n @Input() scope: string;\n @Input() geneDetails: GeneDetails|undefined = undefined;\n @Output() tableViewChangeEmitter = new EventEmitter();\n\n showDetails = false;\n showGene = false;\n showReference = false;\n\n // copy to the component for use in template\n TableViewState = TableViewState;\n currentViewState = TableViewState.Summary;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n typeConfig: AnnotationType;\n\n tableIsFiltered = false;\n filteredAnnotationCount = 0;\n annotationCount = 0;\n\n filterConfig?: Array;\n filteredTable: AnnotationTable = [];\n\n plotVisible = false;\n plotLoaded = false;\n\n trackByTermId(index: number, item: any) {\n return item.term.termid;\n }\n\n constructor() { }\n\n updateCurrentFilter(filter?: Filter) {\n if (filter) {\n [this.filteredTable, this.annotationCount, this.filteredAnnotationCount] =\n filter.filter(this.annotationTable);\n } else {\n this.filteredTable = this.annotationTable;\n }\n\n this.tableIsFiltered = !!filter;\n }\n\n detailsMode(): boolean {\n return this.currentViewState === TableViewState.Details;\n }\n\n setDetailsView() {\n this.currentViewState = TableViewState.Details;\n this.tableViewChangeEmitter.emit(this.currentViewState);\n }\n\n setSummaryView() {\n this.currentViewState = TableViewState.Summary;\n this.updateCurrentFilter(undefined);\n this.tableViewChangeEmitter.emit(this.currentViewState);\n }\n\n showPlot(): void {\n this.plotVisible = true;\n }\n\n ngOnInit() {\n this.typeConfig = this.config.getAnnotationType('quantitative_gene_expression');\n this.filterConfig = this.typeConfig.filters;\n }\n\n ngOnChanges() {\n this.showGene = this.hideColumns.indexOf('gene') === -1;\n this.showReference = this.hideColumns.indexOf('reference') === -1;\n\n this.plotVisible = false;\n this.plotLoaded = false;\n\n this.setSummaryView();\n }\n}\n","
0\" class=\"annotation-table\">\n \n Quantitative gene expression\n\n \n \n \n\n \n\n
\n \n \n
\n\n
\n \n Showing all annotations\n \n \n Showing {{filteredAnnotationCount}} of {{annotationCount}} annotations\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DescriptionGeneMolecules/cell (avg.)ExtensionConditionScaleEvidenceReference
{{termAnnotation.term.name}}\n \n \n \n {{annotation.gene_ex_props.avg_copies_per_cell}}\n {{annotation.qualifiers}}\n \n
\n
\n \n {{condition.name}},\n
\n
\n
\n {{annotation.gene_ex_props.scale}}\n \n \n \n \n
\n\n \n (No annotations after filtering)\n \n\n\n
\n \n \"Violin\n\n View gene expression plots\n\n \n
\n \n Loading ...\n \n \n \"Violin plots\" of available gene expression datasets\n \n with the expression of {{geneDetails.displayName}} (if\n available) shown as a red point:\n \n \n \"Violin\n
\n
\n
\n","import { Component, OnChanges, Input } from '@angular/core';\n\nimport { GeneDetails } from '../pombase-api.service';\n\n@Component({\n selector: 'app-gene-external-references',\n templateUrl: './gene-external-references.component.html',\n styleUrls: ['./gene-external-references.component.css'],\n standalone: false\n})\nexport class GeneExternalReferencesComponent implements OnChanges {\n @Input() geneDetails: GeneDetails;\n\n constructor() { }\n\n ngOnChanges() {\n\n }\n}\n","
\n \n External references\n\n \n \n \n\n \n \n
\n","import { Component, OnChanges, Input, Inject, ElementRef, ViewChild } from '@angular/core';\n\nimport { saveAs } from 'file-saver';\n\nimport { GeneDetails, ProteinDetails, PombaseAPIService, Strand } from '../pombase-api.service';\nimport { Util } from '../shared/util';\nimport { DisplaySequence, DisplaySequencePart, ResidueRange } from '../display-sequence';\nimport { getAppConfig, replaceFieldsInUrl } from '../config';\n\n@Component({\n selector: 'app-transcript-sequence-select',\n templateUrl: './transcript-sequence-select.component.html',\n styleUrls: ['./transcript-sequence-select.component.css'],\n standalone: false\n})\nexport class TranscriptSequenceSelectComponent implements OnChanges {\n @Input() geneDetails: GeneDetails;\n\n wrappedSequence? = '';\n wrappedProteinSequence? = '';\n displaySequence?: DisplaySequence;\n proteinDisplaySequence?: DisplaySequence;\n sequenceHeader = '';\n proteinSequenceHeader = '';\n hasTranscripts = false;\n fivePrimeIntronCount = 0;\n threePrimeIntronCount = 0;\n cdsIntronCount = 0;\n has5PrimeUtr = false;\n has3PrimeUtr = false;\n\n transcriptIndex = 0;\n\n geneStart?: number;\n geneEnd?: number;\n cdsStart?: number;\n cdsEnd?: number;\n\n showNucSequence = false;\n includeExons = true;\n includeIntrons = false;\n include5PrimeUtr = false;\n include3PrimeUtr = false;\n upstreamBases = 0;\n downstreamBases = 0;\n\n manualSelection?: string;\n manualSelectionErrorMessage?: string;\n manualSelectionVisible = false;\n\n @ViewChild('partSpan') partSpanElement: ElementRef;\n\n linksInNewWindow = true;\n\n hoverPart?: DisplaySequencePart;\n\n selectedResidueRange?: ResidueRange;\n\n protein?: ProteinDetails;\n\n ensemblBlastUrl = getAppConfig().ensembl_blast_url;\n ebiToolsUrl = getAppConfig().ebi_tools_url;\n downloadWithFeaturesURL = getAppConfig().seq_and_features_download_url;\n\n constructor(private apiService: PombaseAPIService,\n @Inject('Window') private window: Window) { }\n\n updateHeader(sequenceLength: number) {\n if (this.geneDetails.transcripts.length > 0) {\n let transcript = this.geneDetails.transcripts[this.transcriptIndex];\n\n this.sequenceHeader = transcript.uniquename || this.geneDetails.uniquename;\n } else {\n this.sequenceHeader = this.geneDetails.uniquename;\n }\n\n this.sequenceHeader += ' length:' + sequenceLength;\n\n let partsFlags = [];\n if (this.include5PrimeUtr) {\n partsFlags.push('5\\'UTR');\n }\n if (this.includeExons) {\n partsFlags.push('exons');\n }\n if (this.includeIntrons) {\n partsFlags.push('introns');\n }\n if (this.include3PrimeUtr) {\n partsFlags.push('3\\'UTR');\n }\n if (partsFlags.length > 0) {\n this.sequenceHeader += ' includes:' + partsFlags.join('+');\n }\n this.sequenceHeader +=\n (this.upstreamBases > 0 ? ' upstream:' + this.upstreamBases : '') +\n (this.downstreamBases > 0 ? ' downstream:' + this.downstreamBases : '');\n }\n\n partTitle(part: DisplaySequencePart): string {\n if (part.partType === 'exon') {\n return 'CDS ' + part.partType + ' ' + part.exonIndex;\n }\n\n if (part.partType === 'cds_intron') {\n return 'CDS intron';\n }\n\n if (part.partType === 'five_prime_utr') {\n return `5' UTR`;\n }\n\n if (part.partType === 'three_prime_utr') {\n return `3' UTR`;\n }\n\n if (part.partType === 'five_prime_utr_intron') {\n return `5' UTR intron`;\n }\n\n if (part.partType === 'three_prime_utr_intron') {\n return `3' UTR intron`;\n }\n\n return part.partType;\n }\n\n partClass(part: DisplaySequencePart): string {\n let retVal = 'part-' + part.partType;\n\n if (this.hoverPart && this.hoverPart.partType === part.partType) {\n if (this.hoverPart.partType !== 'exon' ||\n this.hoverPart.exonIndex === part.exonIndex) {\n retVal += ' hovering';\n }\n }\n\n return retVal;\n }\n\n clearManualSelection(): void {\n this.manualSelection = undefined;\n this.manualSelectionErrorMessage = undefined;\n }\n\n clearSelection(): void {\n this.clearManualSelection();\n const selection = this.window.getSelection();\n if (selection) {\n selection.removeAllRanges();\n }\n this.selectedResidueRange = undefined;\n }\n\n mouseenter(part: DisplaySequencePart): void {\n if (this.showNucSequence) {\n this.hoverPart = part;\n }\n }\n\n mouseleave(): void {\n this.hoverPart = undefined;\n }\n\n checkSelection(): void {\n this.selectedResidueRange = undefined;\n\n const selection = this.window.getSelection();\n if (selection) {\n if (selection.rangeCount && selection.rangeCount > 0) {\n const range = selection.getRangeAt(0);\n if (range) {\n const startContainer = range.startContainer;\n const startOffset = range.startOffset;\n const endContainer = range.endContainer;\n const endOffset = range.endOffset;\n if (startContainer.parentElement && endContainer.parentElement) {\n const startPartId =\n startContainer.parentElement.getAttribute('data-part-id');\n const endPartId =\n endContainer.parentElement.getAttribute('data-part-id');\n const displaySequence = this.getDisplaySequence();\n if (startPartId &&\n typeof (startOffset) !== 'undefined' &&\n endPartId &&\n typeof (endOffset) !== 'undefined' &&\n (endOffset > startOffset || startPartId != endPartId) &&\n displaySequence) {\n this.selectedResidueRange =\n displaySequence.rangeFromParts(+startPartId, startOffset,\n +endPartId, endOffset - 1);\n if (this.selectedResidueRange) {\n this.manualSelectionVisible = false;\n this.manualSelection = undefined;\n }\n }\n }\n }\n }\n }\n }\n\n updateSequence() {\n this.wrappedSequence = undefined;\n this.displaySequence = undefined;\n\n this.selectedResidueRange = undefined;\n\n let transcripts = this.geneDetails.transcripts;\n this.hasTranscripts = transcripts.length > 0;\n\n if (this.hasTranscripts) {\n if (this.upstreamBases < 0) {\n this.upstreamBases = 0;\n }\n\n if (this.downstreamBases < 0) {\n this.downstreamBases = 0;\n }\n\n let geneLocation = this.geneDetails.location;\n let strand;\n let coordStart;\n let coordEnd;\n if (geneLocation.strand === 'forward') {\n strand = Strand.Forward;\n if (this.include5PrimeUtr) {\n coordStart = this.geneStart;\n } else {\n coordStart = this.cdsStart;\n }\n if (this.include3PrimeUtr) {\n coordEnd = this.geneEnd;\n } else {\n coordEnd = this.cdsEnd;\n }\n } else {\n strand = Strand.Reverse;\n if (this.include5PrimeUtr) {\n coordEnd = this.geneEnd;\n } else {\n coordEnd = this.cdsEnd;\n }\n if (this.include3PrimeUtr) {\n coordStart = this.geneStart;\n } else {\n coordStart = this.cdsStart;\n }\n }\n let chrName = geneLocation.chromosome_name;\n\n let upstreamPromise: Promise;\n let downstreamPromise: Promise;\n\n if (this.upstreamBases > 0 && coordStart && coordEnd) {\n let [upstreamStart, upstreamEnd] =\n strand === Strand.Forward ?\n [coordStart - this.upstreamBases, coordStart - 1] :\n [coordEnd + 1, coordEnd + this.upstreamBases];\n upstreamPromise =\n this.apiService.getChrSubSequence(chrName, upstreamStart, upstreamEnd,\n strand);\n } else {\n upstreamPromise = Promise.resolve('');\n }\n if (this.downstreamBases > 0 && coordStart && coordEnd) {\n let [downstreamStart, downstreamEnd] =\n strand === Strand.Forward ?\n [coordEnd + 1, coordEnd + this.downstreamBases] :\n [coordStart - this.downstreamBases, coordStart - 1];\n downstreamPromise =\n this.apiService.getChrSubSequence(chrName, downstreamStart, downstreamEnd,\n strand);\n } else {\n downstreamPromise = Promise.resolve('');\n }\n\n Promise.all([upstreamPromise, downstreamPromise])\n .then((values) => {\n const upstreamSequence = values[0];\n let includedParts = [];\n for (let part of transcripts[this.transcriptIndex].parts) {\n if (part.feature_type === 'exon' && this.includeExons ||\n this.includeIntrons && part.feature_type === 'cds_intron' ||\n this.include5PrimeUtr &&\n (part.feature_type === 'five_prime_utr' ||\n this.includeIntrons && part.feature_type === 'five_prime_utr_intron') ||\n this.include3PrimeUtr &&\n (part.feature_type === 'three_prime_utr' ||\n this.includeIntrons && part.feature_type === 'three_prime_utr_intron')) {\n includedParts.push(part);\n }\n }\n const downstreamSequence = values[1];\n\n this.displaySequence =\n DisplaySequence.newFromTranscriptParts(upstreamSequence,\n includedParts, downstreamSequence);\n\n if (this.displaySequence) {\n const rawSequence = this.displaySequence.residues();\n this.updateHeader(rawSequence.length);\n\n this.wrappedSequence = Util.splitSequenceString(rawSequence);\n }\n })\n .catch((e) => {\n this.wrappedSequence = '';\n this.displaySequence = undefined;\n });\n }\n }\n\n getDisplaySequence(): DisplaySequence|undefined {\n if (!this.showNucSequence && this.featureHasProtein()) {\n return this.proteinDisplaySequence;\n } else {\n return this.displaySequence;\n }\n }\n\n getSequenceHeader(): string {\n if (!this.showNucSequence && this.featureHasProtein()) {\n return this.proteinSequenceHeader;\n } else {\n return this.sequenceHeader;\n }\n }\n\n download() {\n if (!this.showNucSequence) {\n const fileName = this.geneDetails.uniquename + '-peptide-sequence.fasta';\n saveAs(new Blob(['>' + this.proteinSequenceHeader + '\\n' +\n this.wrappedProteinSequence],\n { type: 'text' }), fileName);\n } else {\n const fileName = this.geneDetails.uniquename + '-transcript-sequence.fasta';\n saveAs(new Blob(['>' + this.sequenceHeader + '\\n' + this.wrappedSequence],\n { type: 'text' }), fileName);\n }\n }\n\n downloadWithFeaturesUrl(format: 'genbank'|'embl'): string {\n let upstreamBases = '0';\n let downstreamBases = '0';\n\n if (this.showNucSequence) {\n upstreamBases = this.upstreamBases.toString();\n downstreamBases = this.downstreamBases.toString();\n }\n\n return replaceFieldsInUrl(this.downloadWithFeaturesURL!,\n {\n 'IDENTIFIER': this.geneDetails.uniquename,\n 'FORMAT': format,\n 'UPSTREAM_BASES': upstreamBases,\n 'DOWNSTREAM_BASES': downstreamBases,\n });\n }\n\n prefetch() {\n let geneLocation = this.geneDetails.location;\n if (geneLocation) {\n let strand;\n if (geneLocation.strand === 'forward') {\n strand = Strand.Forward;\n } else {\n strand = Strand.Reverse;\n }\n\n this.apiService.getChrSubSequence(geneLocation.chromosome_name,\n geneLocation.start_pos - 2000,\n geneLocation.end_pos + 2000, strand);\n }\n }\n\n featureHasProtein() {\n return !!this.protein;\n }\n\n transcriptChanged() {\n this.upstreamBases = 0;\n this.downstreamBases = 0;\n\n this.fivePrimeIntronCount = 0;\n this.threePrimeIntronCount = 0;\n this.cdsIntronCount = 0;\n this.has5PrimeUtr = false;\n this.has3PrimeUtr = false;\n\n this.geneStart = undefined;\n this.geneEnd = undefined;\n this.cdsStart = undefined;\n this.cdsEnd = undefined;\n\n this.proteinSequenceHeader = '';\n this.wrappedProteinSequence = '';\n\n let transcripts = this.geneDetails.transcripts;\n\n if (transcripts && transcripts.length > 0) {\n let transcript = transcripts[this.transcriptIndex];\n this.protein = transcript.protein;\n\n if (this.protein) {\n this.proteinSequenceHeader =\n (transcript.uniquename || this.geneDetails.uniquename) + ' length:' +\n this.protein.number_of_residues;\n this.proteinDisplaySequence =\n DisplaySequence.newFromProtein(this.protein);\n this.wrappedProteinSequence = Util.splitSequenceString(this.protein.sequence);\n }\n\n for (let part of transcript.parts) {\n if (part.feature_type === 'five_prime_utr_intron') {\n this.fivePrimeIntronCount++;\n }\n if (part.feature_type === 'three_prime_utr_intron') {\n this.threePrimeIntronCount++;\n }\n if (part.feature_type === 'cds_intron') {\n this.cdsIntronCount++;\n }\n if (part.feature_type === 'five_prime_utr') {\n this.has5PrimeUtr = true;\n }\n if (part.feature_type === 'three_prime_utr') {\n this.has3PrimeUtr = true;\n }\n\n if (part.feature_type === 'exon') {\n if (!this.cdsStart || this.cdsStart > part.location.start_pos) {\n this.cdsStart = part.location.start_pos;\n }\n if (!this.cdsEnd || this.cdsEnd < part.location.end_pos) {\n this.cdsEnd = part.location.end_pos;\n }\n }\n if (!this.geneStart || this.geneStart > part.location.start_pos) {\n this.geneStart = part.location.start_pos;\n }\n if (!this.geneEnd || this.geneEnd < part.location.end_pos) {\n this.geneEnd = part.location.end_pos;\n }\n }\n }\n\n this.prefetch();\n\n this.updateSequence();\n }\n\n manualSelectionChanged(): void {\n this.manualSelectionErrorMessage = undefined;\n const selection = this.window.getSelection();\n if (selection) {\n selection.removeAllRanges();\n }\n\n if (this.manualSelection && this.manualSelection.trim().length >= 0) {\n const parts = /^(\\d+)(?:(?:\\.+|-+)(\\d+))?$/.exec(this.manualSelection.trim());\n\n if (parts) {\n let start = parseInt(parts[1], 10);\n let end = undefined;\n\n const endMatch = parts[2];\n\n if (endMatch) {\n end = parseInt(endMatch, 10);\n if (end < start) {\n this.manualSelectionErrorMessage = 'end position < start';\n return;\n }\n } else {\n end = start;\n }\n\n if (start <= end && selection) {\n const range = document.createRange();\n const residuesText = this.partSpanElement.nativeElement.firstChild;\n if (end >= residuesText.length) {\n this.manualSelectionErrorMessage = 'end > sequence length';\n return;\n }\n try {\n range.setStart(residuesText, start-1);\n range.setEnd(residuesText, end);\n selection.addRange(range);\n this.checkSelection();\n }\n catch (e) {\n console.log(e);\n }\n }\n } else {\n this.manualSelectionErrorMessage = 'invalid range - example \"10..20\"';\n }\n }\n }\n\n selectedResidueMessage(): string {\n if (!this.selectedResidueRange) {\n return '';\n }\n\n const selectedCount = this.selectedResidueRange.end - this.selectedResidueRange.start + 1;\n\n let message = selectedCount + ' selected residue';\n\n if (selectedCount == 1) {\n message += ': ';\n } else {\n message += 's: ';\n }\n\n return message + this.selectedResidueRange.start + '..' + this.selectedResidueRange.end;\n }\n\n ngOnChanges() {\n this.showNucSequence = true;\n this.includeExons = true;\n this.includeIntrons = false;\n this.include5PrimeUtr = false;\n this.include3PrimeUtr = false;\n\n this.protein = undefined;\n\n this.transcriptChanged();\n\n if (this.protein) {\n // for genes with protein sequences, default to showing the prot. sequence\n this.showNucSequence = false;\n }\n }\n}\n","
\n \n Sequence\n\n \n \n \n\n
1\" class=\"transcript-select\">\n Select a transcript:\n \n
\n\n
\n
\n
\n
\n \n \n
\n\n
\n
\n Display sequence of these gene parts:\n
\n\n
\n \n bases upstream\n of UTR\n \n of translation start\n of gene start\n \n
\n
\n
\n \n \n
\n
\n (no 5' UTR)\n
\n
\n\n
\n \n \n
\n\n
0 || fivePrimeIntronCount > 0 || threePrimeIntronCount > 0\">\n \n \n
0 || include3PrimeUtr && threePrimeIntronCount > 0)\">\n
\n
(Includes one 5'UTR intron)
\n
1\">(Includes {{fivePrimeIntronCount}} introns in the 5'UTR)
\n
\n
\n
(Includes one 3'UTR intron)
\n
1\">(Includes {{threePrimeIntronCount}} introns in the 3'UTR)
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n (no 3' UTR)\n
\n
\n
\n \n bases downstream\n of UTR\n \n of translation end\n of gene end\n \n
\n
\n\n
\n\n
\n \n
\n\n
\n \n\n \n
\n\n
\n \n
\n ' + sequenceHeader + '\\n' + wrappedSequence}}\" type=\"hidden\">\n \n \n \n
\n
\n\n \n
\n ' + sequenceHeader + '\\n' + wrappedSequence}}\" name=\"query_sequence\" type=\"hidden\">\n \n
\n
\n\n \n
\n ' + proteinSequenceHeader + '\\n' + wrappedProteinSequence}}\" type=\"hidden\">\n \n \n \n
\n
\n\n \n
\n ' + proteinSequenceHeader + '\\n' + wrappedProteinSequence}}\" name=\"query_sequence\" type=\"hidden\">\n \n
\n
\n\n \n
\n \n \n \n \n
\n
\n\n \n
\n \n \n \n
\n
\n\n \n
\n \n \n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n {{selectedResidueMessage()}}\n
\n
\n
\n \n Clear selection\n \n\n \n Manually select residues\n \n Select range: \n error: {{manualSelectionErrorMessage}}\n \n \n
\n
\n\n
\n
\n
\n>{{getSequenceHeader()}}\n
\n
{{part.residues}}
\n
\n
\n (No sequence to display)\n
\n \n
\n
\n
\n
\n This gene has no transcripts available\n
\n
\n
\n","import { FeatureShort, ProteinDetails } from './pombase-api.service';\n\nexport class ResidueRange {\n constructor(readonly start: number, readonly end: number) { }\n}\n\nexport class DisplaySequencePart {\n constructor(readonly uniquename: string,\n readonly partType: string,\n readonly residues: string,\n readonly exonIndex: number | null,\n readonly partId: number) { }\n}\n\nlet partIdCounter = 0;\n\nclass RawSequencePart {\n constructor(public partType: string,\n public residues: string,\n public uniquename: string) { }\n}\n\nexport class DisplaySequence {\n private parts: Array = [];\n\n static newFromProtein(protein: ProteinDetails): DisplaySequence {\n const seqPart = new RawSequencePart('protein', protein.sequence, protein.uniquename);\n return new DisplaySequence([seqPart]);\n }\n\n static newFromTranscriptParts(upstreamSequence: string,\n parts: Array,\n downstreamSequence: string) {\n const upstreamPart = new RawSequencePart('upstream', upstreamSequence,\n 'upstream sequence');\n const downstreamPart = new RawSequencePart('downstream', downstreamSequence,\n 'downstream sequence');\n const seqParts = parts.map(part => {\n return new RawSequencePart(part.feature_type, part.residues, part.uniquename);\n });\n const displayParts = [upstreamPart, ...seqParts, downstreamPart];\n return new DisplaySequence(displayParts);\n }\n\n private constructor(public readonly displayParts: Array) {\n let exonIndex = 1;\n displayParts.map(part => {\n if (part.partType === 'exon') {\n this.addPart(part, exonIndex);\n exonIndex++;\n } else {\n this.addPart(part, null);\n }\n });\n }\n\n private addPart(rawPart: RawSequencePart, exonIndex: number | null) {\n if (rawPart.residues.length === 0) {\n return;\n }\n\n const part = new DisplaySequencePart(rawPart.uniquename,\n rawPart.partType, rawPart.residues,\n exonIndex, partIdCounter++);\n this.parts.push(part);\n }\n\n getParts(): Array {\n return this.parts;\n }\n\n residues(): string {\n let res = '';\n this.parts.map(part => res += part.residues);\n return res;\n }\n\n rangeFromParts(startPartId: number, startPartOffset: number,\n endPartId: number, endPartOffset: number): ResidueRange|undefined {\n let residuesSoFar = 0;\n let startPos = -1;\n\n for (let lineIndex = 0; lineIndex < this.parts.length; ++lineIndex) {\n\n const part = this.parts[lineIndex];\n if (part.partId === startPartId) {\n startPos = residuesSoFar + startPartOffset;\n }\n\n if (part.partId === endPartId) {\n if (startPos === -1) {\n return undefined;\n } else {\n const endPos = residuesSoFar + endPartOffset;\n return new ResidueRange(startPos + 1, endPos + 1);\n }\n }\n\n residuesSoFar += part.residues.length;\n }\n\n\n return undefined;\n }\n}\n","import { Component, OnInit, OnChanges, Input, EventEmitter, Output } from '@angular/core';\n\nimport { PombaseAPIService, InterProMatch, APIError, InterProMatchLocation, GeneSubsets } from '../pombase-api.service';\nimport { AppConfig, getAppConfig, getXrfWithPrefix, XrfDetails } from '../config';\n\ninterface DisplayMatch extends InterProMatch {\n locations: Array;\n dbEntryUrl: string;\n dbDisplayName: string;\n}\n\n@Component({\n selector: 'app-interpro-matches',\n templateUrl: './interpro-matches.component.html',\n styleUrls: ['./interpro-matches.component.css'],\n standalone: false\n})\nexport class InterproMatchesComponent implements OnInit, OnChanges {\n @Input() geneDisplayName: string;\n @Input() uniprotIdentifier: string;\n @Input() matches: Array;\n @Input() highlightedId?: string;\n @Output() highlightedIdChange = new EventEmitter();\n\n displayMatches: Array = [];\n apiError?: APIError;\n\n geneSubsets?: GeneSubsets;\n\n appConfig: AppConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n highlightMatch(id: string) {\n this.highlightedId = id;\n this.highlightedIdChange.emit(id);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n let displayMatches =\n this.matches.map(match => {\n const typeConfig = this.appConfig.proteinFeatureTable.feature_types[match.dbname];\n let newId = match.id;\n let interProEntryUrl = undefined;\n if (match.interpro_id) {\n let result = getXrfWithPrefix('InterPro', match.interpro_id);\n if (result) {\n interProEntryUrl = result.url;\n }\n }\n let xrfResult: XrfDetails|undefined;\n if (match.dbname === 'MOBIDBLT') {\n newId = newId + ':' + this.uniprotIdentifier;\n xrfResult = getXrfWithPrefix(match.dbname, this.uniprotIdentifier);\n } else {\n const id = match.id.replace(/G3DSA:/, '');\n xrfResult = getXrfWithPrefix(match.dbname, id);\n }\n let newMatch = Object.assign({}, match) as DisplayMatch;\n\n if (typeConfig && typeConfig.min_max_only) {\n // for PRINTS, just show the start and end in the table\n const newLoc = {\n start: match.match_start,\n end: match.match_end,\n } as InterProMatchLocation;;\n newMatch.locations = [newLoc];\n }\n\n newMatch.id = newId;\n if (interProEntryUrl) {\n newMatch.interProEntryUrl = interProEntryUrl;\n }\n\n if (xrfResult) {\n newMatch.dbEntryUrl = xrfResult.url;\n newMatch.dbDisplayName = xrfResult.displayName || match.dbname;\n newMatch.dbDescription = xrfResult.description || newMatch.dbDisplayName;\n newMatch.dbWebsite = xrfResult.website;\n } else {\n newMatch.dbDisplayName = match.dbname;\n newMatch.dbDescription = newMatch.dbDisplayName;\n }\n return newMatch;\n });\n\n this.displayMatches = displayMatches;\n\n const processMatches =\n () => {\n for (let match of displayMatches) {\n match.geneCount = 0;\n match.countLinkTitle = '';\n match.countLinkUrl = '';\n if (match.interpro_id) {\n let subsetId = 'interpro:' + match.interpro_id;\n if (this.geneSubsets) {\n let subset = this.geneSubsets[subsetId];\n if (subset) {\n match.geneCount = subset.elements.length;\n match.countLinkTitle = `View all ${match.interpro_id} (${match.interpro_name}) genes`;\n match.countLinkUrl = `/gene_subset/${subsetId}`;\n }\n }\n } else {\n let subsetId = 'interpro:' + match.dbname + ':' + match.id;\n if (this.geneSubsets) {\n let subset = this.geneSubsets[subsetId];\n if (subset) {\n match['geneCount'] = subset.elements.length;\n if (match.id === match.name) {\n match['countLinkTitle'] = `View all ${match.id} genes`;\n } else {\n match['countLinkTitle'] = `View all ${match.id} (${match.name}) genes`;\n }\n match['countLinkUrl'] = `/gene_subset/${subsetId}`;\n }\n }\n }\n }\n }\n\n if (this.geneSubsets) {\n processMatches();\n } else {\n this.pombaseApiService.getGeneSubsets()\n .then(subsets => {\n this.geneSubsets = subsets;\n processMatches();\n })\n .catch(error => {\n this.apiError = error;\n });\n }\n }\n}\n","
0\" class=\"interpro-matches\">\n
\nProtein families and domains\n
\n\n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Match IDSourceNameInterPro IDStartEndCount
\n {{match.id}}\n {{match.id}}\n \n {{match.dbDisplayName}}\n \n {{match.interpro_description || match.interpro_name || match.name || match.description}}\n \n {{match.interpro_id}}\n {{match.interpro_id}}\n \n
\n {{loc.start}}\n
\n
\n
\n {{loc.end}}\n
\n
\n {{match.geneCount}}\n
\n\n Domain organization at\n \n InterPro ...\n \n
\n","import { Component, OnInit, OnChanges, Input, HostListener, ViewChild, ElementRef } from '@angular/core';\n\nimport { GeneDetails, TranscriptDetails, TermAnnotation } from '../pombase-api.service';\n\nimport { getAppConfig, getXrfWithPrefix } from '../config';\n\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n\n@Component({\n selector: 'app-protein-features',\n templateUrl: './protein-features.component.html',\n styleUrls: ['./protein-features.component.css'],\n standalone: false\n})\nexport class ProteinFeaturesComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n\n appConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n transcriptDetails?: TranscriptDetails;\n\n proteinFeaturesTable?: Array;\n soAnnotationTable?: Array;\n\n highlightedId?: string;\n\n sanitizedURL?: SafeResourceUrl;\n iframeHeight = 400;\n\n @ViewChild('proteinFeatureViewerInterpro') viewerIframe: ElementRef;\n\n constructor(private sanitizer: DomSanitizer) { }\n\n @HostListener('window:message', ['$event'])\n onMessage(event: any) {\n if (event.data?.selectedProteinFeatureId) {\n this.highlightedId = event.data.selectedProteinFeatureId;\n }\n }\n\n ngOnInit() {\n }\n\n highlightedIdChange(matchId: string|undefined) {\n const nativeIframe = this.viewerIframe.nativeElement as HTMLIFrameElement;\n\n nativeIframe.contentWindow?.postMessage({ selectedProteinFeatureId: matchId }, '*');\n }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n getInterProUrl(): string {\n if (this.geneDetails.uniprot_identifier) {\n const xrfDetails = getXrfWithPrefix('InterProUniProtId', this.geneDetails.uniprot_identifier);\n if (xrfDetails) {\n return xrfDetails.url;\n }\n }\n\n return 'https://www.ebi.ac.uk/interpro/';\n }\n\n ngOnChanges() {\n if (this.geneDetails.transcripts.length > 0) {\n this.transcriptDetails = this.geneDetails.transcripts[0];\n } else {\n this.transcriptDetails = undefined;\n }\n\n if (this.geneDetails.cv_annotations['pombase_family_or_domain']) {\n this.proteinFeaturesTable =\n this.geneDetails.cv_annotations['pombase_family_or_domain'];\n } else {\n this.proteinFeaturesTable = undefined;\n }\n\n if (this.geneDetails.cv_annotations['sequence']) {\n this.soAnnotationTable =\n this.geneDetails.cv_annotations['sequence'];\n } else {\n this.soAnnotationTable = undefined;\n }\n\n const rawUrl = 'protein_feature_view/domains_and_features/' + this.geneDetails.uniquename;\n this.sanitizedURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n\n\n if (this.iframeHeight < 200) {\n this.iframeHeight = 250;\n }\n }\n}\n","
\n \n Protein domains and features\n\n \n \n \n\n
\n
0 && geneDetails.transcripts[0].protein\">\n
\n Graphical view\n
\n\n
\n \n \n \n \n\n View all protein features ...\n
\n\n
\n \n
\n\n
\n\n 0 && geneDetails.uniprot_identifier\"\n [geneDisplayName]=\"geneDetails.name || geneDetails.uniquename\"\n [uniprotIdentifier]=\"geneDetails.uniprot_identifier\"\n [matches]=\"geneDetails.interpro_matches\"\n [highlightedId]=\"highlightedId\"\n (highlightedIdChange)=\"highlightedIdChange($event)\">\n \n\n
\n
\n No predicted trans-membrane domains\n
\n
0\">\n
Coordinates of predicted transmembrane domains:
\n \n {{coord.range.start}}..{{coord.range.end}},\n \n
\n
\n\n
0\" class=\"pombase-annotation\">\n
\n Families and domain annotated by {{siteName}}\n
\n \n \n
\n\n
0\" class=\"pombase-annotation\">\n
\n Protein sequence features\n
\n \n \n
\n\n
0 && geneDetails.transcripts[0].protein\">\n
\n Protein properties\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit, OnChanges, Input } from '@angular/core';\n\nimport { TranscriptDetails, GeneDetails, FeatureShort, ChromosomeLocation } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\nimport { Util } from '../shared/util';\n\nclass DisplayTranscript {\n private _displayParts: Array = [];\n private _nonIntronParts: Array = [];\n private _highlightedPartId?: string;\n private _locationString?: string;\n private _padding?: DisplayPart;\n\n constructor(geneLocation: ChromosomeLocation,\n private transcript: TranscriptDetails) {\n\n let exonCount = 0;\n let intronCount = 0;\n\n const geneLength = geneLocation.end_pos - geneLocation.start_pos + 1;\n\n let paddingLocation: ChromosomeLocation|undefined;\n\n if (transcript.location.strand === 'forward') {\n if (transcript.location.start_pos - geneLocation.start_pos > 0) {\n paddingLocation = {\n chromosome_name: transcript.location.chromosome_name,\n start_pos: geneLocation.start_pos,\n end_pos: transcript.location.start_pos - 1,\n strand: transcript.location.strand,\n } as ChromosomeLocation;\n }\n } else {\n if (geneLocation.end_pos - transcript.location.end_pos > 0) {\n paddingLocation = {\n chromosome_name: transcript.location.chromosome_name,\n start_pos: transcript.location.end_pos + 1,\n end_pos: geneLocation.end_pos,\n strand: transcript.location.strand,\n } as ChromosomeLocation;\n }\n }\n\n if (paddingLocation) {\n const fakePaddingPart = {\n feature_type: 'padding',\n uniquename: transcript.uniquename + ':padding',\n location: paddingLocation,\n residues: '',\n } as FeatureShort;\n this._padding = new DisplayPart(fakePaddingPart, transcript.location, 'padding', 0, 0);\n }\n\n for (const part of transcript.parts) {\n if (part.feature_type === 'exon') {\n exonCount++;\n } else {\n if (part.feature_type === 'cds_intron') {\n intronCount++;\n }\n }\n const displayPart = new DisplayPart(part, transcript.location,\n transcript.transcript_type,\n exonCount, intronCount);\n this._displayParts.push(displayPart);\n }\n\n if (this._padding) {\n this._padding.setDivVW(geneLength);\n }\n\n for (let i = 0; i < this._displayParts.length; i++) {\n const displayPart = this._displayParts[i];\n if (i + 1 < this._displayParts.length) {\n const nextPart = this._displayParts[i + 1];\n displayPart.setNext(nextPart);\n }\n if (i > 0) {\n const previousPart = this._displayParts[i - 1];\n displayPart.setPrevious(previousPart);\n }\n displayPart.setDivVW(geneLength);\n }\n\n this._nonIntronParts =\n this._displayParts.filter(part => !part.type().endsWith('intron'));\n\n const len = transcript.location.end_pos - transcript.location.start_pos + 1;\n\n if (transcript.location.strand === 'reverse') {\n this._locationString = `${transcript.location.end_pos}-${transcript.location.start_pos}`;\n } else {\n this._locationString = `${transcript.location.start_pos}-${transcript.location.end_pos}`;\n }\n\n this._locationString += ` (${len}nt)`;\n }\n\n public startPos(): number {\n return this.transcript.location.start_pos;\n }\n\n public endPos(): number {\n return this.transcript.location.end_pos;\n }\n\n public setHighlightedPart(partId: string) {\n this._highlightedPartId = partId;\n }\n\n public getHighlightedPart(): string|undefined {\n return this._highlightedPartId;\n }\n\n public padding(): DisplayPart|undefined {\n return this._padding;\n }\n\n public displayParts(): Array {\n return this._displayParts;\n }\n\n public displayLocation(): string {\n return this._locationString ?? '';\n }\n\n public nonIntronParts(): Array {\n return this._nonIntronParts;\n }\n\n public type(): string {\n return this.transcript.transcript_type;\n }\n\n public uniquename(): string {\n return this.transcript.uniquename;\n }\n\n public product(): string|undefined {\n return this.transcript.protein?.product;\n }\n\n public productSizeString(): string {\n return Util.productStringOfTranscript(this.transcript);\n }\n}\n\nclass DisplayPart {\n private _divWidth = -1;\n private _id: string;\n private _next: DisplayPart;\n private _previous: DisplayPart;\n\n constructor(private part: FeatureShort,\n private transcriptLocation: ChromosomeLocation,\n private transcriptType: string,\n private exonCount: number, private intronCount: number) {\n this._id = part.uniquename.replace(/:/g, '-');\n }\n\n public displayType(): string {\n if (this.type() === 'five_prime_utr') {\n return '5\\'UTR';\n }\n if (this.type() === 'three_prime_utr') {\n return '3\\'UTR';\n }\n if (this.type() === 'cds_intron') {\n return 'intron';\n }\n if (this.type() === 'five_prime_utr_intron') {\n return '5\\'UTR intron';\n }\n if (this.type() === 'three_prime_utr_intron') {\n return '3\\'UTR intron';\n }\n return this.type();\n }\n\n public displayName(): string {\n if (this.type() === 'cds_intron') {\n return 'intron ' + this.intronCount;\n } else {\n if (this.type() === 'exon') {\n if (this.transcriptType === 'mRNA') {\n return 'exon CDS ' + this.exonCount;\n } else {\n return 'exon ' + this.exonCount;\n }\n } else {\n return this.displayType();\n }\n }\n }\n\n setNext(nextPart: DisplayPart) {\n this._next = nextPart;\n }\n\n setPrevious(previousPart: DisplayPart) {\n this._previous = previousPart;\n }\n\n public nextPart(): DisplayPart {\n return this._next;\n }\n\n public previousPart(): DisplayPart {\n return this._previous;\n }\n\n public uniquename(): string {\n return this.part.uniquename;\n }\n\n public partId(): string {\n return this._id;\n }\n\n public type(): string {\n return this.part.feature_type;\n }\n\n public startPos(showTranscriptCoords: boolean): number {\n if (showTranscriptCoords) {\n if (this.part.location.strand === 'reverse') {\n return this.transcriptLocation.end_pos - this.part.location.start_pos + 1;\n }\n\n return this.part.location.start_pos - this.transcriptLocation.start_pos + 1;\n }\n\n return this.part.location.start_pos;\n }\n\n public endPos(showTranscriptCoords: boolean): number {\n if (showTranscriptCoords) {\n if (this.part.location.strand === 'reverse') {\n return this.transcriptLocation.end_pos - this.part.location.end_pos + 1;\n }\n\n return this.part.location.end_pos - this.transcriptLocation.start_pos + 1;\n }\n return this.part.location.end_pos;\n }\n\n public displayLocation(showTranscriptCoords: boolean): string {\n if (this.part.location.strand === 'reverse') {\n return this.endPos(showTranscriptCoords) + '-' +\n this.startPos(showTranscriptCoords);\n } else {\n return this.startPos(showTranscriptCoords) + '-' +\n this.endPos(showTranscriptCoords);\n }\n }\n\n public baseLength(): number {\n return this.part.location.end_pos - this.part.location.start_pos + 1;\n }\n\n setDivVW(totalLength: number) {\n this._divWidth = Math.max(1, 100 * this.baseLength() / totalLength) / 1.5;\n }\n\n getDivVW(): number {\n return this._divWidth;\n }\n}\n\n@Component({\n selector: 'app-transcript-view',\n templateUrl: './transcript-view.component.html',\n styleUrls: ['./transcript-view.component.css'],\n standalone: false\n})\nexport class TranscriptViewComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n\n transcripts: Array = [];\n\n chromosomeDisplayName?: string;\n displayTranscripts: Array = [];\n\n appConfig: AppConfig = getAppConfig();\n\n showCoordTable = false;\n showTranscriptCoords = false;\n\n constructor() { }\n\n updateDisplayStrings() {\n const geneLocation = this.geneDetails.location;\n const chromosomeName = geneLocation.chromosome_name;\n const chromosomeConfig = this.appConfig.getChromosomeConfigByName(chromosomeName);\n this.displayTranscripts = [];\n\n if (chromosomeConfig) {\n this.chromosomeDisplayName = chromosomeConfig.short_display_name || chromosomeName;\n } else {\n this.chromosomeDisplayName = chromosomeName;\n }\n\n for (const transcript of this.transcripts) {\n const displayTranscript = new DisplayTranscript(geneLocation, transcript);\n this.displayTranscripts.push(displayTranscript);\n }\n }\n\n\n public geneStrand(): string {\n return this.geneDetails.location.strand;\n }\n\n public popoverContent(part: DisplayPart): string {\n let prefix = null;\n\n if (part.type() === 'exon') {\n if ((!part.previousPart() || part.previousPart().type() === 'cds_intron') &&\n (!part.nextPart() || part.nextPart().type() === 'cds_intron')) {\n prefix = 'Coding exon'\n } else {\n if (part.previousPart() && part.previousPart().type().startsWith('five_prime_utr') ||\n part.nextPart() && part.nextPart().type().startsWith('three_prime_utr')) {\n prefix = 'Coding part of exon';\n } else {\n prefix = 'Exon';\n }\n }\n } else {\n prefix = part.displayType();\n }\n\n return prefix + ' - genomic location: ' + part.displayLocation(false) +\n ', transcript location: ' + part.displayLocation(true);\n }\n\n public partTrackBy(_index: number, item: DisplayPart): string {\n return item.partId();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n if (!this.geneDetails) {\n this.transcripts = [];\n this.chromosomeDisplayName = undefined;\n this.displayTranscripts = [];\n return;\n }\n this.transcripts = this.geneDetails.transcripts;\n this.updateDisplayStrings();\n }\n}\n","
\n \n Transcript details\n \n\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n\n
\n
Key:
\n
 
\n
UTR
\n
 
\n
exon
\n
\n
\n\n
\n
\n {{transcript.type()}} {{transcript.uniquename()}}\n
\n
\n {{transcript.product()}}\n
\n
\n
\n Location: {{transcript.displayLocation()}},\n chromosome {{chromosomeDisplayName}} {{geneStrand()}} strand\n  \n  \n Product size: {{transcript.productSizeString()}}\n
\n\n
\n
\n
\n
\n
\n  \n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n {{part.displayName()}}\n \n {{part.displayLocation(showTranscriptCoords)}}\n \n {{part.nextPart().displayName()}}\n \n {{part.nextPart().displayLocation(showTranscriptCoords)}}\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig, AnnotationType } from '../config';\n\nimport { GeneDetails } from '../pombase-api.service';\n\n@Component({\n selector: 'app-misc-annotation-table',\n templateUrl: './misc-annotation-table.component.html',\n styleUrls: ['./misc-annotation-table.component.css'],\n standalone: false\n})\nexport class MiscAnnotationTableComponent implements OnInit {\n @Input() geneDetails: GeneDetails;\n @Input() annotationTypeNames: Array;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n\n typeConfigs: { [key: string]: AnnotationType } = {};\n\n constructor() { }\n\n ngOnInit() {\n this.typeConfigs = {};\n\n this.annotationTypeNames.map(annotationTypeName => {\n this.typeConfigs[annotationTypeName] =\n this.config.getAnnotationType(annotationTypeName);\n });\n }\n}\n","
\n \n Miscellaneous\n \n
\n
\n
\n {{typeConfigs[annotationTypeName].display_name || annotationTypeName}}\n
\n \n \n
\n
\n
\n","import * as i0 from '@angular/core';\nimport { Directive, InjectionToken, inject, Injectable, ComponentFactoryResolver, ApplicationRef, SecurityContext, Injector, Inject, signal, Component, ChangeDetectionStrategy, HostBinding, HostListener, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { DOCUMENT, NgIf } from '@angular/common';\nimport { Subject } from 'rxjs';\nimport * as i2 from '@angular/platform-browser';\nconst _c0 = [\"toast-component\", \"\"];\nfunction Toast_button_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 5);\n i0.ɵɵlistener(\"click\", function Toast_button_0_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.remove());\n });\n i0.ɵɵelementStart(1, \"span\", 6);\n i0.ɵɵtext(2, \"\\xD7\");\n i0.ɵɵelementEnd()();\n }\n}\nfunction Toast_div_1_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\"[\", ctx_r1.duplicatesCount + 1, \"]\");\n }\n}\nfunction Toast_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵtext(1);\n i0.ɵɵtemplate(2, Toast_div_1_ng_container_2_Template, 2, 1, \"ng-container\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.titleClass);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.title);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.title, \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.duplicatesCount);\n }\n}\nfunction Toast_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 7);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.messageClass);\n i0.ɵɵproperty(\"innerHTML\", ctx_r1.message, i0.ɵɵsanitizeHtml);\n }\n}\nfunction Toast_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 8);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.messageClass);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.message);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.message, \" \");\n }\n}\nfunction Toast_div_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵelement(1, \"div\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"width\", ctx_r1.width() + \"%\");\n }\n}\nfunction ToastNoAnimation_button_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 5);\n i0.ɵɵlistener(\"click\", function ToastNoAnimation_button_0_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.remove());\n });\n i0.ɵɵelementStart(1, \"span\", 6);\n i0.ɵɵtext(2, \"\\xD7\");\n i0.ɵɵelementEnd()();\n }\n}\nfunction ToastNoAnimation_div_1_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\"[\", ctx_r1.duplicatesCount + 1, \"]\");\n }\n}\nfunction ToastNoAnimation_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵtext(1);\n i0.ɵɵtemplate(2, ToastNoAnimation_div_1_ng_container_2_Template, 2, 1, \"ng-container\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.titleClass);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.title);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.title, \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.duplicatesCount);\n }\n}\nfunction ToastNoAnimation_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 7);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.messageClass);\n i0.ɵɵproperty(\"innerHTML\", ctx_r1.message, i0.ɵɵsanitizeHtml);\n }\n}\nfunction ToastNoAnimation_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 8);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.options.messageClass);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.message);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.message, \" \");\n }\n}\nfunction ToastNoAnimation_div_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵelement(1, \"div\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"width\", ctx_r1.width() + \"%\");\n }\n}\nlet ToastContainerDirective = /*#__PURE__*/(() => {\n class ToastContainerDirective {\n el;\n constructor(el) {\n this.el = el;\n }\n getContainerElement() {\n return this.el.nativeElement;\n }\n static ɵfac = function ToastContainerDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastContainerDirective)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ToastContainerDirective,\n selectors: [[\"\", \"toastContainer\", \"\"]],\n exportAs: [\"toastContainer\"]\n });\n }\n return ToastContainerDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal {\n _attachedHost;\n /** The type of the component that will be instantiated for attachment. */\n component;\n /**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalHost.\n * The origin necessary when the host is outside of the Angular application context.\n */\n viewContainerRef;\n /** Injector used for the instantiation of the component. */\n injector;\n constructor(component, injector) {\n this.component = component;\n this.injector = injector;\n }\n /** Attach this portal to a host. */\n attach(host, newestOnTop) {\n this._attachedHost = host;\n return host.attach(this, newestOnTop);\n }\n /** Detach this portal from its host */\n detach() {\n const host = this._attachedHost;\n if (host) {\n this._attachedHost = undefined;\n return host.detach();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalHost reference without performing `attach()`. This is used directly by\n * the PortalHost when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * Partial implementation of PortalHost that only deals with attaching a\n * ComponentPortal\n */\nclass BasePortalHost {\n /** The portal currently attached to the host. */\n _attachedPortal;\n /** A function that will permanently dispose this host. */\n _disposeFn;\n attach(portal, newestOnTop) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal, newestOnTop);\n }\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost();\n }\n this._attachedPortal = undefined;\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = undefined;\n }\n }\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n}\n\n/**\n * Reference to a toast opened via the Toastr service.\n */\nclass ToastRef {\n _overlayRef;\n /** The instance of component opened into the toast. */\n componentInstance;\n /** Count of duplicates of this toast */\n duplicatesCount = 0;\n /** Subject for notifying the user that the toast has finished closing. */\n _afterClosed = new Subject();\n /** triggered when toast is activated */\n _activate = new Subject();\n /** notifies the toast that it should close before the timeout */\n _manualClose = new Subject();\n /** notifies the toast that it should reset the timeouts */\n _resetTimeout = new Subject();\n /** notifies the toast that it should count a duplicate toast */\n _countDuplicate = new Subject();\n constructor(_overlayRef) {\n this._overlayRef = _overlayRef;\n }\n manualClose() {\n this._manualClose.next();\n this._manualClose.complete();\n }\n manualClosed() {\n return this._manualClose.asObservable();\n }\n timeoutReset() {\n return this._resetTimeout.asObservable();\n }\n countDuplicate() {\n return this._countDuplicate.asObservable();\n }\n /**\n * Close the toast.\n */\n close() {\n this._overlayRef.detach();\n this._afterClosed.next();\n this._manualClose.next();\n this._afterClosed.complete();\n this._manualClose.complete();\n this._activate.complete();\n this._resetTimeout.complete();\n this._countDuplicate.complete();\n }\n /** Gets an observable that is notified when the toast is finished closing. */\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n isInactive() {\n return this._activate.isStopped;\n }\n activate() {\n this._activate.next();\n this._activate.complete();\n }\n /** Gets an observable that is notified when the toast has started opening. */\n afterActivate() {\n return this._activate.asObservable();\n }\n /** Reset the toast timouts and count duplicates */\n onDuplicate(resetTimeout, countDuplicate) {\n if (resetTimeout) {\n this._resetTimeout.next();\n }\n if (countDuplicate) {\n this._countDuplicate.next(++this.duplicatesCount);\n }\n }\n}\n\n/**\n * Everything a toast needs to launch\n */\nclass ToastPackage {\n toastId;\n config;\n message;\n title;\n toastType;\n toastRef;\n _onTap = new Subject();\n _onAction = new Subject();\n constructor(toastId, config, message, title, toastType, toastRef) {\n this.toastId = toastId;\n this.config = config;\n this.message = message;\n this.title = title;\n this.toastType = toastType;\n this.toastRef = toastRef;\n this.toastRef.afterClosed().subscribe(() => {\n this._onAction.complete();\n this._onTap.complete();\n });\n }\n /** Fired on click */\n triggerTap() {\n this._onTap.next();\n if (this.config.tapToDismiss) {\n this._onTap.complete();\n }\n }\n onTap() {\n return this._onTap.asObservable();\n }\n /** available for use in custom toast */\n triggerAction(action) {\n this._onAction.next(action);\n }\n onAction() {\n return this._onAction.asObservable();\n }\n}\nconst DefaultNoComponentGlobalConfig = {\n maxOpened: 0,\n autoDismiss: false,\n newestOnTop: true,\n preventDuplicates: false,\n countDuplicates: false,\n resetTimeoutOnDuplicate: false,\n includeTitleDuplicates: false,\n iconClasses: {\n error: 'toast-error',\n info: 'toast-info',\n success: 'toast-success',\n warning: 'toast-warning'\n },\n // Individual\n closeButton: false,\n disableTimeOut: false,\n timeOut: 5000,\n extendedTimeOut: 1000,\n enableHtml: false,\n progressBar: false,\n toastClass: 'ngx-toastr',\n positionClass: 'toast-top-right',\n titleClass: 'toast-title',\n messageClass: 'toast-message',\n easing: 'ease-in',\n easeTime: 300,\n tapToDismiss: true,\n onActivateTick: false,\n progressAnimation: 'decreasing'\n};\nconst TOAST_CONFIG = new InjectionToken('ToastConfig');\n\n/**\n * A PortalHost for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n *\n * This is the only part of the portal core that directly touches the DOM.\n */\nclass DomPortalHost extends BasePortalHost {\n _hostDomElement;\n _componentFactoryResolver;\n _appRef;\n constructor(_hostDomElement, _componentFactoryResolver, _appRef) {\n super();\n this._hostDomElement = _hostDomElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n */\n attachComponentPortal(portal, newestOnTop) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the ChangeDetector for that component to the application (which\n // happens automatically when using a ViewContainer).\n componentRef = componentFactory.create(portal.injector);\n // When creating a component outside of a ViewContainer, we need to manually register\n // its ChangeDetector with the application. This API is unfortunately not yet published\n // in Angular core. The change detector must also be deregistered when the component\n // is destroyed to prevent memory leaks.\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n if (newestOnTop) {\n this._hostDomElement.insertBefore(this._getComponentRootNode(componentRef), this._hostDomElement.firstChild);\n } else {\n this._hostDomElement.appendChild(this._getComponentRootNode(componentRef));\n }\n return componentRef;\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n\n/** Container inside which all toasts will render. */\nlet OverlayContainer = /*#__PURE__*/(() => {\n class OverlayContainer {\n _document = inject(DOCUMENT);\n _containerElement;\n ngOnDestroy() {\n if (this._containerElement && this._containerElement.parentNode) {\n this._containerElement.parentNode.removeChild(this._containerElement);\n }\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body\n * and 'aria-live=\"polite\"'\n */\n _createContainer() {\n const container = this._document.createElement('div');\n container.classList.add('overlay-container');\n container.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n static ɵfac = function OverlayContainer_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || OverlayContainer)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OverlayContainer,\n factory: OverlayContainer.ɵfac,\n providedIn: 'root'\n });\n }\n return OverlayContainer;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n _portalHost;\n constructor(_portalHost) {\n this._portalHost = _portalHost;\n }\n attach(portal, newestOnTop = true) {\n return this._portalHost.attach(portal, newestOnTop);\n }\n /**\n * Detaches an overlay from a portal.\n * @returns Resolves when the overlay has been detached.\n */\n detach() {\n return this._portalHost.detach();\n }\n}\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one.\n */\nlet Overlay = /*#__PURE__*/(() => {\n class Overlay {\n _overlayContainer = inject(OverlayContainer);\n _componentFactoryResolver = inject(ComponentFactoryResolver);\n _appRef = inject(ApplicationRef);\n _document = inject(DOCUMENT);\n // Namespace panes by overlay container\n _paneElements = new Map();\n /**\n * Creates an overlay.\n * @returns A reference to the created overlay.\n */\n create(positionClass, overlayContainer) {\n // get existing pane if possible\n return this._createOverlayRef(this.getPaneElement(positionClass, overlayContainer));\n }\n getPaneElement(positionClass = '', overlayContainer) {\n if (!this._paneElements.get(overlayContainer)) {\n this._paneElements.set(overlayContainer, {});\n }\n if (!this._paneElements.get(overlayContainer)[positionClass]) {\n this._paneElements.get(overlayContainer)[positionClass] = this._createPaneElement(positionClass, overlayContainer);\n }\n return this._paneElements.get(overlayContainer)[positionClass];\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(positionClass, overlayContainer) {\n const pane = this._document.createElement('div');\n pane.id = 'toast-container';\n pane.classList.add(positionClass);\n pane.classList.add('toast-container');\n if (!overlayContainer) {\n this._overlayContainer.getContainerElement().appendChild(pane);\n } else {\n overlayContainer.getContainerElement().appendChild(pane);\n }\n return pane;\n }\n /**\n * Create a DomPortalHost into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal host.\n * @returns A portal host for the given DOM element.\n */\n _createPortalHost(pane) {\n return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef);\n }\n /**\n * Creates an OverlayRef for an overlay in the given DOM element.\n * @param pane DOM element for the overlay\n */\n _createOverlayRef(pane) {\n return new OverlayRef(this._createPortalHost(pane));\n }\n static ɵfac = function Overlay_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Overlay)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Overlay,\n factory: Overlay.ɵfac,\n providedIn: 'root'\n });\n }\n return Overlay;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ToastrService = /*#__PURE__*/(() => {\n class ToastrService {\n overlay;\n _injector;\n sanitizer;\n ngZone;\n toastrConfig;\n currentlyActive = 0;\n toasts = [];\n overlayContainer;\n previousToastMessage;\n index = 0;\n constructor(token, overlay, _injector, sanitizer, ngZone) {\n this.overlay = overlay;\n this._injector = _injector;\n this.sanitizer = sanitizer;\n this.ngZone = ngZone;\n this.toastrConfig = {\n ...token.default,\n ...token.config\n };\n if (token.config.iconClasses) {\n this.toastrConfig.iconClasses = {\n ...token.default.iconClasses,\n ...token.config.iconClasses\n };\n }\n }\n /** show toast */\n show(message, title, override = {}, type = '') {\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show successful toast */\n success(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.success || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show error toast */\n error(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.error || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show info toast */\n info(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.info || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show warning toast */\n warning(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.warning || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /**\n * Remove all or a single toast by id\n */\n clear(toastId) {\n // Call every toastRef manualClose function\n for (const toast of this.toasts) {\n if (toastId !== undefined) {\n if (toast.toastId === toastId) {\n toast.toastRef.manualClose();\n return;\n }\n } else {\n toast.toastRef.manualClose();\n }\n }\n }\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId) {\n const found = this._findToast(toastId);\n if (!found) {\n return false;\n }\n found.activeToast.toastRef.close();\n this.toasts.splice(found.index, 1);\n this.currentlyActive = this.currentlyActive - 1;\n if (!this.toastrConfig.maxOpened || !this.toasts.length) {\n return false;\n }\n if (this.currentlyActive < this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {\n const p = this.toasts[this.currentlyActive].toastRef;\n if (!p.isInactive()) {\n this.currentlyActive = this.currentlyActive + 1;\n p.activate();\n }\n }\n return true;\n }\n /**\n * Determines if toast message is already shown\n */\n findDuplicate(title = '', message = '', resetOnDuplicate, countDuplicates) {\n const {\n includeTitleDuplicates\n } = this.toastrConfig;\n for (const toast of this.toasts) {\n const hasDuplicateTitle = includeTitleDuplicates && toast.title === title;\n if ((!includeTitleDuplicates || hasDuplicateTitle) && toast.message === message) {\n toast.toastRef.onDuplicate(resetOnDuplicate, countDuplicates);\n return toast;\n }\n }\n return null;\n }\n /** create a clone of global config and apply individual settings */\n applyConfig(override = {}) {\n return {\n ...this.toastrConfig,\n ...override\n };\n }\n /**\n * Find toast object by id\n */\n _findToast(toastId) {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].toastId === toastId) {\n return {\n index: i,\n activeToast: this.toasts[i]\n };\n }\n }\n return null;\n }\n /**\n * Determines the need to run inside angular's zone then builds the toast\n */\n _preBuildNotification(toastType, message, title, config) {\n if (config.onActivateTick) {\n return this.ngZone.run(() => this._buildNotification(toastType, message, title, config));\n }\n return this._buildNotification(toastType, message, title, config);\n }\n /**\n * Creates and attaches toast data to component\n * returns the active toast, or in case preventDuplicates is enabled the original/non-duplicate active toast.\n */\n _buildNotification(toastType, message, title, config) {\n if (!config.toastComponent) {\n throw new Error('toastComponent required');\n }\n // max opened and auto dismiss = true\n // if timeout = 0 resetting it would result in setting this.hideTime = Date.now(). Hence, we only want to reset timeout if there is\n // a timeout at all\n const duplicate = this.findDuplicate(title, message, this.toastrConfig.resetTimeoutOnDuplicate && config.timeOut > 0, this.toastrConfig.countDuplicates);\n if ((this.toastrConfig.includeTitleDuplicates && title || message) && this.toastrConfig.preventDuplicates && duplicate !== null) {\n return duplicate;\n }\n this.previousToastMessage = message;\n let keepInactive = false;\n if (this.toastrConfig.maxOpened && this.currentlyActive >= this.toastrConfig.maxOpened) {\n keepInactive = true;\n if (this.toastrConfig.autoDismiss) {\n this.clear(this.toasts[0].toastId);\n }\n }\n const overlayRef = this.overlay.create(config.positionClass, this.overlayContainer);\n this.index = this.index + 1;\n let sanitizedMessage = message;\n if (message && config.enableHtml) {\n sanitizedMessage = this.sanitizer.sanitize(SecurityContext.HTML, message);\n }\n const toastRef = new ToastRef(overlayRef);\n const toastPackage = new ToastPackage(this.index, config, sanitizedMessage, title, toastType, toastRef);\n /** New injector that contains an instance of `ToastPackage`. */\n const providers = [{\n provide: ToastPackage,\n useValue: toastPackage\n }];\n const toastInjector = Injector.create({\n providers,\n parent: this._injector\n });\n const component = new ComponentPortal(config.toastComponent, toastInjector);\n const portal = overlayRef.attach(component, config.newestOnTop);\n toastRef.componentInstance = portal.instance;\n const ins = {\n toastId: this.index,\n title: title || '',\n message: message || '',\n toastRef,\n onShown: toastRef.afterActivate(),\n onHidden: toastRef.afterClosed(),\n onTap: toastPackage.onTap(),\n onAction: toastPackage.onAction(),\n portal\n };\n if (!keepInactive) {\n this.currentlyActive = this.currentlyActive + 1;\n setTimeout(() => {\n ins.toastRef.activate();\n });\n }\n this.toasts.push(ins);\n return ins;\n }\n static ɵfac = function ToastrService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastrService)(i0.ɵɵinject(TOAST_CONFIG), i0.ɵɵinject(Overlay), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i2.DomSanitizer), i0.ɵɵinject(i0.NgZone));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ToastrService,\n factory: ToastrService.ɵfac,\n providedIn: 'root'\n });\n }\n return ToastrService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet Toast = /*#__PURE__*/(() => {\n class Toast {\n toastrService;\n toastPackage;\n ngZone;\n message;\n title;\n options;\n duplicatesCount;\n originalTimeout;\n /** width of progress bar */\n width = signal(-1);\n /** a combination of toast type and options.toastClass */\n toastClasses = '';\n state;\n /** controls animation */\n get _state() {\n return this.state();\n }\n /** hides component when waiting to be displayed */\n get displayStyle() {\n if (this.state().value === 'inactive') {\n return 'none';\n }\n return;\n }\n timeout;\n intervalId;\n hideTime;\n sub;\n sub1;\n sub2;\n sub3;\n constructor(toastrService, toastPackage, ngZone) {\n this.toastrService = toastrService;\n this.toastPackage = toastPackage;\n this.ngZone = ngZone;\n this.message = toastPackage.message;\n this.title = toastPackage.title;\n this.options = toastPackage.config;\n this.originalTimeout = toastPackage.config.timeOut;\n this.toastClasses = `${toastPackage.toastType} ${toastPackage.config.toastClass}`;\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\n this.activateToast();\n });\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\n this.remove();\n });\n this.sub2 = toastPackage.toastRef.timeoutReset().subscribe(() => {\n this.resetTimeout();\n });\n this.sub3 = toastPackage.toastRef.countDuplicate().subscribe(count => {\n this.duplicatesCount = count;\n });\n this.state = signal({\n value: 'inactive',\n params: {\n easeTime: this.toastPackage.config.easeTime,\n easing: 'ease-in'\n }\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n clearInterval(this.intervalId);\n clearTimeout(this.timeout);\n }\n /**\n * activates toast and sets timeout\n */\n activateToast() {\n this.state.update(state => ({\n ...state,\n value: 'active'\n }));\n if (!(this.options.disableTimeOut === true || this.options.disableTimeOut === 'timeOut') && this.options.timeOut) {\n this.outsideTimeout(() => this.remove(), this.options.timeOut);\n this.hideTime = new Date().getTime() + this.options.timeOut;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n }\n /**\n * updates progress bar width\n */\n updateProgress() {\n if (this.width() === 0 || this.width() === 100 || !this.options.timeOut) {\n return;\n }\n const now = new Date().getTime();\n const remaining = this.hideTime - now;\n this.width.set(remaining / this.options.timeOut * 100);\n if (this.options.progressAnimation === 'increasing') {\n this.width.update(width => 100 - width);\n }\n if (this.width() <= 0) {\n this.width.set(0);\n }\n if (this.width() >= 100) {\n this.width.set(100);\n }\n }\n resetTimeout() {\n clearTimeout(this.timeout);\n clearInterval(this.intervalId);\n this.state.update(state => ({\n ...state,\n value: 'active'\n }));\n this.outsideTimeout(() => this.remove(), this.originalTimeout);\n this.options.timeOut = this.originalTimeout;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width.set(-1);\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n /**\n * tells toastrService to remove this toast after animation time\n */\n remove() {\n if (this.state().value === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.state.update(state => ({\n ...state,\n value: 'removed'\n }));\n this.outsideTimeout(() => this.toastrService.remove(this.toastPackage.toastId), +this.toastPackage.config.easeTime);\n }\n tapToast() {\n if (this.state().value === 'removed') {\n return;\n }\n this.toastPackage.triggerTap();\n if (this.options.tapToDismiss) {\n this.remove();\n }\n }\n stickAround() {\n if (this.state().value === 'removed') {\n return;\n }\n if (this.options.disableTimeOut !== 'extendedTimeOut') {\n clearTimeout(this.timeout);\n this.options.timeOut = 0;\n this.hideTime = 0;\n // disable progressBar\n clearInterval(this.intervalId);\n this.width.set(0);\n }\n }\n delayedHideToast() {\n if (this.options.disableTimeOut === true || this.options.disableTimeOut === 'extendedTimeOut' || this.options.extendedTimeOut === 0 || this.state().value === 'removed') {\n return;\n }\n this.outsideTimeout(() => this.remove(), this.options.extendedTimeOut);\n this.options.timeOut = this.options.extendedTimeOut;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width.set(-1);\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n outsideTimeout(func, timeout) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() => this.timeout = setTimeout(() => this.runInsideAngular(func), timeout));\n } else {\n this.timeout = setTimeout(() => func(), timeout);\n }\n }\n outsideInterval(func, timeout) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() => this.intervalId = setInterval(() => this.runInsideAngular(func), timeout));\n } else {\n this.intervalId = setInterval(() => func(), timeout);\n }\n }\n runInsideAngular(func) {\n if (this.ngZone) {\n this.ngZone.run(() => func());\n } else {\n func();\n }\n }\n static ɵfac = function Toast_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Toast)(i0.ɵɵdirectiveInject(ToastrService), i0.ɵɵdirectiveInject(ToastPackage), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Toast,\n selectors: [[\"\", \"toast-component\", \"\"]],\n hostVars: 5,\n hostBindings: function Toast_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function Toast_click_HostBindingHandler() {\n return ctx.tapToast();\n })(\"mouseenter\", function Toast_mouseenter_HostBindingHandler() {\n return ctx.stickAround();\n })(\"mouseleave\", function Toast_mouseleave_HostBindingHandler() {\n return ctx.delayedHideToast();\n });\n }\n if (rf & 2) {\n i0.ɵɵsyntheticHostProperty(\"@flyInOut\", ctx._state);\n i0.ɵɵclassMap(ctx.toastClasses);\n i0.ɵɵstyleProp(\"display\", ctx.displayStyle);\n }\n },\n attrs: _c0,\n decls: 5,\n vars: 5,\n consts: [[\"type\", \"button\", \"class\", \"toast-close-button\", \"aria-label\", \"Close\", 3, \"click\", 4, \"ngIf\"], [3, \"class\", 4, \"ngIf\"], [\"role\", \"alert\", 3, \"class\", \"innerHTML\", 4, \"ngIf\"], [\"role\", \"alert\", 3, \"class\", 4, \"ngIf\"], [4, \"ngIf\"], [\"type\", \"button\", \"aria-label\", \"Close\", 1, \"toast-close-button\", 3, \"click\"], [\"aria-hidden\", \"true\"], [\"role\", \"alert\", 3, \"innerHTML\"], [\"role\", \"alert\"], [1, \"toast-progress\"]],\n template: function Toast_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Toast_button_0_Template, 3, 0, \"button\", 0)(1, Toast_div_1_Template, 3, 5, \"div\", 1)(2, Toast_div_2_Template, 1, 3, \"div\", 2)(3, Toast_div_3_Template, 2, 4, \"div\", 3)(4, Toast_div_4_Template, 2, 2, \"div\", 4);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.options.closeButton);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.title);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.message && ctx.options.enableHtml);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.message && !ctx.options.enableHtml);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.options.progressBar);\n }\n },\n dependencies: [NgIf],\n encapsulation: 2,\n data: {\n animation: [trigger('flyInOut', [state('inactive', style({\n opacity: 0\n })), state('active', style({\n opacity: 1\n })), state('removed', style({\n opacity: 0\n })), transition('inactive => active', animate('{{ easeTime }}ms {{ easing }}')), transition('active => removed', animate('{{ easeTime }}ms {{ easing }}'))])]\n },\n changeDetection: 0\n });\n }\n return Toast;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst DefaultGlobalConfig = {\n ...DefaultNoComponentGlobalConfig,\n toastComponent: Toast\n};\n/**\n * @description\n * Provides the `TOAST_CONFIG` token with the given config.\n *\n * @param config The config to configure toastr.\n * @returns The environment providers.\n *\n * @example\n * ```ts\n * import { provideToastr } from 'ngx-toastr';\n *\n * bootstrap(AppComponent, {\n * providers: [\n * provideToastr({\n * timeOut: 2000,\n * positionClass: 'toast-top-right',\n * }),\n * ],\n * })\n */\nconst provideToastr = (config = {}) => {\n const providers = [{\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultGlobalConfig,\n config\n }\n }];\n return makeEnvironmentProviders(providers);\n};\nlet ToastrModule = /*#__PURE__*/(() => {\n class ToastrModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastrModule,\n providers: [provideToastr(config)]\n };\n }\n static ɵfac = function ToastrModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastrModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ToastrModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n return ToastrModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ToastrComponentlessModule = /*#__PURE__*/(() => {\n class ToastrComponentlessModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastrModule,\n providers: [{\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultNoComponentGlobalConfig,\n config\n }\n }]\n };\n }\n static ɵfac = function ToastrComponentlessModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastrComponentlessModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ToastrComponentlessModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n return ToastrComponentlessModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ToastNoAnimation = /*#__PURE__*/(() => {\n class ToastNoAnimation {\n toastrService;\n toastPackage;\n appRef;\n message;\n title;\n options;\n duplicatesCount;\n originalTimeout;\n /** width of progress bar */\n width = signal(-1);\n /** a combination of toast type and options.toastClass */\n toastClasses = '';\n /** hides component when waiting to be displayed */\n get displayStyle() {\n if (this.state() === 'inactive') {\n return 'none';\n }\n return null;\n }\n /** controls animation */\n state = signal('inactive');\n timeout;\n intervalId;\n hideTime;\n sub;\n sub1;\n sub2;\n sub3;\n constructor(toastrService, toastPackage, appRef) {\n this.toastrService = toastrService;\n this.toastPackage = toastPackage;\n this.appRef = appRef;\n this.message = toastPackage.message;\n this.title = toastPackage.title;\n this.options = toastPackage.config;\n this.originalTimeout = toastPackage.config.timeOut;\n this.toastClasses = `${toastPackage.toastType} ${toastPackage.config.toastClass}`;\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\n this.activateToast();\n });\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\n this.remove();\n });\n this.sub2 = toastPackage.toastRef.timeoutReset().subscribe(() => {\n this.resetTimeout();\n });\n this.sub3 = toastPackage.toastRef.countDuplicate().subscribe(count => {\n this.duplicatesCount = count;\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n clearInterval(this.intervalId);\n clearTimeout(this.timeout);\n }\n /**\n * activates toast and sets timeout\n */\n activateToast() {\n this.state.set('active');\n if (!(this.options.disableTimeOut === true || this.options.disableTimeOut === 'timeOut') && this.options.timeOut) {\n this.timeout = setTimeout(() => {\n this.remove();\n }, this.options.timeOut);\n this.hideTime = new Date().getTime() + this.options.timeOut;\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n if (this.options.onActivateTick) {\n this.appRef.tick();\n }\n }\n /**\n * updates progress bar width\n */\n updateProgress() {\n if (this.width() === 0 || this.width() === 100 || !this.options.timeOut) {\n return;\n }\n const now = new Date().getTime();\n const remaining = this.hideTime - now;\n this.width.set(remaining / this.options.timeOut * 100);\n if (this.options.progressAnimation === 'increasing') {\n this.width.update(width => 100 - width);\n }\n if (this.width() <= 0) {\n this.width.set(0);\n }\n if (this.width() >= 100) {\n this.width.set(100);\n }\n }\n resetTimeout() {\n clearTimeout(this.timeout);\n clearInterval(this.intervalId);\n this.state.set('active');\n this.options.timeOut = this.originalTimeout;\n this.timeout = setTimeout(() => this.remove(), this.originalTimeout);\n this.hideTime = new Date().getTime() + (this.originalTimeout || 0);\n this.width.set(-1);\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n /**\n * tells toastrService to remove this toast after animation time\n */\n remove() {\n if (this.state() === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.state.set('removed');\n this.timeout = setTimeout(() => this.toastrService.remove(this.toastPackage.toastId));\n }\n tapToast() {\n if (this.state() === 'removed') {\n return;\n }\n this.toastPackage.triggerTap();\n if (this.options.tapToDismiss) {\n this.remove();\n }\n }\n stickAround() {\n if (this.state() === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.options.timeOut = 0;\n this.hideTime = 0;\n // disable progressBar\n clearInterval(this.intervalId);\n this.width.set(0);\n }\n delayedHideToast() {\n if (this.options.disableTimeOut === true || this.options.disableTimeOut === 'extendedTimeOut' || this.options.extendedTimeOut === 0 || this.state() === 'removed') {\n return;\n }\n this.timeout = setTimeout(() => this.remove(), this.options.extendedTimeOut);\n this.options.timeOut = this.options.extendedTimeOut;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width.set(-1);\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n static ɵfac = function ToastNoAnimation_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastNoAnimation)(i0.ɵɵdirectiveInject(ToastrService), i0.ɵɵdirectiveInject(ToastPackage), i0.ɵɵdirectiveInject(i0.ApplicationRef));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ToastNoAnimation,\n selectors: [[\"\", \"toast-component\", \"\"]],\n hostVars: 4,\n hostBindings: function ToastNoAnimation_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function ToastNoAnimation_click_HostBindingHandler() {\n return ctx.tapToast();\n })(\"mouseenter\", function ToastNoAnimation_mouseenter_HostBindingHandler() {\n return ctx.stickAround();\n })(\"mouseleave\", function ToastNoAnimation_mouseleave_HostBindingHandler() {\n return ctx.delayedHideToast();\n });\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.toastClasses);\n i0.ɵɵstyleProp(\"display\", ctx.displayStyle);\n }\n },\n attrs: _c0,\n decls: 5,\n vars: 5,\n consts: [[\"type\", \"button\", \"class\", \"toast-close-button\", \"aria-label\", \"Close\", 3, \"click\", 4, \"ngIf\"], [3, \"class\", 4, \"ngIf\"], [\"role\", \"alert\", 3, \"class\", \"innerHTML\", 4, \"ngIf\"], [\"role\", \"alert\", 3, \"class\", 4, \"ngIf\"], [4, \"ngIf\"], [\"type\", \"button\", \"aria-label\", \"Close\", 1, \"toast-close-button\", 3, \"click\"], [\"aria-hidden\", \"true\"], [\"role\", \"alert\", 3, \"innerHTML\"], [\"role\", \"alert\"], [1, \"toast-progress\"]],\n template: function ToastNoAnimation_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, ToastNoAnimation_button_0_Template, 3, 0, \"button\", 0)(1, ToastNoAnimation_div_1_Template, 3, 5, \"div\", 1)(2, ToastNoAnimation_div_2_Template, 1, 3, \"div\", 2)(3, ToastNoAnimation_div_3_Template, 2, 4, \"div\", 3)(4, ToastNoAnimation_div_4_Template, 2, 2, \"div\", 4);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.options.closeButton);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.title);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.message && ctx.options.enableHtml);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.message && !ctx.options.enableHtml);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.options.progressBar);\n }\n },\n dependencies: [NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return ToastNoAnimation;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst DefaultNoAnimationsGlobalConfig = {\n ...DefaultNoComponentGlobalConfig,\n toastComponent: ToastNoAnimation\n};\nlet ToastNoAnimationModule = /*#__PURE__*/(() => {\n class ToastNoAnimationModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastNoAnimationModule,\n providers: [{\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultNoAnimationsGlobalConfig,\n config\n }\n }]\n };\n }\n static ɵfac = function ToastNoAnimationModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToastNoAnimationModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ToastNoAnimationModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n return ToastNoAnimationModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, ComponentPortal, DefaultGlobalConfig, DefaultNoAnimationsGlobalConfig, DefaultNoComponentGlobalConfig, Overlay, OverlayContainer, OverlayRef, TOAST_CONFIG, Toast, ToastContainerDirective, ToastNoAnimation, ToastNoAnimationModule, ToastPackage, ToastRef, ToastrComponentlessModule, ToastrModule, ToastrService, provideToastr };\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { JBrowseTrackInfo } from './config';\n\nfunction trackCompare(trackA: JBrowseTrackInfo, trackB: JBrowseTrackInfo,\n fieldName: string): number {\n\n let direction = fieldName.charAt(0);\n if (direction === '+' || direction === '-') {\n fieldName = fieldName.substring(1);\n } else {\n direction = '+';\n }\n\n let fieldValueA = (trackA as any)[fieldName] as string|undefined;\n let fieldValueB = (trackB as any)[fieldName] as string|undefined;\n\n if (direction === '-') {\n const tmp = fieldValueB;\n fieldValueB = fieldValueA;\n fieldValueA = tmp;\n }\n\n if (fieldValueA === undefined || fieldValueA.length == 0) {\n if (fieldValueB === undefined || fieldValueB.length == 0) {\n return 0;\n } else {\n return 1;\n }\n } else {\n if (fieldValueB === undefined || fieldValueB.length == 0) {\n return -1\n } else {\n return fieldValueA.localeCompare(fieldValueB);\n }\n }\n}\n\n\n@Pipe({\n name: 'jbrowseTrackOrderBy',\n standalone: false\n})\nexport class JbrowseTrackOrderByPipe implements PipeTransform {\n\n transform(jbrowseTracks: Array, fieldName: string): Array {\n\n jbrowseTracks.sort((trackA, trackB) =>\n trackCompare(trackA, trackB, fieldName));\n\n return jbrowseTracks;\n }\n}\n","import { Component, OnInit, OnChanges, Input, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { ToastrService } from 'ngx-toastr';\n\nimport { getJBrowseTracksByPMID, JBrowseTrackInfo, getAppConfig, JBrowseColumnConfig, getJBrowseTracksByGeneName } from '../config';\n\nconst JBROWSE_URL_LIMIT = 1500;\n\n@Component({\n selector: 'app-jbrowse-track-picker',\n templateUrl: './jbrowse-track-picker.component.html',\n styleUrls: ['./jbrowse-track-picker.component.css'],\n standalone: false\n})\nexport class JbrowseTrackPickerComponent implements OnInit, OnChanges {\n @Input() identifier: string;\n @Input() identifierType: 'gene'|'reference';\n\n appConfig = getAppConfig();\n\n tracks: Array = [];\n colConfig: Array = [];\n tracksVisible = true;\n\n selectedTracks: { [key: string]: boolean } = {};\n selectedTrackCount = 0;\n selectedLabelLength = 0;\n\n orderByFieldName = '+label';\n\n constructor(@Inject(DOCUMENT) private document: Document,\n private toastr: ToastrService) {\n }\n\n hasTracks(): boolean {\n return this.tracks.length > 0;\n }\n\n setOrderBy(fieldName: string) {\n this.orderByFieldName = '+' + fieldName;\n }\n\n selectAll() {\n this.selectNone();\n\n for (let track of this.tracks) {\n if (this.selectedLabelLength < JBROWSE_URL_LIMIT) {\n this.selectedLabelLength += track.label.length;\n this.selectedTracks[track.label] = true;\n this.selectedTrackCount++;\n } else {\n this.toastr.warning('Only ' + this.selectedTrackCount +\n ' tracks selected due to a JBrowse limit');\n break;\n }\n }\n }\n\n selectNone() {\n this.tracks.map(track => {\n this.selectedTracks[track.label] = false;\n });\n\n this.selectedLabelLength = 0;\n this.selectedTrackCount = 0;\n }\n\n trackSelected(label: string) {\n if (this.selectedTracks[label]) {\n this.selectedLabelLength += label.length;\n } else {\n this.selectedLabelLength -= label.length;\n }\n if (this.selectedLabelLength > JBROWSE_URL_LIMIT) {\n this.toastr.warning('No more tracks can be selected due to a JBrowse limit');\n }\n\n this.setSelectedCount();\n }\n\n setSelectedCount() {\n this.selectedTrackCount = 0;\n this.tracks.map(track => {\n if (this.selectedTracks[track.label]) {\n this.selectedTrackCount++;\n }\n });\n }\n\n selectedCount(): number {\n return this.selectedTrackCount;\n }\n\n loadButtonDisabled(): boolean {\n return this.selectedCount() === 0;\n }\n\n selectCheckboxesDisabled(): boolean {\n return this.selectedLabelLength > JBROWSE_URL_LIMIT;\n }\n\n loadInJBrowse() {\n let labels = this.appConfig.defaultJBrowseTracks.map(track => track.label);\n this.tracks.filter(track => this.selectedTracks[track.label])\n .map(track => labels.push(track.label));\n let path = encodeURI(this.appConfig.jbrowseTrackPickerBaseUrl + labels.join(','));\n this.document.location.href = path;\n }\n\n setTracks() {\n if (this.identifierType == 'gene') {\n this.tracks = getJBrowseTracksByGeneName(this.identifier);\n } else {\n this.tracks = getJBrowseTracksByPMID(this.identifier);\n }\n this.tracks.map(track => {\n this.selectedTracks[track.label] = false;\n });\n\n this.colConfig = [];\n\n this.appConfig.refPageJBrowseColumns.map(colConf => {\n let isEmpty = true;\n for (let track of this.tracks) {\n if (!!(track as any)[colConf.name]) {\n isEmpty = false;\n break;\n }\n }\n if (!isEmpty) {\n this.colConfig.push(colConf);\n }\n });\n\n this.setSelectedCount();\n }\n\n showTracks() {\n this.tracksVisible = true;\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.setTracks();\n }\n}\n","
\n
\nGenome browser tracks\n associated with this gene: \n from this publication:\n
\n
\n \n \n A dataset\n associated with {{identifier}}\n from this publication\n is available in the genome browser\n {{tracks.length}} datasets\n associated with {{identifier}}\n from this publication\n are available in the genome browser\n\n \n\n
\n
\n
\n
\n Choose tracks to view\n
\n
\n Select: all | none\n
\n
\n\n \n
\n\n \n \n \n \n \n \n \n \n \n\n \n \n
\n\n \n
\n {{col.display_name}}\n {{col.display_name}}\n
\n
\n {{col.display_name}}\n
\n
\n \n \n Download ...\n {{track[col.name] || ''}}\n
\n
\n
\n
\n","import { GeneticInteractionTable, ThroughputType } from '../pombase-api.service';\nimport { Filter } from '../filtering';\n\nexport class GeneticInteractionThroughputFilter implements Filter {\n constructor(private throughputType: ThroughputType) { }\n\n filter(interactionTable: GeneticInteractionTable): [GeneticInteractionTable, number, number] {\n let retTable: GeneticInteractionTable = [];\n let count = interactionTable.length;\n\n\n for (const interaction of interactionTable) {\n let matchingDetails = [];\n\n for (const detail of interaction.details) {\n if (detail.throughput && detail.throughput === this.throughputType) {\n matchingDetails.push(detail);\n }\n }\n\n if (matchingDetails.length > 0) {\n let interactionCopy = Object.assign({}, interaction);\n interactionCopy.details = matchingDetails;\n\n retTable.push(interactionCopy);\n }\n }\n\n return [retTable, count, retTable.length];\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\nimport { GeneticInteractionGroup, ThroughputType } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { GeneticInteractionThroughputFilter } from '../filtering/genetic-interaction-throughput-filter';\nimport { Filter } from '../filtering';\n\nclass SelectData {\n constructor(public displayName: string,\n // set to true iff there is annotation in the table that has this\n // throughput\n public active: boolean,\n public throughput: ThroughputType) { }\n}\n\n\n@Component({\n selector: 'app-genetic-interaction-table-throughput-filter',\n templateUrl: './genetic-interaction-table-throughput-filter.component.html',\n styleUrls: ['./genetic-interaction-table-throughput-filter.component.css'],\n standalone: false\n})\nexport class GeneticInteractionTableThroughputFilterComponent implements OnInit, OnChanges {\n @Input() interactionTable: Array;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>>();\n\n selectedCategory: any = null;\n\n choiceData: Array = [];\n reset(): void {\n this.selectedCategory = null;\n this.setCategory(undefined);\n }\n\n setCategory(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new GeneticInteractionThroughputFilter(event.throughput));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedCategory = null;\n\n this.choiceData = [];\n\n let seenThroughput: { [key: string]: boolean } = {};\n\n for (let interaction of this.interactionTable) {\n for (let detail of interaction.details) {\n seenThroughput[detail.throughput] = true;\n }\n }\n\n if (this.config.throughput_categories) {\n for (let category of this.config.throughput_categories) {\n let active = seenThroughput[category.throughput_type];\n\n let selectData = new SelectData(category.display_name,\n active, category.throughput_type);\n\n this.choiceData.push(selectData);\n }\n }\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { GeneticInteractionTable } from '../pombase-api.service';\nimport { Filter } from '../filtering';\nimport { InteractionTypeFilterCategory } from '../config';\n\nexport class GeneticInteractionTypeFilter implements Filter {\n constructor(private interactionType: InteractionTypeFilterCategory) {}\n\n\n filter(interactionTable: GeneticInteractionTable): [GeneticInteractionTable, number, number] {\n let retTable = [];\n let count = interactionTable.length;\n\n for (const interaction of interactionTable) {\n if (this.interactionType == interaction.interaction_type) {\n retTable.push(interaction);\n }\n }\n\n return [retTable, count, retTable.length];\n }\n}","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\n\nimport { GeneticInteractionGroup } from '../pombase-api.service';\nimport { FilterConfig, InteractionTypeFilterCategory } from '../config';\nimport { GeneticInteractionTypeFilter } from '../filtering/genetic-interaction-type-filter';\nimport { Filter } from '../filtering';\n\nclass SelectData {\n constructor(public interactionType: string,\n // set to true iff there is annotation in the table that has this\n // type\n public active: boolean) { }\n}\n\n@Component({\n selector: 'app-genetic-interaction-table-type-filter',\n templateUrl: './genetic-interaction-table-type-filter.component.html',\n styleUrls: ['./genetic-interaction-table-type-filter.component.css'],\n standalone: false\n})\nexport class GeneticInteractionTableTypeFilterComponent implements OnInit, OnChanges {\n @Input() interactionTable: Array;\n @Input() config: FilterConfig;\n @Output() filterChange = new EventEmitter>>();\n\n selectedType: any = null;\n\n choiceData: Array = [];\n reset(): void {\n this.selectedType = null;\n this.setType(undefined);\n }\n\n setType(event?: SelectData): void {\n if (event) {\n this.filterChange.emit(new GeneticInteractionTypeFilter(event.interactionType));\n } else {\n this.filterChange.emit(undefined);\n }\n }\n\n constructor() { }\n\n ngOnInit(): void { }\n\n ngOnChanges() {\n this.selectedType = null;\n\n this.choiceData = [];\n\n let seenType: { [key: InteractionTypeFilterCategory]: boolean } = {};\n\n for (let interaction of this.interactionTable) {\n seenType[interaction.interaction_type] = true;\n }\n\n if (this.config.interaction_types) {\n for (let interaction_type of this.config.interaction_types) {\n let active = seenType[interaction_type];\n\n let selectData = new SelectData(interaction_type, active);\n\n this.choiceData.push(selectData);\n }\n }\n }\n}\n","\n {{config.display_name}}\n\n \n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\nimport { GeneticInteractionTable, GeneticInteractionGroup } from '../pombase-api.service';\nimport { FilterConfig } from '../config';\nimport { FilterCombiner, GeneticInteractionFilter } from '../filtering';\n\n@Component({\n selector: 'app-genetic-interaction-table-filters',\n templateUrl: './genetic-interaction-table-filters.component.html',\n styleUrls: ['./genetic-interaction-table-filters.component.css'],\n standalone: false\n})\nexport class GeneticInteractionTableFiltersComponent implements OnInit {\n @Input() interactionTable: Array;\n @Input() filters: Array;\n @Output() filterChange = new EventEmitter();\n\n currentFilters: { [key: string]: GeneticInteractionFilter } = {};\n\n filterChanged(filterType: string, event: GeneticInteractionFilter) {\n if (event) {\n this.currentFilters[filterType] = event;\n } else {\n delete this.currentFilters[filterType];\n }\n\n let eventsToEmit = [];\n\n for (let filterName of Object.keys(this.currentFilters)) {\n eventsToEmit.push(this.currentFilters[filterName]);\n }\n\n if (eventsToEmit.length === 0) {\n this.filterChange.emit(undefined);\n } else {\n this.filterChange.emit(new FilterCombiner(eventsToEmit));\n }\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n }\n}\n","
\n Filters:\n \n \n \n \n \n \n
\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\nimport { GeneticInteractionGroup, GeneShort, GeneDetails, ReferenceShort, GenotypeShort, ThroughputType, ExtPart } from '../pombase-api.service';\nimport { getAnnotationTableConfig, AnnotationTableConfig, AppConfig, getAppConfig, FilterConfig } from '../config';\nimport { Util } from '../shared/util';\nimport { GeneticInteractionFilter } from '../filtering';\nimport { TermShort } from '../pombase-query';\nimport { TableViewState } from '../pombase-types';\n\ninterface DisplayDetail {\n reference: ReferenceShort;\n genotype_a_uniquename?: string;\n genotype_b_uniquename?: string;\n double_mutant_phenotype?: TermShort;\n double_mutant_extension?: Array;\n double_mutant_genotype?: GenotypeShort;\n rescued_phenotype?: TermShort;\n rescued_phenotype_extension?: Array;\n throughput: ThroughputType;\n interaction_note?: string;\n}\n\ninterface DisplayAnnotation {\n id: string;\n gene_a: GeneShort;\n gene_b: GeneShort;\n interaction_type: string;\n displayLabel: string;\n details: Array;\n showColumn: Set,\n}\n\n@Component({\n selector: 'app-genetic-interaction-annotation-table',\n templateUrl: './genetic-interaction-annotation-table.component.html',\n styleUrls: ['./genetic-interaction-annotation-table.component.css'],\n standalone: false\n})\nexport class GeneticInteractionAnnotationTableComponent implements OnInit, OnChanges {\n @Input() annotationTypeName: string;\n @Input() currentGene: GeneDetails;\n @Input() tableHeader = 'Genetic interaction';\n @Input() hideColumns: Array = [];\n @Input() annotationTable: Array;\n\n // copy to the component for use in template\n TableViewState = TableViewState;\n\n config: AnnotationTableConfig = getAnnotationTableConfig();\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n filteredTable: Array;\n\n annotationTypeDisplayName: string;\n hideColumn: { [key: string]: boolean } = {};\n\n displayTable: Array = [];\n helpIconTitle = 'View documentation';\n\n queryLinkUrl: string;\n biogridUrl: string;\n annotationCount: any;\n filteredAnnotationCount: any;\n tableIsFiltered: boolean;\n filters?: Array;\n interactionNoteRef: any;\n detailsView: { [key: string]: boolean } = {};\n currentViewState = TableViewState.Summary;\n\n interactionSources = this.appConfig.data_sources.interactions;\n\n constructor() { }\n\n ngOnInit() {\n let typeConfig = this.config.annotationTypes[this.annotationTypeName];\n this.filters = typeConfig.filters;\n\n if (typeConfig && typeConfig.display_name) {\n this.annotationTypeDisplayName =\n this.config.annotationTypes[this.annotationTypeName].display_name;\n this.helpIconTitle = 'Click to view documentation for ' + typeConfig.display_name;\n } else {\n this.annotationTypeDisplayName = this.annotationTypeName;\n this.helpIconTitle = 'Click to view documentation';\n }\n }\n\n annotationHasOnlyReference(annotation: DisplayAnnotation): boolean {\n return !annotation.showColumn.has('double_mutant_genotype') &&\n !annotation.showColumn.has('double_mutant_phenotype') &&\n !annotation.showColumn.has('rescued_phenotype');\n }\n\n detailsViewVisible(interaction: DisplayAnnotation): boolean {\n return this.detailsView[interaction.id] || false;\n }\n\n toggleDetails(interaction: DisplayAnnotation) {\n if (!this.hasSomeDetails(interaction)) {\n return;\n }\n\n this.detailsView[interaction.id] = !this.detailsView[interaction.id];\n\n let seenSummarised = false;\n\n for (let annotation of this.displayTable) {\n if (!this.detailsViewVisible(annotation)) {\n seenSummarised = true;\n }\n }\n\n if (seenSummarised) {\n this.currentViewState = TableViewState.Summary;\n } else {\n this.currentViewState = TableViewState.Details;\n }\n }\n\n allDetailsView() {\n this.resetFilter();\n\n this.currentViewState = TableViewState.Details;\n for (let interaction of this.displayTable) {\n if (this.hasSomeDetails(interaction)) {\n this.detailsView[interaction.id] = true;\n }\n }\n }\n\n allSummaryView() {\n this.resetFilter();\n\n this.currentViewState = TableViewState.Summary;\n for (let interaction of this.annotationTable) {\n this.detailsView[interaction.id] = false;\n }\n }\n\n resetFilter(): void {\n this.updateCurrentFilter(undefined);\n }\n\n updateDisplayTable(): void {\n this.hideColumns.map(col => {\n this.hideColumn[col] = true;\n });\n\n this.hideColumn['interactionNote'] = true;\n\n if (this.filteredTable === null) {\n this.filteredTable = this.annotationTable;\n }\n\n let interactionType;\n\n if (this.annotationTypeName === 'physical_interactions') {\n interactionType = 'physical';\n } else {\n interactionType = 'genetic';\n }\n\n if (this.currentGene) {\n const json = `{\"constraints\":{\"interactors\":\n {\"gene_uniquename\": \"${this.currentGene.uniquename}\", \"interaction_type\": \"${interactionType}\"}},` +\n '\"output_options\": {\"field_names\":[\"gene_uniquename\"],\"sequence\":\"none\"}}';\n this.queryLinkUrl = `/results/from/json/${json}`;\n\n if (this.currentGene.biogrid_interactor_id) {\n const linkResult =\n this.appConfig.getExternalGeneLink('BioGRID', this.currentGene.taxonid,\n this.currentGene);\n if (linkResult) {\n [, this.biogridUrl] = linkResult;\n }\n }\n }\n\n this.displayTable =\n this.filteredTable.map(\n (interactionGroup) => {\n let displayAnnotation: DisplayAnnotation = {\n id: interactionGroup.id,\n gene_a: interactionGroup.gene_a,\n gene_b: interactionGroup.gene_b,\n interaction_type: interactionGroup.interaction_type,\n displayLabel: '',\n details: interactionGroup.details,\n showColumn: new Set(),\n };\n\n let labelConfig = this.config.interactionConfig[interactionGroup.interaction_type];\n\n if (!labelConfig) {\n return displayAnnotation;\n }\n\n let displayDetails: Array = [];\n\n interactionGroup.details.map(detail => {\n const newDetail: DisplayDetail = Object.assign({}, detail);\n\n if (newDetail.reference) {\n displayAnnotation.showColumn.add('reference');\n }\n\n if (newDetail.double_mutant_phenotype) {\n displayAnnotation.showColumn.add('double_mutant_phenotype');\n }\n if (newDetail.double_mutant_genotype) {\n displayAnnotation.showColumn.add('double_mutant_genotype');\n }\n if (newDetail.rescued_phenotype) {\n displayAnnotation.showColumn.add('rescued_phenotype');\n }\n\n displayDetails.push(newDetail);\n });\n\n displayAnnotation.details = displayDetails;\n\n displayAnnotation.displayLabel = labelConfig.baitLabel;\n\n if (this.currentGene) {\n if (this.currentGene.uniquename !== interactionGroup.gene_a.uniquename) {\n // current gene is the prey\n displayAnnotation.displayLabel = labelConfig.preyLabel;\n [displayAnnotation.gene_a, displayAnnotation.gene_b] =\n [displayAnnotation.gene_b, displayAnnotation.gene_a];\n }\n }\n\n return displayAnnotation;\n });\n\n this.displayTable.sort((a: DisplayAnnotation, b: DisplayAnnotation) => {\n if (this.currentGene) {\n const geneComp = Util.geneCompare(a.gene_b, b.gene_b);\n if (geneComp === 0) {\n return a.interaction_type.localeCompare(b.interaction_type);\n }\n return geneComp;\n } else {\n let geneComp = Util.geneCompare(a.gene_a, b.gene_a);\n if (geneComp === 0) {\n geneComp = Util.geneCompare(a.gene_b, b.gene_b);\n if (geneComp === 0) {\n return a.interaction_type.localeCompare(b.interaction_type);\n }\n }\n\n return geneComp;\n }\n });\n }\n\n hasSomeDetails(displayAnnotation: DisplayAnnotation): boolean {\n return displayAnnotation.showColumn.size > 0;\n }\n\n ngOnChanges() {\n this.updateCurrentFilter(undefined);\n this.allSummaryView();\n }\n\n updateCurrentFilter(filter?: GeneticInteractionFilter) {\n if (filter) {\n [this.filteredTable, this.annotationCount, this.filteredAnnotationCount] =\n filter.filter(this.annotationTable);\n } else {\n this.filteredTable = this.annotationTable;\n }\n\n this.tableIsFiltered = !!filter;\n\n this.updateDisplayTable();\n }\n}\n","
0\" class=\"annotation-table\">\n \n {{tableHeader}}\n\n \n \n \n\n
\n Source:\n Interactions curated by\n \n {{source.name}}\n , \n and\n {{siteName}}\n
\n\n \n View interactions for {{currentGene.displayName}} at BioGRID ...\n \n\n \n\n \n\n
\n \n Showing all interactions\n \n \n Showing {{filteredAnnotationCount}} of {{annotationCount}} interactions\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
GeneProductInteracting geneInteracting productInteraction type
\n \n -\n +\n \n \n \n {{annotation.gene_a.product}}{{annotation.displayLabel}}\n \n {{annotation.gene_b.product}}{{annotation.interaction_type}}
\n
\n Reference:\n \n \n \n |\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n Genotype\n \n \n \n Phenotype\n \n \n \n Single allele phenotype\n \n \n Reference\n
\n \n \n \n \n \n \n \n {{detail.double_mutant_phenotype.name}}\n \n
\n \n
\n
\n
\n \n \n {{detail.rescued_phenotype.name}}\n \n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n\n\n
\n
The genotype/phenotype details for this interaction are not currently curated
\n
\n
\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { faCaretDown, faCaretRight } from '@fortawesome/free-solid-svg-icons';\nimport { AppConfig, getAppConfig } from '../config';\nimport { GeneDetails, PombaseAPIService } from '../pombase-api.service';\nimport { GenePageWidget, SettingsService } from '../settings.service';\n\n@Component({\n selector: 'app-gene-page-widgets',\n templateUrl: './gene-page-widgets.component.html',\n styleUrls: ['./gene-page-widgets.component.css'],\n standalone: false\n})\nexport class GenePageWidgetsComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n\n faCaretDown = faCaretDown;\n faCaretRight = faCaretRight;\n\n appConfig: AppConfig = getAppConfig();\n jbrowseLinkUrl?: string;\n\n constructor(private pombaseApiService: PombaseAPIService,\n public settingsService: SettingsService) { }\n\n setJBrowseLink(): void {\n if (this.geneDetails && this.geneDetails.location) {\n this.pombaseApiService.getChromosomeSummaryMapPromise()\n .then(chromosomeSummaryMap => {\n const loc = this.geneDetails.location;\n const chrName = loc.chromosome_name;\n const chr = chromosomeSummaryMap[chrName];\n const chrLength = chr.length;\n\n const lowerPos = Math.min(loc.start_pos, loc.end_pos);\n const upperPos = Math.max(loc.start_pos, loc.end_pos);\n\n const mid = Math.round((lowerPos + upperPos) / 2);\n\n const jbHalfWidth = 8000;\n let jbStart = mid - jbHalfWidth;\n if (jbStart < 1) {\n jbStart = 1;\n }\n\n let jbEnd = mid + jbHalfWidth;\n if (jbEnd > chrLength) {\n jbEnd = chrLength;\n }\n\n\n const chrConfig = this.appConfig.getChromosomeConfigByName(chrName);\n\n let chrExportId;\n if (chrConfig) {\n chrExportId = chrConfig.export_id;\n } else {\n chrExportId = chrName;\n }\n\n const tracks = 'Forward%20strand%20features%2CReverse%20strand%20features%2CDNA%20sequence';\n this.jbrowseLinkUrl =\n `jbrowse/?loc=${chrExportId}%3A${jbStart}..${jbEnd}&tracks=${tracks}&tracklist=0&nav=0&overview=0`;\n });\n } else {\n this.jbrowseLinkUrl = undefined;\n }\n }\n\n currentWidget(): GenePageWidget {\n let current = this.settingsService.genePageMainWidget;\n\n if (current == 'gocam_viewer' && this.geneDetails.gocams.length == 0) {\n current = 'protein_feature_viewer';\n }\n\n if (current == 'pdb_viewer' && !this.hasPDBStructure()) {\n current = 'alphafold_viewer';\n }\n\n if (current == 'alphafold_viewer' && !this.hasStructure()) {\n current = 'protein_feature_viewer';\n }\n\n if (current == 'rna_2d_structure' && !this.hasRna2dStructure()) {\n current = 'genome_browser';\n }\n\n if (current == 'protein_feature_viewer' && !this.showProteinFeatures()) {\n current = 'genome_browser';\n }\n\n return current;\n }\n\n hideAllWidgets() {\n this.settingsService.genePageMainWidget = 'none';\n }\n\n hasStructure(): boolean {\n if (!this.geneDetails.uniprot_identifier) {\n return false;\n }\n\n if (this.geneDetails.transcripts.length == 0) {\n return false;\n }\n\n const seq = this.geneDetails.transcripts[0].protein?.sequence;\n if (seq) {\n return seq.length > 0;\n } else {\n return false;\n }\n }\n\n hasPDBStructure(): boolean {\n return this.geneDetails.pdb_entries.length > 0;\n }\n\n hasRna2dStructure(): boolean {\n return !!this.geneDetails.rnacentral_2d_structure_id &&\n ['tRNA gene', 'snRNA gene', 'snoRNA gene', 'rRNA gene']\n .includes(this.geneDetails.feature_type);\n }\n\n showProteinFeatures(): boolean {\n return this.geneDetails.feature_type == \"mRNA gene\";\n }\n\n showGoCams(): boolean {\n return this.geneDetails.gocams.length > 0;\n }\n\n setWidget(widget: GenePageWidget) {\n this.settingsService.genePageMainWidget = widget;\n }\n\n getJBrowseIFrameURL(): string | undefined {\n return this.jbrowseLinkUrl;\n }\n\n\n ngOnInit(): void {\n }\n\n ngOnChanges(): void {\n this.setJBrowseLink();\n }\n}\n","
\n
\n
\n \n Available widgets:\n \n \n \n
\n
Predicted structure
\n \n
\n
\n\n \n \n
\n
PDB structures
\n \n
\n
\n\n \n \n
\n
RNA 2D structure
\n \n
\n
\n\n \n \n
\n
GO-CAM models
\n \n
\n
\n\n \n \n
\n
Protein features
\n \n
\n
\n\n \n
\n
Genome browser
\n \n
\n\n \n
\n Hide all\n
\n\n
\n
\n\n
\n\n
\n\n
\n
\n \n
\n
\n\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n
\n\n
\n
\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { GeneDetails, GeneHistoryEntry } from '../pombase-api.service';\nimport { Util } from '../shared/util';\n\ntype RefOrText = {\n text?: string;\n referenceUniquename?: string;\n}\n\nconst ftpLinkRE = /\\/(\\d\\d\\d\\d\\d\\d\\d\\d)\\/?$/;\nconst svnLinkRE = /\\/trunk\\/?\\?p=(\\d+)$/;\n\ninterface ProcessedHistoryEntry extends GeneHistoryEntry {\n processedReferences: Array>;\n processedShapshotLabel?: string;\n}\n\n@Component({\n selector: 'app-gene-history-table',\n templateUrl: './gene-history-table.component.html',\n styleUrls: ['./gene-history-table.component.css'],\n standalone: false\n})\nexport class GeneHistoryTableComponent implements OnInit, OnChanges {\n @Input() geneDetails: GeneDetails;\n\n processedHistory: Array = [];\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n currentStructure(): string {\n if (this.geneDetails.transcripts.length == 0) {\n return '';\n } else {\n return Util.transcriptStructureAsString(this.geneDetails.transcripts[0]);\n }\n }\n\n genomeSnapshotLabel(entry: ProcessedHistoryEntry): string {\n return entry.processedShapshotLabel || 'File';\n }\n\n ngOnChanges(): void {\n this.processedHistory = [];\n\n for (const historyEntry of this.geneDetails.gene_history) {\n let processedHistoryEntry = Object.assign({}, historyEntry) as ProcessedHistoryEntry;\n processedHistoryEntry.processedReferences = [];\n for (const ref of processedHistoryEntry.references) {\n let refParts = [];\n for (const part of ref.split(/(PMID:\\d\\d\\d+)/)) {\n let text = undefined;\n let referenceUniquename = undefined;\n\n if (part.match(/^(PMID:\\d\\d\\d+)$/)) {\n referenceUniquename = part;\n } else {\n text = part;\n }\n\n const processedRef = {\n text,\n referenceUniquename,\n } as RefOrText;\n\n refParts.push(processedRef);\n }\n\n processedHistoryEntry.processedReferences.push(refParts);\n }\n\n const snapshotLink = historyEntry.genome_snapshot_link;\n\n if (snapshotLink) {\n const ftpMatch = ftpLinkRE.exec(snapshotLink)\n if (ftpMatch) {\n processedHistoryEntry.processedShapshotLabel = 'ftp:' + ftpMatch[1];\n } else {\n const svnMatch = svnLinkRE.exec(snapshotLink);\n if (svnMatch) {\n processedHistoryEntry.processedShapshotLabel = 'svn:' + svnMatch[1];\n }\n }\n }\n\n this.processedHistory.push(processedHistoryEntry);\n }\n }\n}\n","
\n \n Gene structure history\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n Used until\n \n Gene structure\n \n Reference\n \n Comment\n \n Genome snapshot\n
\n {{entry.date}}\n \n {{entry.previous_coords}}\n \n \n \n \n {{ref.text}}\n \n \n {{ref.referenceUniquename}}\n \n \n \n \n {{entry.comments}}\n \n {{genomeSnapshotLabel(entry)}}\n
Now{{currentStructure()}}
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { Meta } from '@angular/platform-browser';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\n\nimport { faWarning } from '@fortawesome/free-solid-svg-icons';\n\nimport { SynonymDetails, GeneDetails, PombaseAPIService,\n ReferenceShort } from '../pombase-api.service';\n\nimport {\n getAnnotationTableConfig, AnnotationTableConfig,\n getAppConfig, AppConfig, ConfigOrganism, DetailsPageLinkConfig, getJBrowseTracksByGeneName, JBrowseTrackInfo,\n TypeOrderConfigItem\n} from '../config';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { Util } from '../shared/util';\nimport { MenuItem } from '../types';\n\nimport { AnnotationTableIntersection } from '../annotation-table-intersection-event';\n\n@Component({\n selector: 'app-gene-details',\n templateUrl: './gene-details.component.html',\n styleUrls: ['./gene-details.component.css'],\n standalone: false\n})\nexport class GeneDetailsComponent implements OnInit {\n geneDetails: GeneDetails;\n\n synonymsDisplay = '';\n displayFeatureType = '';\n displayLocation?: Array;\n annotationTypeOrder: Array = [];\n annotationTypeOrderNames: Array = [];\n menuItems: Array = [];\n onScreenItems: Set = new Set();\n config: AnnotationTableConfig = getAnnotationTableConfig();\n appConfig: AppConfig = getAppConfig();\n noGeneNameRoute = this.appConfig.no_gene_name_route;\n apiError: any = null;\n showProteinFeatures = false;\n productSizeOfTranscript1 = '';\n productSizeStrings: Array = [];\n transcriptCount = 0;\n // number of unique translations:\n proteinCount = 0;\n organism?: ConfigOrganism;\n organismLongName?: string;\n isConfiguredOrganism: boolean;\n hasCharacterisationStatus = this.appConfig.has_characterisation_status;\n faWarning = faWarning;\n locationWarning?: string;\n\n extraMenuSections: Array<{ id: string; displayName: string; }> = [];\n\n products: Array = [];\n\n externalLinks: Array;\n\n miscAnnotationTypeNames = ['cat_act', 'ex_tools', 'genome_org', 'misc', 'm_f_g'];\n currentGeneBrowserTracks: Array;\n\n trackPickerVisible = false;\n\n sourcePublications: Array = [];\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n public deployConfigService: DeployConfigService,\n private readonly meta: Meta,\n @Inject('Window') private window: any\n ) { }\n\n getCDSDisplayLocation(): string|undefined {\n if (this.geneDetails.transcripts.length > 0) {\n const transcript = this.geneDetails.transcripts[0];\n\n const cds_location = transcript.cds_location;\n\n if (!cds_location) {\n return undefined;\n }\n\n const len = cds_location.end_pos - cds_location.start_pos + 1;\n\n if (cds_location.strand === 'reverse') {\n return `${cds_location.end_pos}-${cds_location.start_pos} (${len}nt)`;\n } else {\n return `${cds_location.start_pos}-${cds_location.end_pos} (${len}nt)`;\n }\n }\n\n return undefined;\n }\n\n makeDisplayLocation(): Array|undefined {\n const location = this.geneDetails.location;\n if (!location) {\n return undefined;\n }\n const chromosomeName = location.chromosome_name;\n const chromosomeConfig = this.appConfig.getChromosomeConfigByName(chromosomeName);\n\n let chrDisplayName;\n if (chromosomeConfig) {\n chrDisplayName = chromosomeConfig.short_display_name || chromosomeName;\n } else {\n chrDisplayName = chromosomeName;\n }\n\n let genomicLocation;\n if (location.strand === 'reverse') {\n genomicLocation = location.end_pos + '-' + location.start_pos;\n } else {\n genomicLocation = location.start_pos + '-' + location.end_pos;\n }\n genomicLocation += ' (' + (location.end_pos - location.start_pos + 1) + 'nt)';\n\n const cdsDisplayLocation = this.getCDSDisplayLocation();\n\n if (cdsDisplayLocation) {\n return [chrDisplayName, `${cdsDisplayLocation} coding start to stop`,\n `${genomicLocation} including UTRs`];\n } else {\n return [chrDisplayName, genomicLocation];\n }\n }\n\n makeDisplayFeatureType(rawFeatureType: string): string {\n if (rawFeatureType === 'mRNA gene') {\n return 'protein coding';\n } else {\n return rawFeatureType;\n }\n }\n\n makeSynonymsDisplay(synonyms: Array): string {\n return synonyms\n .filter((synonym) => synonym.type !== 'obsolete_name')\n .map((synonym) => {\n if (synonym.type === 'exact') {\n return synonym.name;\n } else {\n return synonym.name + ' (' + synonym.type + ')';\n }\n }).join(', ');\n }\n\n displayNameLong(): string {\n if (this.geneDetails) {\n let nameId = '';\n if (this.geneDetails.name) {\n nameId = this.geneDetails.name + ' (' + this.geneDetails.uniquename + ')';\n } else {\n nameId = this.geneDetails.uniquename;\n }\n\n if (this.geneDetails.product) {\n return nameId + ' - ' + this.geneDetails.product;\n } else {\n return nameId;\n }\n } else {\n return 'UNKNOWN';\n }\n }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name + ' - Gene - ' + this.displayNameLong();\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n hasMiscAnnotations(): boolean {\n for (let annotationTypeName of this.miscAnnotationTypeNames) {\n if (this.geneDetails.cv_annotations[annotationTypeName] &&\n this.geneDetails.cv_annotations[annotationTypeName].length > 0) {\n return true;\n }\n }\n return false;\n }\n\n showOrthologsSection(): boolean {\n return this.geneDetails.ortholog_annotations.length > 0 ||\n this.geneDetails.feature_type === 'mRNA gene' ||\n this.geneDetails.feature_type === 'pseudogene';\n }\n\n hasCvAnnotations(cvName: string): boolean {\n return this.geneDetails.cv_annotations[cvName] &&\n this.geneDetails.cv_annotations[cvName].length > 0;\n }\n\n setMenuItems(): void {\n\n this.menuItems = [];\n\n const makeMenuItem = (typeOrderConfig: TypeOrderConfigItem,\n subTypesWithAnnotation?: Array) =>\n {\n let typeConfig = this.config.getAnnotationType(typeOrderConfig.name);\n let subItems: Array = [];\n\n let id = typeOrderConfig.name;\n\n if (subTypesWithAnnotation && subTypesWithAnnotation.length > 0) {\n for (const subTypeName of subTypesWithAnnotation) {\n let subTypeConfig = this.config.getAnnotationType(subTypeName);\n\n if (subTypeConfig.split_by_parents) {\n subTypeConfig.split_by_parents.map(splitByConf => {\n const groups = this.geneDetails.split_by_parent_groups;\n if (groups) {\n const thisCvGroup = groups[subTypeName];\n if (thisCvGroup) {\n if (thisCvGroup[splitByConf.config_name]) {\n const displayName =\n (subTypeConfig.menu_item_label || subTypeConfig.display_name ||\n subTypeName) +\n ' - ' + splitByConf.display_name\n subItems.push({\n id: subTypeName + '-' + splitByConf.config_name,\n displayName: Util.capitalize(displayName),\n });\n }\n }\n }\n });\n } else {\n subItems.push({\n id: subTypeName,\n displayName: subTypeConfig.menu_item_label ||\n subTypeConfig.display_name || Util.capitalize(subTypeName),\n });\n }\n }\n\n // hack so that clicking on eg. \"Expression\" scrolls to first expression section\n id = subTypesWithAnnotation[0];\n }\n\n return {\n id,\n displayName: typeConfig.menu_item_label ||\n typeConfig.display_name || Util.capitalize(typeOrderConfig.name),\n subItems,\n };\n\n };\n\n for (let typeOrderConfig of this.annotationTypeOrder) {\n if (typeOrderConfig.name === 'protein_domains_and_properties') {\n if (this.showProteinFeatures &&\n this.geneDetails.feature_type === 'mRNA gene') {\n this.menuItems.push(makeMenuItem(typeOrderConfig));\n }\n continue;\n }\n\n if (typeOrderConfig.name === 'interactions') {\n let subTypes = [];\n\n if (this.geneDetails.physical_interactions &&\n this.geneDetails.physical_interactions.length > 0) {\n subTypes.push('physical_interactions');\n }\n\n if (this.geneDetails.genetic_interactions &&\n this.geneDetails.genetic_interactions.length > 0) {\n subTypes.push('genetic_interactions');\n }\n\n if (subTypes.length > 0) {\n this.menuItems.push(makeMenuItem(typeOrderConfig, subTypes));\n }\n continue;\n }\n\n if (typeOrderConfig.name === 'homologs and conservation') {\n let subTypes = [];\n\n if (this.showOrthologsSection()) {\n subTypes.push('orthologs');\n }\n\n if (this.geneDetails.paralog_annotations &&\n this.geneDetails.paralog_annotations.length > 0) {\n subTypes.push('paralogs');\n }\n\n if (this.geneDetails.cv_annotations['species_dist'] &&\n this.geneDetails.cv_annotations['species_dist'].length > 0) {\n subTypes.push('species_dist');\n }\n\n if (subTypes.length > 0) {\n this.menuItems.push(makeMenuItem(typeOrderConfig, subTypes));\n }\n continue;\n }\n\n if (typeOrderConfig.name === 'target_of') {\n if (this.geneDetails.target_of_annotations &&\n this.geneDetails.target_of_annotations.length > 0) {\n this.menuItems.push(makeMenuItem(typeOrderConfig));\n }\n continue;\n }\n\n if (typeOrderConfig.sub_types) {\n const subTypesWithAnnotation =\n typeOrderConfig.sub_types.filter(subTypeName => {\n return this.hasCvAnnotations(subTypeName);\n });\n\n if (subTypesWithAnnotation.length > 0) {\n this.menuItems.push(makeMenuItem(typeOrderConfig, subTypesWithAnnotation));\n }\n } else {\n if (this.hasCvAnnotations(typeOrderConfig.name)) {\n this.menuItems.push(makeMenuItem(typeOrderConfig));\n }\n }\n }\n\n if (this.geneDetails.gene_history.length > 0) {\n this.menuItems.push({\n id: 'gene-history',\n displayName: 'Gene structure history'\n });\n }\n\n let seqSubItems = [];\n\n if (this.geneDetails && this.geneDetails.transcripts &&\n this.geneDetails.transcripts.length > 0) {\n seqSubItems.push({\n id: 'transcript_view',\n displayName: 'Transcript details',\n });\n }\n\n seqSubItems.push({\n id: 'transcript-sequence',\n displayName: 'Sequence',\n });\n\n this.menuItems.push({\n id: seqSubItems[0].id,\n displayName: Util.capitalize('Sequence and transcripts'),\n subItems: seqSubItems,\n });\n\n this.menuItems.push({\n id: 'external-refs',\n displayName: 'External references',\n });\n\n this.menuItems.push({\n id: 'literature',\n displayName: 'Literature',\n });\n }\n\n scrollToPageTop(): void {\n this.window.scrollTo(0, 0);\n }\n\n setProducts(): void {\n this.products = [];\n const transcripts = this.geneDetails.transcripts;\n if (transcripts.length === 0) {\n return;\n }\n\n this.productSizeOfTranscript1 = Util.productStringOfTranscript(transcripts[0]);\n\n this.proteinCount = 0;\n\n let seenTranslations = new Set();\n\n this.geneDetails.transcripts.map(transcript => {\n const protein = transcript.protein;\n if (protein) {\n if (!seenTranslations.has(protein.sequence)) {\n seenTranslations.add(protein.sequence);\n this.proteinCount++;\n }\n if (protein.product && !this.products.includes(protein.product)) {\n this.products.push(protein.product);\n }\n }\n });\n\n if (this.products.length == 0 && this.geneDetails.product) {\n // fail-back if no transcript has a protein with a product\n this.products.push(this.geneDetails.product);\n }\n }\n\n private canBeShownAsSection(conf: TypeOrderConfigItem): boolean {\n return conf.sub_types !== undefined ||\n !this.config.getAnnotationType(conf.name).no_gene_details_section;\n }\n\n private setSourcePublications() {\n this.sourcePublications = [];\n\n for (const featurePub of this.geneDetails.feature_publications) {\n if (featurePub.source == \"contig_file_dbxref\") {\n this.sourcePublications.push(featurePub.reference);\n }\n }\n }\n\n showTrackPicker(): void {\n this.trackPickerVisible = true;\n }\n\n showCharacterisationStatus(): boolean {\n return this.isConfiguredOrganism && this.hasCharacterisationStatus &&\n !!this.geneDetails.characterisation_status;\n }\n\n intersect(annotationTypeName: string, isIntersecting: boolean): void {\n if (isIntersecting) {\n this.onScreenItems.add(annotationTypeName);\n } else {\n this.onScreenItems.delete(annotationTypeName);\n }\n }\n\n subTableIntersect(event: AnnotationTableIntersection) {\n this.intersect(event.annotationTypeName, event.isIntersecting);\n }\n\n ngOnInit(): void {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n let uniquename = params['uniquename'];\n\n this.pombaseApiService.getGene(uniquename)\n .then(geneDetails => {\n this.geneDetails = geneDetails;\n this.externalLinks =\n this.appConfig.getGenePageExternalLinks(this.geneDetails);\n this.currentGeneBrowserTracks = getJBrowseTracksByGeneName(geneDetails.name);\n this.trackPickerVisible = false;\n this.synonymsDisplay = this.makeSynonymsDisplay(geneDetails.synonyms);\n this.displayLocation = this.makeDisplayLocation();\n this.displayFeatureType = this.makeDisplayFeatureType(geneDetails.feature_type);\n this.annotationTypeOrder = this.config.annotationTypeOrder\n .filter(typeConfig => {\n if (this.canBeShownAsSection(typeConfig)) {\n const annotationTypeConfig = this.config.getAnnotationType(typeConfig.name);\n\n if (annotationTypeConfig.deploy_mode) {\n const mode = this.deployConfigService.getMode();\n return mode === annotationTypeConfig.deploy_mode;\n } else {\n return true;\n }\n } else {\n return false;\n }\n });\n\n this.annotationTypeOrderNames = [];\n for (const orderConf of this.annotationTypeOrder) {\n if (orderConf.sub_types) {\n orderConf.sub_types.map(subTypeName =>\n this.annotationTypeOrderNames.push(subTypeName));\n } else {\n this.annotationTypeOrderNames.push(orderConf.name);\n }\n }\n\n this.setPageTitle();\n this.scrollToPageTop();\n this.setProducts();\n\n this.hasCharacterisationStatus = this.appConfig.has_characterisation_status &&\n (!this.geneDetails.feature_type.endsWith('RNA gene') ||\n !!this.geneDetails.characterisation_status);\n\n this.transcriptCount = this.geneDetails.transcripts.length;\n\n this.showProteinFeatures =\n this.geneDetails.transcripts.length > 0 &&\n !!this.geneDetails.transcripts[0].protein ||\n this.geneDetails.interpro_matches.length > 0 ||\n !!this.geneDetails.cv_annotations['pombase_family_or_domain'];\n this.setMenuItems();\n this.organism = this.appConfig.getOrganismByTaxonid(geneDetails.taxonid);\n this.organismLongName = this.organism.genus + ' ' + this.organism.species;\n this.isConfiguredOrganism = this.appConfig.isConfigOrganism(this.organism.taxonid);\n this.apiError = null;\n this.locationWarning = undefined;\n for (const locationWarningConf of this.appConfig.featureLocationWarnings) {\n for (const confFeatureType of locationWarningConf.feature_types) {\n if (confFeatureType == this.geneDetails.feature_type ||\n confFeatureType + ' gene' == this.geneDetails.feature_type) {\n this.locationWarning = locationWarningConf.warning;\n }\n }\n }\n this.setSourcePublications();\n })\n .catch((error: any) => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n
\n \n
\n
\n Gene:\n \n {{organism.common_name}}\n \n \n {{geneDetails.name}} / {{geneDetails.uniquename}}\n \n \n {{geneDetails.uniquename}}\n \n
\n
\n\n
\n
\n
Gene symbol
\n
\n {{geneDetails.name}}\n (none)\n \n \n \n
\n
Characterisation status
\n
{{geneDetails.characterisation_status}}
\n
\n 1\">Products\n Product\n
\n
1\">
  • {{product}}
\n
{{products[0]}}
\n
Feature type
\n
{{displayFeatureType}}
\n
Systematic ID
\n
{{geneDetails.uniquename}}
\n
Product size\n 1\">(of transcript 1)\n
\n
{{productSizeOfTranscript1}}
\n
Organism
\n
{{organismLongName}}
\n
Genomic location
\n
\n \n \n \n \n \n 2\">\n \n \n
\n {{displayLocation[0]}},\n {{displayLocation[1]}}\n \n {{locationWarning}}\n \n\n \n \n \n \n \n \n 1\">\n \n \n
{{displayLocation[2]}}
\n
\n
0\" class=\"details-label\">Synonyms
\n
0\">{{synonymsDisplay}}
\n
0\">Name description
\n
\n \n {{nameDesc}},
\n
\n
\n
\n\n
1\">\n Note: this gene has {{geneDetails.transcripts.length}} transcripts\n (see details)\n with 1 unique translation\n 1\">with {{proteinCount}} unique translations\n
\n
\n\n
\n \n
\n\n
0\"\n class=\"details-page-external-links\">\n
External link 1\">s:
\n \n
\n\n \n\n
\n \n \n
\n\n
\n\n
\n \n\n \n
\n\n \n\n \n\n\n \n\n \n \n\n \n \n \n
\n\n 0\"\n intersectionObserver\n (intersection)=\"intersect('transcript_view', $event.intersect)\"\n [geneDetails]=\"geneDetails\">\n\n \n\n \n \n\n \n\n \n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { GeneDetails, PombaseAPIService, GenotypeShort,\n AlleleShort } from '../pombase-api.service';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { Util } from '../shared/util';\n\nclass AlleleSection {\n public nameAndDescription: string;\n\n constructor(public alleleUniquename: string,\n public alleleName: string,\n public alleleDescription: string,\n public alleleType: string,\n public expressedAlleles: Array) {\n this.alleleName = Util.tidyAlleleName(alleleName);\n\n let description = this.alleleDescription;\n\n if (!description) {\n description = 'unknown';\n this.alleleDescription = '';\n }\n\n this.nameAndDescription = name + '(' + description + ')';\n }\n\n expressedAlleleCount(): number {\n return this.expressedAlleles.length;\n }\n\n genotypeCount(): number {\n let count = 0;\n\n for (const expressedAllele of this.expressedAlleles) {\n count += expressedAllele.genotypes.length;\n }\n\n return count;\n }\n}\n\nclass ExpressedAlleleSection {\n constructor(public expression: string, public genotypes: Array) {\n\n }\n}\n\ntype ExpressedAlleleMap = { [expression: string]: Array };\ntype AlleleMap = { [alleleUniquename: string]: ExpressedAlleleMap };\n\nfunction genotypeSorter(g1: GenotypeShort, g2: GenotypeShort) {\n if (g1.loci.length < g2.loci.length) {\n return -1;\n }\n if (g1.loci.length > g2.loci.length) {\n return 1;\n }\n\n if (g1.loci[0].expressed_alleles.length < g2.loci[0].expressed_alleles.length) {\n return -1;\n }\n if (g1.loci[0].expressed_alleles.length > g2.loci[0].expressed_alleles.length) {\n return 1;\n }\n\n return g1.displayNameLong.localeCompare(g2.displayNameLong);\n}\n\n@Component({\n selector: 'app-gene-allele-list',\n templateUrl: './gene-allele-list.component.html',\n styleUrls: ['./gene-allele-list.component.css'],\n standalone: false\n})\nexport class GeneAlleleListComponent implements OnInit {\n @Input() geneDetails: GeneDetails;\n\n alleleTable: Array;\n sortByColumnName: string = 'type';\n\n genotypeVisible: { [key: string ]: boolean } = {};\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n public deployConfigService: DeployConfigService) { }\n\n genotypesVisible(allele: AlleleSection): boolean {\n return !!this.genotypeVisible[allele.alleleUniquename];\n }\n\n anyVisibleGenotypes(): boolean {\n return Object.keys(this.genotypeVisible).length > 0;\n }\n\n showGenotypes(allele: AlleleSection): void {\n this.genotypeVisible[allele.alleleUniquename] = true;\n }\n\n showAllGenotypes(): void {\n for (const allele of this.alleleTable) {\n this.genotypeVisible[allele.alleleUniquename] = true;\n }\n }\n\n hideAllGenotypes(): void {\n this.genotypeVisible = {};\n }\n\n alleleRowspan(allele: AlleleSection): number {\n if (this.genotypesVisible(allele)) {\n return allele.genotypeCount();\n } else {\n return 1;\n }\n }\n\n sortBy(columnName: 'name'|'description'|'type'): void {\n this.sortByColumnName = columnName;\n\n this.sortTable();\n }\n\n sortTable(): void {\n if (this.sortByColumnName == 'type') {\n this.alleleTable.sort((a, b) => {\n if (a.alleleType === b.alleleType) {\n return a.nameAndDescription.localeCompare(b.nameAndDescription);\n } else {\n return a.alleleType.localeCompare(b.alleleType);\n }\n });\n } else {\n this.alleleTable.sort((a, b) => {\n let result;\n\n if (this.sortByColumnName === 'name') {\n result = a.alleleName.localeCompare(b.alleleName);\n } else {\n if (a.alleleDescription.length == 0 && b.alleleDescription.length == 0) {\n result = 0;\n } else {\n if (a.alleleDescription.length == 0) {\n // missing / blank description sort last\n result = 1;\n } else {\n if (b.alleleDescription.length == 0) {\n return -1\n } else {\n result = a.alleleDescription.localeCompare(b.alleleDescription);\n }\n }\n }\n }\n\n if (result === 0) {\n result = a.alleleType.localeCompare(b.alleleType);\n }\n\n return result;\n })\n\n }\n }\n\n makeAlleleTable(): void {\n this.alleleTable = [];\n\n const alleleExpressionGenotypeMap: AlleleMap = {};\n\n const alleleMap: { [alleleUniquename: string]: AlleleShort } = {};\n\n GENOTYPE:\n for (const genotypeUniquename of Object.keys(this.geneDetails.genotypes_by_uniquename)) {\n const genotypeShort = this.geneDetails.genotypes_by_uniquename[genotypeUniquename];\n\n for (const locus of genotypeShort.loci) {\n for (const expressedAllele of locus.expressed_alleles) {\n const allele = expressedAllele.allele;\n\n if (allele.gene_uniquename !== this.geneDetails.uniquename) {\n continue;\n }\n\n if (!alleleMap[allele.uniquename]) {\n alleleMap[allele.uniquename] = allele;\n }\n\n if (!alleleExpressionGenotypeMap[allele.uniquename]) {\n alleleExpressionGenotypeMap[allele.uniquename] = {};\n }\n\n const expressedAlleleMap = alleleExpressionGenotypeMap[allele.uniquename];\n\n if (!expressedAlleleMap[expressedAllele.expression]) {\n expressedAlleleMap[expressedAllele.expression] = [];\n }\n\n expressedAlleleMap[expressedAllele.expression].push(genotypeShort);\n }\n }\n }\n\n for (const [alleleUniquename, expressedAlleleMap] of Object.entries(alleleExpressionGenotypeMap)) {\n const expressedAlleleSections = [];\n for (const [expression, genotypes] of Object.entries(expressedAlleleMap)) {\n genotypes.sort(genotypeSorter);\n expressedAlleleSections.push(new ExpressedAlleleSection(expression, genotypes));\n }\n\n expressedAlleleSections.sort((a, b) =>\n a.expression.localeCompare(b.expression)\n );\n\n const alleleShort = alleleMap[alleleUniquename];\n\n const alleleName = alleleShort.name;\n const alleleDescription = alleleShort.description;\n const alleleType = alleleShort.allele_type;\n\n const alleleSection =\n new AlleleSection(alleleUniquename, alleleName, alleleDescription, alleleType,\n expressedAlleleSections);\n this.alleleTable.push(alleleSection);\n }\n\n this.sortTable();\n }\n\n ngOnInit(): void {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n let uniquename = params['uniquename'];\n\n this.pombaseApiService.getGene(uniquename)\n .then(geneDetails => {\n this.geneDetails = geneDetails;\n\n this.makeAlleleTable();\n });\n }\n })\n }\n}\n","
\n\n \n\n
\n Show genotypes:\n All\n None\n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
\n \n Name \n \n \n Name \n \n \n \n Description \n \n \n Description \n \n \n \n Type \n \n \n Type \n \n ExpressionGenotype
\n {{allele.alleleName}}\n {{allele.alleleName}}\n \n {{allele.alleleDescription}}\n \n {{allele.alleleType}}\n \n\n \n Show genotypes..\n \n
{{expressedAllele.expression}}
\n
\n \n
\n\n
\n","import { Component, Input } from '@angular/core';\n\nimport { GeneDetails, ProteinViewTrack } from '../pombase-api.service';\nimport { PombaseAPIService, ProteinViewData } from '../pombase-api.service';\n\ninterface DisplayFeature {\n name: string;\n positions: string;\n}\n\ninterface DisplayTrack {\n name: string;\n isSingleRow: boolean;\n features: Array;\n}\n\n@Component({\n selector: 'app-protein-feature-table',\n templateUrl: './protein-feature-table.component.html',\n styleUrls: ['./protein-feature-table.component.css'],\n standalone: false\n})\nexport class ProteinFeatureTableComponent {\n @Input() geneDetails: GeneDetails\n\n proteinViewData?: ProteinViewData;\n displayTracks: Array = [];\n\n constructor(private pombaseApiService: PombaseAPIService) {\n }\n\n makeDisplayTracks(data: ProteinViewData): Array {\n const makeDisplayFeatures = (trackData: ProteinViewTrack) => {\n return trackData.features.map(feature => {\n const positions = feature.positions\n .map(pos => {\n if (pos[1] == pos[2]) {\n return pos[1];\n } else {\n return pos[1] + '..' + pos[2];\n }\n })\n .join(',');\n let name = feature.display_name || feature.id;\n // don't repeat the position in the name:\n name = name\n .split(' ')\n .filter(bit => bit != positions && bit != positions + '..' + positions)\n .join(' ');\n if (name == trackData.name) {\n name = '';\n }\n return {\n name,\n positions,\n }\n });\n };\n return data.tracks\n .filter(track => track.features.length > 0)\n .map((track) => {\n const displayFeatures = makeDisplayFeatures(track);\n let isSingleRow = false;\n if (displayFeatures.length == 1 && displayFeatures[0].name == '') {\n isSingleRow = true;\n }\n return {\n name: track.name,\n isSingleRow,\n features: displayFeatures,\n };\n });\n }\n\n ngOnInit(): void {\n const promise =\n this.pombaseApiService.getProteinViewData(this.geneDetails.uniquename, 'full');\n promise.then(data => {\n this.proteinViewData = data;\n this.displayTracks = this.makeDisplayTracks(data);\n });\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{track.name}}\n \n Position\n \n {{track.features[0].positions}}\n
\n {{feature.name}}\n \n {{feature.positions}}\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { GeneDetails, PombaseAPIService } from '../pombase-api.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { DeployConfigService } from '../deploy-config.service';\n\n@Component({\n selector: 'app-gene-protein-features',\n templateUrl: './gene-protein-features.component.html',\n styleUrls: ['./gene-protein-features.component.css'],\n standalone: false\n})\nexport class GeneProteinFeaturesComponent implements OnInit {\n @Input() geneDetails: GeneDetails;\n\n sanitizedURL?: SafeResourceUrl;\n\n featureTableVisible = false;\n\n constructor(private sanitizer: DomSanitizer,\n private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n public deployConfigService: DeployConfigService) {\n }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n ngOnInit(): void {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n const uniquename = params['uniquename'];\n\n this.pombaseApiService.getGene(uniquename)\n .then(geneDetails => {\n this.geneDetails = geneDetails;\n\n if (this.geneDetails.uniprot_identifier) {\n const rawUrl = 'protein_feature_view/full/' + this.geneDetails.uniquename;\n this.sanitizedURL = this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n } else {\n this.sanitizedURL = undefined;\n }\n });\n }\n })\n }\n}\n","
\n\n\n\n
\n \n Protein features: \n\n \n \n {{geneDetails.name}} / {{geneDetails.uniquename}}\n \n \n {{geneDetails.uniquename}}\n \n \n \n\n \n \n Documentation ...\n \n \n\n
\n\n \n\n
\n
\n
\n \n
\n
\n
\n\n
\n \n \n
\n
\n","import { Component, Input, OnInit, OnChanges } from '@angular/core';\n\nimport { ReferenceShort, GenotypeDetails } from '../pombase-api.service';\nimport { getAppConfig } from '../config';\n\n@Component({\n selector: 'app-genotype-references-table',\n templateUrl: './genotype-references-table.component.html',\n styleUrls: ['./genotype-references-table.component.css'],\n standalone: false\n})\nexport class GenotypeReferencesTableComponent implements OnInit, OnChanges {\n @Input() genotypeDetails: GenotypeDetails;\n @Input() references: Array;\n\n orderByField = '+publication_year';\n\n appConfig = getAppConfig();\n\n setOrderBy(field: string) {\n this.orderByField = field;\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n }\n}\n","
0\" class=\"annotation-table references\">\n \n Literature\n \n\n
\n Sort by:\n Authors\n Authors |\n Year:\n Ascending\n Ascending /\n Descending\n Descending\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
DetailsYear
\n
\n {{reference.title}}\n
\n
\n \n {{reference.authors_abbrev}}\n \n \n \n {{reference.citation}}\n \n \n \n \n {{reference.journal}}\n \n \n {{reference.citation_date_pages}}\n \n \n {{reference.uniquename}}\n \n \n
\n
\n {{reference.publication_year}}\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title, Meta } from '@angular/platform-browser';\n\nimport { Util } from '../shared/util';\n\nimport { GenotypeDetails, PombaseAPIService, APIError } from '../pombase-api.service';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig, AppConfig, getAppConfig } from '../config';\nimport { MenuItem } from '../types';\n\n\n@Component({\n selector: 'app-genotype-details',\n templateUrl: './genotype-details.component.html',\n styleUrls: ['./genotype-details.component.css'],\n standalone: false\n})\nexport class GenotypeDetailsComponent implements OnInit {\n @Input() genotypeDetails: GenotypeDetails;\n\n annotationTypeNames: Array = [];\n config: AnnotationTableConfig = getAnnotationTableConfig();\n\n displayName = '';\n displayNameForTitle = '';\n apiError?: APIError;\n appConfig: AppConfig = getAppConfig();\n isDiploid = false;\n\n menuItems: Array = [];\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private readonly meta: Meta) { }\n\n displayNameLong(): string {\n return Util.genotypeDisplayName(this.genotypeDetails);\n }\n\n setDisplayName(): void {\n const displayName = this.displayNameLong();\n this.displayNameForTitle = displayName;\n this.displayName = displayName.replace(/,/g, ',');\n\n if (this.displayNameForTitle.length > 105) {\n this.displayNameForTitle = this.displayNameForTitle.substr(0, 100) + ' ...';\n }\n }\n\n setPageTitle(): void {\n const title = this.appConfig.site_name + ' - Genotype - ' +\n this.displayNameForTitle;\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n setVisibleSections(): void {\n let visibleSectionNames = [];\n\n for (let annotationTypeName of this.annotationTypeNames) {\n if (this.genotypeDetails.cv_annotations[annotationTypeName] &&\n this.genotypeDetails.cv_annotations[annotationTypeName].length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n\n if (annotationTypeName === 'genetic_interactions') {\n if (this.genotypeDetails.double_mutant_genetic_interactions &&\n this.genotypeDetails.double_mutant_genetic_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n } else {\n if (this.genotypeDetails.rescue_genetic_interactions &&\n this.genotypeDetails.rescue_genetic_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n }\n }\n this.menuItems =\n visibleSectionNames.map(typeName => {\n\n let typeConfig = this.config.getAnnotationType(typeName);\n\n return {\n id: typeName,\n displayName: typeConfig.display_name || Util.capitalize(typeName),\n };\n });\n\n this.menuItems.push({\n id: 'literature',\n displayName: 'Literature',\n });\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n let uniquename = params['uniquename'];\n this.pombaseApiService.getGenotype(uniquename)\n .then(genotypeDetails => {\n this.genotypeDetails = genotypeDetails;\n this.setDisplayName();\n this.annotationTypeNames = [];\n for (const orderConf of this.config.annotationTypeOrder) {\n if (orderConf.sub_types) {\n orderConf.sub_types.map(subTypeName =>\n this.annotationTypeNames.push(subTypeName));\n } else {\n this.annotationTypeNames.push(orderConf.name);\n }\n }\n this.setPageTitle();\n this.apiError = undefined;\n this.isDiploid = false;\n this.setVisibleSections();\n for (let locus of genotypeDetails.loci) {\n if (locus.expressed_alleles.length > 1) {\n this.isDiploid = true;\n break;\n }\n }\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n
\n \n
\n Genotype:\n \n
\n\n
\n Name:\n \n
\n\n
\n Comment:\n \n
\n\n
\n \n Background\n {{genotypeDetails.background}}\n \n
Diploid genotype
\n
\n \n \n
\n\n
\n\n
\n \n \n
\n\n
\n
\n \n
\n\n
\n 0\"\n id=\"{{annotationTypeName}}\" [annotationTypeName]=\"annotationTypeName\"\n [annotationTable]=\"genotypeDetails.double_mutant_genetic_interactions\">\n \n 0\"\n id=\"{{annotationTypeName}}\" [annotationTypeName]=\"annotationTypeName\"\n [annotationTable]=\"genotypeDetails.rescue_genetic_interactions\">\n \n
\n
\n\n\n\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Title, Meta } from '@angular/platform-browser';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { AppConfig, getAppConfig } from '../config';\nimport { AlleleDetails, APIError, GenotypeShort, PombaseAPIService } from '../pombase-api.service';\nimport { Util } from '../shared/util';\n\ninterface DisplayGenotype {\n genotypeShort: GenotypeShort;\n displayName: string;\n }\n\n@Component({\n selector: 'app-allele-details',\n templateUrl: './allele-details.component.html',\n styleUrls: ['./allele-details.component.css'],\n standalone: false\n})\nexport class AlleleDetailsComponent implements OnInit {\n alleleDetails: AlleleDetails;\n\n displayName = '';\n displayNameForTitle = '';\n apiError?: APIError;\n appConfig: AppConfig = getAppConfig();\n synonymString: string;\n singleLocusGenotypes: Array = [];\n multiLocusGenotypes: Array = [];\n geneDisplayName = '';\n siteName = getAppConfig().site_name;\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private readonly meta: Meta) { }\n\n makeGenotypes() {\n this.singleLocusGenotypes = [];\n this.multiLocusGenotypes = [];\n\n for (const genotype of this.alleleDetails.genotypes) {\n const displayGenotype = {\n genotypeShort: genotype,\n displayName: this.genotypeDisplayName(genotype),\n };\n\n if (genotype.loci.length == 1) {\n this.singleLocusGenotypes.push(displayGenotype);\n } else {\n this.multiLocusGenotypes.push(displayGenotype);\n }\n }\n }\n\n genotypeDisplayName(genotype: GenotypeShort): string {\n return Util.genotypeDisplayName(genotype);\n }\n\n displayNameLong(): string {\n return Util.alleleDisplayName(this.alleleDetails);\n }\n\n setDisplayName(): void {\n const displayName = this.displayNameLong();\n this.displayNameForTitle = displayName;\n this.displayName = displayName.replace(/,/g, ',');\n\n if (this.displayNameForTitle.length > 105) {\n this.displayNameForTitle = this.displayNameForTitle.substr(0, 100) + ' ...';\n }\n }\n\n setPageTitle(): void {\n const title = this.appConfig.site_name + ' - Genotype - ' +\n this.displayNameForTitle;\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n let uniquename = params['uniquename'];\n this.pombaseApiService.getAllele(uniquename)\n .then(alleleDetails => {\n this.alleleDetails = alleleDetails;\n this.setDisplayName();\n this.setPageTitle();\n this.synonymString = alleleDetails.synonyms.map(s => s.name).join(', ');\n this.makeGenotypes();\n this.apiError = undefined;\n this.geneDisplayName = alleleDetails.gene.name || alleleDetails.gene.uniquename;\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n
\n \n
\n Allele:\n ({{alleleDetails.uniquename}})\n
\n
\n
Name
\n
{{alleleDetails.name}}
\n
Description
\n
{{alleleDetails.description}}
\n
Type
\n
{{alleleDetails.allele_type}}
\n
Synonyms
\n
{{synonymString}}
\n
0\" class=\"details-label\">Comment
\n
0\">\n
\n {{commentDetails.comment}}\n \n ({{commentDetails.reference}})\n \n
\n
\n
Gene
\n \n
\n\n
\n Warning: this allele is not currently used in {{siteName}}\n
\n\n \n\n
\n
\n
\n
\n Single locus genotypes:\n
\n
\n \n
\n
\n
\n
\n Multi locus genotypes:\n
\n
\n \n
\n
\n
\n\n
\n
0\">\n
Phenotypes of :
\n
\n \n {{phenotype.name}}\n \n
\n
\n
\n
\n
\n
\n\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\nimport { AnnotationType } from '../config';\n\n@Component({\n selector: 'app-term-external-links',\n templateUrl: './term-external-links.component.html',\n styleUrls: ['./term-external-links.component.css'],\n standalone: false\n})\nexport class TermExternalLinksComponent implements OnInit, OnChanges {\n @Input() typeConfig: AnnotationType;\n @Input() termId: string;\n linkConfigKeys: Array = [];\n\n termIdForLink = '';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n let typeConf = this.typeConfig;\n let externDbLinkKeys = typeConf.external_db_link_keys;\n if (externDbLinkKeys) {\n this.linkConfigKeys = externDbLinkKeys;\n }\n\n if (this.typeConfig.is_a_fake_ontology) {\n this.termIdForLink = this.termId.replace(/^.*?:/, '');\n } else {\n this.termIdForLink = this.termId;\n }\n }\n}\n","\n 0\">External links:\n \n \n \n |\n \n\n","import { Component, OnInit, OnChanges, Input } from '@angular/core';\n\nimport { TermDetails, TermAndRelation, PombaseAPIService,\n TermSubsets, ReferenceShort} from '../pombase-api.service';\nimport { getAnnotationTableConfig, AnnotationTableConfig,\n getAppConfig, AnnotationType, getXrf } from '../config';\nimport { Router } from '@angular/router';\n\ninterface XrefDetails {\n identifier: string;\n refShort?: ReferenceShort;\n url?: string;\n}\n\n@Component({\n selector: 'app-term-page-summary',\n templateUrl: './term-page-summary.component.html',\n styleUrls: ['./term-page-summary.component.css'],\n standalone: false\n})\nexport class TermPageSummaryComponent implements OnInit, OnChanges {\n @Input() termDetails: TermDetails;\n\n filteredAncestors: Array = [];\n subsets: TermSubsets = {};\n typeConfig: AnnotationType;\n slimConfig = getAppConfig().slims;\n slimConfigNames = Object.keys(this.slimConfig);\n config: AnnotationTableConfig = getAnnotationTableConfig();\n defXrefs: Array = [];\n\n graphImageUrl?: string;\n ontologyGraphLoaded = false;\n\n displayTermId = '';\n nameAndIdPrefix = 'Ontology term';\n\n constructor(private router: Router,\n private pombaseApiService: PombaseAPIService) { }\n\n isInSubset(subsetName: string): boolean {\n if (!this.subsets[subsetName]) {\n return false;\n }\n for (let termid of Object.keys(this.subsets[subsetName].elements)) {\n if (termid === this.termDetails.termid) {\n return true;\n }\n }\n\n return false;\n }\n\n goToFullSlim(slimName: string) {\n this.router.navigate([this.slimConfig[slimName].full_slim_path]);\n }\n\n filterAncestors(): void {\n let termPageConfig = getAppConfig().termPageConfig;\n\n this.filteredAncestors =\n this.termDetails.direct_ancestors.filter(termAndRel => {\n return termPageConfig.ancestorRelNames.indexOf(termAndRel.relation_name) !== -1;\n });\n }\n\n ngOnInit() {\n this.pombaseApiService.getTermSubsets()\n .then((termSubsets) => this.subsets = termSubsets);\n }\n\n ngOnChanges() {\n this.filterAncestors();\n this.typeConfig =\n getAnnotationTableConfig().getAnnotationType(this.termDetails.cv_name);\n if (this.typeConfig.hide_term_id_prefix) {\n this.displayTermId = this.termDetails.termid.replace(/^.*?:/, '');\n } else {\n this.displayTermId = this.termDetails.termid;\n }\n if (this.typeConfig.is_a_fake_ontology) {\n this.nameAndIdPrefix = this.typeConfig.display_name;\n } else {\n this.nameAndIdPrefix = 'Ontology term';\n }\n this.defXrefs = [];\n this.ontologyGraphLoaded = false;\n\n if (this.typeConfig.ontology_graph_url) {\n this.graphImageUrl = this.typeConfig.ontology_graph_url + this.termDetails.termid;\n } else {\n this.graphImageUrl = undefined;\n }\n\n if (this.termDetails.definition_xrefs) {\n this.termDetails.definition_xrefs\n .filter(xref => {\n return xref.startsWith('PMID:') || xref.startsWith('ISBN:') ||\n xref.startsWith('DOI:');\n })\n .map((xref: string) => {\n const refShort = this.termDetails.references_by_uniquename[xref];\n if (refShort) {\n this.defXrefs.push({\n identifier: xref,\n refShort: refShort,\n url: undefined,\n } as XrefDetails);\n } else {\n const xrefConf = getXrf(xref);\n let url: string|undefined = undefined;\n if (xrefConf) {\n url = xrefConf.url;\n }\n this.defXrefs.push({\n identifier: xref,\n refShort: undefined,\n url,\n } as XrefDetails);\n }\n })\n }\n }\n}\n\n","
\n
\n {{nameAndIdPrefix}}:\n {{termDetails.name}} ({{displayTermId}})\n
\n\n
\n
\n
Ontology graph (click to expand):
\n \n \n \n
Loading ...
\n
\n\n \n \n \n \n \n \n \n \n \n
Definition 0\" class=\"details-label\">Parents
\n {{termDetails.definition}}\n 0\">\n[{{xrefDetail.identifier}}{{xrefDetail.identifier}}{{xrefDetail.identifier}}, ]\n \n \n
\n {{parentDetails.relation_name}}\n {{parentDetails.term_name}}\n
\n
\n
\n\n
\n \n
\n This term is part of the\n {{slimConfig[slimName].slim_display_name}}\n\n \n \n \n \n
\n
\n\n
\n \n \n
\n
\n
\n","(() => {\n \"use strict\";\n\n var e = {\n 593: (e, t, r) => {\n r.d(t, {\n Z: () => s\n });\n var n = r(81),\n i = r.n(n),\n a = r(645),\n o = r.n(a)()(i());\n o.push([e.id, \"rhea-reaction {\\n display: flex;\\n flex-direction: column;\\n min-width: 100%;\\n justify-content: flex-start;\\n align-items: flex-start;\\n align-content: stretch;\\n}\\n\\nrhea-reaction img {\\n width: 200px;\\n height: 200px;\\n}\\n\\nrhea-reaction .rhea-reaction-container {\\n display: flex;\\n flex-direction: row;\\n justify-content: left;\\n}\\n\\nrhea-reaction-block {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n text-align: center;\\n padding: 10px;\\n}\\n\\nrhea-reaction-block.smallMolecule:hover {\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\n}\\n\\nrhea-reaction .residues {\\n display: flex;\\n flex-direction: row;\\n border: 1px grey dashed;\\n justify-content: center;\\n}\\n\\nrhea-reaction-block .name {\\n margin-bottom: 10px;\\n}\\n\\nrhea-reaction-block.and,\\nrhea-reaction-block.none,\\nrhea-reaction-block.forward,\\nrhea-reaction-block.backward,\\nrhea-reaction-block.bi,\\nrhea-reaction-block.coefficient {\\n justify-content: center;\\n}\\n\\nrhea-reaction .participantfooter {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n\\nrhea-reaction .filler {\\n flex-grow: 1;\\n}\", \"\"]);\n const s = o;\n },\n 645: e => {\n e.exports = function (e) {\n var t = [];\n return t.toString = function () {\n return this.map(function (t) {\n var r = \"\",\n n = void 0 !== t[5];\n return t[4] && (r += \"@supports (\".concat(t[4], \") {\")), t[2] && (r += \"@media \".concat(t[2], \" {\")), n && (r += \"@layer\".concat(t[5].length > 0 ? \" \".concat(t[5]) : \"\", \" {\")), r += e(t), n && (r += \"}\"), t[2] && (r += \"}\"), t[4] && (r += \"}\"), r;\n }).join(\"\");\n }, t.i = function (e, r, n, i, a) {\n \"string\" == typeof e && (e = [[null, e, void 0]]);\n var o = {};\n if (n) for (var s = 0; s < this.length; s++) {\n var c = this[s][0];\n null != c && (o[c] = !0);\n }\n for (var l = 0; l < e.length; l++) {\n var h = [].concat(e[l]);\n n && o[h[0]] || (void 0 !== a && (void 0 === h[5] || (h[1] = \"@layer\".concat(h[5].length > 0 ? \" \".concat(h[5]) : \"\", \" {\").concat(h[1], \"}\")), h[5] = a), r && (h[2] ? (h[1] = \"@media \".concat(h[2], \" {\").concat(h[1], \"}\"), h[2] = r) : h[2] = r), i && (h[4] ? (h[1] = \"@supports (\".concat(h[4], \") {\").concat(h[1], \"}\"), h[4] = i) : h[4] = \"\".concat(i)), t.push(h));\n }\n }, t;\n };\n },\n 81: e => {\n e.exports = function (e) {\n return e[1];\n };\n },\n 379: e => {\n var t = [];\n function r(e) {\n for (var r = -1, n = 0; n < t.length; n++) if (t[n].identifier === e) {\n r = n;\n break;\n }\n return r;\n }\n function n(e, n) {\n for (var a = {}, o = [], s = 0; s < e.length; s++) {\n var c = e[s],\n l = n.base ? c[0] + n.base : c[0],\n h = a[l] || 0,\n u = \"\".concat(l, \" \").concat(h);\n a[l] = h + 1;\n var d = r(u),\n p = {\n css: c[1],\n media: c[2],\n sourceMap: c[3],\n supports: c[4],\n layer: c[5]\n };\n if (-1 !== d) t[d].references++, t[d].updater(p);else {\n var m = i(p, n);\n n.byIndex = s, t.splice(s, 0, {\n identifier: u,\n updater: m,\n references: 1\n });\n }\n o.push(u);\n }\n return o;\n }\n function i(e, t) {\n var r = t.domAPI(t);\n return r.update(e), function (t) {\n if (t) {\n if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap && t.supports === e.supports && t.layer === e.layer) return;\n r.update(e = t);\n } else r.remove();\n };\n }\n e.exports = function (e, i) {\n var a = n(e = e || [], i = i || {});\n return function (e) {\n e = e || [];\n for (var o = 0; o < a.length; o++) {\n var s = r(a[o]);\n t[s].references--;\n }\n for (var c = n(e, i), l = 0; l < a.length; l++) {\n var h = r(a[l]);\n 0 === t[h].references && (t[h].updater(), t.splice(h, 1));\n }\n a = c;\n };\n };\n },\n 569: e => {\n var t = {};\n e.exports = function (e, r) {\n var n = function (e) {\n if (void 0 === t[e]) {\n var r = document.querySelector(e);\n if (window.HTMLIFrameElement && r instanceof window.HTMLIFrameElement) try {\n r = r.contentDocument.head;\n } catch (e) {\n r = null;\n }\n t[e] = r;\n }\n return t[e];\n }(e);\n if (!n) throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n n.appendChild(r);\n };\n },\n 216: e => {\n e.exports = function (e) {\n var t = document.createElement(\"style\");\n return e.setAttributes(t, e.attributes), e.insert(t, e.options), t;\n };\n },\n 565: (e, t, r) => {\n e.exports = function (e) {\n var t = r.nc;\n t && e.setAttribute(\"nonce\", t);\n };\n },\n 795: e => {\n e.exports = function (e) {\n var t = e.insertStyleElement(e);\n return {\n update: function (r) {\n !function (e, t, r) {\n var n = \"\";\n r.supports && (n += \"@supports (\".concat(r.supports, \") {\")), r.media && (n += \"@media \".concat(r.media, \" {\"));\n var i = void 0 !== r.layer;\n i && (n += \"@layer\".concat(r.layer.length > 0 ? \" \".concat(r.layer) : \"\", \" {\")), n += r.css, i && (n += \"}\"), r.media && (n += \"}\"), r.supports && (n += \"}\");\n var a = r.sourceMap;\n a && \"undefined\" != typeof btoa && (n += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))), \" */\")), t.styleTagTransform(n, e, t.options);\n }(t, e, r);\n },\n remove: function () {\n !function (e) {\n if (null === e.parentNode) return !1;\n e.parentNode.removeChild(e);\n }(t);\n }\n };\n };\n },\n 589: e => {\n e.exports = function (e, t) {\n if (t.styleSheet) t.styleSheet.cssText = e;else {\n for (; t.firstChild;) t.removeChild(t.firstChild);\n t.appendChild(document.createTextNode(e));\n }\n };\n }\n },\n t = {};\n function r(n) {\n var i = t[n];\n if (void 0 !== i) return i.exports;\n var a = t[n] = {\n id: n,\n exports: {}\n };\n return e[n](a, a.exports, r), a.exports;\n }\n r.n = e => {\n var t = e && e.__esModule ? () => e.default : () => e;\n return r.d(t, {\n a: t\n }), t;\n }, r.d = (e, t) => {\n for (var n in t) r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, {\n enumerable: !0,\n get: t[n]\n });\n }, r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), (() => {\n var e = r(379),\n t = r.n(e),\n n = r(795),\n i = r.n(n),\n a = r(569),\n o = r.n(a),\n s = r(565),\n c = r.n(s),\n l = r(216),\n h = r.n(l),\n u = r(589),\n d = r.n(u),\n p = r(593),\n m = {};\n m.styleTagTransform = d(), m.setAttributes = c(), m.insert = o().bind(null, \"head\"), m.domAPI = i(), m.insertStyleElement = h(), t()(p.Z, m), p.Z && p.Z.locals && p.Z.locals;\n const f = {\n forward: \"=>\",\n backward: \"<=\",\n bi: \"<=>\",\n none: \"=\"\n },\n b = {\n SMALL_MOLECULE: \"smallMolecule\",\n GENERIC_COMPOUND: \"genericcomp\",\n POLYMER: \"polymer\"\n };\n class g extends HTMLElement {\n constructor() {\n super(), this.rheaURL = \"https://www.rhea-db.org\", this.imageHost = this.hasAttribute(\"imagehost\") ? this.getAttribute(\"imagehost\") : this.rheaURL, this._reaction = {}, this._rheaid = \"\";\n }\n get reaction() {\n return this._reaction;\n }\n set reaction(e) {\n 0 == e.length ? console.log(\"nothing to render\") : (this._reaction = e, this.render(e));\n }\n set rheaid(e) {\n this._rheaid = e, this.renderWithId(e);\n }\n get rheaid() {\n return this._rheaid;\n }\n attributeChangedCallback(e, t, r) {\n if (t !== r) switch (e) {\n case \"rheaid\":\n let e = r.toLowerCase();\n e.startsWith(\"rhea:\") && (e = e.subString(5)), this.renderWithId(e);\n break;\n case \"usehost\":\n this.rheaURL = r;\n break;\n case \"imagehost\":\n this.imageHost = r;\n }\n }\n static get observedAttributes() {\n return [\"rheaid\", \"usehost\", \"imagehost\"];\n }\n async renderWithId(e) {\n this.hasAttribute(\"usehost\") && (this.rheaURL = this.getAttribute(\"usehost\"));\n let t = await fetch((r = e, n = this.rheaURL, `${n}/rhea/${r}/json`));\n var r, n;\n t = await t.json(), this.reaction = t;\n }\n async render(e) {\n this._rheaid = e.id;\n let t = {\n nosource: this.hasAttribute(\"nosource\"),\n showids: this.hasAttribute(\"showids\"),\n formula: this.hasAttribute(\"formula\"),\n charge: this.hasAttribute(\"charge\"),\n smiles: this.hasAttribute(\"smiles\"),\n inchikey: this.hasAttribute(\"inchikey\"),\n structuresearch: this.hasAttribute(\"structuresearch\"),\n rheaurl: this.rheaURL,\n imagehost: this.imageHost\n };\n var r;\n this.innerHTML = `\\n ${t.nosource ? \"\" : ``}\\n
\\n ${this.getList(\"left\", e.left)}\\n ${f[e.direction]}\\n ${this.getList(\"right\", e.right)}\\n
`, this.querySelectorAll(\"rhea-reaction-block.participant\").forEach(r => {\n let n = r.getAttribute(\"index\").split(\"-\"),\n i = n[0];\n n = n[1], r.removeAttribute(\"index\"), r.setParticipant(e[i][n], this.hasAttribute(\"zoom\"), t);\n }), this.hasAttribute(\"zoom\") && Array.from(this.querySelectorAll(\".zoomLink\")).forEach(e => e.onclick = t => {\n t.stopPropagation(), t.preventDefault();\n let r = new CustomEvent(\"zoomClicked\", {\n detail: {\n chebi: \"chebi:\" + t.target.getAttribute(\"data-chebi-id\"),\n imgURL: t.target.getAttribute(\"data-chebi-zoom\")\n },\n bubbles: !0\n });\n e.dispatchEvent(r);\n });\n let n = new CustomEvent(\"rendered\", {\n detail: {},\n bubbles: !0\n });\n this.dispatchEvent(n);\n }\n getList(e, t) {\n return t.map((r, n) => {\n let i = n != t.length - 1;\n return `\\n ${r.coff ? `${r.coff}` : \"\"}\\n \\n ${i ? '+' : \"\"}`;\n }).map(e => e.trim()).join(\"\");\n }\n }\n class v extends HTMLElement {\n constructor() {\n super();\n }\n smallMolecule(e, t, r = \"\", n) {\n let i = e.htmlname ? e.htmlname : e.label,\n a = e.htmlname ? `
\\n ${decodeURI(i)}\\n ${e.location ? `(${e.location})` : \"\"}\\n
` : \"\";\n var o;\n let s = n.structuresearch && e.smiles,\n c = e.position ? `
Position: ${e.position}
` : \"\",\n l = \"\" !== r ? `${r}` : \"\",\n h = n.polymer ? n.polymer.thumbnail : e.thumbnail;\n h = h.startsWith(\"http\") ? h : `${n.imagehost}${h}`;\n let u = n.polymer ? n.polymer.zoomed : e.zoomed;\n u = u.startsWith(\"http\") ? u : `${n.imagehost}${u}`;\n let d = \"\";\n return d = n.polymer ? `${n.polymer.htmlname} \"No ${a} ${l} ${c}` : n.generic ? `\"No ${a} ${l} ${c}` : `${a} ${l} \"No ${c}`, d + '' + `
\\n ${(n.formula && e.formula ? `Formula: ${e.formula}` : \"\") + (n.charge && e.charge ? `Charge: ${e.charge}` : \"\") + (n.inchikey && e.inchikey ? `InchiKey: ${e.inchikey}` : \"\") + (t ? `zoom` : \"\") + (s ? `structure search` : \"\")}
`;\n }\n setParticipant(e, t, r) {\n switch (e.type) {\n case \"SMALL_MOLECULE\":\n this.innerHTML = this.smallMolecule(e, t, r.showids ? `CHEBI:${e.id}` : \"\", r);\n break;\n case \"POLYMER\":\n let n = {\n ...r,\n polymer: {\n thumbnail: e.thumbnail,\n zoomed: e.zoomed\n }\n };\n (e.htmlname || e.label) && (n.polymer.htmlname = e.htmlname ? e.htmlname : e.label), this.innerHTML = this.smallMolecule(e.underlyingChebi, t, r.showids ? `RHEA-COMP:${e.id}` : \"\", n);\n break;\n case \"GENERIC_COMPOUND\":\n this.innerHTML = `\\n \\n ${r.showids ? ` RHEA-COMP:${e.id}` : \"\"}\\n
${e.reactivePart.map((e, t) => ``).join(\"\")}
`, this.querySelectorAll(\"rhea-reaction-block\").forEach(n => {\n let i = n.getAttribute(\"index\");\n n.removeAttribute(\"index\");\n let a = {\n ...r,\n generic: {}\n };\n n.setParticipant(e.reactivePart[i], t, a);\n });\n break;\n default:\n return \"\";\n }\n }\n }\n window.customElements.get(\"rhea-reaction-block\") || window.customElements.define(\"rhea-reaction-block\", v), window.customElements.get(\"rhea-reaction\") || window.customElements.define(\"rhea-reaction\", g);\n })();\n})();","import { Component, Input } from '@angular/core';\nimport { GeneDetails, GoCamIdAndTitle, TermDetails } from '../pombase-api.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { DeployConfigService } from '../deploy-config.service';\n\n@Component({\n selector: 'app-go-cam-viewer',\n templateUrl: './go-cam-viewer.component.html',\n styleUrls: ['./go-cam-viewer.component.css'],\n standalone: false\n})\nexport class GoCamViewerComponent {\n @Input() geneOrTermDetails: GeneDetails|TermDetails;\n\n sanitizedURL?: SafeResourceUrl\n\n displayName?: string;\n currentGoCamId?: string;\n largeViewPath?: string;\n pomBaseViewPath?: string;\n gocams: Array = [];\n hasGoCam = false;\n\n constructor(private sanitizer: DomSanitizer,\n public deployConfigService: DeployConfigService) {\n }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n isGenePage(): boolean {\n return this.geneOrTermDetails instanceof GeneDetails;\n }\n\n modelChange() {\n this.largeViewPath = '/gocam/';\n this.pomBaseViewPath = '/pombase_gocam_view/';\n\n const geneOrTermDetails = this.geneOrTermDetails;\n\n let restOfUrl = '';\n\n if (geneOrTermDetails instanceof GeneDetails) {\n restOfUrl += 'gene/' + this.currentGoCamId + '/' + geneOrTermDetails.uniquename;\n if (this.geneOrTermDetails.name) {\n restOfUrl += '/' + this.geneOrTermDetails.name;\n }\n } else {\n if (geneOrTermDetails instanceof TermDetails) {\n restOfUrl += 'term/' + this.currentGoCamId + '/' + geneOrTermDetails.termid + '/' +\n geneOrTermDetails.name;\n }\n }\n\n this.largeViewPath += restOfUrl;\n this.pomBaseViewPath += restOfUrl;\n\n const rawUrl = 'gocam_viz/widget/' + this.currentGoCamId;\n this.sanitizedURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n }\n\n currentGoCam(): GoCamIdAndTitle|undefined {\n for (const goCam of this.gocams) {\n if (goCam.gocam_id == this.currentGoCamId!) {\n return goCam;\n }\n }\n\n return undefined;\n }\n\n ngOnChanges(): void {\n const geneOrTermDetails = this.geneOrTermDetails;\n if (geneOrTermDetails instanceof GeneDetails) {\n if (geneOrTermDetails.name) {\n this.displayName = geneOrTermDetails.name;\n } else {\n this.displayName = geneOrTermDetails.uniquename;\n }\n } else {\n if (geneOrTermDetails instanceof TermDetails) {\n this.displayName = geneOrTermDetails.name + '(' + geneOrTermDetails.termid + ')';\n }\n }\n\n this.gocams = this.geneOrTermDetails.gocams;\n\n this.hasGoCam = this.gocams.length > 0;\n\n if (!this.hasGoCam) {\n return;\n }\n\n this.currentGoCamId = this.gocams[0].gocam_id;\n\n this.modelChange();\n }\n}\n","
\n
\n
\n GO-CAM model\n {{currentGoCam()!.title || currentGoCamId}}\n 1 \">\n \n \n \n \n All curated pathways\n \n
\n \n
\n\n
\n \n
\n
\n\n
\n No GO-CAM models available for {{displayName}}\n
\n","import { Component, Input } from '@angular/core';\nimport { faCaretDown, faCaretRight } from '@fortawesome/free-solid-svg-icons';\nimport { TermDetails } from '../pombase-api.service';\nimport { SettingsService, TermPageWidget } from '../settings.service';\n\nimport '../../../node_modules/@swissprot/rhea-reaction-visualizer';\n\n@Component({\n selector: 'app-term-page-widgets',\n templateUrl: './term-page-widgets.component.html',\n styleUrls: ['./term-page-widgets.component.css'],\n standalone: false\n})\nexport class TermPageWidgetsComponent {\n @Input() termDetails: TermDetails;\n\n faCaretDown = faCaretDown;\n faCaretRight = faCaretRight;\n\n constructor(public settingsService: SettingsService) { }\n\n hasWidgetData(): boolean {\n if (!this.termDetails) {\n return false;\n }\n\n if (this.hasReactionData()) {\n return true;\n }\n\n if (this.hasGoCams()) {\n return true;\n }\n\n return false;\n }\n\n hasReactionData(): boolean {\n if (this.termDetails.definition_xrefs) {\n for (const xref of this.termDetails.definition_xrefs) {\n if (xref.startsWith(\"RHEA:\")) {\n return true;\n }\n }\n }\n\n if (this.termDetails.secondary_identifiers) {\n for (const xref of this.termDetails.secondary_identifiers) {\n if (xref.startsWith(\"RHEA:\")) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n hasGoCams(): boolean {\n return this.termDetails.gocams.length > 0;\n }\n\n currentWidget(): TermPageWidget {\n let current = this.settingsService.termPageMainWidget;\n\n if (current == 'gocam_viewer' && !this.hasGoCams()) {\n current = 'rhea_reaction';\n }\n\n if (current == 'rhea_reaction' && !this.hasReactionData()) {\n if (this.hasGoCams()) {\n current = 'gocam_viewer';\n } else {\n current = 'none';\n }\n }\n\n return current;\n }\n\n showRheaReaction(): boolean {\n return this.settingsService.termPageMainWidget === 'rhea_reaction';\n }\n\n hideAllWidgets() {\n this.settingsService.termPageMainWidget = 'none';\n }\n\n setWidget(widget: TermPageWidget) {\n this.settingsService.termPageMainWidget = widget;\n }\n}\n","
\n
\n
\n \n Available widgets:\n \n \n \n
\n
Reaction
\n \n
\n
\n\n \n \n
\n
GO-CAM models
\n \n
\n
\n\n \n
\n Hide\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit, Input, Inject } from '@angular/core';\nimport { Meta } from '@angular/platform-browser';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\n\nimport { TermDetails, PombaseAPIService, TermSubsets, APIError } from '../pombase-api.service';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig,\n AnnotationType, AppConfig, getAppConfig} from '../config';\nimport { MenuItem } from '../types';\nimport { Util } from '../shared/util';\n\n@Component({\n selector: 'app-term-details',\n templateUrl: './term-details.component.html',\n styleUrls: ['./term-details.component.css'],\n standalone: false\n})\nexport class TermDetailsComponent implements OnInit {\n @Input() termDetails: TermDetails;\n\n annotationFeatureType = '';\n typeConfig: AnnotationType;\n annotationTypeNames: Array = [];\n config: AnnotationTableConfig = getAnnotationTableConfig();\n apiError?: APIError;\n menuItems: Array = [];\n annotatedGeneCount = 0;\n singleLocusGenotypeGeneCount = 0;\n singleLocusGenotypeCount = 0;\n appConfig: AppConfig = getAppConfig();\n\n subsets: TermSubsets = {};\n\n displayTermId = '';\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private router: Router,\n private readonly meta: Meta,\n @Inject('Window') private window: any\n ) { }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name + ' - Ontology term - ';\n if (this.termDetails) {\n title += this.displayTermId + ' - ' + this.termDetails.name;\n } else {\n title += 'UNKNOWN';\n }\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n scrollToPageTop(): void {\n this.window.scrollTo(0, 0);\n }\n\n setVisibleSections(): void {\n let visibleSectionNames = [];\n\n for (let annotationTypeName of this.annotationTypeNames) {\n if (this.termDetails.cv_annotations[annotationTypeName] &&\n this.termDetails.cv_annotations[annotationTypeName].length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n\n if (annotationTypeName === 'double_mutant_genetic_interactions' &&\n this.termDetails.double_mutant_genetic_interactions &&\n this.termDetails.double_mutant_genetic_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n\n if (annotationTypeName === 'single_allele_genetic_interactions' &&\n this.termDetails.single_allele_genetic_interactions &&\n this.termDetails.single_allele_genetic_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n this.menuItems =\n visibleSectionNames.map(typeName => {\n\n let typeConfig = this.config.getAnnotationType(typeName);\n\n return {\n id: typeName,\n displayName: typeConfig.display_name || Util.capitalize(typeName),\n };\n });\n }\n\n makeTableDisplayName(annotationTypeName: string): string {\n const m = annotationTypeName.match(/extension:(.*):(.*):(gene|genotype)/);\n if (m) {\n const cvName = m[1];\n const relTypeDisplayName = m[2];\n\n const cvDisplayName =\n getAnnotationTableConfig().getAnnotationType(cvName).display_name;\n\n return cvDisplayName + ' annotations with the extension: ' +\n relTypeDisplayName + ' ' + this.termDetails.name;\n } else {\n return this.config.annotationTypes[annotationTypeName].display_name +\n ' annotations for ' + this.displayTermId + ' and its descendants';\n }\n }\n\n hasAnnotations(): boolean {\n return this.termDetails.annotated_genes.length > 0;\n }\n\n setCounts(): void {\n this.singleLocusGenotypeCount = this.termDetails.single_locus_genotypes.length;\n\n let singleLocusGenotypeGenes: { [key: string]: boolean } = {};\n\n for (let genotype of this.termDetails.single_locus_genotypes) {\n let gene = genotype.loci[0].expressed_alleles[0].allele.gene;\n if (gene) {\n singleLocusGenotypeGenes[gene.uniquename] = true;\n }\n }\n\n this.singleLocusGenotypeGeneCount = Object.keys(singleLocusGenotypeGenes).length;\n\n this.annotatedGeneCount = this.termDetails.annotated_genes.length;\n\n }\n\n setDisplayTermId() {\n if (this.typeConfig.hide_term_id_prefix) {\n this.displayTermId = this.termDetails.termid.replace(/^.*?:/, '');\n } else {\n this.displayTermId = this.termDetails.termid;\n }\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['termid'] !== undefined) {\n let termid = params['termid'];\n this.pombaseApiService.getTerm(termid)\n .then(termDetails => {\n this.termDetails = termDetails;\n this.typeConfig =\n getAnnotationTableConfig().getAnnotationType(termDetails.cv_name);\n if (this.typeConfig && this.typeConfig.hide_term_details) {\n this.router.navigate(['/term_genes', termid]);\n }\n this.setDisplayTermId();\n this.setPageTitle();\n this.annotationFeatureType = termDetails.annotation_feature_type;\n this.annotationTypeNames = [];\n for (const orderConf of this.config.annotationTypeOrder) {\n if (orderConf.sub_types) {\n orderConf.sub_types.map(subTypeName =>\n this.annotationTypeNames.push(subTypeName));\n } else {\n this.annotationTypeNames.push(orderConf.name);\n }\n }\n this.setVisibleSections();\n this.scrollToPageTop();\n this.apiError = undefined;\n this.setCounts();\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n\n
\n \n\n
\n \n
\n\n \n\n
\n No annotations for {{displayTermId}}\n
\n \n\n \n\n \n\n
\n
\n\n
\n \n\n\n
\n\n
\n 0\"\n id=\"{{annotationTypeName}}\" [annotationTypeName]=\"annotationTypeName\"\n [tableHeader]=\"'Genetic interactions where ' + termDetails.termid + ' is the double allele phenotype'\"\n [annotationTable]=\"termDetails.double_mutant_genetic_interactions\">\n \n
\n\n
\n 0\"\n id=\"{{annotationTypeName}}\" [annotationTypeName]=\"annotationTypeName\"\n [tableHeader]=\"'Genetic interactions where ' + termDetails.termid + ' is the single mutant phenotype'\"\n [annotationTable]=\"termDetails.single_allele_genetic_interactions\">\n \n
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title, Meta } from '@angular/platform-browser';\nimport { Util } from '../shared/util';\n\nimport { TermDetails, PombaseAPIService, GeneShort,\n TermSubsets,\n APIError,\n GeneSummary} from '../pombase-api.service';\nimport { getAnnotationTableConfig, AnnotationType, AppConfig, getAppConfig } from '../config';\n\n\n@Component({\n selector: 'app-term-genes-view',\n templateUrl: './term-genes-view.component.html',\n styleUrls: ['./term-genes-view.component.css'],\n standalone: false\n})\nexport class TermGenesViewComponent implements OnInit {\n @Input() termDetails: TermDetails;\n queryBuilderRouterLink: string;\n\n typeConfig: AnnotationType;\n genes: Array = [];\n showAllAnnotationsLink = true;\n apiError?: APIError;\n subsets: TermSubsets = {};\n geneSummaries: Array;\n appConfig: AppConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private meta: Meta) { }\n\n isInSubset(subsetName: string): boolean {\n if (!this.subsets[subsetName]) {\n return false;\n }\n for (let termid of Object.keys(this.subsets[subsetName].elements)) {\n if (termid === this.termDetails.termid) {\n return true;\n }\n }\n\n return false;\n }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name;\n let displayName;\n if (this.termDetails) {\n displayName = this.termDetails.termid + ' - ' + this.termDetails.name;\n } else {\n displayName = 'UNKNOWN';\n }\n this.titleService.setTitle(title + ' - ' + displayName);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n collectGenes(): void {\n this.pombaseApiService.getGeneSummaryMapPromise()\n .then(geneSummaries => {\n this.genes =\n this.termDetails.annotated_genes\n .map(geneUniquename => geneSummaries[geneUniquename]);\n this.genes.sort(Util.geneCompare);\n });\n }\n\n ngOnInit() {\n this.pombaseApiService.getTermSubsets()\n .then((termSubsets) => this.subsets = termSubsets);\n\n this.route.params.forEach((params: Params) => {\n if (params['termid'] !== undefined) {\n let termid = params['termid'];\n this.pombaseApiService.getTerm(termid)\n .then(termDetails => {\n this.termDetails = termDetails;\n this.typeConfig =\n getAnnotationTableConfig().getAnnotationType(termDetails.cv_name);\n if (this.typeConfig && this.typeConfig.hide_term_details) {\n this.showAllAnnotationsLink = false;\n }\n this.setPageTitle();\n this.collectGenes();\n this.queryBuilderRouterLink = '/query/save/from/term_subset/' +\n termDetails.termid + '/' + encodeURIComponent(termDetails.name);\n this.apiError = undefined;\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n\n
\n \n\n \n\n
\n No annotations for {{termDetails.termid}}\n
\n \n\n
\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\n\nimport { GeneSubsetDetails, PombaseAPIService, APIError } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-gene-subset-view',\n templateUrl: './gene-subset-view.component.html',\n styleUrls: ['./gene-subset-view.component.css'],\n standalone: false\n})\nexport class GeneSubsetViewComponent implements OnInit {\n subset: GeneSubsetDetails;\n subsetDisplayName: string;\n subsetGeneCount = 0;\n apiError: APIError;\n queryBuilderRouterLink: string;\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n ) { }\n\n setPageTitle(): void {\n if (this.subset) {\n this.titleService.setTitle(this.siteName + ' - ' + this.subset.name);\n } else {\n this.titleService.setTitle(this.siteName);\n }\n }\n\n isGOSubset(): boolean {\n if (this.subset.name.match(/non_slim_.*_(molecular_function|biological_process|cellular_component)/)) {\n return true;\n } else {\n return false;\n }\n }\n\n ngOnInit() {\n this.pombaseApiService.getGeneSubsets()\n .then(subsets => {\n this.route.params.forEach((params: Params) => {\n if (params['subsetName'] !== undefined) {\n let subsetName = params['subsetName'];\n this.subset = subsets[subsetName];\n if (this.subset) {\n this.subsetGeneCount = this.subset.elements.length;\n let matchResults = this.subset.display_name.match(/characterisation_status:(.*)/);\n if (matchResults) {\n this.subsetDisplayName =\n 'Genes with characterisation status \"' + matchResults[1] + '\"';\n } else {\n let interproMatchResults = this.subset.name.match(/interpro:(.*)/);\n if (interproMatchResults) {\n this.subsetDisplayName = 'Genes matching ' + interproMatchResults[1];\n if (interproMatchResults[1].indexOf(this.subset.display_name) === -1) {\n this.subsetDisplayName += ' \"' + this.subset.display_name + '\"';\n }\n }\n }\n\n const encodedDisplayName = encodeURIComponent(this.subsetDisplayName);\n this.queryBuilderRouterLink =\n `/query/save/from/subset/${subsetName}/${encodedDisplayName}`;\n } else {\n this.apiError = {\n status: 404,\n message: 'no such subset: ' + subsetName,\n };\n }\n this.setPageTitle();\n }\n });\n })\n .catch(error => {\n this.apiError = error;\n });\n }\n}\n","
\n \n \n \n\n
\n
\n
\n {{subset.display_name}}, not covered\n by the\n {{siteName}}\n GOslim\n \n slim\n categories: {{subset.elements.length}}\n
\n
\n {{subsetDisplayName}} 0\">: {{subsetGeneCount}}\n
\n
\n\n \n\n \n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { GenotypeShort } from './pombase-api.service';\nimport { Util } from './shared/util';\n\n@Pipe({\n name: 'genotypeOrderBy',\n standalone: false\n})\nexport class GenotypeOrderByPipe implements PipeTransform {\n transform(genotypes: Array, fieldName: string): any {\n genotypes.sort(function(g1, g2) {\n if (fieldName === 'gene') {\n return Util.geneCompare(g1.loci[0].expressed_alleles[0].allele.gene!,\n g2.loci[0].expressed_alleles[0].allele.gene!);\n } else {\n if (fieldName === 'product') {\n return Util.safeCompare(g1.loci[0].expressed_alleles[0].allele.gene![fieldName],\n g2.loci[0].expressed_alleles[0].allele.gene![fieldName]);\n } else {\n return Util.genotypeCompare(g1, g2);\n }\n }\n });\n\n return genotypes;\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { GenotypeShort } from '../pombase-api.service';\n\ntype OrderBy = 'genotype'|'gene'|'product';\n\n@Component({\n selector: 'app-genotypes-table',\n templateUrl: './genotypes-table.component.html',\n styleUrls: ['./genotypes-table.component.css'],\n standalone: false\n})\nexport class GenotypesTableComponent implements OnInit {\n @Input() legend: string;\n @Input() genotypes: Array = [];\n\n orderByField: OrderBy = 'product';\n\n setOrderBy(field: OrderBy) {\n this.orderByField = field;\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","
\n \n\n
0\" class=\"genotypes-table\">\n \n {{legend}}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Genotype\n Genotype\n \n Gene\n Gene\n \n Product\n Product\n
\n \n {{genotype.loci[0].expressed_alleles[0].allele.gene.product}}
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title, Meta } from '@angular/platform-browser';\n\nimport { TermDetails, PombaseAPIService } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-term-genotypes-view',\n templateUrl: './term-genotypes-view.component.html',\n styleUrls: ['./term-genotypes-view.component.css'],\n standalone: false\n})\nexport class TermGenotypesViewComponent implements OnInit {\n @Input() termDetails: TermDetails;\n\n appConfig: AppConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private meta: Meta) { }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name;\n let displayName;\n if (this.termDetails) {\n displayName = 'Single locus genotypes annotated with ' +\n this.termDetails.termid + ' - ' + this.termDetails.name;\n } else {\n displayName = 'UNKNOWN';\n }\n this.titleService.setTitle(title + ' - ' + displayName);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['termid'] !== undefined) {\n let termid = params['termid'];\n this.pombaseApiService.getTerm(termid)\n .then(termDetails => {\n this.termDetails = termDetails;\n this.setPageTitle();\n });\n };\n });\n }\n\n}\n","
\n \n\n
\n \n\n \n\n
\n\n \n\n
\n \n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Title, Meta } from '@angular/platform-browser';\n\nimport { TermDetails, GeneShort, PombaseAPIService } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-term-single-gene-genotypes-view',\n templateUrl: './term-single-gene-genotypes-view.component.html',\n styleUrls: ['./term-single-gene-genotypes-view.component.css'],\n standalone: false\n})\nexport class TermSingleGeneGenotypesViewComponent implements OnInit {\n @Input() termDetails: TermDetails;\n\n appConfig: AppConfig = getAppConfig();\n\n singleLocusGenotypeGenes: Array = [];\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private meta: Meta) { }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name;\n let displayName;\n if (this.termDetails) {\n displayName = 'Genes from single locus genotypes annotated with ' +\n this.termDetails.termid + ' - ' + this.termDetails.name;\n } else {\n displayName = 'UNKNOWN';\n }\n this.titleService.setTitle(title + ' - ' + displayName);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n setGenes(): void {\n this.pombaseApiService.getGeneSummaryMapPromise()\n .then(geneSummaryMap => {\n this.singleLocusGenotypeGenes = [];\n\n let genes: { [key: string]: GeneShort } = {};\n\n for (let genotype of this.termDetails.single_locus_genotypes) {\n let gene = genotype.loci[0].expressed_alleles[0].allele.gene;\n if (gene) {\n genes[gene.uniquename] = gene;\n }\n }\n\n for (let geneUniquename of Object.keys(genes)) {\n this.singleLocusGenotypeGenes.push(geneSummaryMap[geneUniquename]);\n }\n })\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['termid'] !== undefined) {\n let termid = params['termid'];\n this.pombaseApiService.getTerm(termid)\n .then(termDetails => {\n this.termDetails = termDetails;\n this.setPageTitle();\n this.setGenes();\n });\n };\n });\n }\n}\n","
\n \n\n
\n \n\n \n\n \n\n
\n\n \n\n
\n \n
\n
\n
\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { AppConfig, getAppConfig } from '../config';\nimport { PDBEntry, PDBGeneChain, ReferenceShort } from '../pombase-api.service';\n\ninterface PDBContext {\n pdbId: string;\n title: string;\n authors: string;\n}\n\ninterface DisplayEntry {\n pdb_id: string;\n title: string;\n reference: ReferenceShort;\n entry_authors_abbrev: string;\n experimental_method: string;\n gene_chains?: Array;\n resolution?: string;\n chain?: string;\n position?: string;\n}\n\n@Component({\n selector: 'app-pdb-structure-viewer',\n templateUrl: './pdb-structure-viewer.component.html',\n styleUrls: ['./pdb-structure-viewer.component.css'],\n standalone: false\n})\nexport class PdbStructureViewerComponent implements OnInit {\n @Input() displayName: string;\n @Input() pdbEntries: Array;\n @Input() pageType: 'gene' | 'reference';\n\n @ViewChild('pdbiframe') pdbiframe: ElementRef;\n\n appConfig: AppConfig = getAppConfig();\n\n sanitizedURL?: SafeResourceUrl;\n currentEntry?: DisplayEntry = undefined;\n\n status: 'loading' | 'loaded' = 'loading';\n displayEntries: Array;\n\n constructor(private sanitizer: DomSanitizer) { }\n\n finishedLoading() {\n if (this.pdbiframe?.nativeElement.contentDocument?.body) {\n // This hack is needed because in Chrome the onload event is fired twice,\n // once when the iframe is added to the dom and then later when the\n // iframe is actually loaded\n //\n // See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=578812\n // https://itecnote.com/tecnote/javascript-dynamically-created-iframe-triggers-onload-event-twice/\n this.status = 'loaded';\n }\n }\n\n structureLoading(): boolean {\n return this.status == 'loading';\n }\n\n setURL() {\n if (this.currentEntry) {\n const rawUrl = 'structure_view/pdb/' + this.currentEntry.pdb_id;\n this.sanitizedURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n } else {\n this.sanitizedURL = undefined;\n }\n }\n\n selectEntry(displayEntry: DisplayEntry) {\n this.currentEntry = displayEntry;\n this.setURL();\n }\n\n popoverContext(displayEntry: DisplayEntry): PDBContext {\n let pdbId = displayEntry.pdb_id;\n let title = displayEntry.title;\n let authors = displayEntry.entry_authors_abbrev;\n\n return {\n pdbId,\n title,\n authors,\n };\n }\n\n displayResolution(displayEntry: DisplayEntry): string {\n if (displayEntry.resolution) {\n const parsedRes = Number.parseFloat(displayEntry.resolution);\n\n if (Number.isNaN(parsedRes)) {\n return '';\n } else {\n return '' + Math.round(parsedRes * 100) / 100.0;\n }\n } else {\n return '';\n }\n }\n\n popoverImageUrl(pdbId: string): string {\n return this.appConfig.pdbe_image_url.replace('<>', pdbId);\n }\n\n ngOnChanges(): void {\n this.makeDisplayEntries();\n this.currentEntry = this.displayEntries[0];\n this.setURL();\n }\n\n makeDisplayEntry(pdbEntry: PDBEntry, geneChain?: PDBGeneChain): DisplayEntry {\n let ret = {\n pdb_id: pdbEntry.pdb_id,\n title: pdbEntry.title,\n reference: pdbEntry.reference,\n entry_authors_abbrev: pdbEntry.entry_authors_abbrev,\n experimental_method: pdbEntry.experimental_method,\n resolution: pdbEntry.resolution,\n gene_chains: pdbEntry.gene_chains,\n } as DisplayEntry;\n\n if (geneChain) {\n ret.chain = geneChain.chain;\n ret.position = geneChain.position;\n }\n\n return ret;\n }\n\n makeDisplayEntries() {\n this.displayEntries = [];\n\n for (const entry of this.pdbEntries) {\n if (this.pageType == 'gene') {\n for (const geneChain of entry.gene_chains) {\n let displayEntry = this.makeDisplayEntry(entry, geneChain);\n this.displayEntries.push(displayEntry);\n }\n } else {\n let displayEntry = this.makeDisplayEntry(entry);\n this.displayEntries.push(displayEntry);\n }\n }\n }\n\n ngOnInit(): void {\n }\n}\n","
\n Structure view loading ...\n
\n\n
\n
\n \n
\n\n
\n
\n Protein structures from PDB\n for this publication:\n for {{displayName}}:\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PDB IDMethodRes (Å)ChainPosition
\n {{pdbEntry.pdb_id}}\n \n {{pdbEntry.experimental_method}}\n \n {{displayResolution(pdbEntry)}}\n \n {{pdbEntry.chain}}\n \n {{pdbEntry.position}}\n \n PDBe |\n RCSB\n
\n
\n\n
\n
\n \n
\n
\n Proteins in this structure:\n \n \n \n
\n
\n
\n
\n\n\n
\n
{{title}}
\n
{{authors}}
\n
\n\n
(Click to view this structure)
\n\n
\n \n
\n
\n","import { Component, OnInit, Input, Inject } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Meta, Title } from '@angular/platform-browser';\n\nimport { getAnnotationTableConfig, AnnotationTableConfig,\n getAppConfig, AppConfig, getJBrowseTracksByPMID, getXrfWithPrefix, DetailsPageLinkConfig } from '../config';\nimport { Util } from '../shared/util';\n\nimport { ReferenceDetails, PombaseAPIService, APIError, AnnotationCurator } from '../pombase-api.service';\nimport { DeployConfigService } from '../deploy-config.service';\nimport { PageScrollService } from 'ngx-page-scroll-core';\nimport { DOCUMENT } from '@angular/common';\nimport { MenuItem } from '../types';\n@Component({\n selector: 'app-reference-details',\n templateUrl: './reference-details.component.html',\n styleUrls: ['./reference-details.component.css'],\n standalone: false\n})\nexport class ReferenceDetailsComponent implements OnInit {\n @Input() refDetails: ReferenceDetails;\n\n annotationTypeNames: Array;\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n menuItems: Array = [];\n config: AnnotationTableConfig = getAnnotationTableConfig();\n isPubMedRef = false;\n pubMedId?: string;\n apiError?: APIError;\n cantoCuratorName?: string;\n cantoTriageStatus = 'UNKNOWN';\n\n multiOrgMode = getAppConfig().isMultiOrganismMode();\n graphicalAbstractImagePath?: string;\n showBigGraphicalAbstract = false;\n bigGraphicalAbstractImagePath?: string;\n videoPath?: string;\n doiUrl?: string;\n\n communityCuratorNames?: string;\n communityFileCuratorNames?: string;\n\n adminCuratorList: Array = [];\n communityCuratorList: Array = [];\n adminFileCuratorList: Array = [];\n communityFileCuratorList: Array = [];\n\n externalLinks?: Array;\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n public deployConfigService: DeployConfigService,\n private readonly meta: Meta,\n private pageScrollService: PageScrollService,\n @Inject(DOCUMENT) private document: any\n ) { }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name + ' - Reference - ';\n if (this.refDetails) {\n title += this.refDetails.uniquename;\n if (this.refDetails.title) {\n title += ' - ' + this.refDetails.title;\n }\n } else {\n title = 'UNKNOWN';\n }\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n hasCommunityCurator(): boolean {\n return this.communityCuratorList.length > 0;\n }\n\n hasAdminCurator(): boolean {\n return this.adminCuratorList.length > 0;\n }\n\n hasFileCommunityCurator(): boolean {\n return this.communityFileCuratorList.length > 0;\n }\n\n hasFileAdminCurator(): boolean {\n return this.adminFileCuratorList.length > 0;\n }\n\n setCantoFields(): void {\n this.cantoCuratorName = undefined;\n\n this.cantoTriageStatus = this.refDetails.canto_triage_status;\n\n this.communityCuratorNames = undefined;\n this.adminCuratorList = [];\n\n this.communityCuratorList = [];\n\n for (const curator of this.refDetails.annotation_curators) {\n if (curator.community_curator) {\n this.communityCuratorList.push(curator);\n } else {\n if (this.appConfig.show_names_of_staff_curators) {\n this.adminCuratorList.push(curator);\n }\n }\n }\n\n if (this.communityCuratorList.length == 1) {\n this.communityCuratorNames = this.communityCuratorList[0].name;\n } else {\n if (this.communityCuratorList && this.communityCuratorList.length > 1) {\n const lastName = this.communityCuratorList.pop()!.name;\n this.communityCuratorNames = this.communityCuratorList\n .map(curator => curator.name)\n .join(', ') + ' and ' + lastName;\n }\n }\n\n this.communityFileCuratorNames = undefined;\n this.adminFileCuratorList = [];\n\n this.communityFileCuratorList = [];\n\n for (const curator of this.refDetails.annotation_file_curators) {\n if (curator.community_curator) {\n if (this.communityFileCuratorList.filter(existingCurator => {\n return existingCurator.name === curator.name;\n }).length == 0) {\n this.communityFileCuratorList.push(curator);\n }\n } else {\n if (this.appConfig.show_names_of_staff_file_curators) {\n this.adminFileCuratorList.push(curator);\n }\n }\n }\n\n if (this.communityFileCuratorList.length == 1) {\n this.communityFileCuratorNames = this.communityFileCuratorList[0].name;\n } else {\n if (this.communityFileCuratorList.length > 1) {\n const lastName = this.communityFileCuratorList.pop()?.name;\n this.communityFileCuratorNames = this.communityFileCuratorList\n .map(curator => curator.name)\n .join(', ') + ' and ' + lastName;\n }\n }\n }\n\n hasGenes(): boolean {\n return this.refDetails.gene_count > 0;\n }\n\n geneCount(): number {\n return this.refDetails.gene_count;\n }\n\n hasApprovedSession(): boolean {\n return !!this.refDetails.canto_approved_date;\n }\n\n setVisibleSections(): void {\n let visibleSectionNames = [];\n\n this.menuItems = [];\n\n for (let annotationTypeName of this.annotationTypeNames) {\n if (this.refDetails.cv_annotations[annotationTypeName] &&\n this.refDetails.cv_annotations[annotationTypeName].length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n\n\n if (annotationTypeName === 'physical_interactions') {\n if (this.refDetails.physical_interactions &&\n this.refDetails.physical_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n\n if (annotationTypeName === 'genetic_interactions') {\n if (this.refDetails.genetic_interactions &&\n this.refDetails.genetic_interactions.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n\n if (annotationTypeName === 'orthologs') {\n if (this.refDetails.ortholog_annotations &&\n this.refDetails.ortholog_annotations.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n\n if (annotationTypeName === 'paralogs') {\n if (this.refDetails.paralog_annotations &&\n this.refDetails.paralog_annotations.length > 0) {\n visibleSectionNames.push(annotationTypeName);\n }\n }\n }\n\n visibleSectionNames.map(typeName => {\n let typeConfig = this.config.getAnnotationType(typeName);\n\n this.menuItems.push({\n id: typeName,\n displayName: typeConfig.display_name || Util.capitalize(typeName),\n });\n });\n\n if (getJBrowseTracksByPMID(this.refDetails.uniquename).length > 0) {\n this.menuItems.push( {\n id: 'jbrowse_tracks',\n displayName: 'JBrowse tracks',\n });\n }\n }\n\n isPublication(): boolean {\n return this.refDetails.uniquename.startsWith('PMID:') ||\n this.refDetails.uniquename.toLocaleLowerCase().startsWith('doi:');\n }\n\n isCuratable(): boolean {\n return !!this.cantoTriageStatus && (this.cantoTriageStatus === 'Curatable' ||\n this.hasPossibleBrowserTracks());\n }\n\n hasPossibleBrowserTracks(): boolean {\n return this.appConfig.canto_data_config.browser_track_triage_types.includes(this.cantoTriageStatus);\n }\n\n hasBrowserTracks(): boolean {\n return getJBrowseTracksByPMID(this.refDetails.uniquename).length > 0;\n }\n\n hasAnnotations(): boolean {\n if (Object.keys(this.refDetails.cv_annotations).length > 0 ||\n this.refDetails.genetic_interactions.length > 0 ||\n this.refDetails.physical_interactions.length > 0 ||\n this.refDetails.paralog_annotations.length > 0 ||\n this.refDetails.ortholog_annotations.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n\n hasCantoSession(): boolean {\n return !!this.refDetails.canto_session_key;\n }\n\n isAdminSession(): boolean {\n return this.hasCantoSession() && this.refDetails.canto_curator_role.toLowerCase() !== 'community' &&\n !this.hasFileCommunityCurator();\n }\n\n displayBigGraphicalAbstract(): void {\n this.showBigGraphicalAbstract = true;\n this.pageScrollService.scroll({\n document: this.document,\n scrollTarget: '.abstract',\n });\n }\n\n setGraphicalAbstract(): void {\n this.graphicalAbstractImagePath = undefined;\n this.showBigGraphicalAbstract = false;\n this.videoPath = undefined;\n let selectedPath = null;\n for (const panelConf of this.appConfig.frontPagePanels) {\n if (panelConf.panel_type === 'spotlight' && panelConf.head_image &&\n panelConf.reference_id && panelConf.reference_id === this.refDetails.uniquename) {\n selectedPath = Util.randElement(panelConf.head_image);\n if (selectedPath.endsWith('.mp4')) {\n this.videoPath = selectedPath;\n } else {\n this.graphicalAbstractImagePath = 'assets/' + selectedPath;\n }\n break;\n }\n }\n\n this.bigGraphicalAbstractImagePath = undefined;\n\n const pmid = this.refDetails.uniquename;\n const fileMap = this.appConfig.graphicalAbstractFileNames;\n\n if (selectedPath) {\n // configured as a Spotlight\n if (fileMap[pmid]) {\n this.bigGraphicalAbstractImagePath = 'assets/graphical_abstract/' + fileMap[pmid];\n } else {\n const match = /^spotlight\\/(.*)\\.png$/.exec(selectedPath);\n if (match) {\n const imageBaseName = match[1];\n if (fileMap[imageBaseName + '.png']) {\n this.bigGraphicalAbstractImagePath = 'assets/graphical_abstract/' + imageBaseName + '.png';\n } else {\n if (fileMap[imageBaseName + '.jpg']) {\n this.bigGraphicalAbstractImagePath = 'assets/graphical_abstract/' + imageBaseName + '.jpg';\n }\n }\n }\n }\n } else {\n // no Spotlight, just a graphical abstract\n if (fileMap[pmid]) {\n this.graphicalAbstractImagePath = 'assets/graphical_abstract/' + fileMap[pmid];\n this.bigGraphicalAbstractImagePath = 'assets/graphical_abstract/' + fileMap[pmid];\n }\n }\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n let uniquename = params['uniquename'];\n this.pombaseApiService.getReference(uniquename)\n .then(refDetails => {\n this.apiError = undefined;\n this.refDetails = refDetails;\n this.externalLinks = this.appConfig.refPageExtraLinks[this.refDetails.uniquename];\n this.annotationTypeNames = [];\n for (const orderConf of this.config.annotationTypeOrder) {\n if (orderConf.sub_types) {\n orderConf.sub_types.map(subTypeName =>\n this.annotationTypeNames.push(subTypeName));\n } else {\n this.annotationTypeNames.push(orderConf.name);\n }\n }\n\n let re = /(PMID):(\\d+)/i;\n let matches = refDetails.uniquename.match(re);\n if (matches) {\n this.isPubMedRef = true;\n this.pubMedId = matches[2];\n } else {\n this.isPubMedRef = false;\n this.pubMedId = undefined;\n }\n this.setPageTitle();\n this.setCantoFields();\n this.setVisibleSections();\n\n this.setGraphicalAbstract();\n if (refDetails.doi) {\n this.doiUrl = getXrfWithPrefix('DOI', refDetails.doi)?.url;\n } else {\n this.doiUrl = undefined;\n }\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n\n
\n \n\n
\n Publication:\n Reference:\n \n {{refDetails.title}}\n \n
\n\n
\n \n
Authors
\n
{{refDetails.authors}}
\n
\n\n \n\n \n
\n \n
\n\n
\n
\n Community curation provided by {{communityCuratorNames}}\n
\n
\n
\n Curation by {{curator.name}}\n
\n
\n
\n Curated by {{siteName}} staff\n
\n
\n High-throughput dataset provided by {{communityFileCuratorNames}}\n
\n
\n Added to {{siteName}} on {{refDetails.approved_date}}\n
\n
\n
\n\n
Citation
\n
{{refDetails.citation}}
\n
\n\n
ID
\n
{{refDetails.uniquename}}
\n\n \n
Links
\n
\n Europe PMC\n |\n PubMed\n | DOI: {{refDetails.doi}}\n
\n
\n\n \n
Abstract
\n
\n \n \n
\n \n
\n
\n\n \n\n\n {{refDetails.abstract}}\n
\n\n
\n
\n\n
\n \n
\n\n
0\" class=\"pdb-structure-view\">\n \n \n
\n\n
\n \n
\n\n
0\"\n class=\"details-page-external-links\">\n
External link 1\">s:
\n \n
\n\n \n\n
\n
\n
\n\n
\n\n
\n
\n Annotations from this publication:\n
\n
\n Annotations from this reference:\n
\n
\n\n
\n
\n This paper has partial curation that predates {{siteName}} and Canto,\n or is imported from a third party database.\n Please\n \n if you would like to contribute to its full curation.\n
\n
\n This publication is assigned to one of the authors for community curation.\n
\n
\n\n
\n This paper has partial curation that predates {{siteName}} and Canto,\n or is imported from a third party database.\n Please\n \n if you would like to contribute to its full curation.\n
\n\n
\n\n
\n
\n
\n This publication has no annotations in {{siteName}}\n because the data it contains either cannot be associated\n with individual genes, or cannot be represented by\n currently available annotation types.\n
\n
\n
\n This publication has no annotations in {{siteName}} because it hasn't been curated yet.\n Please\n \n if you want to contribute annotations for this paper.\n
\n
\n This publication is assigned to one of the authors for community curation.\n
\n
\n
\n\n
\n This publication has no annotations in {{siteName}}\n because it hasn't been curated yet. Please\n \n if you want to contribute annotations or high throughput datasets for this paper.\n
\n\n
\n
\n\n
\n \n This publication has no\n annotations in {{siteName}} because\n \n \n it is a review.\n \n \n it is a methods paper.\n \n \n the data it contains either cannot be associated with\n individual genes, or cannot be represented by currently\n available annotation types.\n \n
\n
\n\n
0\">\n Genes from PubMed keywords:\n \n \n \n
\n\n\n\n
\n \n \n\n \n\n \n\n \n\n \n\n \n \n
\n\n \n \n\n
\n
\n\n\n Click to view larger graphic\n\n","import { Component, Input, Output, EventEmitter, OnInit, OnChanges } from '@angular/core';\n\nimport { GeneQuery, GeneListNode, TermNode, SubsetNode,\n GeneQueryNode, TermShort,\n NodeEventDetails, HasOrthologNode } from '../pombase-query';\nimport { GeneSummary, ChromosomeShort } from '../pombase-api.service';\n\nimport { ConfigOrganism, getAppConfig,\n QueryNodeConfig, QueryNodeSubsetConfig } from '../config';\n\n@Component({\n selector: 'app-query-node-display',\n templateUrl: './query-node-display.component.html',\n styleUrls: ['./query-node-display.component.css'],\n standalone: false\n})\nexport class QueryNodeDisplayComponent implements OnInit, OnChanges {\n @Input() nodeConfig: QueryNodeConfig;\n @Output() nodeEvent = new EventEmitter();\n\n cannedQueryDetails?: Array<{ name: string; queryId: string; }>;\n chromosomeSummaries?: Array;\n orthologOrganisms: Array = [];\n\n selectedTerm?: TermShort;\n selectedSubset?: QueryNodeSubsetConfig;\n\n selectedOrthologOrganism?: ConfigOrganism;\n\n appConfig = getAppConfig();\n\n constructor() {\n getAppConfig().ortholog_taxonids.map((taxonid) => {\n for (const configOrganism of getAppConfig().organisms) {\n if (configOrganism.taxonid == taxonid) {\n this.orthologOrganisms.push(configOrganism);\n }\n }\n });\n }\n\n ngOnInit(): void {\n this.cannedQueryDetails = [];\n this.appConfig.cannedQueryIds\n .map(id => {\n let queryId = 'canned_query:' + id;\n let predefinedQuery = this.appConfig.getPredefinedQuery(queryId);\n if (!predefinedQuery) {\n queryId = id;\n predefinedQuery = this.appConfig.getPredefinedQuery(id);\n }\n if (predefinedQuery) {\n const query = GeneQuery.fromJSONString(predefinedQuery);\n this.cannedQueryDetails!.push({\n name: query.getQueryName() || '[canned query name not configured]',\n queryId: queryId,\n });\n }\n });\n }\n\n ngOnChanges(): void {\n this.selectedTerm = undefined;\n this.selectedSubset = undefined;\n\n this.selectedOrthologOrganism = undefined;\n }\n\n removePrefix(s: string): string {\n let firstColon = s.indexOf(':');\n return s.slice(firstColon + 1);\n }\n\n emitEvent(nodeAndConfig: NodeEventDetails) {\n this.nodeEvent.emit(nodeAndConfig);\n }\n\n emitNodeEvent(node?: GeneQueryNode): void {\n if (node) {\n this.nodeEvent.emit({ node, nodeConf: this.nodeConfig });\n } else {\n this.nodeEvent.emit(undefined);\n }\n }\n\n newTermNode(newNode: TermNode) {\n this.selectedTerm = newNode.getTerm();\n this.emitNodeEvent(newNode);\n }\n\n genesFound(param: { genes: Array, listName: string }): void {\n let part = new GeneListNode(param.listName, param.genes);\n this.emitNodeEvent(part);\n }\n\n selectedOrthologChange(): void {\n if (this.selectedOrthologOrganism) {\n const nodeName = 'has ortholog with: ' + this.selectedOrthologOrganism.common_name;\n const part = new HasOrthologNode(nodeName, this.selectedOrthologOrganism.taxonid);\n this.emitNodeEvent(part);\n }\n }\n\n smallOntologyChange(): void {\n if (this.selectedTerm) {\n let part = new TermNode(undefined, this.selectedTerm.termid, this.selectedTerm.name,\n this.selectedTerm.definition, undefined, undefined,\n undefined, [], []);\n this.emitNodeEvent(part);\n }\n }\n\n subsetChange(): void {\n if (this.selectedSubset) {\n let part = new SubsetNode(undefined, this.selectedSubset.name);\n this.emitNodeEvent(part);\n }\n }\n\n selectPredefinedQuery(predefinedQueryId: string): void {\n const queryJson = this.appConfig.getPredefinedQuery(predefinedQueryId);\n const query = GeneQuery.fromJSONString(queryJson);\n this.emitNodeEvent(query.getTopNode());\n }\n\n subNodeEvent($event: NodeEventDetails): void {\n this.emitEvent($event);\n }\n}\n","
\n
\n {{part.text}}{{part.link.link_text}}:\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n For bulk lookup of UniProt accessions use the\n Identifier Mapper\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from \"@angular/core\";\n\nimport { getAppConfig, QueryNodeConfig } from \"../config\";\nimport { DeployConfigService } from \"../deploy-config.service\";\nimport { NodeEventDetails } from \"../pombase-query\";\n\n@Component({\n selector: 'app-query-node',\n templateUrl: './query-node.component.html',\n styleUrls: ['./query-node.component.css'],\n standalone: false\n})\nexport class QueryNodeComponent implements OnInit, OnChanges {\n @Input() startNodeType?: string;\n @Output() nodeEvent = new EventEmitter();\n\n nodeTypes: Array = [];\n\n activeConf?: QueryNodeConfig;\n\n appConfig = getAppConfig();\n\n constructor(deployConfigService: DeployConfigService) {\n this.processNodeConfigs(getAppConfig().queryBuilder.node_types);\n\n if (deployConfigService.productionMode()) {\n this.nodeTypes = this.nodeTypes.filter(nodeConfig => !nodeConfig.development_mode_only);\n }\n }\n\n processNodeConfigs(nodeConfigs: Array, level = 0) {\n for (const nodeConfig of nodeConfigs) {\n nodeConfig.level = level;\n this.nodeTypes.push(nodeConfig);\n if (nodeConfig.nodeType === 'heading') {\n if (nodeConfig.subNodes) {\n this.processNodeConfigs(nodeConfig.subNodes, level + 1);\n }\n }\n }\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n if (this.startNodeType) {\n this.setNodeType(this.startNodeType);\n }\n }\n\n upperCaseIntial(s: string): string {\n return s.charAt(0).toUpperCase() + s.slice(1);\n }\n\n emitEvent(nodeAndConfig?: NodeEventDetails): void {\n this.nodeEvent.emit(nodeAndConfig);\n }\n\n clearQuery(): void {\n // clear the current query and results\n this.activeConf = undefined;\n this.emitEvent(undefined);\n }\n\n setNodeType(confId: string) {\n if (!this.activeConf || confId !== this.activeConf.id) {\n this.clearQuery();\n for (let conf of this.nodeTypes) {\n if (confId === conf.id) {\n this.activeConf = conf;\n }\n }\n }\n }\n}\n","
\n
\n
\n
\n New query\n
\n
\n
\n
\n {{upperCaseIntial(conf.displayName)}}:\n
\n
\n {{upperCaseIntial(conf.displayName)}}\n \n >\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n Choose a starting point from left-hand menu\n
\n \n
\n For bulk lookup of UniProt accessions and ortholog IDs use the\n Identifier Mapper\n
\n
\n\n
\n \n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { GeneBoolNode, GeneQuery, GeneQueryNode } from '../pombase-query';\n\n@Component({\n selector: 'app-gene-query-structure',\n templateUrl: './gene-query-structure.component.html',\n styleUrls: ['./gene-query-structure.component.css'],\n standalone: false\n})\nexport class GeneQueryStructureComponent implements OnInit {\n @Input() node: GeneQueryNode;\n @Input() level: number = 0;\n @Output() gotoResults = new EventEmitter();\n\n\n isBooleanNode(): boolean {\n return this.node instanceof GeneBoolNode;\n }\n\n nodeAsBooleanNode(): GeneBoolNode {\n return this.node as GeneBoolNode;\n }\n\n queryFromNode(): void {\n const query = new GeneQuery(this.node);\n this.gotoResults.emit(query);\n }\n\n returnResults(query: GeneQuery): void {\n this.gotoResults.emit(query);\n }\n\n ngOnInit(): void {\n }\n}\n","\n\n\n","import { Component, OnInit } from '@angular/core';\n\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { GeneQuery } from '../pombase-query';\nimport { QueryRouterService } from '../query-router.service';\n\n@Component({\n selector: 'app-query-details-dialog',\n templateUrl: './query-details-dialog.component.html',\n styleUrls: ['./query-details-dialog.component.css'],\n standalone: false\n})\nexport class QueryDetailsDialogComponent implements OnInit {\n public query: GeneQuery;\n public showInternalDetails: boolean;\n\n constructor(private queryRouterService: QueryRouterService,\n public bsModalRef: BsModalRef) { }\n\n gotoResults(query: GeneQuery) {\n this.bsModalRef.hide();\n this.queryRouterService.gotoResults(query);\n }\n\n ngOnInit() {\n }\n}\n","
\n
\n

Internal query details

\n

Query details

\n \n
\n
\n
\n
Name:
\n
\n {{query.getQueryName()}}\n
\n
\n
\n
Internal JSON representation:
\n
\n {{query.toPostJSON()}}\n
\n
\n
\n
Structure:
\n
\n \n
\n
\n
\n
\n \n
\n
\n","import { Component, OnInit, OnDestroy, Output, EventEmitter } from '@angular/core';\n\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n\nimport { QueryService, HistoryEntry } from '../query.service';\nimport { GeneQuery, GeneBoolNode, GeneQueryNode } from '../pombase-query';\nimport { QueryDetailsDialogComponent } from '../query-details-dialog/query-details-dialog.component';\nimport { Subscription } from 'rxjs';\nimport { saveAs } from 'file-saver';\nimport { ToastrService } from 'ngx-toastr';\n\nimport { DeployConfigService } from '../deploy-config.service';\nimport { faEdit, faDownload, faUpload } from '@fortawesome/free-solid-svg-icons';\nimport { NotDirectionSelectDialogComponent } from '../not-direction-select-dialog/not-direction-select-dialog.component';\n\n@Component({\n selector: 'app-query-history',\n templateUrl: './query-history.component.html',\n styleUrls: ['./query-history.component.css'],\n standalone: false\n})\nexport class QueryHistoryComponent implements OnInit, OnDestroy {\n @Output() gotoResults = new EventEmitter();\n\n historyEntries: Array = [];\n sortedHistoryEntries: Array = [];\n histSubscription: Subscription|undefined = undefined;\n detailsModalRef: BsModalRef|undefined = undefined;\n notDirectionModalRef: BsModalRef|undefined = undefined;\n // only used when the query name isn't set:\n showDetailMap: { [id: string]: boolean } = {};\n // set when we are editing a query name\n _nameEditId: string|undefined = undefined;\n\n queryNameForEdit: string|undefined = undefined;\n\n faEdit = faEdit;\n faDownload = faDownload;\n faUpload = faUpload;\n importingFromFile: boolean;\n\n hasUpdatedCounts = false;\n\n sortColumn: 'default'|'queryName' = 'default';\n\n constructor(private modalService: BsModalService,\n private queryService: QueryService,\n private toastr: ToastrService,\n public deployConfigService: DeployConfigService) { }\n\n getSelectedEntries(): Array {\n return this.sortedHistoryEntries.filter(e => e.checked);\n }\n\n sortEntries(): void {\n if (this.sortColumn === 'default') {\n this.sortedHistoryEntries = this.historyEntries;\n } else {\n this.sortedHistoryEntries = this.historyEntries.slice()\n .sort((histEntryA, histEntryB) => {\n if (!histEntryA.queryName() && !histEntryB.queryName()) {\n return this.getQueryDisplayString(histEntryA)\n .localeCompare(this.getQueryDisplayString(histEntryB));\n }\n const histEntryAQueryName = histEntryA.queryName();\n if (!histEntryAQueryName) {\n return 1;\n }\n const histEntryBQueryName = histEntryB.queryName();\n if (!histEntryBQueryName) {\n return -1;\n }\n return histEntryAQueryName.localeCompare(histEntryBQueryName);\n });\n }\n }\n\n changeSortOrder(): void {\n if (this.sortColumn === 'default') {\n this.sortColumn = 'queryName';\n } else {\n this.sortColumn = 'default';\n }\n this.sortEntries();\n }\n\n private actionHelper(selectedQueryNodes: GeneQueryNode[], op: string) {\n let node = new GeneBoolNode(undefined, op, selectedQueryNodes);\n this.sortedHistoryEntries.map((histEntry) => histEntry.checked = false);\n this.queryService.runAndSaveToHistory(new GeneQuery(node));\n }\n\n action(op: string) {\n if (op === 'not') {\n // ask the user for a direction:\n const selectedQueries = this.getSelectedEntries().map(e => e.getQuery());\n const initialState = {\n selectedQueries,\n };\n this.notDirectionModalRef =\n this.modalService.show(NotDirectionSelectDialogComponent, {\n initialState: initialState\n });\n\n this.notDirectionModalRef.content.onClose.subscribe((result: string) => {\n if (result === 'cancel') {\n return;\n }\n let selectedNodes = selectedQueries.map(q => q.getTopNode());\n if (result === 'reverse') {\n selectedNodes.reverse();\n }\n\n this.actionHelper(selectedNodes, op);\n });\n } else {\n const selectedQueryNodes = this.getSelectedEntries().map(e => e.getQuery().getTopNode());\n this.actionHelper(selectedQueryNodes, op);\n }\n }\n\n nameEditId(): string|undefined {\n return this._nameEditId;\n }\n\n addOrEditName(histEntry: HistoryEntry): void {\n this._nameEditId = histEntry.getEntryId();\n this.queryNameForEdit = histEntry.queryName() || '';\n }\n\n storeNameEdit(): void {\n const nameEditId = this.nameEditId();\n if (nameEditId && this.queryNameForEdit) {\n this.queryService.editQueryName(nameEditId, this.queryNameForEdit);\n }\n this._nameEditId = undefined;\n this.queryNameForEdit = undefined;\n }\n\n cancelNameEdit(): void {\n this._nameEditId = undefined;\n this.queryNameForEdit = undefined;\n }\n\n removeTags(input: string): string {\n // remove ... from organism names\n return input.replace(/<([^>]+)>([^<]*)<\\/\\1>/g, '$2');\n }\n\n getQueryDisplayString(histEntry: HistoryEntry): string {\n return this.removeTags(histEntry.getQuery().toString());\n }\n\n deleteQueries() {\n let selected = this.getSelectedEntries();\n this.queryService.removeFromHistory(...selected);\n }\n\n queryClick(histEntry: HistoryEntry) {\n this.gotoResults.emit(histEntry.getQuery());\n }\n\n showDetailsLink(histEntry: HistoryEntry): boolean {\n const query = histEntry.getQuery();\n return !query.hasDefaultName() || query.getTopNode() instanceof GeneBoolNode;\n }\n\n showDetails(histEntry: HistoryEntry): void {\n this.showDetailImpl(histEntry, false);\n }\n\n showInternalDetails(histEntry: HistoryEntry) {\n this.showDetailImpl(histEntry, true);\n }\n\n private showDetailImpl(histEntry: HistoryEntry, showInternalDetails: boolean) {\n const initialState = {\n showInternalDetails: showInternalDetails,\n query: histEntry.getQuery(),\n }\n this.detailsModalRef = this.modalService.show(QueryDetailsDialogComponent,\n {\n class: 'modal-lg',\n initialState,\n });\n }\n\n setAllCounts() {\n this.queryService.setAllCounts();\n }\n\n outOfDateCountTitle(histEntry: HistoryEntry): string {\n let s = '';\n const updatedCount = histEntry.getUpdatedCount();\n if (updatedCount != 1) {\n s = 's';\n }\n\n return `This query now has ${updatedCount} result${s}, click to view`;\n }\n\n exportAll(): void {\n let fileName = 'all_queries.json';\n let blob = new Blob([this.queryService.historyAsJson(2)], { type: 'application/json' });\n saveAs(blob, fileName);\n }\n\n importQueries(): void {\n this.importingFromFile = true;\n }\n\n importFile($event: Event): void {\n let inputValue = $event.target as any;\n let file = inputValue.files[0];\n let fileReader = new FileReader();\n\n fileReader.onloadend = (e) => {\n const errorString = this.queryService.saveImportedQueries(fileReader.result as string);\n if (errorString) {\n this.toastr.error(errorString);\n }\n this.importingFromFile = false;\n };\n\n fileReader.readAsText(file);\n }\n\n cancelImport(): void {\n this.importingFromFile = false;\n }\n\n selectAll() {\n this.sortedHistoryEntries.map(e => e.checked = true);\n }\n\n selectNone() {\n this.sortedHistoryEntries.map(e => e.checked = false);\n }\n\n checkUpdatedCounts(): void {\n this.hasUpdatedCounts = false;\n for (const histEntry of this.historyEntries) {\n if (histEntry.getUpdatedCount()) {\n this.hasUpdatedCounts = true;\n }\n }\n }\n\n ngOnInit() {\n this.histSubscription =\n this.queryService.getHistoryChanges()\n .subscribe((newHistory) => {\n this.historyEntries = newHistory;\n this.sortEntries();\n this.checkUpdatedCounts();\n });\n }\n\n ngOnDestroy(): void {\n if (this.histSubscription) {\n this.histSubscription.unsubscribe();\n }\n }\n}\n","
0\">\n
Combine queries:
\n\n
\n \n \n \n \n \n = 2 ? 'inherit' : 'none'\">\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n Read from file: \n \n\n \n \n \n\n \n \n \n \n\n
\n Select: all | none\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Results\n \n \n \n \n Previous\n \n \n \n Query history\n \n \n
\n \n \n \n \n {{histEntry.getResultCount()}}\n \n \n {{histEntry.getUpdatedCount()}}\n \n \n \n \n {{histEntry.getResultCount()}}\n \n \n
\n \n \n \n
\n
\n {{removeTags(histEntry.queryName()!)}}\n \n [details]\n [details]\n \n
\n\n
\n Edit name:\n \n \n \n \n \n
\n
\n ...\n
\n
\n
\n\n
\n\n \n \n Read from file: \n \n\n
\n\n\n
\n
Number of matching genes
\n
Click on count to go to the gene list
\n
\n
\n\n\n
\n Number of matching genes from the previous run of this query, if different\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Subject } from \"rxjs\";\n\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { GeneQuery } from '../pombase-query';\n\ntype Direction = 'forward'|'reverse'|'cancel';\n\n@Component({\n selector: 'app-not-direction-select-dialog',\n templateUrl: './not-direction-select-dialog.component.html',\n styleUrls: ['./not-direction-select-dialog.component.css'],\n standalone: false\n})\nexport class NotDirectionSelectDialogComponent implements OnInit {\n\n direction: Direction = 'forward';\n selectedQueries: Array;\n firstQueryDisplayName: string;\n secondQueryDisplayName: string;\n\n constructor(public _bsModalRef: BsModalRef) { }\n\n public onClose: Subject;\n\n private setDirection(): void {\n this.firstQueryDisplayName =\n this.selectedQueries[0].getQueryName() || this.selectedQueries[0].toString();\n this.secondQueryDisplayName =\n this.selectedQueries[1].getQueryName() || this.selectedQueries[1].toString();\n if (this.direction === 'reverse') {\n [this.firstQueryDisplayName, this.secondQueryDisplayName] =\n [this.secondQueryDisplayName, this.firstQueryDisplayName];\n }\n }\n\n public ngOnInit(): void {\n this.onClose = new Subject();\n this.setDirection();\n }\n\n public changeDirection(): void {\n if (this.direction === 'forward') {\n this.direction = 'reverse';\n } else {\n this.direction = 'forward';\n }\n this.setDirection();\n }\n\n public query(): void {\n this.onClose.next(this.direction);\n this._bsModalRef.hide();\n }\n\n public cancel(): void {\n this.onClose.next('cancel');\n this._bsModalRef.hide();\n }\n\n ngOnDestroy() {\n this._bsModalRef.content.onClose.unsubscribe();\n }\n}\n","
\n
\n

Choose a query direction

\n \n
\n
\n\n
\n {{firstQueryDisplayName}}\n
\n
\n AND NOT:\n
\n
\n {{secondQueryDisplayName}}\n
\n\n \n
\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { GeneQuery, TermNode, SubsetNode, Ploidiness, NodeEventDetails, RefGenesNode } from '../pombase-query';\nimport { QueryService } from '../query.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { getAppConfig } from '../config';\nimport { Title } from '@angular/platform-browser';\nimport { SettingsService } from '../settings.service';\nimport { QueryRouterService } from '../query-router.service';\n\n@Component({\n selector: 'app-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.css'],\n standalone: false\n})\nexport class QueryBuilderComponent implements OnInit {\n startNodeType?: string;\n appConfig = getAppConfig();\n\n constructor(private queryService: QueryService,\n private route: ActivatedRoute,\n private queryRouterService: QueryRouterService,\n private titleService: Title,\n private settingsService: SettingsService,\n private toastr: ToastrService,\n ) {\n\n }\n\n ngOnInit() {\n this.titleService.setTitle(this.appConfig.site_name + ' - Advanced search');\n this.route.params.forEach((params: Params) => {\n this.startNodeType = undefined;\n\n let fromType = params['type'];\n let id = params['id'];\n let description = params['name'];\n if (fromType && id && description) {\n this.processFromRoute(fromType, id, description);\n return;\n }\n\n const subsetName = params['subsetName'];\n if (subsetName) {\n this.saveFromSubsetName(subsetName);\n return;\n }\n\n const nodeTypeId = params['nodeTypeId'];\n if (nodeTypeId) {\n this.startNodeType = nodeTypeId;\n return;\n }\n\n });\n }\n\n private saveFromSubsetName(subsetName: string): void {\n const constraints = new SubsetNode(undefined, subsetName);\n const query = new GeneQuery(constraints);\n this.saveQuery(query);\n }\n\n processFromRoute(fromType: string, id: string, encodedDescription: string) {\n let newQuery = null;\n const decodedDescription = decodeURIComponent(encodedDescription);\n\n if (fromType === 'term_subset') {\n let singleOrMulti = undefined;\n let ploidiness: Ploidiness|undefined = undefined;\n const matches = id.match(/^([^:]+):/);\n if (matches && getAppConfig().phenotypeIdPrefixes.indexOf(matches[1]) !== -1) {\n // only set if the termid is from a phenotype CV\n singleOrMulti = 'single';\n ploidiness = 'haploid';\n }\n\n const constraints =\n new TermNode(undefined, id, decodedDescription, undefined,\n singleOrMulti, ploidiness, undefined, [], []);\n newQuery = new GeneQuery(constraints);\n }\n if (fromType === 'reference') {\n const nodeName = 'genes from ' + id + ' ' + decodedDescription + '';\n const constraints = new RefGenesNode(nodeName, id);\n newQuery = new GeneQuery(constraints);\n }\n\n if (newQuery) {\n this.saveQuery(newQuery);\n }\n }\n\n gotoResults(query: GeneQuery) {\n this.queryRouterService.gotoResults(query);\n }\n\n saveQuery(query: GeneQuery) {\n this.queryService.runAndSaveToHistory(query);\n }\n\n nodeEvent(nodeEventDetails?: NodeEventDetails) {\n if (nodeEventDetails) {\n const query = new GeneQuery(nodeEventDetails.node);\n this.saveQuery(query);\n\n this.toastr.success('Query results added to history below');\n\n if (nodeEventDetails.nodeConf!.extraResultTableColumns) {\n this.settingsService.addVisibleGenesTableFields(nodeEventDetails.nodeConf!.extraResultTableColumns);\n }\n }\n }\n}\n","
\n
\n \n Documentation\n \n\n

Advanced search

\n
\n
\n\n \n
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-recent-news',\n templateUrl: './recent-news.component.html',\n styleUrls: ['./recent-news.component.css'],\n standalone: false\n})\nexport class RecentNewsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n\n

Protein feature viewer added to gene pages

\n

2023-07-27

\n

JaponicusDB gene pages now include a protein feature widget. This tool shows protein features in the context of amino acid sequence. It includes:

\n
    \n
  • amino acid substitution positions
  • \n
  • Pfam domains
  • \n
  • protein modifications
  • \n
  • protein properties: low complexity regions, disordered regions, coiled coil regions and predicted trans-membrane domains
  • \n
\n

Hover over features for more information, such as allele descriptions and Pfam domain IDs.

\n

\"Protein

\n

Follow the “View all protein features …” link for a detailed view on the dedicated protein features page that includes:

\n
    \n
  • details of the individual amino acid substitution allele changes
  • \n
  • partial amino acid deletions
  • \n
\n

\"Protein

\n

Thanks to the team at RCSB PDB for providing the Open Source software used to implement this feature.

\n\n
\n
\n\n

Reaction diagrams on GO molecular function term pages

\n

2023-06-19

\n

Where available, we now show the reaction diagram from Rhea on GO molecular function term pages. This feature is possible thanks to the great work of Rhea.

\n

See the 3-deoxy-7-phosphoheptulonate synthase activity (GO:0003849) term page for an example.

\n

\n\n
\n
\n\n

Experimental protein structures from PDB on gene pages

\n

2023-05-23

\n

The experimental protein structures from PDB are now embedded on the JaponicusDB gene pages and publication pages using Mol*.

\n

Currently there are three S. japonicus genes with structures in PDB: - mis16/SJAG_03867 gene page - hhf2/SJAG_03542 gene page - tyw1/SJAG_04265 gene page

\n

This list is available from the “Commonly used queries” sub-menu in the Advanced search

\n

From two publications: - Mis16 Independently Recognizes Histone H4 and the CENP-ACnp1-Specific Chaperone Scm3sp - Biochemical and structural characterization of the flavodoxin-like domain of the Schizosaccharomyces japonicus putative tRNA Phe 4-demethylwyosine synthase Tyw1 in complex with FMN

\n

\"Structure

\n\n
\n
\n\n

AlphaFold protein structure on gene pages

\n

2023-05-23

\n

AlphaFold protein structure are now embedded on the JaponicusDB gene pages.

\n

\"Alpha

\n\n
\n
\n\n

Querying by RNA length in the Advanced Search tool

\n

2022-12-09

\n

You can now query the RNA length of genes (spliced or unspliced) under the “Transcripts and exons” query grouping in the Advanced search.

\n

You can also add RNA sequence length as a field in tables downloaded from the query builder.

\n

\"RNA

\n\n
\n
\n\n

Making biological knowledge useful for humans and machines

\n

2022-04-04

\n

A GENETICS special issue featuring model organism database updates is published today. This issue features the recent JaponicusDB and PomBase publications and is accompanied by an editorial “Making biological knowledge useful for humans and machines” co-authored by Val Wood, Paul Sternberg and Howard Lipshitz.

\n\n\n
\n
\n\n

JaponicusDB now uses InterPro Version 88.0

\n

2022-03-12

\n

JaponicusDB now uses InterPro Version 88.0.

\n

Features include:

\n
    \n
  • The addition of 39 InterPro entries (40,071 total entries)
  • \n
  • Integration of 45 new methods from the PRINTS (1), SMART (1), Pfam (2), SUPERFAMILY (7), CATH-Gene3D (14), PANTHER (13), CDD (7) databases
  • \n
\n\n
\n
\n\n

JaponicusDB disseminates data to the Gene Ontology database

\n

2022-03-07

\n

The experimental annotations from S. japonicus community curated publications are now included in the GO database and visible in the AmiGO browser.

\n

Example: PMID:29191091

\n\n
\n
\n\n

PomBase & JaponicusDB publications in the GENETICS MOD reports special issue

\n

2022-02-02

\n

Papers describing PomBase and JaponicusDB are now published (early online). These articles are part of a special issue of GENETICS devoted to model organism database (MOD) reports. The MOD papers will highlight the journal’s new section on Computational Resources, Software & Databases.

\n\n\n
\n
\n\n

JaponicusDB now uses InterPro Version 87.0

\n

2021-11-23

\n

JaponicusDB now uses InterPro Version 87.0, which integrates:

\n
    \n
  • 1,155 new InterPro entries
  • \n
  • Update to Pfam 34.0
  • \n
  • 1,256 new methods
  • \n
\n\n
\n
\n\n

Coils, disorder, and more: new protein feature queries

\n

2021-10-18

\n

The JaponicusDB advanced search now allows you to find proteins that have coiled-coil regions, disordered regions, and low-complexity regions. The query-building interface also now organises query options more sensibly, and the documentation has been updated.

\n\n
\n
\n\n

JaponicusDB & PomBase preprints

\n

2021-09-27

\n

Papers describing JaponicusDB and PomBase will appear in an issue of GENETICS devoted to model organism database (MOD) reports. The MOD papers will highlight the journal’s new section on Computational Resources, Software & Databases.

\n

Follow the links to the JaponicusDB preprint and PomBase preprint, and watch for the full-fledged publications to appear in March 2022.

\n\n
\n
\n\n

Official JaponicusDB release

\n

2021-09-01

\n

We are delighted to announce the official release of JaponicusDB a new, curated model organism database for the fission yeast Schizosaccharomyces japonicus. Highlights include revised gene structures, distant ortholog detection, improved GO annotation, and community literature curation. JaponicusDB features reciprocal gene page links with PomBase - and uses the same underlying code, to provide a familiar environment for all fission yeast researchers.

\n

The S. japonicus community will maintain JaponicusDB from now on. Join the new mailing list, and follow {{\"@\"}}japonicusdb on Twitter.

\n\n
\n
\n\n

Updated S. japonicus gene set

\n

2021-08-18

\n

A comprehensive review of Schizosaccharomyces japonicus genome annotation has identified 17 new protein-coding genes, revised 36 gene structures, and deleted 8 gene predictions. All protein-coding gene product descriptions have been updated, improved and standardized.

\n\n
\n
\n\n

JaponicusDB: A database for Schizosaccharomyces japonicus

\n

2021-07-22

\n

Welcome to the prototype of JaponicusDB, a new model organism database for Schizosaccharomyces japonicus. Like PomBase, on which it is based, JaponicusDB will provide comprehensive structural and functional annotation, literature curation and access to large-scale data sets for S. japonicus.

\n

Documentation specific for JaponicusDB is under development. In the meantime, you can find lots of relevant information in the PomBase documentation, especially the FAQ and the “Quick start” guide to PomBase JBrowse. We also recommend this guide to PomBase, published as a Methods in Molecular Biology book chapter.

\n\n
\n\n\n
\n\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { ReferenceShort } from '../pombase-api.service';\n\n@Component({\n selector: 'app-reference-short-list',\n templateUrl: './reference-short-list.component.html',\n styleUrls: ['./reference-short-list.component.css'],\n standalone: false\n})\nexport class ReferenceShortListComponent implements OnInit {\n @Input() references: Array = [];\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { PombaseAPIService, ReferenceShort } from '../pombase-api.service';\n\n\n@Component({\n selector: 'app-recent-community-pubs',\n templateUrl: './recent-community-pubs.component.html',\n styleUrls: ['./recent-community-pubs.component.css'],\n standalone: false\n})\nexport class RecentCommunityPubsComponent implements OnInit {\n recentCommunityCurationPubs: Array;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit() {\n this.pombaseApiService.getRecentReferences()\n .then(recentReferences => {\n this.recentCommunityCurationPubs = recentReferences.community_curated.splice(0, 4);\n });\n }\n}\n","\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-front-panel-content',\n templateUrl: './front-panel-content.component.html',\n styleUrls: ['./front-panel-content.component.css'],\n standalone: false\n})\nexport class FrontPanelContentComponent implements OnInit {\n @Input() panelId: number;\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","
\n

Rewiring of cellular division site selection in evolution of fission yeasts.

\n\n

Originally published in Curr Biol.

\n\n
\n
\n

Stress-activated MAPK signalling controls fission yeast actomyosin ring integrity by modulating formin For3 levels.

\n\n

Originally published in eLife. Image from eLife 2020;9:e57951, used under CC-BY license terms.

\n\n
\n
\n

Mis16 Independently Recognizes Histone H4 and the CENP-ACnp1-Specific Chaperone Scm3sp.

\n\n

Originally published in J Mol Biol.

\n\n
\n
\n

Yeast-to-hypha transition of Schizosaccharomyces japonicus in response to environmental stimuli.

\n\n

Originally published in Mol Biol Cell.

\n\n
\n
\n

Environmentally controlled dimorphic cycle in a fission yeast.

\n\n

Originally published in Microbiology (Reading).

\n\n
\n
\n

Separable roles for RNAi in regulation of transposable elements and viability in the fission yeast Schizosaccharomyces japonicus.

\n\n

Originally published in PLOS Genetics

\n\n
\n
\n

Synchronous activation of cell division by light or temperature stimuli in the dimorphic yeast Schizosaccharomyces japonicus.

\n\n

Originally published in Eukaryotic Cell

\n\n
\n
\n

\n\n
\n
\n

\n\n
\n
\n

Use the Advanced Search to construct complex queries (GO, phenotypes, taxonomic distribution, domain, chromosomal location).

\n\n
\n
\n

JaponicusDB provides extensive documentation and answers many questions in the FAQ. For any information you can’t find there, please .

\n\n
\n
\n

PomBase has pioneered a community curation system that enables researchers to contribute publication-based annotations directly to database curators. To participate, search for the PubMed ID of your paper in Canto or .

\n\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\nimport { PanelConfig, AppConfig, getAppConfig } from '../config';\nimport { Util } from '../shared/util';\n\n@Component({\n selector: 'app-front-panel',\n templateUrl: './front-panel.component.html',\n styleUrls: ['./front-panel.component.css'],\n standalone: false\n})\nexport class FrontPanelComponent implements OnInit {\n @Input() conf: PanelConfig;\n @Input() showDateAdded?: boolean;\n\n panelDescription: string|undefined;\n headImage: string;\n headImageLink: string;\n headVideo: string;\n\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n\n constructor() { }\n\n ngOnInit() {\n if (this.conf.head_image.length > 0) {\n const randMedia = Util.randElement(this.conf.head_image);\n\n if (randMedia.match(/\\.mp4$/)) {\n this.headVideo = randMedia;\n } else {\n this.headImage = randMedia;\n\n if (!this.headImage.match(/^assets\\//) &&\n !this.headImage.startsWith('/') &&\n !this.headImage.startsWith('http')) {\n this.headImage = 'assets/' + this.headImage;\n }\n }\n\n this.headImageLink = this.conf.head_image_link;\n }\n\n if (this.conf.panel_type === 'spotlight') {\n this.panelDescription = 'Research spotlight';\n } else {\n if (this.conf.panel_type === 'explore') {\n this.panelDescription = 'Explore ' + this.siteName;\n } else {\n this.panelDescription = undefined;\n }\n }\n }\n}\n","
\n
\n
\n \n \n \n \n
\n \n
\n\n
\n {{conf.date_added}}\n
\n {{panelDescription}}: \n {{conf.title}}\n {{conf.title}}\n
\n \n \n {{conf.link_label}}\n \n \n {{conf.link_label}}\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n\nimport { Metadata, PombaseAPIService } from '../pombase-api.service';\nimport { Util } from '../shared/util';\n\nimport { getAppConfig, PanelConfig } from '../config';\n\n@Component({\n selector: 'app-front',\n templateUrl: './front.component.html',\n styleUrls: ['./front.component.css'],\n standalone: false\n})\nexport class FrontComponent implements OnInit {\n metadata: Metadata;\n\n imageNames = ['Slide1.png', 'Slide2.png', 'Slide3.png'];\n rotatingImageName = this.imageNames[0];\n appConfig = getAppConfig();\n\n fypoSlim = this.appConfig.slims['fypo_slim'];\n\n spotlightPanelConfig =\n this.appConfig.frontPagePanels.filter(conf =>\n conf.panel_type === 'spotlight' && conf.show_on_front_page\n );\n communityPanelConfig =\n getAppConfig().frontPagePanels.filter(conf =>\n conf.panel_type === 'community' && conf.show_on_front_page\n );\n explorePanelConfig =\n getAppConfig().frontPagePanels.filter(conf =>\n conf.panel_type === 'explore' && conf.show_on_front_page\n );\n\n spotlightConf: PanelConfig;\n communityConf: PanelConfig;\n exploreConf: PanelConfig;\n\n siteName = getAppConfig().site_name;\n\n examplePages = getAppConfig().example_pages;\n hasDiseaseAnnotation = getAppConfig().has_disease_annotation;\n hasUnknownsList = getAppConfig().has_unknowns_list;\n showNewsItems = getAppConfig().news_on_front_page;\n welcomeMessage = getAppConfig().welcome_message;\n hasAdminCuration = getAppConfig().has_admin_curation;\n\n showElixirAndGbcLogos = getAppConfig().footer.show_elixir_and_gbc_message;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit() {\n this.rotatingImageName = Util.randElement(this.imageNames);\n this.spotlightConf = Util.randElement(this.spotlightPanelConfig);\n this.communityConf = Util.randElement(this.communityPanelConfig);\n this.exploreConf = Util.randElement(this.explorePanelConfig);\n\n this.pombaseApiService.getMetadata()\n .then(metadata => {\n this.metadata = metadata;\n });\n }\n}\n","
\n\n\n

Welcome to {{siteName}}

\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n
\n \n Tools:\n \n Advanced search\n \n \n \n \n Genome browser\n \n \n \n \n \n Example pages:\n Gene\n \n Term\n \n Publication\n \n \n Pathway\n \n \n \n \n \n Overviews:\n \n Function\n \n \n \n Process\n \n \n \n Component\n \n \n \n Disease association\n \n\n \n \n Phenotype\n \n \n \n Status/unknowns\n \n \n \n GO-CAM pathways\n \n \n \n
\n\n
\n\n
\n
\n\n\n
\n\n
\n\n
\n
Database created: {{metadata.db_creation_datetime}}
\n
Database v{{metadata.date_version}} generated by {{metadata.export_prog_name}} v{{metadata.export_prog_version}}
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-router-not-found-handler',\n templateUrl: './router-not-found-handler.component.html',\n styleUrls: ['./router-not-found-handler.component.css'],\n standalone: false\n})\nexport class RouterNotFoundHandlerComponent implements OnInit {\n path = '';\n\n constructor(private router: Router) { }\n\n ngOnInit() {\n this.path = this.router.url;\n }\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\n\nimport { getAppConfig, PanelConfig, AppConfig } from '../config';\nimport { Title, Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-panel-archive',\n templateUrl: './panel-archive.component.html',\n styleUrls: ['./panel-archive.component.css'],\n standalone: false\n})\nexport class PanelArchiveComponent implements OnInit {\n panelType = '';\n panelConfigs: Array = [];\n appConfig: AppConfig = getAppConfig();\n longTitle: string;\n\n constructor(private route: ActivatedRoute,\n private readonly meta: Meta,\n private titleService: Title, ) { }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name + ' - ' + this.longTitle;\n\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['archiveType'] !== undefined) {\n this.panelType = params['archiveType'];\n\n this.panelConfigs = [];\n\n if (this.panelType === 'explore') {\n this.longTitle = 'Explore PomBase items';\n } else {\n if (this.panelType === 'spotlight') {\n this.longTitle = 'Community Curation Research Spotlights'\n } else {\n this.longTitle = this.panelType.charAt(0).toUpperCase() + this.panelType.slice(1);\n }\n }\n\n this.longTitle = `Archive of ${this.longTitle}`;\n\n this.setPageTitle();\n\n getAppConfig().frontPagePanels\n .filter(conf => conf.panel_type === this.panelType)\n .sort((conf1: PanelConfig, conf2: PanelConfig) => {\n // reverse compare\n return conf2.date_added.localeCompare(conf1.date_added);\n })\n .map(conf => {\n this.panelConfigs.push(conf);\n });\n };\n });\n }\n}\n","
\n {{longTitle}}\n
\n
\n
\n \n
\n
\n\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\n\nimport { PombaseAPIService, ReferenceShort } from '../pombase-api.service';\n\nimport { getAppConfig } from '../config';\n\nclass RefGroup {\n constructor(public title: string,\n public refList: Array) {}\n}\n\n@Component({\n selector: 'app-reference-detail-list',\n templateUrl: './reference-detail-list.component.html',\n styleUrls: ['./reference-detail-list.component.css'],\n standalone: false\n})\nexport class ReferenceDetailListComponent implements OnInit, OnChanges {\n @Input() constraint: string;\n\n pageTitle: string|undefined;\n\n groups: Array = [];\n siteName = getAppConfig().site_name;\n hasAdminCuration = getAppConfig().has_admin_curation;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit() {\n }\n\n extraDisplayString(reference: ReferenceShort): string {\n let ret = '';\n if (reference.authors_abbrev) {\n ret += reference.authors_abbrev;\n }\n if (reference.publication_year) {\n ret += ' (' + reference.publication_year + ')';\n }\n return ret;\n }\n\n refTitle(reference: ReferenceShort): string {\n let ret = reference.uniquename + ' - ' + reference.title;\n const extra = this.extraDisplayString(reference);\n if (extra.length > 0) {\n ret += ' ' + extra;\n }\n return ret;\n }\n\n makeGroups(references: Array) {\n let groupMap: { [key: string]: Array } = {};\n\n for (let ref of references) {\n if (ref.approved_date) {\n if (groupMap[ref.approved_date]) {\n groupMap[ref.approved_date].push(ref);\n } else {\n groupMap[ref.approved_date] = [ref];\n }\n }\n }\n\n this.groups = [];\n\n for (let date of Object.keys(groupMap).sort().reverse()) {\n this.groups.push(new RefGroup(date, groupMap[date]));\n }\n }\n\n ngOnChanges() {\n this.groups = [];\n\n this.pombaseApiService.getReferencesPromise(this.constraint)\n .then(references => this.makeGroups(references));\n\n if (this.constraint === 'community') {\n this.pageTitle = 'Community curated publications';\n } else {\n if (this.constraint === 'admin') {\n this.pageTitle = this.siteName + ' curated publications';\n }\n }\n }\n}\n","
\n

\n {{pageTitle}}\n

\n\n \n\n\n
\n
\n {{group.title}}\n
\n
\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\n\n@Component({\n selector: 'app-reference-detail-list-page',\n templateUrl: './reference-detail-list-page.component.html',\n styleUrls: ['./reference-detail-list-page.component.css'],\n standalone: false\n})\nexport class ReferenceDetailListPageComponent implements OnInit {\n constraint: string|undefined;\n\n constructor(private route: ActivatedRoute) { }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n this.constraint = params['constraint'];\n });\n }\n}\n","\n","import { Injectable } from '@angular/core';\n\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of, from } from 'rxjs';\n\nimport { catchError, map } from 'rxjs/operators';\n\nexport interface MotifPeptideMatch {\n start: number;\n end: number;\n match: string;\n before: string;\n after: string;\n}\n\nexport interface MotifPeptideResult {\n peptide_id: string;\n matches: Array;\n match_count: number;\n}\n\nexport interface MotifSearchResults {\n status: string;\n peptide_matches: Array;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MotifService {\n private motifSearchUrl = '/api/v1/dataset/latest/motif_search';\n\n constructor(private http: HttpClient) { }\n\n // scope: \"all\" or a gene systematic ID\n motifSearchAll(scope: string, motif: string, genesWithDetails: number): Observable {\n motif = motif.trim();\n if (motif.length === 0) {\n return from([]);\n }\n\n let genesWithDetailsParam = genesWithDetails.toString();\n\n if (genesWithDetails == -1) {\n genesWithDetailsParam = 'all';\n }\n\n const url = this.motifSearchUrl + '/' + scope + '/' + encodeURI(motif) +\n '/' + genesWithDetailsParam;\n return this.http.get(url)\n .pipe(map((body: any) => body as MotifSearchResults),\n catchError(_ => of({ status: 'ERROR', peptide_matches: []} as unknown as MotifSearchResults)));\n }\n\n motifSearchSingleGene(geneUniquename: string, motif: string): Observable {\n // a bit hacky since the third argunment makes no sense for the single gene call\n return this.motifSearchAll(geneUniquename, motif, -1);\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-motif-search-help',\n templateUrl: './motif-search-help.component.html',\n styleUrls: ['./motif-search-help.component.css'],\n standalone: false\n})\nexport class MotifSearchHelpComponent implements OnInit {\n @Input() full = true;\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","
\n

Search examples

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CADRwill findany protein containing CADR
CA[DE]Rwill findany protein containing CADR or CAER
CA[DE]+LQwill findCA(any sequence of D and E)LQ
CA...R will findCA(any three amino acids)R
CA.+R will find CA(one or more amino acids)R
SPR.|SP.Rwill find SPRX or SPXR
^ME will find proteins beginning with ME
LAA$will find proteins terminating LAA
^.{{ '{1,20}MCA' }}will find proteins with MCA in the first 20 amino acids
\n
\n\n
\n

\n Amino acid group codes\n

\n
\n \n \n \n \n \n \n \n \n \n
\n Examples:\n \n CA6AC will find\n CALAC and CAFAC\n
CA0+LQ will find\n CA(any sequence of D or E)LQ\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
AA groupCodeAmino acids
acidic 0 DE
alcohol 1 ST
aliphatic 2 AGILV
aromatic 3 FHWY
basic 4 KRH
charged 5 DEHKR
hydrophobic 6 AVILMFYW
hydrophilic 7 KRHDENQ
polar 8 CDEHKNQRST
small 9 ACDGNPSTV
tiny B AGS
turnlike Z ACDEGHKNQRST
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { firstValueFrom, Subject } from 'rxjs';\nimport { Subscription } from 'rxjs';\nimport { debounceTime, map, distinctUntilChanged, switchMap } from 'rxjs/operators';\n\nimport { getAppConfig, AppConfig } from '../config';\nimport { MotifService, MotifPeptideResult } from '../motif.service';\nimport { GeneListNode, GeneQuery } from '../pombase-query';\nimport { QueryRouterService } from '../query-router.service';\nimport { PombaseAPIService, GeneSummaryMap } from '../pombase-api.service';\n\nenum SearchState {\n ShowHelp = 0,\n TooShort = 1,\n Searching = 2,\n NoResults = 3,\n SomeResults = 5,\n}\n\n@Component({\n selector: 'app-motif-search',\n templateUrl: './motif-search.component.html',\n styleUrls: ['./motif-search.component.css'],\n standalone: false\n})\nexport class MotifSearchComponent implements OnInit {\n\n motif = '';\n motifChanged: Subject = new Subject();\n trimmedMotif = '';\n\n SearchState = SearchState;\n searchState: SearchState = SearchState.ShowHelp;\n\n peptideResults: Array = [];\n peptideResultsWithDetails: Array = [];\n\n defaultGenesWithDetails = 500;\n showAllGeneDetails = false;\n\n motifSub: Subscription;\n organismCommonName: string;\n appConfig: AppConfig;\n geneSummaries: GeneSummaryMap;\n\n constructor(pombaseApiService: PombaseAPIService,\n private queryRouterService: QueryRouterService,\n private motifService: MotifService) {\n this.appConfig = getAppConfig();\n\n if (!this.appConfig.isMultiOrganismMode()) {\n this.organismCommonName =\n this.appConfig.getConfigOrganism().species;\n }\n\n pombaseApiService.getGeneSummaryMapPromise()\n .then(geneSummaries => this.geneSummaries = geneSummaries);\n\n this.motifSub = this.motifChanged.pipe(\n map(motif => {\n this.trimmedMotif = '';\n let trimmed = motif.trim();\n trimmed = trimmed.replace(/\\|+$/g, '');\n trimmed = trimmed.replace(/^\\|+/g, '');\n trimmed = trimmed.replace(/^\\.*[\\*\\+]*$/g, '');\n trimmed = trimmed.replace(/x/ig, '.');\n if (trimmed.length === 0) {\n this.searchState = SearchState.ShowHelp;\n } else {\n // this.searchState = SearchState.Searching;\n }\n this.trimmedMotif = trimmed;\n return trimmed;\n }),\n debounceTime(250),\n distinctUntilChanged((previous: string, current: string) => {\n if (this.showAllGeneDetails) {\n return false;\n } else {\n return previous === current;\n }\n }),\n switchMap(motif => {\n let genesWithDetails;\n if (this.showAllGeneDetails) {\n genesWithDetails = -1;\n } else {\n genesWithDetails = this.defaultGenesWithDetails;\n }\n return this.motifService.motifSearchAll('all', motif, genesWithDetails);\n }))\n .subscribe({\n next: (results) => {\n if (results.status === 'OK') {\n this.peptideResults = results.peptide_matches;\n if (this.peptideResults.length > 0) {\n if (this.showAllGeneDetails ||\n this.peptideResults.length <= this.defaultGenesWithDetails) {\n this.peptideResultsWithDetails = this.peptideResults;\n } else {\n this.peptideResultsWithDetails =\n this.peptideResults.slice(0, this.defaultGenesWithDetails);\n }\n this.searchState = SearchState.SomeResults;\n } else {\n this.searchState = SearchState.NoResults;\n }\n } else {\n this.peptideResults = [];\n this.searchState = SearchState.NoResults;\n }\n this.showAllGeneDetails = false;\n },\n error: err => {\n this.searchState = SearchState.ShowHelp;\n console.error(err);\n }\n });\n }\n\n morePeptideMatches(geneUniquename: string): void {\n firstValueFrom(this.motifService.motifSearchSingleGene(geneUniquename, this.trimmedMotif))\n .then(results => {\n if (results.peptide_matches.length === 1) {\n const fullGeneMatch = results.peptide_matches[0];\n const existingGeneIndex =\n this.peptideResultsWithDetails.findIndex(existingGeneMatch => {\n return existingGeneMatch.peptide_id === fullGeneMatch.peptide_id;\n });\n this.peptideResultsWithDetails[existingGeneIndex] = fullGeneMatch;\n }\n });\n }\n\n showAll(): void {\n this.showAllGeneDetails = true;\n this.motifChange(this.motif); // trigger the Observable\n }\n\n geneIdOf(peptideResult: MotifPeptideResult): string {\n return peptideResult.peptide_id.replace(/\\.\\d+$/, '');\n }\n\n sendToQueryBuilder(): void {\n const geneUniquenames =\n this.peptideResults.map(res => this.geneIdOf(res));\n const part = new GeneListNode('peptides matching motif \"' + this.trimmedMotif + '\"', geneUniquenames);\n const geneQuery = new GeneQuery(part);\n this.queryRouterService.gotoResults(geneQuery);\n }\n\n motifChange(motif: string): void {\n this.motifChanged.next(motif);\n }\n\n resetSearch(): void {\n this.motif = '';\n this.motifChange('');\n }\n\n ngOnInit() {\n }\n\n ngOnDestroy(): void {\n this.motifSub.unsubscribe();\n }\n}\n","
\n
\n \n Documentation\n \n\n

Search for a motif in all {{organismCommonName}} protein sequences

\n
\n\n
\n
\n \n clear\n
\n\n
\n \n Motif search documentation\n \n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n
\n

No matching peptides

\n
\n\n
\n\t\t\t

Searching ...

\n
\n\n
\n
\n\n
\n One matching peptide\n
\n\n
\n Showing all {{peptideResults.length}} matching peptides\n
\n\n
peptideResultsWithDetails.length\">\n Showing the first {{defaultGenesWithDetails}}\n of {{peptideResults.length}} matching peptides\n Show all\n
\n\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n peptideResult.matches.length\">\n \n \n 20\">\n \n \n \n
GeneProductStartEnd
\n \n {{geneSummaries[geneIdOf(peptideResult)].product || ''}}{{peptideMatch.start}}{{peptideMatch.before}}{{peptideMatch.match}}{{peptideMatch.after}}{{peptideMatch.end}}
Showing first {{peptideResult.matches.length}} matches. Show all ...
Showing all {{peptideResult.matches.length}} matches
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { AppConfig, getAppConfig } from './config';\n\nimport { GeneSummary, GeneSummaryMap, PombaseAPIService } from './pombase-api.service';\nimport { GeneUniquename } from './pombase-query';\n\nexport interface MapperType {\n id: string;\n taxonId: number|null;\n displayName: string;\n displayNameWithExamples: string;\n};\n\nconst localStorageIdsKey = 'pombase-identifier-mapping-ids-history-v1';\nconst localStorageTypeKey = 'pombase-identifier-mapping-type-history-v1';\n\nconst organismCommonName = getAppConfig().getConfigOrganism().common_name;\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IdentifierMapperService {\n private _inputText: string;\n\n appConfig: AppConfig = getAppConfig();\n\n private uniprotType: MapperType = {\n id: 'uniprot',\n taxonId: null,\n displayName: 'UniProt',\n displayNameWithExamples: organismCommonName + ' UniProt accessions (e.g. P04551)',\n };\n\n private _mapperTypes: Array = [];\n\n private summaryMap: GeneSummaryMap;\n private _filteredIds: Array = [];\n private geneSummaryMapPromise: Promise;\n\n private _oneToOneMatches: { [id: string]: GeneSummary } = {};\n // eg. human PBRM1 -> pombe rsc4 and rsc1\n private _oneToManyMatches: { [id: string]: Array } = {};\n // eg. human ACTA1, ACTA2, ACTA2 etc <- pombe act1 (SPBC32H8.12c)\n private _manyToOneMatches: { [id: string]: Array } = {};\n private _manyToManyMatches: Array<[Set, Set]> = [];\n private _notFound: Array = [];\n private _mapperType: MapperType;\n\n private readyResolve: () => void;\n private readyPromise: Promise =\n new Promise((resolve, _) => {\n this.readyResolve = () => {\n resolve();\n }\n });\n\n constructor(private pombaseApiService: PombaseAPIService) {\n this._mapperTypes = [this.uniprotType];\n\n this.geneSummaryMapPromise = this.pombaseApiService.getGeneSummaryMapPromise();\n\n for (const orthTaxonId of this.appConfig.ortholog_taxonids) {\n this.appConfig.organisms\n .map(org => {\n if (org.taxonid === orthTaxonId) {\n const displayName = org.common_name;\n const displayNameWithExamples = displayName +\n ' (e.g. ' + org.example_gene_identifiers.join(' or ') + ')';\n this._mapperTypes.push({\n id: 'ortholog' + org.taxonid,\n taxonId: org.taxonid,\n displayName,\n displayNameWithExamples,\n });\n }\n });\n }\n\n this._mapperType = this.uniprotMapperType();\n\n this._inputText = localStorage.getItem(localStorageIdsKey) || '';\n this._filteredIds = this.filterIds(this._inputText);\n\n const storedMapperTypeId = localStorage.getItem(localStorageTypeKey);\n\n if (storedMapperTypeId) {\n this._mapperTypes.map(mapperType => {\n if (mapperType.id === storedMapperTypeId) {\n this._mapperType = mapperType;\n }\n });\n }\n\n if (storedMapperTypeId && this._filteredIds.length > 0) {\n this.lookup();\n }\n }\n\n public resultsReady(): Promise {\n return this.readyPromise;\n }\n\n public uniprotMapperType(): MapperType {\n return this.uniprotType;\n }\n\n public mapperTypes(): Array {\n return this._mapperTypes;\n }\n\n public lookup(): Promise {\n return this.geneSummaryMapPromise\n .then(summaryMap => {\n this.summaryMap = summaryMap;\n this.lookupHelper(this._mapperType, this._filteredIds);\n this.readyResolve();\n });\n }\n\n public set mapperType(mapperType: MapperType) {\n this._mapperType = mapperType;\n\n localStorage.setItem(localStorageTypeKey, mapperType.id)\n }\n\n public get mapperType(): MapperType {\n return this._mapperType;\n }\n\n public set inputText(inputText: string) {\n this._inputText = inputText || '';\n\n localStorage.setItem(localStorageIdsKey, this._inputText);\n this._filteredIds = this.filterIds(this._inputText);\n }\n\n public get inputText(): string {\n return this._inputText;\n }\n\n public filteredIds(): Array {\n return this._filteredIds;\n }\n\n public hasMatches(): boolean {\n return this.allMatchesCount() > 0;\n }\n\n public resetResults(): void {\n this._notFound = [];\n this._oneToOneMatches = {};\n this._oneToManyMatches = {};\n this._manyToOneMatches = {};\n this._manyToManyMatches = [];\n }\n\n public notFound(): Array {\n return this._notFound;\n }\n\n public oneToOneMatches(): { [id: string]: GeneSummary } {\n return this._oneToOneMatches;\n }\n\n public hasOneToOneMatches(): boolean {\n return Object.keys(this.oneToOneMatches()).length > 0;\n }\n\n public oneToManyMatches(): { [id: string]: Array } {\n return this._oneToManyMatches;\n }\n\n public hasOneToManyMatches(): boolean {\n return Object.keys(this.oneToManyMatches()).length > 0;\n }\n\n public manyToOneMatches(): { [id: string]: Array } {\n return this._manyToOneMatches;\n }\n\n public hasManyToOneMatches(): boolean {\n return Object.keys(this.manyToOneMatches()).length > 0;\n }\n\n public manyToManyMatches(): Array<[Set, Set]> {\n return this._manyToManyMatches;\n }\n\n public hasManyToManyMatches(): boolean {\n return this.manyToManyMatches().length > 0;\n }\n\n private filterIds(inputText: string): Array {\n let seen: Set = new Set();\n return inputText.trim().split(/[^a-zA-Z0-9\\-_:\\.]+/)\n .filter(id => {\n id = id.trim();\n if (id.length === 0) {\n return false;\n }\n if (seen.has(id)) {\n return false;\n }\n seen.add(id);\n return true;\n })\n }\n\n private lookupHelper(mapperType: MapperType, ids: Array) {\n this.resetResults();\n\n const lookupMap: { [key: string]: Array } = {};\n const lookupAdd = (key: string, geneSumm: GeneSummary) => {\n const lowerKey = key.toLowerCase();\n if (lookupMap[lowerKey]) {\n if (lookupMap[lowerKey]\n .filter(el => {\n return geneSumm.uniquename === el.uniquename;\n })\n .length > 0) {\n return;\n }\n } else {\n lookupMap[lowerKey] = [];\n }\n lookupMap[lowerKey].push(geneSumm);\n };\n\n\n for (const geneSummary of Object.values(this.summaryMap)) {\n if (mapperType.id === 'uniprot') {\n if (geneSummary.uniprot_identifier) {\n lookupAdd(geneSummary.uniprot_identifier, geneSummary);\n }\n } else {\n if (mapperType.taxonId) {\n geneSummary.orthologs.map(orth => {\n if (orth.taxonid === mapperType.taxonId) {\n const orthName = orth.name;\n\n if (orthName) {\n lookupAdd(orthName, geneSummary);\n }\n\n const orthIdentifier = orth.identifier;\n\n if (orthIdentifier) {\n lookupAdd(orthIdentifier, geneSummary);\n }\n\n const orthSecondaryIdentifier = orth.secondary_identifier;\n\n if (orthSecondaryIdentifier) {\n lookupAdd(orthSecondaryIdentifier, geneSummary);\n }\n }\n });\n }\n }\n }\n\n // could be 1-1 or 1-many:\n let oneToSomeMatches: { [key: string]: Set } = {};\n\n ids.map((id: string) => {\n const lowerId = id.toLowerCase();\n const matchingGenes = lookupMap[lowerId];\n\n if (matchingGenes) {\n if (matchingGenes.length === 1) {\n this._oneToOneMatches[id] = matchingGenes[0];\n } else {\n this._oneToManyMatches[id] = matchingGenes;\n }\n\n matchingGenes.map(matchedGene => {\n if (!oneToSomeMatches[matchedGene.uniquename]) {\n oneToSomeMatches[matchedGene.uniquename] = new Set();\n }\n oneToSomeMatches[matchedGene.uniquename].add(id);\n })\n } else {\n this._notFound.push(id);\n }\n });\n\n Object.keys(oneToSomeMatches).map(uniquename => {\n const matches = Array.from(oneToSomeMatches[uniquename]);\n if (matches.length > 1) {\n this._manyToOneMatches[uniquename] = matches;\n\n matches.map(queryId => {\n delete this._oneToOneMatches[queryId];\n });\n }\n });\n\n let otherOrgSeenIds: { [id: string]: boolean } = {};\n\n ONE_TO_MANY:\n for (const otherOrgId of Object.keys(this._oneToManyMatches)) {\n if (otherOrgSeenIds[otherOrgId]) {\n continue;\n }\n\n otherOrgSeenIds[otherOrgId] = true;\n\n let otherIdsForGroup = new Set();\n let thisOrgSummariesForGroup = new Set();\n\n const thisOrgGeneSummaries = this._oneToManyMatches[otherOrgId];\n\n if (thisOrgGeneSummaries) {\n for (const thisOrgGeneSummary of thisOrgGeneSummaries) {\n thisOrgSummariesForGroup.add(thisOrgGeneSummary);\n const manyToOneIds = this._manyToOneMatches[thisOrgGeneSummary.uniquename];\n if (manyToOneIds) {\n for (const manyToOneOtherOrgId of manyToOneIds) {\n otherIdsForGroup.add(manyToOneOtherOrgId);\n otherOrgSeenIds[manyToOneOtherOrgId] = true;\n }\n } else {\n // it's not many-to-many\n continue ONE_TO_MANY;\n }\n }\n }\n\n this._manyToManyMatches.push([otherIdsForGroup, thisOrgSummariesForGroup]);\n }\n\n for (const [otherIds, geneSummaries] of this._manyToManyMatches) {\n otherIds.forEach(otherId => {\n delete this._oneToManyMatches[otherId];\n });\n geneSummaries.forEach(geneSummary => {\n delete this._manyToOneMatches[geneSummary.uniquename];\n });\n }\n }\n\n private oneToManyMatchesCount(): number {\n let count = 0;\n\n for (const id of Object.keys(this._oneToManyMatches)) {\n count += this._oneToManyMatches[id].length;\n }\n\n return count;\n }\n\n private manyToManyMatchesCount(): number {\n let count = 0;\n\n for (const [_, geneSummaries] of this._manyToManyMatches) {\n count += geneSummaries.size;\n }\n\n return count;\n }\n\n public allMatchesCount(): number {\n return Object.keys(this._oneToOneMatches).length +\n this.oneToManyMatchesCount() +\n Object.keys(this._manyToOneMatches).length +\n this.manyToManyMatchesCount();\n }\n\n public allMatches(): Array {\n const seen = new Set();\n\n Object.values(this.oneToOneMatches())\n .map((gene) => {\n seen.add(gene.uniquename);\n })\n\n Object.keys(this.oneToManyMatches())\n .map(key => {\n const matches = this.oneToManyMatches()[key];\n matches.map(geneSumm => seen.add(geneSumm.uniquename));\n });\n\n Object.keys(this.manyToOneMatches())\n .map(geneUniquename => {\n seen.add(geneUniquename);\n });\n\n for (const [_, matches] of this._manyToManyMatches) {\n matches.forEach(geneSumm => seen.add(geneSumm.uniquename));\n }\n\n return Array.from(seen);\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { IdentifierMapperService, MapperType } from '../identifier-mapper.service';\nimport { AppConfig, getAppConfig } from '../config';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-identifier-mapper',\n templateUrl: './identifier-mapper.component.html',\n styleUrls: ['./identifier-mapper.component.css'],\n standalone: false\n})\nexport class IdentifierMapperComponent implements OnInit {\n\n appConfig: AppConfig = getAppConfig();\n\n organismCommonName = this.appConfig.getConfigOrganism().common_name;\n\n constructor(private router: Router,\n public identifierMapperService: IdentifierMapperService) {\n }\n\n mapperTypes(): Array {\n return this.identifierMapperService.mapperTypes();\n }\n\n filteredIds(): Array {\n return this.identifierMapperService.filteredIds();\n }\n\n mapperTypeCompare(a: MapperType, b: MapperType): boolean {\n if (!a || !b) {\n return false;\n }\n return a.id === b.id;\n }\n\n objectKeyCount(obj: {}): number {\n return Object.keys(obj).length;\n }\n\n readFile($event: Event): void {\n let inputValue = $event.target as any;\n let file = inputValue.files[0];\n\n if (!file) {\n return;\n }\n\n let fileReader = new FileReader();\n\n fileReader.onloadend = () => {\n this.identifierMapperService.inputText = fileReader.result as string;\n };\n\n fileReader.readAsText(file);\n }\n\n clear(): void {\n this.identifierMapperService.inputText = '';\n this.identifierMapperService.resetResults();\n }\n\n inputTextChanged(inputText: string): void {\n this.identifierMapperService.inputText = inputText;\n }\n\n lookup(): void {\n this.identifierMapperService.lookup()\n .then(() => {\n this.router.navigate(['/identifier-mapper-results']);\n }) \n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n Documentation\n \n\n

\n Identifier mapping tool\n

\n
\n\n
\n
\n Select an identifier type, then provide identifiers to map to\n {{organismCommonName}} genes. Upload a file, or type or paste\n identifiers into the box, separated by commas, spaces, tabs or\n one per line.\n
\n\n
\n
\n Identifier type: \n
\n\n \n\n
\n \n\n \n\n \n Read from file: \n \n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { Subscription, timer } from 'rxjs';\nimport { QueryService } from '../query.service';\nimport { QueryResult, GeneQuery } from '../pombase-query';\nimport { getAppConfig } from '../config';\n\n@Component({\n selector: 'app-gene-results-page',\n templateUrl: './gene-results-page.component.html',\n styleUrls: ['./gene-results-page.component.css'],\n standalone: false\n})\nexport class GeneResultsPageComponent implements OnInit, OnDestroy {\n results: QueryResult;\n showLoading = true;\n timerSubscription?: Subscription;\n mode: string;\n err?: string;\n\n constructor(private queryService: QueryService,\n private router: Router,\n private route: ActivatedRoute) { }\n\n gotoAdvancedSearch(): void {\n this.router.navigate(['/query/']);\n }\n\n ngOnInit(): void {\n this.route.params.forEach((params: Params) => {\n\n this.mode = params['mode'];\n\n const id: string = params['id'];\n if (id !== undefined) {\n const trimmedId = id.replace(/[\\.\\s]+$/,'');\n if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmedId)) {\n const resultPromise = this.queryService.execById(trimmedId);\n this.handleResults(resultPromise);\n } else {\n this.err = `can't find query for ID ${trimmedId}`\n }\n return;\n };\n\n const json: string = params['json'];\n if (json !== undefined) {\n const obj = JSON.parse(json);\n const query = GeneQuery.fromJSONString(obj);\n this.handleQuery(query);\n return;\n };\n\n const predefinedQueryId = params['predefinedQueryId'];\n if (predefinedQueryId !== undefined) {\n const queryJson = getAppConfig().getPredefinedQuery(predefinedQueryId);\n const query = GeneQuery.fromJSONString(queryJson);\n this.handleQuery(query);\n return;\n }\n });\n }\n\n private handleQuery(query: GeneQuery) {\n const resultPromise = this.queryService.exec(query);\n this.handleResults(resultPromise);\n }\n\n private handleResults(resultPromise: Promise) {\n this.showLoading = false;\n const timer$ = timer(400);\n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe();\n }\n this.timerSubscription = timer$.subscribe(_ => {\n this.showLoading = true;\n });\n this.err = undefined;\n resultPromise\n .then(results => {\n if (results instanceof QueryResult) {\n this.results = results;\n } else {\n this.err = results;\n }\n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe();\n this.timerSubscription = undefined;\n }\n this.showLoading = false;\n })\n .catch(err => this.err = err);\n }\n\n ngOnDestroy() {\n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe();\n }\n }\n}\n","\n
\n \n
\n\n
\n \n\n
\n
Error showing results:
\n {{err}}\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { PombaseAPIService, Metadata } from '../pombase-api.service';\n\n@Component({\n selector: 'app-all-cv-versions',\n templateUrl: './all-cv-versions.component.html',\n styleUrls: ['./all-cv-versions.component.css'],\n standalone: false\n})\nexport class AllCvVersionsComponent implements OnInit {\n metadata: Metadata;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit(): void {\n\n this.pombaseApiService.getMetadata()\n .then(metadata => {\n this.metadata = metadata;\n });\n }\n\n}\n","
\n
    \n
  • \n {{cvDetails.key}}: {{cvDetails.value}}\n
  • \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { PombaseAPIService, Metadata } from '../pombase-api.service';\n\n@Component({\n selector: 'app-internal-details',\n templateUrl: './internal-details.component.html',\n styleUrls: ['./internal-details.component.css'],\n standalone: false\n})\nexport class InternalDetailsComponent implements OnInit {\n metadata: Metadata;\n dataSourceNameVersions: Array<[string, string]> = [];\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit(): void {\n this.pombaseApiService.getMetadata()\n .then(metadata => {\n this.metadata = metadata;\n\n let dataSourceNames = Object.keys(metadata.data_source_versions);\n\n dataSourceNames.sort((n1, n2) => {\n return n1.localeCompare(n2);\n });\n\n for (const name of dataSourceNames) {\n const version = metadata.data_source_versions[name];\n this.dataSourceNameVersions.push([name, version]);\n }\n });\n }\n\n}\n","
\n
\n\n

Data source versions

\n
\n
    \n
  • \n {{nameVersion[0]}}: {{nameVersion[1]}}\n
  • \n
\n
\n
\n\n
\n

CV versions

\n
\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getAppConfig } from '../config';\nimport { IdentifierMapperService } from '../identifier-mapper.service';\nimport { GeneSummary, GeneSummaryMap, PombaseAPIService } from '../pombase-api.service';\nimport { GeneListNode, GeneQuery, GeneUniquename } from '../pombase-query';\nimport { QueryRouterService } from '../query-router.service';\n\n@Component({\n selector: 'app-identifier-mapper-results',\n templateUrl: './identifier-mapper-results.component.html',\n styleUrls: ['./identifier-mapper-results.component.css'],\n standalone: false\n})\nexport class IdentifierMapperResultsComponent implements OnInit {\n INITIAL_NOT_FOUND = 10;\n\n appConfig = getAppConfig();\n organismCommonName = this.appConfig.getConfigOrganism().common_name;\n\n resultsReady = false;\n\n private geneSummaryMapPromise: Promise;\n geneSummaryMap: GeneSummaryMap;\n private _showAllNotFound: boolean = false;\n\n private _showAllOneToOne: boolean = false;\n private _showAllOneToMany: boolean = false;\n private _showAllManyToOne: boolean = false;\n private _showAllManyToMany: boolean = false;\n\n subsetForQueryBuilder: 'all'|'one-to-one'|'one-to-many'|'many-to-one'|'many-to-many' = 'all';\n\n constructor(private router: Router,\n public identifierMapperService: IdentifierMapperService,\n private pombaseApiService: PombaseAPIService,\n private queryRouterService: QueryRouterService) {\n this.geneSummaryMapPromise = this.pombaseApiService.getGeneSummaryMapPromise();\n this.geneSummaryMapPromise.then(geneSummaryMap => this.geneSummaryMap = geneSummaryMap);\n\n identifierMapperService.resultsReady()\n .then(() => {\n this.resultsReady = true;\n // show the results if there is only one\n this._showAllOneToOne = (this.oneToOneMatchesCount() == 1);\n this._showAllOneToMany = (this.oneToManyMatchesCount() == 1);\n this._showAllManyToOne = (this.manyToOneMatchesCount() == 1);\n this._showAllManyToMany = (this.manyToManyMatchesCount() == 1);\n });\n }\n\n backToInput(): void {\n this.router.navigate(['/identifier-mapper']);\n }\n\n hasMatches(): boolean {\n return this.identifierMapperService.hasMatches();\n }\n\n revealAllNotFound(): void {\n this._showAllNotFound = true;\n }\n\n showingAllNotFound(): boolean {\n return this.notFound().length <= this.INITIAL_NOT_FOUND ||\n this._showAllNotFound;\n }\n\n displayNotFoundList(): Array {\n if (this._showAllNotFound) {\n return this.notFound();\n } else {\n return this.notFound().slice(0, this.INITIAL_NOT_FOUND);\n }\n }\n\n public objectKeyCount(obj: {}): number {\n return Object.keys(obj).length;\n }\n\n public notFound(): Array {\n return this.identifierMapperService.notFound();\n }\n\n public oneToOneMatches(): { [id: string]: GeneSummary } {\n return this.identifierMapperService.oneToOneMatches();\n }\n\n public oneToOneMatchesCount(): number {\n return this.objectKeyCount(this.oneToOneMatches());\n }\n\n public hasOneToOneMatches(): boolean {\n return this.identifierMapperService.hasOneToOneMatches();\n }\n\n public oneToManyMatches(): { [id: string]: Array } {\n return this.identifierMapperService.oneToManyMatches();\n }\n\n public oneToManyMatchesCount(): number {\n return this.objectKeyCount(this.oneToManyMatches());\n }\n\n public showAllOneToOne(): boolean {\n return this._showAllOneToOne;\n }\n\n public revealAllOneToOne() {\n this._showAllOneToOne = true;\n }\n\n public hideAllOneToOne() {\n this._showAllOneToOne = false;\n }\n\n public hasOneToManyMatches(): boolean {\n return this.identifierMapperService.hasOneToManyMatches();\n }\n\n public showAllOneToMany(): boolean {\n return this._showAllOneToMany;\n }\n\n public revealAllOneToMany() {\n this._showAllOneToMany = true;\n }\n\n public hideAllOneToMany() {\n this._showAllOneToMany = false;\n }\n\n public manyToOneMatches(): { [id: string]: Array } {\n return this.identifierMapperService.manyToOneMatches();\n }\n\n public hasManyToOneMatches(): boolean {\n return this.identifierMapperService.hasManyToOneMatches();\n }\n\n public manyToOneMatchesCount(): number {\n return this.objectKeyCount(this.manyToOneMatches());\n }\n\n public showAllManyToOne(): boolean {\n return this._showAllManyToOne;\n }\n\n public revealAllManyToOne() {\n this._showAllManyToOne = true;\n }\n\n public hideAllManyToOne() {\n this._showAllManyToOne = false;\n }\n\n public manyToManyMatches(): Array<[Set, Set]> {\n return this.identifierMapperService.manyToManyMatches();\n }\n\n public hasManyToManyMatches(): boolean {\n return this.identifierMapperService.hasManyToManyMatches();\n }\n\n public manyToManyMatchesCount(): number {\n return this.manyToManyMatches().length;\n }\n\n public showAllManyToMany(): boolean {\n return this._showAllManyToMany;\n }\n\n public revealAllManyToMany() {\n this._showAllManyToMany = true;\n }\n\n public hideAllManyToMany() {\n this._showAllManyToMany = false;\n }\n\n public allMatchesCount(): number {\n return this.identifierMapperService.allMatchesCount();\n }\n\n public geneOrGenes(): string {\n if (this.allMatchesCount() == 1) {\n return 'gene';\n } else {\n return 'genes';\n }\n }\n\n private allMatches(): Array {\n return this.identifierMapperService.allMatches();\n }\n\n public showSubSetSelector(): boolean {\n let count = 0;\n if (this.hasOneToOneMatches()) {\n count += 1;\n }\n if (this.hasOneToManyMatches()) {\n count += 1;\n }\n if (this.hasManyToOneMatches()) {\n count += 1;\n }\n if (this.hasManyToManyMatches()) {\n count += 1;\n }\n return count > 1;\n }\n\n public sendToQueryBuilder(): void {\n let genesToSend: Array = [];\n\n switch (this.subsetForQueryBuilder) {\n case 'all':\n genesToSend = this.allMatches();\n break;\n case 'one-to-one':\n Object.values(this.oneToOneMatches())\n .map((gene) => {\n genesToSend.push(gene.uniquename);\n })\n break;\n case 'one-to-many':\n Object.keys(this.oneToManyMatches())\n .map(key => {\n const matches = this.oneToManyMatches()[key];\n matches.map(geneSumm => genesToSend.push(geneSumm.uniquename));\n });\n break;\n case 'many-to-one':\n Object.keys(this.manyToOneMatches())\n .map(geneUniquename => {\n genesToSend.push(geneUniquename);\n });\n break;\n case 'many-to-many':\n const manyToManyMatches = this.identifierMapperService.manyToManyMatches();\n for (const [_, matches] of manyToManyMatches) {\n matches.forEach(geneSumm => genesToSend.push(geneSumm.uniquename));\n }\n break;\n }\n\n let queryName;\n\n if (genesToSend.length == 1) {\n queryName = 'gene';\n } else {\n queryName = genesToSend.length + ' genes';\n }\n\n queryName += ' from ' + this.identifierMapperService.mapperType.displayName +\n ' identifier mapping';\n\n const part = new GeneListNode(queryName, genesToSend);\n const geneQuery = new GeneQuery(part);\n this.queryRouterService.gotoResults(geneQuery);\n }\n\n ngOnInit(): void {\n }\n}\n","
\n

\n Mapping tool results for {{identifierMapperService.mapperType.displayName}} identifiers\n

\n\n
\n \n\n
\n
\n Found {{allMatchesCount()}} {{organismCommonName}} {{geneOrGenes()}}.\n
\n
\n Use the {{geneOrGenes()}} as a gene list in the Advanced Search:\n \n \n \n \n
\n
\n\n
\n
\n
\n These {{identifierMapperService.mapperType.displayName}} identifiers could not be found:\n
\n
\n {{id}} \n
\n
\n
\n
\n {{notFound().length}} {{identifierMapperService.mapperType.displayName}} identifiers could not be found, showing first {{INITIAL_NOT_FOUND}}:\n
\n
\n {{id}} \n
\n \n
\n
\n\n
\n
\n No matching {{organismCommonName}} genes were found for {{identifierMapperService.mapperType.displayName}} identifiers.\n
\n
\n\n
\n
\n One identifier\n {{oneToOneMatchesCount()}} identifiers\n matched a single gene (one-to-one matches):\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Identifier{{organismCommonName}} gene
{{item.key}}\n \n
\n
\n\n
\n
\n One identifier\n {{oneToManyMatchesCount()}} identifiers\n\n in your list mapped to multiple genes (paralogs) in {{organismCommonName}}.\n All paralogs were included.\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Identifier{{organismCommonName}} genes
{{item.key}}\n
\n \n
\n
\n
\n\n
\n
\n Many to one matches - paralogs from\n {{identifierMapperService.mapperType.displayName}} that match a {{organismCommonName}} gene:\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Identifiers{{organismCommonName}} gene
\n
\n {{queryId}}\n
\n
\n \n
\n
\n\n
\n
\n Many to many matches - {{identifierMapperService.mapperType.displayName}} paralogs\n that match {{organismCommonName}} paralogs:\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Identifiers{{organismCommonName}} genes
\n
\n {{queryId}}\n
\n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { AppConfig, getAppConfig } from '../config';\nimport { ReferenceDetails, APIError, PombaseAPIService, GeneShort } from '../pombase-api.service';\n\n@Component({\n selector: 'app-ref-genes-view',\n templateUrl: './ref-genes-view.component.html',\n styleUrls: ['./ref-genes-view.component.css'],\n standalone: false\n})\nexport class RefGenesViewComponent implements OnInit {\n @Input() refDetails: ReferenceDetails;\n\n queryBuilderRouterLink: string;\n\n isPubMedRef = false;\n apiError?: APIError;\n appConfig: AppConfig = getAppConfig();\n siteName = this.appConfig.site_name;\n genes: Array;\n\n constructor(private pombaseApiService: PombaseAPIService,\n private route: ActivatedRoute,\n private titleService: Title,\n private meta: Meta) {\n\n }\n\n setPageTitle(): void {\n let title = this.appConfig.site_name + ' - Reference - ';\n if (this.refDetails) {\n title += this.refDetails.uniquename;\n if (this.refDetails.title) {\n title += ' - ' + this.refDetails.title;\n }\n } else {\n title = 'UNKNOWN';\n }\n this.titleService.setTitle(title);\n this.meta.updateTag({property: 'og:title', content: title});\n this.meta.updateTag({property: 'description', content: title});\n }\n\n ngOnInit() {\n this.route.params.forEach((params: Params) => {\n if (params['uniquename'] !== undefined) {\n this.genes = [];\n let uniquename = params['uniquename'] as string;\n this.pombaseApiService.getReference(uniquename)\n .then(refDetails => {\n this.apiError = undefined;\n this.refDetails = refDetails;\n let re = /(PMID):(\\d+)/i;\n let matches = refDetails.uniquename.match(re);\n if (matches) {\n this.isPubMedRef = true;\n } else {\n this.isPubMedRef = false;\n }\n this.setPageTitle();\n\n let description = refDetails.title;\n\n let descriptionPrefix = '';\n\n if (refDetails.authors_abbrev) {\n descriptionPrefix = refDetails.authors_abbrev;\n }\n\n if (refDetails.publication_year) {\n if (descriptionPrefix !== '') {\n descriptionPrefix += ' ';\n }\n descriptionPrefix += '(' + refDetails.publication_year + ')';\n }\n\n if (descriptionPrefix !== '') {\n description = descriptionPrefix + ' \"' + description + '\"';\n }\n\n this.queryBuilderRouterLink = '/query/save/from/reference/' +\n refDetails.uniquename + '/' + encodeURIComponent(description);\n\n this.genes = Object.values(refDetails.genes_by_uniquename)\n .filter(g => !g.flags || !g.flags.includes('not_load_organism'));\n })\n .catch(error => {\n this.apiError = error;\n });\n };\n });\n }\n}\n","
\n \n \n\n
\n \n\n
\n Publication:\n Reference:\n \n {{refDetails.title}}\n \n
\n\n
\n \n {{refDetails.authors_abbrev}} ({{refDetails.publication_year}})\n \n
\n {{refDetails.citation}}\n
\n\n \n
\n\n
0\">\n \n
\n\n
No genes from {{refDetails.uniquename}}
\n
\n \n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Metadata, DatabaseStatistics, PombaseAPIService} from '../pombase-api.service';\nimport { getAppConfig, ConfigOrganism } from '../config';\n\n@Component({\n selector: 'app-stats-summary',\n templateUrl: './stats-summary.component.html',\n styleUrls: ['./stats-summary.component.css'],\n standalone: false\n})\nexport class StatsSummaryComponent {\n\n metadata: Metadata|undefined = undefined;\n stats: DatabaseStatistics|undefined = undefined;\n configOrganism: ConfigOrganism|undefined = undefined;\n curatedPublicationsCount = 0;\n dbCreationDate: string|undefined = undefined;\n appConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n ngOnInit() {\n\n this.configOrganism = this.appConfig.getConfigOrganism();\n\n this.pombaseApiService.getMetadata()\n .then(metadata => {\n this.metadata = metadata;\n const dateVersionMatch = this.metadata.date_version.match(/^\\d\\d\\d\\d-\\d\\d-\\d\\d/g);\n if (dateVersionMatch) {\n this.dbCreationDate = dateVersionMatch[0];\n } else {\n this.dbCreationDate = metadata.db_creation_datetime.split(' ')[0];\n }\n });\n\n this.pombaseApiService.getStatistics()\n .then(stats => {\n this.stats = stats;\n this.curatedPublicationsCount =\n stats.community_pubs_count + stats.non_community_pubs_count;\n });\n }\n}","
\n
\n
Last updated: {{dbCreationDate}}
\n
\n {{curatedPublicationsCount}} curated publications\n \n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { PombaseAPIService, StatCountsByTaxon, StatsIntegerTable } from '../pombase-api.service';\nimport { ConfigOrganism, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-curation-stats',\n templateUrl: './curation-stats.component.html',\n styleUrls: ['./curation-stats.component.css'],\n standalone: false\n})\nexport class CurationStatsComponent implements OnInit {\n organismStats: StatCountsByTaxon | undefined = undefined;\n configOrganism: ConfigOrganism | undefined = undefined;\n appConfig = getAppConfig();\n\n annotationGroupTotals: Array<[string, number]> = [];\n\n cumulativeByYearPlotLoaded = false;\n cumulativeAnnotationByYearPlotLoaded = false;\n curatedByYearPlotLoaded = false;\n curatableByYearPlotLoaded = false;\n communityResponseRates = false;\n cumulativeMicropublicationsPlotLoaded = false;\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n setAnnotationGroupTotals(annotationTypeCountsByYear: StatsIntegerTable) {\n let { header, data } = annotationTypeCountsByYear;\n\n let totals: { [groupName: string]: number } = {};\n\n const statsConfig = this.appConfig.stats;\n\n header.forEach((cvName, idx) => {\n let groupConfig = undefined;\n for (const conf of statsConfig.annotation_type_groups) {\n if (conf.cv_names.includes(cvName)) {\n groupConfig = conf;\n break;\n }\n }\n if (!groupConfig) {\n return;\n }\n\n const groupName = groupConfig.display_name;\n\n for (const dataRow of data) {\n if (totals[groupName]) {\n totals[groupName] += dataRow[1][idx];\n } else {\n totals[groupName] = dataRow[1][idx];\n }\n }\n });\n\n this.annotationGroupTotals = [];\n\n for (const groupConf of statsConfig.annotation_type_groups) {\n const groupName = groupConf.display_name;\n this.annotationGroupTotals.push([groupName, totals[groupName]]);\n }\n }\n\n ngOnInit() {\n this.configOrganism = this.appConfig.getConfigOrganism();\n\n this.pombaseApiService.getStatistics()\n .then(stats => {\n if (this.configOrganism) {\n this.organismStats = stats.by_taxon[this.configOrganism.taxonid];\n\n if (this.organismStats.annotation_type_counts_by_year) {\n this.setAnnotationGroupTotals(this.organismStats.annotation_type_counts_by_year);\n }\n }\n });\n }\n}\n","

Literature and curation metrics

\n\n
\n
\n

Summary

\n
\n \n
\n

Other statistics

\n \n
\n\n
\n

\n Genes in GO-CAM models over time\n

\n \n \"Genes\n \n
\n\n
\n

\n Number of GO-CAM models over time\n

\n \n \"Number\n \n
\n\n\n
\n
\n Loading ...\n
\n

\n Publication status (cumulative):\n

\n \n \"Cumulative\n \n
\n\n
\n
\n Loading ...\n
\n

\n Community curation response rate:\n

\n \n \"Cumulative\n \n
\n\n
\n

\n GO annotation evidence codes over time:\n \n \n \n \n

\n \n \"GO\n \n
\n\n
\n
\n Loading ...\n
\n

\n Cumulative annotation type count by year\n\n \n \n \n \n

\n
\n
\n \n \"Cumulative\n \n
\n
\n Total annotations: {{organismStats.annotations}}\n
    \n
  • \n {{groupTotal[0]}}: {{groupTotal[1]}}\n
  • \n
\n
\n
\n
\n\n
\n
\n Loading ...\n
\n

\n Cumulative S. pombe microPublications per year:\n

\n \n \"Cumulative\n \n
\n\n
\n
\n Loading ...\n
\n

\n Papers curated per year:\n

\n \n \"Curated\n \n
\n\n
\n
\n Loading ...\n
\n

\n Curatable papers by year published:\n

\n \n \"Curatable\n \n
\n\n
\n\n

\n Average annotated genes per publications by year range (low throughput experiments only):\n

\n \n \"Annotated\n \n
\n\n
\n

\n Average annotations per publication by year range (low throughput experiments only):\n

\n \n \"Low\n \n
\n\n
\n

\n Average annotations per publication by year range (high throughput experiments only):\n

\n \n \"Annotated\n \n
\n\n
\n

\n Related documents\n

\n \n
\n\n
\n\n\n
\n
\n PomBase filters redundant GO annotations from non-experimental sources\n when experimental data is available, and GO annotation from electronic\n sources when manual annotation is available. This graph shows the\n \"filtered\" GO annotations over time. Non experimental manual\n annotations not supported by a manual annotation are decreasing over\n time. Electronic annotations not supported by any other source are\n decreasing over time (<1900).\n
\n
\n The total number of prefiltered\n electronic annotations now exceeds 38,000 (i.e. ~36,000 are covered by\n experimental or manual annotation).\n
\n
\n
\n\n\n
\n
This graph shows cumulative totals of manually curated annotations over time.
\n\n
\n Totals include annotations made by PomBase curators and fission yeast community but exclude annotations imported from\n other sources, and GO annotations based on computational methods (IEA evidence).\n All annotation types are described in the PomBase documentation.\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { DomSanitizer, Meta, SafeResourceUrl, Title } from '@angular/platform-browser';\nimport { AppConfig, getAppConfig } from '../config';\nimport { PombaseAPIService, GoCamDetails, GeneSummaryMap, GeneSummary, GeneShort } from '../pombase-api.service';\nimport { TextOrTermId, Util } from '../shared/util';\n\n@Component({\n selector: 'app-go-cam-view-page',\n templateUrl: './go-cam-view-page.component.html',\n styleUrls: ['./go-cam-view-page.component.css'],\n standalone: false\n})\nexport class GoCamViewPageComponent implements OnInit {\n appConfig: AppConfig = getAppConfig();\n\n sanitizedURL?: SafeResourceUrl;\n\n gocamIdParam?: string;\n gocamIds: Array = [];\n gocamDetailsList: Array = [];\n overlappingGene?: GeneShort;\n contributorNames?: string;\n sourcePageType = 'gene';\n source?: string;\n sourceName?: string;\n modelGenes: Array = [];\n geneSummaryMap?: GeneSummaryMap;\n titleParts: Array> = [];\n\n constructor(private titleService: Title,\n private sanitizer: DomSanitizer,\n private readonly meta: Meta,\n private route: ActivatedRoute,\n private pombaseApi: PombaseAPIService) { }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n getTitleOrId(): string|undefined {\n if (this.gocamIdParam) {\n if (this.gocamDetailsList.length > 0) {\n return this.gocamDetailsList.map((details) => details.title).join(', ');\n } else {\n return this.gocamIdParam;\n }\n } else {\n return undefined;\n }\n }\n\n setContributors() {\n this.contributorNames = undefined;\n if (this.gocamDetailsList.length > 0) {\n let contributorNamesList: Array = [];\n for (const details of this.gocamDetailsList) {\n for (const contributor of details.contributors) {\n if (!contributorNamesList.includes(contributor.name)) {\n contributorNamesList.push(contributor.name);\n }\n }\n }\n this.contributorNames = contributorNamesList.join(', ');\n }\n }\n\n setPageTitle(): void {\n let title;\n if (this.gocamIdParam) {\n title = this.appConfig.site_name + ' - GO-CAM Model - ' + this.getTitleOrId();\n } else {\n title = this.appConfig.site_name + ' - GO-CAM Model';\n }\n this.titleService.setTitle(title);\n this.meta.updateTag({ property: 'og:title', content: title });\n this.meta.updateTag({ property: 'description', content: title });\n }\n\n setTitleParts(): void {\n this.titleParts = [];\n for (const detail of this.gocamDetailsList) {\n const splitDesc = Util.splitDescription(detail.title, detail.title_terms ?? []);\n this.titleParts.push(splitDesc);\n }\n }\n\n ngOnInit(): void {\n this.route.params.forEach((params: Params) => {\n this.gocamIds = [];\n this.gocamDetailsList = [];\n this.overlappingGene = undefined;\n this.gocamIdParam = params['gocam_id'];\n this.modelGenes = [];\n\n this.sourcePageType = params['source_page_type'];\n this.source = params['source'];\n this.sourceName = params['source_name'];\n\n if (this.gocamIdParam !== undefined) {\n const summPromise = this.pombaseApi.getGeneSummaryMapPromise();\n\n this.gocamIds = this.gocamIdParam.split(\"+\");\n\n const gocamDetailPromise = this.pombaseApi.getGoCamDetailByIds(this.gocamIds.join(\",\"));\n gocamDetailPromise.then((details) => {\n this.gocamDetailsList = details;\n this.setPageTitle();\n });\n\n Promise.all([summPromise, gocamDetailPromise])\n .then(([geneSummMap, gocamDetailsList]) => {\n const seenGenes = new Set();\n for (const detail of gocamDetailsList) {\n for (const geneUniquename of detail.genes) {\n if (seenGenes.has(geneUniquename)) {\n continue;\n }\n seenGenes.add(geneUniquename);\n const geneSumm = geneSummMap[geneUniquename];\n this.modelGenes.push(geneSumm);\n }\n }\n\n this.setContributors();\n\n this.modelGenes.sort((a, b) => {\n if (!a.name && !b.name) {\n return a.uniquename.localeCompare(b.uniquename);\n }\n if (a.name && !b.name) {\n return -1;\n }\n if (!a.name && b.name) {\n return 1;\n }\n return a.name!.localeCompare(b.name!);\n })\n this.setTitleParts();\n\n if (gocamDetailsList.length > 1 && this.source && this.sourceName) {\n this.overlappingGene = { uniquename: this.source, name: this.sourceName } as GeneShort;\n }\n });\n\n const path = this.route.snapshot.url[0].path;\n\n let rawUrl;\n\n if (path.includes('pombase_gocam_view')) {\n if (this.source) {\n rawUrl = 'gocam_view/full/' + this.gocamIdParam + '/' + this.source;\n } else {\n rawUrl = 'gocam_view/full/' + this.gocamIdParam;\n }\n } else {\n rawUrl = 'gocam_viz/full/' + this.gocamIdParam;\n }\n\n this.sanitizedURL = this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n this.setPageTitle();\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n GO-CAM pathway model {{gocamIdParam}}\n
\n
\n GO-CAM pathway model\n \n \n \n \n \n All curated pathways\n \n
\n\n
1\" class=\"merged-model-list\">\n \n Merged GO-CAM pathway models with overlapping gene\n :\n \n Merged GO-CAM pathway models:\n \n
\n
\n\n \n
\n\n
\n Curated by: {{contributorNames}}\n
\n
\n\n
\n
0\" class=\"genes-and-terms\">\n
\n Genes in this model:\n
    \n
  • \n \n
  • \n
\n
\n
\n\n
\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { Meta, Title } from '@angular/platform-browser';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-gocam-connections',\n templateUrl: './gocam-connections.component.html',\n styleUrl: './gocam-connections.component.css',\n standalone: false,\n})\nexport class GocamConnectionsComponent {\n appConfig: AppConfig = getAppConfig();\n\n constructor(private titleService: Title,\n private readonly meta: Meta) {\n }\n\n setPageTitle(): void {\n const title = this.appConfig.site_name + ' - GO-CAM Connections';\n\n this.titleService.setTitle(title);\n this.meta.updateTag({ property: 'og:title', content: title });\n this.meta.updateTag({ property: 'description', content: title });\n }\n\n ngOnInit(): void {\n this.setPageTitle();\n }\n}\n","
\n \n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, NoPreloading, ExtraOptions } from '@angular/router';\n\nimport { GeneDetailsComponent } from './gene-details/gene-details.component';\nimport { GeneAlleleListComponent } from './gene-allele-list/gene-allele-list.component';\nimport { GeneProteinFeaturesComponent } from './gene-protein-features/gene-protein-features.component';\nimport { GenotypeDetailsComponent } from './genotype-details/genotype-details.component';\nimport { AlleleDetailsComponent } from './allele-details/allele-details.component';\nimport { TermDetailsComponent } from './term-details/term-details.component';\nimport { TermGenesViewComponent } from './term-genes-view/term-genes-view.component';\nimport { GeneSubsetViewComponent } from './gene-subset-view/gene-subset-view.component';\nimport { TermGenotypesViewComponent } from './term-genotypes-view/term-genotypes-view.component';\nimport { TermSingleGeneGenotypesViewComponent } from './term-single-gene-genotypes-view/term-single-gene-genotypes-view.component';\nimport { ReferenceDetailsComponent } from './reference-details/reference-details.component';\nimport { QueryBuilderComponent } from './query-builder/query-builder.component';\nimport { FrontComponent } from './front/front.component';\nimport { RouterNotFoundHandlerComponent } from './router-not-found-handler/router-not-found-handler.component';\nimport { PanelArchiveComponent } from './panel-archive/panel-archive.component';\nimport { ReferenceDetailListPageComponent } from './reference-detail-list-page/reference-detail-list-page.component';\nimport { MotifSearchComponent } from './motif-search/motif-search.component';\nimport { IdentifierMapperComponent } from './identifier-mapper/identifier-mapper.component';\nimport { GeneResultsPageComponent } from './gene-results-page/gene-results-page.component';\nimport { InternalDetailsComponent } from './internal-details/internal-details.component';\nimport { IdentifierMapperResultsComponent } from './identifier-mapper-results/identifier-mapper-results.component';\nimport { getAppConfig } from './config';\nimport { RefGenesViewComponent } from './ref-genes-view/ref-genes-view.component';\nimport { CurationStatsComponent } from './curation-stats/curation-stats.component';\nimport { GoCamViewPageComponent } from './go-cam-view-page/go-cam-view-page.component';\nimport { GocamConnectionsComponent } from './gocam-connections/gocam-connections.component';\n\nconst routes: Routes = [\n { path: 'gene/:uniquename', component: GeneDetailsComponent,\n data: {\n }\n },\n { path: 'gene_alleles/:uniquename', component: GeneAlleleListComponent,\n data: {\n }\n },\n { path: 'gene_subset/:subsetName', component: GeneSubsetViewComponent,\n data: {\n }\n },\n {\n path: 'gene_protein_features/:uniquename', component: GeneProteinFeaturesComponent,\n data: {\n }\n },\n { path: 'genotype/:uniquename', component: GenotypeDetailsComponent,\n data: {\n }\n },\n { path: 'allele/:uniquename', component: AlleleDetailsComponent,\n data: {\n }\n },\n { path: 'spombe/:wildcard/:uniquename', component: GeneDetailsComponent,\n data: {\n }\n },\n { path: 'term/:termid', component: TermDetailsComponent,\n data: {\n }\n },\n { path: 'term_genes/:termid', component: TermGenesViewComponent,\n data: {\n }\n },\n { path: 'term_genotypes/:termid', component: TermGenotypesViewComponent,\n data: {\n }\n },\n { path: 'term_single_locus_genotype_genes/:termid', component: TermSingleGeneGenotypesViewComponent,\n data: {\n }\n },\n { path: 'reference/:uniquename', component: ReferenceDetailsComponent,\n data: {\n }\n },\n { path: 'ref_genes/:uniquename', component: RefGenesViewComponent,\n data: {\n }\n },\n { path: 'reference_list/:constraint', component: ReferenceDetailListPageComponent,\n data: {\n defaultTitleDetail: 'References'\n }\n },\n { path: 'archive/:archiveType', component: PanelArchiveComponent,\n data: {\n defaultTitleDetail: 'Panel archive'\n }\n },\n {\n path: 'gocam/connections', component: GocamConnectionsComponent,\n data: {\n }\n },\n {\n path: 'gocam/:source_page_type/:gocam_id/:source/:source_name', component: GoCamViewPageComponent,\n data: {\n }\n },\n {\n path: 'gocam/:source_page_type/:gocam_id/:source', component: GoCamViewPageComponent,\n data: {\n }\n },\n {\n path: 'gocam/:source_page_type/:gocam_id', component: GoCamViewPageComponent,\n data: {\n }\n },\n {\n path: 'pombase_gocam_view/:source_page_type/:gocam_id/:source/:source_name', component: GoCamViewPageComponent,\n data: {\n }\n },\n {\n path: 'pombase_gocam_view/:source_page_type/:gocam_id/:source', component: GoCamViewPageComponent,\n data: {\n }\n },\n {\n path: 'pombase_gocam_view/:source_page_type/:gocam_id', component: GoCamViewPageComponent,\n data: {\n }\n },\n { path: 'community',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'about',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'help',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'status',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'documentation',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'datasets',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'downloads',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'documents',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'news',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'faq',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'browse-curation',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'submit-data',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'gene-names',\n loadChildren: () => import('./documentation/documentation.module').then(m => m.DocumentationModule),\n },\n { path: 'internal-details', component: InternalDetailsComponent,\n data: {\n defaultTitleDetail: 'Internal details'\n }\n },\n { path: 'query', component: QueryBuilderComponent,\n data: {\n defaultTitleDetail: 'Advanced search'\n }\n },\n { path: 'query/start_from/:nodeTypeId', component: QueryBuilderComponent,\n data: {\n defaultTitleDetail: 'Advanced search'\n }\n },\n { path: 'query/save/from/subset/:subsetName/:subsetDisplayName',\n component: QueryBuilderComponent,\n data: {\n defaultTitleDetail: 'Advanced search'\n }\n },\n { path: ':mode/from/id/:id', component: GeneResultsPageComponent,\n data: {\n defaultTitleDetail: 'Search results'\n }\n },\n { path: ':mode/from/json/:json', component: GeneResultsPageComponent,\n data: {\n defaultTitleDetail: 'Search results'\n }\n },\n { path: ':mode/from/predefined/:predefinedQueryId', component: GeneResultsPageComponent,\n data: {\n defaultTitleDetail: 'Search results'\n }\n },\n { path: 'query/save/from/:type/:id/:name', component: QueryBuilderComponent,\n data: {\n defaultTitleDetail: 'Advanced search'\n }\n },\n\n { path: 'motif_search', component: MotifSearchComponent,\n data: {\n defaultTitleDetail: 'Motif search'\n }\n },\n { path: 'identifier-mapper', component: IdentifierMapperComponent,\n data: {\n defaultTitleDetail: 'Identifier mapper'\n }\n },\n {\n path: 'metrics', component: CurationStatsComponent,\n data: {\n defaultTitleDetail: 'Literature and curation metrics',\n }\n },\n { path: 'identifier-mapper-results', component: IdentifierMapperResultsComponent,\n data: {\n defaultTitleDetail: 'Identifier mapper results'\n }\n },\n { path: 'front', redirectTo: '/', pathMatch: 'full' },\n {\n path: '', component: FrontComponent,\n data: {\n defaultTitleDetail: getAppConfig().database_long_name,\n }\n },\n {\n path: '**',\n component: RouterNotFoundHandlerComponent,\n }\n];\n\nconst routerModuleOptions: ExtraOptions = {\n preloadingStrategy: NoPreloading,\n anchorScrolling: 'enabled',\n scrollPositionRestoration: 'enabled'\n};\n@NgModule({\n imports: [RouterModule.forRoot(routes, routerModuleOptions),\n ],\n exports: [RouterModule],\n providers: []\n})\nexport class AppRoutingModule { }\n","import * as i0 from '@angular/core';\nimport { Injectable, forwardRef, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgClass, NgIf, NgTemplateOutlet, NgFor, CommonModule } from '@angular/common';\n\n// todo: split\n/** Provides default values for Pagination and pager components */\nconst _c0 = (a0, a1) => ({\n \"pull-left\": a0,\n \"float-left\": a1\n});\nconst _c1 = (a0, a1) => ({\n \"pull-right\": a0,\n \"float-right\": a1\n});\nconst _c2 = (a0, a1) => ({\n disabled: a0,\n currentPage: a1\n});\nconst _c3 = (a0, a1, a2) => ({\n disabled: a0,\n $implicit: a1,\n currentPage: a2\n});\nfunction PaginationComponent_li_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 11)(1, \"a\", 12);\n i0.ɵɵlistener(\"click\", function PaginationComponent_li_1_Template_a_click_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.selectPage(1, $event));\n });\n i0.ɵɵelementContainer(2, 13);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n const defaultFirstTemplate_r3 = i0.ɵɵreference(13);\n i0.ɵɵclassProp(\"disabled\", ctx_r1.noPrevious() || ctx_r1.disabled);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.customFirstTemplate || defaultFirstTemplate_r3)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(4, _c2, ctx_r1.noPrevious() || ctx_r1.disabled, ctx_r1.page));\n }\n}\nfunction PaginationComponent_li_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 14)(1, \"a\", 12);\n i0.ɵɵlistener(\"click\", function PaginationComponent_li_2_Template_a_click_1_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.selectPage(ctx_r1.page - 1, $event));\n });\n i0.ɵɵelementContainer(2, 13);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n const defaultPreviousTemplate_r5 = i0.ɵɵreference(11);\n i0.ɵɵclassProp(\"disabled\", ctx_r1.noPrevious() || ctx_r1.disabled);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.customPreviousTemplate || defaultPreviousTemplate_r5)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(4, _c2, ctx_r1.noPrevious() || ctx_r1.disabled, ctx_r1.page));\n }\n}\nfunction PaginationComponent_li_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 15)(1, \"a\", 12);\n i0.ɵɵlistener(\"click\", function PaginationComponent_li_3_Template_a_click_1_listener($event) {\n const pg_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.selectPage(pg_r7.number, $event));\n });\n i0.ɵɵelementContainer(2, 13);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const pg_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n const defaultPageTemplate_r8 = i0.ɵɵreference(7);\n i0.ɵɵclassProp(\"active\", pg_r7.active)(\"disabled\", ctx_r1.disabled && !pg_r7.active);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.customPageTemplate || defaultPageTemplate_r8)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction3(6, _c3, ctx_r1.disabled, pg_r7, ctx_r1.page));\n }\n}\nfunction PaginationComponent_li_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 16)(1, \"a\", 12);\n i0.ɵɵlistener(\"click\", function PaginationComponent_li_4_Template_a_click_1_listener($event) {\n i0.ɵɵrestoreView(_r9);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.selectPage(ctx_r1.page + 1, $event));\n });\n i0.ɵɵelementContainer(2, 13);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n const defaultNextTemplate_r10 = i0.ɵɵreference(9);\n i0.ɵɵclassProp(\"disabled\", ctx_r1.noNext() || ctx_r1.disabled);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.customNextTemplate || defaultNextTemplate_r10)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(4, _c2, ctx_r1.noNext() || ctx_r1.disabled, ctx_r1.page));\n }\n}\nfunction PaginationComponent_li_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 17)(1, \"a\", 12);\n i0.ɵɵlistener(\"click\", function PaginationComponent_li_5_Template_a_click_1_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.selectPage(ctx_r1.totalPages, $event));\n });\n i0.ɵɵelementContainer(2, 13);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n const defaultLastTemplate_r12 = i0.ɵɵreference(15);\n i0.ɵɵclassProp(\"disabled\", ctx_r1.noNext() || ctx_r1.disabled);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.customLastTemplate || defaultLastTemplate_r12)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(4, _c2, ctx_r1.noNext() || ctx_r1.disabled, ctx_r1.page));\n }\n}\nfunction PaginationComponent_ng_template_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const page_r13 = ctx.$implicit;\n i0.ɵɵtextInterpolate(page_r13.text);\n }\n}\nfunction PaginationComponent_ng_template_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtextInterpolate(ctx_r1.getText(\"next\"));\n }\n}\nfunction PaginationComponent_ng_template_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtextInterpolate(ctx_r1.getText(\"previous\"));\n }\n}\nfunction PaginationComponent_ng_template_12_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtextInterpolate(ctx_r1.getText(\"first\"));\n }\n}\nfunction PaginationComponent_ng_template_14_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵtextInterpolate(ctx_r1.getText(\"last\"));\n }\n}\nlet PaginationConfig = /*#__PURE__*/(() => {\n class PaginationConfig {\n constructor() {\n this.main = {\n itemsPerPage: 10,\n boundaryLinks: false,\n directionLinks: true,\n firstText: 'First',\n previousText: 'Previous',\n nextText: 'Next',\n lastText: 'Last',\n pageBtnClass: '',\n rotate: true\n };\n this.pager = {\n itemsPerPage: 15,\n previousText: '« Previous',\n nextText: 'Next »',\n pageBtnClass: '',\n align: true\n };\n }\n static {\n this.ɵfac = function PaginationConfig_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PaginationConfig)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PaginationConfig,\n factory: PaginationConfig.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return PaginationConfig;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst PAGER_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PagerComponent),\n multi: true\n};\nlet PagerComponent = /*#__PURE__*/(() => {\n class PagerComponent {\n constructor(elementRef, paginationConfig, changeDetection) {\n this.elementRef = elementRef;\n this.changeDetection = changeDetection;\n /** if `true` aligns each link to the sides of pager */\n this.align = false;\n /** if false first and last buttons will be hidden */\n this.boundaryLinks = false;\n /** if false previous and next buttons will be hidden */\n this.directionLinks = true;\n // labels\n /** first button text */\n this.firstText = 'First';\n /** previous button text */\n this.previousText = '« Previous';\n /** next button text */\n this.nextText = 'Next »';\n /** last button text */\n this.lastText = 'Last';\n /** if true current page will in the middle of pages list */\n this.rotate = true;\n // css\n /** add class to */\n this.pageBtnClass = '';\n /** if true pagination component will be disabled */\n this.disabled = false;\n /** fired when total pages count changes, $event:number equals to total pages count */\n this.numPages = new EventEmitter();\n /** fired when page was changed, $event:{page, itemsPerPage} equals to\n * object with current page index and number of items per page\n */\n this.pageChanged = new EventEmitter();\n this.onChange = Function.prototype;\n this.onTouched = Function.prototype;\n this.classMap = '';\n this.inited = false;\n this._itemsPerPage = 15;\n this._totalItems = 0;\n this._totalPages = 0;\n this._page = 1;\n this.elementRef = elementRef;\n if (!this.config) {\n this.configureOptions(Object.assign({}, paginationConfig.main, paginationConfig.pager));\n }\n }\n /** maximum number of items per page. If value less than 1 will display all items on one page */\n get itemsPerPage() {\n return this._itemsPerPage;\n }\n set itemsPerPage(v) {\n this._itemsPerPage = v;\n this.totalPages = this.calculateTotalPages();\n }\n /** total number of items in all pages */\n get totalItems() {\n return this._totalItems;\n }\n set totalItems(v) {\n this._totalItems = v;\n this.totalPages = this.calculateTotalPages();\n }\n get totalPages() {\n return this._totalPages;\n }\n set totalPages(v) {\n this._totalPages = v;\n this.numPages.emit(v);\n if (this.inited) {\n this.selectPage(this.page);\n }\n }\n get page() {\n return this._page;\n }\n set page(value) {\n const _previous = this._page;\n this._page = value > this.totalPages ? this.totalPages : value || 1;\n this.changeDetection.markForCheck();\n if (_previous === this._page || typeof _previous === 'undefined') {\n return;\n }\n this.pageChanged.emit({\n page: this._page,\n itemsPerPage: this.itemsPerPage\n });\n }\n configureOptions(config) {\n this.config = Object.assign({}, config);\n }\n ngOnInit() {\n if (typeof window !== 'undefined') {\n this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\n }\n // watch for maxSize\n if (typeof this.maxSize === 'undefined') {\n this.maxSize = this.config?.maxSize || 0;\n }\n if (typeof this.rotate === 'undefined') {\n this.rotate = !!this.config?.rotate;\n }\n if (typeof this.boundaryLinks === 'undefined') {\n this.boundaryLinks = !!this.config?.boundaryLinks;\n }\n if (typeof this.directionLinks === 'undefined') {\n this.directionLinks = !!this.config?.directionLinks;\n }\n if (typeof this.pageBtnClass === 'undefined') {\n this.pageBtnClass = this.config?.pageBtnClass || '';\n }\n // base class\n if (typeof this.itemsPerPage === 'undefined') {\n this.itemsPerPage = this.config?.itemsPerPage || 0;\n }\n this.totalPages = this.calculateTotalPages();\n // this class\n this.pages = this.getPages(this.page, this.totalPages);\n this.inited = true;\n }\n writeValue(value) {\n this.page = value;\n this.pages = this.getPages(this.page, this.totalPages);\n }\n getText(key) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return this[`${key}Text`] || this.config[`${key}Text`];\n }\n noPrevious() {\n return this.page === 1;\n }\n noNext() {\n return this.page === this.totalPages;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n selectPage(page, event) {\n if (event) {\n event.preventDefault();\n }\n if (!this.disabled) {\n if (event && event.target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const target = event.target;\n target.blur();\n }\n this.writeValue(page);\n this.onChange(this.page);\n }\n }\n // Create page object used in template\n makePage(num, text, active) {\n return {\n text,\n number: num,\n active\n };\n }\n getPages(currentPage, totalPages) {\n const pages = [];\n // Default page limits\n let startPage = 1;\n let endPage = totalPages;\n const isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\n // recompute if maxSize\n if (isMaxSized && this.maxSize) {\n if (this.rotate) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\n endPage = startPage + this.maxSize - 1;\n // Adjust if limit is exceeded\n if (endPage > totalPages) {\n endPage = totalPages;\n startPage = endPage - this.maxSize + 1;\n }\n } else {\n // Visible pages are paginated with maxSize\n startPage = (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1;\n // Adjust last page if limit is exceeded\n endPage = Math.min(startPage + this.maxSize - 1, totalPages);\n }\n }\n // Add page number links\n for (let num = startPage; num <= endPage; num++) {\n const page = this.makePage(num, num.toString(), num === currentPage);\n pages.push(page);\n }\n // Add links to move between page sets\n if (isMaxSized && !this.rotate) {\n if (startPage > 1) {\n const previousPageSet = this.makePage(startPage - 1, '...', false);\n pages.unshift(previousPageSet);\n }\n if (endPage < totalPages) {\n const nextPageSet = this.makePage(endPage + 1, '...', false);\n pages.push(nextPageSet);\n }\n }\n return pages;\n }\n // base class\n calculateTotalPages() {\n const totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil(this.totalItems / this.itemsPerPage);\n return Math.max(totalPages || 0, 1);\n }\n static {\n this.ɵfac = function PagerComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(PaginationConfig), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PagerComponent,\n selectors: [[\"pager\"]],\n inputs: {\n align: \"align\",\n maxSize: \"maxSize\",\n boundaryLinks: \"boundaryLinks\",\n directionLinks: \"directionLinks\",\n firstText: \"firstText\",\n previousText: \"previousText\",\n nextText: \"nextText\",\n lastText: \"lastText\",\n rotate: \"rotate\",\n pageBtnClass: \"pageBtnClass\",\n disabled: \"disabled\",\n itemsPerPage: \"itemsPerPage\",\n totalItems: \"totalItems\"\n },\n outputs: {\n numPages: \"numPages\",\n pageChanged: \"pageChanged\"\n },\n features: [i0.ɵɵProvidersFeature([PAGER_CONTROL_VALUE_ACCESSOR])],\n decls: 7,\n vars: 24,\n consts: [[1, \"pager\"], [3, \"ngClass\"], [\"href\", \"\", 3, \"click\"]],\n template: function PagerComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ul\", 0)(1, \"li\", 1)(2, \"a\", 2);\n i0.ɵɵlistener(\"click\", function PagerComponent_Template_a_click_2_listener($event) {\n return ctx.selectPage(ctx.page - 1, $event);\n });\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"li\", 1)(5, \"a\", 2);\n i0.ɵɵlistener(\"click\", function PagerComponent_Template_a_click_5_listener($event) {\n return ctx.selectPage(ctx.page + 1, $event);\n });\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵclassMap(ctx.pageBtnClass);\n i0.ɵɵclassProp(\"disabled\", ctx.noPrevious())(\"previous\", ctx.align);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(18, _c0, ctx.align, ctx.align));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.getText(\"previous\"));\n i0.ɵɵadvance();\n i0.ɵɵclassMap(ctx.pageBtnClass);\n i0.ɵɵclassProp(\"disabled\", ctx.noNext())(\"next\", ctx.align);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(21, _c1, ctx.align, ctx.align));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.getText(\"next\"));\n }\n },\n dependencies: [NgClass],\n encapsulation: 2\n });\n }\n }\n return PagerComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst PAGINATION_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PaginationComponent),\n multi: true\n};\nlet PaginationComponent = /*#__PURE__*/(() => {\n class PaginationComponent {\n constructor(elementRef, paginationConfig, changeDetection) {\n this.elementRef = elementRef;\n this.changeDetection = changeDetection;\n /** if `true` aligns each link to the sides of pager */\n this.align = true;\n /** if false first and last buttons will be hidden */\n this.boundaryLinks = false;\n /** if false previous and next buttons will be hidden */\n this.directionLinks = true;\n /** if true current page will in the middle of pages list */\n this.rotate = true;\n // css\n /** add class to */\n this.pageBtnClass = '';\n /** if true pagination component will be disabled */\n this.disabled = false;\n /** fired when total pages count changes, $event:number equals to total pages count */\n this.numPages = new EventEmitter();\n /** fired when page was changed, $event:{page, itemsPerPage} equals to object\n * with current page index and number of items per page\n */\n this.pageChanged = new EventEmitter();\n this.onChange = Function.prototype;\n this.onTouched = Function.prototype;\n this.classMap = '';\n this.inited = false;\n this._itemsPerPage = 10;\n this._totalItems = 0;\n this._totalPages = 0;\n this._page = 1;\n this.elementRef = elementRef;\n if (!this.config) {\n this.configureOptions(paginationConfig.main);\n }\n }\n /** maximum number of items per page. If value less than 1 will display all items on one page */\n get itemsPerPage() {\n return this._itemsPerPage;\n }\n set itemsPerPage(v) {\n this._itemsPerPage = v;\n this.totalPages = this.calculateTotalPages();\n }\n /** total number of items in all pages */\n get totalItems() {\n return this._totalItems;\n }\n set totalItems(v) {\n this._totalItems = v;\n this.totalPages = this.calculateTotalPages();\n }\n get totalPages() {\n return this._totalPages;\n }\n set totalPages(v) {\n this._totalPages = v;\n this.numPages.emit(v);\n if (this.inited) {\n this.selectPage(this.page);\n }\n }\n get page() {\n return this._page;\n }\n set page(value) {\n const _previous = this._page;\n this._page = value > this.totalPages ? this.totalPages : value || 1;\n this.changeDetection.markForCheck();\n if (_previous === this._page || typeof _previous === 'undefined') {\n return;\n }\n this.pageChanged.emit({\n page: this._page,\n itemsPerPage: this.itemsPerPage\n });\n }\n configureOptions(config) {\n this.config = Object.assign({}, config);\n }\n ngOnInit() {\n if (typeof window !== 'undefined') {\n this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\n }\n // watch for maxSize\n if (typeof this.maxSize === 'undefined') {\n this.maxSize = this.config?.maxSize || 0;\n }\n if (typeof this.rotate === 'undefined') {\n this.rotate = !!this.config?.rotate;\n }\n if (typeof this.boundaryLinks === 'undefined') {\n this.boundaryLinks = !!this.config?.boundaryLinks;\n }\n if (typeof this.directionLinks === 'undefined') {\n this.directionLinks = !!this.config?.directionLinks;\n }\n if (typeof this.pageBtnClass === 'undefined') {\n this.pageBtnClass = this.config?.pageBtnClass || '';\n }\n // base class\n if (typeof this.itemsPerPage === 'undefined') {\n this.itemsPerPage = this.config?.itemsPerPage || 0;\n }\n this.totalPages = this.calculateTotalPages();\n // this class\n this.pages = this.getPages(this.page, this.totalPages);\n this.inited = true;\n }\n writeValue(value) {\n this.page = value;\n this.pages = this.getPages(this.page, this.totalPages);\n }\n getText(key) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return this[`${key}Text`] || this.config[`${key}Text`];\n }\n noPrevious() {\n return this.page === 1;\n }\n noNext() {\n return this.page === this.totalPages;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n selectPage(page, event) {\n if (event) {\n event.preventDefault();\n }\n if (!this.disabled) {\n if (event && event.target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const target = event.target;\n target.blur();\n }\n this.writeValue(page);\n this.onChange(this.page);\n }\n }\n // Create page object used in template\n makePage(num, text, active) {\n return {\n text,\n number: num,\n active\n };\n }\n getPages(currentPage, totalPages) {\n const pages = [];\n // Default page limits\n let startPage = 1;\n let endPage = totalPages;\n const isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\n // recompute if maxSize\n if (isMaxSized && this.maxSize) {\n if (this.rotate) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\n endPage = startPage + this.maxSize - 1;\n // Adjust if limit is exceeded\n if (endPage > totalPages) {\n endPage = totalPages;\n startPage = endPage - this.maxSize + 1;\n }\n } else {\n // Visible pages are paginated with maxSize\n startPage = (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1;\n // Adjust last page if limit is exceeded\n endPage = Math.min(startPage + this.maxSize - 1, totalPages);\n }\n }\n // Add page number links\n for (let num = startPage; num <= endPage; num++) {\n const page = this.makePage(num, num.toString(), num === currentPage);\n pages.push(page);\n }\n // Add links to move between page sets\n if (isMaxSized && !this.rotate) {\n if (startPage > 1) {\n const previousPageSet = this.makePage(startPage - 1, '...', false);\n pages.unshift(previousPageSet);\n }\n if (endPage < totalPages) {\n const nextPageSet = this.makePage(endPage + 1, '...', false);\n pages.push(nextPageSet);\n }\n }\n return pages;\n }\n // base class\n calculateTotalPages() {\n const totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil(this.totalItems / this.itemsPerPage);\n return Math.max(totalPages || 0, 1);\n }\n static {\n this.ɵfac = function PaginationComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PaginationComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(PaginationConfig), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PaginationComponent,\n selectors: [[\"pagination\"]],\n inputs: {\n align: \"align\",\n maxSize: \"maxSize\",\n boundaryLinks: \"boundaryLinks\",\n directionLinks: \"directionLinks\",\n firstText: \"firstText\",\n previousText: \"previousText\",\n nextText: \"nextText\",\n lastText: \"lastText\",\n rotate: \"rotate\",\n pageBtnClass: \"pageBtnClass\",\n disabled: \"disabled\",\n customPageTemplate: \"customPageTemplate\",\n customNextTemplate: \"customNextTemplate\",\n customPreviousTemplate: \"customPreviousTemplate\",\n customFirstTemplate: \"customFirstTemplate\",\n customLastTemplate: \"customLastTemplate\",\n itemsPerPage: \"itemsPerPage\",\n totalItems: \"totalItems\"\n },\n outputs: {\n numPages: \"numPages\",\n pageChanged: \"pageChanged\"\n },\n features: [i0.ɵɵProvidersFeature([PAGINATION_CONTROL_VALUE_ACCESSOR])],\n decls: 16,\n vars: 6,\n consts: [[\"defaultPageTemplate\", \"\"], [\"defaultNextTemplate\", \"\"], [\"defaultPreviousTemplate\", \"\"], [\"defaultFirstTemplate\", \"\"], [\"defaultLastTemplate\", \"\"], [1, \"pagination\", 3, \"ngClass\"], [\"class\", \"pagination-first page-item\", 3, \"disabled\", 4, \"ngIf\"], [\"class\", \"pagination-prev page-item\", 3, \"disabled\", 4, \"ngIf\"], [\"class\", \"pagination-page page-item\", 3, \"active\", \"disabled\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"pagination-next page-item\", 3, \"disabled\", 4, \"ngIf\"], [\"class\", \"pagination-last page-item\", 3, \"disabled\", 4, \"ngIf\"], [1, \"pagination-first\", \"page-item\"], [\"href\", \"\", 1, \"page-link\", 3, \"click\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"pagination-prev\", \"page-item\"], [1, \"pagination-page\", \"page-item\"], [1, \"pagination-next\", \"page-item\"], [1, \"pagination-last\", \"page-item\"]],\n template: function PaginationComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ul\", 5);\n i0.ɵɵtemplate(1, PaginationComponent_li_1_Template, 3, 7, \"li\", 6)(2, PaginationComponent_li_2_Template, 3, 7, \"li\", 7)(3, PaginationComponent_li_3_Template, 3, 10, \"li\", 8)(4, PaginationComponent_li_4_Template, 3, 7, \"li\", 9)(5, PaginationComponent_li_5_Template, 3, 7, \"li\", 10);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, PaginationComponent_ng_template_6_Template, 1, 1, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor)(8, PaginationComponent_ng_template_8_Template, 1, 1, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor)(10, PaginationComponent_ng_template_10_Template, 1, 1, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor)(12, PaginationComponent_ng_template_12_Template, 1, 1, \"ng-template\", null, 3, i0.ɵɵtemplateRefExtractor)(14, PaginationComponent_ng_template_14_Template, 1, 1, \"ng-template\", null, 4, i0.ɵɵtemplateRefExtractor);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngClass\", ctx.classMap);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.boundaryLinks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.directionLinks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.pages);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.directionLinks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.boundaryLinks);\n }\n },\n dependencies: [NgClass, NgIf, NgTemplateOutlet, NgFor],\n encapsulation: 2\n });\n }\n }\n return PaginationComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PaginationModule = /*#__PURE__*/(() => {\n class PaginationModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot() {\n return {\n ngModule: PaginationModule,\n providers: []\n };\n }\n static {\n this.ɵfac = function PaginationModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PaginationModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PaginationModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule]\n });\n }\n }\n return PaginationModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PagerComponent, PaginationComponent, PaginationConfig, PaginationModule };\n","import * as i0 from '@angular/core';\nimport { forwardRef, Directive, Input, HostBinding, HostListener, Optional, Inject, ContentChildren, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// TODO: config: activeClass - Class to apply to the checked buttons\nconst CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true\n};\n/**\n * Add checkbox functionality to any element\n */\nlet ButtonCheckboxDirective = /*#__PURE__*/(() => {\n class ButtonCheckboxDirective {\n constructor() {\n /** Truthy value, will be set to ngModel */\n this.btnCheckboxTrue = true;\n /** Falsy value, will be set to ngModel */\n this.btnCheckboxFalse = false;\n this.state = false;\n this.isDisabled = false;\n this.onChange = Function.prototype;\n this.onTouched = Function.prototype;\n }\n // view -> model\n onClick() {\n if (this.isDisabled) {\n return;\n }\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n ngOnInit() {\n this.toggle(this.trueValue === this.value);\n }\n get trueValue() {\n return typeof this.btnCheckboxTrue !== 'undefined' ? this.btnCheckboxTrue : true;\n }\n get falseValue() {\n return typeof this.btnCheckboxFalse !== 'undefined' ? this.btnCheckboxFalse : false;\n }\n toggle(state) {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n // ControlValueAccessor\n // model -> view\n writeValue(value) {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n setDisabledState(isDisabled) {\n this.isDisabled = isDisabled;\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n static {\n this.ɵfac = function ButtonCheckboxDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ButtonCheckboxDirective)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ButtonCheckboxDirective,\n selectors: [[\"\", \"btnCheckbox\", \"\"]],\n hostVars: 3,\n hostBindings: function ButtonCheckboxDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function ButtonCheckboxDirective_click_HostBindingHandler() {\n return ctx.onClick();\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-pressed\", ctx.state);\n i0.ɵɵclassProp(\"active\", ctx.state);\n }\n },\n inputs: {\n btnCheckboxTrue: \"btnCheckboxTrue\",\n btnCheckboxFalse: \"btnCheckboxFalse\"\n },\n features: [i0.ɵɵProvidersFeature([CHECKBOX_CONTROL_VALUE_ACCESSOR])]\n });\n }\n }\n return ButtonCheckboxDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst RADIO_CONTROL_VALUE_ACCESSOR$1 = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true\n};\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\nlet ButtonRadioDirective = /*#__PURE__*/(() => {\n class ButtonRadioDirective {\n /** Current value of radio component or group */\n get value() {\n return this.group ? this.group.value : this._value;\n }\n set value(value) {\n if (this.group) {\n this.group.value = value;\n return;\n }\n this._value = value;\n this._onChange(value);\n }\n /** If `true` — radio button is disabled */\n get disabled() {\n return this._disabled;\n }\n set disabled(disabled) {\n this.setDisabledState(disabled);\n }\n get controlOrGroupDisabled() {\n return this.disabled || this.group && this.group.disabled ? true : undefined;\n }\n get hasDisabledClass() {\n // Although the radio is disabled the active radio should still stand out.\n // The disabled class will prevent this so don't add it on the active radio\n return this.controlOrGroupDisabled && !this.isActive;\n }\n get isActive() {\n return this.btnRadio === this.value;\n }\n get tabindex() {\n if (this.controlOrGroupDisabled) {\n // Disabled radio buttons should not receive focus\n return undefined;\n } else if (this.isActive || this.group == null) {\n return 0;\n } else {\n return -1;\n }\n }\n get hasFocus() {\n return this._hasFocus;\n }\n constructor(el, cdr, renderer, group) {\n this.el = el;\n this.cdr = cdr;\n this.renderer = renderer;\n this.group = group;\n this.onChange = Function.prototype;\n this.onTouched = Function.prototype;\n /** If `true` — radio button can be unchecked */\n this.uncheckable = false;\n this.role = 'radio';\n this._disabled = false;\n this._hasFocus = false;\n }\n toggleIfAllowed() {\n if (!this.canToggle()) {\n return;\n }\n if (this.uncheckable && this.btnRadio === this.value) {\n this.value = undefined;\n } else {\n this.value = this.btnRadio;\n }\n }\n onSpacePressed(event) {\n this.toggleIfAllowed();\n event.preventDefault();\n }\n focus() {\n this.el.nativeElement.focus();\n }\n onFocus() {\n this._hasFocus = true;\n }\n onBlur() {\n this._hasFocus = false;\n this.onTouched();\n }\n canToggle() {\n return !this.controlOrGroupDisabled && (this.uncheckable || this.btnRadio !== this.value);\n }\n ngOnChanges(changes) {\n if ('uncheckable' in changes) {\n this.uncheckable = this.uncheckable !== false && typeof this.uncheckable !== 'undefined';\n }\n }\n _onChange(value) {\n if (this.group) {\n this.group.value = value;\n return;\n }\n this.onTouched();\n this.onChange(value);\n }\n // ControlValueAccessor\n // model -> view\n writeValue(value) {\n this.value = value;\n this.cdr.markForCheck();\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(disabled) {\n this._disabled = disabled;\n if (disabled) {\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\n return;\n }\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n static {\n this.ɵfac = function ButtonRadioDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ButtonRadioDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(forwardRef(() => ButtonRadioGroupDirective), 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ButtonRadioDirective,\n selectors: [[\"\", \"btnRadio\", \"\"]],\n hostVars: 8,\n hostBindings: function ButtonRadioDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function ButtonRadioDirective_click_HostBindingHandler() {\n return ctx.toggleIfAllowed();\n })(\"keydown.space\", function ButtonRadioDirective_keydown_space_HostBindingHandler($event) {\n return ctx.onSpacePressed($event);\n })(\"focus\", function ButtonRadioDirective_focus_HostBindingHandler() {\n return ctx.onFocus();\n })(\"blur\", function ButtonRadioDirective_blur_HostBindingHandler() {\n return ctx.onBlur();\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-disabled\", ctx.controlOrGroupDisabled)(\"aria-checked\", ctx.isActive)(\"role\", ctx.role)(\"tabindex\", ctx.tabindex);\n i0.ɵɵclassProp(\"disabled\", ctx.hasDisabledClass)(\"active\", ctx.isActive);\n }\n },\n inputs: {\n btnRadio: \"btnRadio\",\n uncheckable: \"uncheckable\",\n value: \"value\",\n disabled: \"disabled\"\n },\n features: [i0.ɵɵProvidersFeature([RADIO_CONTROL_VALUE_ACCESSOR$1]), i0.ɵɵNgOnChangesFeature]\n });\n }\n }\n return ButtonRadioDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst RADIO_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ButtonRadioGroupDirective),\n multi: true\n};\n/**\n * A group of radio buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\nlet ButtonRadioGroupDirective = /*#__PURE__*/(() => {\n class ButtonRadioGroupDirective {\n constructor(cdr) {\n this.cdr = cdr;\n this.onChange = Function.prototype;\n this.onTouched = Function.prototype;\n this.role = 'radiogroup';\n this._disabled = false;\n }\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.onChange(value);\n }\n get disabled() {\n return this._disabled;\n }\n get tabindex() {\n if (this._disabled) {\n return null;\n } else {\n return 0;\n }\n }\n writeValue(value) {\n this._value = value;\n this.cdr.markForCheck();\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(disabled) {\n if (this.radioButtons) {\n this._disabled = disabled;\n this.radioButtons.forEach(buttons => {\n buttons.setDisabledState(disabled);\n });\n this.cdr.markForCheck();\n }\n }\n onFocus() {\n if (this._disabled) {\n return;\n }\n const activeRadio = this.getActiveOrFocusedRadio();\n if (activeRadio) {\n activeRadio.focus();\n return;\n }\n if (this.radioButtons) {\n const firstEnabled = this.radioButtons.find(r => !r.disabled);\n if (firstEnabled) {\n firstEnabled.focus();\n }\n }\n }\n onBlur() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n selectNext(event) {\n this.selectInDirection('next');\n event.preventDefault();\n }\n selectPrevious(event) {\n this.selectInDirection('previous');\n event.preventDefault();\n }\n selectInDirection(direction) {\n if (this._disabled) {\n return;\n }\n function nextIndex(currentIndex, buttonRadioDirectives) {\n const step = direction === 'next' ? 1 : -1;\n let calcIndex = (currentIndex + step) % buttonRadioDirectives.length;\n if (calcIndex < 0) {\n calcIndex = buttonRadioDirectives.length - 1;\n }\n return calcIndex;\n }\n const activeRadio = this.getActiveOrFocusedRadio();\n if (activeRadio && this.radioButtons) {\n const buttonRadioDirectives = this.radioButtons.toArray();\n const currentActiveIndex = buttonRadioDirectives.indexOf(activeRadio);\n for (let i = nextIndex(currentActiveIndex, buttonRadioDirectives); i !== currentActiveIndex; i = nextIndex(i, buttonRadioDirectives)) {\n if (buttonRadioDirectives[i].canToggle()) {\n buttonRadioDirectives[i].toggleIfAllowed();\n buttonRadioDirectives[i].focus();\n break;\n }\n }\n }\n }\n getActiveOrFocusedRadio() {\n if (!this.radioButtons) {\n return void 0;\n }\n return this.radioButtons.find(button => button.isActive) || this.radioButtons.find(button => button.hasFocus);\n }\n static {\n this.ɵfac = function ButtonRadioGroupDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ButtonRadioGroupDirective)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ButtonRadioGroupDirective,\n selectors: [[\"\", \"btnRadioGroup\", \"\"]],\n contentQueries: function ButtonRadioGroupDirective_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, ButtonRadioDirective, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.radioButtons = _t);\n }\n },\n hostVars: 2,\n hostBindings: function ButtonRadioGroupDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"focus\", function ButtonRadioGroupDirective_focus_HostBindingHandler() {\n return ctx.onFocus();\n })(\"blur\", function ButtonRadioGroupDirective_blur_HostBindingHandler() {\n return ctx.onBlur();\n })(\"keydown.ArrowRight\", function ButtonRadioGroupDirective_keydown_ArrowRight_HostBindingHandler($event) {\n return ctx.selectNext($event);\n })(\"keydown.ArrowDown\", function ButtonRadioGroupDirective_keydown_ArrowDown_HostBindingHandler($event) {\n return ctx.selectNext($event);\n })(\"keydown.ArrowLeft\", function ButtonRadioGroupDirective_keydown_ArrowLeft_HostBindingHandler($event) {\n return ctx.selectPrevious($event);\n })(\"keydown.ArrowUp\", function ButtonRadioGroupDirective_keydown_ArrowUp_HostBindingHandler($event) {\n return ctx.selectPrevious($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"role\", ctx.role)(\"tabindex\", ctx.tabindex);\n }\n },\n features: [i0.ɵɵProvidersFeature([RADIO_CONTROL_VALUE_ACCESSOR])]\n });\n }\n }\n return ButtonRadioGroupDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ButtonsModule = /*#__PURE__*/(() => {\n class ButtonsModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot() {\n return {\n ngModule: ButtonsModule,\n providers: []\n };\n }\n static {\n this.ɵfac = function ButtonsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ButtonsModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ButtonsModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return ButtonsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ButtonCheckboxDirective, ButtonRadioDirective, ButtonRadioGroupDirective, ButtonsModule };\n","import { Component, OnInit, Input } from '@angular/core';\nimport { GeneShort } from '../pombase-api.service';\n\n@Component({\n selector: 'app-gene-neighbourhood',\n templateUrl: './gene-neighbourhood.component.html',\n styleUrls: ['./gene-neighbourhood.component.css'],\n standalone: false\n})\nexport class GeneNeighbourhoodComponent implements OnInit {\n @Input() focusGeneUniquename: string;\n @Input() focusGeneName: string;\n @Input() neighbourhood: Array;\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n","
\n
\n \n \n \n {{focusGeneName || focusGeneUniquename}}\n \n \n
\n
\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { getAppConfig } from '../config';\n\nimport { GeneSummaryMap, PombaseAPIService, GeneSummary } from '../pombase-api.service';\n\n@Component({\n selector: 'app-gene-list-lookup',\n templateUrl: './gene-list-lookup.component.html',\n styleUrls: ['./gene-list-lookup.component.css'],\n standalone: false\n})\nexport class GeneListLookupComponent implements OnInit {\n @Input() lookupFieldType: 'id-and-name'|'uniprot-id';\n @Output() genesFound = new EventEmitter();\n\n inputText = '';\n listName?: string;\n\n appConfig = getAppConfig();\n\n unknownIds: Array = [];\n validIdCount = 0;\n geneSummaryMapPromise: Promise;\n\n constructor(private pombaseApiService: PombaseAPIService) {\n }\n\n ngOnInit() {\n if (this.lookupFieldType === 'uniprot-id') {\n this.geneSummaryMapPromise = this.pombaseApiService.getGeneSummaryUniprotMapPromise();\n } else {\n this.geneSummaryMapPromise = this.pombaseApiService.getGeneSummaryMapPromise();\n }\n }\n\n filteredIds(): Array {\n let seen: { [key: string]: boolean } = {};\n return this.inputText.trim().split(/[,\\s;\\u200B]+/)\n .filter(id => {\n id = id.trim();\n if (id.length === 0) {\n return false;\n }\n if (id.match(/[^a-zA-Z0-9\\-_:\\.]/)) {\n return false;\n }\n if (seen[id]) {\n return false;\n }\n seen[id] = true;\n return true;\n })\n }\n\n checkIds() {\n this.geneSummaryMapPromise.then((geneSummaryMap) => {\n let ids = this.filteredIds();\n this.unknownIds = [];\n this.validIdCount = 0;\n\n for (let id of ids) {\n if (geneSummaryMap[id.toLowerCase()]) {\n this.validIdCount++;\n } else {\n this.unknownIds.push(id);\n }\n }\n });\n }\n\n hasValidIds(): boolean {\n return this.validIdCount > 0;\n }\n\n readFile($event: Event): void {\n let inputValue = $event.target as any;\n let file = inputValue.files[0];\n let fileReader = new FileReader();\n\n fileReader.onloadend = () => {\n this.inputText = fileReader.result as string;\n };\n\n fileReader.readAsText(file);\n\n this.checkIds();\n }\n\n clear(): void {\n this.inputText = '';\n this.checkIds();\n }\n\n private makeListName(genes: Array): string {\n if (this.listName) {\n return this.listName;\n }\n\n if (genes.length <= 8) {\n return 'uploaded gene list: ' +\n genes.map(g => g.displayName()).join(' ');\n } else {\n return 'uploaded gene list of ' + genes.length + ' genes';\n }\n }\n\n lookup() {\n this.geneSummaryMapPromise.then((geneSummaryMap) => {\n const mapFilterFunc =\n (id: string) => {\n return geneSummaryMap[id] || geneSummaryMap[id.toLowerCase()];\n };\n\n const genes = this.filteredIds()\n .filter(mapFilterFunc)\n .map(mapFilterFunc);\n const listName = this.makeListName(genes);\n this.genesFound.emit({ genes, listName });\n });\n }\n}\n","
\n
\n \n
0\">\n
\n
\n Unknown identifiers: {{unknownIds.join(\" \").substring(0, 1000)}}\n
\n Clear\n
\n
\nOnly the current unique systematic identifier OR the primary symbol for a gene is recognised by the list upload.\nTroubleshooting: Occasionally systematic IDs may be changed to synonyms when features are merged. Gene names may be\nrelegated to synonyms if name ambiguities exist. To locate the current ID or gene symbol use the \"simple search\" in the\nheader. Occasionally identifiers are removed from the gene set if they are no longer considered to be coding\n (check the new and removed gene list)\n
\n
\n\n
\n
\n Read from file: \n
\n Clear\n
\n\n
\n Name this gene list (Optional): \n
\n\n
\n \n
\n
\n
\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\n\nimport { TermShort, TermNode, TermAndName, Ploidiness } from '../pombase-query';\nimport { QueryNodeConfig } from '../config';\n\n@Component({\n selector: 'app-query-term-node',\n templateUrl: './query-term-node.component.html',\n styleUrls: ['./query-term-node.component.css'],\n standalone: false\n})\nexport class QueryTermNodeComponent implements OnInit, OnChanges {\n @Input() termNodeConfig: QueryNodeConfig;\n @Input() placeholder: string;\n @Output() newTermNode = new EventEmitter();\n\n selectedTerm?: TermShort;\n isPhenotypeNode = false;\n singleLocus = true;\n multiLocus = false;\n haploid = true;\n diploid = true;\n\n expression?: string;\n phenotypeConditionNamespace?: string;\n phenotypeConditions: Array = [];\n phenotypeExcludeConditions: Array = [];\n showConditionSelector = false;\n showExcludeConditionSelector = false;\n\n constructor() { }\n\n singleMultiChange(buttonType: 'single'|'multi') {\n if (buttonType === 'single' && !this.multiLocus) {\n this.multiLocus = true;\n }\n if (buttonType === 'multi' && !this.singleLocus) {\n this.singleLocus = true;\n }\n\n if (this.multiLocus) {\n this.expression = 'any';\n }\n }\n\n ploidinessChange(buttonType: 'haploid'|'diploid') {\n if (buttonType === 'haploid' && !this.diploid) {\n this.diploid = true;\n }\n if (buttonType === 'diploid' && !this.haploid) {\n this.haploid = true;\n }\n\n if (this.diploid) {\n this.expression = 'any';\n }\n }\n\n termMatched(term: TermShort) {\n this.selectedTerm = term;\n }\n\n phenotypeConditionMatched(term: TermShort): void {\n this.phenotypeConditions = [term];\n }\n\n phenotypeExcludeConditionMatched(term: TermShort) {\n this.phenotypeExcludeConditions = [term];\n }\n\n conditionSelectorChanged(): void {\n if (!this.showConditionSelector) {\n this.phenotypeConditions = [];\n }\n }\n\n excludeConditionSelectorChanged(): void {\n if (!this.showExcludeConditionSelector) {\n this.phenotypeExcludeConditions = [];\n }\n }\n\n termCompletePlaceholder(conditions: Array): string {\n if (conditions.length == 0) {\n return 'Start typing a phenotype condition, eg. low temperature';\n } else {\n return 'Add another phenotype condition';\n }\n }\n\n submitTitle(): string {\n if (this.selectedTerm) {\n return '';\n } else {\n return 'Start typing to select a term';\n }\n }\n\n isValid(): boolean {\n return this.selectedTerm != null;\n }\n\n submit() {\n if (this.selectedTerm) {\n let singleOrMulti;\n let ploidiness: Ploidiness|undefined;\n\n if (this.isPhenotypeNode) {\n if (this.singleLocus) {\n if (this.multiLocus) {\n singleOrMulti = 'both';\n } else {\n singleOrMulti = 'single';\n }\n } else {\n singleOrMulti = 'multi';\n }\n\n if (this.haploid) {\n if (this.diploid) {\n ploidiness = 'any';\n } else {\n ploidiness = 'haploid';\n }\n } else {\n ploidiness = 'diploid';\n }\n }\n\n\n this.newTermNode.emit(new TermNode(undefined, this.selectedTerm.termid, this.selectedTerm.name,\n this.selectedTerm.definition, singleOrMulti,\n ploidiness,\n this.expression, this.phenotypeConditions,\n this.phenotypeExcludeConditions));\n }\n }\n\n ngOnInit() {\n }\n\n ngOnChanges() {\n this.selectedTerm = undefined;\n this.singleLocus = true;\n this.multiLocus = false;\n this.isPhenotypeNode =\n !!this.termNodeConfig.annotationFeatureType &&\n this.termNodeConfig.annotationFeatureType === 'genotype';\n this.phenotypeConditions = [];\n this.phenotypeExcludeConditions = [];\n if (this.isPhenotypeNode) {\n this.expression = 'any';\n this.phenotypeConditionNamespace = this.termNodeConfig.phenotypeConditionNamespace;\n } else {\n this.expression = undefined;\n this.phenotypeConditionNamespace = undefined;\n }\n }\n}\n","\n\n
{{selectedTerm!.definition}}
\n\n
\n
\n
Include genes from these genotypes:
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
Expression level:
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n\n \n \n \n \n \n \n
\n\n
\n\n \n \n \n \n \n \n
\n
\n\n
\n
\n
\n
\n\n
\n \n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { QueryNodeConfig } from '../config';\nimport { GeneQueryNode, NodeEventDetails, SubsetNode } from '../pombase-query';\n\n@Component({\n selector: 'app-query-subset-input',\n templateUrl: './query-subset-input.component.html',\n styleUrls: ['./query-subset-input.component.css'],\n standalone: false\n})\nexport class QuerySubsetInputComponent implements OnInit {\n @Input() nodeConfig: QueryNodeConfig;\n @Output() nodeEvent = new EventEmitter();\n\n subsetName = '';\n\n constructor() { }\n\n emitNodeEvent(node: GeneQueryNode): void {\n this.nodeEvent.emit({ node, nodeConf: this.nodeConfig });\n }\n\n subsetInputSearch(): void {\n let trimmedSubsetName = this.subsetName.trim();\n if (trimmedSubsetName.length > 0) {\n let longName;\n if (this.nodeConfig && this.nodeConfig.subsetPrefix) {\n longName = this.nodeConfig.subsetPrefix + ':' + trimmedSubsetName;\n } else {\n longName = trimmedSubsetName;\n }\n let part = new SubsetNode(undefined, longName);\n this.emitNodeEvent(part);\n }\n }\n\n clear() {\n this.subsetName = '';\n }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation, OnChanges } from '@angular/core';\nimport { QueryNodeConfig } from '../config';\nimport { NodeEventDetails } from '../pombase-query';\nimport { Util } from '../shared/util';\n\n@Component({\n selector: 'app-query-sub-nodes',\n templateUrl: './query-sub-nodes.component.html',\n styleUrls: ['./query-sub-nodes.component.css'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class QuerySubNodesComponent implements OnInit, OnChanges {\n @Input() nodeConfig: QueryNodeConfig;\n @Output() subNodeEvent = new EventEmitter();\n\n currentTabNodeConfig?: QueryNodeConfig;\n\n constructor() { }\n\n changeTab(nodeConfig: QueryNodeConfig) {\n this.currentTabNodeConfig = nodeConfig;\n }\n\n nodeHeading(nodeConfig: QueryNodeConfig): string {\n return Util.capitalize(nodeConfig.displayName);\n }\n\n emitEvent(nodeAndConfig: NodeEventDetails) {\n this.subNodeEvent.emit(nodeAndConfig);\n }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(): void {\n this.currentTabNodeConfig = this.nodeConfig.subNodes![0];\n }\n}\n","\n \n
\n \n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { QueryNodeConfig } from '../config';\nimport { FloatRangeNode, GeneQueryNode, IntRangeNode, NodeEventDetails } from '../pombase-query';\n\n@Component({\n selector: 'app-query-range-node',\n templateUrl: './query-range-node.component.html',\n styleUrls: ['./query-range-node.component.css'],\n standalone: false\n})\nexport class QueryRangeNodeComponent implements OnInit, OnChanges {\n @Input() nodeConfig: QueryNodeConfig;\n @Output() nodeEvent = new EventEmitter();\n\n enabledRangeSection: 'any'|'none'|'percent-range'|'range' = 'any';\n rangeConstrainMin = true;\n rangeConstrainMax = false;\n rangeMin = 0;\n rangeStart = 0;\n rangeEnd = 0;\n\n percentRangeConstrainMin = true;\n percentRangeConstrainMax = false;\n percentRangeMin = 0;\n percentRangeStart = 1;\n percentRangeEnd = 100;\n\n percentDisplayName?: string = undefined;\n\n showPercentRange = false;\n\n rangeOption?: string;\n\n constructor() { }\n\n initRange() {\n this.percentDisplayName = this.nodeConfig.percent_display_name;\n\n if (this.nodeConfig.nodeType == 'int-range' || this.nodeConfig.nodeType == 'float-range') {\n if (this.nodeConfig.range_minimum === undefined) {\n this.rangeMin = 0;\n } else {\n this.rangeMin = this.nodeConfig.range_minimum;\n }\n\n this.rangeStart = this.rangeMin;\n this.rangeEnd = this.rangeMin;\n\n if (!this.nodeConfig.range_any_and_none) {\n this.enabledRangeSection = 'range';\n }\n if (this.nodeConfig.percent_query_id) {\n this.showPercentRange = true;\n }\n }\n\n if (this.nodeConfig.node_options) {\n this.rangeOption = this.nodeConfig.node_options[0].id;\n }\n }\n\n rangeMinToggled() {\n if (!this.rangeConstrainMin) {\n this.rangeConstrainMax = true;\n }\n }\n\n rangeMaxToggled() {\n if (!this.rangeConstrainMax) {\n this.rangeConstrainMin = true;\n }\n }\n\n rangeStartChanged() {\n if (this.rangeStart === null) {\n // user has deleted the number\n this.rangeStart = this.rangeEnd;\n } else {\n if (this.rangeStart > this.rangeEnd) {\n this.rangeEnd = this.rangeStart;\n }\n }\n }\n\n rangeEndChanged() {\n if (this.rangeEnd === null) {\n // user has deleted the number\n this.rangeEnd = this.rangeStart;\n } else {\n if (this.rangeStart > this.rangeEnd) {\n this.rangeStart = this.rangeEnd;\n }\n }\n }\n\n\n percentRangeMinToggled() {\n if (!this.percentRangeConstrainMin) {\n this.percentRangeConstrainMax = true;\n }\n }\n\n percentRangeMaxToggled() {\n if (!this.percentRangeConstrainMax) {\n this.percentRangeConstrainMin = true;\n }\n }\n\n percentRangeStartChanged() {\n if (this.percentRangeStart === null) {\n // user has deleted the number\n this.percentRangeStart = this.percentRangeEnd;\n } else {\n if (this.percentRangeStart > this.percentRangeEnd) {\n this.percentRangeEnd = this.percentRangeStart;\n }\n }\n }\n\n percentRangeEndChanged() {\n if (this.rangeEnd === null) {\n // user has deleted the number\n this.percentRangeEnd = this.percentRangeStart;\n } else {\n if (this.percentRangeStart > this.percentRangeEnd) {\n this.percentRangeStart = this.percentRangeEnd;\n }\n }\n }\n\n\n emitNodeEvent(node: GeneQueryNode): void {\n this.nodeEvent.emit({ node, nodeConf: this.nodeConfig });\n }\n\n rangeSearch(nodeConfig: QueryNodeConfig): void {\n let part;\n\n let newRangeStart = undefined;\n let newRangeEnd = undefined;\n\n if (this.enabledRangeSection === 'any') {\n newRangeStart = 1;\n } else {\n if (this.enabledRangeSection === 'none') {\n newRangeStart = 0;\n newRangeEnd = 0;\n } else {\n if (this.enabledRangeSection == 'percent-range') {\n if (this.percentRangeConstrainMin) {\n newRangeStart = this.percentRangeStart;\n }\n if (this.percentRangeConstrainMax) {\n newRangeEnd = this.percentRangeEnd;\n }\n } else {\n if (this.rangeConstrainMin) {\n newRangeStart = this.rangeStart;\n }\n if (this.rangeConstrainMax) {\n newRangeEnd = this.rangeEnd;\n }\n }\n }\n }\n\n let options: Array = [];\n\n if (this.rangeOption) {\n options = [this.rangeOption];\n }\n\n if (nodeConfig.nodeType == 'int-range') {\n let nodeId = nodeConfig.id;\n\n if (this.enabledRangeSection == 'percent-range' && nodeConfig.percent_query_id) {\n nodeId = nodeConfig.percent_query_id;\n }\n\n part = new IntRangeNode(undefined, nodeId,\n newRangeStart, newRangeEnd, options);\n } else {\n part = new FloatRangeNode(undefined, nodeConfig.id,\n newRangeStart, newRangeEnd, options);\n }\n this.emitNodeEvent(part);\n }\n\n ngOnInit(): void {\n this.initRange();\n }\n\n ngOnChanges(): void {\n this.initRange();\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n\n
\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n\n
\n
\n \n \n
\n\n
\n \n \n \n
\n
\n \n \n \n
\n
\n\n
\n
\n {{nodeConfig.node_options_title!}}:\n
\n
\n \n \n
\n
\n\n \n\n
\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { ChromosomeConfig, getAppConfig, QueryNodeConfig } from '../config';\nimport { GeneQueryNode, GenomeRangeNode, NodeEventDetails } from '../pombase-query';\nimport { PombaseAPIService } from '../pombase-api.service';\n\ninterface DisplayChromosome extends ChromosomeConfig {\n geneCount: number;\n length: number;\n}\n\n@Component({\n selector: 'app-query-genome-range-node',\n templateUrl: './query-genome-range-node.component.html',\n styleUrls: ['./query-genome-range-node.component.css'],\n standalone: false\n})\nexport class QueryGenomeRangeNodeComponent implements OnInit, OnChanges {\n @Input() nodeConfig: QueryNodeConfig;\n @Output() nodeEvent = new EventEmitter();\n\n rangeStart?: number;\n rangeEnd?: number;\n chromosomeName?: string;\n\n rangeRadio: 'all'|'some' = 'all';\n\n rangeMax = 1;\n\n displayChromosomes: Array = [];\n\n appConfig = getAppConfig();\n\n constructor(private pombaseApiService: PombaseAPIService) { }\n\n genomeRangeSearch(): void {\n let rangeStart = this.rangeStart;\n let rangeEnd = this.rangeEnd;\n\n if (this.rangeRadio === 'all') {\n rangeStart = undefined;\n rangeEnd = undefined;\n }\n\n const part = new GenomeRangeNode(undefined, rangeStart, rangeEnd,\n this.chromosomeName!);\n this.emitNodeEvent(part);\n }\n\n startChanged(): void {\n if (this.rangeStart === undefined) {\n this.rangeStart = 1;\n return;\n }\n\n if (this.rangeStart < 1) {\n this.rangeStart = 1;\n }\n if (this.rangeStart > this.rangeMax) {\n this.rangeStart = this.rangeMax;\n }\n if (this.rangeEnd === undefined || this.rangeEnd < this.rangeStart) {\n this.rangeEnd = this.rangeStart;\n }\n }\n\n endChanged(): void {\n if (this.rangeEnd === undefined) {\n this.rangeEnd = this.rangeMax;\n }\n\n if (this.rangeEnd < 1) {\n this.rangeEnd = 1;\n }\n if (this.rangeEnd > this.rangeMax) {\n this.rangeEnd = this.rangeMax;\n }\n if (this.rangeStart === undefined || this.rangeEnd < this.rangeStart) {\n this.rangeStart = this.rangeEnd;\n }\n }\n\n setRanges(): void {\n for (const displayChromosome of this.displayChromosomes) {\n if (displayChromosome.name === this.chromosomeName) {\n this.rangeMax = displayChromosome.length;\n\n this.rangeStart = 1;\n this.rangeEnd = this.rangeMax;\n\n return;\n }\n }\n }\n\n chromosomeChanged(): void {\n this.setRanges();\n }\n\n emitNodeEvent(node: GeneQueryNode): void {\n this.nodeEvent.emit({ node, nodeConf: this.nodeConfig });\n }\n\n ngOnChanges(): void {\n this.chromosomeName = undefined;\n }\n\n ngOnInit(): void {\n this.displayChromosomes = [];\n\n this.pombaseApiService.getChromosomeSummaryMapPromise()\n .then(chrSummaryMap => {\n this.appConfig.chromosomes.map(chrConfig => {\n const chrSummary = chrSummaryMap[chrConfig.name];\n if (chrSummary &&\n chrSummary.gene_count > 0) {\n const displayConfig =\n Object.assign({\n geneCount: chrSummary.gene_count,\n length: chrSummary.length,\n },\n chrConfig);\n this.displayChromosomes.push(displayConfig);\n }\n });\n\n // default to chromosome 1\n this.chromosomeName = this.displayChromosomes[0].name;\n\n this.setRanges();\n });\n }\n}\n","
\n Choose a chromosome:\n \n\n
\n
\n \n \n
\n \n
\n \n \n\n
\n \n \n
\n
\n \n \n
\n
\n\n\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { GeneDetails } from '../pombase-api.service';\nimport { AppConfig, getAppConfig } from '../config';\n\n@Component({\n selector: 'app-alphafold-viewer',\n templateUrl: './alphafold-viewer.component.html',\n styleUrls: ['./alphafold-viewer.component.css'],\n standalone: false\n})\nexport class AlphafoldViewerComponent implements OnInit {\n @Input() geneDetails: GeneDetails;\n\n @ViewChild('alphafoldiframe') alphafoldiframe: ElementRef;\n\n appConfig: AppConfig = getAppConfig();\n\n alphaFoldStatus: 'loading' | 'loaded' = 'loading';\n\n\n constructor() { }\n\n proteinTooLong(): boolean {\n const protLength = this.geneDetails.transcripts[0].protein?.sequence.length;\n return !!protLength && protLength > this.appConfig.alphafoldMaxProteinLength;\n }\n\n alphaFoldFinishedLoading() {\n if (this.alphafoldiframe?.nativeElement.contentDocument?.body) {\n // This hack is needed because in Chrome the onload event is fired twice,\n // once when the iframe is added to the dom and then later when the\n // iframe is actually loaded\n //\n // See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=578812\n // https://itecnote.com/tecnote/javascript-dynamically-created-iframe-triggers-onload-event-twice/\n this.alphaFoldStatus = 'loaded';\n }\n }\n\n alphaFoldLoading() {\n return this.alphaFoldStatus == 'loading';\n }\n\n ngOnChanges(): void {\n setTimeout(() => {\n if (this.geneDetails.uniprot_identifier && this.alphafoldiframe) {\n const rawUrl = 'structure_view/alphafold/' + this.geneDetails.uniprot_identifier;\n this.alphafoldiframe.nativeElement.contentWindow.location.replace(rawUrl);\n }\n }, 100);\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n This protein has no AlphaFold predicted structure because it is longer than\n {{appConfig.alphafoldMaxProteinLength}} residues. See the\n AlphaFold FAQ for more details.\n
\n\n
\n Structure view loading ...\n
\n\n
\n
\n \n
\n\n
\n \n \n
\n
Model Confidence:
\n
\n  \n Very high\n
\n
\n  \n Confident\n
\n
\n  \n Low\n
\n
\n  \n Very low\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { GeneDetails } from '../pombase-api.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-protein-feature-viewer',\n templateUrl: './protein-feature-viewer.component.html',\n styleUrls: ['./protein-feature-viewer.component.css'],\n standalone: false\n})\nexport class ProteinFeatureViewerComponent {\n @Input() geneDetails: GeneDetails;\n\n sanitizedURL?: SafeResourceUrl;\n\n geneDisplayName?: string;\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n ngOnChanges(): void {\n if (this.geneDetails.name) {\n this.geneDisplayName = this.geneDetails.name;\n } else {\n this.geneDisplayName = this.geneDetails.uniquename;\n }\n\n const rawUrl = 'protein_feature_view/widget/' + this.geneDetails.uniquename;\n this.sanitizedURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n }\n}\n","
\n\n
\n
\n \n \n \n \n\n View all protein features ...\n
\n
\n
\n
\n\n
\n \n
\n
\n\n
\nNo features available for {{geneDisplayName}}\n
\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { GeneDetails } from '../pombase-api.service';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-rna-structure',\n templateUrl: './rna-structure.component.html',\n styleUrls: ['./rna-structure.component.css'],\n standalone: false\n})\nexport class RnaStructureComponent implements OnChanges {\n @Input() geneDetails: GeneDetails;\n\n sanitizedURL?: SafeResourceUrl;\n\n constructor(private sanitizer: DomSanitizer) {\n }\n\n getIFrameURL(): SafeResourceUrl | undefined {\n return this.sanitizedURL;\n }\n\n ngOnChanges(): void {\n if (this.geneDetails.rnacentral_urs_identifier) {\n const rawUrl = 'rna_2d_structure/' + this.geneDetails.uniquename + '/' +\n this.geneDetails.rnacentral_urs_identifier;\n this.sanitizedURL =\n this.sanitizer.bypassSecurityTrustResourceUrl(rawUrl);\n } else {\n this.sanitizedURL = undefined;\n }\n }\n}\n","
\n
\n \n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Injectable, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\n\nimport { ToastrModule } from 'ngx-toastr';\n\nimport { NgxPageScrollCoreModule } from 'ngx-page-scroll-core';\nimport { NgxPageScrollModule } from 'ngx-page-scroll';\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { SharedModule } from './shared/shared.module';\n\nimport { AppComponent } from './app.component';\nimport { GeneDetailsComponent } from './gene-details/gene-details.component';\nimport { TermDetailsComponent } from './term-details/term-details.component';\nimport { FrontComponent } from './front/front.component';\nimport { PombaseAPIService } from './pombase-api.service';\nimport { QueryService } from './query.service';\nimport { CompleteService } from './complete.service';\nimport { DeployConfigService } from './deploy-config.service';\nimport { AnnotationTableComponent } from './annotation-table/annotation-table.component';\nimport { SearchBoxComponent } from './search-box/search-box.component';\nimport { InteractionAnnotationTableComponent } from './interaction-annotation-table/interaction-annotation-table.component';\nimport { OrthologAnnotationTableComponent } from './ortholog-annotation-table/ortholog-annotation-table.component';\nimport { ParalogAnnotationTableComponent } from './paralog-annotation-table/paralog-annotation-table.component';\nimport { ReferenceShortComponent } from './reference-short/reference-short.component';\nimport { ReferenceDetailsComponent } from './reference-details/reference-details.component';\nimport { ExtensionDisplayComponent } from './extension-display/extension-display.component';\nimport { GenotypeLinkComponent } from './genotype-link/genotype-link.component';\nimport { TermGenesViewComponent } from './term-genes-view/term-genes-view.component';\nimport { TermNameCompleteComponent } from './term-name-complete/term-name-complete.component';\nimport { QueryBuilderComponent } from './query-builder/query-builder.component';\nimport { QueryNodeComponent } from './query-node/query-node.component';\nimport { GeneNeighbourhoodComponent } from './gene-neighbourhood/gene-neighbourhood.component';\nimport { AnnotationSubTableComponent } from './annotation-sub-table/annotation-sub-table.component';\nimport { TargetOfAnnotationTableComponent } from './target-of-annotation-table/target-of-annotation-table.component';\nimport { GeneReferencesTableComponent } from './gene-references-table/gene-references-table.component';\nimport { ReferenceOrderByPipe } from './reference-order-by.pipe';\nimport { EvidenceLinkComponent } from './evidence-link/evidence-link.component';\nimport { QuantGeneExTableComponent } from './quant-gene-ex-table/quant-gene-ex-table.component';\nimport { WithOrFromLinkComponent } from './with-or-from-link/with-or-from-link.component';\nimport { GenotypeDetailsComponent } from './genotype-details/genotype-details.component';\nimport { TermGenotypesViewComponent } from './term-genotypes-view/term-genotypes-view.component';\nimport { GenotypesTableComponent } from './genotypes-table/genotypes-table.component';\nimport { TermSingleGeneGenotypesViewComponent } from './term-single-gene-genotypes-view/term-single-gene-genotypes-view.component';\nimport { GenotypeOrderByPipe } from './genotype-order-by.pipe';\nimport { AnnotationTableFiltersComponent } from './annotation-table-filters/annotation-table-filters.component';\nimport { AnnotationTableTermFilterComponent } from './annotation-table-term-filter/annotation-table-term-filter.component';\nimport { AnnotationTablePloidinessFilterComponent } from './annotation-table-ploidiness-filter/annotation-table-ploidiness-filter.component';\nimport { AnnotationTableFilterPipe } from './annotation-table-filter.pipe';\nimport { GeneExternalReferencesComponent } from './gene-external-references/gene-external-references.component';\nimport { AnnotationTableEvidenceFilterComponent } from './annotation-table-evidence-filter/annotation-table-evidence-filter.component';\nimport { GenotypeAlleleSummaryComponent } from './genotype-allele-summary/genotype-allele-summary.component';\nimport { DeletionViabilitySummaryComponent } from './deletion-viability-summary/deletion-viability-summary.component';\nimport { SlimSummaryComponent } from './slim-summary/slim-summary.component';\nimport { ReferenceShortListComponent } from './reference-short-list/reference-short-list.component';\nimport { TranscriptSequenceSelectComponent } from './transcript-sequence-select/transcript-sequence-select.component';\nimport { ProteinPropertiesComponent } from './protein-properties/protein-properties.component';\nimport { ProteinFeaturesComponent } from './protein-features/protein-features.component';\nimport { GeneSubsetViewComponent } from './gene-subset-view/gene-subset-view.component';\nimport { TranscriptViewComponent } from './transcript-view/transcript-view.component';\nimport { InterproMatchesComponent } from './interpro-matches/interpro-matches.component';\nimport { QueryHistoryComponent } from './query-history/query-history.component';\nimport { GeneListLookupComponent } from './gene-list-lookup/gene-list-lookup.component';\nimport { TermExternalLinksComponent } from './term-external-links/term-external-links.component';\nimport { TermPageSummaryComponent } from './term-page-summary/term-page-summary.component';\nimport { MainNavBarComponent } from './main-nav-bar/main-nav-bar.component';\nimport { QueryTermNodeComponent } from './query-term-node/query-term-node.component';\nimport { GenesDownloadDialogComponent } from './genes-download-dialog/genes-download-dialog.component';\nimport { MiscAnnotationTableComponent } from './misc-annotation-table/misc-annotation-table.component';\nimport { QueryDetailsDialogComponent } from './query-details-dialog/query-details-dialog.component';\nimport { RecentNewsComponent } from './recent-news/recent-news.component';\nimport { FrontPanelContentComponent } from './front-panel-content/front-panel-content.component';\nimport { FrontPanelComponent } from './front-panel/front-panel.component';\nimport { RecentCommunityPubsComponent } from './recent-community-pubs/recent-community-pubs.component';\nimport { PanelArchiveComponent } from './panel-archive/panel-archive.component';\nimport { MessageDialogComponent } from './message-dialog/message-dialog.component';\nimport { ReferenceDetailListComponent } from './reference-detail-list/reference-detail-list.component';\nimport { ReferenceDetailListPageComponent } from './reference-detail-list-page/reference-detail-list-page.component';\nimport { GeneResultsPageComponent } from './gene-results-page/gene-results-page.component';\n\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2';\nimport { AnnotationTableExtLinksComponent } from './annotation-table-ext-links/annotation-table-ext-links.component';\nimport { HelpLinkComponent } from './help-link/help-link.component';\n\nimport { AnnotationTableExtensionFilterComponent } from './annotation-table-extension-filter/annotation-table-extension-filter.component';\nimport { RouterNotFoundHandlerComponent } from './router-not-found-handler/router-not-found-handler.component';\nimport { StatisticsComponent } from './statistics/statistics.component';\nimport { MotifSearchComponent } from './motif-search/motif-search.component';\nimport { InteractionTableFiltersComponent } from './interaction-table-filters/interaction-table-filters.component';\nimport { GeneticInteractionTableFiltersComponent } from './genetic-interaction-table-filters/genetic-interaction-table-filters.component';\nimport { InteractionTableThroughputFilterComponent }\n from './interaction-table-throughput-filter/interaction-table-throughput-filter.component';\nimport { GeneticInteractionTableThroughputFilterComponent }\n from './genetic-interaction-table-throughput-filter/genetic-interaction-table-throughput-filter.component';\nimport { GenesTableConfigComponent } from './genes-table-config/genes-table-config.component';\nimport { ExternalRefsTableComponent } from './external-refs-table/external-refs-table.component';\nimport { AnnotationTableThroughputFilterComponent }\n from './annotation-table-throughput-filter/annotation-table-throughput-filter.component';\nimport { MotifSearchHelpComponent } from './motif-search-help/motif-search-help.component';\nimport { JbrowseTrackPickerComponent } from './jbrowse-track-picker/jbrowse-track-picker.component';\nimport { StatsRibbonComponent } from './stats-ribbon/stats-ribbon.component';\nimport { AllCvVersionsComponent } from './all-cv-versions/all-cv-versions.component';\nimport { InternalDetailsComponent } from './internal-details/internal-details.component';\nimport { IdentifierMapperComponent } from './identifier-mapper/identifier-mapper.component';\nimport { TermLinkComponent } from './term-link/term-link.component';\nimport { IdentifierMapperResultsComponent } from './identifier-mapper-results/identifier-mapper-results.component';\nimport { JbrowseTrackOrderByPipe } from './jbrowse-track-order-by.pipe';\nimport { NotDirectionSelectDialogComponent } from './not-direction-select-dialog/not-direction-select-dialog.component';\nimport { QuerySubsetInputComponent } from './query-subset-input/query-subset-input.component';\nimport { QuerySubNodesComponent } from './query-sub-nodes/query-sub-nodes.component';\nimport { QueryNodeDisplayComponent } from './query-node-display/query-node-display.component';\nimport { GeneQueryStructureComponent } from './gene-query-structure/gene-query-structure.component';\nimport { GeneVisSettingsComponent } from './gene-vis-settings/gene-vis-settings.component';\nimport { QueryRangeNodeComponent } from './query-range-node/query-range-node.component';\nimport { QueryGenomeRangeNodeComponent } from './query-genome-range-node/query-genome-range-node.component';\nimport { GeneAlleleListComponent } from './gene-allele-list/gene-allele-list.component';\nimport { AlleleDetailsComponent } from './allele-details/allele-details.component';\nimport { GeneticInteractionAnnotationTableComponent } from './genetic-interaction-annotation-table/genetic-interaction-annotation-table.component';\nimport { GenePageWidgetsComponent } from './gene-page-widgets/gene-page-widgets.component';\nimport { GenotypeReferencesTableComponent } from './genotype-references-table/genotype-references-table.component';\nimport { GeneHistoryTableComponent } from './gene-history-table/gene-history-table.component';\nimport { AlphafoldViewerComponent } from './alphafold-viewer/alphafold-viewer.component';\nimport { PdbStructureViewerComponent } from './pdb-structure-viewer/pdb-structure-viewer.component';\nimport { TermPageWidgetsComponent } from './term-page-widgets/term-page-widgets.component';\nimport { ReactionViewComponent } from './reaction-view/reaction-view.component';\nimport { ProteinFeatureViewerComponent } from './protein-feature-viewer/protein-feature-viewer.component';\nimport { GeneProteinFeaturesComponent } from './gene-protein-features/gene-protein-features.component';\n\nexport function documentFactory() {\n return document;\n}\nexport function windowFactory() {\n return window;\n}\n\nimport { Pipe, PipeTransform } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { RefGenesViewComponent } from './ref-genes-view/ref-genes-view.component';\nimport { CurationStatsComponent } from './curation-stats/curation-stats.component';\nimport { AnnotationTableWidgetsComponent } from './annotation-table-widgets/annotation-table-widgets.component';\nimport { StatsSummaryComponent } from './stats-summary/stats-summary.component';\nimport { AllelePromoterListComponent } from './allele-promoter-list/allele-promoter-list.component';\nimport { DefaultUrlSerializer, UrlSerializer, UrlTree } from '@angular/router';\nimport { GoCamViewerComponent } from './go-cam-viewer/go-cam-viewer.component';\nimport { GoCamViewPageComponent } from './go-cam-view-page/go-cam-view-page.component';\nimport { GeneticInteractionTableTypeFilterComponent } from './genetic-interaction-table-type-filter/genetic-interaction-table-type-filter.component';\nimport { RnaStructureComponent } from './rna-structure/rna-structure.component';\nimport { ProteinFeatureTableComponent } from './protein-feature-table/protein-feature-table.component';\n\nimport { IntersectionObserverModule } from 'ngx-intersection-observer';\nimport { IntersectionObserverConfig } from 'ngx-intersection-observer/lib/intersection-observer-config.model';\n\n@Pipe({\n name: 'safeUrl',\n standalone: false\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) { }\n transform(url: string) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n\n\n/**\n * A workaround for this issue: https://github.com/angular/angular/issues/50787\n * From: https://github.com/angular/angular/issues/50787#issuecomment-1771251427\n */\n@Injectable({ providedIn: 'root' })\nexport class PomBaseUrlSerializer extends DefaultUrlSerializer {\n parse(url: string): UrlTree {\n return super.parse(this.removeParentheses(url));\n }\n\n private removeParentheses(url: string): string {\n const regex = /(\\(|\\))/g;\n const encodedString = url.replace(regex, (match) => {\n if (match === '(') {\n return '%28'; // URL-encoded version of \"(\"\n } else {\n return '%29'; // URL-encoded version of \")\"\n }\n });\n return encodedString;\n }\n}\n\n@NgModule({ declarations: [\n AppComponent,\n SafeUrlPipe,\n GeneDetailsComponent,\n FrontComponent,\n TermDetailsComponent,\n AnnotationTableComponent,\n SearchBoxComponent,\n InteractionAnnotationTableComponent,\n OrthologAnnotationTableComponent,\n ParalogAnnotationTableComponent,\n ReferenceShortComponent,\n ReferenceDetailsComponent,\n ExtensionDisplayComponent,\n GenotypeLinkComponent,\n TermGenesViewComponent,\n TermNameCompleteComponent,\n QueryBuilderComponent,\n QueryNodeComponent,\n GeneNeighbourhoodComponent,\n AnnotationSubTableComponent,\n TargetOfAnnotationTableComponent,\n GeneReferencesTableComponent,\n ReferenceOrderByPipe,\n EvidenceLinkComponent,\n QuantGeneExTableComponent,\n WithOrFromLinkComponent,\n GenotypeDetailsComponent,\n TermGenotypesViewComponent,\n GenotypesTableComponent,\n TermSingleGeneGenotypesViewComponent,\n GenotypeOrderByPipe,\n AnnotationTableFiltersComponent,\n AnnotationTableTermFilterComponent,\n AnnotationTablePloidinessFilterComponent,\n AnnotationTableFilterPipe,\n GeneExternalReferencesComponent,\n AnnotationTableEvidenceFilterComponent,\n GenotypeAlleleSummaryComponent,\n DeletionViabilitySummaryComponent,\n SlimSummaryComponent,\n ReferenceShortListComponent,\n TranscriptSequenceSelectComponent,\n ProteinPropertiesComponent,\n ProteinFeaturesComponent,\n GeneSubsetViewComponent,\n TranscriptViewComponent,\n InterproMatchesComponent,\n QueryHistoryComponent,\n GeneListLookupComponent,\n TermExternalLinksComponent,\n TermPageSummaryComponent,\n MainNavBarComponent,\n QueryTermNodeComponent,\n GenesDownloadDialogComponent,\n MiscAnnotationTableComponent,\n QueryDetailsDialogComponent,\n RecentNewsComponent,\n FrontPanelContentComponent,\n FrontPanelComponent,\n RecentCommunityPubsComponent,\n PanelArchiveComponent,\n MessageDialogComponent,\n ReferenceDetailListComponent,\n ReferenceDetailListPageComponent,\n AnnotationTableExtLinksComponent,\n HelpLinkComponent,\n AnnotationTableExtensionFilterComponent,\n RouterNotFoundHandlerComponent,\n StatisticsComponent,\n MotifSearchComponent,\n InteractionTableFiltersComponent,\n InteractionTableThroughputFilterComponent,\n GeneticInteractionTableThroughputFilterComponent,\n GenesTableConfigComponent,\n ExternalRefsTableComponent,\n AnnotationTableThroughputFilterComponent,\n MotifSearchHelpComponent,\n JbrowseTrackPickerComponent,\n GeneResultsPageComponent,\n StatsRibbonComponent,\n AllCvVersionsComponent,\n InternalDetailsComponent,\n IdentifierMapperComponent,\n TermLinkComponent,\n IdentifierMapperResultsComponent,\n JbrowseTrackOrderByPipe,\n NotDirectionSelectDialogComponent,\n QuerySubsetInputComponent,\n QuerySubNodesComponent,\n QueryNodeDisplayComponent,\n GeneQueryStructureComponent,\n GeneVisSettingsComponent,\n QueryRangeNodeComponent,\n QueryGenomeRangeNodeComponent,\n GeneAlleleListComponent,\n AlleleDetailsComponent,\n GeneticInteractionAnnotationTableComponent,\n GeneticInteractionTableFiltersComponent,\n GenePageWidgetsComponent,\n GenotypeReferencesTableComponent,\n GeneHistoryTableComponent,\n AlphafoldViewerComponent,\n PdbStructureViewerComponent,\n TermPageWidgetsComponent,\n ReactionViewComponent,\n ProteinFeatureViewerComponent,\n GeneProteinFeaturesComponent,\n RefGenesViewComponent,\n CurationStatsComponent,\n AnnotationTableWidgetsComponent,\n StatsSummaryComponent,\n AllelePromoterListComponent,\n GoCamViewerComponent,\n GoCamViewPageComponent,\n GeneticInteractionTableTypeFilterComponent,\n RnaStructureComponent,\n ProteinFeatureTableComponent,\n ],\n bootstrap: [AppComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n exports: [],\n imports: [\n IntersectionObserverModule.forRoot({\n debounce: 50,\n threshold: 2,\n autoRemove: true\n } as IntersectionObserverConfig),\n BrowserModule,\n CommonModule,\n BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutingModule,\n TypeaheadModule.forRoot(),\n PaginationModule.forRoot(),\n ButtonsModule.forRoot(),\n BsDropdownModule.forRoot(),\n TabsModule.forRoot(),\n PopoverModule.forRoot(),\n ModalModule.forRoot(),\n ToastrModule.forRoot({\n timeOut: 7500,\n extendedTimeOut: 5000,\n enableHtml: true,\n positionClass: 'toast-top-center',\n }),\n NgxPageScrollCoreModule.forRoot({ duration: 0 }),\n NgxPageScrollModule,\n SharedModule,\n Angulartics2Module.forRoot(),\n FontAwesomeModule], providers: [PombaseAPIService,\n { provide: 'Window', useValue: window },\n { provide: 'Document', useFactory: documentFactory },\n { provide: 'Window', useFactory: windowFactory },\n {\n provide: UrlSerializer,\n useClass: PomBaseUrlSerializer,\n },\n QueryService,\n CompleteService,\n DeployConfigService, provideHttpClient(withInterceptorsFromDi()),] })\nexport class AppModule {\n constructor(angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics) {\n angulartics2GoogleAnalytics.startTracking();\n }\n\n}\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, {\n preserveWhitespaces: true,\n});\n"],"mappings":"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","names":["environment","production","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","model_r2","name","ɵɵtextInterpolate1","uniquename","ɵɵelement","ɵɵproperty","detail_r3","ɵɵsanitizeHtml","ɵɵtemplate","SearchBoxComponent_ng_template_0_div_7_div_2_Template","otherDetails","SearchBoxComponent_ng_template_0_span_3_Template","SearchBoxComponent_ng_template_0_span_5_Template","SearchBoxComponent_ng_template_0_div_7_Template","searchHelpPopover_r4","SearchSummary","uniquenameLowerCase","nameLowerCase","product","productLowerCase","uniprotIdentifier","uniprotIdentifierLowerCase","transcripts","lowerCaseTranscripts","synonyms","synonymsLowerCase","orthologs","organism","constructor","DisplayModel","matchType","alleleGeneUniquename","length","slice","filter","detail","idx","otherDetail","indexOf","SearchBoxComponent","completeService","pombaseApiService","deployConfigService","router","dataSource","noResults","waitingForServer","fieldValue","geneSummariesFailed","searchSummaries","appConfig","getAppConfig","configuredTaxonIds","organisms","map","org","taxonid","cvNamesForTermComplete","searchBoxCvNames","join","sysGeneIdRe","RegExp","gene_systematic_identifier_re","sysTranscriptIdRe","transcript_systematic_identifier_re","searchBoxElement","isInitialised","makeGeneDisplayModel","otherDetailsArg","isMultiOrganismMode","orgDetails","common_name","unshift","undefined","highlightMatch","pos","searchString","target","start","highlightBit","rest","substr","makeTermDisplayModel","termResult","details","definition","highlighting","termid","makeRefDisplayModel","refResult","authorsAbbrev","authors_abbrev","citation","authorAndCitation","v","pubmedid","title","makeAlleleDisplayModel","alleleResult","nameAndDescription","Util","alleleDisplayName","geneDisplayName","gene_name","gene_uniquename","trim","replace","toLowerCase","find","syn","push","id","nameExactMatch","geneSumm","value","matchingOrthologs","findMatchingOrthologs","orthOrgsToShow","searchBoxConfig","ortholog_organisms_to_always_show","orthMatch","includes","orth","matchingFieldValue","formatOrthologDetails","identifierExactMatch","nameMatch","identifierMatch","antisenseNameMatch","transcriptMatch","matchIndex","findIndex","highlightedMatch","synonymMatch","synonymExactMatch","exactness","identifier","secondary_identifier","orthologMatch","commonNameSpan","getOrganismByTaxonid","productMatch","uniprotIdMatch","containsMatch","matches","match","element","summariesFromToken","filteredSummaries","maybeAdd","valueNoSuffixes","suffixesToTrim","suffixes_to_trim","suff","getTermMatches","token","completeTermName","pipe","termResults","catchError","e","console","log","message","of","getRefMatches","completeRef","refResults","getAlleleMatches","completeAllele","alleleResults","trimToken","nameMatches","alleleSummary","observableFromToken","observables","geneSummaryObservable","termResultsObservable","refResultsObservable","productionMode","alleleResultsObservable","combineLatest","geneRes","termRes","refRes","alleleRes","geneCount","termCount","refCount","maxGenes","maxAlleles","maxTerms","getDataSource","Observable","create","observer","next","err","switchMap","ngOnInit","getGeneSummariesPromise","then","summaries","makeSearchSummaries","summaryCmp","a","b","localeCompare","sort","setTimeout","nativeElement","focus","catch","reason","uniprot_identifier","transcriptNum","getTranscriptCount","transcriptId","typeaheadOnSelect","displayModel","item","navigate","clearBox","typeaheadNoResults","matchesReference","matchesTerm","matchesGoCamId","enterPressed","trimmedValue","pmid","startsWith","getGoCamDetailByIds","_","noMatches","ɵɵdirectiveInject","CompleteService","PombaseAPIService","DeployConfigService","Router","selectors","viewQuery","rf","ctx","SearchBoxComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","SearchBoxComponent_ng_template_3_Template","SearchBoxComponent_span_6_Template","SearchBoxComponent_span_8_Template","ɵɵtwoWayListener","$event","i0","ɵɵrestoreView","_r1","ɵɵtwoWayBindingSet","ɵɵresetView","ɵɵlistener","SearchBoxComponent_span_13_Template","ɵɵtwoWayProperty","searchBoxTemplate_r5","ɵɵstyleProp","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate1","ctx_r0","ensemblBlastURL","ɵɵsanitizeUrl","ɵɵpropertyInterpolate","cantoURL","ɵɵtemplate","MainNavBarComponent_ul_19_li_12_Template","ɵɵproperty","menuEntry_r2","url","ɵɵtextInterpolate","title","MainNavBarComponent_span_22_ul_7_li_2_a_2_Template","MainNavBarComponent_span_22_ul_7_li_2_a_4_Template","entryIsRoute","MainNavBarComponent_span_22_ul_7_li_2_Template","idx_r5","navBarMenus","length","menu_r4","entries","ɵɵelement","MainNavBarComponent_span_22_ul_7_Template","ɵɵtextInterpolate1","header","cantoDocumentationURL","MainNavBarComponent_ul_31_li_8_Template","siteName","MainNavBarComponent","getAppConfig","site_name","navBar","nav_bar_menus","communityMailingList","community_mailing_list","ensembl_blast_url","canto_url","canto_documentation_url","hasDiseaseAnnotation","has_disease_annotation","hasAdminCuration","has_admin_curation","constructor","menuEntry","startsWith","ngOnInit","selectors","standalone","decls","vars","consts","template","rf","ctx","MainNavBarComponent_ul_9_Template","MainNavBarComponent_ul_19_Template","MainNavBarComponent_span_22_Template","MainNavBarComponent_ul_31_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","dbCreationDate","organismStats","annotations","curatedPublicationsCount","StatsRibbonComponent","pombaseApiService","metadata","undefined","stats","configOrganism","appConfig","getAppConfig","constructor","ngOnInit","getConfigOrganism","getMetadata","then","dateVersionMatch","date_version","match","db_creation_datetime","split","getStatistics","by_taxon","taxonid","community_pubs_count","non_community_pubs_count","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","StatsRibbonComponent_span_2_Template","StatsRibbonComponent_span_4_Template","StatsRibbonComponent_span_6_Template","ɵɵproperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","siteName","ɵɵelement","ɵɵpropertyInterpolate","conf_r2","url","ɵɵsanitizeUrl","ɵɵpropertyInterpolate1","image","alt_text","AppComponent","router","activatedRoute","titleService","meta","sanitizer","deployConfigService","window","getAppConfig","site_name","defaultDescription","site_description","logoFileName","logo_file_name","headerBackgroundFileName","header_background_file_name","showElixirAndGbcMessage","footer","show_elixir_and_gbc_message","constructor","ngOnInit","events","pipe","filter","event","NavigationEnd","map","route","firstChild","outlet","mergeMap","data","subscribe","defaultTitleDetail","title","setTitle","updateTag","property","content","scrollTo","getFundersHtml","bypassSecurityTrustHtml","funders","getLogoConfig","logos","ngAfterViewInit","twttr","widgets","load","ɵɵdirectiveInject","Router","ActivatedRoute","Title","Meta","DomSanitizer","DeployConfigService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AppComponent_span_17_Template","AppComponent_span_42_Template","AppComponent_a_47_Template","ɵɵstyleMap","ɵɵproperty","productionMode","ɵɵsanitizeHtml","invalidTimingValue","exp","RuntimeError","negativeStepValue","negativeDelayValue","invalidStyleParams","varName","invalidParamValue","invalidNodeType","nodeType","invalidCssUnitValue","userProvidedProperty","value","invalidTrigger","invalidDefinition","invalidState","metadataName","missingSubs","invalidStyleValue","invalidParallelAnimation","prop","firstStart","firstEnd","secondStart","secondEnd","RuntimeError","invalidKeyframes","invalidOffset","keyframeOffsetsOutOfOrder","keyframesMissingOffsets","invalidStagger","invalidQuery","selector","invalidExpression","expr","invalidTransitionAlias","alias","triggerBuildFailed","name","errors","RuntimeError","animationFailed","registerFailed","missingOrDestroyedAnimation","createAnimationFailed","missingPlayer","id","missingTrigger","phase","missingEvent","unsupportedTriggerEvent","unregisteredTrigger","triggerTransitionsFailed","transitionFailed","name","errors","RuntimeError","optimizeGroupPlayer","players","NoopAnimationPlayer","AnimationGroupPlayer","normalizeKeyframes$1","normalizer","keyframes","preStyles","postStyles","errors","normalizedKeyframes","previousOffset","previousKeyframe","kf","offset","isSameOffset","normalizedKeyframe","val","prop","normalizedProp","normalizedValue","ɵPRE_STYLE","AUTO_STYLE","animationFailed","listenOnPlayer","player","eventName","event","callback","copyAnimationEvent","e","phaseName","totalTime","disabled","makeAnimationEvent","data","element","triggerName","fromState","toState","getOrSetDefaultValue","map","key","defaultValue","value","parseTimelineCommand","command","separatorPos","id","action","documentElement","getParentElement","parent","containsVendorPrefix","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","result","getBodyNode","containsElement","elm1","elm2","getParentElement","invokeQuery","element","selector","multi","elem","NoopAnimationDriver","prop","validateStyleProperty","elm1","elm2","containsElement","element","getParentElement","selector","multi","invokeQuery","defaultValue","keyframes","duration","delay","easing","previousPlayers","scrubberAccessRequested","NoopAnimationPlayer","__ngFactoryType__","ɵɵdefineInjectable","AnimationDriver","AnimationStyleNormalizer","ONE_SECOND","SUBSTITUTION_EXPR_START","SUBSTITUTION_EXPR_END","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","value","matches","_convertTimeValueToMS","unit","resolveTiming","timings","errors","allowNegativeValues","parseTimeExpression","exp","regex","duration","delay","easing","invalidTimingValue","delayMatch","easingVal","containsErrors","startIndex","negativeStepValue","negativeDelayValue","normalizeKeyframes","keyframes","kf","setStyles","element","styles","formerStyles","val","prop","camelProp","dashCaseToCamelCase","eraseStyles","_","normalizeAnimationEntry","steps","sequence","validateStyleParams","value","options","errors","params","matches","extractStyleParams","varName","invalidStyleParams","PARAM_REGEX","SUBSTITUTION_EXPR_START","SUBSTITUTION_EXPR_END","match","interpolateParams","original","str","localVal","invalidParamValue","DASH_CASE_REGEXP","input","m","allowPreviousPlayerStylesMerge","duration","delay","balancePreviousStylesIntoKeyframes","element","keyframes","previousStyles","startingKeyframe","missingStyleProps","val","prop","i","kf","computeStyle","visitDslNode","visitor","node","context","AnimationMetadataType","invalidNodeType","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","AnimationStyleNormalizer","propertyName","errors","dashCaseToCamelCase","userProvidedProperty","normalizedProperty","value","unit","strVal","valAndSuffixMatch","invalidCssUnitValue","ANY_STATE","parseTransitionExpr","transitionValue","errors","expressions","str","parseInnerTransitionStr","eventStr","result","parseAnimationAlias","match","invalidExpression","fromState","separator","toState","makeLambdaFromStates","isFullAnyStateExpr","alias","invalidTransitionAlias","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","driver","metadata","warnings","AnimationAstBuilderVisitor","ROOT_SELECTOR","_driver","context","AnimationAstBuilderContext","visitDslNode","normalizeAnimationEntry","queryCount","depCount","states","transitions","invalidTrigger","def","AnimationMetadataType","stateDef","name","n","transition","invalidDefinition","styleAst","astParams","missingSubs","params","style","value","extractStyleParams","sub","invalidState","animation","matchers","normalizeAnimationOptions","s","currentTime","furthestTime","steps","step","innerAst","timingAst","constructTimingAst","styleMetadata","isEmpty","newStyleData","_styleAst","ast","styles","metadataStyles","styleTuple","AUTO_STYLE","invalidStyleValue","containsDynamicStyles","collectedEasing","styleData","SUBSTITUTION_EXPR_START","timings","endTime","startTime","tuple","prop","collectedStyles","collectedEntry","updateCollectedStyle","invalidParallelAnimation","validateStyleParams","invalidKeyframes","MAX_KEYFRAME_OFFSET","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","previousOffset","keyframes","offsetVal","consumeOffset","offset","invalidOffset","keyframeOffsetsOutOfOrder","length","generatedOffset","keyframesMissingOffsets","limit","currentAnimateTimings","animateDuration","kf","i","durationUpToThisFrame","parentSelector","options","selector","includeSelf","normalizeSelector","getOrSetDefaultValue","invalidStagger","resolveTiming","hasAmpersand","token","NG_TRIGGER_SELECTOR","NG_ANIMATING_SELECTOR","normalizeParams","obj","__spreadValues","duration","makeTimingAst","strValue","v","delay","easing","createTimelineInstruction","element","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","instructions","existingInstructions","ONE_FRAME_IN_MILLISECONDS","ENTER_TOKEN","ENTER_TOKEN_REGEX","LEAVE_TOKEN","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","AnimationTimelineContext","resolveTimingValue","timelines","timeline","lastRootTimeline","elementInstructions","innerContext","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","interpolateParams","instruction","instructionTimings","subContextCount","ctx","DEFAULT_NOOP_PREVIOUS_NODE","innerTimelines","timingValue","innerTimeline","elms","sameElementTimeline","parentContext","tl","maxTime","startingTime","_AnimationTimelineContext","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","oldParams","newTime","target","updatedTimings","builder","SubTimelineBuilder","time","originalSelector","optional","results","multi","elements","invalidQuery","_TimelineBuilder","_elementTimelineStylesLookup","hasPreStyleStep","input","flattenStyles","val","properties","details1","details0","finalKeyframes","keyframe","finalKeyframe","ɵPRE_STYLE","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","totalTime","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","oldOffset","timeAtKeyframe","decimalPoints","mult","allStyles","allProperties","createTransitionInstruction","triggerName","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","stateName","styler","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","oneOrMoreTransitionsMatch","matchFns","currentState","nextState","element","params","fn","applyParamDefaults","userParams","defaults","result","__spreadValues","key","value","AnimationStateStyles","styles","defaultParams","normalizer","errors","finalStyles","combinedParams","val","prop","interpolateParams","normalizedProp","buildTrigger","name","ast","AnimationTrigger","_normalizer","balanceProperties","AnimationTransitionFactory","createFallbackTransition","f","triggerName","states","matchers","fromState","toState","animation","AnimationMetadataType","transition","stateMap","key1","key2","EMPTY_INSTRUCTION_MAP","ElementInstructionMap","TimelineAnimationEngine","bodyNode","_driver","id","metadata","warnings","buildAnimationAst","registerFailed","i","preStyles","postStyles","keyframes","normalizeKeyframes$1","options","instructions","autoStylesMap","buildAnimationTimelines","ENTER_CLASSNAME","LEAVE_CLASSNAME","inst","getOrSetDefaultValue","missingOrDestroyedAnimation","createAnimationFailed","_","AUTO_STYLE","players","player","optimizeGroupPlayer","index","missingPlayer","eventName","callback","baseEvent","makeAnimationEvent","listenOnPlayer","command","args","QUEUED_CLASSNAME","QUEUED_SELECTOR","DISABLED_CLASSNAME","DISABLED_SELECTOR","STAR_CLASSNAME","STAR_SELECTOR","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","input","namespaceId","isObj","normalizeTriggerValue","_a","__objRest","newParams","oldParams","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","addClass","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","listeners","data","triggersWithStates","NG_TRIGGER_CLASSNAME","trigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","fromStyles","toStyles","eraseStyles","setStyles","playersOnElement","isFallbackTransition","removeClass","entry","elementPlayers","rootElement","context","elements","NG_TRIGGER_SELECTOR","elm","namespaces","ns","destroyAfterComplete","triggerStates","previousTriggersValues","state","elementStates","visitedTriggers","listener","engine","containsPotentialParentTransition","currentPlayers","parent","removalFlag","microtaskId","a","b","d0","d1","p","TransitionAnimationEngine","driver","namespaceList","namespacesByHostElement","found","ancestor","ancestorNs","stateValue","isElementNode","insertBefore","details","hostNS","hasAnimation","subTimelines","enterClassName","leaveClassName","skipBuildAst","containerElement","NG_ANIMATING_SELECTOR","resolve","node","cleanupFns","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","queriedElements","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","nodes","root","className","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","previousValue","nodeIsOrphaned","instruction","timelines","tl","tuple","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","ɵPRE_STYLE","post","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","parentPlayers","playersForElement","queriedPlayerResults","queriedInnerElements","j","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","NoopAnimationPlayer","previousPlayers","flattenGroupPlayers","pp","wrappedPlayer","deleteOrUnsetInMap","NG_ANIMATING_CLASSNAME","callbacks","totalTime","phaseName","map","currentValues","cloakElement","oldValue","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","props","roots","rootMap","NULL_NODE","nodeSet","localRootMap","getRoot","finalPlayers","_flattenGroupPlayersRecur","AnimationGroupPlayer","k1","k2","postEntry","preEntry","AnimationEngine","doc","componentId","cacheKey","triggerBuildFailed","disable","property","action","parseTimelineCommand","eventPhase","cb","packageNonAnimatableStyles","startStyles","endStyles","filterNonAnimatableStyles","SpecialCasedStyles","_element","_startStyles","_endStyles","initialStyles","isNonAnimatableStyle","WebAnimationsPlayer","_specialStyles","onFinish","kfs","frame","computeStyle","methods","WebAnimationsDriver","elm1","elm2","containsElement","getParentElement","selector","multi","invokeQuery","defaultValue","duration","delay","easing","fill","playerOptions","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","_keyframes","normalizeKeyframes","balancePreviousStylesIntoKeyframes","specialStyles","ANIMATION_PREFIX","DISABLE_ANIMATIONS_FLAG","BaseAnimationRenderer","namespaceId","delegate","engine","_onDestroy","node","name","namespace","value","parent","newChild","refChild","isMove","oldChild","isHostElement","selectorOrNode","preserveContent","el","style","flags","target","eventName","callback","element","AnimationRenderer","factory","onDestroy","resolveElementFromTarget","phase","parseTriggerCallbackName","event","countId","triggerName","dotIndex","trigger","AnimationRendererFactory","_zone","hostElement","type","EMPTY_NAMESPACE_ID","cache","renderer","onRendererDestroy","componentId","registerTrigger","count","fn","data","animationCallbacksBuffer","tuple","InjectableAnimationEngine","AnimationEngine","doc","driver","normalizer","__ngFactoryType__","ɵɵinject","DOCUMENT","AnimationDriver","AnimationStyleNormalizer","ɵɵdefineInjectable","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","renderer","engine","zone","AnimationRendererFactory","SHARED_ANIMATION_PROVIDERS","RendererFactory2","DomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","WebAnimationsDriver","ANIMATION_MODULE_TYPE","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","BrowserAnimationsModule","config","ɵɵdefineNgModule","ɵɵdefineInjector","BrowserModule","IntersectionObserverConfig","IntersectionObserverService","intersectionObserverConfig","ReplaySubject","fromEvent","EMPTY","debounceTime","distinctUntilChanged","t","merge","__ngFactoryType__","ɵɵinject","ɵɵdefineInjectable","IntersectionObserverDirective","element","renderer","intersectionObserverService","Subscription","EventEmitter","useScroll","threshold","autoRemove","options","entries","_","entry","classString","classes","cls","thresholdPx","scrollTriggerMax","scrollTriggerMin","intersect","ɵɵdirectiveInject","ElementRef","Renderer2","ɵɵdefineDirective","IntersectionObserverModule","config","ɵɵdefineNgModule","ɵɵdefineInjector","AnnotationTableIntersection","annotationTypeName","isIntersecting","constructor","TableViewState","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","content_r2","ɵɵtemplate","ReferenceShortComponent_ng_template_0_div_1_Template","ReferenceShortComponent_ng_template_0_div_3_Template","ɵɵproperty","ctx_r2","popoverContents","hasAnnotation","ɵɵpropertyInterpolate1","reference","uniquename","refTitle","displayString","ReferenceShortComponent_span_6_a_2_Template","ReferenceShortComponent_span_6_a_4_Template","ɵɵpropertyInterpolate","xref","ɵɵsanitizeUrl","ReferenceShortComponent","showRefTitle","linkText","popupHeader","link","mouseIn","appConfig","getAppConfig","constructor","mouseEnter","setTimeout","show","details_popup_delay","mouseLeave","hide","ngOnDestroy","ngOnChanges","gene_count","genotype_count","xrfDetail","getXrf","startsWith","url","authors_abbrev","publication_year","title","m","match","citation","push","unshift","ngOnInit","selectors","viewQuery","rf","ctx","ReferenceShortComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","ReferenceShortComponent_span_6_Template","ReferenceShortComponent_a_8_Template","refPopover_r4","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate","rheaItem_r1","rheaId","ɵɵtemplate","ReactionViewComponent_div_0_div_2_Template","ReactionViewComponent_div_0_div_4_Template","ɵɵproperty","ctx_r1","miniView","ReactionViewComponent","termIdRefs","rheaData","appConfig","getAppConfig","setRheaData","process","xrefs","map","xref","startsWith","substring","find","d","link","getExternalTermLink","url","push","definition_xrefs","secondary_identifiers","ngOnChanges","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ReactionViewComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","cvDisplayName","term","name","termSummary","definition","ɵɵelement","ɵɵproperty","ɵɵtemplate","TermLinkComponent_ng_template_0_div_3_Template","TermLinkComponent_ng_template_0_span_7_Template","TermLinkComponent_ng_template_0_div_13_Template","TermLinkComponent_ng_template_0_div_15_Template","TermLinkComponent_ng_template_0_div_17_Template","TermLinkComponent_ng_template_0_div_19_Template","ɵɵtextInterpolate1","getDisplayTermId","hasReactions","gocamCount","getLinkHint","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","shown","mouseEnter","mouseLeave","ɵɵprojection","ɵɵpropertyInterpolate1","termid","termPopover_r3","_r4","ɵɵpropertyInterpolate","externalLink","ɵɵsanitizeUrl","TermLinkComponent","pombaseApiService","hideTermIdPrefix","link","mouseIn","config","getAnnotationTableConfig","appConfig","getAppConfig","undefined","constructor","setTimeout","show","details_popup_delay","setHasReactions","definition_xrefs","xref","startsWith","secondary_identifiers","base","rheaString","hide","ngOnDestroy","termSummaryById","then","typeConfig","getAnnotationType","cv_name","display_name","gocam_ids","length","replace","ngOnInit","prefix","externalTermLinkPrefixes","xrfConfig","getXrf","url","ɵɵdirectiveInject","PombaseAPIService","selectors","viewQuery","rf","ctx","TermLinkComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","TermLinkComponent_a_3_Template","TermLinkComponent_a_5_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","range_r1","term","ɵɵtextInterpolate","name","ɵɵtemplate","ExtensionDisplayComponent_span_2_span_5_span_4_span_3_span_4_Template","term_r2","lastTerm_r3","ExtensionDisplayComponent_span_2_span_5_span_4_span_3_Template","summaryTerms","ɵɵelement","gene","ɵɵtextInterpolate1","transcript","uniquename","ɵɵpropertyInterpolate1","gene_uniquename","ExtensionDisplayComponent_span_2_span_5_span_8_span_2_Template","ExtensionDisplayComponent_span_2_span_5_span_8_a_4_Template","promoter","displayName","ExtensionDisplayComponent_span_2_span_5_span_10_span_2_Template","ExtensionDisplayComponent_span_2_span_5_span_10_span_4_Template","ExtensionDisplayComponent_span_2_span_5_span_12_span_2_span_4_Template","ctx_r6","residueTitle","residue_r4","displayResidue","extPart_r6","relTypeName","lastSumm_r5","ExtensionDisplayComponent_span_2_span_5_span_12_span_2_Template","summary_residues","ExtensionDisplayComponent_span_2_span_5_span_14_span_2_span_3_span_2_Template","gene_r8","lastGene_r9","ExtensionDisplayComponent_span_2_span_5_span_14_span_2_span_3_Template","ExtensionDisplayComponent_span_2_span_5_span_14_span_2_span_4_Template","summ_r10","lastSumm_r11","ExtensionDisplayComponent_span_2_span_5_span_14_span_2_Template","summaryGenes","tr_r12","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_span_3_span_1_Template","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_span_3_a_2_Template","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_span_3_span_3_Template","lastTr_r13","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_span_3_Template","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_span_4_Template","summ_r14","lastSumm_r15","ExtensionDisplayComponent_span_2_span_5_span_16_span_2_Template","summaryTranscripts","misc","value","ExtensionDisplayComponent_span_2_span_5_span_18_a_2_Template","ExtensionDisplayComponent_span_2_span_5_span_18_span_3_Template","link","ɵɵpropertyInterpolate","gene_product","id","gene_and_gene_product","ExtensionDisplayComponent_span_2_span_5_span_22_app_gene_link_2_Template","product","domain","ExtensionDisplayComponent_span_2_span_5_span_2_Template","ExtensionDisplayComponent_span_2_span_5_span_4_Template","ExtensionDisplayComponent_span_2_span_5_span_6_Template","ExtensionDisplayComponent_span_2_span_5_span_8_Template","ExtensionDisplayComponent_span_2_span_5_span_10_Template","ExtensionDisplayComponent_span_2_span_5_span_12_Template","ExtensionDisplayComponent_span_2_span_5_span_14_Template","ExtensionDisplayComponent_span_2_span_5_span_16_Template","ExtensionDisplayComponent_span_2_span_5_span_18_Template","ExtensionDisplayComponent_span_2_span_5_span_20_Template","ExtensionDisplayComponent_span_2_span_5_span_22_Template","ExtensionDisplayComponent_span_2_span_5_span_24_Template","ExtensionDisplayComponent_span_2_span_5_Template","ɵɵclassProp","highlightRelations","relTitle","extRange","ExtensionDisplayComponent","deployConfigService","extension","annotationTypeName","geneShort","undefined","displayExtension","config","getAnnotationTableConfig","typeConfig","constructor","getLink","idWithPrefix","linkConf","getXrf","url","posAndResidue","modAbbrevConfig","modification_abbreviations","modGeneConfig","newResidue","residue","extPart","productionMode","rawName","ngOnInit","organismRE","loadOrganism","getAppConfig","getConfigOrganism","loadOrganismFullName","genus","species","RegExp","getAnnotationType","extensionCopy","slice","map","ext","origRange","ext_range","Array","newRange","rangePart","termForProduct","replace","startsWith","substring","length","rel_type_name","rel_type_display_name","ɵɵdirectiveInject","DeployConfigService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ExtensionDisplayComponent_span_2_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵproperty","expressedAllele_r1","allele","gene","ɵɵtemplate","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_2_app_gene_link_2_Template","ɵɵadvance","ɵɵtextInterpolate1","product","synonymDetail_r3","name","reference_unquename","reference","ctx_r1","getPopupHeaderText","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_11_li_4_span_2_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_11_li_4_span_4_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_11_li_4_app_reference_short_6_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_11_li_4_Template","synonyms","comment_r4","comment","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_18_li_4_span_2_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_18_li_4_span_4_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_18_li_4_app_reference_short_6_Template","undefined","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_18_li_4_Template","comments","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_2_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_4_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_11_Template","GenotypeAlleleSummaryComponent_tbody_27_tr_2_td_18_Template","i_r5","showProduct","tidyAlleleName","ɵɵsanitizeHtml","hasSynonyms","alleleDisplayDescription","hasComment","ɵɵtextInterpolate","allele_type","expression","GenotypeAlleleSummaryComponent_tbody_27_tr_2_Template","locus_r6","expressed_alleles","GenotypeAlleleSummaryComponent","genotype","isDiploid","constructor","alleleName","Util","replace","description","descriptionWithResidueType","type","authors_abbrev","ngOnInit","ngOnChanges","locus","loci","length","map","expressedAllele","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GenotypeAlleleSummaryComponent_th_4_Template","GenotypeAlleleSummaryComponent_th_6_Template","GenotypeAlleleSummaryComponent_th_8_Template","GenotypeAlleleSummaryComponent_th_13_Template","GenotypeAlleleSummaryComponent_th_18_Template","GenotypeAlleleSummaryComponent_tbody_27_Template","ɵɵpureFunction1","_c0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","background","ɵɵtemplate","GenotypeLinkComponent_ng_template_2_div_1_Template","GenotypeLinkComponent_ng_template_2_div_3_Template","ɵɵproperty","isDiploid","genotype","GenotypeLinkComponent","undefined","isShortDisplayName","displayName","displayNameLong","replace","constructor","locus","loci","expressed_alleles","length","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GenotypeLinkComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","ɵɵelement","ɵɵclassProp","ɵɵpropertyInterpolate1","display_uniquename","allelesPopover_r2","ɵɵsanitizeHtml","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","assignedBy","ɵɵtextInterpolate","assignedDate","ɵɵtemplate","EvidenceLinkComponent_ng_template_0_div_6_span_2_Template","EvidenceLinkComponent_ng_template_0_div_6_span_4_Template","ɵɵproperty","EvidenceLinkComponent_ng_template_0_div_4_Template","EvidenceLinkComponent_ng_template_0_div_6_Template","title","link","displayName","EvidenceLinkComponent","evidence","undefined","appConfig","getAppConfig","constructor","initialise","evidenceTypes","conf","long","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","EvidenceLinkComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","EvidenceLinkComponent_span_5_Template","EvidenceLinkComponent_span_7_Template","evidencePopover_r2","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","identifierSourceDescription","ɵɵtemplate","WithOrFromLinkComponent_ng_template_0_div_4_Template","ɵɵtextInterpolate","popoverIdentifier","ɵɵproperty","gene","ɵɵelement","transcript","uniquename","ɵɵpropertyInterpolate1","gene_uniquename","WithOrFromLinkComponent_span_7_span_2_Template","WithOrFromLinkComponent_span_7_a_4_Template","term","termid","name","ɵɵpropertyInterpolate","linkUrl","ɵɵsanitizeUrl","displayIdentifier","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","mouseEnter","mouseLeave","WithOrFromLinkComponent_span_11_a_3_Template","WithOrFromLinkComponent_span_11_span_5_Template","identifierPopover_r3","WithOrFromLinkComponent","withOrFrom","link","identifier","appConfig","getAppConfig","mouseIn","constructor","displayIdentifierOf","idWithPrefix","replace","setTimeout","show","details_popup_delay","hide","ngOnDestroy","ngOnInit","identifier_and_name","xrfDetails","getXrf","url","description","undefined","selectors","viewQuery","rf","ctx","WithOrFromLinkComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","WithOrFromLinkComponent_app_gene_link_5_Template","WithOrFromLinkComponent_span_7_Template","WithOrFromLinkComponent_a_9_Template","WithOrFromLinkComponent_span_11_Template","FilterCombiner","filters","constructor","filter","annotationTable","filterResult","totalAnnotationCount","slice","filteredTable","filteredAnnotationCount","getFilters","AnnotationTermFilter","termIds","constructor","filter","annotationTable","retTable","annotationCount","filteredAnnotationCount","annotation","TERMS","termId","annotations","length","term","interesting_parent_ids","interestingAncestor","termid","push","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r3","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","selectedCategory","ɵɵresetView","ɵɵlistener","setCategory","ɵɵtemplate","AnnotationTableTermFilterComponent_span_0_option_7_Template","config","display_name","ɵɵtwoWayProperty","choiceData","toLocaleLowerCase","SelectData","ancestors","constructor","AnnotationTableTermFilterComponent","annotationTable","tableViewState","filterChange","EventEmitter","subsetPromise","reset","undefined","event","emit","AnnotationTermFilter","pombaseApiService","getTermSubsets","ngOnInit","processChanges","termCategories","seenAncestors","termAnnotation","term","termid","interesting_parent_ids","ancestor","category","selectData","push","sort","a","b","localeCompare","getAllAncestors","ret","Set","term_annotations","is_not","add","processChangesForSlim","then","subsets","allAncestors","subset","slim_name","Object","keys","elements","has","termCategory","name","ngOnChanges","changes","length","currentValue","TableViewState","Summary","term_categories","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationTableTermFilterComponent_span_0_Template","AnnotationTableTermFilterComponent_span_2_Template","AnnotationPloidinessFilter","filterPloidiness","evidenceCodes","constructor","genotypePloidiness","genotype","locus","loci","expressed_alleles","length","filter","annotationTable","retTable","annotationCount","filteredAnnotationCount","termAnnotation","annotations","retAnnotation","Object","assign","summary","origSummary","map","summaryRow","newRow","genotypes","g","genotype_uniquenames","display_uniquename","push","annotation","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ctx_r0","anySelectData","SelectData","name","displayName","active","constructor","AnnotationTablePloidinessFilterComponent","annotationTable","config","filterChange","EventEmitter","selectedCategory","hasHaplods","hasDiploids","haploidSelectData","diploidSelectData","reset","setCategory","undefined","event","emit","AnnotationPloidinessFilter","ngOnInit","checkPloidiness","seenHaploid","seenDiploid","TERM_ANNOTATION","termAnnotation","annotation","annotations","locus","genotype","loci","expressed_alleles","length","ngOnChanges","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","AnnotationTablePloidinessFilterComponent_option_4_Template","ɵɵadvance","ɵɵtwoWayProperty","AnnotationEvidenceFilter","evidenceCodesArg","evidenceCodes","constructor","code","lcCode","toLowerCase","push","filter","annotationTable","retTable","annotationCount","filteredAnnotationCount","termAnnotation","annotations","length","retAnnotation","Object","assign","annotation","evidence","indexOf","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","SelectData","evidenceCodes","constructor","AnnotationTableEvidenceFilterComponent","annotationTable","config","filterChange","EventEmitter","selectedCategory","choiceData","reset","setCategory","undefined","event","emit","AnnotationEvidenceFilter","ngOnInit","ngOnChanges","evidence_categories","seenEvidence","termAnnotation","annotation","annotations","evidence","lcEvidence","toLowerCase","configCategory","configEvidenceCode","evidence_codes","lcConfigEvidenceCode","category","evidence_code","selectData","display_name","push","sort","a","b","localeCompare","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","AnnotationTableEvidenceFilterComponent_option_7_Template","ɵɵtwoWayProperty","AnnotationExtensionFilter","extensionRelNames","filterTermIds","constructor","filter","annotationTable","retTable","annotationCount","filteredAnnotationCount","termAnnotation","annotations","length","retTermAnnotation","Object","assign","ANNOTATION","annotation","filterTermId","extension","extPart","rangeTerm","ext_range","term","includes","rel_type_name","termid","push","interesting_parent_ids","interestingAncestor","summary","summaryRow","summaryTerms","rangeSummaryTerm","rangeTermInterestingParentId","getFilterTermIds","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","SelectData","ancestors","constructor","AnnotationTableExtensionFilterComponent","annotationTable","tableViewState","config","filterChange","EventEmitter","availableChoiceChange","selectedCategory","undefined","choiceData","availableChoices","reset","setCategory","event","extension_rel_type_names","emit","AnnotationExtensionFilter","ngOnInit","ngOnChanges","seenCategories","termAnnotation","annotation","annotations","extension","extPart","includes","rel_type_name","rangeTerm","ext_range","term","termid","interestingParentIds","interesting_parent_ids","ancestor","extension_categories","category","selectData","display_name","push","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","AnnotationTableExtensionFilterComponent_option_7_Template","ɵɵtwoWayProperty","AnnotationThroughputFilter","throughputType","constructor","filter","annotationTable","retTable","annotationCount","filteredAnnotationCount","termAnnotation","annotations","length","retAnnotation","Object","assign","annotation","throughput","split","includes","push","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","SelectData","throughput","constructor","AnnotationTableThroughputFilterComponent","annotationTable","config","filterChange","EventEmitter","selectedCategory","choiceData","reset","setCategory","event","emit","AnnotationThroughputFilter","undefined","ngOnInit","ngOnChanges","seenThroughput","throughput_categories","termAnnotation","annotation","annotations","annotationThroughput","configCategory","throughput_type","split","includes","category","selectData","display_name","push","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","AnnotationTableThroughputFilterComponent_option_7_Template","ɵɵtwoWayProperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","filterChanged","ɵɵproperty","config_r3","annotationTable","_r4","currentViewState","_r5","_r6","_r7","$implicit","display_name","ɵɵtemplate","AnnotationTableFiltersComponent_span_4_app_annotation_table_ploidiness_filter_2_Template","AnnotationTableFiltersComponent_span_4_app_annotation_table_term_filter_4_Template","AnnotationTableFiltersComponent_span_4_app_annotation_table_evidence_filter_6_Template","AnnotationTableFiltersComponent_span_4_app_annotation_table_throughput_filter_8_Template","AnnotationTableFiltersComponent_span_4_app_annotation_table_extension_filter_10_Template","ɵɵadvance","filter_type","AnnotationTableFiltersComponent","filterConfig","scope","filterChange","EventEmitter","currentFilters","scopeFilterConfig","filterType","event","eventsToEmit","Object","keys","push","length","emit","undefined","FilterCombiner","constructor","ngOnInit","ngOnChanges","filter","conf","indexOf","TableViewState","Details","detailed_view_only","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationTableFiltersComponent_span_2_Template","AnnotationTableFiltersComponent_span_4_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate2","config_r1","url_prefix","ctx_r1","termIdString","ɵɵsanitizeUrl","ɵɵtextInterpolate","display_text","ɵɵtemplate","AnnotationTableExtLinksComponent_div_0_li_4_Template","ɵɵproperty","extLinksConfig","AnnotationTableExtLinksComponent","termIds","constructor","ngOnInit","ngOnChanges","join","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationTableExtLinksComponent_div_0_Template","length","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","sendToQueryBuilder","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","sendSubstratesText","_r3","sendDownstreamGenesToQueryBuilder","ɵɵtextInterpolate1","typeConfig","downstream_query_title","ɵɵtemplate","AnnotationTableWidgetsComponent_div_0_a_2_Template","AnnotationTableWidgetsComponent_div_0_a_4_Template","ɵɵproperty","hasSubstrates","hasDownstreamGenes","AnnotationTableWidgetsComponent","router","pombaseApiService","queryService","annotationTable","annotationTypeName","geneDetails","filters","duringTermId","duringTermName","constructor","showWidgets","queryName","displayName","part","SubstratesNode","uniquename","geneQuery","GeneQuery","callback","historyEntry","navigate","getEntryId","runAndSaveToHistory","DownstreamGenesNode","updateSubstratesState","undefined","extFilterConf","filterConf","filter_type","filter_subtype","extension_rel_type_names","filter","getFilters","AnnotationExtensionFilter","getFilterTermIds","findDuringTermName","TERM_ANNOTATIONS","termAnnotation","annotation","annotations","extPart","extension","rel_type_name","updateDownstreamGenesState","downstreamRelations","downstream_relations","includes","termSummaryById","then","termSummary","name","ngOnChanges","ngOnInit","ɵɵdirectiveInject","Router","PombaseAPIService","QueryService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationTableWidgetsComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","allelePromoter_r1","allele_display_name","ɵɵtextInterpolate1","promoter","ɵɵtemplate","AllelePromoterListComponent_div_0_span_2_Template","AllelePromoterListComponent_div_0_span_4_Template","AllelePromoterListComponent_div_0_span_6_Template","ɵɵproperty","ctx_r1","isMultiLocusGenotype","long","AllelePromoterListComponent","annotation","constructor","ngOnInit","genotype","loci","length","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","AllelePromoterListComponent_div_0_Template","allele_promoters","ɵɵtext","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","genecount_r1","termid_r2","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r3","ɵɵnextContext","ɵɵresetView","allDetailsView","ɵɵproperty","showDetailsDisabled_r5","_r6","allSummaryView","ɵɵtemplate","AnnotationSubTableComponent_div_8_a_2_Template","AnnotationSubTableComponent_div_8_span_4_Template","AnnotationSubTableComponent_div_8_a_6_Template","currentViewState","TableViewState","Details","isLargeTable","$event","_r7","updateCurrentFilter","filterConfig","scope","annotationTable","annotationCount","typeConfig","feature_type","ɵɵtextInterpolate","line_r8","AnnotationSubTableComponent_div_17_div_2_Template","gene_structure_change_message","annotationTypeName","geneDetails","filters","filteredAnnotationCount","AnnotationSubTableComponent_div_21_span_2_Template","AnnotationSubTableComponent_div_21_span_4_Template","AnnotationSubTableComponent_tr_27_th_5_Template","AnnotationSubTableComponent_tr_27_th_7_Template","AnnotationSubTableComponent_tr_27_th_9_Template","AnnotationSubTableComponent_tr_27_th_11_Template","AnnotationSubTableComponent_tr_27_th_13_Template","AnnotationSubTableComponent_tr_27_th_15_Template","AnnotationSubTableComponent_tr_27_th_17_Template","AnnotationSubTableComponent_tr_27_th_19_Template","AnnotationSubTableComponent_tr_27_th_21_Template","AnnotationSubTableComponent_tr_27_th_23_Template","AnnotationSubTableComponent_tr_27_th_25_Template","AnnotationSubTableComponent_tr_27_th_27_Template","AnnotationSubTableComponent_tr_27_th_29_Template","AnnotationSubTableComponent_tr_27_th_31_Template","AnnotationSubTableComponent_tr_27_th_33_Template","AnnotationSubTableComponent_tr_27_th_35_Template","AnnotationSubTableComponent_tr_27_th_37_Template","AnnotationSubTableComponent_tr_27_th_39_Template","AnnotationSubTableComponent_tr_27_th_41_Template","showColumn","featureInFirstColumn","is_a_fake_ontology","_r9","termAnnotation_r10","$implicit","toggleDetails","AnnotationSubTableComponent_tbody_30_tr_2_a_4_span_2_Template","AnnotationSubTableComponent_tbody_30_tr_2_a_4_span_4_Template","detailsViewVisible","rel_names","AnnotationSubTableComponent_tbody_30_tr_2_td_9_span_4_Template","length","term","hide_term_id_prefix","ɵɵtextInterpolate1","getDisplayTermId","ɵɵpropertyInterpolate1","termid","termGeneCount_r11","getCountPopoverContext","gene_count","AnnotationSubTableComponent_tbody_30_tr_2_td_22_a_2_Template","genotype_count","is_not","AnnotationSubTableComponent_tbody_30_tr_2_a_4_Template","AnnotationSubTableComponent_tbody_30_tr_2_td_7_Template","AnnotationSubTableComponent_tbody_30_tr_2_td_9_Template","AnnotationSubTableComponent_tbody_30_tr_2_span_13_Template","AnnotationSubTableComponent_tbody_30_tr_2_td_22_Template","detailsOnly","name","_r12","AnnotationSubTableComponent_tbody_30_tr_4_td_2_a_2_span_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_2_a_2_span_4_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_2_a_2_Template","transcriptDisplay","annotation_r13","ɵɵelement","AnnotationSubTableComponent_tbody_30_tr_4_td_4_span_2_div_4_Template","gene_r14","AnnotationSubTableComponent_tbody_30_tr_4_td_4_span_2_Template","genes","genotype","genotype_background","AnnotationSubTableComponent_tbody_30_tr_4_td_6_app_genotype_link_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_6_div_4_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_8_span_4_Template","extension","AnnotationSubTableComponent_tbody_30_tr_4_div_14_span_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_17_app_genotype_link_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_17_div_4_Template","evidence","assigned_by","date","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_4_span_2_span_3_Template","withVal_r15","lastWith_r16","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_4_span_2_Template","withs","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_6_span_2_span_3_Template","fromVal_r17","lastFrom_r18","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_6_span_2_Template","froms","AnnotationSubTableComponent_tbody_30_tr_4_td_25_app_evidence_link_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_4_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_25_span_6_Template","annotation_phenotype_score","AnnotationSubTableComponent_tbody_30_tr_4_td_27_div_2_Template","conditionAndDetail_r19","AnnotationSubTableComponent_tbody_30_tr_4_td_29_li_4_span_5_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_29_li_4_Template","condition_details","qualifiers","AnnotationSubTableComponent_tbody_30_tr_4_td_31_div_2_Template","ɵɵpropertyInterpolate","getTermXrefLink","xrefSource","xrefKV_r20","xrefId","uniquename","ɵɵsanitizeUrl","key","AnnotationSubTableComponent_tbody_30_tr_4_td_33_div_2_div_2_Template","showXRef","reference","sourceName_r21","AnnotationSubTableComponent_tbody_30_tr_4_td_33_div_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_33_div_5_Template","ɵɵpipeBind1","xrefs","otherSources","residue","AnnotationSubTableComponent_tbody_30_tr_4_td_37_app_reference_short_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_39_a_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_4_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_6_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_8_Template","AnnotationSubTableComponent_tbody_30_tr_4_div_12_Template","AnnotationSubTableComponent_tbody_30_tr_4_div_14_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_17_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_19_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_21_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_23_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_25_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_27_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_29_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_31_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_33_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_35_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_37_Template","AnnotationSubTableComponent_tbody_30_tr_4_td_39_Template","i_r22","tableIsFiltered","compactFirstRows","_r23","AnnotationSubTableComponent_tbody_30_tr_6_span_6_Template","AnnotationSubTableComponent_tbody_30_tr_6_span_8_Template","AnnotationSubTableComponent_tbody_30_tr_6_span_14_Template","AnnotationSubTableComponent_tbody_30_tr_8_span_7_span_2_span_3_Template","gene_r24","lastGene_r25","AnnotationSubTableComponent_tbody_30_tr_8_span_7_span_2_Template","getSummaryRowGenes","idx_r26","AnnotationSubTableComponent_tbody_30_tr_8_span_9_span_2_span_3_Template","genotype_r27","lastGenotype_r28","AnnotationSubTableComponent_tbody_30_tr_8_span_9_span_2_Template","getSummaryRowGenotypes","_r29","index","showAllOfSummaryRow","showAllSummaryRowLinkText","row_r30","AnnotationSubTableComponent_tbody_30_tr_8_span_7_Template","AnnotationSubTableComponent_tbody_30_tr_8_span_9_Template","AnnotationSubTableComponent_tbody_30_tr_8_div_11_Template","AnnotationSubTableComponent_tbody_30_tr_8_app_extension_display_13_Template","genotypes","allOfSummaryRowVisible","AnnotationSubTableComponent_tbody_30_tr_2_Template","AnnotationSubTableComponent_tbody_30_tr_4_Template","AnnotationSubTableComponent_tbody_30_tr_6_Template","AnnotationSubTableComponent_tbody_30_tr_8_Template","annotations","ɵɵpureFunction0","_c0","summary","allTermIds","externalLinksConfig","SUMMARY_ROW_TRUNCATED_LIMIT","LARGE_TABLE_ANNOTATION_LIMIT","summaryRowFeatureCount","summaryRow","featureCount","AnnotationSubTableComponent","deployConfigService","hideColumns","config","getAnnotationTableConfig","appConfig","getAppConfig","undefined","filteredTable","hideColumn","termNameColSpan","detailsView","summaryRowAllVisible","Summary","geneUniquename","getAllTermIds","ret","map","termAnnotation","push","filter","resetFilter","constructor","termId","replace","geneCount","rowIndex","slice","seenSummarised","trackByTermId","_","item","sourceName","id","linkConf","getMiscExternalLink","url","xrefKeyValue","value","xref_id","checkCondition","condition","startsWith","condRef","substring","source_config","sourceConfig","Object","keys","conf","id_source","hasQualifiers","annotation","long","transcripts","transcriptCount","gene","transcript_count","transcriptIds","transcriptDetails","join","hasPhenotypeScores","showStructureChangedMessage","gene_history","init","getAnnotationType","columns_to_show","columnName","columns_to_show_by_page_type","firstGene","foundBackground","foundPromoter","FOUND","allele_promoters","details_only","ngOnInit","external_link_config","ngOnChanges","ɵɵdirectiveInject","DeployConfigService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationSubTableComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","AnnotationSubTableComponent_ng_template_3_Template","AnnotationSubTableComponent_div_8_Template","AnnotationSubTableComponent_app_annotation_table_filters_12_Template","AnnotationSubTableComponent_div_15_Template","AnnotationSubTableComponent_div_17_Template","AnnotationSubTableComponent_div_19_Template","AnnotationSubTableComponent_div_21_Template","AnnotationSubTableComponent_tr_27_Template","AnnotationSubTableComponent_tbody_30_Template","AnnotationSubTableComponent_span_33_Template","AnnotationSubTableComponent_div_35_Template","ɵɵtext","ɵɵelementStart","ɵɵelementEnd","DeletionViabilitySummaryComponent","geneDetails","getViabilityClass","deletion_viability","getDisplayViability","viabilityClass","charAt","toUpperCase","slice","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","DeletionViabilitySummaryComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate1","viaibilityHelpPopover_r1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵpropertyInterpolate","ctx_r0","annotationType","slim_link","ɵɵadvance","ɵɵtextInterpolate","slim_description","ɵɵproperty","element_r2","name","ɵɵtemplate","SlimSummaryComponent_div_0_div_2_a_4_Template","SlimSummaryComponent_div_0_div_2_span_6_Template","SlimSummaryComponent_div_0_div_2_span_11_Template","geneSlimTerms","slim_no_category_text","SlimSummaryComponent_div_0_div_4_a_2_Template","SlimSummaryComponent_div_0_div_4_span_4_Template","SlimSummaryComponent_div_0_div_2_Template","SlimSummaryComponent_div_0_div_4_Template","length","SlimSubsetElement","termid","gene_count","definition","interesting_parent_ids","is_obsolete","xrefs","constructor","SlimSummaryComponent","pombaseApiService","geneDetails","annotationTypeName","subsetPromise","getAllAncestors","ret","Set","annotations","cv_annotations","term_annotations","term","is_not","add","ancestor","getTermSubsets","ngOnInit","ngOnChanges","getAnnotationTableConfig","getAnnotationType","then","subsets","allAncestors","slimSubsetName","slim_subset_name","subset","Object","keys","elements","has","element","slimTerm","push","sort","a","b","toLowerCase","localeCompare","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","SlimSummaryComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","proteinDetails_r1","transcript_uniquename","ɵɵtemplate","ProteinPropertiesComponent_thead_2_th_5_Template","ɵɵproperty","ctx_r1","proteinDisplayDetails","getProteinDisplayDetails","proteinDetails_r3","propName_r4","ProteinPropertiesComponent_tr_4_td_5_Template","ɵɵtextInterpolate","getPropDisplayName","ProteinPropertiesComponent","geneDetails","propDisplayNames","molecular_weight","number_of_residues","average_residue_weight","charge_at_ph7","isoelectric_point","propNames","Object","keys","constructor","ngOnInit","propName","ngOnChanges","transcript","transcripts","protein","assign","uniquename","weight","Math","round","avg_weight","push","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ProteinPropertiesComponent_thead_2_Template","ProteinPropertiesComponent_tr_4_Template","length","ɵɵtext","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","title","HelpLinkComponent","route","constructor","ngOnInit","selectors","inputs","standalone","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵtemplate","HelpLinkComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","ɵɵelement","ɵɵprojection","ɵɵpropertyInterpolate","ɵɵproperty","annotationHelpPopover_r2","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","tableDisplayName","ɵɵproperty","typeConfig","help_route","helpIconTitle","geneDetails","annotationTypeName","ɵɵpropertyInterpolate1","uniquename","displayName","getProteinViewerIFrameURL","ɵɵsanitizeResourceUrl","ɵɵtemplate","AnnotationTableComponent_fieldset_0_div_19_app_help_link_6_Template","AnnotationTableComponent_fieldset_0_div_19_div_13_Template","ɵɵpureFunction1","_c0","ɵɵlistener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","intersectHandler","intersect","scope","hideColumns","featureInFirstColumn","annotationTable","capitalize","conf_r4","display_name","_r3","$implicit","config_name","AnnotationTableComponent_fieldset_0_div_23_div_2_div_2_div_2_Template","splitDataList","AnnotationTableComponent_fieldset_0_div_23_div_2_div_2_Template","length","AnnotationTableComponent_fieldset_0_div_23_div_2_Template","split_by_parents","AnnotationTableComponent_fieldset_0_span_4_Template","AnnotationTableComponent_fieldset_0_span_6_Template","AnnotationTableComponent_fieldset_0_app_help_link_8_Template","AnnotationTableComponent_fieldset_0_app_deletion_viability_summary_13_Template","AnnotationTableComponent_fieldset_0_div_15_Template","AnnotationTableComponent_fieldset_0_div_17_Template","AnnotationTableComponent_fieldset_0_div_19_Template","AnnotationTableComponent_fieldset_0_div_21_Template","AnnotationTableComponent_fieldset_0_div_23_Template","AnnotationTableComponent_fieldset_0_app_protein_properties_25_Template","slim_subset_name","feature_type","sanitizedFeatureViewURL","transcripts","protein","AnnotationTableComponent","sanitizer","deployConfigService","annotationTableIntersection","EventEmitter","config","getAnnotationTableConfig","annotationTypeDisplayName","constructor","maybeDoSplit","splitByConfig","seenTerms","splitByTermId","termids","notFlag","startsWith","substring","termAnnotation","interestingParentIds","term","interesting_parent_ids","isInThisSplit","termid","indexOf","seenTermsKey","is_not","push","s","Util","ngOnInit","subTableName","isIntersecting","emit","AnnotationTableIntersection","ngOnChanges","getAnnotationType","protein_viewer_type","rawUrl","bypassSecurityTrustResourceUrl","undefined","ɵɵdirectiveInject","DomSanitizer","DeployConfigService","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","AnnotationTableComponent_fieldset_0_Template","MessageDialogComponent","bsModalRef","title","message","constructor","ngOnInit","ɵɵdirectiveInject","BsModalRef","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","hide","ɵɵadvance","ɵɵtextInterpolate","ɵɵtextInterpolate1","InteractionThroughputFilter","throughputType","constructor","filter","interactionTable","retTable","count","length","interaction","throughput","push","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","SelectData","throughput","constructor","InteractionTableThroughputFilterComponent","interactionTable","config","filterChange","EventEmitter","selectedCategory","choiceData","reset","setCategory","undefined","event","emit","InteractionThroughputFilter","ngOnInit","ngOnChanges","seenThroughput","interaction","throughput_categories","category","throughput_type","selectData","display_name","push","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","InteractionTableThroughputFilterComponent_option_7_Template","ɵɵtwoWayProperty","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","filterChanged","ɵɵtext","ɵɵelementEnd","ɵɵproperty","config_r3","interactionTable","ɵɵtemplate","InteractionTableFiltersComponent_span_5_app_interaction_table_throughput_filter_2_Template","ɵɵadvance","filter_type","InteractionTableFiltersComponent","filters","filterChange","EventEmitter","currentFilters","filterType","event","eventsToEmit","filterName","Object","keys","push","length","emit","undefined","FilterCombiner","constructor","ngOnInit","ngOnChanges","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","InteractionTableFiltersComponent_span_5_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","InteractionAnnotationTableComponent_fieldset_0_div_8_span_5_span_5_Template","ɵɵadvance","ɵɵpropertyInterpolate","source_r1","url","ɵɵsanitizeUrl","ɵɵtextInterpolate","name","ɵɵproperty","i_r2","ctx_r2","interactionSources","length","InteractionAnnotationTableComponent_fieldset_0_div_8_span_5_Template","ɵɵtextInterpolate1","siteName","biogridUrl","currentGene","displayName","ɵɵlistener","$event","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","updateCurrentFilter","annotationTable","filters","queryLinkUrl","ɵɵtextInterpolate2","filteredAnnotationCount","annotationCount","InteractionAnnotationTableComponent_fieldset_0_div_16_span_2_Template","InteractionAnnotationTableComponent_fieldset_0_div_16_span_4_Template","filteredTable","ɵɵelement","annotation_r5","gene","product","reference","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_20_span_2_Template","_r6","$implicit","showInteractionNote","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_22_a_2_Template","interactionNote","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_2_Template","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_4_Template","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_20_Template","InteractionAnnotationTableComponent_fieldset_0_tr_49_td_22_Template","displayLabel","interactor","evidence","hideColumn","InteractionAnnotationTableComponent_fieldset_0_div_8_Template","InteractionAnnotationTableComponent_fieldset_0_a_10_Template","InteractionAnnotationTableComponent_fieldset_0_div_12_Template","InteractionAnnotationTableComponent_fieldset_0_div_14_Template","InteractionAnnotationTableComponent_fieldset_0_div_16_Template","InteractionAnnotationTableComponent_fieldset_0_th_26_Template","InteractionAnnotationTableComponent_fieldset_0_th_28_Template","InteractionAnnotationTableComponent_fieldset_0_th_41_Template","InteractionAnnotationTableComponent_fieldset_0_th_43_Template","InteractionAnnotationTableComponent_fieldset_0_tr_49_Template","annotationTypeDisplayName","helpIconTitle","tableIsFiltered","displayTable","InteractionAnnotationTableComponent","modalService","annotationTypeName","hideColumns","config","getAnnotationTableConfig","appConfig","getAppConfig","site_name","interactionNoteRef","data_sources","interactions","constructor","ngOnInit","typeConfig","annotationTypes","display_name","annotation","animated","show","MessageDialogComponent","content","title","message","updateDisplayTable","map","col","interactionType","json","uniquename","biogrid_interactor_id","linkResult","getExternalGeneLink","taxonid","displayAnnotation","interaction_note","labelConfig","interactionConfig","baitLabel","preyLabel","sort","a","b","geneComp","Util","geneCompare","localeCompare","ngOnChanges","undefined","filter","ɵɵdirectiveInject","BsModalService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","InteractionAnnotationTableComponent_fieldset_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","row_r1","refType","ɵɵtemplate","ExternalRefsTableComponent_tr_2_td_2_Template","ɵɵproperty","ctx_r1","showTypeColumn","name","ɵɵpropertyInterpolate","url","ɵɵsanitizeUrl","ɵɵtextInterpolate","linkLabel","description","ExternalRefsTableComponent","geneDetails","sectionFilter","table","extRefConfs","appConfig","getAppConfig","constructor","ngOnInit","ngOnChanges","extRefConf","externalGeneReferences","confFeatureTypes","feature_types","indexOf","feature_type","show_in_sections","includes","push","link","makeGeneExternalUrl","taxonid","length","row","ref_type","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ExternalRefsTableComponent_tr_2_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","annotation_r1","gene","ɵɵtextInterpolate","product","ortholog","ɵɵpropertyInterpolate","ctx_r1","getLink","orthologOrganism","uniquename","name","ɵɵsanitizeUrl","ɵɵtextInterpolate1","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","$implicit","ɵɵresetView","showFullProduct","orthologFullProduct","ɵɵtemplate","OrthologAnnotationTableComponent_div_8_tr_32_span_21_a_5_Template","orthologShortProduct","qualifier","reference","OrthologAnnotationTableComponent_div_8_tr_32_td_26_span_2_Template","OrthologAnnotationTableComponent_div_8_tr_32_td_2_Template","OrthologAnnotationTableComponent_div_8_tr_32_td_4_Template","OrthologAnnotationTableComponent_div_8_tr_32_app_gene_link_13_Template","OrthologAnnotationTableComponent_div_8_tr_32_a_15_Template","OrthologAnnotationTableComponent_div_8_tr_32_span_21_Template","OrthologAnnotationTableComponent_div_8_tr_32_td_24_Template","OrthologAnnotationTableComponent_div_8_tr_32_td_26_Template","currentGene","ɵɵtextInterpolate2","genus","species","appConfig","isConfigOrganism","taxonid","hideColumn","OrthologAnnotationTableComponent_div_8_th_11_Template","OrthologAnnotationTableComponent_div_8_th_13_Template","OrthologAnnotationTableComponent_div_8_th_24_Template","OrthologAnnotationTableComponent_div_8_th_26_Template","OrthologAnnotationTableComponent_div_8_tr_32_Template","displayTable","OrthologAnnotationTableComponent","modalService","hideColumns","annotationTable","config","getAnnotationTableConfig","getAppConfig","annotationTypeDisplayName","hasQualifier","extRefConfs","fullProductRef","organism","getOrganismExternalLink","constructor","geneUniquename","fullProduct","animated","show","MessageDialogComponent","content","title","message","displayOrthologPredictionResources","feature_type","ngOnInit","typeConfig","annotationTypes","display_name","ngOnChanges","map","col","filter","row","ortholog_organism","shortProduct","m","match","ɵɵdirectiveInject","BsModalService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","OrthologAnnotationTableComponent_div_8_Template","OrthologAnnotationTableComponent_div_10_Template","length","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","annotation_r1","paralog","ɵɵtextInterpolate","product","ɵɵtemplate","ParalogAnnotationTableComponent_fieldset_0_tr_26_Template","ɵɵtextInterpolate1","ctx_r1","annotationTypeDisplayName","annotationTable","ParalogAnnotationTableComponent","config","getAnnotationTableConfig","constructor","ngOnInit","typeConfig","annotationTypes","display_name","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ParalogAnnotationTableComponent_fieldset_0_Template","length","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","showDetails","ɵɵtext","ɵɵelementEnd","_r4","showSummary","ɵɵelement","ɵɵadvance","ɵɵproperty","annotation_r5","gene","genotype","ɵɵtextInterpolate","product","evidence","assigned_by","date","reference","ɵɵtemplate","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_span_10_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_app_genotype_link_12_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_span_14_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_app_evidence_link_25_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_app_reference_short_30_Template","ontologyLabel","ext_rel_display_name","ɵɵtextInterpolate1","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_tr_2_Template","displayTable","annotation_r6","TargetOfAnnotationTableComponent_fieldset_0_tbody_55_tr_2_Template","summaryTable","TargetOfAnnotationTableComponent_fieldset_0_a_10_Template","TargetOfAnnotationTableComponent_fieldset_0_a_12_Template","_r1","sendToQueryBuilder","TargetOfAnnotationTableComponent_fieldset_0_th_47_Template","TargetOfAnnotationTableComponent_fieldset_0_th_49_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_53_Template","TargetOfAnnotationTableComponent_fieldset_0_tbody_55_Template","currentViewState","TableViewState","Details","Summary","TargetOfAnnotationTableComponent","router","queryService","geneDetails","annotationTable","config","getAppConfig","targetOfConfig","constructor","makeTables","ontologyLabels","ontology_labels","annotation","ontology_name","push","showInSummary","show_in_summary","summaryRow","length","prevSummaryRow","uniquename","targetOfType","queryName","part","GenesTargetingNode","geneQuery","GeneQuery","callback","historyEntry","navigate","getEntryId","runAndSaveToHistory","ngOnInit","ngOnChanges","ɵɵdirectiveInject","Router","QueryService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","TargetOfAnnotationTableComponent_fieldset_0_Template","ReferenceOrderByPipe","transform","references","field","sortDirection","matches","match","sort","a","b","pure","standalone","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate","ctx_r0","pubmedSearchUrl","ɵɵsanitizeUrl","ɵɵtextInterpolate1","pubmedSearchGeneLabel","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","setOrderBy","_r3","_r4","_r5","reference_r6","citation","journal","citation_date_pages","ɵɵelement","publication_year","ɵɵtemplate","GeneReferencesTableComponent_fieldset_0_tr_49_span_12_Template","GeneReferencesTableComponent_fieldset_0_tr_49_span_14_Template","GeneReferencesTableComponent_fieldset_0_tr_49_span_19_Template","GeneReferencesTableComponent_fieldset_0_tr_49_td_29_Template","title","authors_abbrev","ɵɵproperty","ɵɵtextInterpolate","uniquename","isCurated","orderByField","ɵɵpropertyInterpolate1","gene_count","GeneReferencesTableComponent_fieldset_0_div_8_Template","GeneReferencesTableComponent_fieldset_0_span_12_Template","GeneReferencesTableComponent_fieldset_0_a_14_Template","GeneReferencesTableComponent_fieldset_0_span_16_Template","GeneReferencesTableComponent_fieldset_0_a_18_Template","GeneReferencesTableComponent_fieldset_0_span_20_Template","GeneReferencesTableComponent_fieldset_0_a_22_Template","GeneReferencesTableComponent_fieldset_0_span_24_Template","GeneReferencesTableComponent_fieldset_0_a_26_Template","GeneReferencesTableComponent_fieldset_0_th_40_Template","GeneReferencesTableComponent_fieldset_0_tr_49_Template","ɵɵpipeBind2","references","GeneReferencesTableComponent","geneDetails","appConfig","getAppConfig","field","constructor","reference","approved_date","undefined","ngOnInit","ngOnChanges","name","idList","push","synonyms","filter","synonym","type","map","joinedIds","join","isConfigOrganism","taxonid","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GeneReferencesTableComponent_fieldset_0_Template","length","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setDetailsView","ɵɵtext","ɵɵelementEnd","_r3","setSummaryView","$event","_r4","updateCurrentFilter","ɵɵproperty","filterConfig","scope","annotationTable","currentViewState","ɵɵadvance","ɵɵtextInterpolate2","filteredAnnotationCount","annotationCount","ɵɵtemplate","QuantGeneExTableComponent_fieldset_0_div_20_span_2_Template","QuantGeneExTableComponent_fieldset_0_div_20_span_4_Template","ɵɵtextInterpolate","termAnnotation_r5","term","name","ɵɵelement","gene_r6","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_5_span_2_Template","annotation_r7","genes","gene_ex_props","avg_copies_per_cell","extension","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_14_div_4_span_4_Template","condition_r8","ɵɵtextInterpolate1","i_r9","conditions","length","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_14_div_4_Template","scale","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_16_span_2_Template","evidence","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_18_app_evidence_link_2_Template","reference","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_20_app_reference_short_2_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_span_3_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_5_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_7_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_app_extension_display_11_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_14_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_16_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_18_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_td_20_Template","i_r10","showGene","qualifiers","detailsMode","showReference","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_tr_2_Template","annotations","QuantGeneExTableComponent_fieldset_0_table_22_th_9_Template","QuantGeneExTableComponent_fieldset_0_table_22_th_17_Template","QuantGeneExTableComponent_fieldset_0_table_22_th_19_Template","QuantGeneExTableComponent_fieldset_0_table_22_th_21_Template","QuantGeneExTableComponent_fieldset_0_table_22_th_23_Template","QuantGeneExTableComponent_fieldset_0_table_22_tbody_27_Template","filteredTable","trackByTermId","_r11","showPlot","geneDetails","displayName","QuantGeneExTableComponent_fieldset_0_div_26_div_4_span_4_span_2_Template","QuantGeneExTableComponent_fieldset_0_div_26_div_4_span_2_Template","QuantGeneExTableComponent_fieldset_0_div_26_div_4_span_4_Template","_r12","plotLoaded","ɵɵpropertyInterpolate1","uniquename","ɵɵsanitizeUrl","QuantGeneExTableComponent_fieldset_0_div_26_a_2_Template","QuantGeneExTableComponent_fieldset_0_div_26_div_4_Template","plotVisible","QuantGeneExTableComponent_fieldset_0_a_10_Template","QuantGeneExTableComponent_fieldset_0_a_12_Template","QuantGeneExTableComponent_fieldset_0_app_annotation_table_filters_17_Template","QuantGeneExTableComponent_fieldset_0_div_20_Template","QuantGeneExTableComponent_fieldset_0_table_22_Template","QuantGeneExTableComponent_fieldset_0_span_24_Template","QuantGeneExTableComponent_fieldset_0_div_26_Template","tableIsFiltered","QuantGeneExTableComponent","hideColumns","undefined","tableViewChangeEmitter","EventEmitter","showDetails","TableViewState","Summary","config","getAnnotationTableConfig","typeConfig","index","item","termid","constructor","filter","Details","emit","ngOnInit","getAnnotationType","filters","ngOnChanges","indexOf","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QuantGeneExTableComponent_fieldset_0_Template","GeneExternalReferencesComponent","geneDetails","constructor","ngOnChanges","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","import_file_saver","ResidueRange","start","end","constructor","DisplaySequencePart","uniquename","partType","residues","exonIndex","partId","partIdCounter","RawSequencePart","DisplaySequence","displayParts","parts","newFromProtein","protein","seqPart","sequence","newFromTranscriptParts","upstreamSequence","downstreamSequence","upstreamPart","downstreamPart","seqParts","map","part","feature_type","addPart","rawPart","length","push","getParts","res","rangeFromParts","startPartId","startPartOffset","endPartId","endPartOffset","residuesSoFar","startPos","lineIndex","endPos","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","idx_r4","ɵɵadvance","ɵɵtextInterpolate1","transcript_r3","uniquename","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","transcriptIndex","ɵɵresetView","ɵɵlistener","transcriptChanged","ɵɵtemplate","TranscriptSequenceSelectComponent_div_8_option_4_Template","ɵɵtwoWayProperty","geneDetails","transcripts","_r5","showNucSequence","updateSequence","TranscriptSequenceSelectComponent_div_12_div_6_span_11_span_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_span_11_span_4_Template","featureHasProtein","_r7","include5PrimeUtr","TranscriptSequenceSelectComponent_div_12_div_6_div_14_div_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_14_div_4_Template","has5PrimeUtr","fivePrimeIntronCount","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_2_div_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_2_div_4_Template","threePrimeIntronCount","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_4_div_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_4_div_4_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_div_4_Template","include3PrimeUtr","_r8","includeIntrons","TranscriptSequenceSelectComponent_div_12_div_6_div_24_div_7_Template","_r9","TranscriptSequenceSelectComponent_div_12_div_6_div_26_div_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_26_div_4_Template","has3PrimeUtr","TranscriptSequenceSelectComponent_div_12_div_6_span_34_span_2_Template","TranscriptSequenceSelectComponent_div_12_div_6_span_34_span_4_Template","_r6","upstreamBases","TranscriptSequenceSelectComponent_div_12_div_6_span_9_Template","TranscriptSequenceSelectComponent_div_12_div_6_span_11_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_14_Template","includeExons","TranscriptSequenceSelectComponent_div_12_div_6_div_24_Template","TranscriptSequenceSelectComponent_div_12_div_6_div_26_Template","downstreamBases","TranscriptSequenceSelectComponent_div_12_div_6_span_32_Template","TranscriptSequenceSelectComponent_div_12_div_6_span_34_Template","cdsIntronCount","_r10","download","_r11","downloadWithFeaturesUrl","ɵɵsanitizeUrl","TranscriptSequenceSelectComponent_div_12_div_12_ul_5_li_2_Template","TranscriptSequenceSelectComponent_div_12_div_12_ul_5_li_4_Template","TranscriptSequenceSelectComponent_div_12_div_12_ul_5_li_6_Template","wrappedSequence","TranscriptSequenceSelectComponent_div_12_div_12_ul_5_Template","_r12","ncbidnaform_r13","ɵɵreference","submit","ɵɵelement","ɵɵpropertyInterpolate","sequenceHeader","_r14","ensdnaform_r15","ɵɵpropertyInterpolate1","ensemblBlastUrl","_r16","ncbiprotform_r17","proteinSequenceHeader","wrappedProteinSequence","_r18","ensprotform_r19","_r20","fastasearch_r21","ebiToolsUrl","protein","sequence","_r22","psisearch_r23","_r24","psiblast_r25","TranscriptSequenceSelectComponent_div_12_div_14_span_2_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_4_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_6_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_8_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_10_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_12_Template","TranscriptSequenceSelectComponent_div_12_div_14_span_14_Template","feature_type","selectedResidueMessage","_r27","clearSelection","_r28","manualSelectionVisible","manualSelectionErrorMessage","_r29","manualSelection","manualSelectionChanged","TranscriptSequenceSelectComponent_div_12_div_18_span_13_span_4_span_4_Template","TranscriptSequenceSelectComponent_div_12_div_18_span_13_a_2_Template","TranscriptSequenceSelectComponent_div_12_div_18_span_13_span_4_Template","selectedResidueRange","part_r31","_r30","$implicit","mouseenter","mouseleave","clearManualSelection","ɵɵclassMap","partClass","partTitle","ɵɵtextInterpolate","residues","TranscriptSequenceSelectComponent_div_12_div_18_div_19_span_6_Template","getSequenceHeader","getDisplaySequence","getParts","TranscriptSequenceSelectComponent_div_12_div_18_div_6_Template","TranscriptSequenceSelectComponent_div_12_div_18_span_11_Template","TranscriptSequenceSelectComponent_div_12_div_18_span_13_Template","_r26","checkSelection","TranscriptSequenceSelectComponent_div_12_div_18_div_19_Template","TranscriptSequenceSelectComponent_div_12_div_18_div_21_Template","TranscriptSequenceSelectComponent_div_12_div_18_app_loading_spinner_23_Template","TranscriptSequenceSelectComponent_div_12_div_4_Template","TranscriptSequenceSelectComponent_div_12_div_6_Template","TranscriptSequenceSelectComponent_div_12_div_10_Template","TranscriptSequenceSelectComponent_div_12_div_12_Template","TranscriptSequenceSelectComponent_div_12_div_14_Template","TranscriptSequenceSelectComponent_div_12_div_18_Template","ɵɵclassProp","downloadWithFeaturesURL","TranscriptSequenceSelectComponent","apiService","window","displaySequence","proteinDisplaySequence","hasTranscripts","geneStart","geneEnd","cdsStart","cdsEnd","partSpanElement","linksInNewWindow","hoverPart","getAppConfig","ensembl_blast_url","ebi_tools_url","seq_and_features_download_url","constructor","updateHeader","sequenceLength","length","transcript","partsFlags","push","join","part","partType","exonIndex","retVal","undefined","selection","getSelection","removeAllRanges","rangeCount","range","getRangeAt","startContainer","startOffset","endContainer","endOffset","parentElement","startPartId","getAttribute","endPartId","rangeFromParts","geneLocation","location","strand","coordStart","coordEnd","Strand","Forward","Reverse","chrName","chromosome_name","upstreamPromise","downstreamPromise","upstreamStart","upstreamEnd","getChrSubSequence","Promise","resolve","downstreamStart","downstreamEnd","all","then","values","upstreamSequence","includedParts","parts","downstreamSequence","DisplaySequence","newFromTranscriptParts","rawSequence","Util","splitSequenceString","catch","e","fileName","saveAs","Blob","type","format","toString","replaceFieldsInUrl","prefetch","start_pos","end_pos","number_of_residues","newFromProtein","trim","exec","start","parseInt","end","endMatch","document","createRange","residuesText","nativeElement","firstChild","setStart","setEnd","addRange","console","log","selectedCount","message","ngOnChanges","ɵɵdirectiveInject","PombaseAPIService","selectors","viewQuery","rf","ctx","TranscriptSequenceSelectComponent_div_8_Template","TranscriptSequenceSelectComponent_div_12_Template","TranscriptSequenceSelectComponent_div_14_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","match_r2","id","ɵɵpropertyInterpolate2","dbDisplayName","ɵɵpropertyInterpolate","dbEntryUrl","ɵɵsanitizeUrl","interpro_id","ɵɵpropertyInterpolate1","interProEntryUrl","ɵɵtextInterpolate1","loc_r4","start","loc_r5","end","countLinkTitle","countLinkUrl","geneCount","ɵɵlistener","ɵɵrestoreView","_r1","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","highlightMatch","ɵɵtemplate","InterproMatchesComponent_div_0_table_5_tr_29_span_4_Template","InterproMatchesComponent_div_0_table_5_tr_29_a_6_Template","InterproMatchesComponent_div_0_table_5_tr_29_span_20_Template","InterproMatchesComponent_div_0_table_5_tr_29_a_22_Template","InterproMatchesComponent_div_0_table_5_tr_29_div_27_Template","InterproMatchesComponent_div_0_table_5_tr_29_div_32_Template","InterproMatchesComponent_div_0_table_5_tr_29_a_37_Template","ɵɵclassProp","highlightedId","ɵɵproperty","dbDescription","interpro_description","interpro_name","name","description","locations","InterproMatchesComponent_div_0_table_5_tr_29_Template","displayMatches","uniprotIdentifier","InterproMatchesComponent_div_0_table_5_Template","InterproMatchesComponent_div_0_a_7_Template","length","InterproMatchesComponent","pombaseApiService","geneDisplayName","matches","highlightedIdChange","EventEmitter","apiError","geneSubsets","appConfig","getAppConfig","constructor","emit","ngOnInit","ngOnChanges","map","match","typeConfig","proteinFeatureTable","feature_types","dbname","newId","result","getXrfWithPrefix","url","xrfResult","replace","newMatch","Object","assign","min_max_only","newLoc","match_start","match_end","displayName","dbWebsite","website","processMatches","subsetId","subset","elements","getGeneSubsets","then","subsets","catch","error","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","InterproMatchesComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","getIFrameURL","ɵɵsanitizeResourceUrl","ɵɵtemplate","ProteinFeaturesComponent_div_10_div_17_Template","ɵɵpropertyInterpolate1","geneDetails","uniquename","ɵɵpureFunction1","_c1","ɵɵlistener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","highlightedIdChange","name","uniprot_identifier","interpro_matches","highlightedId","ProteinFeaturesComponent_div_18_span_5_span_2_Template","ɵɵtextInterpolate2","coord_r3","range","start","end","lastPair_r4","ProteinFeaturesComponent_div_18_span_5_Template","tm_domain_coords","ɵɵtextInterpolate1","siteName","proteinFeaturesTable","ɵɵpureFunction0","_c2","soAnnotationTable","ProteinFeaturesComponent","sanitizer","appConfig","getAppConfig","site_name","transcriptDetails","sanitizedURL","iframeHeight","viewerIframe","constructor","onMessage","event","data","selectedProteinFeatureId","ngOnInit","matchId","nativeElement","contentWindow","postMessage","getInterProUrl","xrfDetails","getXrfWithPrefix","url","ngOnChanges","transcripts","length","undefined","cv_annotations","rawUrl","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","DomSanitizer","selectors","viewQuery","rf","ctx","ɵɵresolveWindow","ProteinFeaturesComponent_div_10_Template","ProteinFeaturesComponent_app_interpro_matches_12_Template","ProteinFeaturesComponent_div_16_Template","ProteinFeaturesComponent_div_18_Template","ProteinFeaturesComponent_div_21_Template","ProteinFeaturesComponent_div_23_Template","ProteinFeaturesComponent_div_25_Template","protein","ɵɵelementStart","ɵɵtext","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","showTranscriptCoords","ɵɵresetView","ɵɵelementEnd","ɵɵadvance","ɵɵtwoWayProperty","_r1","showCoordTable","ɵɵtemplate","TranscriptViewComponent_div_7_div_2_div_10_Template","ɵɵproperty","ɵɵstyleProp","transcript_r4","padding","getDivVW","ɵɵlistener","part_r6","_r5","$implicit","setHighlightedPart","partId","ɵɵclassMap","type","ɵɵclassProp","getHighlightedPart","popoverContent","_r9","part_r8","nextPart","ɵɵtextInterpolate1","displayName","_r10","displayLocation","_r7","TranscriptViewComponent_div_7_div_30_tr_4_td_8_Template","TranscriptViewComponent_div_7_div_30_tr_4_td_10_Template","includes","TranscriptViewComponent_div_7_div_30_tr_4_Template","nonIntronParts","partTrackBy","TranscriptViewComponent_div_7_div_2_Template","TranscriptViewComponent_div_7_div_23_Template","TranscriptViewComponent_div_7_div_25_Template","ɵɵelement","TranscriptViewComponent_div_7_div_30_Template","idx_r11","ɵɵtextInterpolate2","uniquename","product","chromosomeDisplayName","geneStrand","productSizeString","displayParts","DisplayTranscript","transcript","_displayParts","_nonIntronParts","_highlightedPartId","_locationString","_padding","constructor","geneLocation","exonCount","intronCount","geneLength","end_pos","start_pos","paddingLocation","location","strand","chromosome_name","fakePaddingPart","feature_type","residues","DisplayPart","part","parts","displayPart","transcript_type","push","setDivVW","i","length","setNext","previousPart","setPrevious","filter","endsWith","len","startPos","endPos","protein","Util","productStringOfTranscript","transcriptLocation","transcriptType","_divWidth","_id","_next","_previous","replace","displayType","baseLength","totalLength","Math","max","TranscriptViewComponent","geneDetails","transcripts","displayTranscripts","appConfig","getAppConfig","updateDisplayStrings","chromosomeName","chromosomeConfig","getChromosomeConfigByName","short_display_name","displayTranscript","prefix","startsWith","_index","item","ngOnInit","ngOnChanges","undefined","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","TranscriptViewComponent_div_7_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","typeConfigs","annotationTypeName_r1","display_name","ɵɵproperty","geneDetails","cv_annotations","ɵɵpureFunction0","_c0","ɵɵtemplate","MiscAnnotationTableComponent_div_8_div_2_Template","MiscAnnotationTableComponent","annotationTypeNames","config","getAnnotationTableConfig","constructor","ngOnInit","map","annotationTypeName","getAnnotationType","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","MiscAnnotationTableComponent_div_8_Template","_c0","Toast_button_0_Template","rf","ctx","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ctx_r1","ɵɵnextContext","ɵɵresetView","ɵɵtext","ɵɵelementEnd","Toast_div_1_ng_container_2_Template","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵadvance","ɵɵtextInterpolate1","Toast_div_1_Template","ɵɵtemplate","ɵɵclassMap","ɵɵattribute","ɵɵproperty","Toast_div_2_Template","ɵɵelement","ɵɵsanitizeHtml","Toast_div_3_Template","Toast_div_4_Template","ɵɵstyleProp","ToastNoAnimation_button_0_Template","ToastNoAnimation_div_1_ng_container_2_Template","ToastNoAnimation_div_1_Template","ToastNoAnimation_div_2_Template","ToastNoAnimation_div_3_Template","ToastNoAnimation_div_4_Template","ComponentPortal","component","injector","host","newestOnTop","BasePortalHost","portal","fn","ToastRef","Subject","_overlayRef","resetTimeout","countDuplicate","ToastPackage","toastId","config","message","title","toastType","toastRef","action","DefaultNoComponentGlobalConfig","TOAST_CONFIG","InjectionToken","DomPortalHost","_hostDomElement","_componentFactoryResolver","_appRef","componentFactory","componentRef","OverlayContainer","inject","DOCUMENT","container","__ngFactoryType__","ɵɵdefineInjectable","OverlayRef","_portalHost","Overlay","ComponentFactoryResolver$1","ApplicationRef","positionClass","overlayContainer","pane","ToastrService","token","overlay","_injector","sanitizer","ngZone","__spreadValues","override","type","toast","found","p","resetOnDuplicate","countDuplicates","includeTitleDuplicates","hasDuplicateTitle","duplicate","keepInactive","overlayRef","sanitizedMessage","SecurityContext","toastPackage","providers","toastInjector","Injector","ins","ɵɵinject","DomSanitizer","NgZone","Toast","signal","toastrService","count","state","__spreadProps","now","remaining","width","func","timeout","ɵɵdirectiveInject","ɵɵdefineComponent","rf","ctx","ɵɵlistener","ɵɵsyntheticHostProperty","ɵɵclassMap","ɵɵstyleProp","_c0","ɵɵtemplate","Toast_button_0_Template","Toast_div_1_Template","Toast_div_2_Template","Toast_div_3_Template","Toast_div_4_Template","ɵɵproperty","ɵɵadvance","NgIf","trigger","style","transition","animate","DefaultGlobalConfig","provideToastr","makeEnvironmentProviders","ToastrModule","ɵɵdefineNgModule","ɵɵdefineInjector","ToastNoAnimation","signal","toastrService","toastPackage","appRef","count","now","remaining","width","__ngFactoryType__","ɵɵdirectiveInject","ToastrService","ToastPackage","ApplicationRef","ɵɵdefineComponent","rf","ctx","ɵɵlistener","ɵɵclassMap","ɵɵstyleProp","_c0","ɵɵtemplate","ToastNoAnimation_button_0_Template","ToastNoAnimation_div_1_Template","ToastNoAnimation_div_2_Template","ToastNoAnimation_div_3_Template","ToastNoAnimation_div_4_Template","ɵɵproperty","ɵɵadvance","NgIf","DefaultNoAnimationsGlobalConfig","__spreadProps","__spreadValues","DefaultNoComponentGlobalConfig","trackCompare","trackA","trackB","fieldName","direction","charAt","substring","fieldValueA","fieldValueB","tmp","undefined","length","localeCompare","JbrowseTrackOrderByPipe","transform","jbrowseTracks","sort","pure","standalone","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","identifier","ɵɵtemplate","JbrowseTrackPickerComponent_div_0_span_13_span_2_Template","JbrowseTrackPickerComponent_div_0_span_13_span_4_Template","ɵɵproperty","identifierType","JbrowseTrackPickerComponent_div_0_span_15_span_2_Template","JbrowseTrackPickerComponent_div_0_span_15_span_4_Template","tracks","length","ɵɵlistener","ɵɵrestoreView","_r3","col_r4","ɵɵnextContext","$implicit","ɵɵresetView","setOrderBy","name","ɵɵelement","ɵɵpropertyInterpolate1","display_name","ɵɵtextInterpolate","JbrowseTrackPickerComponent_div_0_div_18_table_23_th_9_div_2_a_2_Template","JbrowseTrackPickerComponent_div_0_div_18_table_23_th_9_div_2_span_4_Template","orderByFieldName","download_link","JbrowseTrackPickerComponent_div_0_div_18_table_23_th_9_div_2_Template","JbrowseTrackPickerComponent_div_0_div_18_table_23_th_9_div_4_Template","ɵɵpropertyInterpolate","track_r6","col_r7","ɵɵsanitizeUrl","JbrowseTrackPickerComponent_div_0_div_18_table_23_tr_13_td_7_a_2_Template","JbrowseTrackPickerComponent_div_0_div_18_table_23_tr_13_td_7_span_4_Template","ɵɵtwoWayListener","$event","_r5","i0","ɵɵtwoWayBindingSet","selectedTracks","label","trackSelected","JbrowseTrackPickerComponent_div_0_div_18_table_23_tr_13_td_7_Template","selectCheckboxesDisabled","ɵɵtwoWayProperty","colConfig","JbrowseTrackPickerComponent_div_0_div_18_table_23_th_9_Template","JbrowseTrackPickerComponent_div_0_div_18_table_23_tr_13_Template","ɵɵpipeBind2","_r2","selectAll","selectNone","loadInJBrowse","JbrowseTrackPickerComponent_div_0_div_18_table_23_Template","loadButtonDisabled","tracksVisible","JbrowseTrackPickerComponent_div_0_span_4_Template","JbrowseTrackPickerComponent_div_0_span_6_Template","JbrowseTrackPickerComponent_div_0_span_13_Template","JbrowseTrackPickerComponent_div_0_span_15_Template","JbrowseTrackPickerComponent_div_0_div_18_Template","JBROWSE_URL_LIMIT","JbrowseTrackPickerComponent","document","toastr","appConfig","getAppConfig","selectedTrackCount","selectedLabelLength","constructor","hasTracks","fieldName","track","warning","map","setSelectedCount","selectedCount","labels","defaultJBrowseTracks","filter","push","path","encodeURI","jbrowseTrackPickerBaseUrl","join","location","href","setTracks","getJBrowseTracksByGeneName","getJBrowseTracksByPMID","refPageJBrowseColumns","colConf","isEmpty","showTracks","ngOnInit","ngOnChanges","ɵɵdirectiveInject","DOCUMENT","ToastrService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","JbrowseTrackPickerComponent_div_0_Template","GeneticInteractionThroughputFilter","throughputType","constructor","filter","interactionTable","retTable","count","length","interaction","matchingDetails","detail","details","throughput","push","interactionCopy","Object","assign","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","displayName","SelectData","throughput","constructor","GeneticInteractionTableThroughputFilterComponent","interactionTable","config","filterChange","EventEmitter","selectedCategory","choiceData","reset","setCategory","undefined","event","emit","GeneticInteractionThroughputFilter","ngOnInit","ngOnChanges","seenThroughput","interaction","detail","details","throughput_categories","category","throughput_type","selectData","display_name","push","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","GeneticInteractionTableThroughputFilterComponent_option_7_Template","ɵɵtwoWayProperty","GeneticInteractionTypeFilter","interactionType","constructor","filter","interactionTable","retTable","count","length","interaction","interaction_type","push","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","active","ɵɵadvance","ɵɵtextInterpolate1","interactionType","SelectData","constructor","GeneticInteractionTableTypeFilterComponent","interactionTable","config","filterChange","EventEmitter","selectedType","choiceData","reset","setType","undefined","event","emit","GeneticInteractionTypeFilter","ngOnInit","ngOnChanges","seenType","interaction","interaction_type","interaction_types","selectData","push","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","GeneticInteractionTableTypeFilterComponent_option_7_Template","display_name","ɵɵtwoWayProperty","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","filterChanged","ɵɵtext","ɵɵelementEnd","ɵɵproperty","config_r3","interactionTable","_r4","ɵɵtemplate","GeneticInteractionTableFiltersComponent_span_5_app_genetic_interaction_table_throughput_filter_2_Template","GeneticInteractionTableFiltersComponent_span_5_app_genetic_interaction_table_type_filter_4_Template","ɵɵadvance","filter_type","GeneticInteractionTableFiltersComponent","filters","filterChange","EventEmitter","currentFilters","filterType","event","eventsToEmit","filterName","Object","keys","push","length","emit","undefined","FilterCombiner","constructor","ngOnInit","ngOnChanges","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GeneticInteractionTableFiltersComponent_span_5_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","GeneticInteractionAnnotationTableComponent_fieldset_0_div_8_span_5_span_5_Template","ɵɵadvance","ɵɵpropertyInterpolate","source_r1","url","ɵɵsanitizeUrl","ɵɵtextInterpolate","name","ɵɵproperty","i_r2","ctx_r2","interactionSources","length","GeneticInteractionAnnotationTableComponent_fieldset_0_div_8_span_5_Template","ɵɵtextInterpolate1","siteName","biogridUrl","currentGene","displayName","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","allDetailsView","_r5","allSummaryView","$event","_r6","updateCurrentFilter","annotationTable","filters","queryLinkUrl","ɵɵtextInterpolate2","filteredAnnotationCount","annotationCount","GeneticInteractionAnnotationTableComponent_fieldset_0_div_26_span_2_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_div_26_span_4_Template","filteredTable","_r7","annotation_r8","$implicit","toggleDetails","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_a_6_span_2_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_a_6_span_4_Template","detailsViewVisible","gene_a","product","ɵɵelement","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_div_6_span_2_span_2_span_4_Template","detail_r10","reference","lastDetail_r11","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_div_6_span_2_span_2_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_div_6_span_2_Template","ɵɵprojection","details","legacyRefHelp_r12","detail_r13","double_mutant_genotype","double_mutant_extension","annotationTypeName","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_span_9_div_5_Template","double_mutant_phenotype","rescued_phenotype_extension","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_span_14_div_5_Template","rescued_phenotype","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_td_17_span_2_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_span_4_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_span_9_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_span_14_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_td_17_Template","showColumn","has","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_span_8_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_span_13_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_span_18_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_th_21_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_tr_27_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_div_6_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_table_8_Template","annotationHasOnlyReference","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_a_6_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_td_14_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_tr_31_Template","hasSomeDetails","displayLabel","gene_b","interaction_type","GeneticInteractionAnnotationTableComponent_fieldset_0_div_8_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_a_10_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_a_16_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_a_18_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_div_21_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_div_24_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_div_26_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_th_41_Template","GeneticInteractionAnnotationTableComponent_fieldset_0_tbody_56_Template","tableHeader","helpIconTitle","currentViewState","TableViewState","Details","tableIsFiltered","displayTable","GeneticInteractionAnnotationTableComponent","hideColumns","config","getAnnotationTableConfig","appConfig","getAppConfig","site_name","annotationTypeDisplayName","hideColumn","interactionNoteRef","detailsView","Summary","data_sources","interactions","constructor","ngOnInit","typeConfig","annotationTypes","display_name","annotation","interaction","id","seenSummarised","resetFilter","undefined","updateDisplayTable","map","col","interactionType","json","uniquename","biogrid_interactor_id","linkResult","getExternalGeneLink","taxonid","interactionGroup","displayAnnotation","Set","labelConfig","interactionConfig","displayDetails","detail","newDetail","Object","assign","add","push","baitLabel","preyLabel","sort","a","b","geneComp","Util","geneCompare","localeCompare","size","ngOnChanges","filter","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","GeneticInteractionAnnotationTableComponent_fieldset_0_Template","GeneticInteractionAnnotationTableComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setWidget","ɵɵelement","ɵɵelementContainerStart","ɵɵtemplate","GenePageWidgetsComponent_ng_container_8_div_2_Template","GenePageWidgetsComponent_ng_container_8_div_4_Template","ɵɵadvance","ɵɵproperty","currentWidget","_r3","GenePageWidgetsComponent_ng_container_10_div_2_Template","GenePageWidgetsComponent_ng_container_10_div_4_Template","_r4","GenePageWidgetsComponent_ng_container_12_div_2_Template","GenePageWidgetsComponent_ng_container_12_div_4_Template","_r5","GenePageWidgetsComponent_ng_container_14_div_2_Template","GenePageWidgetsComponent_ng_container_14_div_4_Template","_r6","GenePageWidgetsComponent_ng_container_16_div_2_Template","GenePageWidgetsComponent_ng_container_16_div_4_Template","_r7","_r8","hideAllWidgets","ɵɵpipeBind1","getJBrowseIFrameURL","ɵɵsanitizeResourceUrl","GenePageWidgetsComponent_div_28_div_2_div_2_div_2_Template","GenePageWidgetsComponent_div_28_div_2_div_2_Template","ɵɵpureFunction1","_c1","geneDetails","uniquename","name","gene_neighbourhood","displayName","pdb_entries","GenePageWidgetsComponent_div_28_div_2_Template","GenePageWidgetsComponent_div_28_div_4_Template","GenePageWidgetsComponent_div_28_div_6_Template","GenePageWidgetsComponent_div_28_div_8_Template","GenePageWidgetsComponent_div_28_div_10_Template","GenePageWidgetsComponent_div_28_div_12_Template","GenePageWidgetsComponent","pombaseApiService","settingsService","faCaretDown","faCaretRight","appConfig","getAppConfig","jbrowseLinkUrl","constructor","setJBrowseLink","location","getChromosomeSummaryMapPromise","then","chromosomeSummaryMap","loc","chrName","chromosome_name","chrLength","length","lowerPos","Math","min","start_pos","end_pos","upperPos","max","mid","round","jbHalfWidth","jbStart","jbEnd","chrConfig","getChromosomeConfigByName","chrExportId","export_id","tracks","undefined","current","genePageMainWidget","gocams","hasPDBStructure","hasStructure","hasRna2dStructure","showProteinFeatures","uniprot_identifier","transcripts","seq","protein","sequence","rnacentral_2d_structure_id","includes","feature_type","showGoCams","widget","ngOnInit","ngOnChanges","ɵɵdirectiveInject","PombaseAPIService","SettingsService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GenePageWidgetsComponent_span_6_Template","GenePageWidgetsComponent_ng_container_8_Template","GenePageWidgetsComponent_ng_container_10_Template","GenePageWidgetsComponent_ng_container_12_Template","GenePageWidgetsComponent_ng_container_14_Template","GenePageWidgetsComponent_ng_container_16_Template","GenePageWidgetsComponent_div_18_Template","GenePageWidgetsComponent_div_20_Template","GenePageWidgetsComponent_div_22_Template","GenePageWidgetsComponent_div_24_Template","GenePageWidgetsComponent_div_28_Template","ɵɵpureFunction2","_c0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ref_r1","text","ɵɵpropertyInterpolate1","referenceUniquename","ɵɵtextInterpolate","ɵɵtemplate","GeneHistoryTableComponent_tr_33_span_10_span_2_span_2_Template","GeneHistoryTableComponent_tr_33_span_10_span_2_span_4_Template","ɵɵproperty","GeneHistoryTableComponent_tr_33_span_10_span_2_Template","referenceParts_r2","entry_r3","comments","ɵɵpropertyInterpolate","genome_snapshot_link","ɵɵsanitizeUrl","ctx_r3","genomeSnapshotLabel","GeneHistoryTableComponent_tr_33_span_10_Template","GeneHistoryTableComponent_tr_33_span_15_Template","GeneHistoryTableComponent_tr_33_a_20_Template","date","previous_coords","processedReferences","ftpLinkRE","svnLinkRE","GeneHistoryTableComponent","geneDetails","processedHistory","constructor","ngOnInit","currentStructure","transcripts","length","Util","transcriptStructureAsString","entry","processedShapshotLabel","ngOnChanges","historyEntry","gene_history","processedHistoryEntry","Object","assign","ref","references","refParts","part","split","match","processedRef","push","snapshotLink","ftpMatch","exec","svnMatch","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GeneHistoryTableComponent_tr_33_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","organism","common_name","geneDetails","name","ɵɵtextInterpolate1","uniquename","noGeneNameRoute","ɵɵtemplate","GeneDetailsComponent_div_6_span_30_app_help_link_2_Template","characterisation_status","product_r3","GeneDetailsComponent_div_6_div_46_li_2_Template","products","GeneDetailsComponent_div_6_div_48_span_1_Template","length","GeneDetailsComponent_div_6_div_62_span_2_Template","transcriptCount","productSizeOfTranscript1","organismLongName","locationWarning","rnaLocationWarning_r4","faWarning","sourcePublications","refPub_r5","i_r6","GeneDetailsComponent_div_6_div_72_span_18_app_reference_short_2_Template","displayLocation","GeneDetailsComponent_div_6_div_72_ng_template_11_Template","ɵɵtemplateRefExtractor","GeneDetailsComponent_div_6_div_72_span_14_Template","GeneDetailsComponent_div_6_div_72_span_16_Template","GeneDetailsComponent_div_6_div_72_span_18_Template","GeneDetailsComponent_div_6_div_72_tr_22_Template","synonymsDisplay","GeneDetailsComponent_div_6_span_83_span_2_Template","nameDesc_r7","i_r8","name_descriptions","proteinCount","GeneDetailsComponent_div_6_div_87_span_5_Template","GeneDetailsComponent_div_6_div_87_span_7_Template","transcripts","onScreenItems","menuItems","ɵɵpropertyInterpolate","externalLink_r9","link","ɵɵsanitizeUrl","text","GeneDetailsComponent_div_6_div_95_span_4_Template","GeneDetailsComponent_div_6_div_95_li_9_Template","externalLinks","ɵɵlistener","ɵɵrestoreView","_r10","ɵɵnextContext","ɵɵresetView","showTrackPicker","GeneDetailsComponent_div_6_div_97_div_2_Template","GeneDetailsComponent_div_6_div_97_app_jbrowse_track_picker_4_Template","trackPickerVisible","$event","_r11","annotationTypeName_r12","$implicit","intersect","ɵɵpureFunction0","_c0","cv_annotations","_r13","subTableIntersect","_c1","GeneDetailsComponent_div_6_div_104_div_2_app_quant_gene_ex_table_2_Template","GeneDetailsComponent_div_6_div_104_div_2_app_annotation_table_4_Template","_r14","miscAnnotationTypeNames","_r15","_r16","physical_interactions","_r17","genetic_interactions","_r18","ortholog_annotations","_r19","paralog_annotations","_r20","target_of_annotations","GeneDetailsComponent_div_6_div_104_div_2_Template","GeneDetailsComponent_div_6_div_104_app_misc_annotation_table_4_Template","GeneDetailsComponent_div_6_div_104_app_protein_features_6_Template","GeneDetailsComponent_div_6_div_104_app_interaction_annotation_table_8_Template","GeneDetailsComponent_div_6_div_104_app_genetic_interaction_annotation_table_10_Template","GeneDetailsComponent_div_6_div_104_app_ortholog_annotation_table_12_Template","GeneDetailsComponent_div_6_div_104_app_paralog_annotation_table_14_Template","GeneDetailsComponent_div_6_div_104_app_target_of_annotation_table_16_Template","hasMiscAnnotations","showProteinFeatures","showOrthologsSection","_r21","_r22","_r23","_r24","GeneDetailsComponent_div_6_span_11_Template","GeneDetailsComponent_div_6_span_13_Template","GeneDetailsComponent_div_6_span_15_Template","GeneDetailsComponent_div_6_span_28_Template","GeneDetailsComponent_div_6_span_30_Template","GeneDetailsComponent_div_6_span_34_Template","GeneDetailsComponent_div_6_span_37_Template","GeneDetailsComponent_div_6_span_41_Template","GeneDetailsComponent_div_6_span_43_Template","GeneDetailsComponent_div_6_div_46_Template","GeneDetailsComponent_div_6_div_48_Template","GeneDetailsComponent_div_6_div_62_Template","GeneDetailsComponent_div_6_div_64_Template","GeneDetailsComponent_div_6_div_66_Template","GeneDetailsComponent_div_6_div_68_Template","GeneDetailsComponent_div_6_div_70_Template","GeneDetailsComponent_div_6_div_72_Template","GeneDetailsComponent_div_6_div_74_Template","GeneDetailsComponent_div_6_div_76_Template","GeneDetailsComponent_div_6_span_79_Template","GeneDetailsComponent_div_6_span_83_Template","GeneDetailsComponent_div_6_div_87_Template","GeneDetailsComponent_div_6_app_details_page_menu_92_Template","GeneDetailsComponent_div_6_div_95_Template","GeneDetailsComponent_div_6_div_97_Template","GeneDetailsComponent_div_6_app_gene_page_widgets_101_Template","GeneDetailsComponent_div_6_div_104_Template","GeneDetailsComponent_div_6_app_transcript_view_106_Template","GeneDetailsComponent_div_6_app_transcript_sequence_select_108_Template","GeneDetailsComponent_div_6_app_gene_history_table_110_Template","GeneDetailsComponent_div_6_app_gene_external_references_112_Template","_r2","displayNameLong","isConfiguredOrganism","showCharacterisationStatus","displayFeatureType","currentGeneBrowserTracks","annotationTypeOrderNames","gene_history","references","GeneDetailsComponent","pombaseApiService","route","titleService","deployConfigService","meta","window","annotationTypeOrder","Set","config","getAnnotationTableConfig","appConfig","getAppConfig","no_gene_name_route","productSizeStrings","hasCharacterisationStatus","has_characterisation_status","extraMenuSections","constructor","getCDSDisplayLocation","cds_location","len","end_pos","start_pos","strand","makeDisplayLocation","location","chromosomeName","chromosome_name","chromosomeConfig","getChromosomeConfigByName","chrDisplayName","short_display_name","genomicLocation","cdsDisplayLocation","makeDisplayFeatureType","rawFeatureType","makeSynonymsDisplay","synonyms","filter","synonym","type","map","join","nameId","product","setPageTitle","title","site_name","setTitle","updateTag","property","content","annotationTypeName","feature_type","hasCvAnnotations","cvName","setMenuItems","makeMenuItem","typeOrderConfig","subTypesWithAnnotation","typeConfig","getAnnotationType","subItems","id","subTypeName","subTypeConfig","split_by_parents","splitByConf","groups","split_by_parent_groups","thisCvGroup","config_name","displayName","menu_item_label","display_name","push","Util","capitalize","subTypes","sub_types","seqSubItems","scrollToPageTop","scrollTo","setProducts","productStringOfTranscript","seenTranslations","transcript","protein","has","sequence","add","includes","canBeShownAsSection","conf","undefined","no_gene_details_section","setSourcePublications","featurePub","feature_publications","source","reference","isIntersecting","delete","event","ngOnInit","params","forEach","getGene","then","getGenePageExternalLinks","getJBrowseTracksByGeneName","annotationTypeConfig","deploy_mode","getMode","orderConf","endsWith","interpro_matches","getOrganismByTaxonid","taxonid","genus","species","isConfigOrganism","locationWarningConf","featureLocationWarnings","confFeatureType","feature_types","warning","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","DeployConfigService","Meta","selectors","standalone","decls","vars","consts","template","rf","ctx","GeneDetailsComponent_app_loading_spinner_2_Template","GeneDetailsComponent_app_api_error_display_4_Template","GeneDetailsComponent_div_6_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","ctx_r1","geneDetails","name","uniquename","ɵɵtextInterpolate","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","sortBy","ɵɵelement","_r4","_r5","ɵɵpropertyInterpolate1","allele_r6","alleleUniquename","alleleName","ɵɵtemplate","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_2_a_2_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_2_span_4_Template","ɵɵproperty","deployConfigService","productionMode","ɵɵtextInterpolate1","alleleDescription","alleleType","_r7","$implicit","showGenotypes","ɵɵelementContainerStart","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_2_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_4_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_6_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_8_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_td_10_Template","expressedAlleleIndex_r9","genotypeIndex_r8","genotypesVisible","anyVisibleGenotypes","expressedAllele_r10","expression","genotype_r11","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_ng_container_2_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_td_4_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_td_6_Template","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_tr_2_Template","genotypes","GeneAlleleListComponent_div_0_ng_container_60_ng_container_2_Template","expressedAlleles","GeneAlleleListComponent_div_0_span_11_Template","GeneAlleleListComponent_div_0_span_13_Template","_r1","showAllGenotypes","hideAllGenotypes","GeneAlleleListComponent_div_0_a_35_Template","GeneAlleleListComponent_div_0_span_37_Template","GeneAlleleListComponent_div_0_a_42_Template","GeneAlleleListComponent_div_0_span_44_Template","GeneAlleleListComponent_div_0_a_49_Template","GeneAlleleListComponent_div_0_span_51_Template","GeneAlleleListComponent_div_0_th_54_Template","GeneAlleleListComponent_div_0_th_56_Template","GeneAlleleListComponent_div_0_ng_container_60_Template","sortByColumnName","alleleTable","AlleleSection","nameAndDescription","constructor","Util","tidyAlleleName","description","expressedAlleleCount","length","genotypeCount","count","expressedAllele","ExpressedAlleleSection","genotypeSorter","g1","g2","loci","expressed_alleles","displayNameLong","localeCompare","GeneAlleleListComponent","pombaseApiService","route","genotypeVisible","allele","Object","keys","alleleRowspan","columnName","sortTable","sort","a","b","result","makeAlleleTable","alleleExpressionGenotypeMap","alleleMap","genotypeUniquename","genotypes_by_uniquename","genotypeShort","locus","gene_uniquename","expressedAlleleMap","push","entries","expressedAlleleSections","alleleShort","allele_type","alleleSection","ngOnInit","params","forEach","undefined","getGene","then","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","DeployConfigService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GeneAlleleListComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","track_r1","features","positions","feature_r2","name","ɵɵtemplate","ProteinFeatureTableComponent_ng_container_4_tbody_15_tr_2_Template","ɵɵproperty","ɵɵelementContainerStart","ProteinFeatureTableComponent_ng_container_4_th_9_Template","ProteinFeatureTableComponent_ng_container_4_td_11_Template","ProteinFeatureTableComponent_ng_container_4_tbody_15_Template","isSingleRow","ProteinFeatureTableComponent","pombaseApiService","geneDetails","proteinViewData","displayTracks","constructor","makeDisplayTracks","data","makeDisplayFeatures","trackData","map","feature","pos","join","display_name","id","split","filter","bit","tracks","track","length","displayFeatures","ngOnInit","getProteinViewData","uniquename","then","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ProteinFeatureTableComponent_ng_container_4_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","geneDetails","name","ɵɵtextInterpolate1","uniquename","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","featureTableVisible","_r3","ɵɵtemplate","GeneProteinFeaturesComponent_div_0_div_25_a_2_Template","GeneProteinFeaturesComponent_div_0_div_25_a_4_Template","ɵɵproperty","getIFrameURL","ɵɵsanitizeResourceUrl","GeneProteinFeaturesComponent_div_0_div_27_div_2_div_2_Template","ɵɵpureFunction1","_c0","GeneProteinFeaturesComponent_div_0_div_27_div_2_Template","GeneProteinFeaturesComponent_div_0_span_12_Template","GeneProteinFeaturesComponent_div_0_span_14_Template","GeneProteinFeaturesComponent_div_0_div_25_Template","GeneProteinFeaturesComponent_div_0_div_27_Template","GeneProteinFeaturesComponent_div_0_div_29_Template","ɵɵpropertyInterpolate1","deployConfigService","productionMode","GeneProteinFeaturesComponent","sanitizer","pombaseApiService","route","sanitizedURL","constructor","ngOnInit","params","forEach","undefined","getGene","then","uniprot_identifier","rawUrl","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","DomSanitizer","PombaseAPIService","ActivatedRoute","DeployConfigService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GeneProteinFeaturesComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setOrderBy","_r3","_r4","ɵɵadvance","ɵɵtextInterpolate1","reference_r5","citation","journal","citation_date_pages","ɵɵtemplate","GenotypeReferencesTableComponent_fieldset_0_tr_38_span_12_Template","GenotypeReferencesTableComponent_fieldset_0_tr_38_span_14_Template","title","authors_abbrev","ɵɵproperty","ɵɵtextInterpolate","uniquename","publication_year","GenotypeReferencesTableComponent_fieldset_0_span_7_Template","GenotypeReferencesTableComponent_fieldset_0_a_9_Template","GenotypeReferencesTableComponent_fieldset_0_span_11_Template","GenotypeReferencesTableComponent_fieldset_0_a_13_Template","GenotypeReferencesTableComponent_fieldset_0_span_15_Template","GenotypeReferencesTableComponent_fieldset_0_a_17_Template","GenotypeReferencesTableComponent_fieldset_0_tr_38_Template","orderByField","ɵɵpipeBind2","references","GenotypeReferencesTableComponent","genotypeDetails","appConfig","getAppConfig","field","constructor","ngOnInit","ngOnChanges","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GenotypeReferencesTableComponent_fieldset_0_Template","length","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","genotypeDetails","name","ɵɵsanitizeHtml","comment","ɵɵtextInterpolate1","background","menuItems","annotationTypeName_r2","ɵɵpureFunction0","_c0","cv_annotations","ɵɵpropertyInterpolate","double_mutant_genetic_interactions","rescue_genetic_interactions","ɵɵtemplate","GenotypeDetailsComponent_div_6_div_34_div_4_app_genetic_interaction_annotation_table_2_Template","GenotypeDetailsComponent_div_6_div_34_div_4_app_genetic_interaction_annotation_table_4_Template","length","GenotypeDetailsComponent_div_6_div_34_div_2_Template","GenotypeDetailsComponent_div_6_div_34_div_4_Template","GenotypeDetailsComponent_div_6_div_12_Template","GenotypeDetailsComponent_div_6_div_14_Template","GenotypeDetailsComponent_div_6_span_18_Template","GenotypeDetailsComponent_div_6_div_20_Template","GenotypeDetailsComponent_div_6_app_details_page_menu_31_Template","GenotypeDetailsComponent_div_6_div_34_Template","displayName","isDiploid","annotationTypeNames","references","GenotypeDetailsComponent","pombaseApiService","route","titleService","meta","config","getAnnotationTableConfig","displayNameForTitle","appConfig","getAppConfig","constructor","displayNameLong","Util","genotypeDisplayName","setDisplayName","replace","substr","setPageTitle","title","site_name","setTitle","updateTag","property","content","setVisibleSections","visibleSectionNames","annotationTypeName","push","map","typeName","typeConfig","getAnnotationType","id","display_name","capitalize","ngOnInit","params","forEach","undefined","uniquename","getGenotype","then","orderConf","annotationTypeOrder","sub_types","subTypeName","locus","loci","expressed_alleles","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GenotypeDetailsComponent_app_loading_spinner_2_Template","GenotypeDetailsComponent_app_api_error_display_4_Template","GenotypeDetailsComponent_div_6_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","alleleDetails","description","synonymString","ɵɵpropertyInterpolate1","commentDetails_r2","reference","ɵɵtemplate","AlleleDetailsComponent_div_6_div_36_div_2_span_2_Template","ɵɵtextInterpolate1","comment","AlleleDetailsComponent_div_6_div_36_div_2_Template","comments","siteName","genotypeObj_r3","genotypeShort","AlleleDetailsComponent_div_6_div_58_div_5_Template","singleLocusGenotypes","genotypeObj_r4","AlleleDetailsComponent_div_6_div_60_div_5_Template","multiLocusGenotypes","phenotype_r5","name","AlleleDetailsComponent_div_6_div_65_div_7_Template","displayName","ɵɵsanitizeHtml","phenotypes","AlleleDetailsComponent_div_6_div_20_Template","AlleleDetailsComponent_div_6_div_22_Template","AlleleDetailsComponent_div_6_div_30_Template","AlleleDetailsComponent_div_6_div_32_Template","AlleleDetailsComponent_div_6_div_34_Template","AlleleDetailsComponent_div_6_div_36_Template","AlleleDetailsComponent_div_6_div_46_Template","AlleleDetailsComponent_div_6_div_58_Template","AlleleDetailsComponent_div_6_div_60_Template","AlleleDetailsComponent_div_6_div_65_Template","uniquename","allele_type","length","gene","geneDisplayName","is_obsolete","AlleleDetailsComponent","pombaseApiService","route","titleService","meta","displayNameForTitle","appConfig","getAppConfig","site_name","constructor","makeGenotypes","genotype","genotypes","displayGenotype","genotypeDisplayName","loci","push","Util","displayNameLong","alleleDisplayName","setDisplayName","replace","substr","setPageTitle","title","setTitle","updateTag","property","content","ngOnInit","params","forEach","undefined","getAllele","then","synonyms","map","s","join","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","standalone","decls","vars","consts","template","rf","ctx","AlleleDetailsComponent_app_loading_spinner_2_Template","AlleleDetailsComponent_app_api_error_display_4_Template","AlleleDetailsComponent_div_6_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","TermExternalLinksComponent_span_4_span_5_Template","ɵɵadvance","ɵɵproperty","ctx_r2","termIdForLink","configKey_r1","lastConf_r2","TermExternalLinksComponent","typeConfig","termId","linkConfigKeys","constructor","ngOnInit","ngOnChanges","externDbLinkKeys","external_db_link_keys","is_a_fake_ontology","replace","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","TermExternalLinksComponent_span_2_Template","TermExternalLinksComponent_span_4_Template","length","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","ontologyGraphLoaded","ɵɵtemplate","TermPageSummaryComponent_div_0_div_13_div_10_Template","ɵɵadvance","ɵɵpropertyInterpolate","graphImageUrl","ɵɵsanitizeUrl","ɵɵproperty","ɵɵpropertyInterpolate1","xrefDetail_r3","identifier","ɵɵtextInterpolate","url","TermPageSummaryComponent_div_0_td_26_span_2_span_2_a_1_Template","TermPageSummaryComponent_div_0_td_26_span_2_span_2_span_2_Template","TermPageSummaryComponent_div_0_td_26_span_2_span_2_a_3_Template","TermPageSummaryComponent_div_0_td_26_span_2_span_2_span_4_Template","refShort","i_r4","defXrefs","length","TermPageSummaryComponent_div_0_td_26_span_2_span_2_Template","TermPageSummaryComponent_div_0_td_26_span_2_Template","ɵɵtextInterpolate1","termDetails","definition","parentDetails_r5","relation_name","termid","term_name","_r6","slimName_r7","$implicit","goToFullSlim","TermPageSummaryComponent_div_0_ng_container_38_div_2_span_5_Template","slimConfig","slim_display_name","ɵɵelementContainerStart","TermPageSummaryComponent_div_0_ng_container_38_div_2_Template","isInSubset","typeConfig","TermPageSummaryComponent_div_0_div_13_Template","TermPageSummaryComponent_div_0_td_19_Template","TermPageSummaryComponent_div_0_td_21_Template","TermPageSummaryComponent_div_0_td_26_Template","TermPageSummaryComponent_div_0_div_30_Template","TermPageSummaryComponent_div_0_ng_container_38_Template","TermPageSummaryComponent_div_0_div_40_Template","nameAndIdPrefix","name","displayTermId","filteredAncestors","slimConfigNames","TermPageSummaryComponent","router","pombaseApiService","subsets","getAppConfig","slims","Object","keys","config","getAnnotationTableConfig","constructor","subsetName","elements","slimName","navigate","full_slim_path","filterAncestors","termPageConfig","direct_ancestors","filter","termAndRel","ancestorRelNames","indexOf","ngOnInit","getTermSubsets","then","termSubsets","ngOnChanges","getAnnotationType","cv_name","hide_term_id_prefix","replace","is_a_fake_ontology","display_name","ontology_graph_url","undefined","definition_xrefs","xref","startsWith","map","references_by_uniquename","push","xrefConf","getXrf","ɵɵdirectiveInject","Router","PombaseAPIService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","TermPageSummaryComponent_div_0_Template","e","t","r","s","n","i","a","o","c","l","h","u","d","p","m","f","b","g","__async","v","__spreadProps","__spreadValues","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","currentGoCam","title","currentGoCamId","ɵɵproperty","gocam_r3","gocam_id","ɵɵtextInterpolate1","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","ɵɵresetView","ɵɵlistener","modelChange","ɵɵtemplate","GoCamViewerComponent_div_0_span_10_option_4_Template","ɵɵtwoWayProperty","gocams","ɵɵpropertyInterpolate","pomBaseViewPath","getIFrameURL","ɵɵsanitizeResourceUrl","GoCamViewerComponent_div_0_span_8_Template","GoCamViewerComponent_div_0_span_10_Template","GoCamViewerComponent_div_0_span_26_Template","GoCamViewerComponent_div_0_div_30_Template","length","largeViewPath","deployConfigService","productionMode","ɵɵpureFunction1","_c0","geneOrTermDetails","displayName","GoCamViewerComponent","sanitizer","sanitizedURL","hasGoCam","constructor","isGenePage","GeneDetails","restOfUrl","uniquename","name","TermDetails","termid","rawUrl","bypassSecurityTrustResourceUrl","goCam","ngOnChanges","ɵɵdirectiveInject","DomSanitizer","DeployConfigService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","GoCamViewerComponent_div_0_Template","GoCamViewerComponent_div_2_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setWidget","ɵɵelement","ɵɵelementContainerStart","ɵɵtemplate","TermPageWidgetsComponent_div_0_ng_container_8_div_2_Template","TermPageWidgetsComponent_div_0_ng_container_8_div_4_Template","ɵɵadvance","ɵɵproperty","currentWidget","_r3","TermPageWidgetsComponent_div_0_ng_container_10_div_2_Template","TermPageWidgetsComponent_div_0_ng_container_10_div_4_Template","_r4","hideAllWidgets","termDetails","TermPageWidgetsComponent_div_0_div_18_div_2_Template","TermPageWidgetsComponent_div_0_div_18_div_4_Template","TermPageWidgetsComponent_div_0_span_6_Template","TermPageWidgetsComponent_div_0_ng_container_8_Template","TermPageWidgetsComponent_div_0_ng_container_10_Template","TermPageWidgetsComponent_div_0_div_12_Template","TermPageWidgetsComponent_div_0_div_14_Template","TermPageWidgetsComponent_div_0_div_18_Template","ɵɵpureFunction2","_c0","hasReactionData","hasGoCams","TermPageWidgetsComponent","settingsService","faCaretDown","faCaretRight","constructor","hasWidgetData","definition_xrefs","xref","startsWith","secondary_identifiers","gocams","length","current","termPageMainWidget","showRheaReaction","widget","ɵɵdirectiveInject","SettingsService","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","TermPageWidgetsComponent_div_0_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","displayTermId","menuItems","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpropertyInterpolate1","termDetails","termid","ɵɵtextInterpolate2","annotatedGeneCount","ɵɵtemplate","TermDetailsComponent_div_6_div_13_div_2_Template","annotationFeatureType","singleLocusGenotypeGeneCount","singleLocusGenotypeCount","ɵɵpropertyInterpolate","annotationTypeName_r2","makeTableDisplayName","ɵɵpureFunction0","_c0","cv_annotations","TermDetailsComponent_div_6_div_21_div_2_app_annotation_table_2_Template","double_mutant_genetic_interactions","TermDetailsComponent_div_6_div_21_div_4_app_genetic_interaction_annotation_table_2_Template","length","single_allele_genetic_interactions","TermDetailsComponent_div_6_div_21_div_6_app_genetic_interaction_annotation_table_2_Template","TermDetailsComponent_div_6_div_21_div_2_Template","TermDetailsComponent_div_6_div_21_div_4_Template","TermDetailsComponent_div_6_div_21_div_6_Template","TermDetailsComponent_div_6_app_details_page_menu_6_Template","TermDetailsComponent_div_6_div_11_Template","TermDetailsComponent_div_6_div_13_Template","TermDetailsComponent_div_6_div_17_Template","TermDetailsComponent_div_6_div_21_Template","hasAnnotations","annotationTypeNames","TermDetailsComponent","pombaseApiService","route","titleService","router","meta","window","typeConfig","config","getAnnotationTableConfig","appConfig","getAppConfig","subsets","constructor","setPageTitle","title","site_name","name","setTitle","updateTag","property","content","scrollToPageTop","scrollTo","setVisibleSections","visibleSectionNames","annotationTypeName","push","map","typeName","getAnnotationType","id","displayName","display_name","Util","capitalize","m","match","cvName","relTypeDisplayName","annotationTypes","annotated_genes","setCounts","single_locus_genotypes","singleLocusGenotypeGenes","genotype","gene","loci","expressed_alleles","allele","uniquename","Object","keys","setDisplayTermId","hide_term_id_prefix","replace","ngOnInit","params","forEach","undefined","getTerm","then","cv_name","hide_term_details","navigate","annotation_feature_type","orderConf","annotationTypeOrder","sub_types","subTypeName","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Router","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","TermDetailsComponent_app_loading_spinner_2_Template","TermDetailsComponent_app_api_error_display_4_Template","TermDetailsComponent_div_6_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","termDetails","termid","ɵɵpropertyInterpolate1","ɵɵtemplate","TermGenesViewComponent_div_6_div_8_div_13_Template","ɵɵpropertyInterpolate","queryBuilderRouterLink","showAllAnnotationsLink","TermGenesViewComponent_div_6_div_6_Template","TermGenesViewComponent_div_6_div_8_Template","genes","length","name","TermGenesViewComponent","pombaseApiService","route","titleService","meta","typeConfig","subsets","geneSummaries","appConfig","getAppConfig","constructor","isInSubset","subsetName","Object","keys","elements","setPageTitle","title","site_name","displayName","setTitle","updateTag","property","content","collectGenes","getGeneSummaryMapPromise","then","annotated_genes","map","geneUniquename","sort","Util","geneCompare","ngOnInit","getTermSubsets","termSubsets","params","forEach","undefined","getTerm","getAnnotationTableConfig","getAnnotationType","cv_name","hide_term_details","encodeURIComponent","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","TermGenesViewComponent_app_loading_spinner_2_Template","TermGenesViewComponent_app_api_error_display_4_Template","TermGenesViewComponent_div_6_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","siteName","ɵɵtemplate","GeneSubsetViewComponent_div_8_div_4_span_2_Template","GeneSubsetViewComponent_div_8_div_4_span_4_Template","subset","display_name","isGOSubset","elements","length","subsetGeneCount","GeneSubsetViewComponent_div_8_div_6_span_2_Template","subsetDisplayName","ɵɵpropertyInterpolate","queryBuilderRouterLink","GeneSubsetViewComponent_div_8_div_4_Template","GeneSubsetViewComponent_div_8_div_6_Template","GeneSubsetViewComponent_div_8_a_14_Template","name","startsWith","GeneSubsetViewComponent","pombaseApiService","route","titleService","appConfig","getAppConfig","site_name","constructor","setPageTitle","setTitle","match","ngOnInit","getGeneSubsets","then","subsets","params","forEach","undefined","subsetName","matchResults","interproMatchResults","indexOf","encodedDisplayName","encodeURIComponent","status","message","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","selectors","standalone","decls","vars","consts","template","rf","ctx","GeneSubsetViewComponent_app_loading_spinner_4_Template","GeneSubsetViewComponent_app_api_error_display_6_Template","GeneSubsetViewComponent_div_8_Template","GenotypeOrderByPipe","transform","genotypes","fieldName","sort","g1","g2","Util","geneCompare","loci","expressed_alleles","allele","gene","safeCompare","genotypeCompare","pure","standalone","ɵɵelement","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setOrderBy","ɵɵtext","ɵɵelementEnd","_r3","_r4","ɵɵadvance","ɵɵproperty","genotype_r5","loci","expressed_alleles","allele","gene","ɵɵtextInterpolate","product","ɵɵtemplate","GenotypesTableComponent_fieldset_4_a_16_Template","GenotypesTableComponent_fieldset_4_span_18_Template","GenotypesTableComponent_fieldset_4_a_23_Template","GenotypesTableComponent_fieldset_4_span_25_Template","GenotypesTableComponent_fieldset_4_a_30_Template","GenotypesTableComponent_fieldset_4_span_32_Template","GenotypesTableComponent_fieldset_4_tr_39_Template","legend","orderByField","ɵɵpipeBind2","genotypes","GenotypesTableComponent","field","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GenotypesTableComponent_app_loading_spinner_2_Template","GenotypesTableComponent_fieldset_4_Template","length","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","termDetails","ɵɵpropertyInterpolate1","termid","single_locus_genotype_uniquenames","length","single_locus_genotypes","TermGenotypesViewComponent","pombaseApiService","route","titleService","meta","appConfig","getAppConfig","constructor","setPageTitle","title","site_name","displayName","name","setTitle","updateTag","property","content","ngOnInit","params","forEach","undefined","getTerm","then","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","TermGenotypesViewComponent_app_loading_spinner_2_Template","TermGenotypesViewComponent_div_4_Template","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","termDetails","ɵɵpropertyInterpolate2","termid","name","ɵɵpropertyInterpolate1","singleLocusGenotypeGenes","TermSingleGeneGenotypesViewComponent","pombaseApiService","route","titleService","meta","appConfig","getAppConfig","constructor","setPageTitle","title","site_name","displayName","setTitle","updateTag","property","content","setGenes","getGeneSummaryMapPromise","then","geneSummaryMap","genes","genotype","single_locus_genotypes","gene","loci","expressed_alleles","allele","uniquename","geneUniquename","Object","keys","push","ngOnInit","params","forEach","undefined","getTerm","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","TermSingleGeneGenotypesViewComponent_app_loading_spinner_2_Template","TermSingleGeneGenotypesViewComponent_div_4_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","finishedLoading","ɵɵadvance","ɵɵproperty","sanitizedURL","ɵɵsanitizeResourceUrl","ɵɵtextInterpolate1","displayName","pdbEntry_r4","chain","position","_r3","$implicit","selectEntry","ɵɵtemplate","PdbStructureViewerComponent_div_6_tr_36_td_11_Template","PdbStructureViewerComponent_div_6_tr_36_td_13_Template","entryPopover_r5","popoverContext","ɵɵpureFunction1","_c2","currentEntry","pdb_id","experimental_method","displayResolution","pageType","ɵɵelement","reference","authors_abbrev","geneChain_r6","gene","PdbStructureViewerComponent_div_6_div_45_span_2_Template","gene_chains","PdbStructureViewerComponent_div_6_span_4_Template","PdbStructureViewerComponent_div_6_span_6_Template","PdbStructureViewerComponent_div_6_th_26_Template","PdbStructureViewerComponent_div_6_th_28_Template","PdbStructureViewerComponent_div_6_tr_36_Template","PdbStructureViewerComponent_div_6_div_43_Template","PdbStructureViewerComponent_div_6_div_45_Template","ɵɵclassMapInterpolate1","displayEntries","ɵɵtextInterpolate","title_r8","authors_r9","PdbStructureViewerComponent_ng_template_9_div_1_Template","ɵɵpropertyInterpolate","popoverImageUrl","pdbId_r10","ɵɵsanitizeUrl","PdbStructureViewerComponent","sanitizer","pdbEntries","pdbiframe","appConfig","getAppConfig","undefined","status","constructor","nativeElement","contentDocument","body","structureLoading","setURL","rawUrl","bypassSecurityTrustResourceUrl","displayEntry","pdbId","title","authors","entry_authors_abbrev","resolution","parsedRes","Number","parseFloat","isNaN","Math","round","pdbe_image_url","replace","ngOnChanges","makeDisplayEntries","makeDisplayEntry","pdbEntry","geneChain","ret","entry","push","ngOnInit","ɵɵdirectiveInject","DomSanitizer","selectors","viewQuery","rf","ctx","PdbStructureViewerComponent_div_0_Template","PdbStructureViewerComponent_div_4_Template","PdbStructureViewerComponent_div_6_Template","PdbStructureViewerComponent_ng_template_9_Template","ɵɵtemplateRefExtractor","_c1","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","refDetails","title","ɵɵelementContainerStart","ɵɵtextInterpolate","authors","communityCuratorNames","curator_r2","name","siteName","communityFileCuratorNames","approved_date","ɵɵtemplate","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_div_10_Template","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_div_12_Template","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_div_14_Template","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_div_16_Template","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_div_18_Template","adminCuratorList","hasCommunityCurator","hasAdminCurator","appConfig","show_names_of_staff_curators","hasApprovedSession","ReferenceDetailsComponent_div_6_ng_container_17_ng_container_2_Template","multiOrgMode","citation","ɵɵpropertyInterpolate","doiUrl","ɵɵsanitizeUrl","doi","ReferenceDetailsComponent_div_6_ng_container_25_span_13_Template","ɵɵpropertyInterpolate1","pubMedId","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","displayBigGraphicalAbstract","graphicalAbstractPopover_r4","graphicalAbstractImagePath","ReferenceDetailsComponent_div_6_ng_container_27_ng_container_7_div_2_Template","ReferenceDetailsComponent_div_6_ng_container_27_ng_container_7_div_4_Template","bigGraphicalAbstractImagePath","videoPath","ReferenceDetailsComponent_div_6_ng_container_27_ng_container_7_Template","ReferenceDetailsComponent_div_6_ng_container_27_video_9_Template","showBigGraphicalAbstract","abstract","pdb_entries","externalLink_r5","link","text","ReferenceDetailsComponent_div_6_div_39_span_4_Template","ReferenceDetailsComponent_div_6_div_39_li_9_Template","externalLinks","length","uniquename","ɵɵtextInterpolate2","geneCount","ReferenceDetailsComponent_div_6_div_47_div_2_div_2_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_2_div_2_div_4_Template","startsWith","ReferenceDetailsComponent_div_6_div_47_div_2_div_4_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_2_div_4_div_4_Template","isAdminSession","ReferenceDetailsComponent_div_6_div_47_div_2_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_2_div_4_Template","ReferenceDetailsComponent_div_6_div_47_div_2_div_6_Template","hasCantoSession","ReferenceDetailsComponent_div_6_div_47_div_4_div_2_div_4_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_4_div_2_div_4_div_4_Template","ReferenceDetailsComponent_div_6_div_47_div_4_div_2_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_4_div_2_div_4_Template","ReferenceDetailsComponent_div_6_div_47_div_4_div_4_span_4_Template","hasPossibleBrowserTracks","ReferenceDetailsComponent_div_6_div_47_div_4_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_4_div_4_Template","ReferenceDetailsComponent_div_6_div_47_div_2_Template","ReferenceDetailsComponent_div_6_div_47_div_4_Template","hasAnnotations","hasBrowserTracks","ReferenceDetailsComponent_div_6_div_49_span_5_Template","ReferenceDetailsComponent_div_6_div_49_span_7_Template","ReferenceDetailsComponent_div_6_div_49_span_9_Template","cantoTriageStatus","gene_r6","ReferenceDetailsComponent_div_6_div_52_span_2_Template","pubmed_keyword_genes","annotationTypeName_r7","ɵɵpureFunction0","_c0","cv_annotations","_c1","physical_interactions","genetic_interactions","ortholog_annotations","paralog_annotations","ReferenceDetailsComponent_div_6_span_56_app_quant_gene_ex_table_2_Template","ReferenceDetailsComponent_div_6_span_56_app_annotation_table_4_Template","ReferenceDetailsComponent_div_6_span_56_app_interaction_annotation_table_6_Template","ReferenceDetailsComponent_div_6_span_56_app_genetic_interaction_annotation_table_8_Template","ReferenceDetailsComponent_div_6_span_56_app_ortholog_annotation_table_10_Template","ReferenceDetailsComponent_div_6_span_56_app_paralog_annotation_table_12_Template","ReferenceDetailsComponent_div_6_span_6_Template","ReferenceDetailsComponent_div_6_span_8_Template","ReferenceDetailsComponent_div_6_span_10_Template","ReferenceDetailsComponent_div_6_ng_container_15_Template","ReferenceDetailsComponent_div_6_ng_container_17_Template","ReferenceDetailsComponent_div_6_ng_container_25_Template","ReferenceDetailsComponent_div_6_ng_container_27_Template","ReferenceDetailsComponent_div_6_div_30_Template","ReferenceDetailsComponent_div_6_div_32_Template","ReferenceDetailsComponent_div_6_div_39_Template","ReferenceDetailsComponent_div_6_div_41_Template","ReferenceDetailsComponent_div_6_div_47_Template","ReferenceDetailsComponent_div_6_div_49_Template","ReferenceDetailsComponent_div_6_div_52_Template","ReferenceDetailsComponent_div_6_span_56_Template","isPubMedRef","menuItems","hasGenes","isCuratable","isPublication","annotationTypeNames","ReferenceDetailsComponent","pombaseApiService","route","titleService","deployConfigService","meta","pageScrollService","document","getAppConfig","site_name","config","getAnnotationTableConfig","cantoCuratorName","isMultiOrganismMode","communityCuratorList","adminFileCuratorList","communityFileCuratorList","constructor","setPageTitle","setTitle","updateTag","property","content","hasFileCommunityCurator","hasFileAdminCurator","setCantoFields","undefined","canto_triage_status","curator","annotation_curators","community_curator","push","lastName","pop","map","join","annotation_file_curators","filter","existingCurator","show_names_of_staff_file_curators","gene_count","canto_approved_date","setVisibleSections","visibleSectionNames","annotationTypeName","typeName","typeConfig","getAnnotationType","id","displayName","display_name","Util","capitalize","getJBrowseTracksByPMID","toLocaleLowerCase","canto_data_config","browser_track_triage_types","includes","Object","keys","canto_session_key","canto_curator_role","toLowerCase","scroll","scrollTarget","setGraphicalAbstract","selectedPath","panelConf","frontPagePanels","panel_type","head_image","reference_id","randElement","endsWith","pmid","fileMap","graphicalAbstractFileNames","match","exec","imageBaseName","ngOnInit","params","forEach","getReference","then","refPageExtraLinks","orderConf","annotationTypeOrder","sub_types","subTypeName","re","matches","getXrfWithPrefix","url","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","DeployConfigService","Meta","PageScrollService","DOCUMENT","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ReferenceDetailsComponent_app_loading_spinner_2_Template","ReferenceDetailsComponent_app_api_error_display_4_Template","ReferenceDetailsComponent_div_6_Template","ReferenceDetailsComponent_ng_template_8_Template","ɵɵtemplateRefExtractor","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","part_r1","text","ɵɵpropertyInterpolate","link","route","link_text","ɵɵtemplate","QueryNodeDisplayComponent_div_0_div_2_span_2_span_1_Template","QueryNodeDisplayComponent_div_0_div_2_span_2_a_2_Template","ɵɵproperty","QueryNodeDisplayComponent_div_0_div_2_span_2_Template","ctx_r1","nodeConfig","topDescription","ɵɵlistener","$event","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","newTermNode","placeholder","displayName","_r4","genesFound","org_r6","ɵɵtextInterpolate1","common_name","ɵɵtwoWayListener","_r5","i0","ɵɵtwoWayBindingSet","selectedOrthologOrganism","selectedOrthologChange","QueryNodeDisplayComponent_div_0_div_10_option_7_Template","ɵɵtwoWayProperty","undefined","orthologOrganisms","term_r8","name","_r7","selectedTerm","smallOntologyChange","QueryNodeDisplayComponent_div_0_div_12_option_7_Template","terms","subset_r10","removePrefix","_r9","selectedSubset","subsetChange","QueryNodeDisplayComponent_div_0_div_14_option_7_Template","subsets","cannedQueryDetail_r12","_r11","$implicit","selectPredefinedQuery","queryId","ɵɵsanitizeHtml","QueryNodeDisplayComponent_div_0_div_16_div_2_Template","cannedQueryDetails","_r13","subNodeEvent","_r14","_r15","_r16","QueryNodeDisplayComponent_div_0_div_2_Template","QueryNodeDisplayComponent_div_0_div_4_Template","QueryNodeDisplayComponent_div_0_div_6_Template","QueryNodeDisplayComponent_div_0_div_8_Template","QueryNodeDisplayComponent_div_0_div_10_Template","QueryNodeDisplayComponent_div_0_div_12_Template","QueryNodeDisplayComponent_div_0_div_14_Template","QueryNodeDisplayComponent_div_0_div_16_Template","QueryNodeDisplayComponent_div_0_div_18_Template","QueryNodeDisplayComponent_div_0_div_20_Template","QueryNodeDisplayComponent_div_0_div_22_Template","QueryNodeDisplayComponent_div_0_div_24_Template","nodeType","id","QueryNodeDisplayComponent","nodeEvent","EventEmitter","chromosomeSummaries","appConfig","getAppConfig","constructor","ortholog_taxonids","map","taxonid","configOrganism","organisms","push","ngOnInit","cannedQueryIds","predefinedQuery","getPredefinedQuery","query","GeneQuery","fromJSONString","getQueryName","ngOnChanges","s","firstColon","indexOf","slice","emitEvent","nodeAndConfig","emit","emitNodeEvent","node","nodeConf","newNode","getTerm","param","part","GeneListNode","listName","genes","nodeName","HasOrthologNode","TermNode","termid","definition","SubsetNode","predefinedQueryId","queryJson","getTopNode","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QueryNodeDisplayComponent_div_0_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵclassMapInterpolate1","conf_r1","level","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","upperCaseIntial","displayName","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","$implicit","ɵɵresetView","setNodeType","id","ɵɵelement","ɵɵtemplate","QueryNodeComponent_div_10_div_4_span_7_Template","ɵɵtextInterpolate","ɵɵproperty","nodeType","QueryNodeComponent_div_10_div_2_Template","QueryNodeComponent_div_10_div_4_Template","ɵɵpureFunction1","_c0","activeConf","$event","_r4","emitEvent","QueryNodeComponent","startNodeType","nodeEvent","EventEmitter","nodeTypes","appConfig","getAppConfig","constructor","deployConfigService","processNodeConfigs","queryBuilder","node_types","productionMode","filter","nodeConfig","development_mode_only","nodeConfigs","push","subNodes","ngOnInit","ngOnChanges","s","charAt","toUpperCase","slice","nodeAndConfig","emit","clearQuery","undefined","confId","conf","ɵɵdirectiveInject","DeployConfigService","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QueryNodeComponent_div_10_Template","QueryNodeComponent_div_18_Template","QueryNodeComponent_div_20_Template","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","queryFromNode","ɵɵtext","ɵɵelementEnd","ɵɵproperty","node","detailsString","ɵɵadvance","ɵɵtextInterpolate","nodeAsBooleanNode","opString","ɵɵtemplate","GeneQueryStructureComponent_div_0_div_2_div_4_a_2_Template","GeneQueryStructureComponent_div_0_div_2_div_4_span_4_Template","level","$event","_r1","returnResults","GeneQueryStructureComponent_div_0_div_2_div_4_Template","part_r4","idx_r5","getParts","length","GeneQueryStructureComponent_div_0_div_2_Template","_r6","GeneQueryStructureComponent","gotoResults","EventEmitter","isBooleanNode","GeneBoolNode","query","GeneQuery","emit","ngOnInit","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","GeneQueryStructureComponent_div_0_Template","GeneQueryStructureComponent_div_2_Template","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","query","getQueryName","toPostJSON","ɵɵlistener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","gotoResults","ɵɵproperty","getTopNode","ɵɵtemplate","QueryDetailsDialogComponent_div_15_div_2_Template","QueryDetailsDialogComponent_div_15_div_4_Template","QueryDetailsDialogComponent_div_15_div_6_Template","showInternalDetails","QueryDetailsDialogComponent","queryRouterService","bsModalRef","constructor","hide","ngOnInit","ɵɵdirectiveInject","QueryRouterService","BsModalRef","selectors","standalone","decls","vars","consts","template","rf","ctx","QueryDetailsDialogComponent_h4_4_Template","QueryDetailsDialogComponent_h4_6_Template","QueryDetailsDialogComponent_div_15_Template","import_file_saver","NotDirectionSelectDialogComponent","_bsModalRef","direction","selectedQueries","firstQueryDisplayName","secondQueryDisplayName","constructor","onClose","setDirection","getQueryName","toString","ngOnInit","Subject","changeDirection","query","next","hide","cancel","ngOnDestroy","content","unsubscribe","ɵɵdirectiveInject","BsModalRef","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵadvance","ɵɵtextInterpolate1","ɵɵelementStart","ɵɵtext","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","cancelImport","ɵɵelementEnd","$event","importFile","_r4","exportAll","ɵɵelement","ɵɵadvance","ɵɵproperty","faDownload","_r5","importQueries","faUpload","ɵɵtemplate","QueryHistoryComponent_div_0_span_53_span_2_Template","QueryHistoryComponent_div_0_span_53_span_4_Template","QueryHistoryComponent_div_0_span_53_span_6_Template","importingFromFile","ɵɵprojection","previousHelpPopover_r6","ɵɵtextInterpolate1","histEntry_r8","getResultCount","ɵɵpropertyInterpolate","outOfDateCountTitle","getUpdatedCount","QueryHistoryComponent_div_0_tr_96_td_20_span_2_Template","undefined","_r9","$implicit","addOrEditName","queryName","faEdit","_r10","showDetails","QueryHistoryComponent_div_0_tr_96_div_26_a_7_Template","QueryHistoryComponent_div_0_tr_96_div_26_span_9_Template","ɵɵtextInterpolate","removeTags","showDetailsLink","_r11","storeNameEdit","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","queryNameForEdit","cancelNameEdit","ɵɵtwoWayProperty","_r12","showInternalDetails","_r7","checked","queryClick","QueryHistoryComponent_div_0_tr_96_span_14_Template","QueryHistoryComponent_div_0_tr_96_span_16_Template","QueryHistoryComponent_div_0_tr_96_td_20_Template","QueryHistoryComponent_div_0_tr_96_div_24_Template","QueryHistoryComponent_div_0_tr_96_div_26_Template","QueryHistoryComponent_div_0_tr_96_div_28_Template","QueryHistoryComponent_div_0_tr_96_a_33_Template","ɵɵpureFunction1","_c1","isNewEntry","hasUpdatedCounts","nameEditId","getEntryId","_r1","action","deleteQueries","QueryHistoryComponent_div_0_span_53_Template","selectAll","selectNone","setAllCounts","QueryHistoryComponent_div_0_th_83_Template","changeSortOrder","QueryHistoryComponent_div_0_img_87_Template","QueryHistoryComponent_div_0_img_89_Template","QueryHistoryComponent_div_0_tr_96_Template","ɵɵstyleProp","getSelectedEntries","length","deployConfigService","productionMode","resultsHelpPopover_r13","sortColumn","sortedHistoryEntries","_r15","_r14","QueryHistoryComponent_div_2_span_2_span_10_Template","QueryHistoryComponent_div_2_span_2_Template","QueryHistoryComponent","modalService","queryService","toastr","gotoResults","EventEmitter","historyEntries","histSubscription","detailsModalRef","notDirectionModalRef","showDetailMap","_nameEditId","constructor","filter","e","sortEntries","slice","sort","histEntryA","histEntryB","getQueryDisplayString","localeCompare","histEntryAQueryName","histEntryBQueryName","actionHelper","selectedQueryNodes","op","node","GeneBoolNode","map","histEntry","runAndSaveToHistory","GeneQuery","selectedQueries","getQuery","initialState","show","NotDirectionSelectDialogComponent","content","onClose","subscribe","result","selectedNodes","q","getTopNode","reverse","editQueryName","input","replace","toString","selected","removeFromHistory","emit","query","hasDefaultName","showDetailImpl","QueryDetailsDialogComponent","class","s","updatedCount","fileName","blob","Blob","historyAsJson","type","saveAs","file","target","files","fileReader","FileReader","onloadend","errorString","saveImportedQueries","error","readAsText","checkUpdatedCounts","ngOnInit","getHistoryChanges","newHistory","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","BsModalService","QueryService","ToastrService","DeployConfigService","selectors","outputs","standalone","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","QueryHistoryComponent_div_0_Template","QueryHistoryComponent_div_2_Template","QueryHistoryComponent_ng_template_4_Template","ɵɵtemplateRefExtractor","QueryHistoryComponent_ng_template_7_Template","QueryBuilderComponent","queryService","route","queryRouterService","titleService","settingsService","toastr","startNodeType","appConfig","getAppConfig","constructor","ngOnInit","setTitle","site_name","params","forEach","undefined","fromType","id","description","processFromRoute","subsetName","saveFromSubsetName","nodeTypeId","constraints","SubsetNode","query","GeneQuery","saveQuery","encodedDescription","newQuery","decodedDescription","decodeURIComponent","singleOrMulti","ploidiness","matches","match","phenotypeIdPrefixes","indexOf","TermNode","nodeName","RefGenesNode","gotoResults","runAndSaveToHistory","nodeEvent","nodeEventDetails","node","success","nodeConf","extraResultTableColumns","addVisibleGenesTableFields","ɵɵdirectiveInject","QueryService","ActivatedRoute","QueryRouterService","Title","SettingsService","ToastrService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵlistener","$event","ɵɵadvance","ɵɵproperty","RecentNewsComponent","constructor","ngOnInit","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","referenceShort_r1","ReferenceShortListComponent","references","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ReferenceShortListComponent_div_2_Template","ɵɵelement","ɵɵproperty","ctx_r0","recentCommunityCurationPubs","RecentCommunityPubsComponent","pombaseApiService","constructor","ngOnInit","getRecentReferences","then","recentReferences","community_curated","splice","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","RecentCommunityPubsComponent_app_reference_short_list_0_Template","ɵɵtext","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","FrontPanelContentComponent","panelId","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","FrontPanelContentComponent_div_0_Template","FrontPanelContentComponent_div_2_Template","FrontPanelContentComponent_div_4_Template","FrontPanelContentComponent_div_6_Template","FrontPanelContentComponent_div_8_Template","FrontPanelContentComponent_div_10_Template","FrontPanelContentComponent_div_12_Template","FrontPanelContentComponent_div_14_Template","FrontPanelContentComponent_div_16_Template","FrontPanelContentComponent_div_18_Template","FrontPanelContentComponent_div_20_Template","FrontPanelContentComponent_div_22_Template","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵpropertyInterpolate","ctx_r0","headImageLink","ɵɵsanitizeUrl","ɵɵadvance","headImage","ɵɵtemplate","FrontPanelComponent_div_2_div_2_a_2_Template","FrontPanelComponent_div_2_div_2_img_4_Template","ɵɵproperty","headVideo","FrontPanelComponent_div_2_div_2_Template","FrontPanelComponent_div_2_video_4_Template","ɵɵtextInterpolate","conf","date_added","ɵɵtextInterpolate1","panelDescription","title","title_link","internalLink","link_label","externalLink","FrontPanelComponent","showDateAdded","appConfig","getAppConfig","siteName","site_name","constructor","ngOnInit","head_image","length","randMedia","Util","randElement","match","startsWith","head_image_link","panel_type","undefined","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","FrontPanelComponent_div_2_Template","FrontPanelComponent_span_6_Template","FrontPanelComponent_span_10_Template","FrontPanelComponent_span_12_Template","FrontPanelComponent_a_15_Template","FrontPanelComponent_a_20_Template","FrontPanelComponent_a_22_Template","ɵɵclassMapInterpolate1","internalId","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate1","ctx_r0","examplePages","gocam","ɵɵpropertyInterpolate","fypoSlim","full_slim_path","ɵɵtextInterpolate1","siteName","metadata","db_creation_datetime","ɵɵtextInterpolate3","date_version","export_prog_name","export_prog_version","FrontComponent","pombaseApiService","imageNames","rotatingImageName","appConfig","getAppConfig","slims","spotlightPanelConfig","frontPagePanels","filter","conf","panel_type","show_on_front_page","communityPanelConfig","explorePanelConfig","spotlightConf","communityConf","exploreConf","site_name","example_pages","hasDiseaseAnnotation","has_disease_annotation","hasUnknownsList","has_unknowns_list","showNewsItems","news_on_front_page","welcomeMessage","welcome_message","hasAdminCuration","has_admin_curation","showElixirAndGbcLogos","footer","show_elixir_and_gbc_message","constructor","ngOnInit","Util","randElement","getMetadata","then","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","FrontComponent_div_14_Template","FrontComponent_span_65_Template","FrontComponent_span_67_Template","FrontComponent_span_102_Template","FrontComponent_span_104_Template","FrontComponent_span_106_Template","FrontComponent_span_108_Template","FrontComponent_span_110_Template","FrontComponent_span_112_Template","FrontComponent_span_114_Template","FrontComponent_span_116_Template","FrontComponent_div_128_Template","FrontComponent_div_162_Template","FrontComponent_div_169_Template","ɵɵproperty","ɵɵsanitizeHtml","gene","term","reference","RouterNotFoundHandlerComponent","router","path","constructor","ngOnInit","url","ɵɵdirectiveInject","Router","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtext","ɵɵproperty","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","config_r1","PanelArchiveComponent","route","meta","titleService","panelType","panelConfigs","appConfig","getAppConfig","longTitle","constructor","setPageTitle","title","site_name","setTitle","updateTag","property","content","ngOnInit","params","forEach","undefined","charAt","toUpperCase","slice","frontPagePanels","filter","conf","panel_type","sort","conf1","conf2","date_added","localeCompare","map","push","ɵɵdirectiveInject","ActivatedRoute","Meta","Title","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","PanelArchiveComponent_div_5_Template","ɵɵtextInterpolate1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","pageTitle","siteName","ɵɵpropertyInterpolate1","ref_r2","uniquename","ɵɵproperty","refTitle","ɵɵtextInterpolate","title","extraDisplayString","ɵɵtemplate","ReferenceDetailListComponent_div_11_li_9_Template","group_r3","refList","RefGroup","constructor","ReferenceDetailListComponent","pombaseApiService","constraint","groups","getAppConfig","site_name","hasAdminCuration","has_admin_curation","ngOnInit","reference","ret","authors_abbrev","publication_year","extra","length","makeGroups","references","groupMap","ref","approved_date","push","date","Object","keys","sort","reverse","ngOnChanges","getReferencesPromise","then","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ReferenceDetailListComponent_h2_2_Template","ReferenceDetailListComponent_a_6_Template","ReferenceDetailListComponent_a_8_Template","ReferenceDetailListComponent_div_11_Template","ɵɵelement","ɵɵproperty","ctx_r0","constraint","ReferenceDetailListPageComponent","route","constructor","ngOnInit","params","forEach","ɵɵdirectiveInject","ActivatedRoute","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ReferenceDetailListPageComponent_app_reference_detail_list_0_Template","ɵɵtext","MotifService","http","motifSearchUrl","constructor","motifSearchAll","scope","motif","genesWithDetails","trim","length","from","genesWithDetailsParam","toString","url","encodeURI","get","pipe","map","body","catchError","_","of","status","peptide_matches","motifSearchSingleGene","geneUniquename","ɵɵinject","HttpClient","factory","ɵfac","providedIn","MotifSearchHelpComponent","full","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","organismCommonName","ɵɵelement","ɵɵproperty","ɵɵtextInterpolate","peptideResults","length","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","showAll","defaultGenesWithDetails","geneSummaries","geneIdOf","peptideResult_r5","product","ɵɵtemplate","MotifSearchComponent_div_0_div_39_tbody_41_tr_2_td_2_Template","MotifSearchComponent_div_0_div_39_tbody_41_tr_2_td_4_Template","i_r7","peptideMatch_r6","start","before","match","after","end","_r8","$implicit","morePeptideMatches","peptide_id","matches","MotifSearchComponent_div_0_div_39_tbody_41_tr_2_Template","MotifSearchComponent_div_0_div_39_tbody_41_tr_4_Template","MotifSearchComponent_div_0_div_39_tbody_41_tr_6_Template","match_count","MotifSearchComponent_div_0_div_39_div_4_Template","MotifSearchComponent_div_0_div_39_div_6_Template","MotifSearchComponent_div_0_div_39_div_8_Template","_r3","sendToQueryBuilder","MotifSearchComponent_div_0_div_39_span_14_Template","MotifSearchComponent_div_0_div_39_tbody_41_Template","peptideResultsWithDetails","MotifSearchComponent_div_0_span_9_Template","ɵɵtwoWayListener","$event","_r1","i0","ɵɵtwoWayBindingSet","motif","motifChange","resetSearch","MotifSearchComponent_div_0_div_29_Template","MotifSearchComponent_div_0_div_31_Template","MotifSearchComponent_div_0_div_35_Template","MotifSearchComponent_div_0_div_37_Template","MotifSearchComponent_div_0_div_39_Template","ɵɵtwoWayProperty","searchState","SearchState","ShowHelp","NoResults","Searching","SomeResults","MotifSearchComponent","queryRouterService","motifService","motifChanged","Subject","trimmedMotif","showAllGeneDetails","motifSub","appConfig","constructor","pombaseApiService","getAppConfig","isMultiOrganismMode","getConfigOrganism","species","getGeneSummaryMapPromise","then","pipe","map","trimmed","trim","replace","debounceTime","distinctUntilChanged","previous","current","switchMap","genesWithDetails","motifSearchAll","subscribe","next","results","status","peptide_matches","slice","error","err","console","geneUniquename","firstValueFrom","motifSearchSingleGene","fullGeneMatch","existingGeneIndex","findIndex","existingGeneMatch","peptideResult","geneUniquenames","res","part","GeneListNode","geneQuery","GeneQuery","gotoResults","ngOnInit","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","PombaseAPIService","QueryRouterService","MotifService","selectors","standalone","decls","vars","consts","template","rf","ctx","MotifSearchComponent_div_0_Template","localStorageIdsKey","localStorageTypeKey","organismCommonName","getAppConfig","getConfigOrganism","common_name","IdentifierMapperService","pombaseApiService","_inputText","appConfig","uniprotType","id","taxonId","displayName","displayNameWithExamples","_mapperTypes","summaryMap","_filteredIds","geneSummaryMapPromise","_oneToOneMatches","_oneToManyMatches","_manyToOneMatches","_manyToManyMatches","_notFound","_mapperType","readyResolve","readyPromise","Promise","resolve","_","constructor","getGeneSummaryMapPromise","orthTaxonId","ortholog_taxonids","organisms","map","org","taxonid","example_gene_identifiers","join","push","uniprotMapperType","localStorage","getItem","filterIds","storedMapperTypeId","mapperType","length","lookup","resultsReady","mapperTypes","then","lookupHelper","setItem","inputText","filteredIds","hasMatches","allMatchesCount","resetResults","notFound","oneToOneMatches","hasOneToOneMatches","Object","keys","oneToManyMatches","hasOneToManyMatches","manyToOneMatches","hasManyToOneMatches","manyToManyMatches","hasManyToManyMatches","seen","Set","trim","split","filter","has","add","ids","lookupMap","lookupAdd","key","geneSumm","lowerKey","toLowerCase","el","uniquename","geneSummary","values","uniprot_identifier","orthologs","orth","orthName","name","orthIdentifier","identifier","orthSecondaryIdentifier","secondary_identifier","oneToSomeMatches","lowerId","matchingGenes","matchedGene","matches","Array","from","queryId","otherOrgSeenIds","ONE_TO_MANY","otherOrgId","otherIdsForGroup","thisOrgSummariesForGroup","thisOrgGeneSummaries","thisOrgGeneSummary","manyToOneIds","manyToOneOtherOrgId","otherIds","geneSummaries","forEach","otherId","oneToManyMatchesCount","count","manyToManyMatchesCount","size","allMatches","gene","geneUniquename","ɵɵinject","PombaseAPIService","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","mapperType_r1","id","ɵɵadvance","ɵɵtextInterpolate","displayNameWithExamples","IdentifierMapperComponent","router","identifierMapperService","appConfig","getAppConfig","organismCommonName","getConfigOrganism","common_name","constructor","mapperTypes","filteredIds","mapperTypeCompare","a","b","objectKeyCount","obj","Object","keys","length","readFile","$event","file","target","files","fileReader","FileReader","onloadend","inputText","result","readAsText","clear","resetResults","inputTextChanged","lookup","then","navigate","ngOnInit","ɵɵdirectiveInject","Router","IdentifierMapperService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","mapperType","ɵɵtemplate","IdentifierMapperComponent_option_24_Template","ɵɵlistener","ɵɵtextInterpolate1","ɵɵtwoWayProperty","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","err","ɵɵproperty","mode","results","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","gotoAdvancedSearch","ɵɵtemplate","GeneResultsPageComponent_div_3_div_5_Template","GeneResultsPageComponent_div_3_app_gene_results_7_Template","GeneResultsPageComponent","queryService","router","route","showLoading","timerSubscription","constructor","navigate","ngOnInit","params","forEach","id","undefined","trimmedId","replace","test","resultPromise","execById","handleResults","json","obj","JSON","parse","query","GeneQuery","fromJSONString","handleQuery","predefinedQueryId","queryJson","getAppConfig","getPredefinedQuery","exec","timer$","timer","unsubscribe","subscribe","_","then","QueryResult","catch","ngOnDestroy","ɵɵdirectiveInject","QueryService","Router","ActivatedRoute","selectors","standalone","decls","vars","consts","template","rf","ctx","GeneResultsPageComponent_div_1_Template","GeneResultsPageComponent_div_3_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","cvDetails_r1","key","value","ɵɵtemplate","AllCvVersionsComponent_ul_2_li_2_Template","ɵɵproperty","ɵɵpipeBind1","ctx_r1","metadata","cv_versions","AllCvVersionsComponent","pombaseApiService","constructor","ngOnInit","getMetadata","then","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","AllCvVersionsComponent_ul_2_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","nameVersion_r1","InternalDetailsComponent","pombaseApiService","metadata","dataSourceNameVersions","constructor","ngOnInit","getMetadata","then","dataSourceNames","Object","keys","data_source_versions","sort","n1","n2","localeCompare","name","version","push","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","InternalDetailsComponent_li_11_Template","ɵɵelement","ɵɵproperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r4","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","subsetForQueryBuilder","ɵɵresetView","ɵɵtemplate","IdentifierMapperResultsComponent_div_0_div_10_span_7_option_7_Template","IdentifierMapperResultsComponent_div_0_div_10_span_7_option_9_Template","IdentifierMapperResultsComponent_div_0_div_10_span_7_option_11_Template","IdentifierMapperResultsComponent_div_0_div_10_span_7_option_13_Template","ɵɵadvance","ɵɵtwoWayProperty","hasOneToOneMatches","hasOneToManyMatches","hasManyToOneMatches","hasManyToManyMatches","IdentifierMapperResultsComponent_div_0_div_10_span_7_Template","ɵɵlistener","_r3","sendToQueryBuilder","ɵɵtextInterpolate3","allMatchesCount","organismCommonName","geneOrGenes","ɵɵtextInterpolate1","showSubSetSelector","id_r5","IdentifierMapperResultsComponent_div_0_div_12_div_2_span_7_Template","identifierMapperService","mapperType","displayName","notFound","id_r7","IdentifierMapperResultsComponent_div_0_div_12_div_4_span_7_Template","_r6","revealAllNotFound","length","INITIAL_NOT_FOUND","displayNotFoundList","IdentifierMapperResultsComponent_div_0_div_12_div_2_Template","IdentifierMapperResultsComponent_div_0_div_12_div_4_Template","showingAllNotFound","ɵɵtextInterpolate2","oneToOneMatchesCount","_r8","revealAllOneToOne","_r9","hideAllOneToOne","ɵɵelement","ɵɵtextInterpolate","item_r10","key","value","IdentifierMapperResultsComponent_div_0_div_16_table_13_tr_13_Template","ɵɵpipeBind1","oneToOneMatches","IdentifierMapperResultsComponent_div_0_div_16_span_4_Template","IdentifierMapperResultsComponent_div_0_div_16_span_6_Template","IdentifierMapperResultsComponent_div_0_div_16_div_9_Template","IdentifierMapperResultsComponent_div_0_div_16_div_11_Template","IdentifierMapperResultsComponent_div_0_div_16_table_13_Template","showAllOneToOne","oneToManyMatchesCount","_r11","revealAllOneToMany","_r12","hideAllOneToMany","gene_r13","IdentifierMapperResultsComponent_div_0_div_18_table_13_tr_13_div_7_Template","item_r14","IdentifierMapperResultsComponent_div_0_div_18_table_13_tr_13_Template","oneToManyMatches","IdentifierMapperResultsComponent_div_0_div_18_span_4_Template","IdentifierMapperResultsComponent_div_0_div_18_span_6_Template","IdentifierMapperResultsComponent_div_0_div_18_div_9_Template","IdentifierMapperResultsComponent_div_0_div_18_div_11_Template","IdentifierMapperResultsComponent_div_0_div_18_table_13_Template","showAllOneToMany","_r15","revealAllManyToOne","_r16","hideAllManyToOne","queryId_r17","geneSummaryMap","item_r18","IdentifierMapperResultsComponent_div_0_div_20_table_9_tr_13_div_4_Template","IdentifierMapperResultsComponent_div_0_div_20_table_9_tr_13_app_gene_link_9_Template","IdentifierMapperResultsComponent_div_0_div_20_table_9_tr_13_Template","manyToOneMatches","IdentifierMapperResultsComponent_div_0_div_20_div_5_Template","IdentifierMapperResultsComponent_div_0_div_20_div_7_Template","IdentifierMapperResultsComponent_div_0_div_20_table_9_Template","showAllManyToOne","manyToOneMatchesCount","_r19","revealAllManyToMany","_r20","hideAllManyToMany","queryId_r21","geneSummary_r22","IdentifierMapperResultsComponent_div_0_div_22_table_9_tr_13_div_4_Template","IdentifierMapperResultsComponent_div_0_div_22_table_9_tr_13_div_9_Template","group_r23","IdentifierMapperResultsComponent_div_0_div_22_table_9_tr_13_Template","manyToManyMatches","IdentifierMapperResultsComponent_div_0_div_22_div_5_Template","IdentifierMapperResultsComponent_div_0_div_22_div_7_Template","IdentifierMapperResultsComponent_div_0_div_22_table_9_Template","showAllManyToMany","manyToManyMatchesCount","_r1","backToInput","IdentifierMapperResultsComponent_div_0_div_10_Template","IdentifierMapperResultsComponent_div_0_div_12_Template","IdentifierMapperResultsComponent_div_0_div_14_Template","IdentifierMapperResultsComponent_div_0_div_16_Template","IdentifierMapperResultsComponent_div_0_div_18_Template","IdentifierMapperResultsComponent_div_0_div_20_Template","IdentifierMapperResultsComponent_div_0_div_22_Template","hasMatches","IdentifierMapperResultsComponent","router","pombaseApiService","queryRouterService","appConfig","getAppConfig","getConfigOrganism","common_name","resultsReady","geneSummaryMapPromise","_showAllNotFound","_showAllOneToOne","_showAllOneToMany","_showAllManyToOne","_showAllManyToMany","constructor","getGeneSummaryMapPromise","then","navigate","slice","objectKeyCount","obj","Object","keys","allMatches","count","genesToSend","values","map","gene","push","uniquename","geneSumm","geneUniquename","_","matches","forEach","queryName","part","GeneListNode","geneQuery","GeneQuery","gotoResults","ngOnInit","ɵɵdirectiveInject","Router","IdentifierMapperService","PombaseAPIService","QueryRouterService","selectors","standalone","decls","vars","consts","template","rf","ctx","IdentifierMapperResultsComponent_div_0_Template","ɵɵelement","ɵɵproperty","ctx_r0","apiError","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate1","refDetails","uniquename","ɵɵtextInterpolate","title","ɵɵtextInterpolate1","publication_year","ɵɵelementContainerStart","ɵɵtemplate","RefGenesViewComponent_div_6_ng_container_15_span_2_Template","authors_abbrev","citation","ɵɵpropertyInterpolate","queryBuilderRouterLink","genes","RefGenesViewComponent_div_6_span_6_Template","RefGenesViewComponent_div_6_span_8_Template","RefGenesViewComponent_div_6_span_10_Template","RefGenesViewComponent_div_6_ng_container_15_Template","RefGenesViewComponent_div_6_div_17_Template","RefGenesViewComponent_div_6_div_26_Template","RefGenesViewComponent_div_6_div_28_Template","RefGenesViewComponent_div_6_div_30_Template","isPubMedRef","length","RefGenesViewComponent","pombaseApiService","route","titleService","meta","appConfig","getAppConfig","siteName","site_name","constructor","setPageTitle","setTitle","updateTag","property","content","ngOnInit","params","forEach","undefined","getReference","then","re","match","description","descriptionPrefix","encodeURIComponent","Object","values","genes_by_uniquename","filter","g","flags","includes","catch","error","ɵɵdirectiveInject","PombaseAPIService","ActivatedRoute","Title","Meta","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","RefGenesViewComponent_app_loading_spinner_2_Template","RefGenesViewComponent_app_api_error_display_4_Template","RefGenesViewComponent_div_6_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","dbCreationDate","ɵɵtextInterpolate","stats","community_pubs_count","appConfig","site_name","non_community_pubs_count","ɵɵtemplate","StatsSummaryComponent_div_6_ul_2_li_2_Template","StatsSummaryComponent_div_6_ul_2_li_4_Template","ɵɵproperty","StatsSummaryComponent_div_6_ul_2_Template","curatedPublicationsCount","StatsSummaryComponent","pombaseApiService","metadata","undefined","configOrganism","getAppConfig","constructor","ngOnInit","getConfigOrganism","getMetadata","then","dateVersionMatch","date_version","match","db_creation_datetime","split","getStatistics","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","StatsSummaryComponent_div_4_Template","StatsSummaryComponent_div_6_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵprojection","ɵɵadvance","ɵɵproperty","annotationTypePopover_r2","ɵɵtextInterpolate2","groupTotal_r3","ɵɵtemplate","CurationStatsComponent_div_111_li_4_Template","ɵɵtextInterpolate1","ctx_r3","organismStats","annotations","annotationGroupTotals","CurationStatsComponent","pombaseApiService","undefined","configOrganism","appConfig","getAppConfig","cumulativeByYearPlotLoaded","cumulativeAnnotationByYearPlotLoaded","curatedByYearPlotLoaded","curatableByYearPlotLoaded","communityResponseRates","cumulativeMicropublicationsPlotLoaded","constructor","setAnnotationGroupTotals","annotationTypeCountsByYear","header","data","totals","statsConfig","stats","forEach","cvName","idx","groupConfig","conf","annotation_type_groups","cv_names","includes","groupName","display_name","dataRow","groupConf","push","ngOnInit","getConfigOrganism","getStatistics","then","by_taxon","taxonid","annotation_type_counts_by_year","ɵɵdirectiveInject","PombaseAPIService","selectors","standalone","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","CurationStatsComponent_div_55_Template","CurationStatsComponent_h4_57_Template","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","CurationStatsComponent_div_67_Template","CurationStatsComponent_h4_69_Template","CurationStatsComponent_div_97_Template","CurationStatsComponent_h4_99_Template","CurationStatsComponent_div_111_Template","CurationStatsComponent_div_117_Template","CurationStatsComponent_h4_119_Template","CurationStatsComponent_div_129_Template","CurationStatsComponent_h4_131_Template","CurationStatsComponent_div_141_Template","CurationStatsComponent_h4_143_Template","CurationStatsComponent_ng_template_218_Template","ɵɵtemplateRefExtractor","CurationStatsComponent_ng_template_221_Template","goEvidenceByDatePopover_r5","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","gocamIdParam","ɵɵtemplate","GoCamViewPageComponent_div_0_div_10_span_8_Template","ɵɵproperty","gocamDetailsList","title","titleParts","sourcePageType","ɵɵelement","overlappingGene","ɵɵpropertyInterpolate2","detail_r2","gocam_id","source","ɵɵtextInterpolate","ɵɵpropertyInterpolate1","GoCamViewPageComponent_div_0_div_12_div_6_a_2_Template","GoCamViewPageComponent_div_0_div_12_div_6_a_4_Template","idx_r3","GoCamViewPageComponent_div_0_div_12_span_2_Template","GoCamViewPageComponent_div_0_div_12_span_4_Template","GoCamViewPageComponent_div_0_div_12_div_6_Template","sourceName","ɵɵtextInterpolate2","contributorNames","geneSumm_r4","GoCamViewPageComponent_div_0_div_32_li_6_Template","modelGenes","GoCamViewPageComponent_div_0_div_8_Template","GoCamViewPageComponent_div_0_div_10_Template","GoCamViewPageComponent_div_0_div_12_Template","GoCamViewPageComponent_div_0_div_17_Template","GoCamViewPageComponent_div_0_div_19_Template","GoCamViewPageComponent_div_0_div_21_Template","GoCamViewPageComponent_div_0_div_23_Template","GoCamViewPageComponent_div_0_div_27_Template","GoCamViewPageComponent_div_0_div_32_Template","length","getIFrameURL","ɵɵsanitizeResourceUrl","GoCamViewPageComponent","titleService","sanitizer","meta","route","pombaseApi","appConfig","getAppConfig","sanitizedURL","gocamIds","geneSummaryMap","constructor","getTitleOrId","map","details","join","setContributors","undefined","contributorNamesList","contributor","contributors","includes","name","push","setPageTitle","site_name","setTitle","updateTag","property","content","setTitleParts","detail","splitDesc","Util","splitDescription","title_terms","ngOnInit","params","forEach","summPromise","getGeneSummaryMapPromise","split","gocamDetailPromise","getGoCamDetailByIds","then","Promise","all","geneSummMap","seenGenes","Set","geneUniquename","genes","has","add","geneSumm","sort","a","b","uniquename","localeCompare","path","snapshot","url","rawUrl","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","Title","DomSanitizer","Meta","ActivatedRoute","PombaseAPIService","selectors","standalone","decls","vars","consts","template","rf","ctx","GoCamViewPageComponent_div_0_Template","GocamConnectionsComponent","titleService","meta","appConfig","getAppConfig","constructor","setPageTitle","title","site_name","setTitle","updateTag","property","content","ngOnInit","ɵɵdirectiveInject","Title","Meta","selectors","standalone","decls","vars","consts","ɵɵtrustConstantResourceUrl","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","routes","path","component","GeneDetailsComponent","data","GeneAlleleListComponent","GeneSubsetViewComponent","GeneProteinFeaturesComponent","GenotypeDetailsComponent","AlleleDetailsComponent","TermDetailsComponent","TermGenesViewComponent","TermGenotypesViewComponent","TermSingleGeneGenotypesViewComponent","ReferenceDetailsComponent","RefGenesViewComponent","ReferenceDetailListPageComponent","defaultTitleDetail","PanelArchiveComponent","GocamConnectionsComponent","GoCamViewPageComponent","loadChildren","then","m","DocumentationModule","InternalDetailsComponent","QueryBuilderComponent","GeneResultsPageComponent","MotifSearchComponent","IdentifierMapperComponent","CurationStatsComponent","IdentifierMapperResultsComponent","redirectTo","pathMatch","FrontComponent","getAppConfig","database_long_name","RouterNotFoundHandlerComponent","routerModuleOptions","preloadingStrategy","NoPreloading","anchorScrolling","scrollPositionRestoration","AppRoutingModule","RouterModule","forRoot","_c0","a0","a1","_c1","_c2","_c3","a2","PaginationComponent_li_1_Template","rf","ctx","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","ctx_r1","ɵɵnextContext","ɵɵresetView","ɵɵelementContainer","ɵɵelementEnd","defaultFirstTemplate_r3","ɵɵreference","ɵɵclassProp","ɵɵadvance","ɵɵproperty","ɵɵpureFunction2","PaginationComponent_li_2_Template","_r4","defaultPreviousTemplate_r5","PaginationComponent_li_3_Template","_r6","pg_r7","defaultPageTemplate_r8","ɵɵpureFunction3","PaginationComponent_li_4_Template","_r9","defaultNextTemplate_r10","PaginationComponent_li_5_Template","_r11","defaultLastTemplate_r12","PaginationComponent_ng_template_6_Template","ɵɵtext","page_r13","ɵɵtextInterpolate","PaginationComponent_ng_template_8_Template","PaginationComponent_ng_template_10_Template","PaginationComponent_ng_template_12_Template","PaginationComponent_ng_template_14_Template","PaginationConfig","__ngFactoryType__","ɵɵdefineInjectable","PAGER_CONTROL_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","PagerComponent","elementRef","paginationConfig","changeDetection","EventEmitter","v","value","_previous","config","key","fn","page","event","num","text","active","currentPage","totalPages","pages","startPage","endPage","isMaxSized","previousPageSet","nextPageSet","ɵɵdirectiveInject","ElementRef","ChangeDetectorRef","ɵɵdefineComponent","ɵɵProvidersFeature","ɵɵclassMap","NgClass","PAGINATION_CONTROL_VALUE_ACCESSOR","PaginationComponent","ɵɵtemplate","ɵɵtemplateRefExtractor","NgIf","NgTemplateOutlet","NgForOf","PaginationModule","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","CHECKBOX_CONTROL_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","ButtonCheckboxDirective","state","value","isDisabled","fn","__ngFactoryType__","ɵɵdefineDirective","rf","ctx","ɵɵlistener","ɵɵattribute","ɵɵclassProp","ɵɵProvidersFeature","RADIO_CONTROL_VALUE_ACCESSOR$1","ButtonRadioDirective","disabled","el","cdr","renderer","group","event","changes","ɵɵdirectiveInject","ElementRef","ChangeDetectorRef","Renderer2","ButtonRadioGroupDirective","$event","ɵɵNgOnChangesFeature","RADIO_CONTROL_VALUE_ACCESSOR","buttons","activeRadio","firstEnabled","direction","nextIndex","currentIndex","buttonRadioDirectives","calcIndex","currentActiveIndex","i","button","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ButtonsModule","ɵɵdefineNgModule","ɵɵdefineInjector","ɵɵelement","ɵɵproperty","gene_r1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","focusGeneName","focusGeneUniquename","ɵɵtemplate","GeneNeighbourhoodComponent_span_4_app_gene_link_2_Template","GeneNeighbourhoodComponent_span_4_span_4_Template","uniquename","GeneNeighbourhoodComponent","neighbourhood","constructor","ngOnInit","selectors","inputs","standalone","decls","vars","consts","template","rf","ctx","GeneNeighbourhoodComponent_span_4_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","clear","ɵɵtemplate","GeneListLookupComponent_div_6_span_16_Template","ɵɵadvance","ɵɵtextInterpolate","unknownIds","join","substring","ɵɵproperty","appConfig","site_name","_r3","GeneListLookupComponent","pombaseApiService","lookupFieldType","genesFound","EventEmitter","inputText","listName","getAppConfig","validIdCount","geneSummaryMapPromise","constructor","ngOnInit","getGeneSummaryUniprotMapPromise","getGeneSummaryMapPromise","filteredIds","seen","trim","split","filter","id","length","match","checkIds","then","geneSummaryMap","ids","toLowerCase","push","hasValidIds","readFile","$event","file","target","files","fileReader","FileReader","onloadend","result","readAsText","makeListName","genes","map","g","displayName","lookup","mapFilterFunc","emit","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","GeneListLookupComponent_div_6_Template","GeneListLookupComponent_a_15_Template","ɵɵtwoWayProperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","selectedTerm","definition","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r3","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","expression","ɵɵresetView","ɵɵtwoWayProperty","ɵɵlistener","_r5","phenotypeConditionMatched","ɵɵproperty","phenotypeConditionNamespace","_r4","showConditionSelector","conditionSelectorChanged","ɵɵtemplate","QueryTermNodeComponent_div_4_div_48_span_6_Template","QueryTermNodeComponent_div_4_div_48_app_term_name_complete_8_Template","ɵɵelement","_r7","phenotypeExcludeConditionMatched","_r6","showExcludeConditionSelector","excludeConditionSelectorChanged","QueryTermNodeComponent_div_4_div_50_span_6_Template","QueryTermNodeComponent_div_4_div_50_app_term_name_complete_8_Template","_r2","singleLocus","singleMultiChange","multiLocus","haploid","ploidinessChange","diploid","QueryTermNodeComponent_div_4_div_46_Template","QueryTermNodeComponent_div_4_div_48_Template","QueryTermNodeComponent_div_4_div_50_Template","termNodeConfig","extraDescription","ɵɵsanitizeHtml","extraDescription2","QueryTermNodeComponent","placeholder","newTermNode","EventEmitter","isPhenotypeNode","phenotypeConditions","phenotypeExcludeConditions","constructor","buttonType","termMatched","term","termCompletePlaceholder","conditions","length","submitTitle","isValid","submit","singleOrMulti","ploidiness","emit","TermNode","undefined","termid","name","ngOnInit","ngOnChanges","annotationFeatureType","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QueryTermNodeComponent_div_2_Template","QueryTermNodeComponent_div_4_Template","QueryTermNodeComponent_div_8_Template","QueryTermNodeComponent_div_10_Template","ontologyName","QuerySubsetInputComponent","nodeConfig","nodeEvent","EventEmitter","subsetName","constructor","emitNodeEvent","node","emit","nodeConf","subsetInputSearch","trimmedSubsetName","trim","length","longName","subsetPrefix","part","SubsetNode","undefined","clear","ngOnInit","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵelementEnd","ɵɵtext","ɵɵlistener","ɵɵtwoWayProperty","ɵɵproperty","placeholder","ɵɵadvance","ɵɵelementStart","ɵɵtext","ɵɵlistener","$event","ɵɵrestoreView","_r4","ctx_r2","ɵɵnextContext","ɵɵresetView","emitEvent","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","subNode_r2","_r1","$implicit","changeTab","ɵɵtemplate","QuerySubNodesComponent_tab_3_div_2_Template","ɵɵpropertyInterpolate","nodeHeading","currentTabNodeConfig","id","QuerySubNodesComponent","nodeConfig","subNodeEvent","EventEmitter","constructor","Util","capitalize","displayName","nodeAndConfig","emit","ngOnInit","ngOnChanges","subNodes","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QuerySubNodesComponent_tab_3_Template","ɵɵelementStart","ɵɵtext","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","enabledRangeSection","ɵɵresetView","ɵɵelementEnd","ɵɵadvance","ɵɵtwoWayProperty","ɵɵtextInterpolate1","nodeConfig","displayName","_r3","_r5","percentDisplayName","ɵɵtemplate","QueryRangeNodeComponent_div_6_div_2_Template","ɵɵlistener","_r4","percentRangeMinToggled","percentRangeConstrainMin","percentRangeStartChanged","percentRangeStart","percentRangeMaxToggled","percentRangeConstrainMax","percentRangeEndChanged","percentRangeEnd","ɵɵproperty","range_any_and_none","ɵɵpropertyInterpolate","percentRangeMin","_r6","QueryRangeNodeComponent_div_10_input_2_Template","_r7","rangeOption","ɵɵpropertyInterpolate1","opt_r8","id","ɵɵtextInterpolate","display_name","QueryRangeNodeComponent_div_33_div_5_Template","node_options_title","node_options","QueryRangeNodeComponent","nodeEvent","EventEmitter","rangeConstrainMin","rangeConstrainMax","rangeMin","rangeStart","rangeEnd","undefined","showPercentRange","constructor","initRange","percent_display_name","nodeType","range_minimum","percent_query_id","rangeMinToggled","rangeMaxToggled","rangeStartChanged","rangeEndChanged","emitNodeEvent","node","emit","nodeConf","rangeSearch","part","newRangeStart","newRangeEnd","options","nodeId","IntRangeNode","FloatRangeNode","ngOnInit","ngOnChanges","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","QueryRangeNodeComponent_div_2_Template","QueryRangeNodeComponent_div_4_Template","QueryRangeNodeComponent_div_6_Template","QueryRangeNodeComponent_div_10_Template","QueryRangeNodeComponent_div_33_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","chrDetails_r1","name","ɵɵadvance","ɵɵtextInterpolate1","long_display_name","QueryGenomeRangeNodeComponent","pombaseApiService","nodeConfig","nodeEvent","EventEmitter","rangeStart","rangeEnd","chromosomeName","rangeRadio","rangeMax","displayChromosomes","appConfig","getAppConfig","constructor","genomeRangeSearch","undefined","part","GenomeRangeNode","emitNodeEvent","startChanged","endChanged","setRanges","displayChromosome","length","chromosomeChanged","node","emit","nodeConf","ngOnChanges","ngOnInit","getChromosomeSummaryMapPromise","then","chrSummaryMap","chromosomes","map","chrConfig","chrSummary","gene_count","displayConfig","Object","assign","geneCount","push","ɵɵdirectiveInject","PombaseAPIService","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ɵɵtwoWayListener","$event","i0","ɵɵtwoWayBindingSet","ɵɵlistener","ɵɵtemplate","QueryGenomeRangeNodeComponent_option_4_Template","ɵɵtwoWayProperty","ɵɵpropertyInterpolate","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","appConfig","alphafoldMaxProteinLength","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","alphaFoldFinishedLoading","ɵɵpropertyInterpolate1","geneDetails","uniprot_identifier","ɵɵsanitizeUrl","ɵɵtemplate","AlphafoldViewerComponent_div_4_div_2_Template","AlphafoldViewerComponent_div_4_div_4_Template","ɵɵproperty","ɵɵpureFunction1","_c1","alphaFoldLoading","AlphafoldViewerComponent","alphafoldiframe","getAppConfig","alphaFoldStatus","constructor","proteinTooLong","protLength","transcripts","protein","sequence","length","nativeElement","contentDocument","body","ngOnChanges","setTimeout","rawUrl","contentWindow","location","replace","ngOnInit","selectors","viewQuery","rf","ctx","AlphafoldViewerComponent_div_0_Template","AlphafoldViewerComponent_div_2_Template","AlphafoldViewerComponent_div_4_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","getIFrameURL","ɵɵsanitizeResourceUrl","ɵɵtemplate","ProteinFeatureViewerComponent_div_0_div_20_Template","ɵɵpropertyInterpolate1","geneDetails","uniquename","ɵɵpureFunction1","_c0","ɵɵtextInterpolate1","geneDisplayName","ProteinFeatureViewerComponent","sanitizer","sanitizedURL","constructor","ngOnChanges","name","rawUrl","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","DomSanitizer","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","ProteinFeatureViewerComponent_div_0_Template","ProteinFeatureViewerComponent_div_2_Template","has_protein_features","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","getIFrameURL","ɵɵsanitizeResourceUrl","ɵɵtemplate","RnaStructureComponent_div_0_div_2_Template","ɵɵpureFunction1","_c0","geneDetails","RnaStructureComponent","sanitizer","sanitizedURL","constructor","ngOnChanges","rnacentral_urs_identifier","rawUrl","uniquename","bypassSecurityTrustResourceUrl","undefined","ɵɵdirectiveInject","DomSanitizer","selectors","inputs","standalone","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","RnaStructureComponent_div_0_Template","documentFactory","document","windowFactory","window","SafeUrlPipe","sanitizer","constructor","transform","url","bypassSecurityTrustResourceUrl","ɵɵdirectiveInject","DomSanitizer","pure","standalone","PomBaseUrlSerializer","DefaultUrlSerializer","parse","removeParentheses","regex","replace","match","__ngFactoryType__","factory","ɵfac","providedIn","AppModule","angulartics2GoogleAnalytics","startTracking","ɵɵinject","Angulartics2GoogleAnalytics","bootstrap","AppComponent","PombaseAPIService","provide","useValue","useFactory","UrlSerializer","useClass","QueryService","CompleteService","DeployConfigService","provideHttpClient","withInterceptorsFromDi","imports","IntersectionObserverModule","forRoot","debounce","threshold","autoRemove","BrowserModule","CommonModule","BrowserAnimationsModule","FormsModule","ReactiveFormsModule","AppRoutingModule","TypeaheadModule","PaginationModule","ButtonsModule","BsDropdownModule","TabsModule","PopoverModule","ModalModule","ToastrModule","timeOut","extendedTimeOut","enableHtml","positionClass","NgxPageScrollCoreModule","duration","NgxPageScrollModule","SharedModule","Angulartics2Module","FontAwesomeModule","QueryNodeDisplayComponent","NgForOf","NgIf","NgSelectOption","ɵNgSelectMultipleOption","SelectControlValueAccessor","NgControlStatus","NgModel","RouterLink","GeneListLookupComponent","QueryTermNodeComponent","QuerySubsetInputComponent","QuerySubNodesComponent","QueryRangeNodeComponent","QueryGenomeRangeNodeComponent","GenePageWidgetsComponent","NgClass","GeneNeighbourhoodComponent","AlphafoldViewerComponent","PdbStructureViewerComponent","ProteinFeatureViewerComponent","GoCamViewerComponent","RnaStructureComponent","environment","production","enableProdMode","platformBrowser","bootstrapModule","AppModule","preserveWhitespaces"],"x_google_ignoreList":[9,10,11,101,137,220,221]}