aboutsummaryrefslogtreecommitdiff
path: root/gn3
AgeCommit message (Collapse)Author
2022-11-02Re-implement RDF related code to use monads in its own moduleMunyoki Kilyungi
* gn3/api/general.py: Replace gn3.db.datasets import with gn3.db.rdf. (dataset_metadata) <jsonify>: Replace datasets.dataset_metadata with rdf.get_dataset_metadata. * gn3/db/datasets.py: Remove unused imports. (sparql_query, dataset_metadata): Delete. * gn3/db/rdf.py: (sparql_query, get_dataset_metadata): New functions.
2022-11-02Fix pylint and mypy errorsMunyoki Kilyungi
* gn3/db/sample_data.py (get_trait_csv_sample_data): Pass __query directly to cursor.execute. Rename value to _value in for loop to make mypy pass. * gn3/db_utils.py (Connection): Add class docstring. (Connection.cursor): Add docstring. * mypy.ini: Add an entry for xapian.
2022-10-28Use Xapian index path from app settings.Arun Isaac
App settings should be accessed from current_app. It should not be hard-coded to a variable in a module. * gn3/db_utils.py: Do not import XAPIAN_DB_PATH from gn3.settings. (xapian_database): Accept path argument. * gn3/api/search.py: Import current_app from flask. (search_results): Pass Xapian index path to xapian_database.
2022-10-28Disable various pylint checks on Connection class.Arun Isaac
* gn3/db_utils.py (Connection): Disable missing-class-docstring, missing-function-docstring and too-few-public-methods pylint checks.
2022-10-28Add search.Arun Isaac
* gn3/api/search.py: New file. * gn3/app.py: Register the search blueprint.
2022-10-26Add xapian database connection context manager.Arun Isaac
* gn3/settings.py (XAPIAN_DB_PATH): New variable. * gn3/db_utils.py: Import xapian and XAPIAN_DB_PATH from gn3.settings. (xapian_database): New function.
2022-10-25Reshape column major genotype database storage correctly.Arun Isaac
* gn3/genodb.py (matrix): Reshape column major genotype database storage as ncols x nrows instead of as nrows x ncols.
2022-10-22fix issue;parsing sample data (#102)Alexander Kabui
2022-10-18Support server side SQL query retrieval.Arun Isaac
* gn3/monads.py: Import SSDictCursor from MySQLdb.cursors. (query_sql): Add server_side argument.
2022-10-18Add database connection context manager.Arun Isaac
* gn3/db_utils.py: Import contextlib. Import Any, Iterator, Protocol and Tuple from typing. (database_connector): Deprecate function. (Connection): New class. (database_connection): New function.
2022-10-18Add monadic utilities.Munyoki Kilyungi
* gn3/monads.py: New file. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2022-10-06DEBUG: Collect more info for debuggingFrederick Muriuki Muriithi
2022-10-06DEBUG: Collect more information on possible failure.Frederick Muriuki Muriithi
2022-10-03Bug: Do not process data for output too earlyFrederick Muriuki Muriithi
* gn3/computations/rust_correlation.py: (parse_tissue_corr_data): The function was parsing data from a file, and then converting the parsed values into a comma-separated string for output, despite the fact that the data parsed is not output in this specific function. This is a really bad idea, and leads to errors showing up down the line, far removed from the cause.
2022-09-30Add escape char to avoid error notice.Frederick Muriuki Muriithi
2022-09-29Use the built-in csv module for file outputFrederick Muriuki Muriithi
Use the built-in csv module for file output in order to avoid subtle errors in the formats.
2022-08-25revert for commit 6db3b2af8fc09999996d3acc09890a06f179c669;BugAlexander_Kabui
2022-08-23Remove conn.commit() and conn.rollback()Munyoki Kilyungi
* gn3/db/__init__.py (update): Delete conn.commit() and conn.rollback() (insert): Ditto. * gn3/db/case_attributes.py (insert_case_attribute_audit): Ditto. (reject_case_attribute): Ditto. (approve_case_attribute): Ditto. * gn3/db/sample_data.py (update_sample_data): Ditto. (delete_sample_data): Ditto. (insert_sample_data): Ditto.
2022-08-22Use non-default MySQL port if presentFrederick Muriuki Muriithi
By default, MySQL/Mariadb connects at port 3306, however, the configuration variable `SQL_URI` could contain a different port. In that case, this commit allows the system to connect to the non-default port.
2022-08-12Add mandatory/expected fields to parsed data.Frederick Muriuki Muriithi
2022-08-10Fix returned value for 'parse_correlation_output'Frederick Muriuki Muriithi
* Always return dict * Fix internal '__parse_line__' to always have a valid return
2022-08-10code refactoringFrederick Muriuki Muriithi
2022-08-10remove unnecessary parsing of floatsAlexander_Kabui
2022-08-10code refactoringFrederick Muriuki Muriithi
2022-08-10remove unnecessary parsing of floatsAlexander_Kabui
2022-08-10enhancements for rust tissueFrederick Muriuki Muriithi
2022-08-10pylint fixesAlexander_Kabui
2022-08-10code refactoringAlexander_Kabui
2022-08-10remove unnessary codeAlexander_Kabui
2022-08-10remove unnecessary parsing of floatsAlexander_Kabui
2022-08-10merge for resultsAlexander_Kabui
2022-08-10enhancements for rust tissueAlexander_Kabui
2022-08-03Refactor: Remove unnecessary whitespace and nameFrederick Muriuki Muriithi
2022-08-03Refactor: Remove unnecessary iterations and nameFrederick Muriuki Muriithi
* remove extra iteration that is unnecessary * remove unnecessary variables
2022-07-29Fix failing testsFrederick Muriuki Muriithi
* gn3/computations/correlations.py: rename function * mypy.ini: deactivate mypy error about missing imports * tests/integration/test_correlation.py: mock correct function * tests/unit/computations/test_correlation.py: test correct function
2022-07-28Add command to run the sample correlations in an external processFrederick Muriuki Muriithi
2022-07-28Update sample correlations code to use multiprocessingFrederick Muriuki Muriithi
* To help speed up the processing of the correlations, convert the `compute_all_sample_correlation` function to use the multiprocessing module.
2022-07-22mypy fixesAlexander_Kabui
2022-07-22pep8 fixesAlexander_Kabui
2022-07-22linting and tests fixesAlexander_Kabui
2022-07-22import rust_correlation when running gn3 as libAlexander_Kabui
2022-07-22compute num overlapAlexander_Kabui
2022-07-22fix for bug splitting list dataAlexander_Kabui
2022-07-22minor fixes for parsing dataAlexander_Kabui
2022-07-22code to parse tissue correlation inputAlexander_Kabui
2022-07-22mypy pylint fixesAlexander_Kabui
2022-07-22code to fetch correct sample corr dataAlexander_Kabui
2022-07-22delete dead_code;rename variablesAlexander_Kabui
2022-07-22minor fixesAlexander_Kabui
2022-07-11Allow CORS everywhere by defaultFrederick Muriuki Muriithi
Allow the resources (endpoints) to be accessible from anywhere on the internet by default, while still allowing for restriction via CLI environment variable on a case by case basis.