aboutsummaryrefslogtreecommitdiff
path: root/wqflask
AgeCommit message (Collapse)Author
2022-09-06Refactor: Use joins for queriesFrederick Muriuki Muriithi
Use joins to relate tables when fetching data.
2022-09-06Set up the self.* variables from query resultsFrederick Muriuki Muriithi
Set up the appropriate self.* variables from the results of running the appropriate query.
2022-09-06Use dataset name if dataset group name is not set.Frederick Muriuki Muriithi
2022-09-05Fix failing mapping test by using get to fetch values from a dictMunyoki Kilyungi
Should a key not exist when running: "my_dict['some_key']", an exception is raised. As such, use "my_dict.get('some_key')" which defaults to "None" if a key is non-existent. * wqflask/wqflask/api/mapping.py (do_mapping_for_api): Replace instances of "my_dict['some_key']" with "my_dict.get('some_key')".
2022-09-05Replace "assert" with ValueErrorMunyoki Kilyungi
* wqflask/wqflask/api/mapping.py (do_mapping_for_api): Raise a ValueError if 'db' and 'trait_id' or not present in 'start_vars' instead of doing an "assert".
2022-09-05Update values for "additive" in failing gemma testMunyoki Kilyungi
* wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py (TestGemmaMapping.test_parse_loco_outputfile_found): Use a halved value in expected_results["additive"].
2022-09-01Remove unused string import.Arun Isaac
* wqflask/wqflask/database.py: Do not import Template from string.
2022-09-01Allow connecting to SQL database without a password.Arun Isaac
* wqflask/wqflask/database.py (database_connection): Use empty string as password when there is none.
2022-08-31Delete unused modulesMunyoki Kilyungi
* wqflask/base/data_set.py: Delete "menu_main" import. * wqflask/db/call.py: Delete it. * wqflask/db/gn_server.py: Ditto. * wqflask/wqflask/submit_bnw.py: Ditto.
2022-08-31Replace fetchall, fetchone, fetch1 with database_connectionMunyoki Kilyungi
* wqflask/base/data_set.py: Replace "db.call" import with "database_connection". (create_datasets_list): Use "database_connection" to fetch data. (DatasetGroup.__init__): Ditto. (DataSet.retrieve_other_names): Ditto. (PhenotypeDataSet.setup): Remove query escaping in string and format the string. (GenotypeDataSet.setup): Ditto. (MrnaAssayDataSet.setup): Ditto. * wqflask/db/webqtlDatabaseFunction.py: Remove db.call import. (retrieve_species): Use database_connection() to fetch data. (retrieve_species_id): Ditto.
2022-08-31Delete benchmark moduleMunyoki Kilyungi
* wqflask/utility/benchmark.py: Delete module.
2022-08-31Remove "with Bench ..." callsMunyoki Kilyungi
"with Bench" instruments how long a function takes and generates time reports on as INFO logs. This should be done on a developer server. Should the log level be low enough, this bench marks will generate a lot of noise. Instrumentation should be done during development. * wqflask/base/data_set.py (create_datasets_list): Remove "with Bench...". * wqflask/db/call.py (fetchone): Ditto. (fetchall): Ditto. (gn_server): Ditto. * wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto. * wqflask/wqflask/marker_regression/display_mapping_results.py (DisplayMappingResults.__init__): Ditto. * wqflask/wqflask/marker_regression/run_mapping.py (RunMapping.__init__): Ditto. * wqflask/wqflask/update_search_results.py (GSearch.__init__): Ditto. * wqflask/wqflask/views.py (search_page): Ditto. (heatmap_page): Ditto. (mapping_results_page): Ditto.
2022-08-31Remove usage of "logger" and un-necessary comments wrt the sameMunyoki Kilyungi
Logging is used to introspect variables or notify the commencement of a given operation. Logging should only be used to log errors. Also, most of the logging is either "logger.debug" or "logger.info"; and this won't show up in production/testing since we need a logging level above "WARNING" for them to show up. * wqflask/base/data_set.py (create_datasets_list): Remove logger. (Markers.add_pvalues): Ditto. (DataSet.retrieve_other_names): Ditto. * wqflask/base/mrna_assay_tissue_data.py: Ditto. * wqflask/base/webqtlCaseData.py: Ditto. * wqflask/db/call.py (fetch1): Ditto. (gn_server): Ditto. * wqflask/db/gn_server.py: Ditto. * wqflask/maintenance/set_resource_defaults.py: Ditto. * wqflask/utility/Plot.py (find_outliers): Ditto. * wqflask/utility/gen_geno_ob.py: Ditto. * wqflask/utility/helper_functions.py: Ditto. * wqflask/utility/pillow_utils.py: Ditto. * wqflask/utility/redis_tools.py: Ditto. * wqflask/wqflask/api/gen_menu.py (get_groups): Ditto. * wqflask/wqflask/api/mapping.py: Ditto. * wqflask/wqflask/api/router.py (get_dataset_info): Ditto. * wqflask/wqflask/collect.py (report_change): Ditto. * wqflask/wqflask/correlation/corr_scatter_plot.py: Ditto. * wqflask/wqflask/ctl/ctl_analysis.py (CTL): Ditto. (CTL.__init__): Ditto. (CTL.run_analysis): Ditto. (CTL.process_results): Ditto. * wqflask/wqflask/db_info.py: Ditto. * wqflask/wqflask/do_search.py (DoSearch.execute): Ditto. (DoSearch.mescape): Ditto. (DoSearch.get_search): Ditto. (MrnaAssaySearch.run_combined): Ditto. (MrnaAssaySearch.run): Ditto. (PhenotypeSearch.run_combined): Ditto. (GenotypeSearch.get_where_clause): Ditto. (LrsSearch.get_where_clause): Ditto. (MeanSearch.run): Ditto. (RangeSearch.get_where_clause): Ditto. (PvalueSearch.run): Ditto. * wqflask/wqflask/docs.py: Ditto. * wqflask/wqflask/export_traits.py: Ditto. * wqflask/wqflask/external_tools/send_to_bnw.py: Ditto. * wqflask/wqflask/external_tools/send_to_geneweaver.py: Ditto. * wqflask/wqflask/external_tools/send_to_webgestalt.py: Ditto. * wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto. * wqflask/wqflask/heatmap/heatmap.py: Ditto. * wqflask/wqflask/marker_regression/display_mapping_results.py (DisplayMappingResults): Ditto. * wqflask/wqflask/marker_regression/gemma_mapping.py: Ditto. * wqflask/wqflask/marker_regression/plink_mapping.py (run_plink): Ditto. * wqflask/wqflask/marker_regression/qtlreaper_mapping.py (run_reaper): Ditto. * wqflask/wqflask/marker_regression/rqtl_mapping.py: Ditto. * wqflask/wqflask/marker_regression/run_mapping.py (RunMapping.__init__): Ditto. * wqflask/wqflask/parser.py (parse): Ditto. * wqflask/wqflask/search_results.py (SearchResultPage.__init__): Ditto. * wqflask/wqflask/update_search_results.py (GSearch.__init__): Ditto. * wqflask/wqflask/user_login.py (send_email): Ditto. (logout): Ditto. (forgot_password_submit): Ditto. (password_reset): Ditto. (password_reset_step2): Ditto. (register): Ditto. * wqflask/wqflask/user_session.py (create_signed_cookie): Ditto.
2022-08-31Remove unused "string" importMunyoki Kilyungi
* wqflask/utility/logger.py: Delete "import string".
2022-08-31Replace debug with error logs in Except block pre/post a sessionMunyoki Kilyungi
Put error logs in an Except block for easier parsing and re-word the error messages in them. * wqflask/wqflask/views.py: Delete "utility.logger" and "logger". (connect_db): Delete "g._database". Delete "logger.debug()". Use "app.logger.error" in Except block. (shutdown_session): Delete "logger.debug()". Use "app.logger.error" in Except block.
2022-08-31Add transform parameter to mapping api unit testzsloan
2022-08-31Change qnorm parameter to transform, so other transforms can be added laterzsloan
2022-08-31Add qnorm option to mapping apizsloan
2022-08-31Move normf function out of quantile_normalize_vals so it can be imported by ↵zsloan
mapping api
2022-08-31Fix failing api/test_mapping.py testzsloan
2022-08-31Re-add read_from_pyfileMunyoki Kilyungi
* wqflask/wqflask/database.py (read_from_pyfile): Re-add it. This is used in the sql_uri() function.
2022-08-30Remove logging and unused imports from api/mapping.pyzsloan
2022-08-30Add genofile parameter to mapping API endpointzsloan
2022-08-30Close a database connection only onceMunyoki Kilyungi
* wqflask/wqflask/database.py (database_connection): Close connection only once; otherwise an error is raised.
2022-08-25Merge branch 'chores/gn2-queries-optimization' of ↵Frederick Muriuki Muriithi
github.com:Alexanderlacuna/genenetwork2 into Alexanderlacuna-chores/gn2-queries-optimization
2022-08-24Fix issue where literature correlations were always run against their own ↵zsloan
dataset, instead of the target dataset
2022-08-24Limit literature correlation results to top N as specified in the formzsloan
2022-08-23Add support for database rollbacks if the db engine supports it.Munyoki Kilyungi
* wqflask/wqflask/database.py: Import contextlib. (database_connection): Refactor to support roll-backs.
2022-08-23Delete unused function and imports.Munyoki Kilyungi
* wqflask/wqflask/database.py: Remove unused sqlalchemy imports. (read_from_pyfile): Delete it.
2022-08-23integrate code for fetching traits metadataAlexander_Kabui
2022-08-23function to fetch metadataAlexander_Kabui
2022-08-20Divide GEMMA additive effect by 2zsloan
2022-08-20Fix JS for opening new tabs (or not) for collection page tools/optionszsloan
2022-08-18bulk fetch n number of traits type probesetAlexander_Kabui
2022-08-17Use context managers for database cursorsFrederick Muriuki Muriithi
2022-08-17Merge branch 'chores/rust-enhancements' of ↵Frederick Muriuki Muriithi
github.com:Alexanderlacuna/genenetwork2 into Alexanderlacuna-chores/rust-enhancements
2022-08-16Merge dicts into single resultFrederick Muriuki Muriithi
2022-08-16Convert list items to single dictFrederick Muriuki Muriithi
2022-08-16rename boolean variablesAlexander_Kabui
2022-08-16linter fixesAlexander_Kabui
2022-08-16enable compute all for testAlexander_Kabui
2022-08-16index error fixAlexander_Kabui
2022-08-16remove flask g objectAlexander_Kabui
2022-08-16minor fixes for computing all correlationsAlexander_Kabui
2022-08-15add default values for num overlap,corr_coeffAlexander_Kabui
2022-08-14init:perform top n sample for probesAlexander_Kabui
2022-08-12Revert "Check for keys before using them."Frederick Muriuki Muriithi
This reverts commit a1cbc12f843bbdc1759d5acac5ae3630fb5d4b81.
2022-08-12Add a profiling scriptFrederick Muriuki Muriithi
Add a script to enable profiling the code.
2022-08-12Fix some issues with the tests. Add notes in code for improvements.Frederick Muriuki Muriithi
2022-08-12Refactor: separate the three correlation typesFrederick Muriuki Muriithi
Refactor the code such that each correlation type (sample, tissue, literature) is computed in its own function. This makes the code clearer, and helps reduce repetition.