Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
__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
|
|
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.
|
|
|
|
|
|
Not sure why this was removed...I guess it looked like an unused import?
|
|
|
|
|
|
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.
|
|
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.
|
|
Use the `self.conn` variable to prevent test from failing.
|
|
|
|
|
|
|
|
To ease future refactors on the code, decompose the file into a module
with multiple modules that can be refactored semi-independently.
|
|
|
|
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.
|
|
The assertions was checking that the function was implemented a certain
way, rather than whether the function was doing the correct thing.
|
|
* Check that the required file paths exist
* Check the bimbam directory path only once
|
|
* 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.
|
|
Empty files lead to json encoding errors; this commit checks whether
the file is empty before attempting to parse the file.
|
|
Provide the user with the missing file/directory in the error message
to make debugging easier.
|
|
If a file/directory does not exist, raise the builtin
`FileNotFoundError` rather than the generic `Exception`.
|
|
* wqflask/utility/monads.py (MonadicDictCursor): Add example code to
docstring.
|
|
* wqflask/utility/monads.py (MonadicDict): Add example code to
docstring.
|
|
* wqflask/utility/monads.py (MonadicDict)[__init__]: Set default
dictionary argument to the empty dictionary.
|
|
* wqflask/utility/monads.py: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The assumption that the resultset will never be empty was leading to a
lot of errors.
|
|
|
|
A tuple of chromosome names was being passed into the query as a single
argument, while it expected a separate argument for each chromosome
|
|
After a recent change, it always tries to unpack 6 values from the
query, but it should only be unpacking 4 values if not type ProbeSet (so
it was throwing an error for anything not ProbeSet)
|
|
|
|
|
|
|