aboutsummaryrefslogtreecommitdiff
path: root/wqflask/base/data_set
AgeCommit message (Collapse)Author
2023-06-20configs: Fix issues caught by mechanical-rob testsFrederick Muriuki Muriithi
2023-06-20Add `create_app()` application factoryFrederick Muriuki Muriithi
Create the application and set up configs and other things within an application factory function. Fix obvious egregious errors preventing the application from starting up correctly.
2023-06-20Configs: Introduce Blueprints. Refactor configs in webqtlConfig.Frederick Muriuki Muriithi
* Introduce flask Blueprints to help with decoupling the various modules from the `wqflask/__init__.py` module * Refactor settings: Create a function `base.webqtlConfig.init_app(...)` to handle setting up the configurations on the app correctly. Call this function at app creation time. * Move configuration utility functions from `utility.tools` module to `utility.configuration` module. * Use the `get_setting(...)` function to retrieve configuration settings from the application.
2023-05-31Compute dataset type from name.Frederick Muriuki Muriithi
2023-03-17Fix correlation bug caused by a NULL UPDATE_TIME in the DBzsloan
2022-12-01Fix Exception that's raised when query_sql returns NoneMunyoki Kilyungi
* wqflask/base/data_set/dataset.py: Delete itertools, DictCursor. (DataSet.get_accession_id): Handle a case where query_sql returns a None value.
2022-11-30Remove check for shortnames/fullnames in probeset metadata queryMunyoki Kilyungi
Some rows in InfoFiles have NULL values thereby causing an exception to be raised. All InfoFiles.DB_Name are unique. * wqflask/base/data_set/dataset.py (DataSet.get_accession_id): Remove shortname/fullname check in query.
2022-11-10Use the Maybe Monad when fetching the accession_id of a datasetMunyoki Kilyungi
* wqflask/base/data_set/dataset.py: Import itertools, DictCursor, MonadicDict, Maybe, Nothing and query_sql. (DataSet.__init__): Initialize accession_id to Nothing. (DataSet.as_dict): Rename this to ... (Dataset.as_monadic_dict): ... this which returns a monadic dictionary. (DataSet.get_accession_id): Query for the accession_id and return it as a maybe monad.
2022-11-08Remove string check for 'None' in HTML templateMunyoki Kilyungi
In Jinja, you can use dot notation to check for values. If a value does not exist, you get None by default. * wqflask/base/data_set/dataset.py (Dataset.get_accession_id): Remove returning a string version of None. * wqflask/wqflask/templates/correlation_page.html: Delete `!= 'None'`.
2022-10-17Fix bug when initializing Temp DatasetGroupszsloan
2022-09-22Provide database cursor as argument for TheSpecies and ChromosomesFrederick Muriuki Muriithi
Provide the database cursor as an argument to the methods of the two classes: * wqflask.base.species.TheSpecies * wqflask.base.species.Chromosomes Also update dependent code to initialise and pass the cursor where these classes are used.
2022-09-21Added Markers/HumanMarkers import to datasetgroup.py and removed it fromzsloan
__init__.py Previously it threw an error when it tried to use Markers/HumanMarkers in datasetgroup.py; since Markers/HumanMarkers doesn't seem to be used anywhere else, I think it's okay for the import to only be in datasetgroup.py
2022-09-21Refactor: pass redis and db connections as argumentFrederick Muriuki Muriithi
Pass the redis and database connection/cursors as arguments to the class methods, and do not retain a copy of the connections/cursors. This allows us to do the connection management in the context managers elsewhere - ideally, at the top-level. For now the context manager is within the `create_dataset` function, but this should be moved out to a higher level once the lower levels are verified to be working as expected.
2022-09-20Remove global `Dataset_Getter` variableFrederick Muriuki Muriithi
Since the `__post_init__` method in the 'DatasetType' class checks whether data is in redis before hitting the database, it does not matter whether there is a global object of the type, as long as we make sure to call the object correctly. This commit makes that happen.
2022-09-20Decompose file into separate modulesrefactor-data_set_py-20220920Frederick Muriuki Muriithi
To ease future refactors on the code, decompose the file into a module with multiple modules that can be refactored semi-independently.