aboutsummaryrefslogtreecommitdiff
path: root/gn3/db
AgeCommit message (Collapse)Author
2023-06-02Create a function for stripping the last bit from a URLMunyoki Kilyungi
* gn3/db/rdf.py: Import unquote and urlparse. (strip_url): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-05-22Use string literal concatenation to make genofile_path line shorterzsloan
2023-05-22Fix quotes when setting genofile_pathzsloan
2023-05-22Fix return typing for get_trait_sample_datazsloan
2023-05-22Change type from 'any' to 'Any'zsloan
2023-05-22Use f-string for setting genofile_pathzsloan
Also set default value for os.environ.get("GENENETWORK_FILES")
2023-05-22Include encoding in open statement to address pylint W1514zsloan
2023-05-22Initialize 'line'; previous pylint complained because line might not be ↵zsloan
initialized (if the genofile was empty, for example)
2023-05-22Use 'with open()' syntaxzsloan
Initialize samplelist variable
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-22Fix retrieve_sample_list function to correctly get genofile_pathzsloan
2023-05-22Commit update/insert queries, since they don't seem to be executed otherwise ↵zsloan
after the recent changes to the DB
2023-05-22Add function for retrieving group name (given group ID)zsloan
2023-05-22Add function for retrieving phenotype sample data as dictzsloan
2023-05-22Add function for retrieving samplelist from .geno filezsloan
2023-04-17Create new endpoint for fetching GeneRIF entriesMunyoki Kilyungi
* gn3/api/metadata.py: Import Template, sparql_query and RDF_PREFIXES. (get_genewiki_entries): New endpoint. * gn3/db/rdf.py: Add new constant for storing rdf prefixes. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
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
2023-03-17Change get_all_species query to order by Familyzsloan
2023-03-01Open lmdb path in readonly modeMunyoki Kilyungi
* gn3/db/matrix.py (get_total_versions, get_nth_matrix, get_current_matrix): Open lmdb in readonly mode. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-03-01Fetch trait metadata from RDFMunyoki Kilyungi
* gn3/db/rdf.py (get_dataset_metadata): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-06Get the N-th matrix given N, an index valueMunyoki Kilyungi
* gn3/db/matrix.py (get_nth_matrix): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-06Get total number of versions that a database hasMunyoki Kilyungi
* gn3/db/matrix.py (get_total_versions): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-06Add method to fetch the current matrixMunyoki Kilyungi
* gn3/db/matrix.py: New file. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2022-12-21gn3: (gn3.random -> gn3.chancy): Rename module to avoid conflicts.Frederick Muriuki Muriithi
Rename the `gn3.random` module to gn3.chancy to avoid conflicts with Python's `random` module. * gn3/random.py -> gn3/chancy.py: rename module * gn3/commands.py: update import * gn3/computations/partial_correlations.py: update import * gn3/computations/qtlreaper.py: update import * gn3/computations/rust_correlation.py: update import * gn3/db/correlations.py: update import * gn3/db/traits.py: update import * gn3/heatmaps.py: update import * tests/integration/conftest.py: update import
2022-12-08Remove unused importFrederick Muriuki Muriithi
2022-12-06Use a dataset's name to fetch it's metadata from RDFMunyoki Kilyungi
* gn3/api/metadata.py (jsonify_dataset_metadata): Rewrite metadata end-point to use a dataset's name instead of it's accession_id. * gn3/db/rdf.py (get_dataset_metadata): Replace accession_id with name. Use one single RDF query instead of multiple queries.
2022-11-16Inject SPARQLWrapper as a parameterMunyoki Kilyungi
* gn3/db/rdf.py: Delete gn3.setting.SPARQL_ENDPOINT import. (sparql_query): Inject SPARQLWrapper. (get_dataset_metadata): Ditto.
2022-11-02Re-implement RDF related code to use monads in its own moduleMunyoki Kilyungi
* gn3/api/general.py: Replace gn3.db.datasets import with gn3.db.rdf. (dataset_metadata) <jsonify>: Replace datasets.dataset_metadata with rdf.get_dataset_metadata. * gn3/db/datasets.py: Remove unused imports. (sparql_query, dataset_metadata): Delete. * gn3/db/rdf.py: (sparql_query, get_dataset_metadata): New functions.
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-06-21Replace lint code with human-readable textBonfaceKilz
* gn3/db/correlations.py (__fetch_data__): Use a more readable code as opposed to an error code.
2022-06-21db: correlations: Ignore pylint errorBonfaceKilz
* gn3/db/correlations.py (__fetch_data__): Ignore "Too many args" [R0913] error.
2022-06-21db: correlations: Ignore typesBonfaceKilz
* gn3/db/correlations.py (__build_query__): Ignore the "sample_ids" and "joins" types when calling build_query_sgo_lit_corr (fetch_all_database_data): Ignore the return type. TODO: Ping Alex/Arun to fix this.
2022-06-21db: datasets.py: Ignore results from sparql.queryAndConvertBonfaceKilz
ATM, it's very difficult to work the correct type that is returned. Ignore this for now and fix this later.
2022-05-31Extract utility functions from `fetch_all_database_data`Frederick Muriuki Muriithi
Extract the utility functions to help with understanding the what the `fetch_all_database_data` function is doing. This helps with maintenance.
2022-05-27Move sql for CRUD operations on case-attrs from gn2 to gn3BonfaceKilz
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-05-26Add Endpoint to get menu items for use in UIFrederick Muriuki Muriithi
2022-05-06Fix linting and typing errorsFrederick Muriuki Muriithi
2022-05-05Compute partial correlation with selected traitsFrederick Muriuki Muriithi
Compute partial correlations against a selection of traits rather than against an entire dataset.
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.