aboutsummaryrefslogtreecommitdiff
path: root/gn3/db/sample_data.py
AgeCommit message (Collapse)Author
2023-09-05Delete un-used importMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-09-05Remove type annotations for "none_case_attrs" variablesMunyoki Kilyungi
* gn3/db/sample_data.py (update_sample_data, delete_sample_data, insert_sample_data): Remove type hints for "none_case_attrs". Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-08-24Change get_pheno_csv_sample_data to use group ID instead of phenotype IDzsloan
2023-08-17Fix query for fetching DataId when inserting ProbeSet datazsloan
2023-08-17Fix a couple remaining issues with function parameterszsloan
2023-08-17Combine pheno/mrna update functions + some other fixeszsloan
2023-08-17Fix a few misnamed tables in mrna delete/insert functionszsloan
2023-08-17Implement ProbeSet sample data editingzsloan
Currently there's a lot of duplicated code, so I need to ask how best to simplify it later
2023-08-17Fix probeset sample data and CSV sample data functionszsloan
2023-08-17Fix get_mrna_sample_data queryzsloan
2023-08-17Make several sample_data fetching functions specific to phenotype or mrna ↵zsloan
assay resources, and change their naming accordingly
2023-07-17Fix dict key nameFrederick Muriuki Muriithi
Remove extra colon (:) at the end of the name that was leading to the number of cases not being presented as expected.
2023-07-12Bug: Set the `data_exists` variable within the context managerFrederick Muriuki Muriithi
The `cursor.fetchone()` call that was used as the condition to the `if` was called outside of the context manager, and therefore would always give a non-truthy value at best and an inconsistent result at worst. This commit gets the value before the context manager has exited and stores it for later use.
2023-05-22Fix return typing for get_trait_sample_datazsloan
2023-05-22Remove unused variable this_datazsloan
2023-05-22Include all samples in trait sample datazsloan
This is necessary in order to allow for editing the values of samples that don't currently have values
2023-05-22Fix sample data CSV query to only fetch distinct sampleszsloan
There's probably a better way to fix this query (it was previously returning each sample twice), but DISTINCT was the easiest way I could come up with
2023-05-22Fix get_trait_sample_data functionzsloan
2023-05-22Add function for retrieving phenotype sample data as dictzsloan
2023-03-20Disable fetching case-attributes when getting sample dataMunyoki Kilyungi
* gn3/db/sample_data.py: Remove 're' import. (get_trait_csv_sample_data): Remove fetching sample data. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-03-17Add conn.commit() to queries in sample_data.pyzsloan
2022-11-02Fix pylint and mypy errorsMunyoki Kilyungi
* gn3/db/sample_data.py (get_trait_csv_sample_data): Pass __query directly to cursor.execute. Rename value to _value in for loop to make mypy pass. * gn3/db_utils.py (Connection): Add class docstring. (Connection.cursor): Add docstring. * mypy.ini: Add an entry for xapian.
2022-08-23Remove conn.commit() and conn.rollback()Munyoki Kilyungi
* gn3/db/__init__.py (update): Delete conn.commit() and conn.rollback() (insert): Ditto. * gn3/db/case_attributes.py (insert_case_attribute_audit): Ditto. (reject_case_attribute): Ditto. (approve_case_attribute): Ditto. * gn3/db/sample_data.py (update_sample_data): Ditto. (delete_sample_data): Ditto. (insert_sample_data): Ditto.
2022-05-27Move sql for modifying case-attributes from gn2 to gn3BonfaceKilz
2022-05-27Return all the results from CaseAttributes column as isBonfaceKilz
* 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.
2022-04-12Strip any newline, tab or carriage-return chars from sample dataBonfaceKilz
* 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>
2022-04-07Fix pylint errorsBonfaceKilz
2022-04-07Use case attribute id inside brackets if present during insertionsBonfaceKilz
* 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.
2022-04-07Use case attribute id inside brackets if present during insertionsBonfaceKilz
* 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.
2022-04-07Use case attribute id inside brackets if present during updatesBonfaceKilz
* 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.
2022-04-07Add method for fetching the case_attributesBonfaceKilz
* 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.
2022-04-07Run python black on fileBonfaceKilz
* gn3/db/sample_data.py: Run "python black -l 79 ..."
2022-03-14Dummy White Space commit to fix laminarBonfaceKilz
2022-03-12Fix mypy issuesBonfaceKilz
2022-03-12Fix pylint issuesBonfaceKilz
2022-03-12Store the first element as strain_idBonfaceKilz
2022-03-12Append the strain name when extracting "actions"BonfaceKilz
* gn3/db/sample_data.py (__extract_actions): During updates, make sure that the strain name is part of the returned string when extracting "actions". * tests/unit/db/test_sample_data.py: Add test cases for the above.
2022-03-12Apply auto-pep8 to sample_data.py and it's test fileBonfaceKilz
2022-03-12Add missing return type-annotationsBonfaceKilz
* tests/unit/db/test_sample_data.py (delete_sample_data): Add missing return type for type annotations. (insert_sample_data): Ditto.
2022-03-12Update how data is updated by re-using existing functionsBonfaceKilz
* gn3/db/sample_data.py (get_sample_data_ids): Re-use "delete_sample_data" and "insert_sample_data" when updating data; and also add logic for updating modified data. * tests/unit/db/test_sample_data.py: Add tests for the above.
2022-03-12Create action dict that's created when updating dataBonfaceKilz
* gn3/db/sample_data.py (__extract_actions): An update on a vector of data can contain: inserts, deletes and updates. This functions extracts these actions during an update. * tests/unit/db/test_sample_data.py (test_extract_actions): Add test-case for the above.
2022-03-12Remove check for inserted data when inserting individual dataBonfaceKilz
* gn3/db/sample_data.py (insert_sample_data)[__insert_data]: Move check to the main body. With this check here, you have 3 redundant checks. For a successful insert, it will insert the first value to the `PublishData` table and ignore the rest of the inserts.
2022-03-12Make `_map` a constantBonfaceKilz
* gn3/db/sample_data.py: Now constant, `_MAP`. (delete_sample_data)[__delete_data]: Replace `_map` with `_MAP`. (insert_sample_data)[__insert_data]: Ditto.
2022-03-12Fix faulty SQL query string when deleting case-attributesBonfaceKilz
2022-03-12Explicitly get CaseAttributeId and fix broken sql queryBonfaceKilz
* gn3/db/sample_data.py (insert_sample_data): Use correct query string. Also, use CaseAttributeId to determine whether case-attributes were inserted. If so, do not attempt an insert.
2022-03-12Remove duplicate paramsBonfaceKilz
* gn3/db/sample_data.py (insert_sample_data)[__insert_case_attribute]: Remove extra parameters.
2022-03-12Remove dead codeBonfaceKilz
2022-03-12Check whether publish data already exists before insertingBonfaceKilz
* gn3/db/sample_data.py (insert_sample_data): If data already exists in the table, do not attempt an insert; otherwise, an error will be generated.
2022-03-12Fetch id's separately for the insertion edge-caseBonfaceKilz
* gn3/db/sample_data (get_sample_data_ids): Add an extra condition that caters for inserts: during inserts, joins won't work when fetching the strain_id, publishdata_id, and strain_name. In this case, just create 2 separate queries to do that work.
2022-03-12Extract a strain name given a csv string and it's headerBonfaceKilz
* gn3/csvcmp.py (extract_strain_name): New function. * gn3/db/sample_data (delete_sample_data): Use the aforementioned function. (insert_sample_data): Ditto. * tests/unit/test_csvcmp: Test cases for above.