Dynamic configuration
Description
Remove hard coded config, and provide a yaml instead.
Closes issues: LA-1520, LA-1513 Related issues:
- Read config from file at the environment variable ELLA_CONFIG
- Extracted most of the config into an example config.
- Removed default filter configuration. Filters now needs to be fully defined in the json-file.
- Frequency groups in filterconfig is now taken from filter config and not global config (LA-1513). This obviously require groups to be set explicitly in the filter config.
- Create shadow tables in temporary tables, before overwriting the existing shadow tables.
- Add checks on filter config import and usergroup import, that the configurations for frequency filter and ACMG are valid with the current AnnotationShadowFrequency table.
- Added json schema for config
Notes to reviewer
Some fields are left hardcoded in config.py (VEP consequences, clinvar descriptions). These are not really config-values, and should ideally not be in the config-object. Left it as is for now.
Type of change
Application (affects UI or general functionality):
-
New feature -
Bug fix -
Improvement
Ops / admin / CI related only (not impacting users):
-
New feature -
Bug fix -
Improvement
Tests
General
-
Tests have been added that prove my fix is effective or that my feature works -
Related tests have been modified/removed
Hypothesis testing:
-
Soak testing has been done -
Distribution between positive / negative cases has been checked
Database
-
Includes changes to database schema -
Includes necessary database migrations
Configuration
-
Includes changes to configuration -
Includes configuration migration instructions in documentation
Merge checklist
-
Self-review of code performed -
Feature review against specification (if applicable) -
Need for documentation has been evaluated and, if necessary, updated -
Code and implementation is reviewed by other core developer (all changes, inc. changes based on initial review)
Edited by Morten C. Eike