aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-12Update templates to use bootstrap classes.Frederick Muriuki Muriithi
2024-06-12Use bundled bootstrap for styling the UIFrederick Muriuki Muriithi
Use bootstrap to eliminate a myriad of UI styling headaches.
2024-06-12Make URI and UI correspond to each other.Frederick Muriuki Muriithi
Formerly, the URI and UI were not corresponding to each other, e.g. the URI /upload/samples/select_species would display the UI for selecting/creating the population. This was very confusing. This commit fixes that. The commit also adds in user input validation to catch input errors.
2024-06-12Bug: Provide missing argument. Remove unused verr variable.Frederick Muriuki Muriithi
2024-06-12Validate input before attempting to use it.Frederick Muriuki Muriithi
2024-06-12Provide an input validation module.Frederick Muriuki Muriithi
2024-05-05Fix indentation.Frederick Muriuki Muriithi
2024-05-05Provide default for InbredSetIdFrederick Muriuki Muriithi
The `InbredSetId` field in the `InbredSet` table in MariaDB is in some instances a required field, so we need to provide a value. This value should be the same as that for the `Id` field, that we do not previously know. This commit provides a value of zero (0) as the default. This value is subsequently updated to be same as that of the `Id` field.
2024-04-17Use `cursor.lastrowid` to get row identifierFrederick Muriuki Muriithi
Use the more robust `cursor.lastrowid` to get the row identifier value, rather than using the `SELECT MAX(Id) …` form. With the `cursor.lastrowid` form, we do not have to remember to add 1 to the value to avoid conflict.
2024-04-16Set InbredSet.InbredSetId value in a more robust way.Frederick Muriuki Muriithi
2024-04-16bug: Set ProbeFreezeId for only new row!Frederick Muriuki Muriithi
Previously the extra ProbeFreezeId column was being updated for *ALL* rows, rather than just the newly inserted row, which is a bug. This commit fixes that.
2024-04-15Include images: Useful for favicon image.Frederick Muriuki Muriithi
2024-04-12Provide more relevant error message.Frederick Muriuki Muriithi
2024-04-12Provide defaults for required field.Frederick Muriuki Muriithi
2024-04-12Move entry-point module to scripts package.Frederick Muriuki Muriithi
This ensures the entry-point script/module is actually installed together with the rest of the code.
2024-04-12Add missing return.Frederick Muriuki Muriithi
2024-04-12Consistently check for possibly non-existent dataFrederick Muriuki Muriithi
The "geno-dataset", "tissue", "pheno-study" and "pheno-dataset" data "objects" might not exist for a particular uploaded bundle, so we check in a consistent manner to ensure they are provided when needed.
2024-04-12Provide tissue-id details to probeset dataset templatesFrederick Muriuki Muriithi
2024-04-10linting: Fix linting errors.Frederick Muriuki Muriithi
2024-04-10logging: Set up logging in wsgi.pyFrederick Muriuki Muriithi
Make flask use the gunicorn loggers when run under gunicorn, otherwise, use our custom logging. Putting the logging setup inside `create_app(…)` would cause each worker to override the gunicorn loggers, meaning we were not receiving the logs, especially for `debug(…)` calls.
2024-04-10Gracefully handle all `werkzeug.exceptions` errors.Frederick Muriuki Muriithi
2024-04-10Use application logger, not root logger.Frederick Muriuki Muriithi
2024-04-08Add logging for IntegrityErrorFrederick Muriuki Muriithi
2024-04-08Refactor: Make error-checking more robustFrederick Muriuki Muriithi
Rather than maintaining a dictionary of possible error-checking functions, this commit allows passing in the error-checking functions necessary for each point. This makes the code easier to extend by simply defining a new error-checking function and passing it in to the error-checking "driver".
2024-04-08Fix issues caught by integration tests.Frederick Muriuki Muriithi
2024-04-08Fix pylint and mypy errors.Frederick Muriuki Muriithi
2024-04-08bug: UI: Provide better error messaging.Frederick Muriuki Muriithi
2024-04-08bug: Handle IntegrityError: Studies cannot have same name.Frederick Muriuki Muriithi
2024-04-08bug: Check that Genotype dataset name is not duplicated.Frederick Muriuki Muriithi
2024-04-05Handle exceptions creating ProbeSet datasets.Frederick Muriuki Muriithi
2024-04-05Add explicit route for favicon to reduce noise in the logs.Frederick Muriuki Muriithi
2024-04-04Remove unused database connection.Frederick Muriuki Muriithi
2024-04-03Reduce size of data inserted per queryFrederick Muriuki Muriithi
Reduce the size of data inserted per query since MariDB allows a packet with a maximum size of 1GB. This should hopefully resolve the …OperationalError: (2006, 'Server has gone away') error.
2024-03-29Quiet linter.Frederick Muriuki Muriithi
2024-03-29Add UI to select/create tissue.Frederick Muriuki Muriithi
2024-03-22Notify user if identifiers are not consistent.Frederick Muriuki Muriithi
2024-03-22Map names in files to names in database.Frederick Muriuki Muriithi
2024-03-22Fix linting issue.Frederick Muriuki Muriithi
2024-03-21Improve channel definition documentation.Frederick Muriuki Muriithi
2024-03-20Use `url_for` to get icon.Frederick Muriuki Muriithi
2024-03-20Fix bug: correctly merge standard-error values in file to data in dbFrederick Muriuki Muriithi
`read_datavalues(…)` function returns a dict of the form: ``` { ProbeSetName01: ({…}, …), ProbeSetName02: ({…}, …), ︙ } ``` Previously, the generator would thus try to index into the keys of the datavalues, which were strings, leading to an error. This commit changes the generator to return the values of the datavalues dict as a flattened list of values.
2024-03-19Set up application logging.Frederick Muriuki Muriithi
2024-03-19Add debugging statements to track upload of R/qtl2 bundle.Frederick Muriuki Muriithi
2024-03-19Query by `Id` rather than `ProbeFreezeId`Frederick Muriuki Muriithi
Previously `ProbeFreezeId` was set as 1 more than the largest `Id` value found, which might not end up being the same as the incremented Id. This commit, thus, queries by `Id` which is more robust, and does an actual update for the `ProbeFreezeId` column to make it same value as `Id`.
2024-03-15Move defaults settings into qc_app module.Frederick Muriuki Muriithi
2024-03-14Update symbolic linkFrederick Muriuki Muriithi
The module file was changed but the link to it was not updated. This commit fixes that.
2024-03-12Build up correct path to default settingsFrederick Muriuki Muriithi
The assumption has been that the application will be started in the root of the repository, and uses that to source the default settings. It is, however, possible that the application is started in a totally different working directory, which leads to an error during startup. This commit sources the default settings relative to a know file, in this case the module __init__.py file for qc_app module.
2024-03-11Rename moduleFrederick Muriuki Muriithi
2024-03-11Fix package name: gnqc-py to gn-uploaderFrederick Muriuki Muriithi
2024-03-11Add guix-past as a channel dependencyFrederick Muriuki Muriithi