You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we have an OntologyManager (packages/jbrowse-plugin-apollo/src/OntologyManager) that loads ontologies and allows things like the feature type autocomplete to use correct values for the ontology (see packages/jbrowse-plugin-apollo/src/components/OntologyTermAutocomplete.tsx).
There are some things that need to be improved w.r.t. our usage of the OntologyManager:
Currently the OntologyManager only is in the front end. This was originally so that even if you used "Open local GFF3 file" to open and assembly and there was no Apollo collaboration server backend, the OntologyManager (and autocomplete, etc.) would still work. However, this means that if there are any Checks that run when features are imported to the collaboration server, they don't have access to the ontologies. Do we need an OntologyManager in both the front and back end?
There are quite a few places where we do comparisons like if (feature.type === 'gene') where we should use something like ontologyStore.getTermsWithLabelOrSynonym from the OntologyManager to match all equivalent terms (e.g. be able to match 'pseudogene' and 'protein_coding_gene' as well).
Loading the ontologies in the front end can take a while (SO typically takes ~5 minutes for me). If we keep using the current system, we should find some way to indicate that the process is running and things like autocomplete might not work until it's done. Luckily indexedDb is persisted, so users should only have to load the ontologies once per browser. Split into new issue Provide feedback that an ontology is being loaded #457.
The text was updated successfully, but these errors were encountered:
Due to the problems @dariober has found introducing a lot more asynchronous code, I've tried a new branch that uses MST to react to the ontology synonyms being loaded, so the surrounding code doesn't have to be asynchronous. See here: 452_reactive_sync_ontology
Currently we have an OntologyManager (
packages/jbrowse-plugin-apollo/src/OntologyManager
) that loads ontologies and allows things like the feature type autocomplete to use correct values for the ontology (seepackages/jbrowse-plugin-apollo/src/components/OntologyTermAutocomplete.tsx
).There are some things that need to be improved w.r.t. our usage of the OntologyManager:
Check
s that run when features are imported to the collaboration server, they don't have access to the ontologies. Do we need an OntologyManager in both the front and back end?if (feature.type === 'gene')
where we should use something likeontologyStore.getTermsWithLabelOrSynonym
from the OntologyManager to match all equivalent terms (e.g. be able to match 'pseudogene' and 'protein_coding_gene' as well).Loading the ontologies in the front end can take a while (SO typically takes ~5 minutes for me). If we keep using the current system, we should find some way to indicate that the process is running and things like autocomplete might not work until it's done. Luckily indexedDb is persisted, so users should only have to load the ontologies once per browser.Split into new issue Provide feedback that an ontology is being loaded #457.The text was updated successfully, but these errors were encountered: