aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/genenetwork222
-rw-r--r--etc/default_settings.py2
-rw-r--r--gn2/.coveragerc (renamed from wqflask/.coveragerc)0
-rw-r--r--gn2/__init__.py (renamed from wqflask/__init__.py)0
-rw-r--r--gn2/base/GeneralObject.py (renamed from wqflask/base/GeneralObject.py)0
-rw-r--r--gn2/base/__init__.py (renamed from wqflask/base/__init__.py)0
-rw-r--r--gn2/base/data_set/__init__.py (renamed from wqflask/base/data_set/__init__.py)6
-rw-r--r--gn2/base/data_set/dataset.py (renamed from wqflask/base/data_set/dataset.py)10
-rw-r--r--gn2/base/data_set/datasetgroup.py (renamed from wqflask/base/data_set/datasetgroup.py)14
-rw-r--r--gn2/base/data_set/datasettype.py (renamed from wqflask/base/data_set/datasettype.py)4
-rw-r--r--gn2/base/data_set/genotypedataset.py (renamed from wqflask/base/data_set/genotypedataset.py)8
-rw-r--r--gn2/base/data_set/markers.py (renamed from wqflask/base/data_set/markers.py)2
-rw-r--r--gn2/base/data_set/mrnaassaydataset.py (renamed from wqflask/base/data_set/mrnaassaydataset.py)4
-rw-r--r--gn2/base/data_set/phenotypedataset.py (renamed from wqflask/base/data_set/phenotypedataset.py)6
-rw-r--r--gn2/base/data_set/probably_unused.py (renamed from wqflask/base/data_set/probably_unused.py)4
-rw-r--r--gn2/base/data_set/tempdataset.py (renamed from wqflask/base/data_set/tempdataset.py)0
-rw-r--r--gn2/base/data_set/utils.py (renamed from wqflask/base/data_set/utils.py)6
-rw-r--r--gn2/base/mrna_assay_tissue_data.py (renamed from wqflask/base/mrna_assay_tissue_data.py)2
-rw-r--r--gn2/base/species.py (renamed from wqflask/base/species.py)0
-rw-r--r--gn2/base/trait.py (renamed from wqflask/base/trait.py)18
-rw-r--r--gn2/base/webqtlCaseData.py (renamed from wqflask/base/webqtlCaseData.py)4
-rw-r--r--gn2/base/webqtlConfig.py (renamed from wqflask/base/webqtlConfig.py)2
-rw-r--r--gn2/db/__init__.py (renamed from wqflask/db/__init__.py)0
-rw-r--r--gn2/db/webqtlDatabaseFunction.py (renamed from wqflask/db/webqtlDatabaseFunction.py)4
-rw-r--r--gn2/gn2_main.py19
-rw-r--r--gn2/jobs/__init__.py (renamed from wqflask/jobs/__init__.py)0
-rw-r--r--gn2/jobs/jobs.py (renamed from wqflask/jobs/jobs.py)0
-rw-r--r--gn2/maintenance/README.md (renamed from wqflask/maintenance/README.md)0
-rw-r--r--gn2/maintenance/__init__.py (renamed from wqflask/maintenance/__init__.py)0
-rw-r--r--gn2/maintenance/convert_dryad_to_bimbam.py (renamed from wqflask/maintenance/convert_dryad_to_bimbam.py)0
-rw-r--r--gn2/maintenance/convert_geno_to_bimbam.py (renamed from wqflask/maintenance/convert_geno_to_bimbam.py)0
-rw-r--r--gn2/maintenance/gen_ind_genofiles.py (renamed from wqflask/maintenance/gen_ind_genofiles.py)0
-rw-r--r--gn2/maintenance/gen_select_dataset.py (renamed from wqflask/maintenance/gen_select_dataset.py)6
-rw-r--r--gn2/maintenance/generate_kinship_from_bimbam.py (renamed from wqflask/maintenance/generate_kinship_from_bimbam.py)0
-rw-r--r--gn2/maintenance/generate_probesetfreeze_file.py (renamed from wqflask/maintenance/generate_probesetfreeze_file.py)6
-rw-r--r--gn2/maintenance/geno_to_json.py (renamed from wqflask/maintenance/geno_to_json.py)2
-rw-r--r--gn2/maintenance/get_group_samplelists.py (renamed from wqflask/maintenance/get_group_samplelists.py)2
-rw-r--r--gn2/maintenance/print_benchmark.py (renamed from wqflask/maintenance/print_benchmark.py)0
-rw-r--r--gn2/maintenance/quantile_normalize.py (renamed from wqflask/maintenance/quantile_normalize.py)6
-rw-r--r--gn2/maintenance/set_resource_defaults.py (renamed from wqflask/maintenance/set_resource_defaults.py)10
-rw-r--r--gn2/run_gunicorn.py (renamed from wqflask/run_gunicorn.py)4
-rw-r--r--gn2/runserver.py (renamed from wqflask/runserver.py)4
-rw-r--r--gn2/scripts/__init__.py (renamed from wqflask/scripts/__init__.py)0
-rw-r--r--gn2/scripts/corr_compute.py (renamed from wqflask/scripts/corr_compute.py)8
-rw-r--r--gn2/scripts/parse_corr_html_results_to_csv.py (renamed from wqflask/scripts/parse_corr_html_results_to_csv.py)0
-rw-r--r--gn2/scripts/profile_corrs.py (renamed from wqflask/scripts/profile_corrs.py)8
-rw-r--r--gn2/scripts/run_external.py (renamed from wqflask/scripts/run_external.py)2
-rw-r--r--gn2/tests/__init__.py (renamed from wqflask/tests/__init__.py)0
-rw-r--r--gn2/tests/integration/__init__.py (renamed from wqflask/tests/integration/__init__.py)0
-rw-r--r--gn2/tests/integration/wqflask/__init__.py (renamed from wqflask/tests/integration/wqflask/__init__.py)0
-rw-r--r--gn2/tests/unit/__init__.py (renamed from wqflask/tests/unit/__init__.py)0
-rw-r--r--gn2/tests/unit/base/__init__.py (renamed from wqflask/tests/unit/base/__init__.py)0
-rw-r--r--gn2/tests/unit/base/test_data_set.py (renamed from wqflask/tests/unit/base/test_data_set.py)16
-rw-r--r--gn2/tests/unit/base/test_general_object.py (renamed from wqflask/tests/unit/base/test_general_object.py)2
-rw-r--r--gn2/tests/unit/base/test_mrna_assay_tissue_data.py (renamed from wqflask/tests/unit/base/test_mrna_assay_tissue_data.py)2
-rw-r--r--gn2/tests/unit/base/test_species.py (renamed from wqflask/tests/unit/base/test_species.py)8
-rw-r--r--gn2/tests/unit/base/test_trait.py (renamed from wqflask/tests/unit/base/test_trait.py)42
-rw-r--r--gn2/tests/unit/base/test_webqtl_case_data.py (renamed from wqflask/tests/unit/base/test_webqtl_case_data.py)4
-rw-r--r--gn2/tests/unit/utility/__init__.py (renamed from wqflask/tests/unit/utility/__init__.py)0
-rw-r--r--gn2/tests/unit/utility/test_authentication_tools.py (renamed from wqflask/tests/unit/utility/test_authentication_tools.py)56
-rw-r--r--gn2/tests/unit/utility/test_chunks.py (renamed from wqflask/tests/unit/utility/test_chunks.py)2
-rw-r--r--gn2/tests/unit/utility/test_corestats.py (renamed from wqflask/tests/unit/utility/test_corestats.py)2
-rw-r--r--gn2/tests/unit/utility/test_corr_result_helpers.py (renamed from wqflask/tests/unit/utility/test_corr_result_helpers.py)2
-rw-r--r--gn2/tests/unit/utility/test_formatting.py (renamed from wqflask/tests/unit/utility/test_formatting.py)2
-rw-r--r--gn2/tests/unit/utility/test_hmac.py (renamed from wqflask/tests/unit/utility/test_hmac.py)20
-rw-r--r--gn2/tests/unit/utility/test_type_checking.py (renamed from wqflask/tests/unit/utility/test_type_checking.py)12
-rw-r--r--gn2/tests/unit/wqflask/__init__.py (renamed from wqflask/tests/unit/wqflask/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/api/__init__.py (renamed from wqflask/tests/unit/wqflask/api/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/api/test_correlation.py (renamed from wqflask/tests/unit/wqflask/api/test_correlation.py)22
-rw-r--r--gn2/tests/unit/wqflask/api/test_gen_menu.py (renamed from wqflask/tests/unit/wqflask/api/test_gen_menu.py)48
-rw-r--r--gn2/tests/unit/wqflask/api/test_mapping.py (renamed from wqflask/tests/unit/wqflask/api/test_mapping.py)16
-rw-r--r--gn2/tests/unit/wqflask/api/test_markdown_routes.py (renamed from wqflask/tests/unit/wqflask/api/test_markdown_routes.py)6
-rw-r--r--gn2/tests/unit/wqflask/correlation/__init__.py (renamed from wqflask/tests/unit/wqflask/correlation/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/correlation/test_correlation_functions.py (renamed from wqflask/tests/unit/wqflask/correlation/test_correlation_functions.py)6
-rw-r--r--gn2/tests/unit/wqflask/correlation/test_correlation_gn3.py (renamed from wqflask/tests/unit/wqflask/correlation/test_correlation_gn3.py)2
-rw-r--r--gn2/tests/unit/wqflask/correlation/test_show_corr_results.py (renamed from wqflask/tests/unit/wqflask/correlation/test_show_corr_results.py)2
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/__init__.py (renamed from wqflask/tests/unit/wqflask/marker_regression/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt (renamed from wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt)0
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt (renamed from wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt)0
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_display_mapping_results.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_display_mapping_results.py)2
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_gemma_mapping.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py)48
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_plink_mapping.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_plink_mapping.py)20
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py)4
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py)8
-rw-r--r--gn2/tests/unit/wqflask/marker_regression/test_run_mapping.py (renamed from wqflask/tests/unit/wqflask/marker_regression/test_run_mapping.py)20
-rw-r--r--gn2/tests/unit/wqflask/show_trait/__init__.py (renamed from wqflask/tests/unit/wqflask/show_trait/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/show_trait/test_export_trait_data.py (renamed from wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py)14
-rw-r--r--gn2/tests/unit/wqflask/show_trait/test_get_max_digits.py (renamed from wqflask/tests/unit/wqflask/show_trait/test_get_max_digits.py)2
-rw-r--r--gn2/tests/unit/wqflask/snp_browser/__init__.py (renamed from wqflask/tests/unit/wqflask/snp_browser/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/snp_browser/test_snp_browser.py (renamed from wqflask/tests/unit/wqflask/snp_browser/test_snp_browser.py)20
-rw-r--r--gn2/tests/unit/wqflask/test_collect.py (renamed from wqflask/tests/unit/wqflask/test_collect.py)6
-rw-r--r--gn2/tests/unit/wqflask/test_pbkdf2.py (renamed from wqflask/tests/unit/wqflask/test_pbkdf2.py)2
-rw-r--r--gn2/tests/unit/wqflask/test_resource_manager.py (renamed from wqflask/tests/unit/wqflask/test_resource_manager.py)4
-rw-r--r--gn2/tests/unit/wqflask/test_server_side.py (renamed from wqflask/tests/unit/wqflask/test_server_side.py)2
-rw-r--r--gn2/tests/unit/wqflask/test_user_login.py (renamed from wqflask/tests/unit/wqflask/test_user_login.py)2
-rw-r--r--gn2/tests/unit/wqflask/test_user_session.py (renamed from wqflask/tests/unit/wqflask/test_user_session.py)2
-rw-r--r--gn2/tests/unit/wqflask/wgcna/__init__.py (renamed from wqflask/tests/unit/wqflask/wgcna/__init__.py)0
-rw-r--r--gn2/tests/unit/wqflask/wgcna/test_wgcna.py (renamed from wqflask/tests/unit/wqflask/wgcna/test_wgcna.py)2
-rw-r--r--gn2/tests/wqflask/show_trait/testSampleList.py (renamed from wqflask/tests/wqflask/show_trait/testSampleList.py)2
-rw-r--r--gn2/tests/wqflask/show_trait/test_show_trait.py (renamed from wqflask/tests/wqflask/show_trait/test_show_trait.py)34
-rw-r--r--gn2/utility/Plot.py (renamed from wqflask/utility/Plot.py)6
-rw-r--r--gn2/utility/TDCell.py (renamed from wqflask/utility/TDCell.py)0
-rw-r--r--gn2/utility/THCell.py (renamed from wqflask/utility/THCell.py)0
-rw-r--r--gn2/utility/__init__.py (renamed from wqflask/utility/__init__.py)0
-rw-r--r--gn2/utility/after.py (renamed from wqflask/utility/after.py)2
-rw-r--r--gn2/utility/authentication_tools.py (renamed from wqflask/utility/authentication_tools.py)8
-rw-r--r--gn2/utility/chunks.py (renamed from wqflask/utility/chunks.py)0
-rw-r--r--gn2/utility/corestats.py (renamed from wqflask/utility/corestats.py)0
-rw-r--r--gn2/utility/corr_result_helpers.py (renamed from wqflask/utility/corr_result_helpers.py)0
-rw-r--r--gn2/utility/db_tools.py (renamed from wqflask/utility/db_tools.py)4
-rw-r--r--gn2/utility/external.py (renamed from wqflask/utility/external.py)0
-rw-r--r--gn2/utility/formatting.py (renamed from wqflask/utility/formatting.py)0
-rw-r--r--gn2/utility/gen_geno_ob.py (renamed from wqflask/utility/gen_geno_ob.py)0
-rw-r--r--gn2/utility/genofile_parser.py (renamed from wqflask/utility/genofile_parser.py)0
-rw-r--r--gn2/utility/helper_functions.py (renamed from wqflask/utility/helper_functions.py)12
-rw-r--r--gn2/utility/hmac.py (renamed from wqflask/utility/hmac.py)2
-rw-r--r--gn2/utility/json/__init__.py (renamed from wqflask/utility/json/__init__.py)0
-rw-r--r--gn2/utility/json/encoders.py (renamed from wqflask/utility/json/encoders.py)0
-rw-r--r--gn2/utility/monads.py (renamed from wqflask/utility/monads.py)0
-rw-r--r--gn2/utility/pillow_utils.py (renamed from wqflask/utility/pillow_utils.py)2
-rw-r--r--gn2/utility/redis_tools.py (renamed from wqflask/utility/redis_tools.py)2
-rw-r--r--gn2/utility/startup_config.py (renamed from wqflask/utility/startup_config.py)12
-rw-r--r--gn2/utility/svg.py (renamed from wqflask/utility/svg.py)0
-rw-r--r--gn2/utility/temp_data.py (renamed from wqflask/utility/temp_data.py)0
-rw-r--r--gn2/utility/tools.py (renamed from wqflask/utility/tools.py)4
-rw-r--r--gn2/utility/type_checking.py (renamed from wqflask/utility/type_checking.py)0
-rw-r--r--gn2/utility/webqtlUtil.py (renamed from wqflask/utility/webqtlUtil.py)2
-rw-r--r--gn2/wqflask/.DS_Store (renamed from wqflask/wqflask/.DS_Store)bin6148 -> 6148 bytes
-rw-r--r--gn2/wqflask/__init__.py (renamed from wqflask/wqflask/__init__.py)46
-rw-r--r--gn2/wqflask/api/__init__.py (renamed from wqflask/wqflask/api/__init__.py)0
-rw-r--r--gn2/wqflask/api/correlation.py (renamed from wqflask/wqflask/api/correlation.py)12
-rw-r--r--gn2/wqflask/api/gen_menu.py (renamed from wqflask/wqflask/api/gen_menu.py)0
-rw-r--r--gn2/wqflask/api/jobs.py (renamed from wqflask/wqflask/api/jobs.py)4
-rw-r--r--gn2/wqflask/api/mapping.py (renamed from wqflask/wqflask/api/mapping.py)8
-rw-r--r--gn2/wqflask/api/markdown.py (renamed from wqflask/wqflask/api/markdown.py)0
-rw-r--r--gn2/wqflask/api/router.py (renamed from wqflask/wqflask/api/router.py)10
-rw-r--r--gn2/wqflask/app_errors.py (renamed from wqflask/wqflask/app_errors.py)4
-rw-r--r--gn2/wqflask/collect.py (renamed from wqflask/wqflask/collect.py)34
-rw-r--r--gn2/wqflask/comparison_bar_chart/__init__.py (renamed from wqflask/wqflask/comparison_bar_chart/__init__.py)0
-rw-r--r--gn2/wqflask/comparison_bar_chart/comparison_bar_chart.py (renamed from wqflask/wqflask/comparison_bar_chart/comparison_bar_chart.py)10
-rw-r--r--gn2/wqflask/correlation/__init__.py (renamed from wqflask/wqflask/correlation/__init__.py)0
-rw-r--r--gn2/wqflask/correlation/corr_scatter_plot.py (renamed from wqflask/wqflask/correlation/corr_scatter_plot.py)8
-rw-r--r--gn2/wqflask/correlation/correlation_functions.py (renamed from wqflask/wqflask/correlation/correlation_functions.py)6
-rw-r--r--gn2/wqflask/correlation/correlation_gn3_api.py (renamed from wqflask/wqflask/correlation/correlation_gn3_api.py)12
-rw-r--r--gn2/wqflask/correlation/exceptions.py (renamed from wqflask/wqflask/correlation/exceptions.py)0
-rw-r--r--gn2/wqflask/correlation/pre_computes.py (renamed from wqflask/wqflask/correlation/pre_computes.py)6
-rw-r--r--gn2/wqflask/correlation/rust_correlation.py (renamed from wqflask/wqflask/correlation/rust_correlation.py)26
-rw-r--r--gn2/wqflask/correlation/show_corr_results.py (renamed from wqflask/wqflask/correlation/show_corr_results.py)10
-rw-r--r--gn2/wqflask/correlation_matrix/__init__.py (renamed from wqflask/wqflask/correlation_matrix/__init__.py)0
-rw-r--r--gn2/wqflask/correlation_matrix/show_corr_matrix.py (renamed from wqflask/wqflask/correlation_matrix/show_corr_matrix.py)10
-rw-r--r--gn2/wqflask/ctl/__init__.py (renamed from wqflask/wqflask/ctl/__init__.py)0
-rw-r--r--gn2/wqflask/ctl/ctl_analysis.py (renamed from wqflask/wqflask/ctl/ctl_analysis.py)14
-rw-r--r--gn2/wqflask/ctl/gn3_ctl_analysis.py (renamed from wqflask/wqflask/ctl/gn3_ctl_analysis.py)12
-rw-r--r--gn2/wqflask/database.py (renamed from wqflask/wqflask/database.py)0
-rw-r--r--gn2/wqflask/db_info.py (renamed from wqflask/wqflask/db_info.py)4
-rw-r--r--gn2/wqflask/decorators.py (renamed from wqflask/wqflask/decorators.py)8
-rw-r--r--gn2/wqflask/do_search.py (renamed from wqflask/wqflask/do_search.py)20
-rw-r--r--gn2/wqflask/docs.py (renamed from wqflask/wqflask/docs.py)4
-rw-r--r--gn2/wqflask/export_traits.py (renamed from wqflask/wqflask/export_traits.py)2
-rw-r--r--gn2/wqflask/external_tools/__init__.py (renamed from wqflask/wqflask/external_tools/__init__.py)0
-rw-r--r--gn2/wqflask/external_tools/send_to_bnw.py (renamed from wqflask/wqflask/external_tools/send_to_bnw.py)4
-rw-r--r--gn2/wqflask/external_tools/send_to_geneweaver.py (renamed from wqflask/wqflask/external_tools/send_to_geneweaver.py)6
-rw-r--r--gn2/wqflask/external_tools/send_to_webgestalt.py (renamed from wqflask/wqflask/external_tools/send_to_webgestalt.py)8
-rw-r--r--gn2/wqflask/group_manager.py (renamed from wqflask/wqflask/group_manager.py)2
-rw-r--r--gn2/wqflask/gsearch.py (renamed from wqflask/wqflask/gsearch.py)6
-rw-r--r--gn2/wqflask/heatmap/__init__.py (renamed from wqflask/wqflask/heatmap/__init__.py)0
-rw-r--r--gn2/wqflask/heatmap/heatmap.py (renamed from wqflask/wqflask/heatmap/heatmap.py)12
-rw-r--r--gn2/wqflask/interval_analyst/GeneUtil.py (renamed from wqflask/wqflask/interval_analyst/GeneUtil.py)4
-rw-r--r--gn2/wqflask/interval_analyst/__init__.py (renamed from wqflask/wqflask/interval_analyst/__init__.py)0
-rw-r--r--gn2/wqflask/jupyter_notebooks.py (renamed from wqflask/wqflask/jupyter_notebooks.py)0
-rw-r--r--gn2/wqflask/marker_regression/__init__.py (renamed from wqflask/wqflask/marker_regression/__init__.py)0
-rw-r--r--gn2/wqflask/marker_regression/display_mapping_results.py (renamed from wqflask/wqflask/marker_regression/display_mapping_results.py)28
-rw-r--r--gn2/wqflask/marker_regression/exceptions.py (renamed from wqflask/wqflask/marker_regression/exceptions.py)0
-rw-r--r--gn2/wqflask/marker_regression/gemma_mapping.py (renamed from wqflask/wqflask/marker_regression/gemma_mapping.py)20
-rw-r--r--gn2/wqflask/marker_regression/plink_mapping.py (renamed from wqflask/wqflask/marker_regression/plink_mapping.py)6
-rw-r--r--gn2/wqflask/marker_regression/qtlreaper_mapping.py (renamed from wqflask/wqflask/marker_regression/qtlreaper_mapping.py)8
-rw-r--r--gn2/wqflask/marker_regression/rqtl_mapping.py (renamed from wqflask/wqflask/marker_regression/rqtl_mapping.py)10
-rw-r--r--gn2/wqflask/marker_regression/run_mapping.py (renamed from wqflask/wqflask/marker_regression/run_mapping.py)30
-rw-r--r--gn2/wqflask/metadata_edits.py (renamed from wqflask/wqflask/metadata_edits.py)32
-rw-r--r--gn2/wqflask/network_graph/__init__.py (renamed from wqflask/wqflask/network_graph/__init__.py)0
-rw-r--r--gn2/wqflask/network_graph/network_graph.py (renamed from wqflask/wqflask/network_graph/network_graph.py)10
-rw-r--r--gn2/wqflask/oauth2/__init__.py (renamed from wqflask/wqflask/oauth2/__init__.py)0
-rw-r--r--gn2/wqflask/oauth2/checks.py (renamed from wqflask/wqflask/oauth2/checks.py)2
-rw-r--r--gn2/wqflask/oauth2/client.py (renamed from wqflask/wqflask/oauth2/client.py)14
-rw-r--r--gn2/wqflask/oauth2/collections.py (renamed from wqflask/wqflask/oauth2/collections.py)0
-rw-r--r--gn2/wqflask/oauth2/data.py (renamed from wqflask/wqflask/oauth2/data.py)12
-rw-r--r--gn2/wqflask/oauth2/groups.py (renamed from wqflask/wqflask/oauth2/groups.py)0
-rw-r--r--gn2/wqflask/oauth2/request_utils.py (renamed from wqflask/wqflask/oauth2/request_utils.py)2
-rw-r--r--gn2/wqflask/oauth2/resources.py (renamed from wqflask/wqflask/oauth2/resources.py)0
-rw-r--r--gn2/wqflask/oauth2/roles.py (renamed from wqflask/wqflask/oauth2/roles.py)0
-rw-r--r--gn2/wqflask/oauth2/routes.py (renamed from wqflask/wqflask/oauth2/routes.py)0
-rw-r--r--gn2/wqflask/oauth2/session.py (renamed from wqflask/wqflask/oauth2/session.py)0
-rw-r--r--gn2/wqflask/oauth2/toplevel.py (renamed from wqflask/wqflask/oauth2/toplevel.py)0
-rw-r--r--gn2/wqflask/oauth2/ui.py (renamed from wqflask/wqflask/oauth2/ui.py)0
-rw-r--r--gn2/wqflask/oauth2/users.py (renamed from wqflask/wqflask/oauth2/users.py)6
-rw-r--r--gn2/wqflask/parser.py (renamed from wqflask/wqflask/parser.py)0
-rw-r--r--gn2/wqflask/partial_correlations_views.py (renamed from wqflask/wqflask/partial_correlations_views.py)6
-rw-r--r--gn2/wqflask/pbkdf2.py (renamed from wqflask/wqflask/pbkdf2.py)0
-rw-r--r--gn2/wqflask/requests.py (renamed from wqflask/wqflask/requests.py)0
-rw-r--r--gn2/wqflask/resource_manager.py (renamed from wqflask/wqflask/resource_manager.py)6
-rw-r--r--gn2/wqflask/search_results.py (renamed from wqflask/wqflask/search_results.py)18
-rw-r--r--gn2/wqflask/send_mail.py (renamed from wqflask/wqflask/send_mail.py)0
-rw-r--r--gn2/wqflask/server_side.py (renamed from wqflask/wqflask/server_side.py)0
-rw-r--r--gn2/wqflask/show_trait/SampleList.py (renamed from wqflask/wqflask/show_trait/SampleList.py)10
-rw-r--r--gn2/wqflask/show_trait/__init__.py (renamed from wqflask/wqflask/show_trait/__init__.py)0
-rw-r--r--gn2/wqflask/show_trait/export_trait_data.py (renamed from wqflask/wqflask/show_trait/export_trait_data.py)4
-rw-r--r--gn2/wqflask/show_trait/show_trait.py (renamed from wqflask/wqflask/show_trait/show_trait.py)20
-rw-r--r--gn2/wqflask/snp_browser/__init__.py (renamed from wqflask/wqflask/snp_browser/__init__.py)0
-rw-r--r--gn2/wqflask/snp_browser/snp_browser.py (renamed from wqflask/wqflask/snp_browser/snp_browser.py)8
-rw-r--r--gn2/wqflask/startup.py (renamed from wqflask/wqflask/startup.py)0
-rw-r--r--gn2/wqflask/static/Congenic.png (renamed from wqflask/wqflask/static/Congenic.png)bin56578 -> 56578 bytes
-rw-r--r--gn2/wqflask/static/fonts/README (renamed from wqflask/wqflask/static/fonts/README)0
-rw-r--r--gn2/wqflask/static/fonts/arial.ttf (renamed from wqflask/wqflask/static/fonts/arial.ttf)bin151232 -> 151232 bytes
-rw-r--r--gn2/wqflask/static/fonts/courbd.ttf (renamed from wqflask/wqflask/static/fonts/courbd.ttf)bin181388 -> 181388 bytes
-rw-r--r--gn2/wqflask/static/fonts/fnt_bs.ttf (renamed from wqflask/wqflask/static/fonts/fnt_bs.ttf)bin20988 -> 20988 bytes
-rw-r--r--gn2/wqflask/static/fonts/tahoma.ttf (renamed from wqflask/wqflask/static/fonts/tahoma.ttf)bin249012 -> 249012 bytes
-rw-r--r--gn2/wqflask/static/fonts/trebucbd.ttf (renamed from wqflask/wqflask/static/fonts/trebucbd.ttf)bin123828 -> 123828 bytes
-rw-r--r--gn2/wqflask/static/fonts/verdana.ttf (renamed from wqflask/wqflask/static/fonts/verdana.ttf)bin139640 -> 139640 bytes
-rw-r--r--gn2/wqflask/static/fonts/verdanab.ttf (renamed from wqflask/wqflask/static/fonts/verdanab.ttf)bin156340 -> 156340 bytes
-rw-r--r--gn2/wqflask/static/gif/89.gif (renamed from wqflask/wqflask/static/gif/89.gif)bin27183 -> 27183 bytes
-rw-r--r--gn2/wqflask/static/gif/error/Wild-Type-Mouse.gif (renamed from wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif)bin37328 -> 37328 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-aliens-29.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif)bin14088 -> 14088 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-angels-04.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif)bin12155 -> 12155 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-cats-016.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif)bin10388 -> 10388 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-cats-031.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif)bin6937 -> 6937 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif)bin14902 -> 14902 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif)bin7307 -> 7307 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-13.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif)bin7616 -> 7616 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-28.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif)bin7566 -> 7566 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-32.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif)bin2970 -> 2970 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-42.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif)bin9391 -> 9391 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-60.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif)bin35873 -> 35873 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-64.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif)bin20728 -> 20728 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-65.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif)bin26358 -> 26358 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-72.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif)bin16361 -> 16361 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-74.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif)bin21087 -> 21087 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-computers-75.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif)bin98317 -> 98317 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif)bin949 -> 949 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-dogs-04.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif)bin9450 -> 9450 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-dogs-14.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif)bin2532 -> 2532 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-dogs-18.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif)bin3596 -> 3596 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-dogs-47.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif)bin13920 -> 13920 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-dogs-50.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif)bin7297 -> 7297 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif)bin27122 -> 27122 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-mice-02.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif)bin73345 -> 73345 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-mice-09.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif)bin27822 -> 27822 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-mice-24.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif)bin10566 -> 10566 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-smileys-063.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif)bin2230 -> 2230 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-smileys-068.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif)bin11751 -> 11751 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-smileys-134.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif)bin21431 -> 21431 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-smileys-211.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif)bin11209 -> 11209 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-smileys-234.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif)bin8677 -> 8677 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-001.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif)bin6897 -> 6897 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-002.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif)bin14098 -> 14098 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-005.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif)bin13264 -> 13264 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-012.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif)bin12141 -> 12141 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-056.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif)bin5946 -> 5946 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-059.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif)bin16427 -> 16427 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-060.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif)bin14434 -> 14434 bytes
-rw-r--r--gn2/wqflask/static/gif/error/animated-gifs-stickmen-069.gif (renamed from wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif)bin7668 -> 7668 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m001.gif (renamed from wqflask/wqflask/static/gif/error/m001.gif)bin273531 -> 273531 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m002.gif (renamed from wqflask/wqflask/static/gif/error/m002.gif)bin1799777 -> 1799777 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m003.gif (renamed from wqflask/wqflask/static/gif/error/m003.gif)bin2238947 -> 2238947 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m004.gif (renamed from wqflask/wqflask/static/gif/error/m004.gif)bin2090274 -> 2090274 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m005.gif (renamed from wqflask/wqflask/static/gif/error/m005.gif)bin947565 -> 947565 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m006.gif (renamed from wqflask/wqflask/static/gif/error/m006.gif)bin121116 -> 121116 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m007.gif (renamed from wqflask/wqflask/static/gif/error/m007.gif)bin41670 -> 41670 bytes
-rw-r--r--gn2/wqflask/static/gif/error/m008.gif (renamed from wqflask/wqflask/static/gif/error/m008.gif)bin732023 -> 732023 bytes
-rw-r--r--gn2/wqflask/static/gif/error/mouse-wheel.gif (renamed from wqflask/wqflask/static/gif/error/mouse-wheel.gif)bin2001764 -> 2001764 bytes
-rw-r--r--gn2/wqflask/static/gif/loader.gif (renamed from wqflask/wqflask/static/gif/loader.gif)bin43889 -> 43889 bytes
-rw-r--r--gn2/wqflask/static/gif/waitAnima2.gif (renamed from wqflask/wqflask/static/gif/waitAnima2.gif)bin54013 -> 54013 bytes
-rw-r--r--gn2/wqflask/static/images/Belknap_Fig1_1998.png (renamed from wqflask/wqflask/static/images/Belknap_Fig1_1998.png)bin117246 -> 117246 bytes
-rw-r--r--gn2/wqflask/static/images/Chrna1vsMyf6.gif (renamed from wqflask/wqflask/static/images/Chrna1vsMyf6.gif)bin59529 -> 59529 bytes
-rw-r--r--gn2/wqflask/static/images/Congenic.png (renamed from wqflask/wqflask/static/images/Congenic.png)bin56578 -> 56578 bytes
-rw-r--r--gn2/wqflask/static/images/Normal_Plot.gif (renamed from wqflask/wqflask/static/images/Normal_Plot.gif)bin47289 -> 47289 bytes
-rw-r--r--gn2/wqflask/static/images/SilverFig3_2.png (renamed from wqflask/wqflask/static/images/SilverFig3_2.png)bin61570 -> 61570 bytes
-rw-r--r--gn2/wqflask/static/images/SilverFig3_6.png (renamed from wqflask/wqflask/static/images/SilverFig3_6.png)bin22017 -> 22017 bytes
-rw-r--r--gn2/wqflask/static/images/Winsorize1.png (renamed from wqflask/wqflask/static/images/Winsorize1.png)bin15117 -> 15117 bytes
-rw-r--r--gn2/wqflask/static/images/Winsorize3.png (renamed from wqflask/wqflask/static/images/Winsorize3.png)bin17317 -> 17317 bytes
-rw-r--r--gn2/wqflask/static/images/edit.png (renamed from wqflask/wqflask/static/images/edit.png)bin2452 -> 2452 bytes
-rw-r--r--gn2/wqflask/static/new/css/autocomplete.css (renamed from wqflask/wqflask/static/new/css/autocomplete.css)0
-rw-r--r--gn2/wqflask/static/new/css/bar_chart.css (renamed from wqflask/wqflask/static/new/css/bar_chart.css)0
-rw-r--r--gn2/wqflask/static/new/css/bootstrap-custom.css (renamed from wqflask/wqflask/static/new/css/bootstrap-custom.css)0
-rw-r--r--gn2/wqflask/static/new/css/box_plot.css (renamed from wqflask/wqflask/static/new/css/box_plot.css)0
-rw-r--r--gn2/wqflask/static/new/css/broken_links.css (renamed from wqflask/wqflask/static/new/css/broken_links.css)0
-rw-r--r--gn2/wqflask/static/new/css/colorbox.css (renamed from wqflask/wqflask/static/new/css/colorbox.css)0
-rw-r--r--gn2/wqflask/static/new/css/corr_matrix.css (renamed from wqflask/wqflask/static/new/css/corr_matrix.css)0
-rw-r--r--gn2/wqflask/static/new/css/corr_scatter_plot.css (renamed from wqflask/wqflask/static/new/css/corr_scatter_plot.css)0
-rw-r--r--gn2/wqflask/static/new/css/corr_scatter_plot2.css (renamed from wqflask/wqflask/static/new/css/corr_scatter_plot2.css)0
-rw-r--r--gn2/wqflask/static/new/css/d3-tip.min.css (renamed from wqflask/wqflask/static/new/css/d3-tip.min.css)0
-rw-r--r--gn2/wqflask/static/new/css/d3panels.min.css (renamed from wqflask/wqflask/static/new/css/d3panels.min.css)0
-rw-r--r--gn2/wqflask/static/new/css/docs.css (renamed from wqflask/wqflask/static/new/css/docs.css)0
-rw-r--r--gn2/wqflask/static/new/css/index_page.css (renamed from wqflask/wqflask/static/new/css/index_page.css)0
-rw-r--r--gn2/wqflask/static/new/css/jupyter_notebooks.css (renamed from wqflask/wqflask/static/new/css/jupyter_notebooks.css)0
-rw-r--r--gn2/wqflask/static/new/css/main.css (renamed from wqflask/wqflask/static/new/css/main.css)0
-rw-r--r--gn2/wqflask/static/new/css/markdown.css (renamed from wqflask/wqflask/static/new/css/markdown.css)0
-rw-r--r--gn2/wqflask/static/new/css/marker_regression.css (renamed from wqflask/wqflask/static/new/css/marker_regression.css)0
-rw-r--r--gn2/wqflask/static/new/css/mytooltip.css (renamed from wqflask/wqflask/static/new/css/mytooltip.css)0
-rw-r--r--gn2/wqflask/static/new/css/network_graph.css (renamed from wqflask/wqflask/static/new/css/network_graph.css)0
-rw-r--r--gn2/wqflask/static/new/css/non-responsive.css (renamed from wqflask/wqflask/static/new/css/non-responsive.css)0
-rw-r--r--gn2/wqflask/static/new/css/pair_scan.css (renamed from wqflask/wqflask/static/new/css/pair_scan.css)0
-rw-r--r--gn2/wqflask/static/new/css/panelutil.css (renamed from wqflask/wqflask/static/new/css/panelutil.css)0
-rw-r--r--gn2/wqflask/static/new/css/parsley.css (renamed from wqflask/wqflask/static/new/css/parsley.css)0
-rw-r--r--gn2/wqflask/static/new/css/partial_correlations.css (renamed from wqflask/wqflask/static/new/css/partial_correlations.css)0
-rw-r--r--gn2/wqflask/static/new/css/prob_plot.css (renamed from wqflask/wqflask/static/new/css/prob_plot.css)0
-rw-r--r--gn2/wqflask/static/new/css/scatter-matrix.css (renamed from wqflask/wqflask/static/new/css/scatter-matrix.css)0
-rw-r--r--gn2/wqflask/static/new/css/show_trait.css (renamed from wqflask/wqflask/static/new/css/show_trait.css)0
-rw-r--r--gn2/wqflask/static/new/css/snp_browser.css (renamed from wqflask/wqflask/static/new/css/snp_browser.css)0
-rw-r--r--gn2/wqflask/static/new/css/trait_list.css (renamed from wqflask/wqflask/static/new/css/trait_list.css)0
-rw-r--r--gn2/wqflask/static/new/css/typeahead-bootstrap.css (renamed from wqflask/wqflask/static/new/css/typeahead-bootstrap.css)0
-rw-r--r--gn2/wqflask/static/new/images/CITGLogo.png (renamed from wqflask/wqflask/static/new/images/CITGLogo.png)bin11962 -> 11962 bytes
-rw-r--r--gn2/wqflask/static/new/images/Nif.png (renamed from wqflask/wqflask/static/new/images/Nif.png)bin4444 -> 4444 bytes
-rw-r--r--gn2/wqflask/static/new/images/PythonLogo.png (renamed from wqflask/wqflask/static/new/images/PythonLogo.png)bin7685 -> 7685 bytes
-rw-r--r--gn2/wqflask/static/new/images/a1.gif (renamed from wqflask/wqflask/static/new/images/a1.gif)bin430 -> 430 bytes
-rw-r--r--gn2/wqflask/static/new/images/arrowdown.gif (renamed from wqflask/wqflask/static/new/images/arrowdown.gif)bin844 -> 844 bytes
-rw-r--r--gn2/wqflask/static/new/images/edit.gif (renamed from wqflask/wqflask/static/new/images/edit.gif)bin157 -> 157 bytes
-rw-r--r--gn2/wqflask/static/new/images/ipad_icon3.png (renamed from wqflask/wqflask/static/new/images/ipad_icon3.png)bin6728 -> 6728 bytes
-rw-r--r--gn2/wqflask/static/new/images/question_mark.jpg (renamed from wqflask/wqflask/static/new/images/question_mark.jpg)bin47158 -> 47158 bytes
-rw-r--r--gn2/wqflask/static/new/images/step1.gif (renamed from wqflask/wqflask/static/new/images/step1.gif)bin758 -> 758 bytes
-rw-r--r--gn2/wqflask/static/new/images/step2.gif (renamed from wqflask/wqflask/static/new/images/step2.gif)bin826 -> 826 bytes
-rw-r--r--gn2/wqflask/static/new/images/step3.gif (renamed from wqflask/wqflask/static/new/images/step3.gif)bin818 -> 818 bytes
-rw-r--r--gn2/wqflask/static/new/javascript/auth/search.js (renamed from wqflask/wqflask/static/new/javascript/auth/search.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/auth/search_genotypes.js (renamed from wqflask/wqflask/static/new/javascript/auth/search_genotypes.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/auth/search_mrna.js (renamed from wqflask/wqflask/static/new/javascript/auth/search_mrna.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/auth/search_phenotypes.js (renamed from wqflask/wqflask/static/new/javascript/auth/search_phenotypes.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/auto_hide_column.js (renamed from wqflask/wqflask/static/new/javascript/auto_hide_column.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/bar_chart.js (renamed from wqflask/wqflask/static/new/javascript/bar_chart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/box.js (renamed from wqflask/wqflask/static/new/javascript/box.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/box_plot.js (renamed from wqflask/wqflask/static/new/javascript/box_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/chr_lod_chart.js (renamed from wqflask/wqflask/static/new/javascript/chr_lod_chart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/chr_manhattan_plot.js (renamed from wqflask/wqflask/static/new/javascript/chr_manhattan_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/colorbrewer.js (renamed from wqflask/wqflask/static/new/javascript/colorbrewer.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/compare_traits_scatterplot.js (renamed from wqflask/wqflask/static/new/javascript/compare_traits_scatterplot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/comparison_bar_chart.js (renamed from wqflask/wqflask/static/new/javascript/comparison_bar_chart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/corr_matrix.js (renamed from wqflask/wqflask/static/new/javascript/corr_matrix.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/corr_scatter_plot.js (renamed from wqflask/wqflask/static/new/javascript/corr_scatter_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/create_corr_matrix.js (renamed from wqflask/wqflask/static/new/javascript/create_corr_matrix.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/create_datatable.js (renamed from wqflask/wqflask/static/new/javascript/create_datatable.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/create_heatmap.js (renamed from wqflask/wqflask/static/new/javascript/create_heatmap.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/create_lodchart.js (renamed from wqflask/wqflask/static/new/javascript/create_lodchart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/create_manhattan_plot.js (renamed from wqflask/wqflask/static/new/javascript/create_manhattan_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/ctl_graph.js (renamed from wqflask/wqflask/static/new/javascript/ctl_graph.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/curvechart.js (renamed from wqflask/wqflask/static/new/javascript/curvechart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/d3panels.min.js (renamed from wqflask/wqflask/static/new/javascript/d3panels.min.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/dataset_select_menu_orig.js (renamed from wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/draw_corr_scatterplot.js (renamed from wqflask/wqflask/static/new/javascript/draw_corr_scatterplot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/draw_probability_plot.js (renamed from wqflask/wqflask/static/new/javascript/draw_probability_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/get_covariates_from_collection.js (renamed from wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/get_traits_from_collection.js (renamed from wqflask/wqflask/static/new/javascript/get_traits_from_collection.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/group_manager.js (renamed from wqflask/wqflask/static/new/javascript/group_manager.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/histogram.js (renamed from wqflask/wqflask/static/new/javascript/histogram.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/init_genome_browser.js (renamed from wqflask/wqflask/static/new/javascript/init_genome_browser.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/initialize_show_trait_tables.js (renamed from wqflask/wqflask/static/new/javascript/initialize_show_trait_tables.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/iplotMScanone_noeff.js (renamed from wqflask/wqflask/static/new/javascript/iplotMScanone_noeff.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/loadings_plot.js (renamed from wqflask/wqflask/static/new/javascript/loadings_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/lod_chart.js (renamed from wqflask/wqflask/static/new/javascript/lod_chart.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/lodheatmap.js (renamed from wqflask/wqflask/static/new/javascript/lodheatmap.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/login.js (renamed from wqflask/wqflask/static/new/javascript/login.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/network_graph.js (renamed from wqflask/wqflask/static/new/javascript/network_graph.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/panelutil.js (renamed from wqflask/wqflask/static/new/javascript/panelutil.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/partial_correlations.js (renamed from wqflask/wqflask/static/new/javascript/partial_correlations.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/password_strength.js (renamed from wqflask/wqflask/static/new/javascript/password_strength.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/plotly_probability_plot.js (renamed from wqflask/wqflask/static/new/javascript/plotly_probability_plot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/scatter-matrix.js (renamed from wqflask/wqflask/static/new/javascript/scatter-matrix.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/scatterplot.js (renamed from wqflask/wqflask/static/new/javascript/scatterplot.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/search_autocomplete.js (renamed from wqflask/wqflask/static/new/javascript/search_autocomplete.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/search_results.js (renamed from wqflask/wqflask/static/new/javascript/search_results.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/show_trait.js (renamed from wqflask/wqflask/static/new/javascript/show_trait.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/show_trait_mapping_tools.js (renamed from wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/stats.js (renamed from wqflask/wqflask/static/new/javascript/stats.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/table_functions.js (renamed from wqflask/wqflask/static/new/javascript/table_functions.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/thank_you.js (renamed from wqflask/wqflask/static/new/javascript/thank_you.js)0
-rw-r--r--gn2/wqflask/static/new/javascript/typeahead_rn6.json (renamed from wqflask/wqflask/static/new/javascript/typeahead_rn6.json)0
-rw-r--r--gn2/wqflask/static/new/javascript/validation.js (renamed from wqflask/wqflask/static/new/javascript/validation.js)0
-rw-r--r--gn2/wqflask/templates/admin/change_resource_owner.html (renamed from wqflask/wqflask/templates/admin/change_resource_owner.html)0
-rw-r--r--gn2/wqflask/templates/admin/create_group.html (renamed from wqflask/wqflask/templates/admin/create_group.html)0
-rw-r--r--gn2/wqflask/templates/admin/group_manager.html (renamed from wqflask/wqflask/templates/admin/group_manager.html)0
-rw-r--r--gn2/wqflask/templates/admin/ind_user_manager.html (renamed from wqflask/wqflask/templates/admin/ind_user_manager.html)0
-rw-r--r--gn2/wqflask/templates/admin/manage_resource.html (renamed from wqflask/wqflask/templates/admin/manage_resource.html)0
-rw-r--r--gn2/wqflask/templates/admin/manage_user.html (renamed from wqflask/wqflask/templates/admin/manage_user.html)0
-rw-r--r--gn2/wqflask/templates/admin/search_for_groups.html (renamed from wqflask/wqflask/templates/admin/search_for_groups.html)0
-rw-r--r--gn2/wqflask/templates/admin/set_group_privileges.html (renamed from wqflask/wqflask/templates/admin/set_group_privileges.html)0
-rw-r--r--gn2/wqflask/templates/admin/user_manager.html (renamed from wqflask/wqflask/templates/admin/user_manager.html)0
-rw-r--r--gn2/wqflask/templates/admin/view_group.html (renamed from wqflask/wqflask/templates/admin/view_group.html)0
-rw-r--r--gn2/wqflask/templates/authorisation_error.html (renamed from wqflask/wqflask/templates/authorisation_error.html)0
-rw-r--r--gn2/wqflask/templates/base.html (renamed from wqflask/wqflask/templates/base.html)0
-rw-r--r--gn2/wqflask/templates/base_macro.html (renamed from wqflask/wqflask/templates/base_macro.html)0
-rw-r--r--gn2/wqflask/templates/blogs.html (renamed from wqflask/wqflask/templates/blogs.html)0
-rw-r--r--gn2/wqflask/templates/blogs_list.html (renamed from wqflask/wqflask/templates/blogs_list.html)0
-rw-r--r--gn2/wqflask/templates/bnw_page.html (renamed from wqflask/wqflask/templates/bnw_page.html)0
-rw-r--r--gn2/wqflask/templates/case_attributes.html (renamed from wqflask/wqflask/templates/case_attributes.html)0
-rw-r--r--gn2/wqflask/templates/collections/add.html (renamed from wqflask/wqflask/templates/collections/add.html)0
-rw-r--r--gn2/wqflask/templates/collections/add_anonymous.html (renamed from wqflask/wqflask/templates/collections/add_anonymous.html)0
-rw-r--r--gn2/wqflask/templates/collections/list.html (renamed from wqflask/wqflask/templates/collections/list.html)0
-rw-r--r--gn2/wqflask/templates/collections/not_logged_in.html (renamed from wqflask/wqflask/templates/collections/not_logged_in.html)0
-rw-r--r--gn2/wqflask/templates/collections/remove.html (renamed from wqflask/wqflask/templates/collections/remove.html)0
-rw-r--r--gn2/wqflask/templates/collections/view.html (renamed from wqflask/wqflask/templates/collections/view.html)0
-rw-r--r--gn2/wqflask/templates/collections/view_anonymous.html (renamed from wqflask/wqflask/templates/collections/view_anonymous.html)0
-rw-r--r--gn2/wqflask/templates/comparison_bar_chart.html (renamed from wqflask/wqflask/templates/comparison_bar_chart.html)0
-rw-r--r--gn2/wqflask/templates/corr_scatterplot.html (renamed from wqflask/wqflask/templates/corr_scatterplot.html)0
-rw-r--r--gn2/wqflask/templates/correlation_error_page.html (renamed from wqflask/wqflask/templates/correlation_error_page.html)0
-rw-r--r--gn2/wqflask/templates/correlation_matrix.html (renamed from wqflask/wqflask/templates/correlation_matrix.html)0
-rw-r--r--gn2/wqflask/templates/correlation_page.html (renamed from wqflask/wqflask/templates/correlation_page.html)0
-rw-r--r--gn2/wqflask/templates/credits.html (renamed from wqflask/wqflask/templates/credits.html)0
-rw-r--r--gn2/wqflask/templates/ctl_results.html (renamed from wqflask/wqflask/templates/ctl_results.html)0
-rw-r--r--gn2/wqflask/templates/ctl_setup.html (renamed from wqflask/wqflask/templates/ctl_setup.html)0
-rw-r--r--gn2/wqflask/templates/data_sharing.html (renamed from wqflask/wqflask/templates/data_sharing.html)0
-rw-r--r--gn2/wqflask/templates/dataset.html (renamed from wqflask/wqflask/templates/dataset.html)0
-rw-r--r--gn2/wqflask/templates/display_diffs.html (renamed from wqflask/wqflask/templates/display_diffs.html)0
-rw-r--r--gn2/wqflask/templates/display_files.html (renamed from wqflask/wqflask/templates/display_files.html)0
-rw-r--r--gn2/wqflask/templates/docedit.html (renamed from wqflask/wqflask/templates/docedit.html)0
-rw-r--r--gn2/wqflask/templates/docs.html (renamed from wqflask/wqflask/templates/docs.html)0
-rw-r--r--gn2/wqflask/templates/edit_case_attributes.html (renamed from wqflask/wqflask/templates/edit_case_attributes.html)0
-rw-r--r--gn2/wqflask/templates/edit_history.html (renamed from wqflask/wqflask/templates/edit_history.html)0
-rw-r--r--gn2/wqflask/templates/edit_phenotype.html (renamed from wqflask/wqflask/templates/edit_phenotype.html)0
-rw-r--r--gn2/wqflask/templates/edit_probeset.html (renamed from wqflask/wqflask/templates/edit_probeset.html)0
-rw-r--r--gn2/wqflask/templates/email/forgot_password.txt (renamed from wqflask/wqflask/templates/email/forgot_password.txt)0
-rw-r--r--gn2/wqflask/templates/empty_collection.html (renamed from wqflask/wqflask/templates/empty_collection.html)0
-rw-r--r--gn2/wqflask/templates/environment.html (renamed from wqflask/wqflask/templates/environment.html)0
-rw-r--r--gn2/wqflask/templates/error.html (renamed from wqflask/wqflask/templates/error.html)0
-rw-r--r--gn2/wqflask/templates/facilities.html (renamed from wqflask/wqflask/templates/facilities.html)0
-rw-r--r--gn2/wqflask/templates/generif.html (renamed from wqflask/wqflask/templates/generif.html)0
-rw-r--r--gn2/wqflask/templates/geneweaver_page.html (renamed from wqflask/wqflask/templates/geneweaver_page.html)0
-rw-r--r--gn2/wqflask/templates/genotype.html (renamed from wqflask/wqflask/templates/genotype.html)0
-rw-r--r--gn2/wqflask/templates/glossary.html (renamed from wqflask/wqflask/templates/glossary.html)0
-rw-r--r--gn2/wqflask/templates/gn3_ctl_results.html (renamed from wqflask/wqflask/templates/gn3_ctl_results.html)0
-rw-r--r--gn2/wqflask/templates/gn3_wgcna_results.html (renamed from wqflask/wqflask/templates/gn3_wgcna_results.html)0
-rw-r--r--gn2/wqflask/templates/gnqa.html (renamed from wqflask/wqflask/templates/gnqa.html)0
-rw-r--r--gn2/wqflask/templates/gnqa_answer.html (renamed from wqflask/wqflask/templates/gnqa_answer.html)0
-rw-r--r--gn2/wqflask/templates/gsearch_gene.html (renamed from wqflask/wqflask/templates/gsearch_gene.html)0
-rw-r--r--gn2/wqflask/templates/gsearch_pheno.html (renamed from wqflask/wqflask/templates/gsearch_pheno.html)0
-rw-r--r--gn2/wqflask/templates/heatmap.html (renamed from wqflask/wqflask/templates/heatmap.html)0
-rwxr-xr-xgn2/wqflask/templates/index_page.html (renamed from wqflask/wqflask/templates/index_page.html)0
-rw-r--r--gn2/wqflask/templates/info_page.html (renamed from wqflask/wqflask/templates/info_page.html)0
-rw-r--r--gn2/wqflask/templates/jobs/debug.html (renamed from wqflask/wqflask/templates/jobs/debug.html)0
-rw-r--r--gn2/wqflask/templates/jobs/no-such-job.html (renamed from wqflask/wqflask/templates/jobs/no-such-job.html)0
-rw-r--r--gn2/wqflask/templates/jupyter_notebooks.html (renamed from wqflask/wqflask/templates/jupyter_notebooks.html)0
-rw-r--r--gn2/wqflask/templates/links.html (renamed from wqflask/wqflask/templates/links.html)0
-rw-r--r--gn2/wqflask/templates/list_case_attribute_diffs.html (renamed from wqflask/wqflask/templates/list_case_attribute_diffs.html)0
-rw-r--r--gn2/wqflask/templates/list_case_attribute_diffs_error.html (renamed from wqflask/wqflask/templates/list_case_attribute_diffs_error.html)0
-rw-r--r--gn2/wqflask/templates/loading.html (renamed from wqflask/wqflask/templates/loading.html)0
-rw-r--r--gn2/wqflask/templates/loading_corrs.html (renamed from wqflask/wqflask/templates/loading_corrs.html)0
-rw-r--r--gn2/wqflask/templates/mapping_error.html (renamed from wqflask/wqflask/templates/mapping_error.html)0
-rw-r--r--gn2/wqflask/templates/mapping_results.html (renamed from wqflask/wqflask/templates/mapping_results.html)0
-rw-r--r--gn2/wqflask/templates/marker_regression.html (renamed from wqflask/wqflask/templates/marker_regression.html)0
-rw-r--r--gn2/wqflask/templates/metadata/dataset.html (renamed from wqflask/wqflask/templates/metadata/dataset.html)0
-rw-r--r--gn2/wqflask/templates/network_graph.html (renamed from wqflask/wqflask/templates/network_graph.html)0
-rw-r--r--gn2/wqflask/templates/new_security/forgot_password.html (renamed from wqflask/wqflask/templates/new_security/forgot_password.html)0
-rw-r--r--gn2/wqflask/templates/new_security/forgot_password_step2.html (renamed from wqflask/wqflask/templates/new_security/forgot_password_step2.html)0
-rw-r--r--gn2/wqflask/templates/new_security/login_user.html (renamed from wqflask/wqflask/templates/new_security/login_user.html)0
-rw-r--r--gn2/wqflask/templates/new_security/not_authenticated.html (renamed from wqflask/wqflask/templates/new_security/not_authenticated.html)0
-rw-r--r--gn2/wqflask/templates/new_security/password_reset.html (renamed from wqflask/wqflask/templates/new_security/password_reset.html)0
-rw-r--r--gn2/wqflask/templates/new_security/register_user.html (renamed from wqflask/wqflask/templates/new_security/register_user.html)0
-rw-r--r--gn2/wqflask/templates/new_security/registered.html (renamed from wqflask/wqflask/templates/new_security/registered.html)0
-rw-r--r--gn2/wqflask/templates/new_security/thank_you.html (renamed from wqflask/wqflask/templates/new_security/thank_you.html)0
-rw-r--r--gn2/wqflask/templates/new_security/verification_still_needed.html (renamed from wqflask/wqflask/templates/new_security/verification_still_needed.html)0
-rw-r--r--gn2/wqflask/templates/news.html (renamed from wqflask/wqflask/templates/news.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/create-resource.html (renamed from wqflask/wqflask/templates/oauth2/create-resource.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/create-role.html (renamed from wqflask/wqflask/templates/oauth2/create-role.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/data-list-genotype.html (renamed from wqflask/wqflask/templates/oauth2/data-list-genotype.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/data-list-mrna.html (renamed from wqflask/wqflask/templates/oauth2/data-list-mrna.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/data-list-phenotype.html (renamed from wqflask/wqflask/templates/oauth2/data-list-phenotype.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/data-list.html (renamed from wqflask/wqflask/templates/oauth2/data-list.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/display_error.html (renamed from wqflask/wqflask/templates/oauth2/display_error.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/group.html (renamed from wqflask/wqflask/templates/oauth2/group.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/group_join_or_create.html (renamed from wqflask/wqflask/templates/oauth2/group_join_or_create.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/join-requests.html (renamed from wqflask/wqflask/templates/oauth2/join-requests.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/list_roles.html (renamed from wqflask/wqflask/templates/oauth2/list_roles.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/login.html (renamed from wqflask/wqflask/templates/oauth2/login.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/masquerade.html (renamed from wqflask/wqflask/templates/oauth2/masquerade.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/profile_nav.html (renamed from wqflask/wqflask/templates/oauth2/profile_nav.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/register_user.html (renamed from wqflask/wqflask/templates/oauth2/register_user.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/request_error.html (renamed from wqflask/wqflask/templates/oauth2/request_error.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/resources.html (renamed from wqflask/wqflask/templates/oauth2/resources.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/role.html (renamed from wqflask/wqflask/templates/oauth2/role.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/view-group-role.html (renamed from wqflask/wqflask/templates/oauth2/view-group-role.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/view-resource.html (renamed from wqflask/wqflask/templates/oauth2/view-resource.html)0
-rw-r--r--gn2/wqflask/templates/oauth2/view-user.html (renamed from wqflask/wqflask/templates/oauth2/view-user.html)0
-rw-r--r--gn2/wqflask/templates/pair_scan_results.html (renamed from wqflask/wqflask/templates/pair_scan_results.html)0
-rw-r--r--gn2/wqflask/templates/partial_correlations/pcorrs_error.html (renamed from wqflask/wqflask/templates/partial_correlations/pcorrs_error.html)0
-rw-r--r--gn2/wqflask/templates/partial_correlations/pcorrs_poll_results.html (renamed from wqflask/wqflask/templates/partial_correlations/pcorrs_poll_results.html)0
-rw-r--r--gn2/wqflask/templates/partial_correlations/pcorrs_results_presentation.html (renamed from wqflask/wqflask/templates/partial_correlations/pcorrs_results_presentation.html)0
-rw-r--r--gn2/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html (renamed from wqflask/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html)0
-rw-r--r--gn2/wqflask/templates/partial_correlations/pcorrs_select_operations.html (renamed from wqflask/wqflask/templates/partial_correlations/pcorrs_select_operations.html)0
-rw-r--r--gn2/wqflask/templates/pca_scree_plot.html (renamed from wqflask/wqflask/templates/pca_scree_plot.html)0
-rw-r--r--gn2/wqflask/templates/phenotype.html (renamed from wqflask/wqflask/templates/phenotype.html)0
-rw-r--r--gn2/wqflask/templates/policies.html (renamed from wqflask/wqflask/templates/policies.html)0
-rw-r--r--gn2/wqflask/templates/publication.html (renamed from wqflask/wqflask/templates/publication.html)0
-rw-r--r--gn2/wqflask/templates/references.html (renamed from wqflask/wqflask/templates/references.html)0
-rw-r--r--gn2/wqflask/templates/search_autocomplete.html (renamed from wqflask/wqflask/templates/search_autocomplete.html)0
-rw-r--r--gn2/wqflask/templates/search_error.html (renamed from wqflask/wqflask/templates/search_error.html)0
-rw-r--r--gn2/wqflask/templates/search_history.html (renamed from wqflask/wqflask/templates/search_history.html)0
-rw-r--r--gn2/wqflask/templates/search_result_page.html (renamed from wqflask/wqflask/templates/search_result_page.html)0
-rw-r--r--gn2/wqflask/templates/set_group_privileges.html (renamed from wqflask/wqflask/templates/set_group_privileges.html)0
-rw-r--r--gn2/wqflask/templates/show_image.html (renamed from wqflask/wqflask/templates/show_image.html)0
-rw-r--r--gn2/wqflask/templates/show_trait.html (renamed from wqflask/wqflask/templates/show_trait.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_calculate_correlations.html (renamed from wqflask/wqflask/templates/show_trait_calculate_correlations.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_details.html (renamed from wqflask/wqflask/templates/show_trait_details.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_edit_data.html (renamed from wqflask/wqflask/templates/show_trait_edit_data.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_error.html (renamed from wqflask/wqflask/templates/show_trait_error.html)0
-rwxr-xr-xgn2/wqflask/templates/show_trait_mapping_tools.html (renamed from wqflask/wqflask/templates/show_trait_mapping_tools.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_progress_bar.html (renamed from wqflask/wqflask/templates/show_trait_progress_bar.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_statistics.html (renamed from wqflask/wqflask/templates/show_trait_statistics.html)0
-rw-r--r--gn2/wqflask/templates/show_trait_transform_and_filter.html (renamed from wqflask/wqflask/templates/show_trait_transform_and_filter.html)0
-rw-r--r--gn2/wqflask/templates/snp_browser.html (renamed from wqflask/wqflask/templates/snp_browser.html)0
-rw-r--r--gn2/wqflask/templates/startup_errors.html (renamed from wqflask/wqflask/templates/startup_errors.html)0
-rw-r--r--gn2/wqflask/templates/submit_trait.html (renamed from wqflask/wqflask/templates/submit_trait.html)0
-rw-r--r--gn2/wqflask/templates/test_correlation_page.html (renamed from wqflask/wqflask/templates/test_correlation_page.html)0
-rw-r--r--gn2/wqflask/templates/tool_buttons.html (renamed from wqflask/wqflask/templates/tool_buttons.html)0
-rw-r--r--gn2/wqflask/templates/tutorials.html (renamed from wqflask/wqflask/templates/tutorials.html)0
-rw-r--r--gn2/wqflask/templates/view_case_attribute_diff.html (renamed from wqflask/wqflask/templates/view_case_attribute_diff.html)0
-rw-r--r--gn2/wqflask/templates/view_case_attribute_diff_error.html (renamed from wqflask/wqflask/templates/view_case_attribute_diff_error.html)0
-rw-r--r--gn2/wqflask/templates/webgestalt_page.html (renamed from wqflask/wqflask/templates/webgestalt_page.html)0
-rw-r--r--gn2/wqflask/templates/wgcna_results.html (renamed from wqflask/wqflask/templates/wgcna_results.html)0
-rw-r--r--gn2/wqflask/templates/wgcna_setup.html (renamed from wqflask/wqflask/templates/wgcna_setup.html)0
-rw-r--r--gn2/wqflask/templates/with-trait-items.html (renamed from wqflask/wqflask/templates/with-trait-items.html)0
-rw-r--r--gn2/wqflask/update_search_results.py (renamed from wqflask/wqflask/update_search_results.py)10
-rw-r--r--gn2/wqflask/user_login.py (renamed from wqflask/wqflask/user_login.py)22
-rw-r--r--gn2/wqflask/user_session.py (renamed from wqflask/wqflask/user_session.py)6
-rw-r--r--gn2/wqflask/views.py (renamed from wqflask/wqflask/views.py)130
-rw-r--r--gn2/wqflask/wgcna/__init__.py (renamed from wqflask/wqflask/wgcna/__init__.py)0
-rw-r--r--gn2/wqflask/wgcna/gn3_wgcna.py (renamed from wqflask/wqflask/wgcna/gn3_wgcna.py)4
-rw-r--r--gn2/wqflask/wgcna/wgcna_analysis.py (renamed from wqflask/wqflask/wgcna/wgcna_analysis.py)6
-rw-r--r--gn2/wsgi.py4
-rw-r--r--setup.py2
-rw-r--r--wqflask/gn2_main.py19
-rw-r--r--wqflask/wsgi.py4
527 files changed, 740 insertions, 748 deletions
diff --git a/bin/genenetwork2 b/bin/genenetwork2
index a03ad6ef..2ac83c7f 100755
--- a/bin/genenetwork2
+++ b/bin/genenetwork2
@@ -159,18 +159,15 @@ set|grep TMPDIR
# Now handle command parameter -c which runs python
if [ "$1" = '-c' ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
- cmd=${2#wqflask/}
echo PYTHONPATH="${PYTHONPATH}"
- shift ; shift
- echo "RUNNING COMMAND ${cmd} ${*}"
- python $cmd $*
+ shift
+ echo "RUNNING COMMAND python ${*}"
+ python $*
exit $?
fi
# Now handle command parameter -cli which runs in bash
if [ "$1" = "-cli" ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
cmd=$2
echo PYTHONPATH="${PYTHONPATH}"
shift ; shift
@@ -179,7 +176,6 @@ if [ "$1" = "-cli" ] ; then
exit $?
fi
if [ "$1" = '-gunicorn' ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
cmd=$2
echo PYTHONPATH="${PYTHONPATH}"
echo "RUNNING gunicorn ${cmd}"
@@ -187,20 +183,18 @@ if [ "$1" = '-gunicorn' ] ; then
exit $?
fi
if [ "$1" = '-gunicorn-dev' ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
echo PYTHONPATH="${PYTHONPATH}"
if [ -z "${SERVER_PORT}" ]; then echo "ERROR: Provide a SERVER_PORT" ; exit 1 ; fi
- cmd="--bind 0.0.0.0:$SERVER_PORT --workers=1 --timeout 180 --reload run_gunicorn:app"
+ cmd="--bind 0.0.0.0:$SERVER_PORT --workers=1 --timeout 180 --reload gn2.run_gunicorn:app"
echo "RUNNING gunicorn ${cmd}"
gunicorn $cmd
exit $?
fi
if [ "$1" = '-gunicorn-prod' ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
echo PYTHONPATH="${PYTHONPATH}"
if [ -z "${SERVER_PORT}" ]; then echo "ERROR: Provide a SERVER_PORT" ; exit 1 ; fi
PID=$TMPDIR/gunicorn.$USER.pid
- cmd="--bind 0.0.0.0:$SERVER_PORT --pid $PID --workers 20 --keep-alive 6000 --max-requests 100 --max-requests-jitter 30 --timeout 1200 wsgi"
+ cmd="--bind 0.0.0.0:$SERVER_PORT --pid $PID --workers 20 --keep-alive 6000 --max-requests 100 --max-requests-jitter 30 --timeout 1200 gn2.wsgi"
echo "RUNNING gunicorn ${cmd}"
gunicorn $cmd
exit $?
@@ -219,16 +213,14 @@ fi
if [ "$1" = "--with-pdb" ] ; then
- cd "${GN2_BASE_DIR}/wqflask"
cmd=$2
echo PYTHONPATH="${PYTHONPATH}"
shift ; shift
- echo "RUNNING COMMAND python3 -m runserver.py"
+ echo "RUNNING COMMAND python3 -m gn2.runserver.py"
python3 -m pdb runserver.py
exit $?
fi
# Start the flask server running GN2
-cd "${GN2_BASE_DIR}/wqflask"
echo "Starting with $settings"
-python runserver.py
+python gn2.runserver.py
diff --git a/etc/default_settings.py b/etc/default_settings.py
index bf73a8d5..f54cab7c 100644
--- a/etc/default_settings.py
+++ b/etc/default_settings.py
@@ -24,7 +24,7 @@
import os
import sys
-with open("../etc/VERSION", "r") as version_file:
+with open("etc/VERSION", "r") as version_file:
GN_VERSION = version_file.read()
SECRET_KEY = ""
diff --git a/wqflask/.coveragerc b/gn2/.coveragerc
index 939e51b9..939e51b9 100644
--- a/wqflask/.coveragerc
+++ b/gn2/.coveragerc
diff --git a/wqflask/__init__.py b/gn2/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/__init__.py
+++ b/gn2/__init__.py
diff --git a/wqflask/base/GeneralObject.py b/gn2/base/GeneralObject.py
index ce8e60b8..ce8e60b8 100644
--- a/wqflask/base/GeneralObject.py
+++ b/gn2/base/GeneralObject.py
diff --git a/wqflask/base/__init__.py b/gn2/base/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/base/__init__.py
+++ b/gn2/base/__init__.py
diff --git a/wqflask/base/data_set/__init__.py b/gn2/base/data_set/__init__.py
index 69eaab53..40ef1c75 100644
--- a/wqflask/base/data_set/__init__.py
+++ b/gn2/base/data_set/__init__.py
@@ -9,8 +9,8 @@ from redis import Redis
# local imports
from .dataset import DataSet
-from base import webqtlConfig
-from utility.tools import get_setting, USE_REDIS
+from gn2.base import webqtlConfig
+from gn2.utility.tools import get_setting, USE_REDIS
from .datasettype import DatasetType
from .tempdataset import TempDataSet
from .datasetgroup import DatasetGroup
@@ -18,7 +18,7 @@ from .utils import query_table_timestamp
from .genotypedataset import GenotypeDataSet
from .phenotypedataset import PhenotypeDataSet
from .mrnaassaydataset import MrnaAssayDataSet
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
# Used by create_database to instantiate objects
# Each subclass will add to this
diff --git a/wqflask/base/data_set/dataset.py b/gn2/base/data_set/dataset.py
index 435d74a9..3a62fbde 100644
--- a/wqflask/base/data_set/dataset.py
+++ b/gn2/base/data_set/dataset.py
@@ -5,14 +5,14 @@ import collections
from redis import Redis
-from base import species
-from utility import chunks
-from utility.tools import get_setting
+from gn2.base import species
+from gn2.utility import chunks
+from gn2.utility.tools import get_setting
from gn3.monads import MonadicDict, query_sql
from pymonad.maybe import Maybe, Nothing
from .datasetgroup import DatasetGroup
-from wqflask.database import database_connection
-from utility.db_tools import escape, mescape, create_in_clause
+from gn2.wqflask.database import database_connection
+from gn2.utility.db_tools import escape, mescape, create_in_clause
from .utils import fetch_cached_results, cache_dataset_results
diff --git a/wqflask/base/data_set/datasetgroup.py b/gn2/base/data_set/datasetgroup.py
index 95dc976f..d124283f 100644
--- a/wqflask/base/data_set/datasetgroup.py
+++ b/gn2/base/data_set/datasetgroup.py
@@ -4,14 +4,14 @@ import os
import json
-from base import webqtlConfig
+from gn2.base import webqtlConfig
from .markers import Markers, HumanMarkers
-from utility import webqtlUtil
-from utility import gen_geno_ob
-from db import webqtlDatabaseFunction
-from maintenance import get_group_samplelists
-from wqflask.database import database_connection
-from utility.tools import (
+from gn2.utility import webqtlUtil
+from gn2.utility import gen_geno_ob
+from gn2.db import webqtlDatabaseFunction
+from gn2.maintenance import get_group_samplelists
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import (
locate,
USE_REDIS,
flat_files,
diff --git a/wqflask/base/data_set/datasettype.py b/gn2/base/data_set/datasettype.py
index 05f0f564..52d41b41 100644
--- a/wqflask/base/data_set/datasettype.py
+++ b/gn2/base/data_set/datasettype.py
@@ -8,8 +8,8 @@ from typing import Optional, Dict
from redis import Redis
-from utility.tools import GN2_BASE_URL
-from wqflask.database import database_connection
+from gn2.utility.tools import GN2_BASE_URL
+from gn2.wqflask.database import database_connection
class DatasetType:
diff --git a/wqflask/base/data_set/genotypedataset.py b/gn2/base/data_set/genotypedataset.py
index b903cd72..77af1dad 100644
--- a/wqflask/base/data_set/genotypedataset.py
+++ b/gn2/base/data_set/genotypedataset.py
@@ -1,11 +1,11 @@
"GenotypeDataSet class ..."
from .dataset import DataSet
-from utility import webqtlUtil
-from utility.tools import get_setting
-from db import webqtlDatabaseFunction
+from gn2.utility import webqtlUtil
+from gn2.utility.tools import get_setting
+from gn2.db import webqtlDatabaseFunction
from .utils import geno_mrna_confidentiality
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
class GenotypeDataSet(DataSet):
diff --git a/wqflask/base/data_set/markers.py b/gn2/base/data_set/markers.py
index 6f56445e..68503577 100644
--- a/wqflask/base/data_set/markers.py
+++ b/gn2/base/data_set/markers.py
@@ -2,7 +2,7 @@
import math
-from utility.tools import locate, flat_files
+from gn2.utility.tools import locate, flat_files
class Markers:
"""Todo: Build in cacheing so it saves us reading the same file more than once"""
diff --git a/wqflask/base/data_set/mrnaassaydataset.py b/gn2/base/data_set/mrnaassaydataset.py
index 4eb998b5..f641de27 100644
--- a/wqflask/base/data_set/mrnaassaydataset.py
+++ b/gn2/base/data_set/mrnaassaydataset.py
@@ -5,8 +5,8 @@ import codecs
from .dataset import DataSet
from .utils import geno_mrna_confidentiality
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
class MrnaAssayDataSet(DataSet):
'''
diff --git a/wqflask/base/data_set/phenotypedataset.py b/gn2/base/data_set/phenotypedataset.py
index 5a39418a..b14556fe 100644
--- a/wqflask/base/data_set/phenotypedataset.py
+++ b/gn2/base/data_set/phenotypedataset.py
@@ -1,9 +1,9 @@
"PhenotypeDataSet class ..."
from .dataset import DataSet
-from base import webqtlConfig
-from utility.tools import get_setting
-from wqflask.database import database_connection
+from gn2.base import webqtlConfig
+from gn2.utility.tools import get_setting
+from gn2.wqflask.database import database_connection
class PhenotypeDataSet(DataSet):
diff --git a/wqflask/base/data_set/probably_unused.py b/gn2/base/data_set/probably_unused.py
index abd3ad07..12be05a7 100644
--- a/wqflask/base/data_set/probably_unused.py
+++ b/gn2/base/data_set/probably_unused.py
@@ -2,8 +2,8 @@
import pickle as pickle
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
def create_datasets_list():
if USE_REDIS:
diff --git a/wqflask/base/data_set/tempdataset.py b/gn2/base/data_set/tempdataset.py
index b1c26a3b..b1c26a3b 100644
--- a/wqflask/base/data_set/tempdataset.py
+++ b/gn2/base/data_set/tempdataset.py
diff --git a/wqflask/base/data_set/utils.py b/gn2/base/data_set/utils.py
index d18180c4..fc17026e 100644
--- a/wqflask/base/data_set/utils.py
+++ b/gn2/base/data_set/utils.py
@@ -7,9 +7,9 @@ import hashlib
from typing import List
-from utility.tools import get_setting, SQL_URI
-from base.webqtlConfig import TMPDIR
-from wqflask.database import parse_db_url, database_connection
+from gn2.utility.tools import get_setting, SQL_URI
+from gn2.base.webqtlConfig import TMPDIR
+from gn2.wqflask.database import parse_db_url, database_connection
def geno_mrna_confidentiality(ob):
with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
diff --git a/wqflask/base/mrna_assay_tissue_data.py b/gn2/base/mrna_assay_tissue_data.py
index a78182e3..7b7914aa 100644
--- a/wqflask/base/mrna_assay_tissue_data.py
+++ b/gn2/base/mrna_assay_tissue_data.py
@@ -1,6 +1,6 @@
import collections
-from utility import Bunch
+from gn2.utility import Bunch
class MrnaAssayTissueData:
diff --git a/wqflask/base/species.py b/gn2/base/species.py
index 0844fada..0844fada 100644
--- a/wqflask/base/species.py
+++ b/gn2/base/species.py
diff --git a/wqflask/base/trait.py b/gn2/base/trait.py
index 103ff0c0..701958d7 100644
--- a/wqflask/base/trait.py
+++ b/gn2/base/trait.py
@@ -1,18 +1,18 @@
import requests
import simplejson as json
-from wqflask import app
+from gn2.wqflask import app
-import utility.hmac as hmac
-from base import webqtlConfig
-from base.webqtlCaseData import webqtlCaseData
-from base.data_set import create_dataset
-from utility.authentication_tools import check_resource_availability
-from utility.tools import get_setting, GN2_BASE_URL
-from utility.redis_tools import get_redis_conn, get_resource_id
+import gn2.utility.hmac as hmac
+from gn2.base import webqtlConfig
+from gn2.base.webqtlCaseData import webqtlCaseData
+from gn2.base.data_set import create_dataset
+from gn2.utility.authentication_tools import check_resource_availability
+from gn2.utility.tools import get_setting, GN2_BASE_URL
+from gn2.utility.redis_tools import get_redis_conn, get_resource_id
from flask import g, request, url_for
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
Redis = get_redis_conn()
diff --git a/wqflask/base/webqtlCaseData.py b/gn2/base/webqtlCaseData.py
index dd6fad04..b4717b4b 100644
--- a/wqflask/base/webqtlCaseData.py
+++ b/gn2/base/webqtlCaseData.py
@@ -21,9 +21,9 @@
# Created by GeneNetwork Core Team 2010/08/10
-import utility.tools
+import gn2.utility.tools
-utility.tools.show_settings()
+gn2.utility.tools.show_settings()
class webqtlCaseData:
diff --git a/wqflask/base/webqtlConfig.py b/gn2/base/webqtlConfig.py
index a7dbed3d..998c0efc 100644
--- a/wqflask/base/webqtlConfig.py
+++ b/gn2/base/webqtlConfig.py
@@ -8,7 +8,7 @@
#
#########################################
import os
-from utility.tools import valid_path, mk_dir, assert_dir, assert_writable_dir, flat_files, TEMPDIR
+from gn2.utility.tools import valid_path, mk_dir, assert_dir, assert_writable_dir, flat_files, TEMPDIR
# Debug Level
# 1 for debug, mod python will reload import each time
diff --git a/wqflask/db/__init__.py b/gn2/db/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/db/__init__.py
+++ b/gn2/db/__init__.py
diff --git a/wqflask/db/webqtlDatabaseFunction.py b/gn2/db/webqtlDatabaseFunction.py
index b09cf377..9438c474 100644
--- a/wqflask/db/webqtlDatabaseFunction.py
+++ b/gn2/db/webqtlDatabaseFunction.py
@@ -20,9 +20,9 @@
#
# This module is used by GeneNetwork project (www.genenetwork.org)
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.utility.tools import get_setting
def retrieve_species(group):
diff --git a/gn2/gn2_main.py b/gn2/gn2_main.py
new file mode 100644
index 00000000..38444620
--- /dev/null
+++ b/gn2/gn2_main.py
@@ -0,0 +1,19 @@
+"""Main application entry point."""
+
+from gn2.wqflask import app
+
+
+from gn2.wqflask import docs
+from gn2.wqflask import gsearch
+from gn2.wqflask import db_info
+from gn2.wqflask import user_login
+from gn2.wqflask.api import router
+from gn2.wqflask import user_session
+from gn2.wqflask import group_manager
+from gn2.wqflask import export_traits
+from gn2.wqflask import search_results
+from gn2.wqflask import resource_manager
+from gn2.wqflask import update_search_results
+
+import gn2.wqflask.views
+import gn2.wqflask.partial_correlations_views
diff --git a/wqflask/jobs/__init__.py b/gn2/jobs/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/jobs/__init__.py
+++ b/gn2/jobs/__init__.py
diff --git a/wqflask/jobs/jobs.py b/gn2/jobs/jobs.py
index f796fa9a..f796fa9a 100644
--- a/wqflask/jobs/jobs.py
+++ b/gn2/jobs/jobs.py
diff --git a/wqflask/maintenance/README.md b/gn2/maintenance/README.md
index 873eaa32..873eaa32 100644
--- a/wqflask/maintenance/README.md
+++ b/gn2/maintenance/README.md
diff --git a/wqflask/maintenance/__init__.py b/gn2/maintenance/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/maintenance/__init__.py
+++ b/gn2/maintenance/__init__.py
diff --git a/wqflask/maintenance/convert_dryad_to_bimbam.py b/gn2/maintenance/convert_dryad_to_bimbam.py
index 18fbb8a1..18fbb8a1 100644
--- a/wqflask/maintenance/convert_dryad_to_bimbam.py
+++ b/gn2/maintenance/convert_dryad_to_bimbam.py
diff --git a/wqflask/maintenance/convert_geno_to_bimbam.py b/gn2/maintenance/convert_geno_to_bimbam.py
index 078be529..078be529 100644
--- a/wqflask/maintenance/convert_geno_to_bimbam.py
+++ b/gn2/maintenance/convert_geno_to_bimbam.py
diff --git a/wqflask/maintenance/gen_ind_genofiles.py b/gn2/maintenance/gen_ind_genofiles.py
index b755c648..b755c648 100644
--- a/wqflask/maintenance/gen_ind_genofiles.py
+++ b/gn2/maintenance/gen_ind_genofiles.py
diff --git a/wqflask/maintenance/gen_select_dataset.py b/gn2/maintenance/gen_select_dataset.py
index 01b2fc15..5f41da29 100644
--- a/wqflask/maintenance/gen_select_dataset.py
+++ b/gn2/maintenance/gen_select_dataset.py
@@ -35,9 +35,9 @@ import sys
# NEW: Note we prepend the current path - otherwise a guix instance of GN2 may be used instead
sys.path.insert(0, './')
# NEW: import app to avoid a circular dependency on utility.tools
-from wqflask import app
+from gn2.wqflask import app
-from utility.tools import get_setting
+from gn2.utility.tools import get_setting
import simplejson as json
import urllib.parse
@@ -45,7 +45,7 @@ import urllib.parse
from pprint import pformat as pf
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
def get_species(cursor):
diff --git a/wqflask/maintenance/generate_kinship_from_bimbam.py b/gn2/maintenance/generate_kinship_from_bimbam.py
index 9f01d094..9f01d094 100644
--- a/wqflask/maintenance/generate_kinship_from_bimbam.py
+++ b/gn2/maintenance/generate_kinship_from_bimbam.py
diff --git a/wqflask/maintenance/generate_probesetfreeze_file.py b/gn2/maintenance/generate_probesetfreeze_file.py
index 2f917c71..00c2cddf 100644
--- a/wqflask/maintenance/generate_probesetfreeze_file.py
+++ b/gn2/maintenance/generate_probesetfreeze_file.py
@@ -8,12 +8,12 @@ import os
import collections
import csv
-from base import webqtlConfig
+from gn2.base import webqtlConfig
from pprint import pformat as pf
-from utility.tools import get_setting
-from wqflask.database import database_connection
+from gn2.utility.tools import get_setting
+from gn2.wqflask.database import database_connection
def show_progress(process, counter):
diff --git a/wqflask/maintenance/geno_to_json.py b/gn2/maintenance/geno_to_json.py
index 32e0e34b..7be2ed83 100644
--- a/wqflask/maintenance/geno_to_json.py
+++ b/gn2/maintenance/geno_to_json.py
@@ -23,7 +23,7 @@ import simplejson as json
from pprint import pformat as pf
-#from utility.tools import flat_files
+#from gn2.utility.tools import flat_files
class EmptyConfigurations(Exception):
diff --git a/wqflask/maintenance/get_group_samplelists.py b/gn2/maintenance/get_group_samplelists.py
index 0a450d3f..6af637ea 100644
--- a/wqflask/maintenance/get_group_samplelists.py
+++ b/gn2/maintenance/get_group_samplelists.py
@@ -2,7 +2,7 @@ import os
import glob
import gzip
-from base import webqtlConfig
+from gn2.base import webqtlConfig
def get_samplelist(file_type, geno_file):
diff --git a/wqflask/maintenance/print_benchmark.py b/gn2/maintenance/print_benchmark.py
index 9d12da8a..9d12da8a 100644
--- a/wqflask/maintenance/print_benchmark.py
+++ b/gn2/maintenance/print_benchmark.py
diff --git a/wqflask/maintenance/quantile_normalize.py b/gn2/maintenance/quantile_normalize.py
index 36049a82..5620b552 100644
--- a/wqflask/maintenance/quantile_normalize.py
+++ b/gn2/maintenance/quantile_normalize.py
@@ -7,9 +7,9 @@ import pandas as pd
from flask import Flask, g, request
-from wqflask import app
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask import app
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
def create_dataframe(input_file):
diff --git a/wqflask/maintenance/set_resource_defaults.py b/gn2/maintenance/set_resource_defaults.py
index cebe33c0..f9e5494a 100644
--- a/wqflask/maintenance/set_resource_defaults.py
+++ b/gn2/maintenance/set_resource_defaults.py
@@ -23,16 +23,16 @@ import json
sys.path.insert(0, './')
# NEW: import app to avoid a circular dependency on utility.tools
-from wqflask import app
+from gn2.wqflask import app
-from utility import hmac
-from utility.tools import get_setting
-from utility.redis_tools import get_redis_conn, get_user_id, add_resource, get_resources, get_resource_info
+from gn2.utility import hmac
+from gn2.utility.tools import get_setting
+from gn2.utility.redis_tools import get_redis_conn, get_user_id, add_resource, get_resources, get_resource_info
Redis = get_redis_conn()
import urllib.parse
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
def insert_probeset_resources(cursor, default_owner_id):
diff --git a/wqflask/run_gunicorn.py b/gn2/run_gunicorn.py
index af117466..6de470fe 100644
--- a/wqflask/run_gunicorn.py
+++ b/gn2/run_gunicorn.py
@@ -9,8 +9,8 @@
print("===> Starting up Gunicorn process")
-from gn2_main import app
-from utility.startup_config import app_config
+from gn2.gn2_main import app
+from gn2.utility.startup_config import app_config
app_config()
diff --git a/wqflask/runserver.py b/gn2/runserver.py
index 0ec4846a..45a51385 100644
--- a/wqflask/runserver.py
+++ b/gn2/runserver.py
@@ -8,8 +8,8 @@
# /sbin/iptables -A INPUT -p tcp -i eth0 -s ! 71.236.239.43 --dport 5003 -j DROP
from gn2_main import app
-from utility.startup_config import app_config
-from utility.tools import WEBSERVER_MODE, SERVER_PORT
+from gn2.utility.startup_config import app_config
+from gn2.utility.tools import WEBSERVER_MODE, SERVER_PORT
import logging
diff --git a/wqflask/scripts/__init__.py b/gn2/scripts/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/scripts/__init__.py
+++ b/gn2/scripts/__init__.py
diff --git a/wqflask/scripts/corr_compute.py b/gn2/scripts/corr_compute.py
index 34c3ad54..44dcac68 100644
--- a/wqflask/scripts/corr_compute.py
+++ b/gn2/scripts/corr_compute.py
@@ -8,10 +8,10 @@ import datetime
from flask import g
-from wqflask import app
-from wqflask.user_session import UserSession
-from wqflask.correlation.show_corr_results import set_template_vars
-from wqflask.correlation.correlation_gn3_api import compute_correlation
+from gn2.wqflask import app
+from gn2.wqflask.user_session import UserSession
+from gn2.wqflask.correlation.show_corr_results import set_template_vars
+from gn2.wqflask.correlation.correlation_gn3_api import compute_correlation
class UserSessionSimulator():
diff --git a/wqflask/scripts/parse_corr_html_results_to_csv.py b/gn2/scripts/parse_corr_html_results_to_csv.py
index 464eb2ca..464eb2ca 100644
--- a/wqflask/scripts/parse_corr_html_results_to_csv.py
+++ b/gn2/scripts/parse_corr_html_results_to_csv.py
diff --git a/wqflask/scripts/profile_corrs.py b/gn2/scripts/profile_corrs.py
index a42e2935..5f9a06da 100644
--- a/wqflask/scripts/profile_corrs.py
+++ b/gn2/scripts/profile_corrs.py
@@ -5,11 +5,11 @@ import cProfile
from flask import g, request
-from utility.startup_config import app_config
+from gn2.utility.startup_config import app_config
-from wqflask import app
-from wqflask.user_session import UserSession
-from wqflask.correlation.correlation_gn3_api import compute_correlation
+from gn2.wqflask import app
+from gn2.wqflask.user_session import UserSession
+from gn2.wqflask.correlation.correlation_gn3_api import compute_correlation
def sample_vals():
return '{"C57BL/6J":"10.835","DBA/2J":"11.142","B6D2F1":"11.126","D2B6F1":"11.143","BXD1":"10.811","BXD2":"11.503","BXD5":"10.766","BXD6":"10.986","BXD8":"11.050","BXD9":"10.822","BXD11":"10.670","BXD12":"10.946","BXD13":"10.890","BXD14":"x","BXD15":"10.884","BXD16":"11.222","BXD18":"x","BXD19":"10.968","BXD20":"10.962","BXD21":"10.906","BXD22":"11.080","BXD23":"11.046","BXD24":"11.146","BXD24a":"x","BXD25":"x","BXD27":"11.078","BXD28":"11.034","BXD29":"10.808","BXD30":"x","BXD31":"11.087","BXD32":"11.029","BXD33":"10.662","BXD34":"11.482","BXD35":"x","BXD36":"x","BXD37":"x","BXD38":"10.836","BXD39":"10.926","BXD40":"10.638","BXD41":"x","BXD42":"10.974","BXD43":"10.828","BXD44":"10.900","BXD45":"11.358","BXD48":"11.042","BXD48a":"10.975","BXD49":"x","BXD50":"11.228","BXD51":"11.126","BXD52":"x","BXD53":"x","BXD54":"x","BXD55":"11.580","BXD56":"x","BXD59":"x","BXD60":"10.829","BXD61":"11.152","BXD62":"11.156","BXD63":"10.942","BXD64":"10.506","BXD65":"11.126","BXD65a":"11.272","BXD65b":"11.157","BXD66":"11.071","BXD67":"11.080","BXD68":"10.997","BXD69":"11.096","BXD70":"11.152","BXD71":"x","BXD72":"x","BXD73":"11.262","BXD73a":"11.444","BXD73b":"x","BXD74":"10.974","BXD75":"11.150","BXD76":"10.920","BXD77":"10.928","BXD78":"x","BXD79":"11.371","BXD81":"x","BXD83":"10.946","BXD84":"11.181","BXD85":"10.992","BXD86":"10.770","BXD87":"11.200","BXD88":"x","BXD89":"10.930","BXD90":"11.183","BXD91":"x","BXD93":"11.056","BXD94":"10.737","BXD95":"x","BXD98":"10.986","BXD99":"10.892","BXD100":"x","BXD101":"x","BXD102":"x","BXD104":"x","BXD105":"x","BXD106":"x","BXD107":"x","BXD108":"x","BXD109":"x","BXD110":"x","BXD111":"x","BXD112":"x","BXD113":"x","BXD114":"x","BXD115":"x","BXD116":"x","BXD117":"x","BXD119":"x","BXD120":"x","BXD121":"x","BXD122":"x","BXD123":"x","BXD124":"x","BXD125":"x","BXD126":"x","BXD127":"x","BXD128":"x","BXD128a":"x","BXD130":"x","BXD131":"x","BXD132":"x","BXD133":"x","BXD134":"x","BXD135":"x","BXD136":"x","BXD137":"x","BXD138":"x","BXD139":"x","BXD141":"x","BXD142":"x","BXD144":"x","BXD145":"x","BXD146":"x","BXD147":"x","BXD148":"x","BXD149":"x","BXD150":"x","BXD151":"x","BXD152":"x","BXD153":"x","BXD154":"x","BXD155":"x","BXD156":"x","BXD157":"x","BXD160":"x","BXD161":"x","BXD162":"x","BXD165":"x","BXD168":"x","BXD169":"x","BXD170":"x","BXD171":"x","BXD172":"x","BXD173":"x","BXD174":"x","BXD175":"x","BXD176":"x","BXD177":"x","BXD178":"x","BXD180":"x","BXD181":"x","BXD183":"x","BXD184":"x","BXD186":"x","BXD187":"x","BXD188":"x","BXD189":"x","BXD190":"x","BXD191":"x","BXD192":"x","BXD193":"x","BXD194":"x","BXD195":"x","BXD196":"x","BXD197":"x","BXD198":"x","BXD199":"x","BXD200":"x","BXD201":"x","BXD202":"x","BXD203":"x","BXD204":"x","BXD205":"x","BXD206":"x","BXD207":"x","BXD208":"x","BXD209":"x","BXD210":"x","BXD211":"x","BXD212":"x","BXD213":"x","BXD214":"x","BXD215":"x","BXD216":"x","BXD217":"x","BXD218":"x","BXD219":"x","BXD220":"x"}'
diff --git a/wqflask/scripts/run_external.py b/gn2/scripts/run_external.py
index b44a6db7..297d17a1 100644
--- a/wqflask/scripts/run_external.py
+++ b/gn2/scripts/run_external.py
@@ -17,7 +17,7 @@ from tempfile import TemporaryDirectory
# import psutil
from redis import Redis
-import jobs.jobs as jobs
+import gn2.jobs.jobs as jobs
def print_help(args, parser):
print(parser.format_help())
diff --git a/wqflask/tests/__init__.py b/gn2/tests/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/__init__.py
+++ b/gn2/tests/__init__.py
diff --git a/wqflask/tests/integration/__init__.py b/gn2/tests/integration/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/integration/__init__.py
+++ b/gn2/tests/integration/__init__.py
diff --git a/wqflask/tests/integration/wqflask/__init__.py b/gn2/tests/integration/wqflask/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/integration/wqflask/__init__.py
+++ b/gn2/tests/integration/wqflask/__init__.py
diff --git a/wqflask/tests/unit/__init__.py b/gn2/tests/unit/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/__init__.py
+++ b/gn2/tests/unit/__init__.py
diff --git a/wqflask/tests/unit/base/__init__.py b/gn2/tests/unit/base/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/base/__init__.py
+++ b/gn2/tests/unit/base/__init__.py
diff --git a/wqflask/tests/unit/base/test_data_set.py b/gn2/tests/unit/base/test_data_set.py
index 744c8a94..9f9fb132 100644
--- a/wqflask/tests/unit/base/test_data_set.py
+++ b/gn2/tests/unit/base/test_data_set.py
@@ -5,9 +5,9 @@ from unittest import mock
from dataclasses import dataclass
from gn3.monads import MonadicDict
-from wqflask import app
-from base.data_set import DatasetType
-from base.data_set.dataset import DataSet
+from gn2.wqflask import app
+from gn2.base.data_set import DatasetType
+from gn2.base.data_set.dataset import DataSet
GEN_MENU_JSON = """
{
@@ -173,7 +173,7 @@ class TestDataSetTypes(unittest.TestCase):
("All Phenotypes", redis_mock, cursor_mock), "Publish")
redis_mock.get.assert_called_once_with("dataset_structure")
- @mock.patch('base.data_set.datasettype.requests.get')
+ @mock.patch('gn2.base.data_set.datasettype.requests.get')
def test_data_set_type_with_empty_redis(self, request_mock):
"""Test that DatasetType returns correctly if the Redis Instance is empty and
the name variable exists in the dictionary
@@ -204,8 +204,8 @@ class TestDataSetTypes(unittest.TestCase):
class TestDatasetAccessionId(unittest.TestCase):
"""Tests for the DataSetType class"""
- @mock.patch("base.data_set.dataset.query_sql")
- @mock.patch("base.data_set.dataset.DatasetGroup")
+ @mock.patch("gn2.base.data_set.dataset.query_sql")
+ @mock.patch("gn2.base.data_set.dataset.DatasetGroup")
def test_get_accession_id(self, mock_dataset_group, mock_query_sql):
def mock_fn():
yield MonadicDict({"accession_id": 7})
@@ -221,8 +221,8 @@ class TestDatasetAccessionId(unittest.TestCase):
.accession_id\
.bind(lambda x: self.assertEqual(7, x))
- @mock.patch("base.data_set.dataset.query_sql")
- @mock.patch("base.data_set.dataset.DatasetGroup")
+ @mock.patch("gn2.base.data_set.dataset.query_sql")
+ @mock.patch("gn2.base.data_set.dataset.DatasetGroup")
def test_get_accession_id_empty_return(self, mock_dataset_group,
mock_query_sql):
mock_dataset_group.return_value = MockGroup()
diff --git a/wqflask/tests/unit/base/test_general_object.py b/gn2/tests/unit/base/test_general_object.py
index 00fd3c72..1301f18b 100644
--- a/wqflask/tests/unit/base/test_general_object.py
+++ b/gn2/tests/unit/base/test_general_object.py
@@ -1,6 +1,6 @@
import unittest
-from base.GeneralObject import GeneralObject
+from gn2.base.GeneralObject import GeneralObject
class TestGeneralObjectTests(unittest.TestCase):
diff --git a/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py b/gn2/tests/unit/base/test_mrna_assay_tissue_data.py
index c43fb4b6..5bc28ffa 100644
--- a/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py
+++ b/gn2/tests/unit/base/test_mrna_assay_tissue_data.py
@@ -1,5 +1,5 @@
import pytest
-from base.mrna_assay_tissue_data import MrnaAssayTissueData
+from gn2.base.mrna_assay_tissue_data import MrnaAssayTissueData
@pytest.mark.parametrize(
diff --git a/wqflask/tests/unit/base/test_species.py b/gn2/tests/unit/base/test_species.py
index f12bde6d..d2845b25 100644
--- a/wqflask/tests/unit/base/test_species.py
+++ b/gn2/tests/unit/base/test_species.py
@@ -1,8 +1,8 @@
"""Tests wqflask/base/species.py"""
import pytest
-from base.species import TheSpecies
-from base.species import IndChromosome
-from base.species import Chromosomes
+from gn2.base.species import TheSpecies
+from gn2.base.species import IndChromosome
+from gn2.base.species import Chromosomes
from collections import OrderedDict
from dataclasses import dataclass
@@ -30,7 +30,7 @@ class MockDataset:
(None, "Random Dataset", None, 1)))
def test_species(mocker, species_name, dataset,
expected_name, chromosome_param):
- _c = mocker.patch("base.species.Chromosomes",
+ _c = mocker.patch("gn2.base.species.Chromosomes",
return_value=chromosome_param)
test_species = TheSpecies(dataset=dataset,
species_name=species_name)
diff --git a/wqflask/tests/unit/base/test_trait.py b/gn2/tests/unit/base/test_trait.py
index 5a27e243..2adb1fdf 100644
--- a/wqflask/tests/unit/base/test_trait.py
+++ b/gn2/tests/unit/base/test_trait.py
@@ -3,8 +3,8 @@
import unittest
from unittest import mock
-from base.trait import GeneralTrait
-from base.trait import retrieve_trait_info
+from gn2.base.trait import GeneralTrait
+from gn2.base.trait import retrieve_trait_info
class TestResponse:
@@ -31,7 +31,7 @@ class MockTrait(GeneralTrait):
class TestRetrieveTraitInfo(unittest.TestCase):
"""Tests for 'retrieve_trait_info'"""
- @mock.patch('base.trait.database_connection')
+ @mock.patch('gn2.base.trait.database_connection')
def test_retrieve_trait_info_with_empty_dataset(self, mock_db):
"""Test that an exception is raised when dataset is empty"""
conn = mock.MagicMock()
@@ -40,9 +40,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
retrieve_trait_info(trait=mock.MagicMock(),
dataset={})
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.g', mock.Mock())
- @mock.patch('base.trait.database_connection')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.g', mock.Mock())
+ @mock.patch('gn2.base.trait.database_connection')
def test_retrieve_trait_info_with_empty_trait_info(self,
mock_db,
requests_mock):
@@ -57,9 +57,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
retrieve_trait_info(trait=mock.MagicMock(),
dataset=mock.MagicMock())
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.g', mock.Mock())
- @mock.patch('base.trait.database_connection')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.g', mock.Mock())
+ @mock.patch('gn2.base.trait.database_connection')
def test_retrieve_trait_info_with_non_empty_trait_info(self,
mock_db,
requests_mock):
@@ -80,9 +80,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
self.assertEqual(test_trait.c, 3)
self.assertEqual(test_trait.d, 4)
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.g', mock.Mock())
- @mock.patch('base.trait.database_connection')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.g', mock.Mock())
+ @mock.patch('gn2.base.trait.database_connection')
def test_retrieve_trait_info_utf8_parsing(self,
mock_db,
requests_mock):
@@ -120,9 +120,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
@unittest.skip("Too complicated")
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.database_connection')
- @mock.patch('base.trait.get_resource_id')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.database_connection')
+ @mock.patch('gn2.base.trait.get_resource_id')
def test_retrieve_trait_info_with_non_empty_lrs(self,
resource_id_mock,
mock_db,
@@ -169,9 +169,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
"2.4")
@unittest.skip("Too complicated")
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.g')
- @mock.patch('base.trait.get_resource_id')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.g')
+ @mock.patch('gn2.base.trait.get_resource_id')
def test_retrieve_trait_info_with_empty_lrs_field(self,
resource_id_mock,
g_mock,
@@ -215,9 +215,9 @@ class TestRetrieveTraitInfo(unittest.TestCase):
"Chr2: 3.000000")
@unittest.skip("Too complicated")
- @mock.patch('base.trait.requests.get')
- @mock.patch('base.trait.g')
- @mock.patch('base.trait.get_resource_id')
+ @mock.patch('gn2.base.trait.requests.get')
+ @mock.patch('gn2.base.trait.g')
+ @mock.patch('gn2.base.trait.get_resource_id')
def test_retrieve_trait_info_with_empty_chr_field(self,
resource_id_mock,
g_mock,
diff --git a/wqflask/tests/unit/base/test_webqtl_case_data.py b/gn2/tests/unit/base/test_webqtl_case_data.py
index e1555cb4..250b8358 100644
--- a/wqflask/tests/unit/base/test_webqtl_case_data.py
+++ b/gn2/tests/unit/base/test_webqtl_case_data.py
@@ -1,8 +1,8 @@
"""Tests for wqflask/base/webqtlCaseData.py"""
import unittest
-from wqflask import app # Required because of utility.tools in webqtlCaseData.py
-from base.webqtlCaseData import webqtlCaseData
+from gn2.wqflask import app # Required because of utility.tools in webqtlCaseData.py
+from gn2.base.webqtlCaseData import webqtlCaseData
class TestWebqtlCaseData(unittest.TestCase):
diff --git a/wqflask/tests/unit/utility/__init__.py b/gn2/tests/unit/utility/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/utility/__init__.py
+++ b/gn2/tests/unit/utility/__init__.py
diff --git a/wqflask/tests/unit/utility/test_authentication_tools.py b/gn2/tests/unit/utility/test_authentication_tools.py
index fb8de292..90945b0f 100644
--- a/wqflask/tests/unit/utility/test_authentication_tools.py
+++ b/gn2/tests/unit/utility/test_authentication_tools.py
@@ -2,8 +2,8 @@
import unittest
from unittest import mock
-from utility.authentication_tools import check_resource_availability
-from utility.authentication_tools import add_new_resource
+from gn2.utility.authentication_tools import check_resource_availability
+from gn2.utility.authentication_tools import add_new_resource
class TestResponse:
@@ -38,10 +38,10 @@ def mock_add_resource(resource_ob, update=False):
class TestCheckResourceAvailability(unittest.TestCase):
"""Test methods related to checking the resource availability"""
- @mock.patch('utility.authentication_tools.add_new_resource')
- @mock.patch('utility.authentication_tools.Redis')
- @mock.patch('utility.authentication_tools.g', TestUserSession())
- @mock.patch('utility.authentication_tools.get_resource_id')
+ @mock.patch('gn2.utility.authentication_tools.add_new_resource')
+ @mock.patch('gn2.utility.authentication_tools.Redis')
+ @mock.patch('gn2.utility.authentication_tools.g', TestUserSession())
+ @mock.patch('gn2.utility.authentication_tools.get_resource_id')
def test_check_resource_availability_default_mask(
self,
resource_id_mock,
@@ -56,11 +56,11 @@ class TestCheckResourceAvailability(unittest.TestCase):
add_new_resource_mock.return_value = {"default_mask": 2}
self.assertEqual(check_resource_availability(test_dataset, user_id), 2)
- @mock.patch('utility.authentication_tools.requests.get')
- @mock.patch('utility.authentication_tools.add_new_resource')
- @mock.patch('utility.authentication_tools.Redis')
- @mock.patch('utility.authentication_tools.g', TestUserSession())
- @mock.patch('utility.authentication_tools.get_resource_id')
+ @mock.patch('gn2.utility.authentication_tools.requests.get')
+ @mock.patch('gn2.utility.authentication_tools.add_new_resource')
+ @mock.patch('gn2.utility.authentication_tools.Redis')
+ @mock.patch('gn2.utility.authentication_tools.g', TestUserSession())
+ @mock.patch('gn2.utility.authentication_tools.get_resource_id')
def test_check_resource_availability_non_default_mask(
self,
resource_id_mock,
@@ -77,13 +77,13 @@ class TestCheckResourceAvailability(unittest.TestCase):
self.assertEqual(check_resource_availability(test_dataset, user_id),
['foo'])
- @mock.patch('utility.authentication_tools.webqtlConfig.SUPER_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.SUPER_PRIVILEGES',
"SUPERUSER")
- @mock.patch('utility.authentication_tools.requests.get')
- @mock.patch('utility.authentication_tools.add_new_resource')
- @mock.patch('utility.authentication_tools.Redis')
- @mock.patch('utility.authentication_tools.g', TestUserSession())
- @mock.patch('utility.authentication_tools.get_resource_id')
+ @mock.patch('gn2.utility.authentication_tools.requests.get')
+ @mock.patch('gn2.utility.authentication_tools.add_new_resource')
+ @mock.patch('gn2.utility.authentication_tools.Redis')
+ @mock.patch('gn2.utility.authentication_tools.g', TestUserSession())
+ @mock.patch('gn2.utility.authentication_tools.get_resource_id')
def test_check_resource_availability_of_super_user(
self,
resource_id_mock,
@@ -100,14 +100,14 @@ class TestCheckResourceAvailability(unittest.TestCase):
self.assertEqual(check_resource_availability(test_dataset, user_id),
"SUPERUSER")
- @mock.patch('utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
"John Doe")
def test_check_resource_availability_string_dataset(self):
"""Test the resource availability if the dataset is a string"""
self.assertEqual(check_resource_availability("Test", user_id),
"John Doe")
- @mock.patch('utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
"John Doe")
def test_check_resource_availability_temp(self):
"""Test the resource availability if the dataset is a string"""
@@ -119,10 +119,10 @@ class TestCheckResourceAvailability(unittest.TestCase):
class TestAddNewResource(unittest.TestCase):
"""Test cases for add_new_resource method"""
- @mock.patch('utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
"John Doe")
- @mock.patch('utility.authentication_tools.add_resource', mock_add_resource)
- @mock.patch('utility.authentication_tools.get_group_code')
+ @mock.patch('gn2.utility.authentication_tools.add_resource', mock_add_resource)
+ @mock.patch('gn2.utility.authentication_tools.get_group_code')
def test_add_new_resource_if_publish_datatype(self, group_code_mock):
"""Test add_new_resource if dataset type is 'publish'"""
group_code_mock.return_value = "Test"
@@ -143,10 +143,10 @@ class TestAddNewResource(unittest.TestCase):
self.assertEqual(add_new_resource(test_dataset),
expected_value)
- @mock.patch('utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
"John Doe")
- @mock.patch('utility.authentication_tools.add_resource', mock_add_resource)
- @mock.patch('utility.authentication_tools.get_group_code')
+ @mock.patch('gn2.utility.authentication_tools.add_resource', mock_add_resource)
+ @mock.patch('gn2.utility.authentication_tools.get_group_code')
def test_add_new_resource_if_geno_datatype(self, group_code_mock):
"""Test add_new_resource if dataset type is 'geno'"""
group_code_mock.return_value = "Test"
@@ -167,10 +167,10 @@ class TestAddNewResource(unittest.TestCase):
self.assertEqual(add_new_resource(test_dataset),
expected_value)
- @mock.patch('utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
+ @mock.patch('gn2.utility.authentication_tools.webqtlConfig.DEFAULT_PRIVILEGES',
"John Doe")
- @mock.patch('utility.authentication_tools.add_resource', mock_add_resource)
- @mock.patch('utility.authentication_tools.get_group_code')
+ @mock.patch('gn2.utility.authentication_tools.add_resource', mock_add_resource)
+ @mock.patch('gn2.utility.authentication_tools.get_group_code')
def test_add_new_resource_if_other_datatype(self, group_code_mock):
"""Test add_new_resource if dataset type is not 'geno' or 'publish'"""
group_code_mock.return_value = "Test"
diff --git a/wqflask/tests/unit/utility/test_chunks.py b/gn2/tests/unit/utility/test_chunks.py
index 1d349193..1b5a9413 100644
--- a/wqflask/tests/unit/utility/test_chunks.py
+++ b/gn2/tests/unit/utility/test_chunks.py
@@ -2,7 +2,7 @@
import unittest
-from utility.chunks import divide_into_chunks
+from gn2.utility.chunks import divide_into_chunks
class TestChunks(unittest.TestCase):
diff --git a/wqflask/tests/unit/utility/test_corestats.py b/gn2/tests/unit/utility/test_corestats.py
index cf91a248..c0eaf566 100644
--- a/wqflask/tests/unit/utility/test_corestats.py
+++ b/gn2/tests/unit/utility/test_corestats.py
@@ -2,7 +2,7 @@
import unittest
-from utility.corestats import Stats
+from gn2.utility.corestats import Stats
class TestChunks(unittest.TestCase):
diff --git a/wqflask/tests/unit/utility/test_corr_result_helpers.py b/gn2/tests/unit/utility/test_corr_result_helpers.py
index e196fbdf..59260ba6 100644
--- a/wqflask/tests/unit/utility/test_corr_result_helpers.py
+++ b/gn2/tests/unit/utility/test_corr_result_helpers.py
@@ -1,7 +1,7 @@
""" Test correlation helper methods """
import unittest
-from utility.corr_result_helpers import normalize_values, common_keys, normalize_values_with_samples
+from gn2.utility.corr_result_helpers import normalize_values, common_keys, normalize_values_with_samples
class TestCorrelationHelpers(unittest.TestCase):
diff --git a/wqflask/tests/unit/utility/test_formatting.py b/gn2/tests/unit/utility/test_formatting.py
index 9d3033d1..aad9735d 100644
--- a/wqflask/tests/unit/utility/test_formatting.py
+++ b/gn2/tests/unit/utility/test_formatting.py
@@ -1,5 +1,5 @@
import unittest
-from utility.formatting import numify, commify
+from gn2.utility.formatting import numify, commify
class TestFormatting(unittest.TestCase):
diff --git a/wqflask/tests/unit/utility/test_hmac.py b/gn2/tests/unit/utility/test_hmac.py
index 13d6261d..f148ea5b 100644
--- a/wqflask/tests/unit/utility/test_hmac.py
+++ b/gn2/tests/unit/utility/test_hmac.py
@@ -3,20 +3,20 @@
import unittest
from unittest import mock
-from utility.hmac import data_hmac
-from utility.hmac import url_for_hmac
-from utility.hmac import hmac_creation
+from gn2.utility.hmac import data_hmac
+from gn2.utility.hmac import url_for_hmac
+from gn2.utility.hmac import hmac_creation
class TestHmacUtil(unittest.TestCase):
"""Test Utility method for hmac creation"""
- @mock.patch("utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
+ @mock.patch("gn2.utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
def test_hmac_creation(self):
"""Test hmac creation with a utf-8 string"""
self.assertEqual(hmac_creation("ファイ"), "7410466338cfe109e946")
- @mock.patch("utility.hmac.app.config",
+ @mock.patch("gn2.utility.hmac.app.config",
{'SECRET_HMAC_CODE': ('\x08\xdf\xfa\x93N\x80'
'\xd9\\H@\\\x9f`\x98d^'
'\xb4a;\xc6OM\x946a\xbc'
@@ -29,21 +29,21 @@ class TestHmacUtil(unittest.TestCase):
hmac_creation(uuid_),
"af4fcf5eace9e7c864ce")
- @mock.patch("utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
+ @mock.patch("gn2.utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
def test_data_hmac(self):
"""Test data_hmac fn with a utf-8 string"""
self.assertEqual(data_hmac("ファイ"), "ファイ:7410466338cfe109e946")
- @mock.patch("utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
- @mock.patch("utility.hmac.url_for")
+ @mock.patch("gn2.utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
+ @mock.patch("gn2.utility.hmac.url_for")
def test_url_for_hmac_with_plain_url(self, mock_url):
"""Test url_for_hmac without params"""
mock_url.return_value = "https://mock_url.com/ファイ/"
self.assertEqual(url_for_hmac("ファイ"),
"https://mock_url.com/ファイ/?hm=05bc39e659b1948f41e7")
- @mock.patch("utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
- @mock.patch("utility.hmac.url_for")
+ @mock.patch("gn2.utility.hmac.app.config", {'SECRET_HMAC_CODE': "secret"})
+ @mock.patch("gn2.utility.hmac.url_for")
def test_url_for_hmac_with_param_in_url(self, mock_url):
"""Test url_for_hmac with params"""
mock_url.return_value = "https://mock_url.com/?ファイ=1"
diff --git a/wqflask/tests/unit/utility/test_type_checking.py b/gn2/tests/unit/utility/test_type_checking.py
index 48d110c7..e7b8e953 100644
--- a/wqflask/tests/unit/utility/test_type_checking.py
+++ b/gn2/tests/unit/utility/test_type_checking.py
@@ -1,10 +1,10 @@
import unittest
-from utility.type_checking import is_float
-from utility.type_checking import is_int
-from utility.type_checking import is_str
-from utility.type_checking import get_float
-from utility.type_checking import get_int
-from utility.type_checking import get_string
+from gn2.utility.type_checking import is_float
+from gn2.utility.type_checking import is_int
+from gn2.utility.type_checking import is_str
+from gn2.utility.type_checking import get_float
+from gn2.utility.type_checking import get_int
+from gn2.utility.type_checking import get_string
class TestTypeChecking(unittest.TestCase):
diff --git a/wqflask/tests/unit/wqflask/__init__.py b/gn2/tests/unit/wqflask/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/__init__.py
+++ b/gn2/tests/unit/wqflask/__init__.py
diff --git a/wqflask/tests/unit/wqflask/api/__init__.py b/gn2/tests/unit/wqflask/api/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/api/__init__.py
+++ b/gn2/tests/unit/wqflask/api/__init__.py
diff --git a/wqflask/tests/unit/wqflask/api/test_correlation.py b/gn2/tests/unit/wqflask/api/test_correlation.py
index 53e1b9a2..2a1907af 100644
--- a/wqflask/tests/unit/wqflask/api/test_correlation.py
+++ b/gn2/tests/unit/wqflask/api/test_correlation.py
@@ -1,12 +1,12 @@
import unittest
from unittest import mock
-from wqflask import app
+from gn2.wqflask import app
from collections import OrderedDict
-from wqflask.api.correlation import init_corr_params
-from wqflask.api.correlation import convert_to_mouse_gene_id
-from wqflask.api.correlation import do_literature_correlation_for_all_traits
-from wqflask.api.correlation import get_sample_r_and_p_values
-from wqflask.api.correlation import calculate_results
+from gn2.wqflask.api.correlation import init_corr_params
+from gn2.wqflask.api.correlation import convert_to_mouse_gene_id
+from gn2.wqflask.api.correlation import do_literature_correlation_for_all_traits
+from gn2.wqflask.api.correlation import get_sample_r_and_p_values
+from gn2.wqflask.api.correlation import calculate_results
class AttributeSetter:
@@ -39,7 +39,7 @@ class TestCorrelations(unittest.TestCase):
self.assertEqual(corr_params_results, expected_results)
- @mock.patch("wqflask.api.correlation.database_connection")
+ @mock.patch("gn2.wqflask.api.correlation.database_connection")
def test_convert_to_mouse_gene_id(self, mock_db):
conn = mock.MagicMock()
mock_db.return_value.__enter__.return_value = conn
@@ -59,8 +59,8 @@ class TestCorrelations(unittest.TestCase):
convert_to_mouse_gene_id(species="human", gene_id="H1"), "MG-2"
)
- @mock.patch("wqflask.api.correlation.database_connection")
- @mock.patch("wqflask.api.correlation.convert_to_mouse_gene_id")
+ @mock.patch("gn2.wqflask.api.correlation.database_connection")
+ @mock.patch("gn2.wqflask.api.correlation.convert_to_mouse_gene_id")
def test_do_literature_correlation_for_all_traits(
self, mock_convert_to_mouse_geneid, mock_db
):
@@ -88,7 +88,7 @@ class TestCorrelations(unittest.TestCase):
}
self.assertEqual(results, expected_results)
- @mock.patch("wqflask.api.correlation.corr_result_helpers.normalize_values")
+ @mock.patch("gn2.wqflask.api.correlation.corr_result_helpers.normalize_values")
def test_get_sample_r_and_p_values(self, mock_normalize):
group = AttributeSetter(
@@ -146,7 +146,7 @@ class TestCorrelations(unittest.TestCase):
self.assertAlmostEqual(val, results_spearmanr[i], 4)
self.assertEqual(results_num_overlap, None)
- @mock.patch("wqflask.api.correlation.do_literature_correlation_for_all_traits")
+ @mock.patch("gn2.wqflask.api.correlation.do_literature_correlation_for_all_traits")
def test_calculate_results(self, literature_correlation):
literature_correlation.return_value = {
diff --git a/wqflask/tests/unit/wqflask/api/test_gen_menu.py b/gn2/tests/unit/wqflask/api/test_gen_menu.py
index 7e477da2..2416b3f6 100644
--- a/wqflask/tests/unit/wqflask/api/test_gen_menu.py
+++ b/gn2/tests/unit/wqflask/api/test_gen_menu.py
@@ -2,14 +2,14 @@
import unittest
from unittest import mock
-from wqflask.api.gen_menu import gen_dropdown_json
-from wqflask.api.gen_menu import get_groups
-from wqflask.api.gen_menu import get_types
-from wqflask.api.gen_menu import get_datasets
-from wqflask.api.gen_menu import phenotypes_exist
-from wqflask.api.gen_menu import genotypes_exist
-from wqflask.api.gen_menu import build_datasets
-from wqflask.api.gen_menu import build_types
+from gn2.wqflask.api.gen_menu import gen_dropdown_json
+from gn2.wqflask.api.gen_menu import get_groups
+from gn2.wqflask.api.gen_menu import get_types
+from gn2.wqflask.api.gen_menu import get_datasets
+from gn2.wqflask.api.gen_menu import phenotypes_exist
+from gn2.wqflask.api.gen_menu import genotypes_exist
+from gn2.wqflask.api.gen_menu import build_datasets
+from gn2.wqflask.api.gen_menu import build_types
class TestGenMenu(unittest.TestCase):
@@ -258,7 +258,7 @@ class TestGenMenu(unittest.TestCase):
"ORDER BY -ProbeSetFreeze.OrderList DESC, "
"ProbeSetFreeze.CreateTime DESC")
- @mock.patch('wqflask.api.gen_menu.build_datasets')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_datasets')
def test_build_types(self, datasets_mock):
"""Test that correct tissue metadata is returned"""
db_mock = mock.MagicMock()
@@ -286,9 +286,9 @@ class TestGenMenu(unittest.TestCase):
"ORDER BY Tissue.Name"
)
- @mock.patch('wqflask.api.gen_menu.build_types')
- @mock.patch('wqflask.api.gen_menu.genotypes_exist')
- @mock.patch('wqflask.api.gen_menu.phenotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_types')
+ @mock.patch('gn2.wqflask.api.gen_menu.genotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.phenotypes_exist')
def test_get_types_with_existing_genotype_and_phenotypes(
self,
phenotypes_exist_mock,
@@ -310,9 +310,9 @@ class TestGenMenu(unittest.TestCase):
mock.MagicMock()),
expected_result)
- @mock.patch('wqflask.api.gen_menu.build_types')
- @mock.patch('wqflask.api.gen_menu.genotypes_exist')
- @mock.patch('wqflask.api.gen_menu.phenotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_types')
+ @mock.patch('gn2.wqflask.api.gen_menu.genotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.phenotypes_exist')
def test_get_types_with_buildtype_and_non_existent_genotype_and_phenotypes(
self,
phenotypes_exist_mock,
@@ -329,9 +329,9 @@ class TestGenMenu(unittest.TestCase):
self.assertEqual(get_types(self.test_group, mock.MagicMock()),
{'mouse': {}, 'human': {}})
- @mock.patch('wqflask.api.gen_menu.build_types')
- @mock.patch('wqflask.api.gen_menu.genotypes_exist')
- @mock.patch('wqflask.api.gen_menu.phenotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_types')
+ @mock.patch('gn2.wqflask.api.gen_menu.genotypes_exist')
+ @mock.patch('gn2.wqflask.api.gen_menu.phenotypes_exist')
def test_get_types_with_non_existent_genotype_phenotypes_and_buildtype(
self,
phenotypes_exist_mock,
@@ -357,7 +357,7 @@ class TestGenMenu(unittest.TestCase):
self.assertEqual(get_types(self.test_group, mock.MagicMock()),
expected_result)
- @mock.patch('wqflask.api.gen_menu.build_datasets')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_datasets')
def test_get_datasets_with_existent_datasets(self,
build_datasets_mock):
"""Test correct dataset is returned with existent build_datasets"""
@@ -379,7 +379,7 @@ class TestGenMenu(unittest.TestCase):
self.assertEqual(get_datasets(self.test_type, mock.MagicMock()),
expected_result)
- @mock.patch('wqflask.api.gen_menu.build_datasets')
+ @mock.patch('gn2.wqflask.api.gen_menu.build_datasets')
def test_get_datasets_with_non_existent_datasets(self,
build_datasets_mock):
"""Test correct dataset is returned with non-existent build_datasets"""
@@ -393,10 +393,10 @@ class TestGenMenu(unittest.TestCase):
self.assertEqual(get_datasets(self.test_type, mock.MagicMock()),
expected_result)
- @mock.patch('wqflask.api.gen_menu.get_datasets')
- @mock.patch('wqflask.api.gen_menu.get_types')
- @mock.patch('wqflask.api.gen_menu.get_groups')
- @mock.patch('wqflask.api.gen_menu.get_all_species')
+ @mock.patch('gn2.wqflask.api.gen_menu.get_datasets')
+ @mock.patch('gn2.wqflask.api.gen_menu.get_types')
+ @mock.patch('gn2.wqflask.api.gen_menu.get_groups')
+ @mock.patch('gn2.wqflask.api.gen_menu.get_all_species')
def test_gen_dropdown_json(self,
species_mock,
groups_mock,
diff --git a/wqflask/tests/unit/wqflask/api/test_mapping.py b/gn2/tests/unit/wqflask/api/test_mapping.py
index 006e9826..226e2a9b 100644
--- a/wqflask/tests/unit/wqflask/api/test_mapping.py
+++ b/gn2/tests/unit/wqflask/api/test_mapping.py
@@ -1,7 +1,7 @@
import unittest
from unittest import mock
-from wqflask.api.mapping import initialize_parameters
-from wqflask.api.mapping import do_mapping_for_api
+from gn2.wqflask.api.mapping import initialize_parameters
+from gn2.wqflask.api.mapping import do_mapping_for_api
class AttributeSetter:
@@ -63,12 +63,12 @@ class TestMapping(unittest.TestCase):
self.assertEqual(results_2, expected_results)
- @mock.patch("wqflask.api.mapping.rqtl_mapping.run_rqtl")
- @mock.patch("wqflask.api.mapping.gemma_mapping.run_gemma")
- @mock.patch("wqflask.api.mapping.initialize_parameters")
- @mock.patch("wqflask.api.mapping.retrieve_sample_data")
- @mock.patch("wqflask.api.mapping.create_trait")
- @mock.patch("wqflask.api.mapping.data_set.create_dataset")
+ @mock.patch("gn2.wqflask.api.mapping.rqtl_mapping.run_rqtl")
+ @mock.patch("gn2.wqflask.api.mapping.gemma_mapping.run_gemma")
+ @mock.patch("gn2.wqflask.api.mapping.initialize_parameters")
+ @mock.patch("gn2.wqflask.api.mapping.retrieve_sample_data")
+ @mock.patch("gn2.wqflask.api.mapping.create_trait")
+ @mock.patch("gn2.wqflask.api.mapping.data_set.create_dataset")
def test_do_mapping_for_api(self, mock_create_dataset, mock_trait, mock_retrieve_sample, mock_param, run_gemma, run_rqtl_geno):
start_vars = {
"db": "Temp",
diff --git a/wqflask/tests/unit/wqflask/api/test_markdown_routes.py b/gn2/tests/unit/wqflask/api/test_markdown_routes.py
index 4f575c4c..ecf64a81 100644
--- a/wqflask/tests/unit/wqflask/api/test_markdown_routes.py
+++ b/gn2/tests/unit/wqflask/api/test_markdown_routes.py
@@ -4,7 +4,7 @@ import unittest
from unittest import mock
from dataclasses import dataclass
-from wqflask.api.markdown import render_markdown
+from gn2.wqflask.api.markdown import render_markdown
@dataclass
@@ -26,7 +26,7 @@ This is another sub-heading"""
class TestMarkdownRoutesFunctions(unittest.TestCase):
"""Test cases for functions in markdown"""
- @mock.patch('wqflask.api.markdown.requests.get')
+ @mock.patch('gn2.wqflask.api.markdown.requests.get')
def test_render_markdown_when_fetching_locally(self, requests_mock):
requests_mock.return_value = MockRequests404()
markdown_content = render_markdown("general/glossary/glossary.md")
@@ -38,7 +38,7 @@ class TestMarkdownRoutesFunctions(unittest.TestCase):
self.assertRegex(markdown_content,
"Content for general/glossary/glossary.md not available.")
- @mock.patch('wqflask.api.markdown.requests.get')
+ @mock.patch('gn2.wqflask.api.markdown.requests.get')
def test_render_markdown_when_fetching_remotely(self, requests_mock):
requests_mock.return_value = MockRequests200()
markdown_content = render_markdown("general/glossary/glossary.md")
diff --git a/wqflask/tests/unit/wqflask/correlation/__init__.py b/gn2/tests/unit/wqflask/correlation/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/correlation/__init__.py
+++ b/gn2/tests/unit/wqflask/correlation/__init__.py
diff --git a/wqflask/tests/unit/wqflask/correlation/test_correlation_functions.py b/gn2/tests/unit/wqflask/correlation/test_correlation_functions.py
index bb07d41e..f76ef57e 100644
--- a/wqflask/tests/unit/wqflask/correlation/test_correlation_functions.py
+++ b/gn2/tests/unit/wqflask/correlation/test_correlation_functions.py
@@ -3,15 +3,15 @@
import unittest
from unittest import mock
-from wqflask.correlation.correlation_functions import get_trait_symbol_and_tissue_values
-from wqflask.correlation.correlation_functions import cal_zero_order_corr_for_tiss
+from gn2.wqflask.correlation.correlation_functions import get_trait_symbol_and_tissue_values
+from gn2.wqflask.correlation.correlation_functions import cal_zero_order_corr_for_tiss
def test_tissue_corr_computation(mocker):
"""Test for cal_zero_order_corr_for_tiss"""
primary_values = [9.288, 9.313, 8.988, 9.660, 8.21]
target_values = [9.586, 8.498, 9.362, 8.820, 8.786]
- _m = mocker.patch(("wqflask.correlation.correlation_functions."
+ _m = mocker.patch(("gn2.wqflask.correlation.correlation_functions."
"compute_corr_coeff_p_value"),
return_value=(0.51, 0.7))
results = cal_zero_order_corr_for_tiss(primary_values, target_values)
diff --git a/wqflask/tests/unit/wqflask/correlation/test_correlation_gn3.py b/gn2/tests/unit/wqflask/correlation/test_correlation_gn3.py
index e1bd6d86..432dbc95 100644
--- a/wqflask/tests/unit/wqflask/correlation/test_correlation_gn3.py
+++ b/gn2/tests/unit/wqflask/correlation/test_correlation_gn3.py
@@ -1,6 +1,6 @@
"""this module contains tests for code used in integrating to gn3 api"""
from unittest import TestCase
-from base.data_set import create_dataset
+from gn2.base.data_set import create_dataset
class TestCorrelation(TestCase):
diff --git a/wqflask/tests/unit/wqflask/correlation/test_show_corr_results.py b/gn2/tests/unit/wqflask/correlation/test_show_corr_results.py
index e29b18ca..b1459dd9 100644
--- a/wqflask/tests/unit/wqflask/correlation/test_show_corr_results.py
+++ b/gn2/tests/unit/wqflask/correlation/test_show_corr_results.py
@@ -1,6 +1,6 @@
import unittest
from unittest import mock
-from wqflask.correlation.show_corr_results import get_header_fields
+from gn2.wqflask.correlation.show_corr_results import get_header_fields
class AttributeSetter:
diff --git a/wqflask/tests/unit/wqflask/marker_regression/__init__.py b/gn2/tests/unit/wqflask/marker_regression/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/__init__.py
+++ b/gn2/tests/unit/wqflask/marker_regression/__init__.py
diff --git a/wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt b/gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt
+++ b/gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_geno.txt
diff --git a/wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt b/gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt
+++ b/gn2/tests/unit/wqflask/marker_regression/genotype/bimbam/file_snps.txt
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_display_mapping_results.py b/gn2/tests/unit/wqflask/marker_regression/test_display_mapping_results.py
index f4869c45..580d79cf 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_display_mapping_results.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_display_mapping_results.py
@@ -1,7 +1,7 @@
import unittest
import htmlgen as HT
-from wqflask.marker_regression.display_mapping_results import (
+from gn2.wqflask.marker_regression.display_mapping_results import (
DisplayMappingResults,
HtmlGenWrapper
)
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py b/gn2/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
index 9d988597..b4d80ad7 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
@@ -3,10 +3,10 @@ import os
import unittest
import random
from unittest import mock
-from wqflask.marker_regression.gemma_mapping import run_gemma
-from wqflask.marker_regression.gemma_mapping import gen_pheno_txt_file
-from wqflask.marker_regression.gemma_mapping import gen_covariates_file
-from wqflask.marker_regression.gemma_mapping import parse_loco_output
+from gn2.wqflask.marker_regression.gemma_mapping import run_gemma
+from gn2.wqflask.marker_regression.gemma_mapping import gen_pheno_txt_file
+from gn2.wqflask.marker_regression.gemma_mapping import gen_covariates_file
+from gn2.wqflask.marker_regression.gemma_mapping import parse_loco_output
class AttributeSetter:
@@ -22,7 +22,7 @@ class MockGroup(AttributeSetter):
class TestGemmaMapping(unittest.TestCase):
- @mock.patch("wqflask.marker_regression.gemma_mapping.parse_loco_output")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.parse_loco_output")
def test_run_gemma_firstrun_set_false(self, mock_parse_loco):
"""add tests for gemma function where first run is set to false"""
dataset = AttributeSetter(
@@ -38,17 +38,17 @@ class TestGemmaMapping(unittest.TestCase):
expected_results = ([], "file1")
self.assertEqual(expected_results, result)
- @mock.patch("wqflask.marker_regression.gemma_mapping.webqtlConfig.GENERATED_IMAGE_DIR", "/home/user/img")
- @mock.patch("wqflask.marker_regression.gemma_mapping.GEMMAOPTS", "-debug")
- @mock.patch("wqflask.marker_regression.gemma_mapping.GEMMA_WRAPPER_COMMAND", "ghc")
- @mock.patch("wqflask.marker_regression.gemma_mapping.TEMPDIR",
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.webqtlConfig.GENERATED_IMAGE_DIR", "/home/user/img")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.GEMMAOPTS", "-debug")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.GEMMA_WRAPPER_COMMAND", "ghc")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.TEMPDIR",
os.path.join(os.path.dirname(__file__), "user/data"))
- @mock.patch("wqflask.marker_regression.gemma_mapping.parse_loco_output")
- @mock.patch("wqflask.marker_regression.gemma_mapping.flat_files")
- @mock.patch("wqflask.marker_regression.gemma_mapping.gen_covariates_file")
- @mock.patch("wqflask.marker_regression.run_mapping.random.choice")
- @mock.patch("wqflask.marker_regression.gemma_mapping.os")
- @mock.patch("wqflask.marker_regression.gemma_mapping.gen_pheno_txt_file")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.parse_loco_output")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.flat_files")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.gen_covariates_file")
+ @mock.patch("gn2.wqflask.marker_regression.run_mapping.random.choice")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.os")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.gen_pheno_txt_file")
def test_run_gemma_firstrun_set_true(self, mock_gen_pheno_txt, mock_os, mock_choice, mock_gen_covar, mock_flat_files, mock_parse_loco):
"""add tests for run_gemma where first run is set to true"""
this_chromosomes = {}
@@ -78,7 +78,7 @@ class TestGemmaMapping(unittest.TestCase):
('/home/user/imgfile_output.assoc.txt'))
self.assertEqual(results, ([], "GP1_GWA_RRRRRR"))
- @mock.patch("wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/user/data")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/user/data")
def test_gen_pheno_txt_file(self):
"""add tests for generating pheno txt file"""
with mock.patch("builtins.open", mock.mock_open())as mock_open:
@@ -95,9 +95,9 @@ class TestGemmaMapping(unittest.TestCase):
filehandler.write.assert_has_calls(write_calls)
- @mock.patch("wqflask.marker_regression.gemma_mapping.flat_files")
- @mock.patch("wqflask.marker_regression.gemma_mapping.create_trait")
- @mock.patch("wqflask.marker_regression.gemma_mapping.create_dataset")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.flat_files")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.create_trait")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.create_dataset")
def test_gen_covariates_file(self, create_dataset, create_trait, flat_files):
"""add tests for generating covariates files"""
covariates = "X1:X2,Y1:Y2,M1:M3,V1:V2"
@@ -140,9 +140,9 @@ class TestGemmaMapping(unittest.TestCase):
filehandler.write.assert_has_calls([mock.call(
'-9\t'), mock.call('-9\t'), mock.call('-9\t'), mock.call('-9\t'), mock.call('\n')])
- @mock.patch("wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/tmp")
- @mock.patch("wqflask.marker_regression.gemma_mapping.os")
- @mock.patch("wqflask.marker_regression.gemma_mapping.json")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/tmp")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.os")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.json")
def test_parse_loco_outputfile_found(self, mock_json, mock_os):
"""add tests for parse loco output file found"""
mock_json.load.return_value = {
@@ -174,8 +174,8 @@ X\tM5\t12\tQ\tE\tMMB\tR\t21.1\tW\t0.65\t0.6"""
{'name': 'M5', 'chr': 'X', 'Mb': 1.2e-05, 'p_value': 0.6, 'additive': -10.55, 'lod_score': 0.22184874961635637}]
self.assertEqual(expected_results, results)
- @mock.patch("wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/tmp")
- @mock.patch("wqflask.marker_regression.gemma_mapping.os")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/tmp")
+ @mock.patch("gn2.wqflask.marker_regression.gemma_mapping.os")
def test_parse_loco_outputfile_not_found(self, mock_os):
"""add tests for parse loco output where output file not found"""
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_plink_mapping.py b/gn2/tests/unit/wqflask/marker_regression/test_plink_mapping.py
index fd21a825..7542e15a 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_plink_mapping.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_plink_mapping.py
@@ -1,11 +1,11 @@
# test for wqflask/marker_regression/plink_mapping.py
import unittest
from unittest import mock
-from wqflask.marker_regression.plink_mapping import build_line_list
-from wqflask.marker_regression.plink_mapping import get_samples_from_ped_file
-from wqflask.marker_regression.plink_mapping import flat_files
-from wqflask.marker_regression.plink_mapping import gen_pheno_txt_file_plink
-from wqflask.marker_regression.plink_mapping import parse_plink_output
+from gn2.wqflask.marker_regression.plink_mapping import build_line_list
+from gn2.wqflask.marker_regression.plink_mapping import get_samples_from_ped_file
+from gn2.wqflask.marker_regression.plink_mapping import flat_files
+from gn2.wqflask.marker_regression.plink_mapping import gen_pheno_txt_file_plink
+from gn2.wqflask.marker_regression.plink_mapping import parse_plink_output
class AttributeSetter:
@@ -27,7 +27,7 @@ class TestPlinkMapping(unittest.TestCase):
self.assertEqual([], build_line_list())
self.assertEqual(["this", "is", "an,", "irregular", "line"], results)
- @mock.patch("wqflask.marker_regression.plink_mapping.flat_files")
+ @mock.patch("gn2.wqflask.marker_regression.plink_mapping.flat_files")
def test_get_samples_from_ped_file(self, mock_flat_files):
"""test for getting samples from ped file"""
dataset = AttributeSetter({"group": AttributeSetter({"name": "n_1"})})
@@ -42,8 +42,8 @@ Expected_2\there
self.assertEqual(
["Expected_1", "Expected_2", "Expected_3"], results)
- @mock.patch("wqflask.marker_regression.plink_mapping.TMPDIR", "/home/user/data/")
- @mock.patch("wqflask.marker_regression.plink_mapping.get_samples_from_ped_file")
+ @mock.patch("gn2.wqflask.marker_regression.plink_mapping.TMPDIR", "/home/user/data/")
+ @mock.patch("gn2.wqflask.marker_regression.plink_mapping.get_samples_from_ped_file")
def test_gen_pheno_txt_file_plink(self, mock_samples):
"""test for getting gen_pheno txt file"""
mock_samples.return_value = ["Expected_1", "Expected_2", "Expected_3"]
@@ -64,8 +64,8 @@ Expected_2\there
filehandler.close.assert_called_once()
- @mock.patch("wqflask.marker_regression.plink_mapping.TMPDIR", "/home/user/data/")
- @mock.patch("wqflask.marker_regression.plink_mapping.build_line_list")
+ @mock.patch("gn2.wqflask.marker_regression.plink_mapping.TMPDIR", "/home/user/data/")
+ @mock.patch("gn2.wqflask.marker_regression.plink_mapping.build_line_list")
def test_parse_plink_output(self, mock_line_list):
"""test for parsing plink output"""
chromosomes = [0, 34, 110, 89, 123, 23, 2]
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py b/gn2/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py
index 8b4337ec..c2753141 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_qtlreaper_mapping.py
@@ -1,13 +1,13 @@
import unittest
from unittest import mock
-from wqflask.marker_regression.qtlreaper_mapping import gen_pheno_txt_file
+from gn2.wqflask.marker_regression.qtlreaper_mapping import gen_pheno_txt_file
# issues some methods in genofile object are not defined
# modify samples should equal to vals
class TestQtlReaperMapping(unittest.TestCase):
- @mock.patch("wqflask.marker_regression.qtlreaper_mapping.TEMPDIR", "/home/user/data")
+ @mock.patch("gn2.wqflask.marker_regression.qtlreaper_mapping.TEMPDIR", "/home/user/data")
def test_gen_pheno_txt_file(self):
vals = ["V1", "x", "V4", "V3", "x"]
samples = ["S1", "S2", "S3", "S4", "S5"]
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py b/gn2/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py
index b4423d8f..9f646fb0 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_rqtl_mapping.py
@@ -2,7 +2,7 @@ import unittest
from unittest import mock
from dataclasses import dataclass
-from wqflask.marker_regression.rqtl_mapping import run_rqtl
+from gn2.wqflask.marker_regression.rqtl_mapping import run_rqtl
@dataclass
class MockGroup:
@@ -15,9 +15,9 @@ class MockDataset:
class TestRqtlMapping(unittest.TestCase):
"""Tests for functions in rqtl_mapping.py"""
- @mock.patch("wqflask.marker_regression.rqtl_mapping.requests.post")
- @mock.patch("wqflask.marker_regression.rqtl_mapping.locate")
- @mock.patch("wqflask.marker_regression.rqtl_mapping.write_phenotype_file")
+ @mock.patch("gn2.wqflask.marker_regression.rqtl_mapping.requests.post")
+ @mock.patch("gn2.wqflask.marker_regression.rqtl_mapping.locate")
+ @mock.patch("gn2.wqflask.marker_regression.rqtl_mapping.write_phenotype_file")
def test_run_rqtl_with_perm(self, mock_write_pheno_file, mock_locate, mock_post):
"""Test for run_rqtl with permutations > 0"""
dataset_group = MockGroup("GP1", "file_geno")
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_run_mapping.py b/gn2/tests/unit/wqflask/marker_regression/test_run_mapping.py
index 2e1b5810..817bf2b9 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_run_mapping.py
+++ b/gn2/tests/unit/wqflask/marker_regression/test_run_mapping.py
@@ -2,13 +2,13 @@ import unittest
import datetime
from unittest import mock
-from wqflask.marker_regression.run_mapping import get_genofile_samplelist
-from wqflask.marker_regression.run_mapping import geno_db_exists
-from wqflask.marker_regression.run_mapping import write_input_for_browser
-from wqflask.marker_regression.run_mapping import export_mapping_results
-from wqflask.marker_regression.run_mapping import trim_markers_for_figure
-from wqflask.marker_regression.run_mapping import get_perm_strata
-from wqflask.marker_regression.run_mapping import get_chr_lengths
+from gn2.wqflask.marker_regression.run_mapping import get_genofile_samplelist
+from gn2.wqflask.marker_regression.run_mapping import geno_db_exists
+from gn2.wqflask.marker_regression.run_mapping import write_input_for_browser
+from gn2.wqflask.marker_regression.run_mapping import export_mapping_results
+from gn2.wqflask.marker_regression.run_mapping import trim_markers_for_figure
+from gn2.wqflask.marker_regression.run_mapping import get_perm_strata
+from gn2.wqflask.marker_regression.run_mapping import get_chr_lengths
class AttributeSetter:
@@ -61,7 +61,7 @@ class TestRunMapping(unittest.TestCase):
result_2 = get_genofile_samplelist(self.dataset)
self.assertEqual(result_2, [])
- @mock.patch("wqflask.marker_regression.run_mapping.data_set")
+ @mock.patch("gn2.wqflask.marker_regression.run_mapping.data_set")
def test_if_geno_db_exists(self, mock_data_set):
mock_data_set.create_dataset.side_effect = [
AttributeSetter({}), Exception()]
@@ -178,7 +178,7 @@ class TestRunMapping(unittest.TestCase):
with mock.patch("builtins.open", mock.mock_open()) as mock_open:
- with mock.patch("wqflask.marker_regression.run_mapping.datetime.datetime", new=datetime_mock):
+ with mock.patch("gn2.wqflask.marker_regression.run_mapping.datetime.datetime", new=datetime_mock):
export_mapping_results(dataset=self.dataset, trait=self.trait, markers=markers,
results_path="~/results", mapping_method="gemma", mapping_scale="physic",
score_type="-logP", transform="qnorm",
@@ -215,7 +215,7 @@ class TestRunMapping(unittest.TestCase):
filehandler = mock_open()
filehandler.write.assert_has_calls(write_calls)
- @mock.patch("wqflask.marker_regression.run_mapping.random.choice")
+ @mock.patch("gn2.wqflask.marker_regression.run_mapping.random.choice")
def test_write_input_for_browser(self, mock_choice):
"""test for writing input for browser"""
mock_choice.side_effect = ["F", "i", "l", "e", "s", "x"]
diff --git a/wqflask/tests/unit/wqflask/show_trait/__init__.py b/gn2/tests/unit/wqflask/show_trait/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/show_trait/__init__.py
+++ b/gn2/tests/unit/wqflask/show_trait/__init__.py
diff --git a/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py b/gn2/tests/unit/wqflask/show_trait/test_export_trait_data.py
index 8aa3ffd5..1ecf394b 100644
--- a/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py
+++ b/gn2/tests/unit/wqflask/show_trait/test_export_trait_data.py
@@ -1,10 +1,10 @@
import datetime
import unittest
from unittest import mock
-from wqflask.show_trait.export_trait_data import dict_to_sorted_list
-from wqflask.show_trait.export_trait_data import cmp_samples
-from wqflask.show_trait.export_trait_data import export_sample_table
-from wqflask.show_trait.export_trait_data import get_export_metadata
+from gn2.wqflask.show_trait.export_trait_data import dict_to_sorted_list
+from gn2.wqflask.show_trait.export_trait_data import cmp_samples
+from gn2.wqflask.show_trait.export_trait_data import export_sample_table
+from gn2.wqflask.show_trait.export_trait_data import get_export_metadata
class AttributesSetter:
@@ -16,9 +16,9 @@ class AttributesSetter:
class TestExportTraits(unittest.TestCase):
"""Test methods for exporting traits and metadata"""
- @mock.patch("wqflask.show_trait.export_trait_data.datetime")
- @mock.patch("wqflask.show_trait.export_trait_data.create_trait")
- @mock.patch("wqflask.show_trait.export_trait_data.data_set")
+ @mock.patch("gn2.wqflask.show_trait.export_trait_data.datetime")
+ @mock.patch("gn2.wqflask.show_trait.export_trait_data.create_trait")
+ @mock.patch("gn2.wqflask.show_trait.export_trait_data.data_set")
def test_get_export_metadata(self, data_mock, trait_mock, date_mock):
"""test for exporting metadata with dataset.type=Publish"""
mock_dataset = AttributesSetter({"type": "Publish",
diff --git a/wqflask/tests/unit/wqflask/show_trait/test_get_max_digits.py b/gn2/tests/unit/wqflask/show_trait/test_get_max_digits.py
index da10b13c..45484f17 100644
--- a/wqflask/tests/unit/wqflask/show_trait/test_get_max_digits.py
+++ b/gn2/tests/unit/wqflask/show_trait/test_get_max_digits.py
@@ -1,7 +1,7 @@
import pytest
import unittest
-from wqflask.show_trait.show_trait import get_max_digits
+from gn2.wqflask.show_trait.show_trait import get_max_digits
@unittest.skip("Too complicated")
@pytest.mark.parametrize(
diff --git a/wqflask/tests/unit/wqflask/snp_browser/__init__.py b/gn2/tests/unit/wqflask/snp_browser/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/snp_browser/__init__.py
+++ b/gn2/tests/unit/wqflask/snp_browser/__init__.py
diff --git a/wqflask/tests/unit/wqflask/snp_browser/test_snp_browser.py b/gn2/tests/unit/wqflask/snp_browser/test_snp_browser.py
index a09d1538..bf0421c0 100644
--- a/wqflask/tests/unit/wqflask/snp_browser/test_snp_browser.py
+++ b/gn2/tests/unit/wqflask/snp_browser/test_snp_browser.py
@@ -1,11 +1,11 @@
import unittest
from unittest import mock
-from wqflask import app
-from wqflask.snp_browser.snp_browser import get_gene_id
-from wqflask.snp_browser.snp_browser import get_gene_id_name_dict
-from wqflask.snp_browser.snp_browser import check_if_in_gene
-from wqflask.snp_browser.snp_browser import get_browser_sample_lists
-from wqflask.snp_browser.snp_browser import get_header_list
+from gn2.wqflask import app
+from gn2.wqflask.snp_browser.snp_browser import get_gene_id
+from gn2.wqflask.snp_browser.snp_browser import get_gene_id_name_dict
+from gn2.wqflask.snp_browser.snp_browser import check_if_in_gene
+from gn2.wqflask.snp_browser.snp_browser import get_browser_sample_lists
+from gn2.wqflask.snp_browser.snp_browser import get_header_list
class TestSnpBrowser(unittest.TestCase):
@@ -102,7 +102,7 @@ class TestSnpBrowser(unittest.TestCase):
self.assertEqual(expected_results, results_with_snp)
self.assertEqual(expected_results_with_indel, results_with_indel)
- @mock.patch("wqflask.snp_browser.snp_browser.database_connection")
+ @mock.patch("gn2.wqflask.snp_browser.snp_browser.database_connection")
def test_get_gene_id(self, mock_db):
db_query_value = (
"SELECT geneId FROM GeneList WHERE " "SpeciesId = %s AND geneSymbol = %s"
@@ -122,7 +122,7 @@ class TestSnpBrowser(unittest.TestCase):
)
self.assertEqual(results, "517d729f-aa13-4413-a885-40a3f7ff768a")
- @mock.patch("wqflask.snp_browser.snp_browser.database_connection")
+ @mock.patch("gn2.wqflask.snp_browser.snp_browser.database_connection")
def test_gene_id_name_dict(self, mock_db):
no_gene_names = []
conn = mock.MagicMock()
@@ -164,7 +164,7 @@ class TestSnpBrowser(unittest.TestCase):
self.assertEqual(results_found, expected_found)
self.assertEqual(no_results, {})
- @mock.patch("wqflask.snp_browser.snp_browser.database_connection")
+ @mock.patch("gn2.wqflask.snp_browser.snp_browser.database_connection")
def test_check_if_in_gene(self, mock_db):
conn = mock.MagicMock()
mock_db.return_value.__enter__.return_value = conn
@@ -196,7 +196,7 @@ class TestSnpBrowser(unittest.TestCase):
)
self.assertEqual(gene_not_found, "")
- @mock.patch("wqflask.snp_browser.snp_browser.database_connection")
+ @mock.patch("gn2.wqflask.snp_browser.snp_browser.database_connection")
def test_get_browser_sample_lists(self, mock_db):
conn = mock.MagicMock()
mock_db.return_value.__enter__.return_value = conn
diff --git a/wqflask/tests/unit/wqflask/test_collect.py b/gn2/tests/unit/wqflask/test_collect.py
index 4e99de7f..6c1bafa5 100644
--- a/wqflask/tests/unit/wqflask/test_collect.py
+++ b/gn2/tests/unit/wqflask/test_collect.py
@@ -4,7 +4,7 @@ import unittest
from unittest import mock
from flask import Flask
-from wqflask.collect import process_traits
+from gn2.wqflask.collect import process_traits
app = Flask(__name__)
@@ -42,7 +42,7 @@ class TestCollect(unittest.TestCase):
def tearDown(self):
self.app_context.pop()
- @mock.patch("wqflask.collect.g", MockFlaskG())
+ @mock.patch("gn2.wqflask.collect.g", MockFlaskG())
def test_process_traits_with_bytestring(self):
"""
Test that the correct traits are returned when the user is logged
@@ -58,7 +58,7 @@ class TestCollect(unittest.TestCase):
'1452447_at:HC_M2_0606_P',
'1452452_at:HC_M2_0606_P']))
- @mock.patch("wqflask.collect.g", MockFlaskG())
+ @mock.patch("gn2.wqflask.collect.g", MockFlaskG())
def test_process_traits_with_normal_string(self):
"""
Test that the correct traits are returned when the user is logged
diff --git a/wqflask/tests/unit/wqflask/test_pbkdf2.py b/gn2/tests/unit/wqflask/test_pbkdf2.py
index 7ad6c83e..ed4eff4f 100644
--- a/wqflask/tests/unit/wqflask/test_pbkdf2.py
+++ b/gn2/tests/unit/wqflask/test_pbkdf2.py
@@ -1,7 +1,7 @@
"""Test cases pbkdf2"""
import unittest
-from wqflask.pbkdf2 import pbkdf2_hex
+from gn2.wqflask.pbkdf2 import pbkdf2_hex
class TestPbkdf2(unittest.TestCase):
diff --git a/wqflask/tests/unit/wqflask/test_resource_manager.py b/gn2/tests/unit/wqflask/test_resource_manager.py
index f4335425..a4b3a0ee 100644
--- a/wqflask/tests/unit/wqflask/test_resource_manager.py
+++ b/gn2/tests/unit/wqflask/test_resource_manager.py
@@ -58,7 +58,7 @@ class TestGetUserMembership(unittest.TestCase):
class TestCheckUserAccessRole(unittest.TestCase):
"""Test cases for `get_highest_user_access_role`"""
- @mock.patch("wqflask.resource_manager.requests.get")
+ @mock.patch("gn2.wqflask.resource_manager.requests.get")
def test_edit_access(self, requests_mock):
"""Test that the right access roles are set"""
response = mock.PropertyMock(return_value=json.dumps(
@@ -76,7 +76,7 @@ class TestCheckUserAccessRole(unittest.TestCase):
"metadata": DataRole.EDIT,
"admin": AdminRole.EDIT_ACCESS})
- @mock.patch("wqflask.resource_manager.requests.get")
+ @mock.patch("gn2.wqflask.resource_manager.requests.get")
def test_no_access(self, requests_mock):
response = mock.PropertyMock(return_value=json.dumps(
{
diff --git a/wqflask/tests/unit/wqflask/test_server_side.py b/gn2/tests/unit/wqflask/test_server_side.py
index be7ca2df..b3e90eb9 100644
--- a/wqflask/tests/unit/wqflask/test_server_side.py
+++ b/gn2/tests/unit/wqflask/test_server_side.py
@@ -1,6 +1,6 @@
import unittest
-from wqflask.server_side import ServerSideTable
+from gn2.wqflask.server_side import ServerSideTable
class TestServerSideTableTests(unittest.TestCase):
diff --git a/wqflask/tests/unit/wqflask/test_user_login.py b/gn2/tests/unit/wqflask/test_user_login.py
index 61cd9ab9..84e25d45 100644
--- a/wqflask/tests/unit/wqflask/test_user_login.py
+++ b/gn2/tests/unit/wqflask/test_user_login.py
@@ -1,7 +1,7 @@
"""Test cases for some methods in login.py"""
import unittest
-from wqflask.user_login import encode_password
+from gn2.wqflask.user_login import encode_password
class TestUserLogin(unittest.TestCase):
diff --git a/wqflask/tests/unit/wqflask/test_user_session.py b/gn2/tests/unit/wqflask/test_user_session.py
index ebb0334a..944e5b6a 100644
--- a/wqflask/tests/unit/wqflask/test_user_session.py
+++ b/gn2/tests/unit/wqflask/test_user_session.py
@@ -1,7 +1,7 @@
"""Test cases for some methods in user_session.py"""
import unittest
-from wqflask.user_session import verify_cookie
+from gn2.wqflask.user_session import verify_cookie
class TestUserSession(unittest.TestCase):
diff --git a/wqflask/tests/unit/wqflask/wgcna/__init__.py b/gn2/tests/unit/wqflask/wgcna/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/unit/wqflask/wgcna/__init__.py
+++ b/gn2/tests/unit/wqflask/wgcna/__init__.py
diff --git a/wqflask/tests/unit/wqflask/wgcna/test_wgcna.py b/gn2/tests/unit/wqflask/wgcna/test_wgcna.py
index 8e947e2f..2ed5e08f 100644
--- a/wqflask/tests/unit/wqflask/wgcna/test_wgcna.py
+++ b/gn2/tests/unit/wqflask/wgcna/test_wgcna.py
@@ -2,7 +2,7 @@
"""module contains for processing gn3 wgcna data"""
from unittest import TestCase
-from wqflask.wgcna.gn3_wgcna import process_wgcna_data
+from gn2.wqflask.wgcna.gn3_wgcna import process_wgcna_data
class DataProcessingTests(TestCase):
diff --git a/wqflask/tests/wqflask/show_trait/testSampleList.py b/gn2/tests/wqflask/show_trait/testSampleList.py
index 305586ce..1c5478bb 100644
--- a/wqflask/tests/wqflask/show_trait/testSampleList.py
+++ b/gn2/tests/wqflask/show_trait/testSampleList.py
@@ -1,7 +1,7 @@
import unittest
import re
from unittest import mock
-from wqflask.show_trait.SampleList import natural_sort
+from gn2.wqflask.show_trait.SampleList import natural_sort
class TestSampleList(unittest.TestCase):
diff --git a/wqflask/tests/wqflask/show_trait/test_show_trait.py b/gn2/tests/wqflask/show_trait/test_show_trait.py
index 1291037f..51b0c82c 100644
--- a/wqflask/tests/wqflask/show_trait/test_show_trait.py
+++ b/gn2/tests/wqflask/show_trait/test_show_trait.py
@@ -2,15 +2,15 @@
import unittest
import pytest
from unittest import mock
-from wqflask.show_trait.show_trait import check_if_attr_exists
-from wqflask.show_trait.show_trait import get_ncbi_summary
-from wqflask.show_trait.show_trait import has_num_cases
-from wqflask.show_trait.show_trait import get_table_widths
-from wqflask.show_trait.show_trait import get_categorical_variables
-from wqflask.show_trait.show_trait import get_trait_units
-from wqflask.show_trait.show_trait import get_nearest_marker
-from wqflask.show_trait.show_trait import get_genotype_scales
-from wqflask.show_trait.show_trait import get_scales_from_genofile
+from gn2.wqflask.show_trait.show_trait import check_if_attr_exists
+from gn2.wqflask.show_trait.show_trait import get_ncbi_summary
+from gn2.wqflask.show_trait.show_trait import has_num_cases
+from gn2.wqflask.show_trait.show_trait import get_table_widths
+from gn2.wqflask.show_trait.show_trait import get_categorical_variables
+from gn2.wqflask.show_trait.show_trait import get_trait_units
+from gn2.wqflask.show_trait.show_trait import get_nearest_marker
+from gn2.wqflask.show_trait.show_trait import get_genotype_scales
+from gn2.wqflask.show_trait.show_trait import get_scales_from_genofile
class TraitObject:
@@ -39,10 +39,10 @@ def test_check_if_attr_exists(trait, id_type, expected):
def test_get_ncbi_summary_request(mocker):
trait = TraitObject({"geneid": "id"})
- mocker.patch("wqflask.show_trait.show_trait.check_if_attr_exists",
+ mocker.patch("gn2.wqflask.show_trait.show_trait.check_if_attr_exists",
return_value=True)
mock_get = mocker.patch(
- "wqflask.show_trait.show_trait.requests.get",
+ "gn2.wqflask.show_trait.show_trait.requests.get",
return_value=TraitObject({"content": """{
"result":{
"id":{
@@ -143,7 +143,7 @@ class TestTraits(unittest.TestCase):
self.assertEqual(results, "this is a descriptionN/A")
self.assertEqual(results_no_unit, "value")
- @mock.patch("wqflask.show_trait.show_trait.database_connection")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.database_connection")
def test_get_nearest_marker(self, mock_db):
"""test for getting nearest marker with non-empty db"""
conn = mock.MagicMock()
@@ -170,7 +170,7 @@ class TestTraits(unittest.TestCase):
self.assertEqual(results_with_item_db, "Geno1")
- @mock.patch("wqflask.show_trait.show_trait.database_connection")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.database_connection")
def test_get_nearest_marker_empty_db(self, mock_db):
"""test for getting nearest marker with empty db"""
conn = mock.MagicMock()
@@ -187,7 +187,7 @@ class TestTraits(unittest.TestCase):
cursor.execute.assert_called_once()
self.assertEqual(results_empty_db, "")
- @mock.patch("wqflask.show_trait.show_trait.get_scales_from_genofile")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.get_scales_from_genofile")
def test_get_genotype_scales_with_genofile_is_list(self, mock_get_scales):
"""test for getting genotype scales with genofile as list """
# where genofile is instance of list
@@ -211,7 +211,7 @@ class TestTraits(unittest.TestCase):
mock_get_scales.assert_has_calls(multiple_calls)
self.assertEqual(results, expected_results)
- @mock.patch("wqflask.show_trait.show_trait.get_scales_from_genofile")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.get_scales_from_genofile")
def test_genotype_scales_with_genofile_other(self, mock_get_scales):
"""test for getting genotype scales with genofile as a string"""
file_location = "~/another_file_location"
@@ -220,7 +220,7 @@ class TestTraits(unittest.TestCase):
self.assertEqual(get_genotype_scales(file_location), expected_results)
mock_get_scales.assert_called_once_with(file_location)
- @mock.patch("wqflask.show_trait.show_trait.locate_ignore_error")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.locate_ignore_error")
def test_get_scales_from_genofile_found(self, mock_ignore_location):
""""add test for get scales from genofile where file is found"""
mock_ignore_location.return_value = True
@@ -245,7 +245,7 @@ class TestTraits(unittest.TestCase):
result2 = get_scales_from_genofile(file_location)
self.assertEqual([['morgan', 'cM']], result2)
- @mock.patch("wqflask.show_trait.show_trait.locate_ignore_error")
+ @mock.patch("gn2.wqflask.show_trait.show_trait.locate_ignore_error")
def test_get_scales_from_genofile_not_found(self, mock_location_ignore):
mock_location_ignore.return_value = False
diff --git a/wqflask/utility/Plot.py b/gn2/utility/Plot.py
index df7156b4..ace954e4 100644
--- a/wqflask/utility/Plot.py
+++ b/gn2/utility/Plot.py
@@ -30,9 +30,9 @@ from PIL import ImageFont
from math import *
-import utility.corestats as corestats
-from base import webqtlConfig
-from utility.pillow_utils import draw_rotated_text
+import gn2.utility.corestats as corestats
+from gn2.base import webqtlConfig
+from gn2.utility.pillow_utils import draw_rotated_text
# ---- Define common colours ---- #
diff --git a/wqflask/utility/TDCell.py b/gn2/utility/TDCell.py
index 4b0f4b1d..4b0f4b1d 100644
--- a/wqflask/utility/TDCell.py
+++ b/gn2/utility/TDCell.py
diff --git a/wqflask/utility/THCell.py b/gn2/utility/THCell.py
index f533dcb8..f533dcb8 100644
--- a/wqflask/utility/THCell.py
+++ b/gn2/utility/THCell.py
diff --git a/wqflask/utility/__init__.py b/gn2/utility/__init__.py
index 25273fa0..25273fa0 100644
--- a/wqflask/utility/__init__.py
+++ b/gn2/utility/__init__.py
diff --git a/wqflask/utility/after.py b/gn2/utility/after.py
index 2b560e48..5f802d35 100644
--- a/wqflask/utility/after.py
+++ b/gn2/utility/after.py
@@ -5,7 +5,7 @@ See: http://flask.pocoo.org/docs/patterns/deferredcallbacks/#deferred-callbacks
from flask import g
-from wqflask import app
+from gn2.wqflask import app
def after_this_request(f):
diff --git a/wqflask/utility/authentication_tools.py b/gn2/utility/authentication_tools.py
index 5d00d600..935f629e 100644
--- a/wqflask/utility/authentication_tools.py
+++ b/gn2/utility/authentication_tools.py
@@ -2,14 +2,14 @@ import json
import requests
from flask import g
-from wqflask.database import database_connection
-from base import webqtlConfig
+from gn2.wqflask.database import database_connection
+from gn2.base import webqtlConfig
-from utility.redis_tools import (get_redis_conn,
+from gn2.utility.redis_tools import (get_redis_conn,
get_resource_info,
get_resource_id,
add_resource)
-from utility.tools import get_setting, GN_PROXY_URL
+from gn2.utility.tools import get_setting, GN_PROXY_URL
Redis = get_redis_conn()
diff --git a/wqflask/utility/chunks.py b/gn2/utility/chunks.py
index f6e88cbe..f6e88cbe 100644
--- a/wqflask/utility/chunks.py
+++ b/gn2/utility/chunks.py
diff --git a/wqflask/utility/corestats.py b/gn2/utility/corestats.py
index da0a21db..da0a21db 100644
--- a/wqflask/utility/corestats.py
+++ b/gn2/utility/corestats.py
diff --git a/wqflask/utility/corr_result_helpers.py b/gn2/utility/corr_result_helpers.py
index ea3ababf..ea3ababf 100644
--- a/wqflask/utility/corr_result_helpers.py
+++ b/gn2/utility/corr_result_helpers.py
diff --git a/wqflask/utility/db_tools.py b/gn2/utility/db_tools.py
index 98da33f2..07a6d9ec 100644
--- a/wqflask/utility/db_tools.py
+++ b/gn2/utility/db_tools.py
@@ -1,5 +1,5 @@
-from utility.tools import get_setting
-from wqflask.database import database_connection
+from gn2.utility.tools import get_setting
+from gn2.wqflask.database import database_connection
def escape_(string):
diff --git a/wqflask/utility/external.py b/gn2/utility/external.py
index 805d2ffe..805d2ffe 100644
--- a/wqflask/utility/external.py
+++ b/gn2/utility/external.py
diff --git a/wqflask/utility/formatting.py b/gn2/utility/formatting.py
index 1da3e9b7..1da3e9b7 100644
--- a/wqflask/utility/formatting.py
+++ b/gn2/utility/formatting.py
diff --git a/wqflask/utility/gen_geno_ob.py b/gn2/utility/gen_geno_ob.py
index c7a1ea59..c7a1ea59 100644
--- a/wqflask/utility/gen_geno_ob.py
+++ b/gn2/utility/gen_geno_ob.py
diff --git a/wqflask/utility/genofile_parser.py b/gn2/utility/genofile_parser.py
index 86d9823e..86d9823e 100644
--- a/wqflask/utility/genofile_parser.py
+++ b/gn2/utility/genofile_parser.py
diff --git a/wqflask/utility/helper_functions.py b/gn2/utility/helper_functions.py
index 8b20bd74..fc101959 100644
--- a/wqflask/utility/helper_functions.py
+++ b/gn2/utility/helper_functions.py
@@ -1,11 +1,11 @@
-from base import data_set
-from base.trait import create_trait
-from base.species import TheSpecies
+from gn2.base import data_set
+from gn2.base.trait import create_trait
+from gn2.base.species import TheSpecies
-from utility import hmac
-from utility.tools import get_setting
+from gn2.utility import hmac
+from gn2.utility.tools import get_setting
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
def get_species_dataset_trait(self, start_vars):
diff --git a/wqflask/utility/hmac.py b/gn2/utility/hmac.py
index 29891677..d7c43f73 100644
--- a/wqflask/utility/hmac.py
+++ b/gn2/utility/hmac.py
@@ -3,7 +3,7 @@ import hashlib
from flask import url_for
-from wqflask import app
+from gn2.wqflask import app
def hmac_creation(stringy):
diff --git a/wqflask/utility/json/__init__.py b/gn2/utility/json/__init__.py
index b1141a34..b1141a34 100644
--- a/wqflask/utility/json/__init__.py
+++ b/gn2/utility/json/__init__.py
diff --git a/wqflask/utility/json/encoders.py b/gn2/utility/json/encoders.py
index 7c5839ac..7c5839ac 100644
--- a/wqflask/utility/json/encoders.py
+++ b/gn2/utility/json/encoders.py
diff --git a/wqflask/utility/monads.py b/gn2/utility/monads.py
index 2d708261..2d708261 100644
--- a/wqflask/utility/monads.py
+++ b/gn2/utility/monads.py
diff --git a/wqflask/utility/pillow_utils.py b/gn2/utility/pillow_utils.py
index e302df18..6e7b976d 100644
--- a/wqflask/utility/pillow_utils.py
+++ b/gn2/utility/pillow_utils.py
@@ -1,6 +1,6 @@
from PIL import Image, ImageColor, ImageDraw, ImageFont
-from utility.tools import TEMPDIR
+from gn2.utility.tools import TEMPDIR
BLACK = ImageColor.getrgb("black")
WHITE = ImageColor.getrgb("white")
diff --git a/wqflask/utility/redis_tools.py b/gn2/utility/redis_tools.py
index 945efbbd..b3d197a9 100644
--- a/wqflask/utility/redis_tools.py
+++ b/gn2/utility/redis_tools.py
@@ -4,7 +4,7 @@ import datetime
import redis # used for collections
-from utility.hmac import hmac_creation
+from gn2.utility.hmac import hmac_creation
def get_redis_conn():
diff --git a/wqflask/utility/startup_config.py b/gn2/utility/startup_config.py
index 69cac124..4f9c392a 100644
--- a/wqflask/utility/startup_config.py
+++ b/gn2/utility/startup_config.py
@@ -1,11 +1,11 @@
-from wqflask import app
+from gn2.wqflask import app
-from utility.tools import WEBSERVER_MODE
-from utility.tools import show_settings
-from utility.tools import get_setting_int
-from utility.tools import get_setting
-from utility.tools import get_setting_bool
+from gn2.utility.tools import WEBSERVER_MODE
+from gn2.utility.tools import show_settings
+from gn2.utility.tools import get_setting_int
+from gn2.utility.tools import get_setting
+from gn2.utility.tools import get_setting_bool
BLUE = '\033[94m'
diff --git a/wqflask/utility/svg.py b/gn2/utility/svg.py
index 912cd04c..912cd04c 100644
--- a/wqflask/utility/svg.py
+++ b/gn2/utility/svg.py
diff --git a/wqflask/utility/temp_data.py b/gn2/utility/temp_data.py
index 07c5a318..07c5a318 100644
--- a/wqflask/utility/temp_data.py
+++ b/gn2/utility/temp_data.py
diff --git a/wqflask/utility/tools.py b/gn2/utility/tools.py
index 283b0408..7adf8e8f 100644
--- a/wqflask/utility/tools.py
+++ b/gn2/utility/tools.py
@@ -7,7 +7,7 @@ import json
import socket
from pathlib import Path
-from wqflask import app
+from gn2.wqflask import app
# Use the standard logger here to avoid a circular dependency
import logging
@@ -235,7 +235,7 @@ ENDC = '\033[0m'
def show_settings():
- from utility.tools import LOG_LEVEL
+ from gn2.utility.tools import LOG_LEVEL
print(("Set global log level to " + BLUE + LOG_LEVEL + ENDC),
file=sys.stderr)
diff --git a/wqflask/utility/type_checking.py b/gn2/utility/type_checking.py
index 5e98f4ae..5e98f4ae 100644
--- a/wqflask/utility/type_checking.py
+++ b/gn2/utility/type_checking.py
diff --git a/wqflask/utility/webqtlUtil.py b/gn2/utility/webqtlUtil.py
index 0cb71567..74a6ce4b 100644
--- a/wqflask/utility/webqtlUtil.py
+++ b/gn2/utility/webqtlUtil.py
@@ -30,7 +30,7 @@ import re
import math
from math import *
-from base import webqtlConfig
+from gn2.base import webqtlConfig
# NL, 07/27/2010. moved from webqtlForm.py
# Dict of Parents and F1 information, In the order of [F1, Mat, Pat]
diff --git a/wqflask/wqflask/.DS_Store b/gn2/wqflask/.DS_Store
index a119e235..a119e235 100644
--- a/wqflask/wqflask/.DS_Store
+++ b/gn2/wqflask/.DS_Store
Binary files differ
diff --git a/wqflask/wqflask/__init__.py b/gn2/wqflask/__init__.py
index 6de02bfc..9b714868 100644
--- a/wqflask/wqflask/__init__.py
+++ b/gn2/wqflask/__init__.py
@@ -14,31 +14,31 @@ from authlib.integrations.requests_client import OAuth2Session
from flask import g, Flask, flash, session, url_for, redirect, current_app
-from utility import formatting
+from gn2.utility import formatting
from gn3.authentication import DataRole, AdminRole
-from wqflask.group_manager import group_management
-from wqflask.resource_manager import resource_management
-from wqflask.metadata_edits import metadata_edit
-
-from wqflask.api.markdown import glossary_blueprint
-from wqflask.api.markdown import references_blueprint
-from wqflask.api.markdown import links_blueprint
-from wqflask.api.markdown import policies_blueprint
-from wqflask.api.markdown import environments_blueprint
-from wqflask.api.markdown import facilities_blueprint
-from wqflask.api.markdown import blogs_blueprint
-from wqflask.api.markdown import news_blueprint
-from wqflask.api.jobs import jobs as jobs_bp
-from wqflask.oauth2.routes import oauth2
-from wqflask.oauth2.checks import user_logged_in
-from wqflask.oauth2.collections import num_collections
-from wqflask.oauth2.request_utils import user_details, authserver_authorise_uri
-
-from wqflask.jupyter_notebooks import jupyter_notebooks
-
-from wqflask.startup import (
+from gn2.wqflask.group_manager import group_management
+from gn2.wqflask.resource_manager import resource_management
+from gn2.wqflask.metadata_edits import metadata_edit
+
+from gn2.wqflask.api.markdown import glossary_blueprint
+from gn2.wqflask.api.markdown import references_blueprint
+from gn2.wqflask.api.markdown import links_blueprint
+from gn2.wqflask.api.markdown import policies_blueprint
+from gn2.wqflask.api.markdown import environments_blueprint
+from gn2.wqflask.api.markdown import facilities_blueprint
+from gn2.wqflask.api.markdown import blogs_blueprint
+from gn2.wqflask.api.markdown import news_blueprint
+from gn2.wqflask.api.jobs import jobs as jobs_bp
+from gn2.wqflask.oauth2.routes import oauth2
+from gn2.wqflask.oauth2.checks import user_logged_in
+from gn2.wqflask.oauth2.collections import num_collections
+from gn2.wqflask.oauth2.request_utils import user_details, authserver_authorise_uri
+
+from gn2.wqflask.jupyter_notebooks import jupyter_notebooks
+
+from gn2.wqflask.startup import (
StartupError,
startup_errors,
check_mandatory_configs)
@@ -88,7 +88,7 @@ app.register_blueprint(group_management, url_prefix="/group-management")
app.register_blueprint(jobs_bp, url_prefix="/jobs")
app.register_blueprint(oauth2, url_prefix="/oauth2")
-from wqflask.app_errors import register_error_handlers
+from gn2.wqflask.app_errors import register_error_handlers
register_error_handlers(app)
try:
diff --git a/wqflask/wqflask/api/__init__.py b/gn2/wqflask/api/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/api/__init__.py
+++ b/gn2/wqflask/api/__init__.py
diff --git a/wqflask/wqflask/api/correlation.py b/gn2/wqflask/api/correlation.py
index f3910340..090d13ac 100644
--- a/wqflask/wqflask/api/correlation.py
+++ b/gn2/wqflask/api/correlation.py
@@ -2,12 +2,12 @@ import collections
import scipy
import numpy
-from base import data_set
-from base.trait import create_trait, retrieve_sample_data
-from utility import corr_result_helpers
-from utility.tools import get_setting
-from wqflask.correlation import correlation_functions
-from wqflask.database import database_connection
+from gn2.base import data_set
+from gn2.base.trait import create_trait, retrieve_sample_data
+from gn2.utility import corr_result_helpers
+from gn2.utility.tools import get_setting
+from gn2.wqflask.correlation import correlation_functions
+from gn2.wqflask.database import database_connection
def do_correlation(start_vars):
if 'db' not in start_vars:
diff --git a/wqflask/wqflask/api/gen_menu.py b/gn2/wqflask/api/gen_menu.py
index 45d5739e..45d5739e 100644
--- a/wqflask/wqflask/api/gen_menu.py
+++ b/gn2/wqflask/api/gen_menu.py
diff --git a/wqflask/wqflask/api/jobs.py b/gn2/wqflask/api/jobs.py
index 3f18de77..7a948e1a 100644
--- a/wqflask/wqflask/api/jobs.py
+++ b/gn2/wqflask/api/jobs.py
@@ -5,14 +5,14 @@ from redis import Redis
from pymonad.io import IO
from flask import Blueprint, render_template
-from jobs.jobs import job
+from gn2.jobs.jobs import job
jobs = Blueprint("jobs", __name__)
@jobs.route("/debug/<uuid:job_id>")
def debug_job(job_id: uuid.UUID):
"""Display job data to assist in debugging."""
- from utility.tools import REDIS_URL # Avoids circular import error
+ from gn2.utility.tools import REDIS_URL # Avoids circular import error
def __stream_to_lines__(stream):
removables = (
diff --git a/wqflask/wqflask/api/mapping.py b/gn2/wqflask/api/mapping.py
index 5eacc83a..1e330963 100644
--- a/wqflask/wqflask/api/mapping.py
+++ b/gn2/wqflask/api/mapping.py
@@ -1,8 +1,8 @@
-from base import data_set
-from base.trait import create_trait, retrieve_sample_data
+from gn2.base import data_set
+from gn2.base.trait import create_trait, retrieve_sample_data
-from wqflask.marker_regression import gemma_mapping, rqtl_mapping
-from wqflask.show_trait.show_trait import normf
+from gn2.wqflask.marker_regression import gemma_mapping, rqtl_mapping
+from gn2.wqflask.show_trait.show_trait import normf
def do_mapping_for_api(start_vars):
if ('db' not in start_vars) or ("trait_id" not in start_vars):
diff --git a/wqflask/wqflask/api/markdown.py b/gn2/wqflask/api/markdown.py
index 580b9ac0..580b9ac0 100644
--- a/wqflask/wqflask/api/markdown.py
+++ b/gn2/wqflask/api/markdown.py
diff --git a/wqflask/wqflask/api/router.py b/gn2/wqflask/api/router.py
index a90277c5..bcd08e8d 100644
--- a/wqflask/wqflask/api/router.py
+++ b/gn2/wqflask/api/router.py
@@ -12,18 +12,18 @@ from zipfile import ZipFile, ZIP_DEFLATED
import flask
from flask import current_app
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
from flask import request
from flask import make_response
from flask import send_file
-from wqflask import app
+from gn2.wqflask import app
-from wqflask.api import correlation, mapping, gen_menu
+from gn2.wqflask.api import correlation, mapping, gen_menu
-from utility.tools import flat_files, get_setting
+from gn2.utility.tools import flat_files, get_setting
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
version = "pre1"
diff --git a/wqflask/wqflask/app_errors.py b/gn2/wqflask/app_errors.py
index 8847ad2e..c6081e08 100644
--- a/wqflask/wqflask/app_errors.py
+++ b/gn2/wqflask/app_errors.py
@@ -2,8 +2,8 @@
from flask import flash, redirect, current_app, render_template
from authlib.integrations.base_client.errors import InvalidTokenError
-from wqflask.oauth2 import session
-from wqflask.decorators import AuthorisationError
+from gn2.wqflask.oauth2 import session
+from gn2.wqflask.decorators import AuthorisationError
def handle_authorisation_error(exc: AuthorisationError):
"""Handle AuthorisationError if not handled anywhere else."""
diff --git a/wqflask/wqflask/collect.py b/gn2/wqflask/collect.py
index f7b33a59..21168908 100644
--- a/wqflask/wqflask/collect.py
+++ b/gn2/wqflask/collect.py
@@ -13,24 +13,24 @@ from flask import redirect
from flask import flash
from flask import current_app
-from wqflask import app
-from utility import hmac
-from utility.formatting import numify
-from utility.tools import GN_SERVER_URL, TEMPDIR
-from utility.redis_tools import get_redis_conn
-
-from base.trait import create_trait
-from base.trait import retrieve_trait_info
-from base.trait import jsonable
-from base.data_set import create_dataset
-
-from wqflask.oauth2 import client
-from wqflask.oauth2 import session
-from wqflask.oauth2.session import session_info
-from wqflask.oauth2.checks import user_logged_in
-from wqflask.oauth2.request_utils import (
+from gn2.wqflask import app
+from gn2.utility import hmac
+from gn2.utility.formatting import numify
+from gn2.utility.tools import GN_SERVER_URL, TEMPDIR
+from gn2.utility.redis_tools import get_redis_conn
+
+from gn2.base.trait import create_trait
+from gn2.base.trait import retrieve_trait_info
+from gn2.base.trait import jsonable
+from gn2.base.data_set import create_dataset
+
+from gn2.wqflask.oauth2 import client
+from gn2.wqflask.oauth2 import session
+from gn2.wqflask.oauth2.session import session_info
+from gn2.wqflask.oauth2.checks import user_logged_in
+from gn2.wqflask.oauth2.request_utils import (
process_error, with_flash_error, with_flash_success)
-from wqflask.oauth2.client import (
+from gn2.wqflask.oauth2.client import (
oauth2_get, oauth2_post, no_token_get, no_token_post)
diff --git a/wqflask/wqflask/comparison_bar_chart/__init__.py b/gn2/wqflask/comparison_bar_chart/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/comparison_bar_chart/__init__.py
+++ b/gn2/wqflask/comparison_bar_chart/__init__.py
diff --git a/wqflask/wqflask/comparison_bar_chart/comparison_bar_chart.py b/gn2/wqflask/comparison_bar_chart/comparison_bar_chart.py
index 438d2276..3fb3cb40 100644
--- a/wqflask/wqflask/comparison_bar_chart/comparison_bar_chart.py
+++ b/gn2/wqflask/comparison_bar_chart/comparison_bar_chart.py
@@ -20,11 +20,11 @@
from pprint import pformat as pf
-from base.trait import create_trait
-from base import data_set
-from utility import webqtlUtil, helper_functions, corr_result_helpers
-import utility.webqtlUtil # this is for parallel computing only.
-from wqflask.correlation import correlation_functions
+from gn2.base.trait import create_trait
+from gn2.base import data_set
+from gn2.utility import webqtlUtil, helper_functions, corr_result_helpers
+import gn2.utility.webqtlUtil # this is for parallel computing only.
+from gn2.wqflask.correlation import correlation_functions
from flask import Flask, g
diff --git a/wqflask/wqflask/correlation/__init__.py b/gn2/wqflask/correlation/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/correlation/__init__.py
+++ b/gn2/wqflask/correlation/__init__.py
diff --git a/wqflask/wqflask/correlation/corr_scatter_plot.py b/gn2/wqflask/correlation/corr_scatter_plot.py
index 16e36f9d..59e9ac4a 100644
--- a/wqflask/wqflask/correlation/corr_scatter_plot.py
+++ b/gn2/wqflask/correlation/corr_scatter_plot.py
@@ -4,10 +4,10 @@ import math
from redis import Redis
Redis = Redis()
-from base.trait import create_trait, retrieve_sample_data
-from base import data_set, webqtlCaseData
-from utility import corr_result_helpers
-from wqflask.oauth2.collections import num_collections
+from gn2.base.trait import create_trait, retrieve_sample_data
+from gn2.base import data_set, webqtlCaseData
+from gn2.utility import corr_result_helpers
+from gn2.wqflask.oauth2.collections import num_collections
from scipy import stats
import numpy as np
diff --git a/wqflask/wqflask/correlation/correlation_functions.py b/gn2/wqflask/correlation/correlation_functions.py
index 75399256..911f6dc8 100644
--- a/wqflask/wqflask/correlation/correlation_functions.py
+++ b/gn2/wqflask/correlation/correlation_functions.py
@@ -23,10 +23,10 @@
# Created by GeneNetwork Core Team 2010/08/10
-from base.mrna_assay_tissue_data import MrnaAssayTissueData
+from gn2.base.mrna_assay_tissue_data import MrnaAssayTissueData
from gn3.computations.correlations import compute_corr_coeff_p_value
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
#####################################################################################
# Input: primaryValue(list): one list of expression values of one probeSet,
diff --git a/wqflask/wqflask/correlation/correlation_gn3_api.py b/gn2/wqflask/correlation/correlation_gn3_api.py
index 64a17548..76c75ec3 100644
--- a/wqflask/wqflask/correlation/correlation_gn3_api.py
+++ b/gn2/wqflask/correlation/correlation_gn3_api.py
@@ -3,13 +3,13 @@ import json
import time
from functools import wraps
-from utility.tools import SQL_URI
+from gn2.utility.tools import SQL_URI
-from wqflask.correlation import correlation_functions
-from base import data_set
+from gn2.wqflask.correlation import correlation_functions
+from gn2.base import data_set
-from base.trait import create_trait
-from base.trait import retrieve_sample_data
+from gn2.base.trait import create_trait
+from gn2.base.trait import retrieve_sample_data
from gn3.db_utils import database_connection
from gn3.commands import run_sample_corr_cmd
@@ -189,7 +189,7 @@ def compute_correlation(start_vars, method="pearson", compute_all=False):
method -- Correlation method to be used (pearson, spearman, or bicor)
compute_all -- Include sample, tissue, and literature correlations (when applicable)
"""
- from wqflask.correlation.rust_correlation import compute_correlation_rust
+ from gn2.wqflask.correlation.rust_correlation import compute_correlation_rust
corr_type = start_vars['corr_type']
method = start_vars['corr_sample_method']
diff --git a/wqflask/wqflask/correlation/exceptions.py b/gn2/wqflask/correlation/exceptions.py
index f4e2b72b..f4e2b72b 100644
--- a/wqflask/wqflask/correlation/exceptions.py
+++ b/gn2/wqflask/correlation/exceptions.py
diff --git a/wqflask/wqflask/correlation/pre_computes.py b/gn2/wqflask/correlation/pre_computes.py
index 2831bd39..4bd888ad 100644
--- a/wqflask/wqflask/correlation/pre_computes.py
+++ b/gn2/wqflask/correlation/pre_computes.py
@@ -8,9 +8,9 @@ import lmdb
import pickle
from pathlib import Path
-from base.data_set import query_table_timestamp
-from base.webqtlConfig import TEXTDIR
-from base.webqtlConfig import TMPDIR
+from gn2.base.data_set import query_table_timestamp
+from gn2.base.webqtlConfig import TEXTDIR
+from gn2.base.webqtlConfig import TMPDIR
from json.decoder import JSONDecodeError
diff --git a/wqflask/wqflask/correlation/rust_correlation.py b/gn2/wqflask/correlation/rust_correlation.py
index 41dd77a1..a0dcbcb4 100644
--- a/wqflask/wqflask/correlation/rust_correlation.py
+++ b/gn2/wqflask/correlation/rust_correlation.py
@@ -2,26 +2,26 @@
import json
from functools import reduce
-from utility.tools import SQL_URI
-from utility.db_tools import mescape
-from utility.db_tools import create_in_clause
-from wqflask.correlation.correlation_functions\
+from gn2.utility.tools import SQL_URI
+from gn2.utility.db_tools import mescape
+from gn2.utility.db_tools import create_in_clause
+from gn2.wqflask.correlation.correlation_functions\
import get_trait_symbol_and_tissue_values
-from wqflask.correlation.correlation_gn3_api import create_target_this_trait
-from wqflask.correlation.correlation_gn3_api import lit_for_trait_list
-from wqflask.correlation.correlation_gn3_api import do_lit_correlation
-from wqflask.correlation.pre_computes import fetch_text_file
-from wqflask.correlation.pre_computes import read_text_file
-from wqflask.correlation.pre_computes import write_db_to_textfile
-from wqflask.correlation.pre_computes import read_trait_metadata
-from wqflask.correlation.pre_computes import cache_trait_metadata
+from gn2.wqflask.correlation.correlation_gn3_api import create_target_this_trait
+from gn2.wqflask.correlation.correlation_gn3_api import lit_for_trait_list
+from gn2.wqflask.correlation.correlation_gn3_api import do_lit_correlation
+from gn2.wqflask.correlation.pre_computes import fetch_text_file
+from gn2.wqflask.correlation.pre_computes import read_text_file
+from gn2.wqflask.correlation.pre_computes import write_db_to_textfile
+from gn2.wqflask.correlation.pre_computes import read_trait_metadata
+from gn2.wqflask.correlation.pre_computes import cache_trait_metadata
from gn3.computations.correlations import compute_all_lit_correlation
from gn3.computations.rust_correlation import run_correlation
from gn3.computations.rust_correlation import get_sample_corr_data
from gn3.computations.rust_correlation import parse_tissue_corr_data
from gn3.db_utils import database_connection
-from wqflask.correlation.exceptions import WrongCorrelationType
+from gn2.wqflask.correlation.exceptions import WrongCorrelationType
def query_probes_metadata(dataset, trait_list):
diff --git a/wqflask/wqflask/correlation/show_corr_results.py b/gn2/wqflask/correlation/show_corr_results.py
index 35cb50b8..c8625222 100644
--- a/wqflask/wqflask/correlation/show_corr_results.py
+++ b/gn2/wqflask/correlation/show_corr_results.py
@@ -22,12 +22,12 @@ import hashlib
import html
import json
-from base.trait import create_trait, jsonable
-from base.data_set import create_dataset
+from gn2.base.trait import create_trait, jsonable
+from gn2.base.data_set import create_dataset
-from utility import hmac
-from utility.type_checking import get_float, get_int, get_string
-from utility.redis_tools import get_redis_conn
+from gn2.utility import hmac
+from gn2.utility.type_checking import get_float, get_int, get_string
+from gn2.utility.redis_tools import get_redis_conn
Redis = get_redis_conn()
def set_template_vars(start_vars, correlation_data):
diff --git a/wqflask/wqflask/correlation_matrix/__init__.py b/gn2/wqflask/correlation_matrix/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/correlation_matrix/__init__.py
+++ b/gn2/wqflask/correlation_matrix/__init__.py
diff --git a/wqflask/wqflask/correlation_matrix/show_corr_matrix.py b/gn2/wqflask/correlation_matrix/show_corr_matrix.py
index 617f5c2e..f7eb0b4c 100644
--- a/wqflask/wqflask/correlation_matrix/show_corr_matrix.py
+++ b/gn2/wqflask/correlation_matrix/show_corr_matrix.py
@@ -24,13 +24,13 @@ import string
import numpy as np
import scipy
-from base.data_set import create_dataset
-from base.webqtlConfig import GENERATED_TEXT_DIR
+from gn2.base.data_set import create_dataset
+from gn2.base.webqtlConfig import GENERATED_TEXT_DIR
-from utility.helper_functions import get_trait_db_obs
-from utility.corr_result_helpers import normalize_values
-from utility.redis_tools import get_redis_conn
+from gn2.utility.helper_functions import get_trait_db_obs
+from gn2.utility.corr_result_helpers import normalize_values
+from gn2.utility.redis_tools import get_redis_conn
from gn3.computations.pca import compute_pca
diff --git a/wqflask/wqflask/ctl/__init__.py b/gn2/wqflask/ctl/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/ctl/__init__.py
+++ b/gn2/wqflask/ctl/__init__.py
diff --git a/wqflask/wqflask/ctl/ctl_analysis.py b/gn2/wqflask/ctl/ctl_analysis.py
index 96a47eb8..513c1b1c 100644
--- a/wqflask/wqflask/ctl/ctl_analysis.py
+++ b/gn2/wqflask/ctl/ctl_analysis.py
@@ -7,20 +7,20 @@ import rpy2.rinterface as ri
import simplejson as json
-from base.webqtlConfig import GENERATED_IMAGE_DIR
-from utility import webqtlUtil # Random number for the image
-from utility import genofile_parser # genofile_parser
+from gn2.base.webqtlConfig import GENERATED_IMAGE_DIR
+from gn2.utility import webqtlUtil # Random number for the image
+from gn2.utility import genofile_parser # genofile_parser
import base64
import array
import csv
import itertools
-from base import data_set
-from base.trait import create_trait, retrieve_sample_data
+from gn2.base import data_set
+from gn2.base.trait import create_trait, retrieve_sample_data
-from utility import helper_functions
-from utility.tools import locate, GN2_BRANCH_URL
+from gn2.utility import helper_functions
+from gn2.utility.tools import locate, GN2_BRANCH_URL
from rpy2.robjects.packages import importr
diff --git a/wqflask/wqflask/ctl/gn3_ctl_analysis.py b/gn2/wqflask/ctl/gn3_ctl_analysis.py
index 8f790597..64c2ff0d 100644
--- a/wqflask/wqflask/ctl/gn3_ctl_analysis.py
+++ b/gn2/wqflask/ctl/gn3_ctl_analysis.py
@@ -1,13 +1,13 @@
import requests
import itertools
-from utility import genofile_parser
-from utility.tools import GN3_LOCAL_URL
-from utility.tools import locate
+from gn2.utility import genofile_parser
+from gn2.utility.tools import GN3_LOCAL_URL
+from gn2.utility.tools import locate
-from base.trait import create_trait
-from base.trait import retrieve_sample_data
-from base import data_set
+from gn2.base.trait import create_trait
+from gn2.base.trait import retrieve_sample_data
+from gn2.base import data_set
def process_significance_data(dataset):
diff --git a/wqflask/wqflask/database.py b/gn2/wqflask/database.py
index 331ad380..331ad380 100644
--- a/wqflask/wqflask/database.py
+++ b/gn2/wqflask/database.py
diff --git a/wqflask/wqflask/db_info.py b/gn2/wqflask/db_info.py
index 7eae86e7..f6b94dde 100644
--- a/wqflask/wqflask/db_info.py
+++ b/gn2/wqflask/db_info.py
@@ -4,8 +4,8 @@ import urllib.parse
import re
from MySQLdb.cursors import DictCursor
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
class InfoPage:
diff --git a/wqflask/wqflask/decorators.py b/gn2/wqflask/decorators.py
index 88535187..4fe865c9 100644
--- a/wqflask/wqflask/decorators.py
+++ b/gn2/wqflask/decorators.py
@@ -11,10 +11,10 @@ from flask import g, flash, request, url_for, redirect, current_app
from gn3.authentication import AdminRole
from gn3.authentication import DataRole
-from wqflask.oauth2 import client
-from wqflask.oauth2.session import session_info
-from wqflask.oauth2.checks import user_logged_in
-from wqflask.oauth2.request_utils import process_error
+from gn2.wqflask.oauth2 import client
+from gn2.wqflask.oauth2.session import session_info
+from gn2.wqflask.oauth2.checks import user_logged_in
+from gn2.wqflask.oauth2.request_utils import process_error
def login_required(pagename: str = ""):
diff --git a/wqflask/wqflask/do_search.py b/gn2/wqflask/do_search.py
index b6f540fa..3c81783d 100644
--- a/wqflask/wqflask/do_search.py
+++ b/gn2/wqflask/do_search.py
@@ -3,12 +3,12 @@ import re
import requests
import string
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
import sys
-from db import webqtlDatabaseFunction
-from utility.tools import get_setting, GN2_BASE_URL
+from gn2.db import webqtlDatabaseFunction
+from gn2.utility.tools import get_setting, GN2_BASE_URL
class DoSearch:
@@ -47,14 +47,14 @@ class DoSearch:
def sescape(self, item):
"""Single escape"""
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
with database_connection(get_setting("SQL_URI")) as conn:
escaped = conn.escape_string(str(item)).decode()
return escaped
def mescape(self, *items):
"""Multiple escape"""
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
escaped = []
with database_connection(get_setting("SQL_URI")) as conn:
escaped = [conn.escape_string(str(item)).decode() for item in items]
@@ -950,12 +950,12 @@ if __name__ == "__main__":
# And it runs the code below
import sys
- from base import webqtlConfig
- from base.data_set import create_dataset
- from utility import webqtlUtil
- from db import webqtlDatabaseFunction
+ from gn2.base import webqtlConfig
+ from gn2.base.data_set import create_dataset
+ from gn2.utility import webqtlUtil
+ from gn2.db import webqtlDatabaseFunction
- from wqflask.database import database_connection
+ from gn2.wqflask.database import database_connection
with database_connection(get_setting("SQL_URI")) as db_conn:
with db_conn.cursor() as cursor:
diff --git a/wqflask/wqflask/docs.py b/gn2/wqflask/docs.py
index 5d20ce4d..3453a3c1 100644
--- a/wqflask/wqflask/docs.py
+++ b/gn2/wqflask/docs.py
@@ -1,8 +1,8 @@
import codecs
from flask import g
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
class Docs:
diff --git a/wqflask/wqflask/export_traits.py b/gn2/wqflask/export_traits.py
index 534822e9..2d2a40cc 100644
--- a/wqflask/wqflask/export_traits.py
+++ b/gn2/wqflask/export_traits.py
@@ -12,7 +12,7 @@ import simplejson as json
from gn3.computations.gemma import generate_hash_of_string
-from base.trait import create_trait, retrieve_trait_info
+from gn2.base.trait import create_trait, retrieve_trait_info
def export_traits(targs, export_type):
diff --git a/wqflask/wqflask/external_tools/__init__.py b/gn2/wqflask/external_tools/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/external_tools/__init__.py
+++ b/gn2/wqflask/external_tools/__init__.py
diff --git a/wqflask/wqflask/external_tools/send_to_bnw.py b/gn2/wqflask/external_tools/send_to_bnw.py
index dfb59c63..fdbc0d93 100644
--- a/wqflask/wqflask/external_tools/send_to_bnw.py
+++ b/gn2/wqflask/external_tools/send_to_bnw.py
@@ -18,8 +18,8 @@
#
# This module is used by GeneNetwork project (www.genenetwork.org)
-from base.trait import GeneralTrait
-from utility import helper_functions, corr_result_helpers
+from gn2.base.trait import GeneralTrait
+from gn2.utility import helper_functions, corr_result_helpers
class SendToBNW:
diff --git a/wqflask/wqflask/external_tools/send_to_geneweaver.py b/gn2/wqflask/external_tools/send_to_geneweaver.py
index 94407ae8..76ff7302 100644
--- a/wqflask/wqflask/external_tools/send_to_geneweaver.py
+++ b/gn2/wqflask/external_tools/send_to_geneweaver.py
@@ -17,9 +17,9 @@
#
#
# This module is used by GeneNetwork project (www.genenetwork.org)
-from wqflask.database import database_connection
-from utility import helper_functions
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility import helper_functions
+from gn2.utility.tools import get_setting
class SendToGeneWeaver:
diff --git a/wqflask/wqflask/external_tools/send_to_webgestalt.py b/gn2/wqflask/external_tools/send_to_webgestalt.py
index 4b972642..9633e560 100644
--- a/wqflask/wqflask/external_tools/send_to_webgestalt.py
+++ b/gn2/wqflask/external_tools/send_to_webgestalt.py
@@ -18,11 +18,11 @@
#
# This module is used by GeneNetwork project (www.genenetwork.org)
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
-from base.trait import retrieve_trait_info
-from utility import helper_functions
-from utility.tools import get_setting
+from gn2.base.trait import retrieve_trait_info
+from gn2.utility import helper_functions
+from gn2.utility.tools import get_setting
class SendToWebGestalt:
diff --git a/wqflask/wqflask/group_manager.py b/gn2/wqflask/group_manager.py
index 71ced4dd..b589acb6 100644
--- a/wqflask/wqflask/group_manager.py
+++ b/gn2/wqflask/group_manager.py
@@ -12,7 +12,7 @@ from flask import url_for
from gn3.authentication import get_groups_by_user_uid
from gn3.authentication import get_user_info_by_key
from gn3.authentication import create_group
-from wqflask.decorators import login_required
+from gn2.wqflask.decorators import login_required
group_management = Blueprint("group_management", __name__)
diff --git a/wqflask/wqflask/gsearch.py b/gn2/wqflask/gsearch.py
index 72c55153..cad6db94 100644
--- a/wqflask/wqflask/gsearch.py
+++ b/gn2/wqflask/gsearch.py
@@ -5,9 +5,9 @@ from pymonad.tools import curry
import requests
from gn3.monads import MonadicDict
-from utility.hmac import hmac_creation
-from utility.tools import GN3_LOCAL_URL
-from base import webqtlConfig
+from gn2.utility.hmac import hmac_creation
+from gn2.utility.tools import GN3_LOCAL_URL
+from gn2.base import webqtlConfig
# KLUDGE: Due to the lack of pagination, we hard-limit the maximum
# number of search results.
diff --git a/wqflask/wqflask/heatmap/__init__.py b/gn2/wqflask/heatmap/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/heatmap/__init__.py
+++ b/gn2/wqflask/heatmap/__init__.py
diff --git a/wqflask/wqflask/heatmap/heatmap.py b/gn2/wqflask/heatmap/heatmap.py
index 43ea4a4d..c2dd55bd 100644
--- a/wqflask/wqflask/heatmap/heatmap.py
+++ b/gn2/wqflask/heatmap/heatmap.py
@@ -1,16 +1,16 @@
import string
import os
import random
-from base import species
-from base import webqtlConfig
-from utility import helper_functions
+from gn2.base import species
+from gn2.base import webqtlConfig
+from gn2.utility import helper_functions
-from utility.tools import flat_files, REAPER_COMMAND, TEMPDIR
+from gn2.utility.tools import flat_files, REAPER_COMMAND, TEMPDIR
from redis import Redis
from flask import Flask, g
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
Redis = Redis()
diff --git a/wqflask/wqflask/interval_analyst/GeneUtil.py b/gn2/wqflask/interval_analyst/GeneUtil.py
index 72bd8bae..d3b00e31 100644
--- a/wqflask/wqflask/interval_analyst/GeneUtil.py
+++ b/gn2/wqflask/interval_analyst/GeneUtil.py
@@ -1,8 +1,8 @@
import string
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
-from utility.tools import flat_files, get_setting
+from gn2.utility.tools import flat_files, get_setting
def load_homology(chr_name, start_mb, end_mb, source_file):
homology_list = []
diff --git a/wqflask/wqflask/interval_analyst/__init__.py b/gn2/wqflask/interval_analyst/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/interval_analyst/__init__.py
+++ b/gn2/wqflask/interval_analyst/__init__.py
diff --git a/wqflask/wqflask/jupyter_notebooks.py b/gn2/wqflask/jupyter_notebooks.py
index a6d06af0..a6d06af0 100644
--- a/wqflask/wqflask/jupyter_notebooks.py
+++ b/gn2/wqflask/jupyter_notebooks.py
diff --git a/wqflask/wqflask/marker_regression/__init__.py b/gn2/wqflask/marker_regression/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/marker_regression/__init__.py
+++ b/gn2/wqflask/marker_regression/__init__.py
diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/gn2/wqflask/marker_regression/display_mapping_results.py
index 7d6d3ad4..b3bf3bc3 100644
--- a/wqflask/wqflask/marker_regression/display_mapping_results.py
+++ b/gn2/wqflask/marker_regression/display_mapping_results.py
@@ -36,15 +36,15 @@ import json
import htmlgen as HT
-from base import webqtlConfig
-from base.GeneralObject import GeneralObject
-from utility import webqtlUtil
-from utility import Plot
-from utility.tools import get_setting
-from wqflask.interval_analyst import GeneUtil
-from base.webqtlConfig import GENERATED_IMAGE_DIR
-from utility.pillow_utils import draw_rotated_text, draw_open_polygon
-from wqflask.database import database_connection
+from gn2.base import webqtlConfig
+from gn2.base.GeneralObject import GeneralObject
+from gn2.utility import webqtlUtil
+from gn2.utility import Plot
+from gn2.utility.tools import get_setting
+from gn2.wqflask.interval_analyst import GeneUtil
+from gn2.base.webqtlConfig import GENERATED_IMAGE_DIR
+from gn2.utility.pillow_utils import draw_rotated_text, draw_open_polygon
+from gn2.wqflask.database import database_connection
try: # Only import this for Python3
from functools import reduce
@@ -81,11 +81,11 @@ COLOR_CODES = ["#FF0000", "#00FF00", "#0000FF", "#FFFF00", "#FF00FF", "#00FFFF",
DISTINCT_COLOR_LIST = [ImageColor.getrgb(color) for color in COLOR_CODES]
# ---- FONT FILES ---- #
-VERDANA_FILE = "./wqflask/static/fonts/verdana.ttf"
-VERDANA_BOLD_FILE = "./wqflask/static/fonts/verdanab.ttf"
-TREBUC_FILE = "./wqflask/static/fonts/trebucbd.ttf"
-FNT_BS_FILE = "./wqflask/static/fonts/fnt_bs.ttf"
-ARIAL_FILE = "./wqflask/static/fonts/arial.ttf"
+VERDANA_FILE = "./gn2/wqflask/static/fonts/verdana.ttf"
+VERDANA_BOLD_FILE = "./gn2/wqflask/static/fonts/verdanab.ttf"
+TREBUC_FILE = "./gn2/wqflask/static/fonts/trebucbd.ttf"
+FNT_BS_FILE = "./gn2/wqflask/static/fonts/fnt_bs.ttf"
+ARIAL_FILE = "./gn2/wqflask/static/fonts/arial.ttf"
assert(os.path.isfile(VERDANA_FILE))
diff --git a/wqflask/wqflask/marker_regression/exceptions.py b/gn2/wqflask/marker_regression/exceptions.py
index 8c7e822b..8c7e822b 100644
--- a/wqflask/wqflask/marker_regression/exceptions.py
+++ b/gn2/wqflask/marker_regression/exceptions.py
diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/gn2/wqflask/marker_regression/gemma_mapping.py
index 47ad5638..d8851486 100644
--- a/wqflask/wqflask/marker_regression/gemma_mapping.py
+++ b/gn2/wqflask/marker_regression/gemma_mapping.py
@@ -4,16 +4,16 @@ import string
import random
import json
-from base import webqtlConfig
-from base.trait import create_trait
-from base.data_set import create_dataset
-from utility.redis_tools import get_redis_conn
-from utility.tools import flat_files, assert_file
-from utility.tools import GEMMA_WRAPPER_COMMAND
-from utility.tools import TEMPDIR
-from utility.tools import WEBSERVER_MODE
-from utility.tools import get_setting
-from wqflask.database import database_connection
+from gn2.base import webqtlConfig
+from gn2.base.trait import create_trait
+from gn2.base.data_set import create_dataset
+from gn2.utility.redis_tools import get_redis_conn
+from gn2.utility.tools import flat_files, assert_file
+from gn2.utility.tools import GEMMA_WRAPPER_COMMAND
+from gn2.utility.tools import TEMPDIR
+from gn2.utility.tools import WEBSERVER_MODE
+from gn2.utility.tools import get_setting
+from gn2.wqflask.database import database_connection
from gn3.computations.gemma import generate_hash_of_string
diff --git a/wqflask/wqflask/marker_regression/plink_mapping.py b/gn2/wqflask/marker_regression/plink_mapping.py
index 75ee189e..7427717a 100644
--- a/wqflask/wqflask/marker_regression/plink_mapping.py
+++ b/gn2/wqflask/marker_regression/plink_mapping.py
@@ -1,9 +1,9 @@
import string
import os
-from base.webqtlConfig import TMPDIR
-from utility import webqtlUtil
-from utility.tools import flat_files, PLINK_COMMAND
+from gn2.base.webqtlConfig import TMPDIR
+from gn2.utility import webqtlUtil
+from gn2.utility.tools import flat_files, PLINK_COMMAND
def run_plink(this_trait, dataset, species, vals, maf):
diff --git a/wqflask/wqflask/marker_regression/qtlreaper_mapping.py b/gn2/wqflask/marker_regression/qtlreaper_mapping.py
index 4d5db2ee..2c9ca1b2 100644
--- a/wqflask/wqflask/marker_regression/qtlreaper_mapping.py
+++ b/gn2/wqflask/marker_regression/qtlreaper_mapping.py
@@ -5,10 +5,10 @@ import random
import json
import re
-from base import webqtlConfig
-from base.trait import GeneralTrait
-from base.data_set import create_dataset
-from utility.tools import flat_files, REAPER_COMMAND, TEMPDIR
+from gn2.base import webqtlConfig
+from gn2.base.trait import GeneralTrait
+from gn2.base.data_set import create_dataset
+from gn2.utility.tools import flat_files, REAPER_COMMAND, TEMPDIR
def run_reaper(this_trait, this_dataset, samples, vals, json_data, num_perm, boot_check, num_bootstrap, do_control, control_marker, manhattan_plot, first_run=True, output_files=None):
diff --git a/wqflask/wqflask/marker_regression/rqtl_mapping.py b/gn2/wqflask/marker_regression/rqtl_mapping.py
index f6ef2e9a..b7739228 100644
--- a/wqflask/wqflask/marker_regression/rqtl_mapping.py
+++ b/gn2/wqflask/marker_regression/rqtl_mapping.py
@@ -11,11 +11,11 @@ from typing import TextIO
import numpy as np
-from base.webqtlConfig import TMPDIR
-from base.trait import create_trait
-from utility.redis_tools import get_redis_conn
-from utility.tools import locate, get_setting, GN3_LOCAL_URL
-from wqflask.database import database_connection
+from gn2.base.webqtlConfig import TMPDIR
+from gn2.base.trait import create_trait
+from gn2.utility.redis_tools import get_redis_conn
+from gn2.utility.tools import locate, get_setting, GN3_LOCAL_URL
+from gn2.wqflask.database import database_connection
def run_rqtl(trait_name, vals, samples, dataset, pair_scan, mapping_scale, model, method, num_perm, perm_strata_list, do_control, control_marker, manhattan_plot, cofactors):
diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/gn2/wqflask/marker_regression/run_mapping.py
index 98a97d8d..7d2d40f7 100644
--- a/wqflask/wqflask/marker_regression/run_mapping.py
+++ b/gn2/wqflask/marker_regression/run_mapping.py
@@ -1,5 +1,5 @@
-from base.trait import GeneralTrait
-from base import data_set # import create_dataset
+from gn2.base.trait import GeneralTrait
+from gn2.base import data_set # import create_dataset
from pprint import pformat as pf
@@ -25,19 +25,19 @@ Redis = Redis()
from flask import Flask, g
-from base.trait import GeneralTrait
-from base import data_set
-from base import species
-from base import webqtlConfig
-from utility import webqtlUtil, helper_functions, hmac, Plot, Bunch, temp_data
-from utility.redis_tools import get_redis_conn
-from wqflask.database import database_connection
-from wqflask.marker_regression import gemma_mapping, rqtl_mapping, qtlreaper_mapping, plink_mapping
-from wqflask.show_trait.SampleList import SampleList
-
-from utility.tools import locate, get_setting, locate_ignore_error, GEMMA_COMMAND, PLINK_COMMAND, TEMPDIR
-from utility.external import shell
-from base.webqtlConfig import TMPDIR, GENERATED_TEXT_DIR
+from gn2.base.trait import GeneralTrait
+from gn2.base import data_set
+from gn2.base import species
+from gn2.base import webqtlConfig
+from gn2.utility import webqtlUtil, helper_functions, hmac, Plot, Bunch, temp_data
+from gn2.utility.redis_tools import get_redis_conn
+from gn2.wqflask.database import database_connection
+from gn2.wqflask.marker_regression import gemma_mapping, rqtl_mapping, qtlreaper_mapping, plink_mapping
+from gn2.wqflask.show_trait.SampleList import SampleList
+
+from gn2.utility.tools import locate, get_setting, locate_ignore_error, GEMMA_COMMAND, PLINK_COMMAND, TEMPDIR
+from gn2.utility.external import shell
+from gn2.base.webqtlConfig import TMPDIR, GENERATED_TEXT_DIR
Redis = get_redis_conn()
diff --git a/wqflask/wqflask/metadata_edits.py b/gn2/wqflask/metadata_edits.py
index 2798e4b4..b9514b35 100644
--- a/wqflask/wqflask/metadata_edits.py
+++ b/gn2/wqflask/metadata_edits.py
@@ -22,16 +22,16 @@ from flask import render_template
from flask import request
from flask import url_for
-from utility.json import CustomJSONEncoder
+from gn2.utility.json import CustomJSONEncoder
-from wqflask.database import database_connection
-from wqflask.decorators import login_required
-from wqflask.decorators import required_access
-from wqflask.decorators import edit_admins_access_required
+from gn2.wqflask.database import database_connection
+from gn2.wqflask.decorators import login_required
+from gn2.wqflask.decorators import required_access
+from gn2.wqflask.decorators import edit_admins_access_required
-from wqflask.oauth2 import client
-from wqflask.oauth2 import session
-from wqflask.oauth2.request_utils import flash_error, process_error
+from gn2.wqflask.oauth2 import client
+from gn2.wqflask.oauth2 import session
+from gn2.wqflask.oauth2.request_utils import flash_error, process_error
from gn3.authentication import AdminRole
from gn3.authentication import get_highest_user_access_role
@@ -114,7 +114,7 @@ def edit_phenotype(conn, name, dataset_id):
@required_access(
("group:resource:view-resource", "group:resource:edit-resource"))
def display_phenotype_metadata(dataset_id: str, name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
with database_connection(get_setting("SQL_URI")) as conn:
_d = edit_phenotype(conn=conn, name=name, dataset_id=dataset_id)
@@ -142,7 +142,7 @@ def display_phenotype_metadata(dataset_id: str, name: str):
@required_access(
("group:resource:view-resource", "group:resource:edit-resource"))
def display_probeset_metadata(name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
with database_connection(get_setting("SQL_URI")) as conn:
_d = {"probeset": fetch_probeset_metadata_by_name(conn, name)}
@@ -170,7 +170,7 @@ def display_probeset_metadata(name: str):
@required_access(
("group:resource:view-resource", "group:resource:edit-resource"))
def update_phenotype(dataset_id: str, name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
data_ = request.form.to_dict()
TMPDIR = current_app.config.get("TMPDIR")
author = session.session_info()["user"]["user_id"]
@@ -389,7 +389,7 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
("group:resource:view-resource", "group:resource:edit-resource"),
dataset_key="dataset_id", trait_key="name")
def update_probeset(name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
data_ = request.form.to_dict()
TMPDIR = current_app.config.get("TMPDIR")
author = session.session_info()["user"]["user_id"]
@@ -584,7 +584,7 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
@metadata_edit.route("/pheno/<name>/group/<group_id>/csv")
@login_required()
def get_pheno_sample_data_as_csv(name: int, group_id: int):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
with database_connection(get_setting("SQL_URI")) as conn:
group_name = retrieve_phenotype_group_name(conn, group_id)
return Response(
@@ -604,7 +604,7 @@ filename=sample-data-{group_name}-{name}.csv"
@metadata_edit.route("/mrna/<probeset_id>/dataset/<dataset_name>/csv")
@login_required()
def get_mrna_sample_data_as_csv(probeset_id: int, dataset_name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
with database_connection(get_setting("SQL_URI")) as conn:
csv_data = get_mrna_csv_sample_data(
@@ -716,7 +716,7 @@ def show_diff(name):
@metadata_edit.route("/<dataset_id>/traits/<name>/history")
@metadata_edit.route("/probeset/<name>")
def show_history(dataset_id: str = "", name: str = ""):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
diff_data_ = None
with database_connection(get_setting("SQL_URI")) as conn:
json_data = None
@@ -819,7 +819,7 @@ def reject_data(resource_id: str, file_name: str):
("group:resource:view-resource", "group:resource:edit-resource"),
trait_key="trait_name")
def approve_data(resource_id: str, file_name: str):
- from utility.tools import get_setting
+ from gn2.utility.tools import get_setting
sample_data = {file_name: str}
TMPDIR = current_app.config.get("TMPDIR")
diffpath = Path(TMPDIR, "sample-data/diffs", file_name)
diff --git a/wqflask/wqflask/network_graph/__init__.py b/gn2/wqflask/network_graph/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/network_graph/__init__.py
+++ b/gn2/wqflask/network_graph/__init__.py
diff --git a/wqflask/wqflask/network_graph/network_graph.py b/gn2/wqflask/network_graph/network_graph.py
index 9b70f03d..d60d50ff 100644
--- a/wqflask/wqflask/network_graph/network_graph.py
+++ b/gn2/wqflask/network_graph/network_graph.py
@@ -21,11 +21,11 @@
import scipy
import simplejson as json
-from base.trait import create_trait
-from base import data_set
-from utility import helper_functions
-from utility import corr_result_helpers
-from utility.tools import GN2_BRANCH_URL
+from gn2.base.trait import create_trait
+from gn2.base import data_set
+from gn2.utility import helper_functions
+from gn2.utility import corr_result_helpers
+from gn2.utility.tools import GN2_BRANCH_URL
class NetworkGraph:
diff --git a/wqflask/wqflask/oauth2/__init__.py b/gn2/wqflask/oauth2/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/oauth2/__init__.py
+++ b/gn2/wqflask/oauth2/__init__.py
diff --git a/wqflask/wqflask/oauth2/checks.py b/gn2/wqflask/oauth2/checks.py
index 4ef1ab3e..5d90f986 100644
--- a/wqflask/wqflask/oauth2/checks.py
+++ b/gn2/wqflask/oauth2/checks.py
@@ -32,7 +32,7 @@ def require_oauth2(func):
return redirect("/")
def __with_token__(token):
- from utility.tools import (
+ from gn2.utility.tools import (
AUTH_SERVER_URL, OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET)
client = OAuth2Session(
OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET, token=token)
diff --git a/wqflask/wqflask/oauth2/client.py b/gn2/wqflask/oauth2/client.py
index af6a1876..c6a3110b 100644
--- a/wqflask/wqflask/oauth2/client.py
+++ b/gn2/wqflask/oauth2/client.py
@@ -9,15 +9,15 @@ from pymonad.maybe import Just, Maybe, Nothing
from pymonad.either import Left, Right, Either
from authlib.integrations.requests_client import OAuth2Session
-from wqflask.oauth2 import session
-from wqflask.oauth2.checks import user_logged_in
+from gn2.wqflask.oauth2 import session
+from gn2.wqflask.oauth2.checks import user_logged_in
SCOPE = ("profile group role resource register-client user masquerade "
"introspect migrate-data")
def oauth2_client():
def __client__(token) -> OAuth2Session:
- from utility.tools import (
+ from gn2.utility.tools import (
AUTH_SERVER_URL, OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET)
return OAuth2Session(
OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET,
@@ -39,7 +39,7 @@ def __no_token__(_err) -> Left:
def oauth2_get(uri_path: str, data: dict = {}, **kwargs) -> Either:
def __get__(token) -> Either:
- from utility.tools import (
+ from gn2.utility.tools import (
AUTH_SERVER_URL, OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET)
client = OAuth2Session(
OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET,
@@ -59,7 +59,7 @@ def oauth2_post(
uri_path: str, data: Optional[dict] = None, json: Optional[dict] = None,
**kwargs) -> Either:
def __post__(token) -> Either:
- from utility.tools import (
+ from gn2.utility.tools import (
AUTH_SERVER_URL, OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET)
client = OAuth2Session(
OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET,
@@ -75,14 +75,14 @@ def oauth2_post(
return session.user_token().either(__no_token__, __post__)
def no_token_get(uri_path: str, **kwargs) -> Either:
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
resp = requests.get(urljoin(AUTH_SERVER_URL, uri_path), **kwargs)
if resp.status_code == 200:
return Right(resp.json())
return Left(resp)
def no_token_post(uri_path: str, **kwargs) -> Either:
- from utility.tools import (
+ from gn2.utility.tools import (
AUTH_SERVER_URL, OAUTH2_CLIENT_ID, OAUTH2_CLIENT_SECRET)
data = kwargs.get("data", {})
the_json = kwargs.get("json", {})
diff --git a/wqflask/wqflask/oauth2/collections.py b/gn2/wqflask/oauth2/collections.py
index 63bf206e..63bf206e 100644
--- a/wqflask/wqflask/oauth2/collections.py
+++ b/gn2/wqflask/oauth2/collections.py
diff --git a/wqflask/wqflask/oauth2/data.py b/gn2/wqflask/oauth2/data.py
index 2e05bcd5..a1dfdf95 100644
--- a/wqflask/wqflask/oauth2/data.py
+++ b/gn2/wqflask/oauth2/data.py
@@ -10,9 +10,9 @@ from flask import (
flash, request, jsonify, url_for, redirect, Response, Blueprint,
current_app as app)
-from wqflask.oauth2.request_utils import with_flash_error
+from gn2.wqflask.oauth2.request_utils import with_flash_error
-from jobs import jobs
+from gn2.jobs import jobs
from .ui import render_ui
from .request_utils import process_error
from .client import oauth2_get, oauth2_post
@@ -20,7 +20,7 @@ from .client import oauth2_get, oauth2_post
data = Blueprint("data", __name__)
def __search_mrna__(query, template, **kwargs):
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
species_name = kwargs["species_name"]
search_uri = urljoin(AUTH_SERVER_URL, "auth/data/search")
datasets = oauth2_get(
@@ -45,7 +45,7 @@ def __selected_datasets__():
request.form.get("selected", []))
def __search_genotypes__(query, template, **kwargs):
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
species_name = kwargs["species_name"]
search_uri = urljoin(AUTH_SERVER_URL, "auth/data/search")
datasets = oauth2_get(
@@ -61,7 +61,7 @@ def __search_genotypes__(query, template, **kwargs):
return render_ui(template, search_uri=search_uri, **datasets, **kwargs)
def __search_phenotypes__(query, template, **kwargs):
- from utility.tools import GN_SERVER_URL, AUTH_SERVER_URL
+ from gn2.utility.tools import GN_SERVER_URL, AUTH_SERVER_URL
page = int(request.args.get("page", 1))
per_page = int(request.args.get("per_page", 50))
selected_traits = request.form.getlist("selected_traits")
@@ -124,7 +124,7 @@ def json_search_mrna() -> Response:
@data.route("/phenotype/search", methods=["POST"])
def json_search_phenotypes() -> Response:
"""Search for phenotypes."""
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
form = request.json
def __handle_error__(err):
error = process_error(err)
diff --git a/wqflask/wqflask/oauth2/groups.py b/gn2/wqflask/oauth2/groups.py
index fd5ab7eb..fd5ab7eb 100644
--- a/wqflask/wqflask/oauth2/groups.py
+++ b/gn2/wqflask/oauth2/groups.py
diff --git a/wqflask/wqflask/oauth2/request_utils.py b/gn2/wqflask/oauth2/request_utils.py
index 4c5b970a..ade0923b 100644
--- a/wqflask/wqflask/oauth2/request_utils.py
+++ b/gn2/wqflask/oauth2/request_utils.py
@@ -10,7 +10,7 @@ from flask import (
from .client import SCOPE, oauth2_get
def authserver_authorise_uri():
- from utility.tools import AUTH_SERVER_URL, OAUTH2_CLIENT_ID
+ from gn2.utility.tools import AUTH_SERVER_URL, OAUTH2_CLIENT_ID
req_baseurl = urlparse(request.base_url, scheme=request.scheme)
host_uri = f"{req_baseurl.scheme}://{req_baseurl.netloc}/"
return urljoin(
diff --git a/wqflask/wqflask/oauth2/resources.py b/gn2/wqflask/oauth2/resources.py
index 7d20b859..7d20b859 100644
--- a/wqflask/wqflask/oauth2/resources.py
+++ b/gn2/wqflask/oauth2/resources.py
diff --git a/wqflask/wqflask/oauth2/roles.py b/gn2/wqflask/oauth2/roles.py
index 2fe35f9b..2fe35f9b 100644
--- a/wqflask/wqflask/oauth2/roles.py
+++ b/gn2/wqflask/oauth2/roles.py
diff --git a/wqflask/wqflask/oauth2/routes.py b/gn2/wqflask/oauth2/routes.py
index 4c4b877b..4c4b877b 100644
--- a/wqflask/wqflask/oauth2/routes.py
+++ b/gn2/wqflask/oauth2/routes.py
diff --git a/wqflask/wqflask/oauth2/session.py b/gn2/wqflask/oauth2/session.py
index 2ef534e2..2ef534e2 100644
--- a/wqflask/wqflask/oauth2/session.py
+++ b/gn2/wqflask/oauth2/session.py
diff --git a/wqflask/wqflask/oauth2/toplevel.py b/gn2/wqflask/oauth2/toplevel.py
index 65f60067..65f60067 100644
--- a/wqflask/wqflask/oauth2/toplevel.py
+++ b/gn2/wqflask/oauth2/toplevel.py
diff --git a/wqflask/wqflask/oauth2/ui.py b/gn2/wqflask/oauth2/ui.py
index b706cdd9..b706cdd9 100644
--- a/wqflask/wqflask/oauth2/ui.py
+++ b/gn2/wqflask/oauth2/ui.py
diff --git a/wqflask/wqflask/oauth2/users.py b/gn2/wqflask/oauth2/users.py
index 76ae56cb..12d07d0c 100644
--- a/wqflask/wqflask/oauth2/users.py
+++ b/gn2/wqflask/oauth2/users.py
@@ -65,7 +65,7 @@ def request_add_to_group() -> Response:
@users.route("/login", methods=["GET", "POST"])
def login():
"""Route to allow users to sign up."""
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
next_endpoint=request.args.get("next", False)
if request.method == "POST":
@@ -101,7 +101,7 @@ def login():
@users.route("/logout", methods=["GET", "POST"])
def logout():
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
if user_logged_in():
resp = oauth2_client().revoke_token(
urljoin(AUTH_SERVER_URL, "auth/revoke"))
@@ -124,7 +124,7 @@ def logout():
@users.route("/register", methods=["GET", "POST"])
def register_user():
- from utility.tools import AUTH_SERVER_URL
+ from gn2.utility.tools import AUTH_SERVER_URL
if user_logged_in():
next_endpoint=request.args.get("next", "/")
flash(("You cannot register a new user while logged in. "
diff --git a/wqflask/wqflask/parser.py b/gn2/wqflask/parser.py
index ddf48d90..ddf48d90 100644
--- a/wqflask/wqflask/parser.py
+++ b/gn2/wqflask/parser.py
diff --git a/wqflask/wqflask/partial_correlations_views.py b/gn2/wqflask/partial_correlations_views.py
index c680d913..44b0fba1 100644
--- a/wqflask/wqflask/partial_correlations_views.py
+++ b/gn2/wqflask/partial_correlations_views.py
@@ -13,9 +13,9 @@ from flask import (
current_app,
render_template)
-from wqflask import app
-from utility.tools import get_setting, GN_SERVER_URL
-from wqflask.database import database_connection
+from gn2.wqflask import app
+from gn2.utility.tools import get_setting, GN_SERVER_URL
+from gn2.wqflask.database import database_connection
from gn3.db.partial_correlations import traits_info
def publish_target_databases(conn, groups, threshold):
diff --git a/wqflask/wqflask/pbkdf2.py b/gn2/wqflask/pbkdf2.py
index 1a965fc5..1a965fc5 100644
--- a/wqflask/wqflask/pbkdf2.py
+++ b/gn2/wqflask/pbkdf2.py
diff --git a/wqflask/wqflask/requests.py b/gn2/wqflask/requests.py
index 43c8001f..43c8001f 100644
--- a/wqflask/wqflask/requests.py
+++ b/gn2/wqflask/requests.py
diff --git a/wqflask/wqflask/resource_manager.py b/gn2/wqflask/resource_manager.py
index 375e3d64..b0da6d6f 100644
--- a/wqflask/wqflask/resource_manager.py
+++ b/gn2/wqflask/resource_manager.py
@@ -20,9 +20,9 @@ from typing import Dict, Tuple
from urllib.parse import urljoin
-from wqflask.decorators import edit_access_required
-from wqflask.decorators import edit_admins_access_required
-from wqflask.decorators import login_required
+from gn2.wqflask.decorators import edit_access_required
+from gn2.wqflask.decorators import edit_admins_access_required
+from gn2.wqflask.decorators import login_required
resource_management = Blueprint('resource_management', __name__)
diff --git a/wqflask/wqflask/search_results.py b/gn2/wqflask/search_results.py
index f661aba7..b0f08463 100644
--- a/wqflask/wqflask/search_results.py
+++ b/gn2/wqflask/search_results.py
@@ -8,17 +8,17 @@ import json
from flask import g
-from base.data_set import create_dataset
-from base.webqtlConfig import PUBMEDLINK_URL
-from wqflask import parser
-from wqflask import do_search
+from gn2.base.data_set import create_dataset
+from gn2.base.webqtlConfig import PUBMEDLINK_URL
+from gn2.wqflask import parser
+from gn2.wqflask import do_search
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
-from utility import hmac
-from utility.authentication_tools import check_resource_availability
-from utility.tools import get_setting, GN2_BASE_URL
-from utility.type_checking import is_str
+from gn2.utility import hmac
+from gn2.utility.authentication_tools import check_resource_availability
+from gn2.utility.tools import get_setting, GN2_BASE_URL
+from gn2.utility.type_checking import is_str
class SearchResultPage:
diff --git a/wqflask/wqflask/send_mail.py b/gn2/wqflask/send_mail.py
index 299c866a..299c866a 100644
--- a/wqflask/wqflask/send_mail.py
+++ b/gn2/wqflask/send_mail.py
diff --git a/wqflask/wqflask/server_side.py b/gn2/wqflask/server_side.py
index e661c407..e661c407 100644
--- a/wqflask/wqflask/server_side.py
+++ b/gn2/wqflask/server_side.py
diff --git a/wqflask/wqflask/show_trait/SampleList.py b/gn2/wqflask/show_trait/SampleList.py
index b5110dcd..64fc8fe6 100644
--- a/wqflask/wqflask/show_trait/SampleList.py
+++ b/gn2/wqflask/show_trait/SampleList.py
@@ -1,13 +1,13 @@
import re
import itertools
-from wqflask.database import database_connection
-from base import webqtlCaseData, webqtlConfig
+from gn2.wqflask.database import database_connection
+from gn2.base import webqtlCaseData, webqtlConfig
from pprint import pformat as pf
-from utility import Plot
-from utility import Bunch
-from utility.tools import get_setting
+from gn2.utility import Plot
+from gn2.utility import Bunch
+from gn2.utility.tools import get_setting
class SampleList:
def __init__(self,
diff --git a/wqflask/wqflask/show_trait/__init__.py b/gn2/wqflask/show_trait/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/show_trait/__init__.py
+++ b/gn2/wqflask/show_trait/__init__.py
diff --git a/wqflask/wqflask/show_trait/export_trait_data.py b/gn2/wqflask/show_trait/export_trait_data.py
index e8e34a26..06c1c502 100644
--- a/wqflask/wqflask/show_trait/export_trait_data.py
+++ b/gn2/wqflask/show_trait/export_trait_data.py
@@ -3,8 +3,8 @@ import simplejson as json
from pprint import pformat as pf
from functools import cmp_to_key
-from base.trait import create_trait
-from base import data_set
+from gn2.base.trait import create_trait
+from gn2.base import data_set
def export_sample_table(targs):
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/gn2/wqflask/show_trait/show_trait.py
index fc4df4b7..64d9be3b 100644
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/gn2/wqflask/show_trait/show_trait.py
@@ -11,16 +11,16 @@ from collections import OrderedDict
import numpy as np
import scipy.stats as ss
-from wqflask.database import database_connection
-
-from base import webqtlConfig
-from wqflask.show_trait.SampleList import SampleList
-from base.trait import create_trait
-from base import data_set
-from utility import helper_functions
-from utility.tools import get_setting, locate_ignore_error
-from utility.tools import GN_PROXY_URL
-from utility.redis_tools import get_redis_conn, get_resource_id
+from gn2.wqflask.database import database_connection
+
+from gn2.base import webqtlConfig
+from gn2.wqflask.show_trait.SampleList import SampleList
+from gn2.base.trait import create_trait
+from gn2.base import data_set
+from gn2.utility import helper_functions
+from gn2.utility.tools import get_setting, locate_ignore_error
+from gn2.utility.tools import GN_PROXY_URL
+from gn2.utility.redis_tools import get_redis_conn, get_resource_id
from gn3.authentication import get_highest_user_access_role
diff --git a/wqflask/wqflask/snp_browser/__init__.py b/gn2/wqflask/snp_browser/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/snp_browser/__init__.py
+++ b/gn2/wqflask/snp_browser/__init__.py
diff --git a/wqflask/wqflask/snp_browser/snp_browser.py b/gn2/wqflask/snp_browser/snp_browser.py
index 59a4dccf..2d17f82b 100644
--- a/wqflask/wqflask/snp_browser/snp_browser.py
+++ b/gn2/wqflask/snp_browser/snp_browser.py
@@ -1,12 +1,12 @@
import string
from PIL import (Image)
-from base import species
-from base import webqtlConfig
+from gn2.base import species
+from gn2.base import webqtlConfig
-from wqflask.database import database_connection
+from gn2.wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.utility.tools import get_setting
class SnpBrowser:
diff --git a/wqflask/wqflask/startup.py b/gn2/wqflask/startup.py
index 069755fe..069755fe 100644
--- a/wqflask/wqflask/startup.py
+++ b/gn2/wqflask/startup.py
diff --git a/wqflask/wqflask/static/Congenic.png b/gn2/wqflask/static/Congenic.png
index 8cd489a4..8cd489a4 100644
--- a/wqflask/wqflask/static/Congenic.png
+++ b/gn2/wqflask/static/Congenic.png
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/README b/gn2/wqflask/static/fonts/README
index 75a3e444..75a3e444 100644
--- a/wqflask/wqflask/static/fonts/README
+++ b/gn2/wqflask/static/fonts/README
diff --git a/wqflask/wqflask/static/fonts/arial.ttf b/gn2/wqflask/static/fonts/arial.ttf
index bf0d4a95..bf0d4a95 100644
--- a/wqflask/wqflask/static/fonts/arial.ttf
+++ b/gn2/wqflask/static/fonts/arial.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/courbd.ttf b/gn2/wqflask/static/fonts/courbd.ttf
index c8081467..c8081467 100644
--- a/wqflask/wqflask/static/fonts/courbd.ttf
+++ b/gn2/wqflask/static/fonts/courbd.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/fnt_bs.ttf b/gn2/wqflask/static/fonts/fnt_bs.ttf
index 712c38cf..712c38cf 100644
--- a/wqflask/wqflask/static/fonts/fnt_bs.ttf
+++ b/gn2/wqflask/static/fonts/fnt_bs.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/tahoma.ttf b/gn2/wqflask/static/fonts/tahoma.ttf
index bb314be3..bb314be3 100644
--- a/wqflask/wqflask/static/fonts/tahoma.ttf
+++ b/gn2/wqflask/static/fonts/tahoma.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/trebucbd.ttf b/gn2/wqflask/static/fonts/trebucbd.ttf
index 1ab1ae0a..1ab1ae0a 100644
--- a/wqflask/wqflask/static/fonts/trebucbd.ttf
+++ b/gn2/wqflask/static/fonts/trebucbd.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/verdana.ttf b/gn2/wqflask/static/fonts/verdana.ttf
index 754a9b7b..754a9b7b 100644
--- a/wqflask/wqflask/static/fonts/verdana.ttf
+++ b/gn2/wqflask/static/fonts/verdana.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/fonts/verdanab.ttf b/gn2/wqflask/static/fonts/verdanab.ttf
index 1a99258f..1a99258f 100644
--- a/wqflask/wqflask/static/fonts/verdanab.ttf
+++ b/gn2/wqflask/static/fonts/verdanab.ttf
Binary files differ
diff --git a/wqflask/wqflask/static/gif/89.gif b/gn2/wqflask/static/gif/89.gif
index e9b3279d..e9b3279d 100644
--- a/wqflask/wqflask/static/gif/89.gif
+++ b/gn2/wqflask/static/gif/89.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif b/gn2/wqflask/static/gif/error/Wild-Type-Mouse.gif
index 2c68b5ee..2c68b5ee 100644
--- a/wqflask/wqflask/static/gif/error/Wild-Type-Mouse.gif
+++ b/gn2/wqflask/static/gif/error/Wild-Type-Mouse.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif b/gn2/wqflask/static/gif/error/animated-gifs-aliens-29.gif
index e9d38277..e9d38277 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-aliens-29.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-aliens-29.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif b/gn2/wqflask/static/gif/error/animated-gifs-angels-04.gif
index 94e11847..94e11847 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-angels-04.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-angels-04.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif b/gn2/wqflask/static/gif/error/animated-gifs-cats-016.gif
index 7e6ec9a3..7e6ec9a3 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-cats-016.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-cats-016.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif b/gn2/wqflask/static/gif/error/animated-gifs-cats-031.gif
index af7ef655..af7ef655 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-cats-031.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-cats-031.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif b/gn2/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif
index 89c79ddf..89c79ddf 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-cell-phones-03.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif b/gn2/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif
index 7530d180..7530d180 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-cell-phones-16.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-13.gif
index afb05c62..afb05c62 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-13.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-13.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-28.gif
index f5b4a563..f5b4a563 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-28.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-28.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-32.gif
index 7258e594..7258e594 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-32.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-32.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-42.gif
index ed1f8722..ed1f8722 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-42.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-42.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-60.gif
index f58d69f1..f58d69f1 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-60.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-60.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-64.gif
index 5d5b4fdf..5d5b4fdf 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-64.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-64.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-65.gif
index b4b10845..b4b10845 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-65.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-65.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-72.gif
index e60cb4fe..e60cb4fe 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-72.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-72.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-74.gif
index bd7b72f3..bd7b72f3 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-74.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-74.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif b/gn2/wqflask/static/gif/error/animated-gifs-computers-75.gif
index 916d6b33..916d6b33 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-computers-75.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-computers-75.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif b/gn2/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif
index 0ec782c4..0ec782c4 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-construction-sites-038.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif b/gn2/wqflask/static/gif/error/animated-gifs-dogs-04.gif
index 9515c18a..9515c18a 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-04.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-dogs-04.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif b/gn2/wqflask/static/gif/error/animated-gifs-dogs-14.gif
index f1e2e1f5..f1e2e1f5 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-14.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-dogs-14.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif b/gn2/wqflask/static/gif/error/animated-gifs-dogs-18.gif
index 572849d5..572849d5 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-18.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-dogs-18.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif b/gn2/wqflask/static/gif/error/animated-gifs-dogs-47.gif
index d808c9ee..d808c9ee 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-47.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-dogs-47.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif b/gn2/wqflask/static/gif/error/animated-gifs-dogs-50.gif
index 9865ee45..9865ee45 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-dogs-50.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-dogs-50.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif b/gn2/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif
index ee9c113d..ee9c113d 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-lava-lamps-01.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif b/gn2/wqflask/static/gif/error/animated-gifs-mice-02.gif
index 5ca2ee5c..5ca2ee5c 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-mice-02.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-mice-02.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif b/gn2/wqflask/static/gif/error/animated-gifs-mice-09.gif
index 7cb361e4..7cb361e4 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-mice-09.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-mice-09.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif b/gn2/wqflask/static/gif/error/animated-gifs-mice-24.gif
index 96a26450..96a26450 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-mice-24.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-mice-24.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif b/gn2/wqflask/static/gif/error/animated-gifs-smileys-063.gif
index 62de166c..62de166c 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-063.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-smileys-063.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif b/gn2/wqflask/static/gif/error/animated-gifs-smileys-068.gif
index 3550e978..3550e978 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-068.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-smileys-068.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif b/gn2/wqflask/static/gif/error/animated-gifs-smileys-134.gif
index 954ab614..954ab614 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-134.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-smileys-134.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif b/gn2/wqflask/static/gif/error/animated-gifs-smileys-211.gif
index 596174d7..596174d7 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-211.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-smileys-211.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif b/gn2/wqflask/static/gif/error/animated-gifs-smileys-234.gif
index 5aba636b..5aba636b 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-smileys-234.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-smileys-234.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-001.gif
index 7896ff1f..7896ff1f 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-001.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-001.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-002.gif
index 89da6441..89da6441 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-002.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-002.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-005.gif
index b7887630..b7887630 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-005.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-005.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-012.gif
index f6697d02..f6697d02 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-012.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-012.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-056.gif
index 2b2496a4..2b2496a4 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-056.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-056.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-059.gif
index f2188656..f2188656 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-059.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-059.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-060.gif
index aa8f7bd3..aa8f7bd3 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-060.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-060.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-069.gif
index 473212e4..473212e4 100644
--- a/wqflask/wqflask/static/gif/error/animated-gifs-stickmen-069.gif
+++ b/gn2/wqflask/static/gif/error/animated-gifs-stickmen-069.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m001.gif b/gn2/wqflask/static/gif/error/m001.gif
index 81c8ba26..81c8ba26 100644
--- a/wqflask/wqflask/static/gif/error/m001.gif
+++ b/gn2/wqflask/static/gif/error/m001.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m002.gif b/gn2/wqflask/static/gif/error/m002.gif
index 7232c58b..7232c58b 100644
--- a/wqflask/wqflask/static/gif/error/m002.gif
+++ b/gn2/wqflask/static/gif/error/m002.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m003.gif b/gn2/wqflask/static/gif/error/m003.gif
index 2384ceb6..2384ceb6 100644
--- a/wqflask/wqflask/static/gif/error/m003.gif
+++ b/gn2/wqflask/static/gif/error/m003.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m004.gif b/gn2/wqflask/static/gif/error/m004.gif
index d77c708d..d77c708d 100644
--- a/wqflask/wqflask/static/gif/error/m004.gif
+++ b/gn2/wqflask/static/gif/error/m004.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m005.gif b/gn2/wqflask/static/gif/error/m005.gif
index 1b2de7ec..1b2de7ec 100644
--- a/wqflask/wqflask/static/gif/error/m005.gif
+++ b/gn2/wqflask/static/gif/error/m005.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m006.gif b/gn2/wqflask/static/gif/error/m006.gif
index f354a4cc..f354a4cc 100644
--- a/wqflask/wqflask/static/gif/error/m006.gif
+++ b/gn2/wqflask/static/gif/error/m006.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m007.gif b/gn2/wqflask/static/gif/error/m007.gif
index ba2eeb37..ba2eeb37 100644
--- a/wqflask/wqflask/static/gif/error/m007.gif
+++ b/gn2/wqflask/static/gif/error/m007.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/m008.gif b/gn2/wqflask/static/gif/error/m008.gif
index 4cdec5cb..4cdec5cb 100644
--- a/wqflask/wqflask/static/gif/error/m008.gif
+++ b/gn2/wqflask/static/gif/error/m008.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/error/mouse-wheel.gif b/gn2/wqflask/static/gif/error/mouse-wheel.gif
index 164220e7..164220e7 100644
--- a/wqflask/wqflask/static/gif/error/mouse-wheel.gif
+++ b/gn2/wqflask/static/gif/error/mouse-wheel.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/loader.gif b/gn2/wqflask/static/gif/loader.gif
index c2146b77..c2146b77 100644
--- a/wqflask/wqflask/static/gif/loader.gif
+++ b/gn2/wqflask/static/gif/loader.gif
Binary files differ
diff --git a/wqflask/wqflask/static/gif/waitAnima2.gif b/gn2/wqflask/static/gif/waitAnima2.gif
index 50aff7f2..50aff7f2 100644
--- a/wqflask/wqflask/static/gif/waitAnima2.gif
+++ b/gn2/wqflask/static/gif/waitAnima2.gif
Binary files differ
diff --git a/wqflask/wqflask/static/images/Belknap_Fig1_1998.png b/gn2/wqflask/static/images/Belknap_Fig1_1998.png
index 46305fa1..46305fa1 100644
--- a/wqflask/wqflask/static/images/Belknap_Fig1_1998.png
+++ b/gn2/wqflask/static/images/Belknap_Fig1_1998.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/Chrna1vsMyf6.gif b/gn2/wqflask/static/images/Chrna1vsMyf6.gif
index 881a08e8..881a08e8 100644
--- a/wqflask/wqflask/static/images/Chrna1vsMyf6.gif
+++ b/gn2/wqflask/static/images/Chrna1vsMyf6.gif
Binary files differ
diff --git a/wqflask/wqflask/static/images/Congenic.png b/gn2/wqflask/static/images/Congenic.png
index 8cd489a4..8cd489a4 100644
--- a/wqflask/wqflask/static/images/Congenic.png
+++ b/gn2/wqflask/static/images/Congenic.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/Normal_Plot.gif b/gn2/wqflask/static/images/Normal_Plot.gif
index dc239f8e..dc239f8e 100644
--- a/wqflask/wqflask/static/images/Normal_Plot.gif
+++ b/gn2/wqflask/static/images/Normal_Plot.gif
Binary files differ
diff --git a/wqflask/wqflask/static/images/SilverFig3_2.png b/gn2/wqflask/static/images/SilverFig3_2.png
index 5b4b2c70..5b4b2c70 100644
--- a/wqflask/wqflask/static/images/SilverFig3_2.png
+++ b/gn2/wqflask/static/images/SilverFig3_2.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/SilverFig3_6.png b/gn2/wqflask/static/images/SilverFig3_6.png
index 5b91d991..5b91d991 100644
--- a/wqflask/wqflask/static/images/SilverFig3_6.png
+++ b/gn2/wqflask/static/images/SilverFig3_6.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/Winsorize1.png b/gn2/wqflask/static/images/Winsorize1.png
index f3a65f29..f3a65f29 100644
--- a/wqflask/wqflask/static/images/Winsorize1.png
+++ b/gn2/wqflask/static/images/Winsorize1.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/Winsorize3.png b/gn2/wqflask/static/images/Winsorize3.png
index a9ed95d6..a9ed95d6 100644
--- a/wqflask/wqflask/static/images/Winsorize3.png
+++ b/gn2/wqflask/static/images/Winsorize3.png
Binary files differ
diff --git a/wqflask/wqflask/static/images/edit.png b/gn2/wqflask/static/images/edit.png
index 571b08cd..571b08cd 100644
--- a/wqflask/wqflask/static/images/edit.png
+++ b/gn2/wqflask/static/images/edit.png
Binary files differ
diff --git a/wqflask/wqflask/static/new/css/autocomplete.css b/gn2/wqflask/static/new/css/autocomplete.css
index 1501e280..1501e280 100644
--- a/wqflask/wqflask/static/new/css/autocomplete.css
+++ b/gn2/wqflask/static/new/css/autocomplete.css
diff --git a/wqflask/wqflask/static/new/css/bar_chart.css b/gn2/wqflask/static/new/css/bar_chart.css
index 20730c2f..20730c2f 100644
--- a/wqflask/wqflask/static/new/css/bar_chart.css
+++ b/gn2/wqflask/static/new/css/bar_chart.css
diff --git a/wqflask/wqflask/static/new/css/bootstrap-custom.css b/gn2/wqflask/static/new/css/bootstrap-custom.css
index 007dcc44..007dcc44 100644
--- a/wqflask/wqflask/static/new/css/bootstrap-custom.css
+++ b/gn2/wqflask/static/new/css/bootstrap-custom.css
diff --git a/wqflask/wqflask/static/new/css/box_plot.css b/gn2/wqflask/static/new/css/box_plot.css
index 4c743b33..4c743b33 100644
--- a/wqflask/wqflask/static/new/css/box_plot.css
+++ b/gn2/wqflask/static/new/css/box_plot.css
diff --git a/wqflask/wqflask/static/new/css/broken_links.css b/gn2/wqflask/static/new/css/broken_links.css
index 676f32d9..676f32d9 100644
--- a/wqflask/wqflask/static/new/css/broken_links.css
+++ b/gn2/wqflask/static/new/css/broken_links.css
diff --git a/wqflask/wqflask/static/new/css/colorbox.css b/gn2/wqflask/static/new/css/colorbox.css
index 8b9fb388..8b9fb388 100644
--- a/wqflask/wqflask/static/new/css/colorbox.css
+++ b/gn2/wqflask/static/new/css/colorbox.css
diff --git a/wqflask/wqflask/static/new/css/corr_matrix.css b/gn2/wqflask/static/new/css/corr_matrix.css
index cd2b0a80..cd2b0a80 100644
--- a/wqflask/wqflask/static/new/css/corr_matrix.css
+++ b/gn2/wqflask/static/new/css/corr_matrix.css
diff --git a/wqflask/wqflask/static/new/css/corr_scatter_plot.css b/gn2/wqflask/static/new/css/corr_scatter_plot.css
index a2ebb252..a2ebb252 100644
--- a/wqflask/wqflask/static/new/css/corr_scatter_plot.css
+++ b/gn2/wqflask/static/new/css/corr_scatter_plot.css
diff --git a/wqflask/wqflask/static/new/css/corr_scatter_plot2.css b/gn2/wqflask/static/new/css/corr_scatter_plot2.css
index a2ebb252..a2ebb252 100644
--- a/wqflask/wqflask/static/new/css/corr_scatter_plot2.css
+++ b/gn2/wqflask/static/new/css/corr_scatter_plot2.css
diff --git a/wqflask/wqflask/static/new/css/d3-tip.min.css b/gn2/wqflask/static/new/css/d3-tip.min.css
index 3d253caf..3d253caf 100644
--- a/wqflask/wqflask/static/new/css/d3-tip.min.css
+++ b/gn2/wqflask/static/new/css/d3-tip.min.css
diff --git a/wqflask/wqflask/static/new/css/d3panels.min.css b/gn2/wqflask/static/new/css/d3panels.min.css
index 7db7b91f..7db7b91f 100644
--- a/wqflask/wqflask/static/new/css/d3panels.min.css
+++ b/gn2/wqflask/static/new/css/d3panels.min.css
diff --git a/wqflask/wqflask/static/new/css/docs.css b/gn2/wqflask/static/new/css/docs.css
index 665559e6..665559e6 100644
--- a/wqflask/wqflask/static/new/css/docs.css
+++ b/gn2/wqflask/static/new/css/docs.css
diff --git a/wqflask/wqflask/static/new/css/index_page.css b/gn2/wqflask/static/new/css/index_page.css
index 34b3cebf..34b3cebf 100644
--- a/wqflask/wqflask/static/new/css/index_page.css
+++ b/gn2/wqflask/static/new/css/index_page.css
diff --git a/wqflask/wqflask/static/new/css/jupyter_notebooks.css b/gn2/wqflask/static/new/css/jupyter_notebooks.css
index db972a17..db972a17 100644
--- a/wqflask/wqflask/static/new/css/jupyter_notebooks.css
+++ b/gn2/wqflask/static/new/css/jupyter_notebooks.css
diff --git a/wqflask/wqflask/static/new/css/main.css b/gn2/wqflask/static/new/css/main.css
index d5fb8a61..d5fb8a61 100644
--- a/wqflask/wqflask/static/new/css/main.css
+++ b/gn2/wqflask/static/new/css/main.css
diff --git a/wqflask/wqflask/static/new/css/markdown.css b/gn2/wqflask/static/new/css/markdown.css
index 859fe7fc..859fe7fc 100644
--- a/wqflask/wqflask/static/new/css/markdown.css
+++ b/gn2/wqflask/static/new/css/markdown.css
diff --git a/wqflask/wqflask/static/new/css/marker_regression.css b/gn2/wqflask/static/new/css/marker_regression.css
index 9f56b63d..9f56b63d 100644
--- a/wqflask/wqflask/static/new/css/marker_regression.css
+++ b/gn2/wqflask/static/new/css/marker_regression.css
diff --git a/wqflask/wqflask/static/new/css/mytooltip.css b/gn2/wqflask/static/new/css/mytooltip.css
index bc44c488..bc44c488 100644
--- a/wqflask/wqflask/static/new/css/mytooltip.css
+++ b/gn2/wqflask/static/new/css/mytooltip.css
diff --git a/wqflask/wqflask/static/new/css/network_graph.css b/gn2/wqflask/static/new/css/network_graph.css
index 1a0bafeb..1a0bafeb 100644
--- a/wqflask/wqflask/static/new/css/network_graph.css
+++ b/gn2/wqflask/static/new/css/network_graph.css
diff --git a/wqflask/wqflask/static/new/css/non-responsive.css b/gn2/wqflask/static/new/css/non-responsive.css
index a4bcddd2..a4bcddd2 100644
--- a/wqflask/wqflask/static/new/css/non-responsive.css
+++ b/gn2/wqflask/static/new/css/non-responsive.css
diff --git a/wqflask/wqflask/static/new/css/pair_scan.css b/gn2/wqflask/static/new/css/pair_scan.css
index 90cec529..90cec529 100644
--- a/wqflask/wqflask/static/new/css/pair_scan.css
+++ b/gn2/wqflask/static/new/css/pair_scan.css
diff --git a/wqflask/wqflask/static/new/css/panelutil.css b/gn2/wqflask/static/new/css/panelutil.css
index ccd7eb01..ccd7eb01 100644
--- a/wqflask/wqflask/static/new/css/panelutil.css
+++ b/gn2/wqflask/static/new/css/panelutil.css
diff --git a/wqflask/wqflask/static/new/css/parsley.css b/gn2/wqflask/static/new/css/parsley.css
index 7d244579..7d244579 100644
--- a/wqflask/wqflask/static/new/css/parsley.css
+++ b/gn2/wqflask/static/new/css/parsley.css
diff --git a/wqflask/wqflask/static/new/css/partial_correlations.css b/gn2/wqflask/static/new/css/partial_correlations.css
index 84a0877f..84a0877f 100644
--- a/wqflask/wqflask/static/new/css/partial_correlations.css
+++ b/gn2/wqflask/static/new/css/partial_correlations.css
diff --git a/wqflask/wqflask/static/new/css/prob_plot.css b/gn2/wqflask/static/new/css/prob_plot.css
index 2a1f8f53..2a1f8f53 100644
--- a/wqflask/wqflask/static/new/css/prob_plot.css
+++ b/gn2/wqflask/static/new/css/prob_plot.css
diff --git a/wqflask/wqflask/static/new/css/scatter-matrix.css b/gn2/wqflask/static/new/css/scatter-matrix.css
index 58150b26..58150b26 100644
--- a/wqflask/wqflask/static/new/css/scatter-matrix.css
+++ b/gn2/wqflask/static/new/css/scatter-matrix.css
diff --git a/wqflask/wqflask/static/new/css/show_trait.css b/gn2/wqflask/static/new/css/show_trait.css
index 577bb5dd..577bb5dd 100644
--- a/wqflask/wqflask/static/new/css/show_trait.css
+++ b/gn2/wqflask/static/new/css/show_trait.css
diff --git a/wqflask/wqflask/static/new/css/snp_browser.css b/gn2/wqflask/static/new/css/snp_browser.css
index a7942d2a..a7942d2a 100644
--- a/wqflask/wqflask/static/new/css/snp_browser.css
+++ b/gn2/wqflask/static/new/css/snp_browser.css
diff --git a/wqflask/wqflask/static/new/css/trait_list.css b/gn2/wqflask/static/new/css/trait_list.css
index cc5a9eac..cc5a9eac 100644
--- a/wqflask/wqflask/static/new/css/trait_list.css
+++ b/gn2/wqflask/static/new/css/trait_list.css
diff --git a/wqflask/wqflask/static/new/css/typeahead-bootstrap.css b/gn2/wqflask/static/new/css/typeahead-bootstrap.css
index 87dd4b5d..87dd4b5d 100644
--- a/wqflask/wqflask/static/new/css/typeahead-bootstrap.css
+++ b/gn2/wqflask/static/new/css/typeahead-bootstrap.css
diff --git a/wqflask/wqflask/static/new/images/CITGLogo.png b/gn2/wqflask/static/new/images/CITGLogo.png
index ae99fedb..ae99fedb 100644
--- a/wqflask/wqflask/static/new/images/CITGLogo.png
+++ b/gn2/wqflask/static/new/images/CITGLogo.png
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/Nif.png b/gn2/wqflask/static/new/images/Nif.png
index e975a921..e975a921 100644
--- a/wqflask/wqflask/static/new/images/Nif.png
+++ b/gn2/wqflask/static/new/images/Nif.png
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/PythonLogo.png b/gn2/wqflask/static/new/images/PythonLogo.png
index b76dafba..b76dafba 100644
--- a/wqflask/wqflask/static/new/images/PythonLogo.png
+++ b/gn2/wqflask/static/new/images/PythonLogo.png
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/a1.gif b/gn2/wqflask/static/new/images/a1.gif
index 283921a0..283921a0 100644
--- a/wqflask/wqflask/static/new/images/a1.gif
+++ b/gn2/wqflask/static/new/images/a1.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/arrowdown.gif b/gn2/wqflask/static/new/images/arrowdown.gif
index 577e5476..577e5476 100644
--- a/wqflask/wqflask/static/new/images/arrowdown.gif
+++ b/gn2/wqflask/static/new/images/arrowdown.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/edit.gif b/gn2/wqflask/static/new/images/edit.gif
index 45b314ee..45b314ee 100644
--- a/wqflask/wqflask/static/new/images/edit.gif
+++ b/gn2/wqflask/static/new/images/edit.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/ipad_icon3.png b/gn2/wqflask/static/new/images/ipad_icon3.png
index 97060e97..97060e97 100644
--- a/wqflask/wqflask/static/new/images/ipad_icon3.png
+++ b/gn2/wqflask/static/new/images/ipad_icon3.png
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/question_mark.jpg b/gn2/wqflask/static/new/images/question_mark.jpg
index 82df7e81..82df7e81 100644
--- a/wqflask/wqflask/static/new/images/question_mark.jpg
+++ b/gn2/wqflask/static/new/images/question_mark.jpg
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/step1.gif b/gn2/wqflask/static/new/images/step1.gif
index 42d2bc7d..42d2bc7d 100644
--- a/wqflask/wqflask/static/new/images/step1.gif
+++ b/gn2/wqflask/static/new/images/step1.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/step2.gif b/gn2/wqflask/static/new/images/step2.gif
index b3dca656..b3dca656 100644
--- a/wqflask/wqflask/static/new/images/step2.gif
+++ b/gn2/wqflask/static/new/images/step2.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/images/step3.gif b/gn2/wqflask/static/new/images/step3.gif
index 0e0c7ea2..0e0c7ea2 100644
--- a/wqflask/wqflask/static/new/images/step3.gif
+++ b/gn2/wqflask/static/new/images/step3.gif
Binary files differ
diff --git a/wqflask/wqflask/static/new/javascript/auth/search.js b/gn2/wqflask/static/new/javascript/auth/search.js
index d094cebf..d094cebf 100644
--- a/wqflask/wqflask/static/new/javascript/auth/search.js
+++ b/gn2/wqflask/static/new/javascript/auth/search.js
diff --git a/wqflask/wqflask/static/new/javascript/auth/search_genotypes.js b/gn2/wqflask/static/new/javascript/auth/search_genotypes.js
index d1b8ed9e..d1b8ed9e 100644
--- a/wqflask/wqflask/static/new/javascript/auth/search_genotypes.js
+++ b/gn2/wqflask/static/new/javascript/auth/search_genotypes.js
diff --git a/wqflask/wqflask/static/new/javascript/auth/search_mrna.js b/gn2/wqflask/static/new/javascript/auth/search_mrna.js
index 3eca4ed2..3eca4ed2 100644
--- a/wqflask/wqflask/static/new/javascript/auth/search_mrna.js
+++ b/gn2/wqflask/static/new/javascript/auth/search_mrna.js
diff --git a/wqflask/wqflask/static/new/javascript/auth/search_phenotypes.js b/gn2/wqflask/static/new/javascript/auth/search_phenotypes.js
index 99ecb16e..99ecb16e 100644
--- a/wqflask/wqflask/static/new/javascript/auth/search_phenotypes.js
+++ b/gn2/wqflask/static/new/javascript/auth/search_phenotypes.js
diff --git a/wqflask/wqflask/static/new/javascript/auto_hide_column.js b/gn2/wqflask/static/new/javascript/auto_hide_column.js
index 1a4dc039..1a4dc039 100644
--- a/wqflask/wqflask/static/new/javascript/auto_hide_column.js
+++ b/gn2/wqflask/static/new/javascript/auto_hide_column.js
diff --git a/wqflask/wqflask/static/new/javascript/bar_chart.js b/gn2/wqflask/static/new/javascript/bar_chart.js
index d8540580..d8540580 100644
--- a/wqflask/wqflask/static/new/javascript/bar_chart.js
+++ b/gn2/wqflask/static/new/javascript/bar_chart.js
diff --git a/wqflask/wqflask/static/new/javascript/box.js b/gn2/wqflask/static/new/javascript/box.js
index aae80f05..aae80f05 100644
--- a/wqflask/wqflask/static/new/javascript/box.js
+++ b/gn2/wqflask/static/new/javascript/box.js
diff --git a/wqflask/wqflask/static/new/javascript/box_plot.js b/gn2/wqflask/static/new/javascript/box_plot.js
index 566a8eb8..566a8eb8 100644
--- a/wqflask/wqflask/static/new/javascript/box_plot.js
+++ b/gn2/wqflask/static/new/javascript/box_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/chr_lod_chart.js b/gn2/wqflask/static/new/javascript/chr_lod_chart.js
index c6cbd01b..c6cbd01b 100644
--- a/wqflask/wqflask/static/new/javascript/chr_lod_chart.js
+++ b/gn2/wqflask/static/new/javascript/chr_lod_chart.js
diff --git a/wqflask/wqflask/static/new/javascript/chr_manhattan_plot.js b/gn2/wqflask/static/new/javascript/chr_manhattan_plot.js
index c661edc7..c661edc7 100644
--- a/wqflask/wqflask/static/new/javascript/chr_manhattan_plot.js
+++ b/gn2/wqflask/static/new/javascript/chr_manhattan_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/colorbrewer.js b/gn2/wqflask/static/new/javascript/colorbrewer.js
index 2efa9632..2efa9632 100644
--- a/wqflask/wqflask/static/new/javascript/colorbrewer.js
+++ b/gn2/wqflask/static/new/javascript/colorbrewer.js
diff --git a/wqflask/wqflask/static/new/javascript/compare_traits_scatterplot.js b/gn2/wqflask/static/new/javascript/compare_traits_scatterplot.js
index 5c0ef16c..5c0ef16c 100644
--- a/wqflask/wqflask/static/new/javascript/compare_traits_scatterplot.js
+++ b/gn2/wqflask/static/new/javascript/compare_traits_scatterplot.js
diff --git a/wqflask/wqflask/static/new/javascript/comparison_bar_chart.js b/gn2/wqflask/static/new/javascript/comparison_bar_chart.js
index 5e73807c..5e73807c 100644
--- a/wqflask/wqflask/static/new/javascript/comparison_bar_chart.js
+++ b/gn2/wqflask/static/new/javascript/comparison_bar_chart.js
diff --git a/wqflask/wqflask/static/new/javascript/corr_matrix.js b/gn2/wqflask/static/new/javascript/corr_matrix.js
index ad0fc8b8..ad0fc8b8 100644
--- a/wqflask/wqflask/static/new/javascript/corr_matrix.js
+++ b/gn2/wqflask/static/new/javascript/corr_matrix.js
diff --git a/wqflask/wqflask/static/new/javascript/corr_scatter_plot.js b/gn2/wqflask/static/new/javascript/corr_scatter_plot.js
index 553423cf..553423cf 100644
--- a/wqflask/wqflask/static/new/javascript/corr_scatter_plot.js
+++ b/gn2/wqflask/static/new/javascript/corr_scatter_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/create_corr_matrix.js b/gn2/wqflask/static/new/javascript/create_corr_matrix.js
index c0c39fbc..c0c39fbc 100644
--- a/wqflask/wqflask/static/new/javascript/create_corr_matrix.js
+++ b/gn2/wqflask/static/new/javascript/create_corr_matrix.js
diff --git a/wqflask/wqflask/static/new/javascript/create_datatable.js b/gn2/wqflask/static/new/javascript/create_datatable.js
index 541dfdf5..541dfdf5 100644
--- a/wqflask/wqflask/static/new/javascript/create_datatable.js
+++ b/gn2/wqflask/static/new/javascript/create_datatable.js
diff --git a/wqflask/wqflask/static/new/javascript/create_heatmap.js b/gn2/wqflask/static/new/javascript/create_heatmap.js
index f3ae2a46..f3ae2a46 100644
--- a/wqflask/wqflask/static/new/javascript/create_heatmap.js
+++ b/gn2/wqflask/static/new/javascript/create_heatmap.js
diff --git a/wqflask/wqflask/static/new/javascript/create_lodchart.js b/gn2/wqflask/static/new/javascript/create_lodchart.js
index 778eed3a..778eed3a 100644
--- a/wqflask/wqflask/static/new/javascript/create_lodchart.js
+++ b/gn2/wqflask/static/new/javascript/create_lodchart.js
diff --git a/wqflask/wqflask/static/new/javascript/create_manhattan_plot.js b/gn2/wqflask/static/new/javascript/create_manhattan_plot.js
index 30af484d..30af484d 100644
--- a/wqflask/wqflask/static/new/javascript/create_manhattan_plot.js
+++ b/gn2/wqflask/static/new/javascript/create_manhattan_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/ctl_graph.js b/gn2/wqflask/static/new/javascript/ctl_graph.js
index bd950592..bd950592 100644
--- a/wqflask/wqflask/static/new/javascript/ctl_graph.js
+++ b/gn2/wqflask/static/new/javascript/ctl_graph.js
diff --git a/wqflask/wqflask/static/new/javascript/curvechart.js b/gn2/wqflask/static/new/javascript/curvechart.js
index 48bf6bf3..48bf6bf3 100644
--- a/wqflask/wqflask/static/new/javascript/curvechart.js
+++ b/gn2/wqflask/static/new/javascript/curvechart.js
diff --git a/wqflask/wqflask/static/new/javascript/d3panels.min.js b/gn2/wqflask/static/new/javascript/d3panels.min.js
index dfc10643..dfc10643 100644
--- a/wqflask/wqflask/static/new/javascript/d3panels.min.js
+++ b/gn2/wqflask/static/new/javascript/d3panels.min.js
diff --git a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js b/gn2/wqflask/static/new/javascript/dataset_select_menu_orig.js
index 25a703e6..25a703e6 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
+++ b/gn2/wqflask/static/new/javascript/dataset_select_menu_orig.js
diff --git a/wqflask/wqflask/static/new/javascript/draw_corr_scatterplot.js b/gn2/wqflask/static/new/javascript/draw_corr_scatterplot.js
index f883c0d9..f883c0d9 100644
--- a/wqflask/wqflask/static/new/javascript/draw_corr_scatterplot.js
+++ b/gn2/wqflask/static/new/javascript/draw_corr_scatterplot.js
diff --git a/wqflask/wqflask/static/new/javascript/draw_probability_plot.js b/gn2/wqflask/static/new/javascript/draw_probability_plot.js
index 1b944d4f..1b944d4f 100644
--- a/wqflask/wqflask/static/new/javascript/draw_probability_plot.js
+++ b/gn2/wqflask/static/new/javascript/draw_probability_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js b/gn2/wqflask/static/new/javascript/get_covariates_from_collection.js
index ba8fa8b0..ba8fa8b0 100644
--- a/wqflask/wqflask/static/new/javascript/get_covariates_from_collection.js
+++ b/gn2/wqflask/static/new/javascript/get_covariates_from_collection.js
diff --git a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js b/gn2/wqflask/static/new/javascript/get_traits_from_collection.js
index c115f3b0..c115f3b0 100644
--- a/wqflask/wqflask/static/new/javascript/get_traits_from_collection.js
+++ b/gn2/wqflask/static/new/javascript/get_traits_from_collection.js
diff --git a/wqflask/wqflask/static/new/javascript/group_manager.js b/gn2/wqflask/static/new/javascript/group_manager.js
index cd56133a..cd56133a 100644
--- a/wqflask/wqflask/static/new/javascript/group_manager.js
+++ b/gn2/wqflask/static/new/javascript/group_manager.js
diff --git a/wqflask/wqflask/static/new/javascript/histogram.js b/gn2/wqflask/static/new/javascript/histogram.js
index f71080e8..f71080e8 100644
--- a/wqflask/wqflask/static/new/javascript/histogram.js
+++ b/gn2/wqflask/static/new/javascript/histogram.js
diff --git a/wqflask/wqflask/static/new/javascript/init_genome_browser.js b/gn2/wqflask/static/new/javascript/init_genome_browser.js
index 508f5bf2..508f5bf2 100644
--- a/wqflask/wqflask/static/new/javascript/init_genome_browser.js
+++ b/gn2/wqflask/static/new/javascript/init_genome_browser.js
diff --git a/wqflask/wqflask/static/new/javascript/initialize_show_trait_tables.js b/gn2/wqflask/static/new/javascript/initialize_show_trait_tables.js
index 44076c17..44076c17 100644
--- a/wqflask/wqflask/static/new/javascript/initialize_show_trait_tables.js
+++ b/gn2/wqflask/static/new/javascript/initialize_show_trait_tables.js
diff --git a/wqflask/wqflask/static/new/javascript/iplotMScanone_noeff.js b/gn2/wqflask/static/new/javascript/iplotMScanone_noeff.js
index 5ecf46e1..5ecf46e1 100644
--- a/wqflask/wqflask/static/new/javascript/iplotMScanone_noeff.js
+++ b/gn2/wqflask/static/new/javascript/iplotMScanone_noeff.js
diff --git a/wqflask/wqflask/static/new/javascript/loadings_plot.js b/gn2/wqflask/static/new/javascript/loadings_plot.js
index c44288c0..c44288c0 100644
--- a/wqflask/wqflask/static/new/javascript/loadings_plot.js
+++ b/gn2/wqflask/static/new/javascript/loadings_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/lod_chart.js b/gn2/wqflask/static/new/javascript/lod_chart.js
index 014bf59b..014bf59b 100644
--- a/wqflask/wqflask/static/new/javascript/lod_chart.js
+++ b/gn2/wqflask/static/new/javascript/lod_chart.js
diff --git a/wqflask/wqflask/static/new/javascript/lodheatmap.js b/gn2/wqflask/static/new/javascript/lodheatmap.js
index b82c95ad..b82c95ad 100644
--- a/wqflask/wqflask/static/new/javascript/lodheatmap.js
+++ b/gn2/wqflask/static/new/javascript/lodheatmap.js
diff --git a/wqflask/wqflask/static/new/javascript/login.js b/gn2/wqflask/static/new/javascript/login.js
index 2fe9ba3c..2fe9ba3c 100644
--- a/wqflask/wqflask/static/new/javascript/login.js
+++ b/gn2/wqflask/static/new/javascript/login.js
diff --git a/wqflask/wqflask/static/new/javascript/network_graph.js b/gn2/wqflask/static/new/javascript/network_graph.js
index 480443ee..480443ee 100644
--- a/wqflask/wqflask/static/new/javascript/network_graph.js
+++ b/gn2/wqflask/static/new/javascript/network_graph.js
diff --git a/wqflask/wqflask/static/new/javascript/panelutil.js b/gn2/wqflask/static/new/javascript/panelutil.js
index ea55a7cf..ea55a7cf 100644
--- a/wqflask/wqflask/static/new/javascript/panelutil.js
+++ b/gn2/wqflask/static/new/javascript/panelutil.js
diff --git a/wqflask/wqflask/static/new/javascript/partial_correlations.js b/gn2/wqflask/static/new/javascript/partial_correlations.js
index 5de1204c..5de1204c 100644
--- a/wqflask/wqflask/static/new/javascript/partial_correlations.js
+++ b/gn2/wqflask/static/new/javascript/partial_correlations.js
diff --git a/wqflask/wqflask/static/new/javascript/password_strength.js b/gn2/wqflask/static/new/javascript/password_strength.js
index a8a45f7d..a8a45f7d 100644
--- a/wqflask/wqflask/static/new/javascript/password_strength.js
+++ b/gn2/wqflask/static/new/javascript/password_strength.js
diff --git a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js b/gn2/wqflask/static/new/javascript/plotly_probability_plot.js
index bc1e021b..bc1e021b 100644
--- a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js
+++ b/gn2/wqflask/static/new/javascript/plotly_probability_plot.js
diff --git a/wqflask/wqflask/static/new/javascript/scatter-matrix.js b/gn2/wqflask/static/new/javascript/scatter-matrix.js
index 31cb384b..31cb384b 100644
--- a/wqflask/wqflask/static/new/javascript/scatter-matrix.js
+++ b/gn2/wqflask/static/new/javascript/scatter-matrix.js
diff --git a/wqflask/wqflask/static/new/javascript/scatterplot.js b/gn2/wqflask/static/new/javascript/scatterplot.js
index 3fea0503..3fea0503 100644
--- a/wqflask/wqflask/static/new/javascript/scatterplot.js
+++ b/gn2/wqflask/static/new/javascript/scatterplot.js
diff --git a/wqflask/wqflask/static/new/javascript/search_autocomplete.js b/gn2/wqflask/static/new/javascript/search_autocomplete.js
index 10c22c95..10c22c95 100644
--- a/wqflask/wqflask/static/new/javascript/search_autocomplete.js
+++ b/gn2/wqflask/static/new/javascript/search_autocomplete.js
diff --git a/wqflask/wqflask/static/new/javascript/search_results.js b/gn2/wqflask/static/new/javascript/search_results.js
index c263ef49..c263ef49 100644
--- a/wqflask/wqflask/static/new/javascript/search_results.js
+++ b/gn2/wqflask/static/new/javascript/search_results.js
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/gn2/wqflask/static/new/javascript/show_trait.js
index c5214947..c5214947 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/gn2/wqflask/static/new/javascript/show_trait.js
diff --git a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js b/gn2/wqflask/static/new/javascript/show_trait_mapping_tools.js
index a4e6dafc..a4e6dafc 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js
+++ b/gn2/wqflask/static/new/javascript/show_trait_mapping_tools.js
diff --git a/wqflask/wqflask/static/new/javascript/stats.js b/gn2/wqflask/static/new/javascript/stats.js
index 6c443ab3..6c443ab3 100644
--- a/wqflask/wqflask/static/new/javascript/stats.js
+++ b/gn2/wqflask/static/new/javascript/stats.js
diff --git a/wqflask/wqflask/static/new/javascript/table_functions.js b/gn2/wqflask/static/new/javascript/table_functions.js
index 62888cd9..62888cd9 100644
--- a/wqflask/wqflask/static/new/javascript/table_functions.js
+++ b/gn2/wqflask/static/new/javascript/table_functions.js
diff --git a/wqflask/wqflask/static/new/javascript/thank_you.js b/gn2/wqflask/static/new/javascript/thank_you.js
index deb68211..deb68211 100644
--- a/wqflask/wqflask/static/new/javascript/thank_you.js
+++ b/gn2/wqflask/static/new/javascript/thank_you.js
diff --git a/wqflask/wqflask/static/new/javascript/typeahead_rn6.json b/gn2/wqflask/static/new/javascript/typeahead_rn6.json
index 1889d8a2..1889d8a2 100644
--- a/wqflask/wqflask/static/new/javascript/typeahead_rn6.json
+++ b/gn2/wqflask/static/new/javascript/typeahead_rn6.json
diff --git a/wqflask/wqflask/static/new/javascript/validation.js b/gn2/wqflask/static/new/javascript/validation.js
index 2cacacfa..2cacacfa 100644
--- a/wqflask/wqflask/static/new/javascript/validation.js
+++ b/gn2/wqflask/static/new/javascript/validation.js
diff --git a/wqflask/wqflask/templates/admin/change_resource_owner.html b/gn2/wqflask/templates/admin/change_resource_owner.html
index 7fd84387..7fd84387 100644
--- a/wqflask/wqflask/templates/admin/change_resource_owner.html
+++ b/gn2/wqflask/templates/admin/change_resource_owner.html
diff --git a/wqflask/wqflask/templates/admin/create_group.html b/gn2/wqflask/templates/admin/create_group.html
index b1d214ea..b1d214ea 100644
--- a/wqflask/wqflask/templates/admin/create_group.html
+++ b/gn2/wqflask/templates/admin/create_group.html
diff --git a/wqflask/wqflask/templates/admin/group_manager.html b/gn2/wqflask/templates/admin/group_manager.html
index eedfe138..eedfe138 100644
--- a/wqflask/wqflask/templates/admin/group_manager.html
+++ b/gn2/wqflask/templates/admin/group_manager.html
diff --git a/wqflask/wqflask/templates/admin/ind_user_manager.html b/gn2/wqflask/templates/admin/ind_user_manager.html
index b821e5d5..b821e5d5 100644
--- a/wqflask/wqflask/templates/admin/ind_user_manager.html
+++ b/gn2/wqflask/templates/admin/ind_user_manager.html
diff --git a/wqflask/wqflask/templates/admin/manage_resource.html b/gn2/wqflask/templates/admin/manage_resource.html
index 63ec17c0..63ec17c0 100644
--- a/wqflask/wqflask/templates/admin/manage_resource.html
+++ b/gn2/wqflask/templates/admin/manage_resource.html
diff --git a/wqflask/wqflask/templates/admin/manage_user.html b/gn2/wqflask/templates/admin/manage_user.html
index 3ef90b90..3ef90b90 100644
--- a/wqflask/wqflask/templates/admin/manage_user.html
+++ b/gn2/wqflask/templates/admin/manage_user.html
diff --git a/wqflask/wqflask/templates/admin/search_for_groups.html b/gn2/wqflask/templates/admin/search_for_groups.html
index 0e1ec720..0e1ec720 100644
--- a/wqflask/wqflask/templates/admin/search_for_groups.html
+++ b/gn2/wqflask/templates/admin/search_for_groups.html
diff --git a/wqflask/wqflask/templates/admin/set_group_privileges.html b/gn2/wqflask/templates/admin/set_group_privileges.html
index 04842453..04842453 100644
--- a/wqflask/wqflask/templates/admin/set_group_privileges.html
+++ b/gn2/wqflask/templates/admin/set_group_privileges.html
diff --git a/wqflask/wqflask/templates/admin/user_manager.html b/gn2/wqflask/templates/admin/user_manager.html
index 2b6c1b2b..2b6c1b2b 100644
--- a/wqflask/wqflask/templates/admin/user_manager.html
+++ b/gn2/wqflask/templates/admin/user_manager.html
diff --git a/wqflask/wqflask/templates/admin/view_group.html b/gn2/wqflask/templates/admin/view_group.html
index c88ce0e7..c88ce0e7 100644
--- a/wqflask/wqflask/templates/admin/view_group.html
+++ b/gn2/wqflask/templates/admin/view_group.html
diff --git a/wqflask/wqflask/templates/authorisation_error.html b/gn2/wqflask/templates/authorisation_error.html
index 3dce8b52..3dce8b52 100644
--- a/wqflask/wqflask/templates/authorisation_error.html
+++ b/gn2/wqflask/templates/authorisation_error.html
diff --git a/wqflask/wqflask/templates/base.html b/gn2/wqflask/templates/base.html
index 984cf92a..984cf92a 100644
--- a/wqflask/wqflask/templates/base.html
+++ b/gn2/wqflask/templates/base.html
diff --git a/wqflask/wqflask/templates/base_macro.html b/gn2/wqflask/templates/base_macro.html
index 7fcb6fe7..7fcb6fe7 100644
--- a/wqflask/wqflask/templates/base_macro.html
+++ b/gn2/wqflask/templates/base_macro.html
diff --git a/wqflask/wqflask/templates/blogs.html b/gn2/wqflask/templates/blogs.html
index 314eb733..314eb733 100644
--- a/wqflask/wqflask/templates/blogs.html
+++ b/gn2/wqflask/templates/blogs.html
diff --git a/wqflask/wqflask/templates/blogs_list.html b/gn2/wqflask/templates/blogs_list.html
index 6bad4628..6bad4628 100644
--- a/wqflask/wqflask/templates/blogs_list.html
+++ b/gn2/wqflask/templates/blogs_list.html
diff --git a/wqflask/wqflask/templates/bnw_page.html b/gn2/wqflask/templates/bnw_page.html
index 317b4bd7..317b4bd7 100644
--- a/wqflask/wqflask/templates/bnw_page.html
+++ b/gn2/wqflask/templates/bnw_page.html
diff --git a/wqflask/wqflask/templates/case_attributes.html b/gn2/wqflask/templates/case_attributes.html
index d1669761..d1669761 100644
--- a/wqflask/wqflask/templates/case_attributes.html
+++ b/gn2/wqflask/templates/case_attributes.html
diff --git a/wqflask/wqflask/templates/collections/add.html b/gn2/wqflask/templates/collections/add.html
index 478c80fb..478c80fb 100644
--- a/wqflask/wqflask/templates/collections/add.html
+++ b/gn2/wqflask/templates/collections/add.html
diff --git a/wqflask/wqflask/templates/collections/add_anonymous.html b/gn2/wqflask/templates/collections/add_anonymous.html
index 2eb7525f..2eb7525f 100644
--- a/wqflask/wqflask/templates/collections/add_anonymous.html
+++ b/gn2/wqflask/templates/collections/add_anonymous.html
diff --git a/wqflask/wqflask/templates/collections/list.html b/gn2/wqflask/templates/collections/list.html
index c553717f..c553717f 100644
--- a/wqflask/wqflask/templates/collections/list.html
+++ b/gn2/wqflask/templates/collections/list.html
diff --git a/wqflask/wqflask/templates/collections/not_logged_in.html b/gn2/wqflask/templates/collections/not_logged_in.html
index 49b0e07d..49b0e07d 100644
--- a/wqflask/wqflask/templates/collections/not_logged_in.html
+++ b/gn2/wqflask/templates/collections/not_logged_in.html
diff --git a/wqflask/wqflask/templates/collections/remove.html b/gn2/wqflask/templates/collections/remove.html
index faee4f78..faee4f78 100644
--- a/wqflask/wqflask/templates/collections/remove.html
+++ b/gn2/wqflask/templates/collections/remove.html
diff --git a/wqflask/wqflask/templates/collections/view.html b/gn2/wqflask/templates/collections/view.html
index c850e163..c850e163 100644
--- a/wqflask/wqflask/templates/collections/view.html
+++ b/gn2/wqflask/templates/collections/view.html
diff --git a/wqflask/wqflask/templates/collections/view_anonymous.html b/gn2/wqflask/templates/collections/view_anonymous.html
index 56323e10..56323e10 100644
--- a/wqflask/wqflask/templates/collections/view_anonymous.html
+++ b/gn2/wqflask/templates/collections/view_anonymous.html
diff --git a/wqflask/wqflask/templates/comparison_bar_chart.html b/gn2/wqflask/templates/comparison_bar_chart.html
index d77e0515..d77e0515 100644
--- a/wqflask/wqflask/templates/comparison_bar_chart.html
+++ b/gn2/wqflask/templates/comparison_bar_chart.html
diff --git a/wqflask/wqflask/templates/corr_scatterplot.html b/gn2/wqflask/templates/corr_scatterplot.html
index 554471be..554471be 100644
--- a/wqflask/wqflask/templates/corr_scatterplot.html
+++ b/gn2/wqflask/templates/corr_scatterplot.html
diff --git a/wqflask/wqflask/templates/correlation_error_page.html b/gn2/wqflask/templates/correlation_error_page.html
index 7d11daf0..7d11daf0 100644
--- a/wqflask/wqflask/templates/correlation_error_page.html
+++ b/gn2/wqflask/templates/correlation_error_page.html
diff --git a/wqflask/wqflask/templates/correlation_matrix.html b/gn2/wqflask/templates/correlation_matrix.html
index 17fd66fa..17fd66fa 100644
--- a/wqflask/wqflask/templates/correlation_matrix.html
+++ b/gn2/wqflask/templates/correlation_matrix.html
diff --git a/wqflask/wqflask/templates/correlation_page.html b/gn2/wqflask/templates/correlation_page.html
index d3ee32f3..d3ee32f3 100644
--- a/wqflask/wqflask/templates/correlation_page.html
+++ b/gn2/wqflask/templates/correlation_page.html
diff --git a/wqflask/wqflask/templates/credits.html b/gn2/wqflask/templates/credits.html
index aab1dfb1..aab1dfb1 100644
--- a/wqflask/wqflask/templates/credits.html
+++ b/gn2/wqflask/templates/credits.html
diff --git a/wqflask/wqflask/templates/ctl_results.html b/gn2/wqflask/templates/ctl_results.html
index 1c31b499..1c31b499 100644
--- a/wqflask/wqflask/templates/ctl_results.html
+++ b/gn2/wqflask/templates/ctl_results.html
diff --git a/wqflask/wqflask/templates/ctl_setup.html b/gn2/wqflask/templates/ctl_setup.html
index f5b0baf8..f5b0baf8 100644
--- a/wqflask/wqflask/templates/ctl_setup.html
+++ b/gn2/wqflask/templates/ctl_setup.html
diff --git a/wqflask/wqflask/templates/data_sharing.html b/gn2/wqflask/templates/data_sharing.html
index cca498ec..cca498ec 100644
--- a/wqflask/wqflask/templates/data_sharing.html
+++ b/gn2/wqflask/templates/data_sharing.html
diff --git a/wqflask/wqflask/templates/dataset.html b/gn2/wqflask/templates/dataset.html
index 2e22be17..2e22be17 100644
--- a/wqflask/wqflask/templates/dataset.html
+++ b/gn2/wqflask/templates/dataset.html
diff --git a/wqflask/wqflask/templates/display_diffs.html b/gn2/wqflask/templates/display_diffs.html
index ce50c1b4..ce50c1b4 100644
--- a/wqflask/wqflask/templates/display_diffs.html
+++ b/gn2/wqflask/templates/display_diffs.html
diff --git a/wqflask/wqflask/templates/display_files.html b/gn2/wqflask/templates/display_files.html
index d0e8cc33..d0e8cc33 100644
--- a/wqflask/wqflask/templates/display_files.html
+++ b/gn2/wqflask/templates/display_files.html
diff --git a/wqflask/wqflask/templates/docedit.html b/gn2/wqflask/templates/docedit.html
index 50bb96c0..50bb96c0 100644
--- a/wqflask/wqflask/templates/docedit.html
+++ b/gn2/wqflask/templates/docedit.html
diff --git a/wqflask/wqflask/templates/docs.html b/gn2/wqflask/templates/docs.html
index 1e5a7aef..1e5a7aef 100644
--- a/wqflask/wqflask/templates/docs.html
+++ b/gn2/wqflask/templates/docs.html
diff --git a/wqflask/wqflask/templates/edit_case_attributes.html b/gn2/wqflask/templates/edit_case_attributes.html
index 3c97b992..3c97b992 100644
--- a/wqflask/wqflask/templates/edit_case_attributes.html
+++ b/gn2/wqflask/templates/edit_case_attributes.html
diff --git a/wqflask/wqflask/templates/edit_history.html b/gn2/wqflask/templates/edit_history.html
index 876ab085..876ab085 100644
--- a/wqflask/wqflask/templates/edit_history.html
+++ b/gn2/wqflask/templates/edit_history.html
diff --git a/wqflask/wqflask/templates/edit_phenotype.html b/gn2/wqflask/templates/edit_phenotype.html
index 99efa46c..99efa46c 100644
--- a/wqflask/wqflask/templates/edit_phenotype.html
+++ b/gn2/wqflask/templates/edit_phenotype.html
diff --git a/wqflask/wqflask/templates/edit_probeset.html b/gn2/wqflask/templates/edit_probeset.html
index 88e97837..88e97837 100644
--- a/wqflask/wqflask/templates/edit_probeset.html
+++ b/gn2/wqflask/templates/edit_probeset.html
diff --git a/wqflask/wqflask/templates/email/forgot_password.txt b/gn2/wqflask/templates/email/forgot_password.txt
index e7d1389b..e7d1389b 100644
--- a/wqflask/wqflask/templates/email/forgot_password.txt
+++ b/gn2/wqflask/templates/email/forgot_password.txt
diff --git a/wqflask/wqflask/templates/empty_collection.html b/gn2/wqflask/templates/empty_collection.html
index d1b779ef..d1b779ef 100644
--- a/wqflask/wqflask/templates/empty_collection.html
+++ b/gn2/wqflask/templates/empty_collection.html
diff --git a/wqflask/wqflask/templates/environment.html b/gn2/wqflask/templates/environment.html
index 89e805ce..89e805ce 100644
--- a/wqflask/wqflask/templates/environment.html
+++ b/gn2/wqflask/templates/environment.html
diff --git a/wqflask/wqflask/templates/error.html b/gn2/wqflask/templates/error.html
index 2f1e06fa..2f1e06fa 100644
--- a/wqflask/wqflask/templates/error.html
+++ b/gn2/wqflask/templates/error.html
diff --git a/wqflask/wqflask/templates/facilities.html b/gn2/wqflask/templates/facilities.html
index 56b127f9..56b127f9 100644
--- a/wqflask/wqflask/templates/facilities.html
+++ b/gn2/wqflask/templates/facilities.html
diff --git a/wqflask/wqflask/templates/generif.html b/gn2/wqflask/templates/generif.html
index ac815b43..ac815b43 100644
--- a/wqflask/wqflask/templates/generif.html
+++ b/gn2/wqflask/templates/generif.html
diff --git a/wqflask/wqflask/templates/geneweaver_page.html b/gn2/wqflask/templates/geneweaver_page.html
index 7687cb6a..7687cb6a 100644
--- a/wqflask/wqflask/templates/geneweaver_page.html
+++ b/gn2/wqflask/templates/geneweaver_page.html
diff --git a/wqflask/wqflask/templates/genotype.html b/gn2/wqflask/templates/genotype.html
index fc5b1ad7..fc5b1ad7 100644
--- a/wqflask/wqflask/templates/genotype.html
+++ b/gn2/wqflask/templates/genotype.html
diff --git a/wqflask/wqflask/templates/glossary.html b/gn2/wqflask/templates/glossary.html
index aaee7c5a..aaee7c5a 100644
--- a/wqflask/wqflask/templates/glossary.html
+++ b/gn2/wqflask/templates/glossary.html
diff --git a/wqflask/wqflask/templates/gn3_ctl_results.html b/gn2/wqflask/templates/gn3_ctl_results.html
index c42707f6..c42707f6 100644
--- a/wqflask/wqflask/templates/gn3_ctl_results.html
+++ b/gn2/wqflask/templates/gn3_ctl_results.html
diff --git a/wqflask/wqflask/templates/gn3_wgcna_results.html b/gn2/wqflask/templates/gn3_wgcna_results.html
index 8a31bf28..8a31bf28 100644
--- a/wqflask/wqflask/templates/gn3_wgcna_results.html
+++ b/gn2/wqflask/templates/gn3_wgcna_results.html
diff --git a/wqflask/wqflask/templates/gnqa.html b/gn2/wqflask/templates/gnqa.html
index 46cc1e90..46cc1e90 100644
--- a/wqflask/wqflask/templates/gnqa.html
+++ b/gn2/wqflask/templates/gnqa.html
diff --git a/wqflask/wqflask/templates/gnqa_answer.html b/gn2/wqflask/templates/gnqa_answer.html
index 99242b29..99242b29 100644
--- a/wqflask/wqflask/templates/gnqa_answer.html
+++ b/gn2/wqflask/templates/gnqa_answer.html
diff --git a/wqflask/wqflask/templates/gsearch_gene.html b/gn2/wqflask/templates/gsearch_gene.html
index 6bc92377..6bc92377 100644
--- a/wqflask/wqflask/templates/gsearch_gene.html
+++ b/gn2/wqflask/templates/gsearch_gene.html
diff --git a/wqflask/wqflask/templates/gsearch_pheno.html b/gn2/wqflask/templates/gsearch_pheno.html
index a1fef2c8..a1fef2c8 100644
--- a/wqflask/wqflask/templates/gsearch_pheno.html
+++ b/gn2/wqflask/templates/gsearch_pheno.html
diff --git a/wqflask/wqflask/templates/heatmap.html b/gn2/wqflask/templates/heatmap.html
index 92754266..92754266 100644
--- a/wqflask/wqflask/templates/heatmap.html
+++ b/gn2/wqflask/templates/heatmap.html
diff --git a/wqflask/wqflask/templates/index_page.html b/gn2/wqflask/templates/index_page.html
index 7b5a1d16..7b5a1d16 100755
--- a/wqflask/wqflask/templates/index_page.html
+++ b/gn2/wqflask/templates/index_page.html
diff --git a/wqflask/wqflask/templates/info_page.html b/gn2/wqflask/templates/info_page.html
index 91d34573..91d34573 100644
--- a/wqflask/wqflask/templates/info_page.html
+++ b/gn2/wqflask/templates/info_page.html
diff --git a/wqflask/wqflask/templates/jobs/debug.html b/gn2/wqflask/templates/jobs/debug.html
index 828ab1cc..828ab1cc 100644
--- a/wqflask/wqflask/templates/jobs/debug.html
+++ b/gn2/wqflask/templates/jobs/debug.html
diff --git a/wqflask/wqflask/templates/jobs/no-such-job.html b/gn2/wqflask/templates/jobs/no-such-job.html
index 6fe7d014..6fe7d014 100644
--- a/wqflask/wqflask/templates/jobs/no-such-job.html
+++ b/gn2/wqflask/templates/jobs/no-such-job.html
diff --git a/wqflask/wqflask/templates/jupyter_notebooks.html b/gn2/wqflask/templates/jupyter_notebooks.html
index afc95a15..afc95a15 100644
--- a/wqflask/wqflask/templates/jupyter_notebooks.html
+++ b/gn2/wqflask/templates/jupyter_notebooks.html
diff --git a/wqflask/wqflask/templates/links.html b/gn2/wqflask/templates/links.html
index 6e91adae..6e91adae 100644
--- a/wqflask/wqflask/templates/links.html
+++ b/gn2/wqflask/templates/links.html
diff --git a/wqflask/wqflask/templates/list_case_attribute_diffs.html b/gn2/wqflask/templates/list_case_attribute_diffs.html
index f5c7482f..f5c7482f 100644
--- a/wqflask/wqflask/templates/list_case_attribute_diffs.html
+++ b/gn2/wqflask/templates/list_case_attribute_diffs.html
diff --git a/wqflask/wqflask/templates/list_case_attribute_diffs_error.html b/gn2/wqflask/templates/list_case_attribute_diffs_error.html
index 6ca70984..6ca70984 100644
--- a/wqflask/wqflask/templates/list_case_attribute_diffs_error.html
+++ b/gn2/wqflask/templates/list_case_attribute_diffs_error.html
diff --git a/wqflask/wqflask/templates/loading.html b/gn2/wqflask/templates/loading.html
index a6d9ae5e..a6d9ae5e 100644
--- a/wqflask/wqflask/templates/loading.html
+++ b/gn2/wqflask/templates/loading.html
diff --git a/wqflask/wqflask/templates/loading_corrs.html b/gn2/wqflask/templates/loading_corrs.html
index 8abd5464..8abd5464 100644
--- a/wqflask/wqflask/templates/loading_corrs.html
+++ b/gn2/wqflask/templates/loading_corrs.html
diff --git a/wqflask/wqflask/templates/mapping_error.html b/gn2/wqflask/templates/mapping_error.html
index 8364af3c..8364af3c 100644
--- a/wqflask/wqflask/templates/mapping_error.html
+++ b/gn2/wqflask/templates/mapping_error.html
diff --git a/wqflask/wqflask/templates/mapping_results.html b/gn2/wqflask/templates/mapping_results.html
index 0e084ba7..0e084ba7 100644
--- a/wqflask/wqflask/templates/mapping_results.html
+++ b/gn2/wqflask/templates/mapping_results.html
diff --git a/wqflask/wqflask/templates/marker_regression.html b/gn2/wqflask/templates/marker_regression.html
index b633f815..b633f815 100644
--- a/wqflask/wqflask/templates/marker_regression.html
+++ b/gn2/wqflask/templates/marker_regression.html
diff --git a/wqflask/wqflask/templates/metadata/dataset.html b/gn2/wqflask/templates/metadata/dataset.html
index 06df6a68..06df6a68 100644
--- a/wqflask/wqflask/templates/metadata/dataset.html
+++ b/gn2/wqflask/templates/metadata/dataset.html
diff --git a/wqflask/wqflask/templates/network_graph.html b/gn2/wqflask/templates/network_graph.html
index cff69ac8..cff69ac8 100644
--- a/wqflask/wqflask/templates/network_graph.html
+++ b/gn2/wqflask/templates/network_graph.html
diff --git a/wqflask/wqflask/templates/new_security/forgot_password.html b/gn2/wqflask/templates/new_security/forgot_password.html
index 60a221da..60a221da 100644
--- a/wqflask/wqflask/templates/new_security/forgot_password.html
+++ b/gn2/wqflask/templates/new_security/forgot_password.html
diff --git a/wqflask/wqflask/templates/new_security/forgot_password_step2.html b/gn2/wqflask/templates/new_security/forgot_password_step2.html
index 1835fd4c..1835fd4c 100644
--- a/wqflask/wqflask/templates/new_security/forgot_password_step2.html
+++ b/gn2/wqflask/templates/new_security/forgot_password_step2.html
diff --git a/wqflask/wqflask/templates/new_security/login_user.html b/gn2/wqflask/templates/new_security/login_user.html
index b8cdf6ef..b8cdf6ef 100644
--- a/wqflask/wqflask/templates/new_security/login_user.html
+++ b/gn2/wqflask/templates/new_security/login_user.html
diff --git a/wqflask/wqflask/templates/new_security/not_authenticated.html b/gn2/wqflask/templates/new_security/not_authenticated.html
index ea688346..ea688346 100644
--- a/wqflask/wqflask/templates/new_security/not_authenticated.html
+++ b/gn2/wqflask/templates/new_security/not_authenticated.html
diff --git a/wqflask/wqflask/templates/new_security/password_reset.html b/gn2/wqflask/templates/new_security/password_reset.html
index e21f075c..e21f075c 100644
--- a/wqflask/wqflask/templates/new_security/password_reset.html
+++ b/gn2/wqflask/templates/new_security/password_reset.html
diff --git a/wqflask/wqflask/templates/new_security/register_user.html b/gn2/wqflask/templates/new_security/register_user.html
index c2895517..c2895517 100644
--- a/wqflask/wqflask/templates/new_security/register_user.html
+++ b/gn2/wqflask/templates/new_security/register_user.html
diff --git a/wqflask/wqflask/templates/new_security/registered.html b/gn2/wqflask/templates/new_security/registered.html
index 29889a97..29889a97 100644
--- a/wqflask/wqflask/templates/new_security/registered.html
+++ b/gn2/wqflask/templates/new_security/registered.html
diff --git a/wqflask/wqflask/templates/new_security/thank_you.html b/gn2/wqflask/templates/new_security/thank_you.html
index d4f5e574..d4f5e574 100644
--- a/wqflask/wqflask/templates/new_security/thank_you.html
+++ b/gn2/wqflask/templates/new_security/thank_you.html
diff --git a/wqflask/wqflask/templates/new_security/verification_still_needed.html b/gn2/wqflask/templates/new_security/verification_still_needed.html
index 1f91fd8d..1f91fd8d 100644
--- a/wqflask/wqflask/templates/new_security/verification_still_needed.html
+++ b/gn2/wqflask/templates/new_security/verification_still_needed.html
diff --git a/wqflask/wqflask/templates/news.html b/gn2/wqflask/templates/news.html
index a615564b..a615564b 100644
--- a/wqflask/wqflask/templates/news.html
+++ b/gn2/wqflask/templates/news.html
diff --git a/wqflask/wqflask/templates/oauth2/create-resource.html b/gn2/wqflask/templates/oauth2/create-resource.html
index 479f4152..479f4152 100644
--- a/wqflask/wqflask/templates/oauth2/create-resource.html
+++ b/gn2/wqflask/templates/oauth2/create-resource.html
diff --git a/wqflask/wqflask/templates/oauth2/create-role.html b/gn2/wqflask/templates/oauth2/create-role.html
index f2bff7b4..f2bff7b4 100644
--- a/wqflask/wqflask/templates/oauth2/create-role.html
+++ b/gn2/wqflask/templates/oauth2/create-role.html
diff --git a/wqflask/wqflask/templates/oauth2/data-list-genotype.html b/gn2/wqflask/templates/oauth2/data-list-genotype.html
index c780a583..c780a583 100644
--- a/wqflask/wqflask/templates/oauth2/data-list-genotype.html
+++ b/gn2/wqflask/templates/oauth2/data-list-genotype.html
diff --git a/wqflask/wqflask/templates/oauth2/data-list-mrna.html b/gn2/wqflask/templates/oauth2/data-list-mrna.html
index 0e163235..0e163235 100644
--- a/wqflask/wqflask/templates/oauth2/data-list-mrna.html
+++ b/gn2/wqflask/templates/oauth2/data-list-mrna.html
diff --git a/wqflask/wqflask/templates/oauth2/data-list-phenotype.html b/gn2/wqflask/templates/oauth2/data-list-phenotype.html
index 8c79c0d6..8c79c0d6 100644
--- a/wqflask/wqflask/templates/oauth2/data-list-phenotype.html
+++ b/gn2/wqflask/templates/oauth2/data-list-phenotype.html
diff --git a/wqflask/wqflask/templates/oauth2/data-list.html b/gn2/wqflask/templates/oauth2/data-list.html
index 8a8f6694..8a8f6694 100644
--- a/wqflask/wqflask/templates/oauth2/data-list.html
+++ b/gn2/wqflask/templates/oauth2/data-list.html
diff --git a/wqflask/wqflask/templates/oauth2/display_error.html b/gn2/wqflask/templates/oauth2/display_error.html
index 9abe02c4..9abe02c4 100644
--- a/wqflask/wqflask/templates/oauth2/display_error.html
+++ b/gn2/wqflask/templates/oauth2/display_error.html
diff --git a/wqflask/wqflask/templates/oauth2/group.html b/gn2/wqflask/templates/oauth2/group.html
index f4c29d18..f4c29d18 100644
--- a/wqflask/wqflask/templates/oauth2/group.html
+++ b/gn2/wqflask/templates/oauth2/group.html
diff --git a/wqflask/wqflask/templates/oauth2/group_join_or_create.html b/gn2/wqflask/templates/oauth2/group_join_or_create.html
index 8255d2f8..8255d2f8 100644
--- a/wqflask/wqflask/templates/oauth2/group_join_or_create.html
+++ b/gn2/wqflask/templates/oauth2/group_join_or_create.html
diff --git a/wqflask/wqflask/templates/oauth2/join-requests.html b/gn2/wqflask/templates/oauth2/join-requests.html
index 833b4e93..833b4e93 100644
--- a/wqflask/wqflask/templates/oauth2/join-requests.html
+++ b/gn2/wqflask/templates/oauth2/join-requests.html
diff --git a/wqflask/wqflask/templates/oauth2/list_roles.html b/gn2/wqflask/templates/oauth2/list_roles.html
index a4061fca..a4061fca 100644
--- a/wqflask/wqflask/templates/oauth2/list_roles.html
+++ b/gn2/wqflask/templates/oauth2/list_roles.html
diff --git a/wqflask/wqflask/templates/oauth2/login.html b/gn2/wqflask/templates/oauth2/login.html
index eaa1a192..eaa1a192 100644
--- a/wqflask/wqflask/templates/oauth2/login.html
+++ b/gn2/wqflask/templates/oauth2/login.html
diff --git a/wqflask/wqflask/templates/oauth2/masquerade.html b/gn2/wqflask/templates/oauth2/masquerade.html
index 48ec6cee..48ec6cee 100644
--- a/wqflask/wqflask/templates/oauth2/masquerade.html
+++ b/gn2/wqflask/templates/oauth2/masquerade.html
diff --git a/wqflask/wqflask/templates/oauth2/profile_nav.html b/gn2/wqflask/templates/oauth2/profile_nav.html
index aa752905..aa752905 100644
--- a/wqflask/wqflask/templates/oauth2/profile_nav.html
+++ b/gn2/wqflask/templates/oauth2/profile_nav.html
diff --git a/wqflask/wqflask/templates/oauth2/register_user.html b/gn2/wqflask/templates/oauth2/register_user.html
index 27ccbd30..27ccbd30 100644
--- a/wqflask/wqflask/templates/oauth2/register_user.html
+++ b/gn2/wqflask/templates/oauth2/register_user.html
diff --git a/wqflask/wqflask/templates/oauth2/request_error.html b/gn2/wqflask/templates/oauth2/request_error.html
index e6ed5fff..e6ed5fff 100644
--- a/wqflask/wqflask/templates/oauth2/request_error.html
+++ b/gn2/wqflask/templates/oauth2/request_error.html
diff --git a/wqflask/wqflask/templates/oauth2/resources.html b/gn2/wqflask/templates/oauth2/resources.html
index c52043db..c52043db 100644
--- a/wqflask/wqflask/templates/oauth2/resources.html
+++ b/gn2/wqflask/templates/oauth2/resources.html
diff --git a/wqflask/wqflask/templates/oauth2/role.html b/gn2/wqflask/templates/oauth2/role.html
index c33c93ee..c33c93ee 100644
--- a/wqflask/wqflask/templates/oauth2/role.html
+++ b/gn2/wqflask/templates/oauth2/role.html
diff --git a/wqflask/wqflask/templates/oauth2/view-group-role.html b/gn2/wqflask/templates/oauth2/view-group-role.html
index 5da023bf..5da023bf 100644
--- a/wqflask/wqflask/templates/oauth2/view-group-role.html
+++ b/gn2/wqflask/templates/oauth2/view-group-role.html
diff --git a/wqflask/wqflask/templates/oauth2/view-resource.html b/gn2/wqflask/templates/oauth2/view-resource.html
index 275fcb24..275fcb24 100644
--- a/wqflask/wqflask/templates/oauth2/view-resource.html
+++ b/gn2/wqflask/templates/oauth2/view-resource.html
diff --git a/wqflask/wqflask/templates/oauth2/view-user.html b/gn2/wqflask/templates/oauth2/view-user.html
index 34526b14..34526b14 100644
--- a/wqflask/wqflask/templates/oauth2/view-user.html
+++ b/gn2/wqflask/templates/oauth2/view-user.html
diff --git a/wqflask/wqflask/templates/pair_scan_results.html b/gn2/wqflask/templates/pair_scan_results.html
index dbd90bc7..dbd90bc7 100644
--- a/wqflask/wqflask/templates/pair_scan_results.html
+++ b/gn2/wqflask/templates/pair_scan_results.html
diff --git a/wqflask/wqflask/templates/partial_correlations/pcorrs_error.html b/gn2/wqflask/templates/partial_correlations/pcorrs_error.html
index 8d6c4bbe..8d6c4bbe 100644
--- a/wqflask/wqflask/templates/partial_correlations/pcorrs_error.html
+++ b/gn2/wqflask/templates/partial_correlations/pcorrs_error.html
diff --git a/wqflask/wqflask/templates/partial_correlations/pcorrs_poll_results.html b/gn2/wqflask/templates/partial_correlations/pcorrs_poll_results.html
index 38577c32..38577c32 100644
--- a/wqflask/wqflask/templates/partial_correlations/pcorrs_poll_results.html
+++ b/gn2/wqflask/templates/partial_correlations/pcorrs_poll_results.html
diff --git a/wqflask/wqflask/templates/partial_correlations/pcorrs_results_presentation.html b/gn2/wqflask/templates/partial_correlations/pcorrs_results_presentation.html
index dac02397..dac02397 100644
--- a/wqflask/wqflask/templates/partial_correlations/pcorrs_results_presentation.html
+++ b/gn2/wqflask/templates/partial_correlations/pcorrs_results_presentation.html
diff --git a/wqflask/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html b/gn2/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html
index c1ef6001..c1ef6001 100644
--- a/wqflask/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html
+++ b/gn2/wqflask/templates/partial_correlations/pcorrs_results_with_target_traits.html
diff --git a/wqflask/wqflask/templates/partial_correlations/pcorrs_select_operations.html b/gn2/wqflask/templates/partial_correlations/pcorrs_select_operations.html
index fe7f8cd4..fe7f8cd4 100644
--- a/wqflask/wqflask/templates/partial_correlations/pcorrs_select_operations.html
+++ b/gn2/wqflask/templates/partial_correlations/pcorrs_select_operations.html
diff --git a/wqflask/wqflask/templates/pca_scree_plot.html b/gn2/wqflask/templates/pca_scree_plot.html
index 74eb2c15..74eb2c15 100644
--- a/wqflask/wqflask/templates/pca_scree_plot.html
+++ b/gn2/wqflask/templates/pca_scree_plot.html
diff --git a/wqflask/wqflask/templates/phenotype.html b/gn2/wqflask/templates/phenotype.html
index 4f4fba6e..4f4fba6e 100644
--- a/wqflask/wqflask/templates/phenotype.html
+++ b/gn2/wqflask/templates/phenotype.html
diff --git a/wqflask/wqflask/templates/policies.html b/gn2/wqflask/templates/policies.html
index e36c9e08..e36c9e08 100644
--- a/wqflask/wqflask/templates/policies.html
+++ b/gn2/wqflask/templates/policies.html
diff --git a/wqflask/wqflask/templates/publication.html b/gn2/wqflask/templates/publication.html
index 556d184f..556d184f 100644
--- a/wqflask/wqflask/templates/publication.html
+++ b/gn2/wqflask/templates/publication.html
diff --git a/wqflask/wqflask/templates/references.html b/gn2/wqflask/templates/references.html
index 04e60361..04e60361 100644
--- a/wqflask/wqflask/templates/references.html
+++ b/gn2/wqflask/templates/references.html
diff --git a/wqflask/wqflask/templates/search_autocomplete.html b/gn2/wqflask/templates/search_autocomplete.html
index b8d0514e..b8d0514e 100644
--- a/wqflask/wqflask/templates/search_autocomplete.html
+++ b/gn2/wqflask/templates/search_autocomplete.html
diff --git a/wqflask/wqflask/templates/search_error.html b/gn2/wqflask/templates/search_error.html
index df8d9dff..df8d9dff 100644
--- a/wqflask/wqflask/templates/search_error.html
+++ b/gn2/wqflask/templates/search_error.html
diff --git a/wqflask/wqflask/templates/search_history.html b/gn2/wqflask/templates/search_history.html
index 11586c0a..11586c0a 100644
--- a/wqflask/wqflask/templates/search_history.html
+++ b/gn2/wqflask/templates/search_history.html
diff --git a/wqflask/wqflask/templates/search_result_page.html b/gn2/wqflask/templates/search_result_page.html
index cade198a..cade198a 100644
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/gn2/wqflask/templates/search_result_page.html
diff --git a/wqflask/wqflask/templates/set_group_privileges.html b/gn2/wqflask/templates/set_group_privileges.html
index a0a53292..a0a53292 100644
--- a/wqflask/wqflask/templates/set_group_privileges.html
+++ b/gn2/wqflask/templates/set_group_privileges.html
diff --git a/wqflask/wqflask/templates/show_image.html b/gn2/wqflask/templates/show_image.html
index 521f5414..521f5414 100644
--- a/wqflask/wqflask/templates/show_image.html
+++ b/gn2/wqflask/templates/show_image.html
diff --git a/wqflask/wqflask/templates/show_trait.html b/gn2/wqflask/templates/show_trait.html
index dd054ffc..dd054ffc 100644
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/gn2/wqflask/templates/show_trait.html
diff --git a/wqflask/wqflask/templates/show_trait_calculate_correlations.html b/gn2/wqflask/templates/show_trait_calculate_correlations.html
index 22fe6142..22fe6142 100644
--- a/wqflask/wqflask/templates/show_trait_calculate_correlations.html
+++ b/gn2/wqflask/templates/show_trait_calculate_correlations.html
diff --git a/wqflask/wqflask/templates/show_trait_details.html b/gn2/wqflask/templates/show_trait_details.html
index 9c12393d..9c12393d 100644
--- a/wqflask/wqflask/templates/show_trait_details.html
+++ b/gn2/wqflask/templates/show_trait_details.html
diff --git a/wqflask/wqflask/templates/show_trait_edit_data.html b/gn2/wqflask/templates/show_trait_edit_data.html
index 91cbdb6e..91cbdb6e 100644
--- a/wqflask/wqflask/templates/show_trait_edit_data.html
+++ b/gn2/wqflask/templates/show_trait_edit_data.html
diff --git a/wqflask/wqflask/templates/show_trait_error.html b/gn2/wqflask/templates/show_trait_error.html
index c924d1f1..c924d1f1 100644
--- a/wqflask/wqflask/templates/show_trait_error.html
+++ b/gn2/wqflask/templates/show_trait_error.html
diff --git a/wqflask/wqflask/templates/show_trait_mapping_tools.html b/gn2/wqflask/templates/show_trait_mapping_tools.html
index f1ed8922..f1ed8922 100755
--- a/wqflask/wqflask/templates/show_trait_mapping_tools.html
+++ b/gn2/wqflask/templates/show_trait_mapping_tools.html
diff --git a/wqflask/wqflask/templates/show_trait_progress_bar.html b/gn2/wqflask/templates/show_trait_progress_bar.html
index f9a34070..f9a34070 100644
--- a/wqflask/wqflask/templates/show_trait_progress_bar.html
+++ b/gn2/wqflask/templates/show_trait_progress_bar.html
diff --git a/wqflask/wqflask/templates/show_trait_statistics.html b/gn2/wqflask/templates/show_trait_statistics.html
index 9ee0de5c..9ee0de5c 100644
--- a/wqflask/wqflask/templates/show_trait_statistics.html
+++ b/gn2/wqflask/templates/show_trait_statistics.html
diff --git a/wqflask/wqflask/templates/show_trait_transform_and_filter.html b/gn2/wqflask/templates/show_trait_transform_and_filter.html
index 0706f64d..0706f64d 100644
--- a/wqflask/wqflask/templates/show_trait_transform_and_filter.html
+++ b/gn2/wqflask/templates/show_trait_transform_and_filter.html
diff --git a/wqflask/wqflask/templates/snp_browser.html b/gn2/wqflask/templates/snp_browser.html
index b9aea570..b9aea570 100644
--- a/wqflask/wqflask/templates/snp_browser.html
+++ b/gn2/wqflask/templates/snp_browser.html
diff --git a/wqflask/wqflask/templates/startup_errors.html b/gn2/wqflask/templates/startup_errors.html
index 82d85572..82d85572 100644
--- a/wqflask/wqflask/templates/startup_errors.html
+++ b/gn2/wqflask/templates/startup_errors.html
diff --git a/wqflask/wqflask/templates/submit_trait.html b/gn2/wqflask/templates/submit_trait.html
index 10ddf69f..10ddf69f 100644
--- a/wqflask/wqflask/templates/submit_trait.html
+++ b/gn2/wqflask/templates/submit_trait.html
diff --git a/wqflask/wqflask/templates/test_correlation_page.html b/gn2/wqflask/templates/test_correlation_page.html
index 991773a2..991773a2 100644
--- a/wqflask/wqflask/templates/test_correlation_page.html
+++ b/gn2/wqflask/templates/test_correlation_page.html
diff --git a/wqflask/wqflask/templates/tool_buttons.html b/gn2/wqflask/templates/tool_buttons.html
index c6d1476c..c6d1476c 100644
--- a/wqflask/wqflask/templates/tool_buttons.html
+++ b/gn2/wqflask/templates/tool_buttons.html
diff --git a/wqflask/wqflask/templates/tutorials.html b/gn2/wqflask/templates/tutorials.html
index 74c84726..74c84726 100644
--- a/wqflask/wqflask/templates/tutorials.html
+++ b/gn2/wqflask/templates/tutorials.html
diff --git a/wqflask/wqflask/templates/view_case_attribute_diff.html b/gn2/wqflask/templates/view_case_attribute_diff.html
index 0b5c95f1..0b5c95f1 100644
--- a/wqflask/wqflask/templates/view_case_attribute_diff.html
+++ b/gn2/wqflask/templates/view_case_attribute_diff.html
diff --git a/wqflask/wqflask/templates/view_case_attribute_diff_error.html b/gn2/wqflask/templates/view_case_attribute_diff_error.html
index a10f7ab9..a10f7ab9 100644
--- a/wqflask/wqflask/templates/view_case_attribute_diff_error.html
+++ b/gn2/wqflask/templates/view_case_attribute_diff_error.html
diff --git a/wqflask/wqflask/templates/webgestalt_page.html b/gn2/wqflask/templates/webgestalt_page.html
index 759e0251..759e0251 100644
--- a/wqflask/wqflask/templates/webgestalt_page.html
+++ b/gn2/wqflask/templates/webgestalt_page.html
diff --git a/wqflask/wqflask/templates/wgcna_results.html b/gn2/wqflask/templates/wgcna_results.html
index 0dc030b1..0dc030b1 100644
--- a/wqflask/wqflask/templates/wgcna_results.html
+++ b/gn2/wqflask/templates/wgcna_results.html
diff --git a/wqflask/wqflask/templates/wgcna_setup.html b/gn2/wqflask/templates/wgcna_setup.html
index d7acd5f2..d7acd5f2 100644
--- a/wqflask/wqflask/templates/wgcna_setup.html
+++ b/gn2/wqflask/templates/wgcna_setup.html
diff --git a/wqflask/wqflask/templates/with-trait-items.html b/gn2/wqflask/templates/with-trait-items.html
index 66d6fd22..66d6fd22 100644
--- a/wqflask/wqflask/templates/with-trait-items.html
+++ b/gn2/wqflask/templates/with-trait-items.html
diff --git a/wqflask/wqflask/update_search_results.py b/gn2/wqflask/update_search_results.py
index 8789c903..e6d2b0ca 100644
--- a/wqflask/wqflask/update_search_results.py
+++ b/gn2/wqflask/update_search_results.py
@@ -1,10 +1,10 @@
import json
-from base.data_set import create_dataset
-from base.trait import GeneralTrait
-from db import webqtlDatabaseFunction
-from wqflask.database import database_connection
-from utility.tools import get_setting
+from gn2.base.data_set import create_dataset
+from gn2.base.trait import GeneralTrait
+from gn2.db import webqtlDatabaseFunction
+from gn2.wqflask.database import database_connection
+from gn2.utility.tools import get_setting
class GSearch:
diff --git a/wqflask/wqflask/user_login.py b/gn2/wqflask/user_login.py
index ae61edb0..55af2081 100644
--- a/wqflask/wqflask/user_login.py
+++ b/gn2/wqflask/user_login.py
@@ -12,16 +12,16 @@ import simplejson as json
from flask import (Flask, g, render_template, url_for, request, make_response,
redirect, flash, abort)
-from wqflask import app
-from wqflask import pbkdf2
-from wqflask.user_session import UserSession
+from gn2.wqflask import app
+from gn2.wqflask import pbkdf2
+from gn2.wqflask.user_session import UserSession
-from utility import hmac
-from utility.redis_tools import is_redis_available, get_redis_conn, get_user_id, get_user_by_unique_column, set_user_attribute, save_user, save_verification_code, check_verification_code, get_user_collections, save_collections
+from gn2.utility import hmac
+from gn2.utility.redis_tools import is_redis_available, get_redis_conn, get_user_id, get_user_by_unique_column, set_user_attribute, save_user, save_verification_code, check_verification_code, get_user_collections, save_collections
Redis = get_redis_conn()
from smtplib import SMTP
-from utility.tools import SMTP_CONNECT, SMTP_USERNAME, SMTP_PASSWORD, LOG_SQL_ALCHEMY, GN2_BRANCH_URL
+from gn2.utility.tools import SMTP_CONNECT, SMTP_USERNAME, SMTP_PASSWORD, LOG_SQL_ALCHEMY, GN2_BRANCH_URL
THREE_DAYS = 60 * 60 * 24 * 3
@@ -173,7 +173,7 @@ def verify_email():
def login():
params = request.form if request.form else request.args
if not params: # ZS: If coming to page for first time
- from utility.tools import GITHUB_AUTH_URL, GITHUB_CLIENT_ID, ORCID_AUTH_URL, ORCID_CLIENT_ID
+ from gn2.utility.tools import GITHUB_AUTH_URL, GITHUB_CLIENT_ID, ORCID_AUTH_URL, ORCID_CLIENT_ID
external_login = {}
if GITHUB_AUTH_URL and GITHUB_CLIENT_ID != 'UNKNOWN':
external_login["github"] = GITHUB_AUTH_URL
@@ -251,7 +251,7 @@ def login():
@app.route("/n/login/github_oauth2", methods=('GET', 'POST'))
def github_oauth2():
- from utility.tools import GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_AUTH_URL
+ from gn2.utility.tools import GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_AUTH_URL
code = request.args.get("code")
data = {
"client_id": GITHUB_CLIENT_ID,
@@ -285,7 +285,7 @@ def github_oauth2():
def get_github_user_details(access_token):
- from utility.tools import GITHUB_API_URL
+ from gn2.utility.tools import GITHUB_API_URL
result = requests.get(GITHUB_API_URL, headers={
'Authorization': 'token ' + access_token}).content
@@ -295,7 +295,7 @@ def get_github_user_details(access_token):
@app.route("/n/login/orcid_oauth2", methods=('GET', 'POST'))
def orcid_oauth2():
from uuid import uuid4
- from utility.tools import ORCID_CLIENT_ID, ORCID_CLIENT_SECRET, ORCID_TOKEN_URL, ORCID_AUTH_URL
+ from gn2.utility.tools import ORCID_CLIENT_ID, ORCID_CLIENT_SECRET, ORCID_TOKEN_URL, ORCID_AUTH_URL
code = request.args.get("code")
error = request.args.get("error")
url = "/n/login"
@@ -332,7 +332,7 @@ def orcid_oauth2():
def get_github_user_details(access_token):
- from utility.tools import GITHUB_API_URL
+ from gn2.utility.tools import GITHUB_API_URL
result = requests.get(GITHUB_API_URL, headers={
'Authorization': 'token ' + access_token}).content
diff --git a/wqflask/wqflask/user_session.py b/gn2/wqflask/user_session.py
index 39b2aec1..af4e8cb4 100644
--- a/wqflask/wqflask/user_session.py
+++ b/gn2/wqflask/user_session.py
@@ -7,10 +7,10 @@ import simplejson as json
from flask import (Flask, g, render_template, url_for, request, make_response,
redirect, flash, abort)
-from wqflask import app
-from utility import hmac
+from gn2.wqflask import app
+from gn2.utility import hmac
-from utility.redis_tools import get_redis_conn, get_user_id, get_user_by_unique_column, set_user_attribute, get_user_collections, save_collections
+from gn2.utility.redis_tools import get_redis_conn, get_user_id, get_user_by_unique_column, set_user_attribute, get_user_collections, save_collections
Redis = get_redis_conn()
diff --git a/wqflask/wqflask/views.py b/gn2/wqflask/views.py
index a10d613e..4f636ebc 100644
--- a/wqflask/wqflask/views.py
+++ b/gn2/wqflask/views.py
@@ -27,7 +27,7 @@ from uuid import UUID
from urllib.parse import urljoin
-from wqflask import app
+from gn2.wqflask import app
from gn3.computations.gemma import generate_hash_of_string
from flask import current_app
@@ -45,70 +45,70 @@ from flask import session
# Some of these (like collect) might contain endpoints, so they're still used.
# Blueprints should probably be used instead.
-from wqflask import collect
-from wqflask import search_results
-from wqflask import server_side
-from base.data_set import create_dataset # Used by YAML in marker_regression
-from wqflask.show_trait import show_trait
-from wqflask.show_trait import export_trait_data
-from wqflask.show_trait.show_trait import get_diff_of_vals
-from wqflask.heatmap import heatmap
-from wqflask.external_tools import send_to_bnw
-from wqflask.external_tools import send_to_webgestalt
-from wqflask.external_tools import send_to_geneweaver
-from wqflask.comparison_bar_chart import comparison_bar_chart
-from wqflask.marker_regression import run_mapping
-from wqflask.marker_regression.exceptions import NoMappingResultsError
-from wqflask.marker_regression import display_mapping_results
-from wqflask.network_graph import network_graph
-from wqflask.correlation.show_corr_results import set_template_vars
-from wqflask.correlation.correlation_gn3_api import compute_correlation
-from wqflask.correlation.rust_correlation import compute_correlation_rust
-from wqflask.correlation_matrix import show_corr_matrix
-from wqflask.correlation import corr_scatter_plot
-from wqflask.correlation.exceptions import WrongCorrelationType
-from wqflask.ctl.gn3_ctl_analysis import run_ctl
-
-from wqflask.wgcna.gn3_wgcna import run_wgcna
-from wqflask.snp_browser import snp_browser
-from wqflask.search_results import SearchResultPage
-from wqflask.export_traits import export_traits
-from wqflask.gsearch import GSearch
-from wqflask.update_search_results import GSearch as UpdateGSearch
-from wqflask.docs import Docs, update_text
-from wqflask.decorators import edit_access_required
-from wqflask.db_info import InfoPage
-
-from wqflask.oauth2 import client
-from wqflask.oauth2.client import no_token_get
-from wqflask.oauth2.request_utils import with_flash_error, with_flash_success
-
-from utility import temp_data
-from utility.tools import get_setting
-from utility.tools import TEMPDIR
-from utility.tools import USE_REDIS
-from utility.tools import REDIS_URL
-from utility.tools import GN_SERVER_URL
-from utility.tools import GN3_LOCAL_URL
-from utility.tools import GN_VERSION
-from utility.tools import JS_TWITTER_POST_FETCHER_PATH
-from utility.tools import JS_GUIX_PATH
-from utility.helper_functions import get_species_groups
-from utility.redis_tools import get_redis_conn
-
-import utility.hmac as hmac
-
-from base.webqtlConfig import TMPDIR
-from base.webqtlConfig import GENERATED_IMAGE_DIR
-
-from wqflask.database import database_connection
-
-import jobs.jobs as jobs
-
-from wqflask.oauth2.session import session_info
-from wqflask.oauth2.checks import user_logged_in
-
-from wqflask import requests as monad_requests
+from gn2.wqflask import collect
+from gn2.wqflask import search_results
+from gn2.wqflask import server_side
+from gn2.base.data_set import create_dataset # Used by YAML in marker_regression
+from gn2.wqflask.show_trait import show_trait
+from gn2.wqflask.show_trait import export_trait_data
+from gn2.wqflask.show_trait.show_trait import get_diff_of_vals
+from gn2.wqflask.heatmap import heatmap
+from gn2.wqflask.external_tools import send_to_bnw
+from gn2.wqflask.external_tools import send_to_webgestalt
+from gn2.wqflask.external_tools import send_to_geneweaver
+from gn2.wqflask.comparison_bar_chart import comparison_bar_chart
+from gn2.wqflask.marker_regression import run_mapping
+from gn2.wqflask.marker_regression.exceptions import NoMappingResultsError
+from gn2.wqflask.marker_regression import display_mapping_results
+from gn2.wqflask.network_graph import network_graph
+from gn2.wqflask.correlation.show_corr_results import set_template_vars
+from gn2.wqflask.correlation.correlation_gn3_api import compute_correlation
+from gn2.wqflask.correlation.rust_correlation import compute_correlation_rust
+from gn2.wqflask.correlation_matrix import show_corr_matrix
+from gn2.wqflask.correlation import corr_scatter_plot
+from gn2.wqflask.correlation.exceptions import WrongCorrelationType
+from gn2.wqflask.ctl.gn3_ctl_analysis import run_ctl
+
+from gn2.wqflask.wgcna.gn3_wgcna import run_wgcna
+from gn2.wqflask.snp_browser import snp_browser
+from gn2.wqflask.search_results import SearchResultPage
+from gn2.wqflask.export_traits import export_traits
+from gn2.wqflask.gsearch import GSearch
+from gn2.wqflask.update_search_results import GSearch as UpdateGSearch
+from gn2.wqflask.docs import Docs, update_text
+from gn2.wqflask.decorators import edit_access_required
+from gn2.wqflask.db_info import InfoPage
+
+from gn2.wqflask.oauth2 import client
+from gn2.wqflask.oauth2.client import no_token_get
+from gn2.wqflask.oauth2.request_utils import with_flash_error, with_flash_success
+
+from gn2.utility import temp_data
+from gn2.utility.tools import get_setting
+from gn2.utility.tools import TEMPDIR
+from gn2.utility.tools import USE_REDIS
+from gn2.utility.tools import REDIS_URL
+from gn2.utility.tools import GN_SERVER_URL
+from gn2.utility.tools import GN3_LOCAL_URL
+from gn2.utility.tools import GN_VERSION
+from gn2.utility.tools import JS_TWITTER_POST_FETCHER_PATH
+from gn2.utility.tools import JS_GUIX_PATH
+from gn2.utility.helper_functions import get_species_groups
+from gn2.utility.redis_tools import get_redis_conn
+
+import gn2.utility.hmac as hmac
+
+from gn2.base.webqtlConfig import TMPDIR
+from gn2.base.webqtlConfig import GENERATED_IMAGE_DIR
+
+from gn2.wqflask.database import database_connection
+
+import gn2.jobs.jobs as jobs
+
+from gn2.wqflask.oauth2.session import session_info
+from gn2.wqflask.oauth2.checks import user_logged_in
+
+from gn2.wqflask import requests as monad_requests
Redis = get_redis_conn()
diff --git a/wqflask/wqflask/wgcna/__init__.py b/gn2/wqflask/wgcna/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/wqflask/wgcna/__init__.py
+++ b/gn2/wqflask/wgcna/__init__.py
diff --git a/wqflask/wqflask/wgcna/gn3_wgcna.py b/gn2/wqflask/wgcna/gn3_wgcna.py
index ab7fe46c..2cae4f18 100644
--- a/wqflask/wqflask/wgcna/gn3_wgcna.py
+++ b/gn2/wqflask/wgcna/gn3_wgcna.py
@@ -5,8 +5,8 @@ and process data to be rendered by datatables
import requests
from types import SimpleNamespace
-from utility.helper_functions import get_trait_db_obs
-from utility.tools import GN3_LOCAL_URL
+from gn2.utility.helper_functions import get_trait_db_obs
+from gn2.utility.tools import GN3_LOCAL_URL
def fetch_trait_data(requestform):
diff --git a/wqflask/wqflask/wgcna/wgcna_analysis.py b/gn2/wqflask/wgcna/wgcna_analysis.py
index f96892a0..f982c021 100644
--- a/wqflask/wqflask/wgcna/wgcna_analysis.py
+++ b/gn2/wqflask/wgcna/wgcna_analysis.py
@@ -10,11 +10,11 @@ import rpy2.rinterface as ri
from array import array as arr
from numpy import *
-from base.webqtlConfig import GENERATED_IMAGE_DIR
+from gn2.base.webqtlConfig import GENERATED_IMAGE_DIR
from rpy2.robjects.packages import importr
-from utility import webqtlUtil # Random number for the image
-from utility import helper_functions
+from gn2.utility import webqtlUtil # Random number for the image
+from gn2.utility import helper_functions
utils = importr("utils")
diff --git a/gn2/wsgi.py b/gn2/wsgi.py
new file mode 100644
index 00000000..94cc605d
--- /dev/null
+++ b/gn2/wsgi.py
@@ -0,0 +1,4 @@
+from gn2.run_gunicorn import app as application # expect application as a name
+
+if __name__ == "__main__":
+ application.run()
diff --git a/setup.py b/setup.py
index 8436dcd3..e192ea61 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@ setup(name='genenetwork2',
url = "https://github.com/genenetwork/genenetwork2/blob/master/README.md",
description = 'Website and tools for genetics.',
include_package_data=True,
- packages=['wqflask', 'etc'],
+ packages=find_packages(),
scripts=['bin/genenetwork2'],
# package_data = {
# 'etc': ['*.py']
diff --git a/wqflask/gn2_main.py b/wqflask/gn2_main.py
deleted file mode 100644
index 11f24d3b..00000000
--- a/wqflask/gn2_main.py
+++ /dev/null
@@ -1,19 +0,0 @@
-"""Main application entry point."""
-
-from wqflask import app
-
-
-from wqflask import docs
-from wqflask import gsearch
-from wqflask import db_info
-from wqflask import user_login
-from wqflask.api import router
-from wqflask import user_session
-from wqflask import group_manager
-from wqflask import export_traits
-from wqflask import search_results
-from wqflask import resource_manager
-from wqflask import update_search_results
-
-import wqflask.views
-import wqflask.partial_correlations_views
diff --git a/wqflask/wsgi.py b/wqflask/wsgi.py
deleted file mode 100644
index 755da333..00000000
--- a/wqflask/wsgi.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from run_gunicorn import app as application # expect application as a name
-
-if __name__ == "__main__":
- application.run()