Age | Commit message (Collapse) | Author |
|
|
|
The assumption that the resultset will never be empty was leading to a
lot of errors.
|
|
After a recent change, it always tries to unpack 6 values from the
query, but it should only be unpacking 4 values if not type ProbeSet (so
it was throwing an error for anything not ProbeSet)
|
|
* wqflask/base/data_set.py (MrnaAssayDataSet.retrieve_sample_data):
Fix indentation.
|
|
|
|
|
|
* wqflask/base/data_set.py (DataSet.retrieve_other_names): Call
cursor.fetchone() only once.
|
|
"%s" should only be used outside table names and column names
otherwise a string literal will be inserted thereby leading to errors
in the sql statements.
* wqflask/base/data_set.py (geno_mrna_confidentiality): Use f-strings
for table/columns/clause.
* wqflask/base/trait.py (retrieve_trait_info): Ditto.
* wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto.
* wqflask/wqflask/interval_analyst/GeneUtil.py (loadGenes): Ditto.
* wqflask/wqflask/snp_browser/snp_browser.py
(SnpBrowser.get_browser_results): Ditto.
|
|
* wqflask/base/data_set.py (DatasetGroup.get_mapping_methods): Fix
failing query by adding a missing ",".
|
|
* wqflask/base/data_set.py (DatasetGroup.__init__): Remove "query"
variable.
(DataSet.chunk_dataset): Fix indentation.
* wqflask/wqflask/search_results.py (get_GO_symbols): Remove
"this_term" variable.
* wqflask/wqflask/views.py (search_page): Remove "the_search"
variable.
|
|
* wqflask/base/data_set.py: Remove un-used imports.
* wqflask/base/trait.py: Ditto.
wqflask/tests/wqflask/show_trait/test_show_trait.py: Ditto.
* wqflask/wqflask/show_trait/show_trait.py: Ditto.
* wqflask/wqflask/views: Ditto.
|
|
* wqflask/base/data_set.py (DatasetType.set_dataset_key): Replace g.db
with "database_connection()".
(DatasetGroup.get_mapping_methods): Ditto.
(DataSet.get_accession_id): Ditto.
(DataSet.retrieve_other_names): Rework "if ... else" logic to get rid
of "query" and "_vars" variables. Also, nest "try ... except" block
within "database_connection".
(DataSet.chunk_dataset): Replace g.db with "database_connection()".
(DataSet.get_probeset_data): Ditto.
(DataSet.get_trait_data): Ditto.
(PhenotypeDataSet.get_trait_info): Ditto.
(PhenotypeDataSet.retrieve_sample_data): Ditto.
(GenotypeDataSet.retrieve_sample_data): Ditto.
(MrnaAssayDataSet.get_trait_info): Ditto.
(MrnaAssayDataSet.retrieve_sample_data): Ditto.
(MrnaAssayDataSet.retrieve_genes): Ditto.
(TempDataSet): Ditto.
(geno_mrna_confidentiality): Ditto.
(query_table_timestamp): Ditto.
* wqflask/wqflask/api/router.py: Replace "flask.g" with
database_connection import.
(get_species_list): Replace g.db
with "database_connection()".
(get_species_info): Ditto.
(get_groups_list): Ditto.
(get_group_info): Ditto.
(get_datasets_for_group): Ditto.
(get_dataset_info): Ditto.
(fetch_traits): Ditto.
(all_sample_data): Ditto.
(trait_sample_data): Ditto.
(get_trait_info): Ditto.
(get_dataset_trait_ids): Ditto.
(get_samplelist): Ditto.
(get_group_id_from_dataset): Ditto.
(get_group_id): Ditto.
|
|
use text files for Probeset
|
|
|
|
I'm only using g.db.execute here because using cursor is throwing an
error and I don't want to change the way this query is currently written
since I didn't write it (I believe it was initially written using
g.db.execute and whoever wrote it just forgot to put the g.db.execute,
since previously it just called "fetchall")
|
|
Set up the appropriate self.* variables from the results of running
the appropriate query.
|
|
|
|
* wqflask/base/data_set.py: Delete "menu_main" import.
* wqflask/db/call.py: Delete it.
* wqflask/db/gn_server.py: Ditto.
* wqflask/wqflask/submit_bnw.py: Ditto.
|
|
* wqflask/base/data_set.py: Replace "db.call" import with
"database_connection".
(create_datasets_list): Use "database_connection" to fetch data.
(DatasetGroup.__init__): Ditto.
(DataSet.retrieve_other_names): Ditto.
(PhenotypeDataSet.setup): Remove query escaping in string and format
the string.
(GenotypeDataSet.setup): Ditto.
(MrnaAssayDataSet.setup): Ditto.
* wqflask/db/webqtlDatabaseFunction.py: Remove db.call import.
(retrieve_species): Use database_connection() to fetch data.
(retrieve_species_id): Ditto.
|
|
"with Bench" instruments how long a function takes and generates time
reports on as INFO logs. This should be done on a developer server.
Should the log level be low enough, this bench marks will generate a
lot of noise. Instrumentation should be done during development.
* wqflask/base/data_set.py (create_datasets_list): Remove "with
Bench...".
* wqflask/db/call.py (fetchone): Ditto.
(fetchall): Ditto.
(gn_server): Ditto.
* wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto.
* wqflask/wqflask/marker_regression/display_mapping_results.py (DisplayMappingResults.__init__): Ditto.
* wqflask/wqflask/marker_regression/run_mapping.py
(RunMapping.__init__): Ditto.
* wqflask/wqflask/update_search_results.py (GSearch.__init__): Ditto.
* wqflask/wqflask/views.py (search_page): Ditto.
(heatmap_page): Ditto.
(mapping_results_page): Ditto.
|
|
Logging is used to introspect variables or notify the commencement of
a given operation. Logging should only be used to log errors. Also,
most of the logging is either "logger.debug" or "logger.info"; and
this won't show up in production/testing since we need a logging level
above "WARNING" for them to show up.
* wqflask/base/data_set.py (create_datasets_list): Remove logger.
(Markers.add_pvalues): Ditto.
(DataSet.retrieve_other_names): Ditto.
* wqflask/base/mrna_assay_tissue_data.py: Ditto.
* wqflask/base/webqtlCaseData.py: Ditto.
* wqflask/db/call.py (fetch1): Ditto.
(gn_server): Ditto.
* wqflask/db/gn_server.py: Ditto.
* wqflask/maintenance/set_resource_defaults.py: Ditto.
* wqflask/utility/Plot.py (find_outliers): Ditto.
* wqflask/utility/gen_geno_ob.py: Ditto.
* wqflask/utility/helper_functions.py: Ditto.
* wqflask/utility/pillow_utils.py: Ditto.
* wqflask/utility/redis_tools.py: Ditto.
* wqflask/wqflask/api/gen_menu.py (get_groups): Ditto.
* wqflask/wqflask/api/mapping.py: Ditto.
* wqflask/wqflask/api/router.py (get_dataset_info): Ditto.
* wqflask/wqflask/collect.py (report_change): Ditto.
* wqflask/wqflask/correlation/corr_scatter_plot.py: Ditto.
* wqflask/wqflask/ctl/ctl_analysis.py (CTL): Ditto.
(CTL.__init__): Ditto.
(CTL.run_analysis): Ditto.
(CTL.process_results): Ditto.
* wqflask/wqflask/db_info.py: Ditto.
* wqflask/wqflask/do_search.py (DoSearch.execute): Ditto.
(DoSearch.mescape): Ditto.
(DoSearch.get_search): Ditto.
(MrnaAssaySearch.run_combined): Ditto.
(MrnaAssaySearch.run): Ditto.
(PhenotypeSearch.run_combined): Ditto.
(GenotypeSearch.get_where_clause): Ditto.
(LrsSearch.get_where_clause): Ditto.
(MeanSearch.run): Ditto.
(RangeSearch.get_where_clause): Ditto.
(PvalueSearch.run): Ditto.
* wqflask/wqflask/docs.py: Ditto.
* wqflask/wqflask/export_traits.py: Ditto.
* wqflask/wqflask/external_tools/send_to_bnw.py: Ditto.
* wqflask/wqflask/external_tools/send_to_geneweaver.py: Ditto.
* wqflask/wqflask/external_tools/send_to_webgestalt.py: Ditto.
* wqflask/wqflask/gsearch.py (GSearch.__init__): Ditto.
* wqflask/wqflask/heatmap/heatmap.py: Ditto.
* wqflask/wqflask/marker_regression/display_mapping_results.py (DisplayMappingResults): Ditto.
* wqflask/wqflask/marker_regression/gemma_mapping.py: Ditto.
* wqflask/wqflask/marker_regression/plink_mapping.py (run_plink): Ditto.
* wqflask/wqflask/marker_regression/qtlreaper_mapping.py (run_reaper): Ditto.
* wqflask/wqflask/marker_regression/rqtl_mapping.py: Ditto.
* wqflask/wqflask/marker_regression/run_mapping.py (RunMapping.__init__): Ditto.
* wqflask/wqflask/parser.py (parse): Ditto.
* wqflask/wqflask/search_results.py (SearchResultPage.__init__): Ditto.
* wqflask/wqflask/update_search_results.py (GSearch.__init__): Ditto.
* wqflask/wqflask/user_login.py (send_email): Ditto.
(logout): Ditto.
(forgot_password_submit): Ditto.
(password_reset): Ditto.
(password_reset_step2): Ditto.
(register): Ditto.
* wqflask/wqflask/user_session.py (create_signed_cookie): Ditto.
|
|
sample data for genotype traits
|
|
This adds the group code to phenotype traits on loading pages, and also
sets the group code as an attribute of the dataset.group class.
|
|
Trait data caching wasn't working correctly because it didn't account
for the samplelist, causing caching to work incorrect in any situation
where the target dataset's samplelist wasn't the same as that of the
trait being correlated against. Trait data is stored as a dictionary
where the keys are trait IDs and values are *lists* of sample values.
This means that the caching needs to account for the exact same set of
samples; otherwise you'll end up with samples being mismatched (since
"the third sample with a value" for one dataset's trait might not be the
same as "the third sample with a value" for another dataset's trait).
To fix this, I added the samplelist to the functions that generate and
fetch the hash file. This will require more cache files, though, so this
should probably be reexamined later to make the code work with only a
single cache file for each dataset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Feature/add filter by study samples
|
|
|
|
|
|
|
|
study within a group (in this case only BXD Longevity for now)
|
|
|
|
|