Closed arteymix closed 2 years ago
It seems that the new Lombok version is breaking Jackson deserialization...
We will probably opt for a simple form-backed admin UI to manage the simplest ontologies (only 2-level with implicit grouping) that we use for displaying PHONe terms. Doing any further modification would be better served with an OBO file.
Good progress on the form for managing small ontologies. Testing is almost complete and I'll fix the remaining UI quirks.
Instead of using multiple lists for each field, we should use a list of models for the simplified ontology management system. This should ease the process of validation.
Updating pathways from the admin section should be performed asynchronously, or use some kind of loading feedback.
I've had a good experience with implementing progress with SSE and Spring SseEmitter to supply feedback to the frontend for updating Reactome pathways summations. This can readily be applied to import/update of pathways from an OBO resource.
Let's not design the public-facing ontology API around numerical IDs. See #184
Mixed terms with and without icons looks glitchy:
From @sanjarogic
The aforementioned features will be merged today!!
We replicated the same concept of a category of terms attached to a user in multiple locations: organ systems, researcher positions, researcher categories, etc.
With future partners looking into customizing RDP further, we need a generic system for associating terms to users.
In the profile, we display all the active terms from active categories grouped by category with relevant checkbox/dropdown for picking relevant terms to the user.
API
Expose terms and categories via the API and user-associated terms. This API can be used by the frontend for suggesting available terms.
Ontologies and terms should also be accessible via their textual identifieres. I don't think there is such a thing at the ontology level though.
Search
Searching by filtering results by certain terms. It would be nice to have a single field where one can search terms to be used in the query instead of one prompt per category.
Search with inference
Ontology terms are structured in a hierarchy (animals -> cat | dog | ...) that can be leveraged to expand search results.
Ontology loading
This would be done by attaching a URI to some OBO/OWL resources containing the terms within the category. We would leverage our existing code for updating terms regularly.
The alternative is to insert terms manually in the database. However, this should be relatively low effort since we already have the code for loading GO and UBERON terms.
Taxon-associated term (optional)
This is completely optional, but we could envision taxon-specific terms such as a "human immortalized cell line" in a potential "experimental assay" category. Those terms would show up in Model Organisms pages.
Migrate organ info (optional)
The organ systems feature is just an instance of this, so those could be migrated once the system is stable.
Migrate gene ontology (very optional)
We currently have an in memory system for retrieving gene ontologies and performing inference for recommending terms.
Admin (optional)
Add administrative tools for adding/removing activating terms and categories.