aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-09Check whether trait_list and sample_data exist before operationsFrederick Muriuki Muriithi
2022-09-09Remove `None` values from datasetFrederick Muriuki Muriithi
2022-09-09Filter out Samples without valuesFrederick Muriuki Muriithi
2022-09-09Refactor: Add tests and handle edge caseFrederick Muriuki Muriithi
Remove mutation of state, and handle the edge case where the sub-sequence could be an empty sequence.
2022-09-09Use `database_connection()`Frederick Muriuki Muriithi
Call the `database_connection()` function to get a connection to the database.
2022-09-09Replace `g.db.execute` with `cursor.execute`Frederick Muriuki Muriithi
2022-09-09Comment out pickling to avoid errorFrederick Muriuki Muriithi
Pickling was failing with "TypeError: cannot pickle 'Connection' object" This commit avoids the error by temporarily commenting out the line to prevent the pickling to actually test the working of the system on the CI/CD server.
2022-09-09If port is null, use MySQL's default 3306Frederick Muriuki Muriithi
2022-09-09Use `urllib.parse.urljoin` for urlsFrederick Muriuki Muriithi
Use the `urllib.parse.urljoin` function to join urls rather than string concatenation for uniformity.
2022-09-08Filter export by checked rows (when any rows are checked)zsloan
2022-09-08Fix getCheckedRows so that it only selects checkbox input elementszsloan
2022-09-08Convert variables to camelCase and remove some unused variableszsloan
2022-09-08Remove commented out codezsloan
2022-09-08Remove console logzsloan
2022-09-08Remove some unused initialized variableszsloan
2022-09-08Make GN_SERVER_URL the genenetwork3 API endpoint.Arun Isaac
From now on, GN_SERVER_URL will be the genenetwork3 API endpoint. For example, GN_SERVER_URL=https://gn3.genenetwork.org/api * wqflask/wqflask/collect.py (view_collection), wqflask/wqflask/partial_correlations_views.py (partial_correlations, poll_partial_correlation_results), wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js (defaultStatusCodeFunctions): Do not append api to GN_SERVER_URL. * etc/default_settings.py (GN_SERVER_URL): Append /api.
2022-09-08Replace "asserts" with ValueErrorsMunyoki Kilyungi
* wqflask/wqflask/api/correlation.py (do_correlation): Raise a ValueError if variables are not in the start_vars.
2022-09-08Delete unused importsMunyoki Kilyungi
* wqflask/wqflask/external_tools/send_to_geneweaver.py: Delete unused imports. * wqflask/wqflask/external_tools/send_to_webgestalt.py: Ditto.
2022-09-08Simplify how chromosomes are fetchedMunyoki Kilyungi
* wqflask/base/species.py: Import "Any" and "Union". (TheSpecies): Add type hints. Get rid of redundant "if ... else" statement. (IndChromosome.mb_length): Add type hints. (Chromosomes): Inject conn and add type hints.
2022-09-08Add type-hints to database_connectionMunyoki Kilyungi
* wqflask/wqflask/database.py: Import Protocol, Any and Iterator. (Connection): New protocol class for type-hints. (read_from_pyfile): Add type-hints. (sql_uri): Ditto. (database_connection): Ditto.
2022-09-08Test the creation of the_species, indchromosomes and chromosome objsMunyoki Kilyungi
* wqflask/tests/unit/base/test_species.py (TestTheSpecies): Delete. (TestIndChromosome): Move to pytest and parametrize. (TestChromosomes): Ditto. (test_species): Ditto. (test_create_ind_chromosome): Ditto. (test_create_chromosomes): Ditto.
2022-09-08Removing object notation after a cursor fetchMunyoki Kilyungi
* wqflask/wqflask/show_trait/SampleList.py (SampleList.get_attributes): Remove object notation. (SampleList.get_extra_attribute_values): Ditto.
2022-09-08Remove redundant cursor.fetchone()Munyoki Kilyungi
* wqflask/base/data_set.py (DataSet.retrieve_other_names): Call cursor.fetchone() only once.
2022-09-08Use "%s" in sql queryMunyoki Kilyungi
* wqflask/base/mrna_assay_tissue_data.py: Delete db_tools. (MrnaAssayTissueData.get_symbol_values_pairs): Re-format query. * wqflask/tests/unit/base/test_mrna_assay_tissue_data.py: (test_get_trait_symbol_and_tissue_values): Add test for above.
2022-09-08Move test case to mrna_assay_tissue_data test moduleMunyoki Kilyungi
* wqflask/tests/unit/base/test_mrna_assay_tissue_data.py * wqflask/tests/unit/wqflask/correlation/test_correlation_functions.py (TestCorrelationFunctions.test_tissue_corr_computation): Delete. (TestCorrelationFunctions): Move this ... (test_mrna_assay_tissue_data_initialisation): ... here
2022-09-08Inject database connection to mrna_assay_tissue_data classMunyoki Kilyungi
* wqflask/base/mrna_assay_tissue_data.py: Imports: Delete database_connection, escape, and database_connector. (MrnaAssayTissueData): Inject conn. Re-format queries. Rework 'if ... else' logic. Re-work how results are assigned to 'self.data[symbol]' - remove dot-notation. (MrnaAssayTissueData.get_symbol_values_pairs): Move box-comments to doc-string. Rework how results are assigned to 'symbol_values_dict' - remove dot-notation. * wqflask/tests/unit/base/test_mrna_assay_tissue_data.py (test_mrna_assay_tissue_data_initialisation): New test. * wqflask/wqflask/correlation/correlation_functions.py: Import database_connection. (get_trait_symbol_and_tissue_values): Inject conn object.
2022-09-08Rewrite "test_tissue_corr_computation" as a pytestMunyoki Kilyungi
* wqflask/tests/unit/wqflask/correlation/test_correlation_functions.py (TestCorrelationFunctions): Convert this unittest class to ... (test_tissue_corr_computation): ... a pytest function.
2022-09-08Use "%s" instead of "%2.6f" or "%d" in query.Munyoki Kilyungi
* wqflask/wqflask/interval_analyst/GeneUtil.py (loadGenes): Use "%s".
2022-09-08Fix sql queriesMunyoki Kilyungi
"%s" should only be used outside table names and column names otherwise a string literal will be inserted thereby leading to errors in the sql statements. * wqflask/base/data_set.py (geno_mrna_confidentiality): Use f-strings for table/columns/clause. * wqflask/base/trait.py (retrieve_trait_info): Ditto. * wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto. * wqflask/wqflask/interval_analyst/GeneUtil.py (loadGenes): Ditto. * wqflask/wqflask/snp_browser/snp_browser.py (SnpBrowser.get_browser_results): Ditto.
2022-09-08Deleting utility.loggerMunyoki Kilyungi
* wqflask/utility/logger.py: Delete.
2022-09-08Add missing "," in cursor.execute()Munyoki Kilyungi
* wqflask/base/data_set.py (DatasetGroup.get_mapping_methods): Fix failing query by adding a missing ",".
2022-09-08Delete unused importsMunyoki Kilyungi
* wqflask/wqflask/search_results.py: Remove unused imports.
2022-09-08Remove intermediate variables that are only used onceMunyoki Kilyungi
* wqflask/base/data_set.py (DatasetGroup.__init__): Remove "query" variable. (DataSet.chunk_dataset): Fix indentation. * wqflask/wqflask/search_results.py (get_GO_symbols): Remove "this_term" variable. * wqflask/wqflask/views.py (search_page): Remove "the_search" variable.
2022-09-08Force pytest to use "importlib" import-mode to be able to runMunyoki Kilyungi
Having "--import-mode=importlib" enables pytest to find the imports in our tests; otherwise we get import errors. * pyproject.toml: New pytest conf file.
2022-09-08Replace "g.db" mocks with "database_connection" mocksMunyoki Kilyungi
* wqflask/tests/unit/base/test_trait.py: Delete "wqflask.app" import. (TestRetrieveTraitInfo.setUp): Delete it. (TestRetrieveTraitInfo.tearDown): Ditto. (TestRetrieveTraitInfo.test_retrieve_trait_info_with_empty_dataset): Replace "g" mock with "database_connection" mock. (test_retrieve_trait_info_with_empty_trait_info): Ditto. (test_retrieve_trait_info_with_non_empty_trait_info): Ditto. (test_retrieve_trait_info_utf8_parsing): Ditto. * wqflask/tests/wqflask/show_trait/test_show_trait.py (TestTraits): (test_get_nearest_marker): Ditto. (test_get_nearest_marker_empty_db): Ditto.
2022-09-08Adjust expected table widthMunyoki Kilyungi
* wqflask/tests/wqflask/show_trait/test_show_trait.py (TestTraits.test_get_table_widths): Use new values for the table width to make the tests pass.
2022-09-08Condense test-cases for "get_ncbi_summary_request" into one testMunyoki Kilyungi
* wqflask/tests/wqflask/show_trait/test_show_trait.py: (TestTraits.test_get_ncbi_summary_request_success): Condense this ... (TestTraits.test_get_ncbi_summary_request): ... and this ... (test_get_ncbi_summary_request): ... here.
2022-09-08Parametrize test cases for "check_if_attr_exists"Munyoki Kilyungi
* wqflask/tests/wqflask/show_trait/test_show_trait.py: Import pytest. (TestTraits.test_check_if_attr_exists_truthy): Delete it. (TestTraits.test_check_if_attr_exists_empty_attr): Ditto. (TestTraits.test_check_if_attr_exists_falsey): Ditto. (TestTraits.test_check_if_attr_exists_falsey): Ditto. test_check_if_attr_exists: Add new parametrized test case to test "check_if_attr_exists".
2022-09-08Add extra distinct_values and id attributes to test TraitObjectMunyoki Kilyungi
* wqflask/tests/wqflask/show_trait/test_show_trait.py (TraitObject): Add self.id and self.distinct_values.
2022-09-08Remove app initialisation in testMunyoki Kilyungi
* wqflask/tests/wqflask/show_trait/test_show_trait.py: Delete "wqflask.app" import. (TestTraits.setUp): Delete it. (TestTraits.tearDown): Ditto.
2022-09-08Recommend pytests in READMEMunyoki Kilyungi
* README.md (Testing): Using pytests instead of unittests.
2022-09-08Move data.gen_menu_json to test_data_set.pyMunyoki Kilyungi
This is done to avoid relative imports. wqflask/tests/unit/base/data.py: Delete it. * wqflask/tests/unit/base/test_data_set.py: Add new variable GEN_MENU_JSON. (TestDataSetTypes.test_data_set_type_with_empty_redis): Upper-case "gen_menu_json" variable.
2022-09-08Replace "g.db" with "database_connection" in documentationMunyoki Kilyungi
2022-09-08Remove "g.db" init from every sessionMunyoki Kilyungi
"g.db" is now replaced with "database_connections". * wqflask/wqflask/views.py: Remove "sqlalchemy" and "SQL_URI" imports. (connect_db): Delete it. (shutdown_session): Ditto.
2022-09-08Remove sql_alchemy initialisation when profiling correlationsMunyoki Kilyungi
* wqflask/scripts/profile_corrs.py: Remove sqlalchemy, connect_db and shutdown_session. (__main__): Remove "g.db".
2022-09-08Delete dead importsMunyoki Kilyungi
* wqflask/base/data_set.py: Remove un-used imports. * wqflask/base/trait.py: Ditto. wqflask/tests/wqflask/show_trait/test_show_trait.py: Ditto. * wqflask/wqflask/show_trait/show_trait.py: Ditto. * wqflask/wqflask/views: Ditto.
2022-09-08Replace g.db with database_connection() context managerMunyoki Kilyungi
* wqflask/base/data_set.py (DatasetType.set_dataset_key): Replace g.db with "database_connection()". (DatasetGroup.get_mapping_methods): Ditto. (DataSet.get_accession_id): Ditto. (DataSet.retrieve_other_names): Rework "if ... else" logic to get rid of "query" and "_vars" variables. Also, nest "try ... except" block within "database_connection". (DataSet.chunk_dataset): Replace g.db with "database_connection()". (DataSet.get_probeset_data): Ditto. (DataSet.get_trait_data): Ditto. (PhenotypeDataSet.get_trait_info): Ditto. (PhenotypeDataSet.retrieve_sample_data): Ditto. (GenotypeDataSet.retrieve_sample_data): Ditto. (MrnaAssayDataSet.get_trait_info): Ditto. (MrnaAssayDataSet.retrieve_sample_data): Ditto. (MrnaAssayDataSet.retrieve_genes): Ditto. (TempDataSet): Ditto. (geno_mrna_confidentiality): Ditto. (query_table_timestamp): Ditto. * wqflask/wqflask/api/router.py: Replace "flask.g" with database_connection import. (get_species_list): Replace g.db with "database_connection()". (get_species_info): Ditto. (get_groups_list): Ditto. (get_group_info): Ditto. (get_datasets_for_group): Ditto. (get_dataset_info): Ditto. (fetch_traits): Ditto. (all_sample_data): Ditto. (trait_sample_data): Ditto. (get_trait_info): Ditto. (get_dataset_trait_ids): Ditto. (get_samplelist): Ditto. (get_group_id_from_dataset): Ditto. (get_group_id): Ditto.
2022-09-08Delete logger importMunyoki Kilyungi
* wqflask/base/trait.py: Remove utility.logger
2022-09-08Replace assertion with Value Error for non-existent datasetMunyoki Kilyungi
* wqflask/base/trait.py (retrieve_trait_info): Wrap error message in ValueError.
2022-09-08Replace g.db with database_connection() context managerMunyoki Kilyungi
* wqflask/base/mrna_assay_tissue_data.py: Replace "flask.g" with database_connection. (MrnaAssayTissueData.__init__): Use database_connection. (MrnaAssayTissueData.get_symbol_values_pairs): Ditto. * wqflask/base/species.py: Replace "Flask.g" imports with "database_connection". (Chromosomes.chromosomes): Use database_connection. * wqflask/base/trait.py: Import database_connection. (retrieve_trait_info): Use database_connection. * wqflask/utility/authentication_tools.py: Replace "flask.g" with database_connection. (get_group_code): Use database_connection. * wqflask/utility/helper_functions.py: Replace "flask.g" with "database_connection". (get_species_groups): Use database_connection. * wqflask/wqflask/db_info.py: Replace "Flask" and "g" with "database_connection". (InfoPage.get_info): Use database_connection. * wqflask/wqflask/do_search.py (DoSearch.execute): Use database_connection(). * wqflask/wqflask/external_tools/send_to_geneweaver.py: Replace "Flask" and "g" import with database_connection. (test_chip): Use database_connection. * wqflask/wqflask/external_tools/send_to_webgestalt.py: Replace "Flask, g" imports with database_connection. (test_chip): Use database_connection. * wqflask/wqflask/gsearch.py: Replace "Flask" and "g" import with database_connection. (GSearch.__init__): Use database_connection. * wqflask/wqflask/interval_analyst/GeneUtil.py (loadGenes): Use database_connection(). * wqflask/wqflask/show_trait/SampleList.py: Replace "flask.g import" with database_connection. (SampleList.get_attributes): Use database_connection. (SampleList.get_extra_attribute_values): Ditto. * wqflask/wqflask/show_trait/show_trait.py: Replace "Flask" and "g" import with database_connection. (ShowTrait.__init__): Use database_connection. (ShowTrait.get_external_links): Ditto. (get_nearest_marker): Ditto.