aboutsummaryrefslogtreecommitdiff
path: root/qc_app
AgeCommit message (Collapse)Author
2022-09-08Use sys.executable and setup default environmentFrederick Muriuki Muriithi
Use the sys.executable to get the correct python binary to run the external processes, and setup the environment to point to the correct PYTHONPATH.
2022-08-31Commit missing files.Frederick Muriuki Muriithi
2022-08-31Provide database port where relevant.Frederick Muriuki Muriithi
2022-08-31Check connections outside app factoryFrederick Muriuki Muriithi
Check the connections in the wsgi.py file, outside of the `create_app` application factory to avoid issues with tests failing due to test app not initialising because of missing connections in the test environment.
2022-08-05Update job status. Display stdout and stderr outputsFrederick Muriuki Muriithi
* Display the status of the job, as it is running * Display STDERR output if an error occurs * Display STDOUT output as job is running and on successful completion of the job
2022-08-04Implement data insertionFrederick Muriuki Muriithi
- Hook up external data insertion script to webserver code - Provide rudimentary status indication - Generalise some job creation details
2022-08-04Fix typo: 'species' -> 'speciesid'Frederick Muriuki Muriithi
2022-08-04UX: Enable selecting radio by clicking anywhere on the rowFrederick Muriuki Muriithi
Ease the selection of a radio button by allowing the user to click on any of the table cells that are in the same row as the radio button of concern.
2022-07-19Check connections before launchingFrederick Muriuki Muriithi
* qc_app/__init__.py (refactor): Check connection before launching the application * qc_app/check_connections.py (new file): Add code to check connections * qc_app/db_utils.py (refactor): enable passing the database uri as an argument to the connection creation function. * scripts/worker.py (refactor): Use new code to check for redis connection.
2022-07-19Rework: Use generic worker script to launch processFrederick Muriuki Muriithi
Use the generic worker script as the interface for launching external processes.
2022-07-19Rename file validation scriptFrederick Muriuki Muriithi
As preparation for building a new generic worker script, this commit renames the file validation script from 'worker.py' to 'validate_file.py' so as to ensure the name conforms better to what the script does.
2022-07-19Implement confirmation stageFrederick Muriuki Muriithi
Provide user with a confirmation stage where they can verify all the data before inserting into the database.
2022-07-19Enable creation of new datasetFrederick Muriuki Muriithi
Enable the user to create a new dataset should the need arise. A few extra fixes were done, such as: - Provide list of average methods to choose from - Provide input elements for some expected fields - Add a new confirmation step before doing the actual data update
2022-07-19Replace redirect with user confirmationFrederick Muriuki Muriithi
Rather than using the redirect, that led to exposing the study id as a get parameter, this commit adds an auxilliary step that allows the user to choose whether to continue with the new study or go back and select an existing study.
2022-07-19Implement dataset selectionFrederick Muriuki Muriithi
- Implement UI enabling selection from existing datasets - Start implementation of UI that enables creation of new dataset
2022-07-19Implement study creationFrederick Muriuki Muriithi
Enable the creation of the new study, and redirect appropriately with the new study id.
2022-07-19Fix macroFrederick Muriuki Muriithi
2022-07-19Add missing db_utils moduleFrederick Muriuki Muriithi
2022-07-19Add 'group' and 'tissue' selection.Frederick Muriuki Muriithi
- Build code to populate the "Group" and "Tissue" dropdown lists - Enable redirect with POST data (code 307) in case there is input error to enable the user fix their errors - Move hidden fields to macro to reduce repetition
2022-07-19Implement select studyFrederick Muriuki Muriithi
Implement the select study UI
2022-07-19Select the platform (GeneChipId) firstFrederick Muriuki Muriithi
2022-07-07Fix linting and typing errorsFrederick Muriuki Muriithi
2022-07-07Rework styling for form elementsFrederick Muriuki Muriithi
2022-07-07Add filetype details to database update codeFrederick Muriuki Muriithi
The filetype determines the queries to be run to update the database, therefore, this commit adds filetype information.
2022-07-07Provide selection for GeneChipsFrederick Muriuki Muriithi
The GeneChipId value is required for the data being inserted, so this commit provides the UI to enable selection of the chip.
2022-07-06Implement UI for dataset selectionFrederick Muriuki Muriithi
As part of updating the database with the new data, there is a need to select the appropriate dataset that the data belongs to, and this commit provides the UI to assist the user do that.
2022-06-28Check for inconsistent columnsFrederick Muriuki Muriithi
The number columns in each contents line should be equal to the nember of columns in the header line.
2022-06-21Test the progress indication featureFrederick Muriuki Muriithi
2022-06-21Test the upload of zip files works as expectedFrederick Muriuki Muriithi
- Ensure errors respond with status code 400 - Ensure error messages are displayed for any invalid zip file that is uploaded.
2022-06-17Test endpoint '/parse/parse'Frederick Muriuki Muriithi
* Ensure error messages are displayed if a request is made to the '/parse/parse' endpoint with invalid, or missing data.
2022-06-15Fix linting and type errorsFrederick Muriuki Muriithi
2022-06-15Setup test fixtures and initial tests for web-UIFrederick Muriuki Muriithi
2022-06-13Add upload progress indicatorFrederick Muriuki Muriithi
2022-06-10Enable upload of zipfilesFrederick Muriuki Muriithi
2022-06-02Enable user abortion of file parsingFrederick Muriuki Muriithi
Enable the user to abort the background parsing of the file.
2022-06-02Expire the jobs in 14 days by defaultFrederick Muriuki Muriithi
2022-06-02Add an error display to the progress status reportFrederick Muriuki Muriithi
Enable the progress status page to show all the errors found at any point during the processing of the file.
2022-05-27Remove unnecessary print statementFrederick Muriuki Muriithi
2022-05-20Use standard-error rather than standard_error for consistencyFrederick Muriuki Muriithi
The CLI scripts use "standard-error" so update the web version to fit in with that.
2022-05-20Fix minor bugsFrederick Muriuki Muriithi
2022-05-20Handle errorsFrederick Muriuki Muriithi
Implement code to handle errors in the processing of files.
2022-05-19Update Web-UI: use new error collection paradigmFrederick Muriuki Muriithi
- README.org: document how to run scripts manually - manifest.scm: remove python-rq as a dependency - qc_app/jobs.py: rework job launching and processing - qc_app/parse.py: use reworked job processing - qc_app/templates/job_progress.html: display progress correctly - qc_app/templates/parse_results.html: display final results - scripts/worker.py: new worker script
2022-05-02Optimise strain names parsingFrederick Muriuki Muriithi
- Use a way faster way of parsing the strains file
2022-04-28Use sqlite3 to save the jobs metadataFrederick Muriuki Muriithi
* Use sqlite to save the jobs metadata and enable UI update of the progress for large files
2022-04-28Update queuing and display results of file parsingFrederick Muriuki Muriithi
* 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.
2022-04-26Fix issues caught processing the jobsFrederick Muriuki Muriithi
* Create and push the application context for the worker functions * Fix the update of meta fields
2022-04-26Queue file parsing jobsFrederick Muriuki Muriithi
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
2022-04-25Call parsing function. Fix a few issues.Frederick Muriuki Muriithi
* 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
2022-04-25Implement file uploadFrederick Muriuki Muriithi
2022-04-25UI: Add index page and basic stylingFrederick Muriuki Muriithi
Add template(s) for the index page and some basic styling to get started with.