aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-05-18Return errors when found or None otherwise...This commit adds a number of functions that return the error object when an error is found, or `None` otherwise. It avoids the use of exceptions as control flow constructs. Frederick Muriuki Muriithi
2022-05-11Remove unnecessary packages for the CLI versionFrederick Muriuki Muriithi
2022-05-11Update the guix definitions for the applicationFrederick Muriuki Muriithi
2022-05-11Document generating and running qc for/with dockerFrederick Muriuki Muriithi
2022-05-11Tag string as a python f-string to fix error display bugFrederick Muriuki Muriithi
2022-05-09Update documentation and license...Add documentation on how to run the development version of the GeneNetwork Quality Control application. Update the license to the agpl3+ license used by genenetwork3 Frederick Muriuki Muriithi
2022-05-05Add a guix definition to enable installationFrederick Muriuki Muriithi
2022-05-05Add the long_description field for setuptoolsFrederick Muriuki Muriithi
2022-05-05Add `etc' as a package so that files underneath it are installedFrederick Muriuki Muriithi
2022-05-05Add package management configsFrederick Muriuki Muriithi
2022-05-02Optimise strain names parsing...- Use a way faster way of parsing the strains file Frederick Muriuki Muriithi
2022-04-28Use sqlite3 to save the jobs metadata...* Use sqlite to save the jobs metadata and enable UI update of the progress for large files Frederick Muriuki Muriithi
2022-04-28Update queuing and display results of file parsing...* Make the 'worker' functions free from needing the application context by passing all the details they need as arguments. * Enable the display of parsing results. Frederick Muriuki Muriithi
2022-04-27Enable managing app via setup.py...While the application is developed with GNU Guix, the end user might not be using it, and therefore, this commit provides a way for the user to install the application with the usual python package management systems. Frederick Muriuki Muriithi
2022-04-27Implement command-line interface for QC of filesFrederick Muriuki Muriithi
2022-04-26Fix issues caught processing the jobs...* Create and push the application context for the worker functions * Fix the update of meta fields Frederick Muriuki Muriithi
2022-04-26Queue file parsing jobs...Enable the queuing of file parsing jobs, since the files could be really large and take a long time to parse and present results. * etc/default_config.py: Add default config for redis server * manifest.scm: Add redis, and rq as dependencies * qc_app/__init__.py * qc_app/jobs.py: module to hold utilities for management of the jobs * qc_app/parse.py: Enqueue the job - extract file-parsing code to callable function * qc_app/templates/base.html: Enable addition of extra meta tags * qc_app/templates/job_progress.html: template to display job progress * qc_app/templates/no_such_job.html: template to indicate when a job id is invalid * quality_control/parsing.py: Add the total size parsed so far Frederick Muriuki Muriithi
2022-04-25Call parsing function. Fix a few issues....* qc_app/entry.py: Pass filetype onward to parsing endpoint * qc_app/parse.py: Call the function(s) necessary to parse a file * quality_control/errors.py: Fix argument passing to super class Frederick Muriuki Muriithi
2022-04-25Implement file uploadFrederick Muriuki Muriithi
2022-04-25Advance seek_position on error...Advance the seek position, once we have yielded up an error to causing an infinite loop in certain conditions, where the `parse_errors` function ends up resuming the gile in the same position once it experiences an error. Frederick Muriuki Muriithi
2022-04-25`take`: function to select a few items from an iterable...To avoid processing all the items in an iterable, the `take` function is added in this commit. It realised a limited number (specified at call time) of items from the iterable given. Frederick Muriuki Muriithi
2022-04-25docs: update documentation on checksFrederick Muriuki Muriithi
2022-04-25UI: Add index page and basic styling...Add template(s) for the index page and some basic styling to get started with. Frederick Muriuki Muriithi
2022-04-25Ignore the instance directory if present in the repository...Ignore the flask instance directory if it is present in the repository. The directory being present in the repository is mostly a development convenience feature. Frederick Muriuki Muriithi
2022-04-21Collect all the errors...Build a function to collect all the parsing errors into a "sequence" of dict objects containing the issues found. Frederick Muriuki Muriithi
2022-04-20Add scaffolding for web app...Add a basic scaffolding for the web interface to the quality-control application. Frederick Muriuki Muriithi
2022-04-20Update parameters for tests...Derive a "correct" sample file from an existing sample file with errors for testing with large files. Fix issue caught by test. Frederick Muriuki Muriithi
2022-04-20Fix linting issuesFrederick Muriuki Muriithi
2022-04-13Implement remaining file parsing tests...* Implement remaining file parsing tests and some helpers functions needed for ensuring the tests work. Frederick Muriuki Muriithi
2022-04-13Check for `DuplicateHeader` errors in `parse_file` functionFrederick Muriuki Muriithi
2022-04-13Update `valid_header` to pass check for duplicated headersFrederick Muriuki Muriithi
2022-04-13Add test for duplicate headersFrederick Muriuki Muriithi
2022-04-13Implement test for parsing that fails...* Improve tests that ensure parsing fails in case the file has errors * Add strains.csv file * Implement minimum viable functionality that passes the implemented tests Frederick Muriuki Muriithi
2022-04-13Add tests outline for file parsing...Add dummy failing tests and a stub for the parsing of the files Frederick Muriuki Muriithi
2022-04-13Update Exception name...Change the exception name to be more descriptive. Frederick Muriuki Muriithi
2022-04-13Add sample files for tests...Add some sample files to be used for testing that the parsing works as expected. Frederick Muriuki Muriithi
2022-04-11Add missing `__init__.py` to prevent import errors...Without the `tests/__init__.py` file, the tests directory was not considered a package and therefore, running: $ pytest would fail with import error notifications. This fixes that. Frederick Muriuki Muriithi
2022-04-11Implement MVI for headers validity checking function...Add a minimum viable implementation that passes the tests for the function that checks for the validity of the headers Frederick Muriuki Muriithi
2022-04-11Add tests for headers...* Add tests to check for validity of the headers * Add stubs for the tests Frederick Muriuki Muriithi
2022-04-11Implement MVP for valid_value functions...* Implement the minimum viable functions for the average and standard error `valid_value` functions. Frederick Muriuki Muriithi
2022-04-11Implement tests and stubs for functions under testFrederick Muriuki Muriithi
2022-04-11Set up initial, failing tests for cell valuesFrederick Muriuki Muriithi
2022-04-11Initialise the QC repositoryFrederick Muriuki Muriithi