aboutsummaryrefslogtreecommitdiff
path: root/wqflask
AgeCommit message (Collapse)Author
2022-09-26Implement global search using xapian.Arun Isaac
* wqflask/wqflask/gsearch.py: Import Just and Maybe from pymonad.maybe; curry from pymonad.tools; xapian; MonadicDict from utility.monads; xapian_database from wqflask.database. Do not import datetime; database_connection from wqflask.database; base.data_set; base.trait; db; utility.type_checking; utility. (is_permitted_for_listing): New function. (GSearch.__init__): Reimplement using xapian. * wqflask/wqflask/templates/gsearch_gene.html (block js): Accept dictionaries with missing keys, replacing them with "N/A".
2022-09-26Add indexing script for global search.Arun Isaac
* wqflask/scripts/index.py: New file.
2022-09-26Add xapian database connection utilities.Arun Isaac
* etc/default_settings.py (XAPIAN_DB_PATH): New variable. * wqflask/wqflask/database.py: Import xapian. (xapian_database, xapian_writable_database): New functions.
2022-09-26Generalize sql_uri function to get any setting.Arun Isaac
* wqflask/wqflask/database.py (sql_uri): Generalize to get_setting. (database_connection): Call get_setting instead of sql_uri.
2022-09-25Fix issue where the display name was used in the hmac for phenotype traitszsloan
2022-09-23Remove click handler on global search.Arun Isaac
check_search_term is not relevant to global search. It checks search terms in the unrelated #or_search and #and_search fields. * wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js: Do not call check_search_term on clicking global search button.
2022-09-22Fix bug in GeneUtil.py query where extra quotes caused an errorzsloan
2022-09-22Use passed in cursor instead of initialising a new cursor.Frederick Muriuki Muriithi
2022-09-22Provide database cursor as argument for TheSpecies and ChromosomesFrederick Muriuki Muriithi
Provide the database cursor as an argument to the methods of the two classes: * wqflask.base.species.TheSpecies * wqflask.base.species.Chromosomes Also update dependent code to initialise and pass the cursor where these classes are used.
2022-09-22Update tests: pass in missing arguments.Frederick Muriuki Muriithi
2022-09-21Added Markers/HumanMarkers import to datasetgroup.py and removed it fromzsloan
__init__.py Previously it threw an error when it tried to use Markers/HumanMarkers in datasetgroup.py; since Markers/HumanMarkers doesn't seem to be used anywhere else, I think it's okay for the import to only be in datasetgroup.py
2022-09-21Refactor: pass redis and db connections as argumentFrederick Muriuki Muriithi
Pass the redis and database connection/cursors as arguments to the class methods, and do not retain a copy of the connections/cursors. This allows us to do the connection management in the context managers elsewhere - ideally, at the top-level. For now the context manager is within the `create_dataset` function, but this should be moved out to a higher level once the lower levels are verified to be working as expected.
2022-09-20Make -logP columns uniformzsloan
2022-09-20Make -logP columns uniformzsloan
2022-09-20Re-add collect import to views.pyzsloan
Not sure why this was removed...I guess it looked like an unused import?
2022-09-20Make Search and Global Search Max -logP columns uniformzsloan
2022-09-20Fix gsearch ProbeSet queryzsloan
2022-09-20Remove global `Dataset_Getter` variableFrederick Muriuki Muriithi
Since the `__post_init__` method in the 'DatasetType' class checks whether data is in redis before hitting the database, it does not matter whether there is a global object of the type, as long as we make sure to call the object correctly. This commit makes that happen.
2022-09-20Revert "Use member variable `self.conn` to avoid test failure"Frederick Muriuki Muriithi
This reverts commit 4fafdfd8487ddf61105b2a5ca92534c8014c1db4. While using `self.conn.cursor()` works in the tests, it will not work in the application since the point of initialisation could be very different from the point where the 'property' is called.
2022-09-20Use member variable `self.conn` to avoid test failureFrederick Muriuki Muriithi
Use the `self.conn` variable to prevent test from failing.
2022-09-20integrate use of text filesAlexander_Kabui
2022-09-20store text files in TMPDIRAlexander_Kabui
2022-09-20write probeset datasets to text filesAlexander_Kabui
2022-09-20Decompose file into separate modulesrefactor-data_set_py-20220920Frederick Muriuki Muriithi
To ease future refactors on the code, decompose the file into a module with multiple modules that can be refactored semi-independently.
2022-09-19Remove commented-out htmlzsloan
2022-09-19Provide fixtures for test. Fix error to pass test.Frederick Muriuki Muriithi
Provide the following (empty) files to be used for the test * wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt * wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt Rework the paths in `wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py` such that they point to the files added above for testing. Do not require that the phenotype file exists in `wqflask/wqflask/marker_regression/gemma_mapping.py` before attempting the mapping.
2022-09-19Remove "wrong" assertionsFrederick Muriuki Muriithi
The assertions was checking that the function was implemented a certain way, rather than whether the function was doing the correct thing.
2022-09-19Check paths before running gemma commandFrederick Muriuki Muriithi
* Check that the required file paths exist * Check the bimbam directory path only once
2022-09-19Improve error reporting for no mapping resultsFrederick Muriuki Muriithi
* wqflask/wqflask/marker_regression/exceptions.py: new NoMappingResultsError exception * wqflask/wqflask/templates/mapping_error.html: reword display of the errors * wqflask/wqflask/views.py: Raise the NoMappingResultsError exception in the case where there are no results for the mapping.
2022-09-19Check for file size before attempting parsingFrederick Muriuki Muriithi
Empty files lead to json encoding errors; this commit checks whether the file is empty before attempting to parse the file.
2022-09-19Display correct error for missing file/directoryFrederick Muriuki Muriithi
Provide the user with the missing file/directory in the error message to make debugging easier.
2022-09-19Refactor: raise appropriate errorFrederick Muriuki Muriithi
If a file/directory does not exist, raise the builtin `FileNotFoundError` rather than the generic `Exception`.
2022-09-16Add example code to docstring of MonadicDictCursor.Arun Isaac
* wqflask/utility/monads.py (MonadicDictCursor): Add example code to docstring.
2022-09-16Add example code to docstring of MonadicDict.Arun Isaac
* wqflask/utility/monads.py (MonadicDict): Add example code to docstring.
2022-09-16Initialize empty MonadicDict by default.Arun Isaac
* wqflask/utility/monads.py (MonadicDict)[__init__]: Set default dictionary argument to the empty dictionary.
2022-09-14Add monadic utilities MonadicDict and MonadicDictCursor.Arun Isaac
* wqflask/utility/monads.py: New file.
2022-09-12Add glyphicon for trait page Download tablezsloan
2022-09-12Add glyphicons for sample table Export/Reset buttonszsloan
2022-09-12Add glyphicon for GEMMA compute buttonzsloan
2022-09-12Add glyphicons to Export/Reset buttons in Transform and Filter formzsloan
2022-09-12Move global search button and add glyphiconzsloan
2022-09-12Add search glyphicons + index_page.css for the Info button stylingzsloan
2022-09-12Set Species drop-down to same width as Group/Type dropdownszsloan
2022-09-13Increase table marker limit to 25000zsloan
2022-09-13Fix bug where passing LOCO into the mapping API endpoint didn't workzsloan
2022-09-12Fix query: Add comma to separate columns.Frederick Muriuki Muriithi
2022-09-12Check for species before calling `lower()`Frederick Muriuki Muriithi
2022-09-12Check there is target data before running correlationsFrederick Muriuki Muriithi
2022-09-12Fix query: Remove extraneous bracketFrederick Muriuki Muriithi
2022-09-12Check for traits before computingFrederick Muriuki Muriithi