Age | Commit message (Expand) | Author |
2023-06-07 | Add publication end-point...* gn3/api/metadata.py: Import get_publication_metadata
(publication): New endpoint.
* gn3/db/rdf.py (get_dataset_metadata): New function.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-06-07 | Remove trait_metadata endpoint...* gn3/api/metadata.py: Remove get_trait_metadata import.
(trait_metadata): Delete.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-06-06 | Rename dataset_metadata -> dataset...Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-04-17 | Create new endpoint for fetching GeneRIF entries...* 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>
| Munyoki Kilyungi |
2023-04-06 | Remove deprecated `gn3.db_utils.database_connector` function...Remove the deprecated function and fix a myriad of bugs that arise from
removing the function.
Issue: https://issues.genenetwork.org/issues/bugfix_coupling_current_app_and_db_utils
| Frederick Muriuki Muriithi |
2023-03-01 | Fetch sampledata...* gn3/api/sampledata.py (get_sampledata): New end-point.
* gn3/app.py: Register above end-point.
* gn3/settings.py: Add new conf variable for LMDB.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-03-01 | Create API endpoint for fetching trait metadata...* gn3/api/metadata.py (dataset_metadata): New function and endpoint.
(jsonify_dataset_metadata): Rename to dataset_metadata.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-01-24 | search: Use decimals, not floats, when converting to megabases....* gn3/api/search.py (parse_location_field): Use decimals, not floats, when
converting to megabases.
| Arun Isaac |
2023-01-24 | search: Support SI suffixes and point locations....* gn3/api/search.py (parse_position_field): New function.
(parse_query): Associate the position prefix with the parse_position_field
field processor.
| Arun Isaac |
2023-01-24 | search: Abstract out parsing of position spec into separate function....* gn3/api/search.py (parse_position): New function.
(parse_location_field): Use parse_position.
* tests/unit/test_search.py: Import parse_position from gn3.api.search.
(test_parse_position_close_to_zero_location): New test.
| Arun Isaac |
2023-01-24 | search: Alias the position prefix with pos....* gn3/api/search.py (parse_query): Alias the position prefix with pos.
| Arun Isaac |
2023-01-24 | search: Rename the mb prefix to position....* gn3/api/search.py (parse_query): Rename the mb prefix to position.
| Arun Isaac |
2023-01-24 | search: Assume triplets mean synteny is requested....* gn3/api/search.py (query_subqueries, query_terms, parse_synteny_field,
is_synteny_on, remove_synteny_field): Delete functions.
(parse_query): Assume triplets mean synteny is requested.
| Arun Isaac |
2023-01-24 | search: Use comprehension when splitting location....* gn3/api/search.py (parse_location_field): Use comprehension.
| Arun Isaac |
2023-01-20 | mypy: minor fixes to typing errors | Frederick Muriuki Muriithi |
2023-01-19 | search: Downcase before applying SI suffix....* gn3/api/search.py (apply_si_suffix): Downcase before applying SI suffix.
| Arun Isaac |
2023-01-19 | search: Use decimals, not floats, to manipulate range limits....Decimals are exact and do not introduce tiny errors in the range limits like
floats are wont to do.
* gn3/api/search.py: Import Decimal from decimal.
(apply_si_suffix): Use decimals, not floats, to manipulate range limits.
| Arun Isaac |
2023-01-19 | search: Only look for SI suffix in the last character....Suffixes are the last character, not everything but the last character.
* gn3/api/search.py (apply_si_suffix): Only look for SI suffix in the last
character.
| Arun Isaac |
2023-01-19 | search: Apply SI suffix only if last character is an actual suffix....Prior to this commit, when there was no SI suffix (such as in a plain
suffix-less number), the last digit would be dropped!
* gn3/api/search.py (apply_si_suffix): Apply SI suffix only if last character
is an actual suffix.
| Arun Isaac |
2023-01-18 | search: Ensure limits of chromosomal interval is non-negative....* gn3/api/search.py (parse_location_field): Ensure limits of chromosomal
interval is non-negative.
| Arun Isaac |
2023-01-18 | search: Convert point locations to a +/- 50 kbase range....* gn3/api/search.py (parse_location_field): Convert point locations to a +/-
50 kbase range.
| Arun Isaac |
2023-01-18 | Pass species and species prefix as a single query argument....* gn3/api/search.py (parse_location_field): Accept a single species query
argument instead of separate species and species prefix arguments.
(parse_query): Pass parse_location_field a single species query argument.
| Arun Isaac |
2023-01-18 | auth: Fix tests after enforcing FOREIGN KEY constraint...Fix a number of tests and fixtures that were not conforming to the FOREIGN KEY
constraints:
* Each test that creates a new "object" needs to clean up after itself
* Each fixture that sets up test data needs to clean up after itself
| Frederick Muriuki Muriithi |
2023-01-18 | Tolerate WEIGHT operator in parsed search queries....* gn3/api/search.py (remove_synteny_field): Tolerate WEIGHT operator in parsed
search queries.
| Arun Isaac |
2023-01-18 | Implement synteny search....* gn3/api/search.py: Import gzip, Path from pathlib and curry from
pymonad.tools.
(IntervalLiftoverFunction): New variable.
(query_subqueries, query_terms, field_processor_or, liftover,
liftover_interval, parse_synteny_field, is_synteny_on, remove_synteny_field):
New functions.
(parse_location_field): Generalize to support synteny searches.
(parse_query): Support synteny search queries.
(search_results): Pass synteny files directory to parse_query.
| Arun Isaac |
2023-01-18 | Support location shorthands in search queries....* gn3/api/search.py: Import partial and reduce from functools. Import Callable
from typing.
(ChromosomalPosition, ChromosomalInterval, FieldProcessor): New classes.
(apply_si_suffix, combine_queries, parse_location_field, interval_start,
interval_end): New functions.
(parse_query): Add field processors for location shorthands.
| Arun Isaac |
2023-01-18 | Split off search query parsing into separate function....* gn3/api/search.py (parse_query): New function.
(search_results): Use parse_query.
| Arun Isaac |
2022-12-06 | Use a dataset's name to fetch it's metadata from RDF...* 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.
| Munyoki Kilyungi |
2022-11-28 | Catch a URLError when virtuoso isn't running at all...* gn3/api/metadata.py: Import URLError.
(jsonify_dataset_metadata): Add URLError in except block.
| Munyoki Kilyungi |
2022-11-28 | Fix pylint errors...* gn3/api/general.py: Delete rdf import. Delete trailing white
spaces.
* gn3/api/metadata.py: Delete trailing white spaces.
| Munyoki Kilyungi |
2022-11-28 | Fail gracefully when virtuoso is not accessible...* gn3/api/metadata.py: import RemoteDisconnected.
(jsonify_dataset_metadata): Wrap get_dataset_metadata in try block.
| Munyoki Kilyungi |
2022-11-23 | Create a new REST endpoint for fetching a phenotype's metadata...* gn3/api/general.py: (dataset_metadata) Delete.
* gn3/api/metadata.py: Import Blueprint, jsonify, current_app,
SPARQLWrapper and get_dataset_metadata.
(metadata): New Blueprint
(jsonify_dataset_metadata): New function/end-point.
* gn3/app.py: Import metadata
(create_app): Register metadata blueprint.
| Munyoki Kilyungi |
2022-11-02 | Re-implement RDF related code to use monads in its own module...* 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.
| Munyoki Kilyungi |
2022-10-28 | Use Xapian index path from app settings....App settings should be accessed from current_app. It should not be hard-coded
to a variable in a module.
* gn3/db_utils.py: Do not import XAPIAN_DB_PATH from gn3.settings.
(xapian_database): Accept path argument.
* gn3/api/search.py: Import current_app from flask.
(search_results): Pass Xapian index path to xapian_database.
| Arun Isaac |
2022-10-28 | Add search....* gn3/api/search.py: New file.
* gn3/app.py: Register the search blueprint.
| Arun Isaac |
2022-07-28 | Add command to run the sample correlations in an external process | Frederick Muriuki Muriithi |
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 | 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-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-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-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 |
2022-03-28 | Run json.loads on request.get_json, since request.get_json was just returning... | zsloan |
2022-03-22 | Fixes pylint errors | zsloan |
2022-03-22 | Fix issue that causes R/qtl to always run pair-scan even if pair-scan isn't s... | zsloan |
2022-03-22 | Added genofile name to inputs for processing R/qtl pair-scan results, since i... | zsloan |
2022-03-22 | Fix imports to import both process_rqtl_mapping and process_rqtl_pairscan in ... | zsloan |
2022-03-22 | Added pairscan boolean kwarg and process_rqtl_pairscan function for reading i... | zsloan |