Age | Commit message (Collapse) | Author |
|
* gn3/genodb.py (GenotypeDatabase.__init__): Do not create genotype database
if it does not exist.
|
|
It has been decided that the genotype database will use little endianness
wherever applicable.
* gn3/genodb.py (Matrix.__init__): Remove TODO note to decide on endianness.
|
|
* gn3/genodb.py (GenotypeDatabase.get_metadata, GenotypeDatabase.matrix): Do
not terminate database strings with the null character.
|
|
genodb is a tiny library to read our new genotype database file format.
* gn3/genodb.py: New file.
|
|
|
|
Extract the utility functions to help with understanding the what the
`fetch_all_database_data` function is doing. This helps with maintenance.
|
|
The `fix_strains` function works on the trait data, not the basic trait
info. This commit fixes the arguments passed to the function, and also some
bugs in the function.
|
|
|
|
|
|
Create new table that stores edits related to case-attributes.
|
|
* gn3/db/sample_data.py: Remove "collections" import. Add "Optional" import.
(get_case_attributes): Return the results of "fetchall" from the case
attributes.
* tests/unit/db/test_sample_data.py (test_get_case_attributes): Update failing
test.
|
|
|
|
Use new external script to run the partial correlations for both cases,
i.e.
- against an entire dataset, or
- against selected traits
|
|
|
|
* Add a new script to compute the partial correlations against:
- a select list of traits, or
- an entire dataset
depending on the specified subcommand. This new script is meant to supercede
the `scripts/partial_correlations.py` script.
* Fix the check for errors
* Reorganise the order of arguments for the
`partial_correlations_with_target_traits` function: move the `method`
argument before the `target_trait_names` argument so that the common
arguments in the partial correlation computation functions share the same
order.
|
|
|
|
|
|
Rework the code to process the traits in a single iteration to improve
performance.
|
|
Return generator objects rather than pre-computed tuples to reduce the number
of iterations needed to process the data, and thus improve the performance of
the system somewhat.
|
|
After reworking the worker/runner to have a one-shot mode, add a function that
queues up the task and then runs the worker in the one-shot mode to process
the computation in the background.
|
|
Enable the running of the worker script in one-shot mode.
|
|
|
|
Enable the endpoint to actually compute partial correlations with selected
target traits rather than against an entire dataset.
Fix some issues caused by recent refactor that broke pcorrs against a dataset
|
|
Compute partial correlations against a selection of traits rather than against
an entire dataset.
|
|
* Extract the common error checking code into a separate function
* Rename the function to make its use clearer
|
|
* README.md: Link to continuous deployment.
|
|
Remove an unnecessary looping construct to help with speeding up the partial
correlations somewhat.
|
|
non-CaseAttribute headers (before this caused issues if someone was
adding case attributes to a file that already contained some case
attributes)
|
|
Apparently max(string1, string2) in Python gets the strong that is
highest alphabetically, but I'm pretty sure this line was intenteded
to get the header with the most items (which this commit doesn't fully
address; you could still end up with a situation where some case
attributes were removed while others were added, though that should be
rare)
|
|
* gn3/csvcmp.py (get_allowable_sampledata_headers): Delete it.
* tests/unit/test_csvcmp.py: Remove "get_allowable_sampledata_headers" import.
(test_get_allowable_csv_headers): Delete it.
|
|
* gn3/db/sample_data.py (get_trait_csv_sample_data): Strip out "\n", "\t", or
"\r" from the sample data. See:
<https://issues.genenetwork.org/issues/csv-error-ITP_10001-longevity-data-set.html>
|
|
* tests/unit/db/test_sample_data.py: import "get_trait_csv_sample_data".
(test_get_trait_csv_sample_data): New test function.
|
|
|
|
|
|
* gn3/db/sample_data.py (delete_sample_data): If an id is present in the column header, use it.
* tests/unit/db/test_sample_data.py (test_delete_sample_data): Update tests to
capture the above.
|
|
* gn3/db/sample_data.py (insert_sample_data): If an id is present in the column header, use it.
* tests/unit/db/test_sample_data.py (test_insert_sample_data): Update tests to
capture the above.
|
|
* gn3/db/sample_data.py: Import "parse_csv_column".
(update_sample_data): If an id is present in the column header, use it.
* tests/unit/db/test_sample_data.py (test_update_sample_data): Update tests to
capture the above.
|
|
* gn3/db/sample_data.py (get_case_attributes): New function.
* tests/unit/db/test_sample_data.py (test_get_case_attributes): Test case for
the above.
|
|
* gn3/db/sample_data.py: Run "python black -l 79 ..."
|
|
* gn3/csvcmp.py (parse_csv_column): New function.
* tests/unit/test_csvcmp.py: Test case for the above.
|
|
* gn3/csvcmp.py: Run "black -l 79 ..."
* tests/unit/db/test_sample_data.py: Ditto.
* tests/unit/test_csvcmp.py: Ditto.
|
|
returning a string"
This reverts commit b93b22386056347d8002dd2e403425beeb4657cd.
The appropriate fix should have been in GN2. The original statement
args = request.get_json()
was correct, since `request.get_json()` should return a python object parsed
from the JSON string in the request. Unfortunately, GN2 was encoding the
request data two times, which led to the call returning a JSON-encoded string
instead of the expected object.
The issue has been fixed in GN2 and therefore, the "fix" here can be reverted.
|
|
Remove unused modules from the `use-modules` arguments.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
* Remove a module that is no longer in use
|
|
returning a string
|
|
Implement a fixture that:
* Creates a new test database
* Copies over table structure from existing database
* Gets connection to new test database and returns it
* Cleans up after itself when the tests have run
|
|
See: <https://ci.genenetwork.org/jobs/genenetwork3-pylint/126>
* gn3/computations/rqtl.py: Run `black gn3/computations/rqtl.py`. Also,
manually fix other pylint issues.
|
|
Feature/add rqtl pairscan
|
|
https://github.com/zsloan/genenetwork3 into feature/add_rqtl_pairscan
|
|
Now it checks for pairscan first, just in case interval ends up being
passed (which is an irrelevant parameter for pairscan)
Also added a couple more verbose prints
|