Age | Commit message (Expand) | Author |
2022-06-17 | gn3: genodb: Rename Matrix named tuple to GenotypeMatrix....* gn3/genodb.py (Matrix): Rename to GenotypeMatrix.
(matrix): Update invocation of Matrix.
| Arun Isaac |
2022-06-17 | gn3: genodb: Allow retrieval of the entire genotype matrix....* gn3/genodb.py: Document nparray in the module docstring.
(nparray): New function.
| Arun Isaac |
2022-06-17 | gn3: genodb: Read optimized storage for the current matrix....The genotype database now stores the current version of the matrix alone in a
read-optimized form, while storing the older versions of the matrix in a more
compressed form. We are only interested in the current version of the
matrix. So, always use the read optimized storage.
* gn3/genodb.py (Matrix)[row_pointers, column_pointers]: Delete fields.
[array, transpose]: New fields.
* gn3/genodb.py (matrix, row, column): Read from read-optimized storage.
(vector_ref): Delete function.
| Arun Isaac |
2022-06-09 | gn3: genodb: Remove blank line in module docstring....* gn3/genodb.py: Remove blank line in module docstring.
| Arun Isaac |
2022-06-09 | gn3: genodb: Rewrite without classes....We rewrite genodb using only functions. This makes for much more readable
code.
* gn3/genodb.py: Rewrite without classes.
| Arun Isaac |
2022-06-08 | gn3: genodb: Support reading columns....* gn3/genodb.py (Matrix.__init__): Retrieve column pointers from database.
(row): Abstract out vector access code to ...
(Matrix.__vector): ... here.
(Matrix.column): New method.
| Arun Isaac |
2022-06-08 | gn3: genodb: Read only the most recent genotype matrix....The genotype database format now supports versioning of matrices. So, we
update genodb.py to return only the most recent genotype matrix.
* gn3/genodb.py (GenotypeDatabase.matrix): Return only the most recent
genotype matrix.
| Arun Isaac |
2022-06-08 | gn3: genodb: Open genotype database in read-only mode....* gn3/genodb.py (GenotypeDatabase.__init__): Open genotype database in
read-only mode.
| Arun Isaac |
2022-06-08 | gn3: genodb: Do not create genotype database if it does not exist....* gn3/genodb.py (GenotypeDatabase.__init__): Do not create genotype database
if it does not exist.
| Arun Isaac |
2022-06-08 | gn3: genodb: Decide on little endianness....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.
| Arun Isaac |
2022-06-08 | gn3: genodb: Do not terminate database strings with null....* gn3/genodb.py (GenotypeDatabase.get_metadata, GenotypeDatabase.matrix): Do
not terminate database strings with the null character.
| Arun Isaac |
2022-06-03 | gn3: Add genodb....genodb is a tiny library to read our new genotype database file format.
* gn3/genodb.py: New file.
| Arun Isaac |
2022-05-31 | Remove unnecessary statement | Frederick Muriuki Muriithi |
2022-05-31 | Extract utility functions from `fetch_all_database_data`...Extract the utility functions to help with understanding the what the
`fetch_all_database_data` function is doing. This helps with maintenance.
| Frederick Muriuki Muriithi |
2022-05-30 | Pass trait data as args to `fix_strains` and fix some bugs...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.
| Frederick Muriuki Muriithi |
2022-05-27 | Move sql for CRUD operations on case-attrs from gn2 to gn3 | BonfaceKilz |
2022-05-27 | Move sql for modifying case-attributes from gn2 to gn3 | BonfaceKilz |
2022-05-27 | sql: caseattributes_audit.sql: New file...Create new table that stores edits related to case-attributes.
| BonfaceKilz |
2022-05-27 | Return all the results from CaseAttributes column as is...* 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.
| BonfaceKilz |
2022-05-26 | Add Endpoint to get menu items for use in UI | Frederick Muriuki Muriithi |
2022-05-24 | Run partial correlations with external script...Use new external script to run the partial correlations for both cases,
i.e.
- against an entire dataset, or
- against selected traits
| Frederick Muriuki Muriithi |
2022-05-24 | Fix some linting issues | Frederick Muriuki Muriithi |
2022-05-24 | New script to compute partial correlations...* 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.
| Frederick Muriuki Muriithi |
2022-05-21 | Fix linting errors | Frederick Muriuki Muriithi |
2022-05-21 | Use multiprocessing to improve performance | Frederick Muriuki Muriithi |
2022-05-21 | Process primary, target and control traits in a single iteration...Rework the code to process the traits in a single iteration to improve
performance.
| Frederick Muriuki Muriithi |
2022-05-21 | Return generator object rather than tuples...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.
| Frederick Muriuki Muriithi |
2022-05-16 | Run computation in one-shot asynchronous process...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.
| Frederick Muriuki Muriithi |
2022-05-16 | Enable running the worker in "one-shot" mode...Enable the running of the worker script in one-shot mode.
| Frederick Muriuki Muriithi |
2022-05-06 | Fix linting and typing errors | Frederick Muriuki Muriithi |
2022-05-06 | Hook up pcorrs with target traits computations...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
| Frederick Muriuki Muriithi |
2022-05-05 | Compute partial correlation with selected traits...Compute partial correlations against a selection of traits rather than against
an entire dataset.
| Frederick Muriuki Muriithi |
2022-05-05 | Extract common error checking. Rename function....* Extract the common error checking code into a separate function
* Rename the function to make its use clearer
| Frederick Muriuki Muriithi |
2022-05-05 | Link to continuous deployment in README....* README.md: Link to continuous deployment.
| Arun Isaac |
2022-05-03 | Refactor: Remove unnecessary loop...Remove an unnecessary looping construct to help with speeding up the partial
correlations somewhat.
| Frederick Muriuki Muriithi |
2022-04-29 | Replace whole header with the longest one, instead of just the...non-CaseAttribute headers (before this caused issues if someone was
adding case attributes to a file that already contained some case
attributes)
| zsloan |
2022-04-29 | Get max string length instead when comparing headers...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)
| zsloan |
2022-04-12 | Delete "get_allowable_sampledata_headers"...* 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.
| BonfaceKilz |
2022-04-12 | Strip any newline, tab or carriage-return chars from sample data...* 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>
| BonfaceKilz |
2022-04-12 | Test that a carriage return is removed when generating csv...* tests/unit/db/test_sample_data.py: import "get_trait_csv_sample_data".
(test_get_trait_csv_sample_data): New test function.
| BonfaceKilz |
2022-04-07 | Fix pylint errors | BonfaceKilz |
2022-04-07 | Fix mypy error | BonfaceKilz |
2022-04-07 | Use case attribute id inside brackets if present during insertions...* 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.
| BonfaceKilz |
2022-04-07 | Use case attribute id inside brackets if present during insertions...* 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.
| BonfaceKilz |
2022-04-07 | Use case attribute id inside brackets if present during updates...* 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.
| BonfaceKilz |
2022-04-07 | Add method for fetching the case_attributes...* 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.
| BonfaceKilz |
2022-04-07 | Run python black on file...* gn3/db/sample_data.py: Run "python black -l 79 ..."
| BonfaceKilz |
2022-04-07 | Add method for parsing a csv header from uploaded sample-data file...* gn3/csvcmp.py (parse_csv_column): New function.
* tests/unit/test_csvcmp.py: Test case for the above.
| BonfaceKilz |
2022-04-01 | Run python-black in file...* gn3/csvcmp.py: Run "black -l 79 ..."
* tests/unit/db/test_sample_data.py: Ditto.
* tests/unit/test_csvcmp.py: Ditto.
| BonfaceKilz |
2022-03-30 | Revert "Run json.loads on request.get_json, since request.get_json was just r......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.
| Frederick Muriuki Muriithi |