Develop an API endpoint that interacts with Pubtator to query and generate a list of genes related to intellectual disability that are not yet annotated in SysNDD.
Description
The new API endpoint should facilitate the automatic retrieval of gene information from Pubtator. This includes performing searches, parsing results, and comparing against our database to list genes that have not been annotated in SysNDD.
Entries in the curation - approve review view cannot be opened for editing (pencil icon), and it then hangs:
Examples: SLC33A1, PEX6, SLC12A6, SLC2A1
Affected entity_ids: 4074- 4081
Problem debugging and description:
ndd_entity_view joins ndd_entity table and ndd_entity_status_approved_view
if the status in ndd_entity_status_approved_view is not approved, it will not appear in ndd_entity_view
this causes the filter (e.g. /api/entity?filter=equals(entity_id,4081)) to return an empty data object
this in turn causes the entity_info object to be populated with empty data in the function getEntity in the ApproveReview.vue view
Possible solutions and improvements for stability:
change the ndd_entity_view to display unapproved entities; add a standard filter to only show the approved status entries (caution: this is a non authenticated endpoint)
QUICK FIX: approve the status before approving the review; document this
do not use this endpoint here; instead, use one that is authenticated to retrieve data directly from ndd_entity
โ Should endpoints with unapproved data generally be authenticated?
Other TODO:
implement a warning in the filter EPs if there is no data returned
gracefully fail if no data is returned and show the warning
getEntity in ApproveStatus.vue also returns no data for these entries and fails when opening the modal
Enhance and update database creation scripts. Key tasks include replacing hardcoded values like OMIM links or API keys with config file values, creating a master script to execute others, commenting scripts, writing a README, adding SQLite version of the initial SysID import for reproducibility, and making scripts independent of the working directory.
Expected Outcome
Updated database creation scripts in the GitHub repository.
Implement a process to identify genes with existing GeneReviews articles and update the system accordingly. As an immediate solution, create an Excel table linking to GeneReviews articles for genes lacking this information.
Expected Outcome
Updated records of genes with GeneReviews articles.
An Excel table as a quick reference for genes without GeneReviews entries.
The sysndd webtool currently exhibits a bug related to the grouping of entities for specific genes within the same batch. This issue has been identified for several genes, including GNAO1, GRIN1, and IFT172. The problem arises when conducting a re-review of the data, as not all entities associated with a specific gene are included in the same batch.
Unapproved users can be approved in admin view without setting the password and the abbreviation. The approval status should be highlighted and if the admin approved through this way, the respective routines should be started.
Modify the 'Create & Modify entity pages' to include a direct approval option for specific user groups. Implement API-side credentials and rights check.
Expected Outcome
A switch button to directly approve entries.
Restricted visibility based on user group permissions.
The variant annotation is currently only displayed on individual entity pages and has no search functionality.
It would be interesting to add this to the Excel download tables and enable searching for it per user request.
Options:
Make an own view like the phenotype view to allow searching for variant annotations
Simply include the variant annotation in the response and flatten it for Excel download.
The last commit is fetched on every route change. This seems to cause an Network error:
And the status being displayed as offline wrongly:
Implement a retry mechanism and a different online check (maybe using the API) and cache the last commit per session. Possibly get the last commit through the own API where it could be cached.
Add functionality to update non_alt_loci_set.
This should recompute the values and update the table.
It will need added functionality in both the API and APP
TODO:
create an Endpoint for table update using the database script, the EP should be authenticated and only Admin users should access it
create a view in the Admin tree to initiate the update
In the re-review process for lamb1, there seems to be an issue. The entity lamb1 is appearing in the approval list prematurely, before it has been officially submitted for approval by the reviewer.
Steps to Reproduce
Navigate to the re-review section.
Observe the appearance of lamb1 in the approval list.
Confirm whether lamb1 has been submitted for review.
Expected Behavior
Entities should only appear in the approval list post-submission for re-review.
Actual Behavior
The entity lamb1 is visible in the approval list before submission, indicating a potential flaw in the submission or listing process.
Additional Context
This issue may affect the workflow and efficiency of the re-review process, necessitating a prompt fix.
Add functionality to search for new GeneReview articles related to SysNDD entities and allow users to add these to the respective entity from a tabular view.
Multiple tabular view components are implemented within the views and repeat code. Functioning and control schemes for the four attached components are remarkably similar. Using the DRY principle, these should be simplified these by externalizing similar and repetitive code.
The SysNDD application requires a new interface for managing user rights. This feature will allow administrators to modify user attributes, excluding user_id.
Requirements
Tab/View for User Management: Create a new tab or view named "Manage User Rights."
User Table Adjustments: Enable modifications to user fields including user_name, password, email, orcid, abbreviation, first_name, family_name, user_role, comment, terms_agreed, approved, rereview_request, created_at, and password_reset_date.
API Endpoint Development: Develop and integrate new endpoints such as api/user/update (PUT for JSON objects) and api/user/delete (DELETE requests).
Interactive User Management Table: Include a table with functionalities like role changes, user approval, and deletion.
Existing Resources
Adapt and extend functionalities from the current ApproveUser.vue component, which includes mechanisms for user role changes and approval toggles.
Utilize backend logic in tableMethodsMixin.js for handling table data and user interactions.
Reference the api/user/change_role endpoint as a model for additional backend functionalities.
Additional Considerations
Focus on security and data integrity in implementation.
Ensure user-friendly navigation and experience within the new interface.
Comprehensive testing of all new features and endpoints for reliability.
This should be in a table in the database using semantic versioning and ideally include the last db folder related commit.
Also display in App and API.
Currently we have to generate the CSR file manually each year which is slow and causes delays absed on the availability of persons performing the CSR generation and sending of the fiels over mail.
It would be great to integrate a script that automatically generates the CSR file once per year and send it to the signing autority receiving the certifacte back and restarting the server with the new key.
Add functionality to update the publication table.
This should recompute the values and update the table.
It will need added functionality in both the API and APP
TODO:
create an Endpoint for publication table update using the database script, the EP should be authenticated and only Admin users should access it
create a view in the Admin tree to initiate the publication upd
No new entry can be created for the following genes: NSD2, ATP1A3
Problem debugging and description:
api/entity/create fails if the ndd_entity table already has a deactivated entry with the same combination ("entity_quadruple" constraint).
constraint is important to not duplicate entities and should not be removed
the problem is likely caused either by manual renaming of an entity or during the OMIM update, where old entities were temporarily renamed to MONDO terms
Possible solutions and improvements for stability:
add a button to reactivate a deactivated entity in the create entity view
check the presence of the entity after it has been composed in the create entity view; add warning and button if it exists
Design an admin view which allows editing the table entries directly
Other TODO:
fail more gracefully by showing the error message in the toast message or console and not only the code
rename entity_quadruple constraint to entity_triple (see #5)
Enhance the user interface by adding a feature to download D3 plots as PNG images. This functionality will enable users to easily save and share visual data representations.
Expected Outcome
A download button or link associated with each D3 plot.
Capability for users to download plots as PNG images.
Ensure the downloaded PNG maintains the quality and resolution of the plot.
Implementation Notes
Explore D3's native capabilities or additional libraries for converting SVG to PNG.
Test the feature across different browsers for compatibility.
Maintain the aesthetic and resolution integrity of the plots in the PNG format.
Develop a feature to compute variant ontology by extracting key terms (e.g., missense, splice, in-frame, deletion, variants, mutation) from synopsis text. Integrate data sources like OMIM/ClinVar for enhanced accuracy.
Expected Outcome
Automated ontology computation for variants.
Integration with OMIM/ClinVar to enrich variant data.