Age | Commit message (Collapse) | Author |
|
Previously authentication didn't work correctly if users had "edit" privileges, because the code specifically looked for just "view"; this changes it to check for either "view" or "edit"
|
|
|
|
|
|
* wqflask/maintenance/quantile_normalize.py: Fix how the cursor is
created.
|
|
These tests touch on core data-structures in gn2; and there's a chance
that refactoring said data-structures may break many things.
|
|
* wqflask/tests/unit/wqflask/api/test_correlation.py: Use proper
database connection instead of the db connection attached at "g.db".
* wqflask/tests/unit/wqflask/snp_browser/test_snp_browser.py: Ditto.
* wqflask/wqflask/api/correlation.py: Ditto.
* wqflask/wqflask/snp_browser/snp_browser.py: Ditto.
|
|
|
|
* wqflask/wqflask/snp_browser/snp_browser.py: Remove "getLogger".
|
|
Add documentation on how to run the tests - this was no clear from the
existing documentation up to this point.
|
|
If the GN2_SETTINGS environment variable, is for some reason, not set,
and the application actually ever tries to get a connection to the
database, then use the default settings/configuration file.
|
|
|
|
|
|
Also made a large number of other fixes that proved necessary during
testing
|
|
Also store parents/type metadata from source genofiles
|
|
- I was mixing up source/target genofiles previously; the JSON file is for the source genofiles
- references to the app context are removed in favor of just taking input as arguments or environment variables
- Updated example commands
|
|
generate_new_genofiles function
|
|
|
|
|
|
- Removed some unused code
- Strip marker genotype to avoid newline character at end
- Convert zip to list for marker genotypes
- Add typing to group_samples
- Rename strain_genofile to source_genofile
|
|
gen_ind_genofiles.py is a command line script to generate genotype files for groups of
individuals/samples, taking a source .geno or .json file and a target 'dummy' .geno file as input
|
|
* .github/ISSUE_TEMPLATE/: Delete this directory.
|
|
We have moved to Laminar. See: <https://penguin2.genenetwork.org/>
* .github/workflows/main.yml: Delete it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* wqflask/wqflask/metadata_edits.py: Import "extract_invalid_csv_headers"
and "get_allowable_sampledata_headers".
(display_phenotype_metadata): Pass the allowable headers to the
template.
(update_phenotype): If a user uploads data with a column header that's
not in the db, don't upload the file, and send a warning message.
* wqflask/wqflask/templates/edit_phenotype.html: List the allowable
headers in the template.
|
|
This is a WIP.
|
|
|
|
Using "database_connection" within a context-manager makes sure that
the SQL connection that is created is closed.
* wqflask/wqflask/metadata_edits.py (display_probeset_metadata):
Connect to the db within a context-manager.
(update_phenotype): Ditto.
(update_probeset): Ditto.
(approve_data): Ditto.
|
|
|
|
* wqflask/wqflask/metadata_edits.py (approve_data): Explicitly close a
connection after it is used.
|
|
|
|
|
|
|
|
* wqflask/wqflask/metadata_edits.py (approve_data): Update query
strings.
|
|
* wqflask/wqflask/metadata_edits.py: Replace imports that start with
`db.traits` with `db.sample_data`.
|
|
|
|
* wqflask/wqflask/metadata_edits (update_phenotype): The logic was for
generating csv_diff and removing insignificant values in the edits was
moved to gn3; use those functions instead of the manual way.
|
|
|
|
* doc/database.org: Also join on StrainId for case-attribute data.
|
|
|
|
|
|
|
|
Remove the `wqflask.utility.tools` and retrieve the `SQL_URI` setting
directly from the environment or the settings file. This breaks the
circular imports and makes the `wqflask.database` module standalone.
Move the `parse_db_url` function to the `wqflask.database` module,
where it is more sensible to be.
|
|
Use the `with` context manager with database connections and cursors
to ensure that they are closed once they are no longer needed.
Where it was not feasible to use the `with` context manager without a
huge refactor/rewrite, the cursors and connections are closed manually.
|
|
This commit gets rid of the multi-step partial correlations process
replacing it with a single-step process.
Summary of changes:
* wqflask/wqflask/collect.py: Add function to format the trait details
in a format that is usable for the partial correlations system.
* wqflask/wqflask/database.py: Provide function to create a connection
to the database
* wqflask/wqflask/partial_correlations_views.py: Rework the code to
enable the one-step process for the partial correlations
computations
* wqflask/wqflask/static/new/javascript/partial_correlations.js: Get
rid of code that supported the multi-step process
* wqflask/wqflask/templates/collections/view.html: Remove inconsistent
UI elements. Attach traits info in a form usable for the partial
correlations
* wqflask/wqflask/templates/partial_correlations.html: delete html
template
* wqflask/wqflask/templates/partial_correlations/pcorrs_error.html:
provide a html template to display errors in the partial
correlations computation process
* wqflask/wqflask/templates/partial_correlations/pcorrs_poll_results.html:
UI template to provide user with feedback as the computations
continue in the background
* wqflask/wqflask/templates/partial_correlations/pcorrs_results_presentation.html:
UI template to present the results of successful computation
* wqflask/wqflask/templates/partial_correlations/pcorrs_select_operations.html:
UI template to trigger the partial correlations computations
* wqflask/wqflask/templates/tool_buttons.html: Add the partial
correlations button to the template to ensure a consistent look and
feel
|
|
* unlink file for JSONDecodeError
* fix for avoiding caching empty dicts
* fix for checking null dicts
|