aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-06-22 16:31:18 +0300
committerzsloan2023-06-22 10:18:31 -0500
commit971d29e82391cc269405f59b5aad5f31061b633d (patch)
treebfcb63ab18aebfa1aa13c3f7319ce28e734fceb6
parent18e2c59a2eb9b1bf952bec6ddfec0cd1abc7cc89 (diff)
downloadgenenetwork2-971d29e82391cc269405f59b5aad5f31061b633d.tar.gz
Update calls to `database_connection` function
Pass in the database URI at call time.
-rw-r--r--scripts/performance/timeit_gn2.py3
-rw-r--r--scripts/sampledata.py8
-rw-r--r--wqflask/base/data_set/__init__.py4
-rw-r--r--wqflask/base/data_set/dataset.py11
-rw-r--r--wqflask/base/data_set/datasetgroup.py5
-rw-r--r--wqflask/base/data_set/genotypedataset.py3
-rw-r--r--wqflask/base/data_set/mrnaassaydataset.py7
-rw-r--r--wqflask/base/data_set/phenotypedataset.py5
-rw-r--r--wqflask/base/data_set/probably_unused.py3
-rw-r--r--wqflask/base/data_set/utils.py6
-rw-r--r--wqflask/base/trait.py4
-rw-r--r--wqflask/db/webqtlDatabaseFunction.py6
-rw-r--r--wqflask/maintenance/gen_select_dataset.py21
-rw-r--r--wqflask/maintenance/generate_probesetfreeze_file.py3
-rw-r--r--wqflask/maintenance/quantile_normalize.py18
-rw-r--r--wqflask/maintenance/set_resource_defaults.py19
-rw-r--r--wqflask/utility/authentication_tools.py4
-rw-r--r--wqflask/utility/helper_functions.py3
-rw-r--r--wqflask/wqflask/api/correlation.py5
-rw-r--r--wqflask/wqflask/api/router.py32
-rw-r--r--wqflask/wqflask/correlation/correlation_functions.py3
-rw-r--r--wqflask/wqflask/db_info.py3
-rw-r--r--wqflask/wqflask/do_search.py6
-rw-r--r--wqflask/wqflask/docs.py5
-rw-r--r--wqflask/wqflask/external_tools/send_to_geneweaver.py3
-rw-r--r--wqflask/wqflask/external_tools/send_to_webgestalt.py3
-rw-r--r--wqflask/wqflask/heatmap/heatmap.py3
-rw-r--r--wqflask/wqflask/interval_analyst/GeneUtil.py4
-rw-r--r--wqflask/wqflask/marker_regression/display_mapping_results.py7
-rw-r--r--wqflask/wqflask/marker_regression/gemma_mapping.py3
-rw-r--r--wqflask/wqflask/marker_regression/rqtl_mapping.py4
-rw-r--r--wqflask/wqflask/marker_regression/run_mapping.py4
-rw-r--r--wqflask/wqflask/metadata_edits.py35
-rw-r--r--wqflask/wqflask/partial_correlations_views.py4
-rw-r--r--wqflask/wqflask/search_results.py4
-rw-r--r--wqflask/wqflask/show_trait/SampleList.py5
-rw-r--r--wqflask/wqflask/show_trait/show_trait.py8
-rw-r--r--wqflask/wqflask/snp_browser/snp_browser.py12
-rw-r--r--wqflask/wqflask/update_search_results.py5
-rw-r--r--wqflask/wqflask/views.py11
40 files changed, 145 insertions, 157 deletions
diff --git a/scripts/performance/timeit_gn2.py b/scripts/performance/timeit_gn2.py
index 1c64e22c..a3e1fb20 100644
--- a/scripts/performance/timeit_gn2.py
+++ b/scripts/performance/timeit_gn2.py
@@ -14,7 +14,7 @@ class UserSessionSimulator():
def dump_sample_data(dataset_name, trait_id):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
sample_data = {"headers": ["Name", "Value", "SE"], "data": []}
with app.app_context():
@@ -47,6 +47,7 @@ print(dump_sample_data("HLCPublish", "10001"))
from flask import g
from wqflask import app
+from utility.tools import get_setting
from wqflask.database import database_connection
from wqflask.show_trait import show_trait
""",
diff --git a/scripts/sampledata.py b/scripts/sampledata.py
index 9e9733bf..34248823 100644
--- a/scripts/sampledata.py
+++ b/scripts/sampledata.py
@@ -17,6 +17,8 @@ from wqflask.show_trait import show_trait
from wqflask.database import database_connection
from wqflask.search_results import SearchResultPage
+from utility.tools import get_setting
+
class UserSessionSimulator():
def __init__(self, user_id):
@@ -35,7 +37,7 @@ def camel_case(string):
def dump_sample_data(dataset_name, trait_id):
"""Given a DATASET_NAME e.g. 'BXDPublish' and a TRAIT_ID
e.g. '10007', dump the sample data as json object"""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
sample_data = {"headers": ["Name", "Value", "SE"], "data": []}
with app.app_context():
@@ -76,7 +78,7 @@ def fetch_all_traits(species, group, type_, dataset):
def get_trait_metadata(dataset_name, trait_id):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
with app.app_context():
g.user_session = UserSessionSimulator(None)
data = show_trait.ShowTrait(
@@ -138,7 +140,7 @@ Dumping {dataset_name} into {sys.argv[1]}:
def main():
# Dump all sampledata into a given directory
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
for species, group in gen_dropdown_json(conn).get("datasets").items():
for group_name, type_ in group.items():
for dataset_type, datasets in type_.items():
diff --git a/wqflask/base/data_set/__init__.py b/wqflask/base/data_set/__init__.py
index e49c6a93..69eaab53 100644
--- a/wqflask/base/data_set/__init__.py
+++ b/wqflask/base/data_set/__init__.py
@@ -10,7 +10,7 @@ from redis import Redis
# local imports
from .dataset import DataSet
from base import webqtlConfig
-from utility.tools import USE_REDIS
+from utility.tools import get_setting, USE_REDIS
from .datasettype import DatasetType
from .tempdataset import TempDataSet
from .datasetgroup import DatasetGroup
@@ -54,7 +54,7 @@ def create_dataset(dataset_name, dataset_type=None,
def datasets(group_name, this_group=None, redis_conn=Redis()):
key = "group_dataset_menu:v2:" + group_name
dataset_menu = []
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute('''
(SELECT '#PublishFreeze',PublishFreeze.FullName,PublishFreeze.Name
FROM PublishFreeze,InbredSet
diff --git a/wqflask/base/data_set/dataset.py b/wqflask/base/data_set/dataset.py
index feab2b23..435d74a9 100644
--- a/wqflask/base/data_set/dataset.py
+++ b/wqflask/base/data_set/dataset.py
@@ -7,6 +7,7 @@ from redis import Redis
from base import species
from utility import chunks
+from utility.tools import get_setting
from gn3.monads import MonadicDict, query_sql
from pymonad.maybe import Maybe, Nothing
from .datasetgroup import DatasetGroup
@@ -64,7 +65,7 @@ class DataSet:
"""Get the accession_id of this dataset depending on the
dataset type."""
__query = ""
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
if self.type == "Publish":
__query = (
"SELECT InfoFiles.GN_AccesionId AS accession_id FROM "
@@ -115,7 +116,7 @@ class DataSet:
all is passed.
"""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
try:
if self.type == "ProbeSet":
cursor.execute(
@@ -148,7 +149,7 @@ class DataSet:
results = {}
traits_name_dict = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT ProbeSetXRef.DataId,ProbeSet.Name "
"FROM ProbeSet, ProbeSetXRef, ProbeSetFreeze "
@@ -179,7 +180,7 @@ class DataSet:
if self.group.parlist != None and self.group.f1list != None:
if (self.group.parlist + self.group.f1list) in self.samplelist:
self.samplelist += self.group.parlist + self.group.f1list
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, Strain.Id FROM "
"Strain, Species WHERE Strain.Name IN "
@@ -219,7 +220,7 @@ class DataSet:
if (self.group.parlist + self.group.f1list) in self.samplelist:
self.samplelist += self.group.parlist + self.group.f1list
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, Strain.Id FROM Strain, Species "
f"WHERE Strain.Name IN {create_in_clause(self.samplelist)} "
diff --git a/wqflask/base/data_set/datasetgroup.py b/wqflask/base/data_set/datasetgroup.py
index 72577f38..95dc976f 100644
--- a/wqflask/base/data_set/datasetgroup.py
+++ b/wqflask/base/data_set/datasetgroup.py
@@ -15,6 +15,7 @@ from utility.tools import (
locate,
USE_REDIS,
flat_files,
+ get_setting,
flat_file_exists,
locate_ignore_error)
@@ -29,7 +30,7 @@ class DatasetGroup:
def __init__(self, dataset, name=None):
"""This sets self.group and self.group_id"""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if not name:
cursor.execute(dataset.query_for_group,
(dataset.name,))
@@ -64,7 +65,7 @@ class DatasetGroup:
def get_mapping_methods(self):
mapping_id = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT MappingMethodId FROM "
"InbredSet WHERE Name= %s",
diff --git a/wqflask/base/data_set/genotypedataset.py b/wqflask/base/data_set/genotypedataset.py
index 2381a42a..b903cd72 100644
--- a/wqflask/base/data_set/genotypedataset.py
+++ b/wqflask/base/data_set/genotypedataset.py
@@ -2,6 +2,7 @@
from .dataset import DataSet
from utility import webqtlUtil
+from utility.tools import get_setting
from db import webqtlDatabaseFunction
from .utils import geno_mrna_confidentiality
from wqflask.database import database_connection
@@ -46,7 +47,7 @@ GenoFreeze.Name = %s"""
def retrieve_sample_data(self, trait):
results = []
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, GenoData.value, "
"GenoSE.error, 'N/A', Strain.Name2 "
diff --git a/wqflask/base/data_set/mrnaassaydataset.py b/wqflask/base/data_set/mrnaassaydataset.py
index b76c5a74..4eb998b5 100644
--- a/wqflask/base/data_set/mrnaassaydataset.py
+++ b/wqflask/base/data_set/mrnaassaydataset.py
@@ -6,6 +6,7 @@ import codecs
from .dataset import DataSet
from .utils import geno_mrna_confidentiality
from wqflask.database import database_connection
+from utility.tools import get_setting
class MrnaAssayDataSet(DataSet):
'''
@@ -73,7 +74,7 @@ ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND ProbeSetFreeze.Name = %s"""
# Note: setting trait_list to [] is probably not a great idea.
if not trait_list:
trait_list = []
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
for this_trait in trait_list:
if not this_trait.haveinfo:
@@ -144,7 +145,7 @@ ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND ProbeSetFreeze.Name = %s"""
return trait_list
def retrieve_sample_data(self, trait):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, ProbeSetData.value, "
"ProbeSetSE.error, NStrain.count, "
@@ -168,7 +169,7 @@ ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND ProbeSetFreeze.Name = %s"""
return cursor.fetchall()
def retrieve_genes(self, column_name):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
f"SELECT ProbeSet.Name, ProbeSet.{column_name} "
"FROM ProbeSet,ProbeSetXRef WHERE "
diff --git a/wqflask/base/data_set/phenotypedataset.py b/wqflask/base/data_set/phenotypedataset.py
index bdf28a7a..5a39418a 100644
--- a/wqflask/base/data_set/phenotypedataset.py
+++ b/wqflask/base/data_set/phenotypedataset.py
@@ -2,6 +2,7 @@
from .dataset import DataSet
from base import webqtlConfig
+from utility.tools import get_setting
from wqflask.database import database_connection
class PhenotypeDataSet(DataSet):
@@ -96,7 +97,7 @@ SELECT InbredSet.Name, InbredSet.Id, InbredSet.GeneticType, InbredSet.InbredSetC
this_trait.LRS_location_repr = "N/A"
if this_trait.lrs:
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Geno.Chr, Geno.Mb FROM "
"Geno, Species WHERE "
@@ -113,7 +114,7 @@ SELECT InbredSet.Name, InbredSet.Id, InbredSet.GeneticType, InbredSet.InbredSetC
LRS_Chr, float(LRS_Mb))
def retrieve_sample_data(self, trait):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, PublishData.value, "
"PublishSE.error, NStrain.count, "
diff --git a/wqflask/base/data_set/probably_unused.py b/wqflask/base/data_set/probably_unused.py
index 4e54bcff..abd3ad07 100644
--- a/wqflask/base/data_set/probably_unused.py
+++ b/wqflask/base/data_set/probably_unused.py
@@ -3,6 +3,7 @@
import pickle as pickle
from wqflask.database import database_connection
+from utility.tools import get_setting
def create_datasets_list():
if USE_REDIS:
@@ -19,7 +20,7 @@ def create_datasets_list():
'Geno': 'GenoFreeze'}
for dataset_type in type_dict:
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT Name FROM %s",
(type_dict[dataset_type],))
results = cursor.fetchall(query)
diff --git a/wqflask/base/data_set/utils.py b/wqflask/base/data_set/utils.py
index 703fee04..d18180c4 100644
--- a/wqflask/base/data_set/utils.py
+++ b/wqflask/base/data_set/utils.py
@@ -7,12 +7,12 @@ import hashlib
from typing import List
-from utility.tools import SQL_URI
+from utility.tools import get_setting, SQL_URI
from base.webqtlConfig import TMPDIR
from wqflask.database import parse_db_url, database_connection
def geno_mrna_confidentiality(ob):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT confidentiality, "
f"AuthorisedUsers FROM {ob.type}Freeze WHERE Name = %s",
@@ -26,7 +26,7 @@ def query_table_timestamp(dataset_type: str):
"""function to query the update timestamp of a given dataset_type"""
# computation data and actions
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
fetch_db_name = parse_db_url(SQL_URI)
cursor.execute(
"SELECT UPDATE_TIME FROM "
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py
index 37085448..103ff0c0 100644
--- a/wqflask/base/trait.py
+++ b/wqflask/base/trait.py
@@ -7,7 +7,7 @@ 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 GN2_BASE_URL
+from utility.tools import get_setting, GN2_BASE_URL
from utility.redis_tools import get_redis_conn, get_resource_id
from flask import g, request, url_for
@@ -394,7 +394,7 @@ def retrieve_trait_info(trait, dataset, get_qtl_info=False):
if not dataset:
raise ValueError("Dataset doesn't exist")
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
trait_info = ()
if dataset.type == 'Publish':
cursor.execute(
diff --git a/wqflask/db/webqtlDatabaseFunction.py b/wqflask/db/webqtlDatabaseFunction.py
index 878792b4..b09cf377 100644
--- a/wqflask/db/webqtlDatabaseFunction.py
+++ b/wqflask/db/webqtlDatabaseFunction.py
@@ -22,12 +22,14 @@
from wqflask.database import database_connection
+from utility.tools import get_setting
+
def retrieve_species(group):
"""Get the species of a group (e.g. returns string "mouse" on "BXD"
"""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Species.Name FROM Species, InbredSet WHERE InbredSet.Name = %s AND InbredSet.SpeciesId = Species.Id",
(group,))
@@ -37,7 +39,7 @@ def retrieve_species(group):
def retrieve_species_id(group):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT SpeciesId FROM InbredSet WHERE Name = %s",
(group,))
return cursor.fetchone()[0]
diff --git a/wqflask/maintenance/gen_select_dataset.py b/wqflask/maintenance/gen_select_dataset.py
index 9f4b670d..01b2fc15 100644
--- a/wqflask/maintenance/gen_select_dataset.py
+++ b/wqflask/maintenance/gen_select_dataset.py
@@ -37,7 +37,7 @@ sys.path.insert(0, './')
# NEW: import app to avoid a circular dependency on utility.tools
from wqflask import app
-from utility.tools import locate, locate_ignore_error, TEMPDIR, SQL_URI
+from utility.tools import get_setting
import simplejson as json
import urllib.parse
@@ -48,21 +48,6 @@ from pprint import pformat as pf
from wqflask.database import database_connection
-def parse_db_uri():
- """Converts a database URI to the db name, host name, user name, and password"""
-
- parsed_uri = urllib.parse.urlparse(SQL_URI)
-
- db_conn_info = dict(
- db=parsed_uri.path[1:],
- host=parsed_uri.hostname,
- user=parsed_uri.username,
- passwd=parsed_uri.password)
-
- print(db_conn_info)
- return db_conn_info
-
-
def get_species(cursor):
"""Build species list"""
#cursor.execute("select Name, MenuName from Species where Species.Name != 'macaque monkey' order by OrderId")
@@ -268,8 +253,6 @@ def build_datasets(species, group, type_name):
def main(cursor):
"""Generates and outputs (as json file) the data for the main dropdown menus on the home page"""
- parse_db_uri()
-
species = get_species(cursor)
groups = get_groups(cursor, species)
types = get_types(groups)
@@ -308,6 +291,6 @@ def _test_it():
if __name__ == '__main__':
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
main(cursor)
diff --git a/wqflask/maintenance/generate_probesetfreeze_file.py b/wqflask/maintenance/generate_probesetfreeze_file.py
index f43f952b..2f917c71 100644
--- a/wqflask/maintenance/generate_probesetfreeze_file.py
+++ b/wqflask/maintenance/generate_probesetfreeze_file.py
@@ -12,6 +12,7 @@ from base import webqtlConfig
from pprint import pformat as pf
+from utility.tools import get_setting
from wqflask.database import database_connection
@@ -107,7 +108,7 @@ def main():
"(Oct08)_RankInv_Beta.txt")
dataset_name = "Eye_AXBXA_1008_RankInv"
- with database_connection as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
strains = get_strains(cursor)
print("Getting probset_vals")
diff --git a/wqflask/maintenance/quantile_normalize.py b/wqflask/maintenance/quantile_normalize.py
index 90ec72de..36049a82 100644
--- a/wqflask/maintenance/quantile_normalize.py
+++ b/wqflask/maintenance/quantile_normalize.py
@@ -9,21 +9,7 @@ from flask import Flask, g, request
from wqflask import app
from wqflask.database import database_connection
-
-
-def parse_db_uri():
- """Converts a database URI to the db name, host name, user name, and password"""
-
- parsed_uri = urllib.parse.urlparse(SQL_URI)
-
- db_conn_info = dict(
- db=parsed_uri.path[1:],
- host=parsed_uri.hostname,
- user=parsed_uri.username,
- passwd=parsed_uri.password)
-
- print(db_conn_info)
- return db_conn_info
+from utility.tools import get_setting
def create_dataframe(input_file):
@@ -99,7 +85,7 @@ def set_data(cursor, dataset_name):
if __name__ == '__main__':
- with database_connection as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
success, _ = bulk(es, set_data(cursor, sys.argv[1]))
diff --git a/wqflask/maintenance/set_resource_defaults.py b/wqflask/maintenance/set_resource_defaults.py
index 0d9372ff..cebe33c0 100644
--- a/wqflask/maintenance/set_resource_defaults.py
+++ b/wqflask/maintenance/set_resource_defaults.py
@@ -26,7 +26,7 @@ sys.path.insert(0, './')
from wqflask import app
from utility import hmac
-from utility.tools import SQL_URI
+from utility.tools import get_setting
from utility.redis_tools import get_redis_conn, get_user_id, add_resource, get_resources, get_resource_info
Redis = get_redis_conn()
@@ -35,21 +35,6 @@ import urllib.parse
from wqflask.database import database_connection
-def parse_db_uri():
- """Converts a database URI to the db name, host name, user name, and password"""
-
- parsed_uri = urllib.parse.urlparse(SQL_URI)
-
- db_conn_info = dict(
- db=parsed_uri.path[1:],
- host=parsed_uri.hostname,
- user=parsed_uri.username,
- passwd=parsed_uri.password)
-
- print(db_conn_info)
- return db_conn_info
-
-
def insert_probeset_resources(cursor, default_owner_id):
current_resources = Redis.hgetall("resources")
cursor.execute(""" SELECT
@@ -163,6 +148,6 @@ def main(cursor):
if __name__ == '__main__':
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
main(cursor)
diff --git a/wqflask/utility/authentication_tools.py b/wqflask/utility/authentication_tools.py
index 7d80b3fb..5d00d600 100644
--- a/wqflask/utility/authentication_tools.py
+++ b/wqflask/utility/authentication_tools.py
@@ -9,7 +9,7 @@ from utility.redis_tools import (get_redis_conn,
get_resource_info,
get_resource_id,
add_resource)
-from utility.tools import GN_PROXY_URL
+from utility.tools import get_setting, GN_PROXY_URL
Redis = get_redis_conn()
@@ -82,7 +82,7 @@ def add_new_resource(dataset, trait_id=None):
def get_group_code(dataset):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT InbredSetCode FROM InbredSet WHERE Name=%s",
(dataset.group.name,)
diff --git a/wqflask/utility/helper_functions.py b/wqflask/utility/helper_functions.py
index 0c0794dc..8b20bd74 100644
--- a/wqflask/utility/helper_functions.py
+++ b/wqflask/utility/helper_functions.py
@@ -3,6 +3,7 @@ from base.trait import create_trait
from base.species import TheSpecies
from utility import hmac
+from utility.tools import get_setting
from wqflask.database import database_connection
@@ -51,7 +52,7 @@ def get_species_groups():
"""Group each species into a group"""
_menu = {}
species, group_name = None, None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT s.MenuName, i.InbredSetName FROM InbredSet i "
"INNER JOIN Species s ON s.SpeciesId = i.SpeciesId "
diff --git a/wqflask/wqflask/api/correlation.py b/wqflask/wqflask/api/correlation.py
index 9fafc881..f3a06e19 100644
--- a/wqflask/wqflask/api/correlation.py
+++ b/wqflask/wqflask/api/correlation.py
@@ -4,6 +4,7 @@ import scipy
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
@@ -127,7 +128,7 @@ def do_literature_correlation_for_all_traits(this_trait, target_dataset, trait_g
if mouse_gene_id and str(mouse_gene_id).find(";") == -1:
result = ""
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
cursor.execute(
("SELECT value FROM LCorrRamin3 "
@@ -198,7 +199,7 @@ def convert_to_mouse_gene_id(species=None, gene_id=None):
return None
mouse_gene_id = None
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
if species == 'mouse':
mouse_gene_id = gene_id
diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py
index d7eeac34..0218f207 100644
--- a/wqflask/wqflask/api/router.py
+++ b/wqflask/wqflask/api/router.py
@@ -21,7 +21,7 @@ from wqflask import app
from wqflask.api import correlation, mapping, gen_menu
-from utility.tools import flat_files
+from utility.tools import flat_files, get_setting
from wqflask.database import database_connection
@@ -37,7 +37,7 @@ def hello_world():
@app.route("/api/v_{}/species".format(version))
def get_species_list():
species_list = []
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT SpeciesId, Name, FullName, TaxonomyId FROM Species"
)
@@ -55,7 +55,7 @@ def get_species_list():
@app.route("/api/v_{}/species/<path:species_name>".format(version))
@app.route("/api/v_{}/species/<path:species_name>.<path:file_format>".format(version))
def get_species_info(species_name, file_format="json"):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT SpeciesId, Name, FullName, TaxonomyId "
"FROM Species WHERE (Name=%s OR FullName=%s "
@@ -75,7 +75,7 @@ def get_species_info(species_name, file_format="json"):
@app.route("/api/v_{}/groups/<path:species_name>".format(version))
def get_groups_list(species_name=None):
_groups = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if species_name:
cursor.execute(
"SELECT InbredSet.InbredSetId, "
@@ -123,7 +123,7 @@ def get_groups_list(species_name=None):
@app.route("/api/v_{}/group/<path:species_name>/<path:group_name>.<path:file_format>".format(version))
def get_group_info(group_name, species_name=None, file_format="json"):
group = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if species_name:
cursor.execute(
"SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, "
@@ -176,7 +176,7 @@ def get_group_info(group_name, species_name=None, file_format="json"):
@app.route("/api/v_{}/datasets/<path:species_name>/<path:group_name>".format(version))
def get_datasets_for_group(group_name, species_name=None):
_datasets = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if species_name:
cursor.execute(
"SELECT ProbeSetFreeze.Id, ProbeSetFreeze.ProbeFreezeId, "
@@ -270,7 +270,7 @@ def get_dataset_info(dataset_name, group_name=None, file_format="json"):
(ProbeSetFreeze.Name = "{0}" OR ProbeSetFreeze.Name2 = "{0}" OR
ProbeSetFreeze.FullName = "{0}" OR ProbeSetFreeze.ShortName = "{0}")
""".format(dataset_name)
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(f"{probeset_query}{where_statement}")
if dataset := cursor.fetchone():
@@ -447,7 +447,7 @@ def fetch_traits(dataset_name, file_format="json"):
if 'limit_to' in request.args:
limit_number = request.args['limit_to']
query += "LIMIT " + str(limit_number)
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if file_format == "json":
filename = dataset_name + "_traits.json"
cursor.execute(query.format(dataset_id))
@@ -570,7 +570,7 @@ def all_sample_data(dataset_name, file_format="csv"):
header_list.append("id")
header_list += sample_list
results_list.append(header_list)
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
for i, trait_id in enumerate(trait_ids):
line_list = []
line_list.append(str(trait_names[i]))
@@ -604,7 +604,7 @@ def all_sample_data(dataset_name, file_format="csv"):
@app.route("/api/v_{}/sample_data/<path:dataset_name>/<path:trait_name>".format(version))
@app.route("/api/v_{}/sample_data/<path:dataset_name>/<path:trait_name>.<path:file_format>".format(version))
def trait_sample_data(dataset_name, trait_name, file_format="json"):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name, Strain.Name2, "
"ProbeSetData.value, ProbeSetData.Id, "
@@ -693,7 +693,7 @@ def trait_sample_data(dataset_name, trait_name, file_format="json"):
@app.route("/api/v_{}/trait_info/<path:dataset_name>/<path:trait_name>".format(version))
@app.route("/api/v_{}/trait_info/<path:dataset_name>/<path:trait_name>.<path:file_format>".format(version))
def get_trait_info(dataset_name, trait_name, file_format="json"):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT ProbeSet.Id, ProbeSet.Name, ProbeSet.Symbol, "
"ProbeSet.description, ProbeSet.Chr, ProbeSet.Mb, "
@@ -892,7 +892,7 @@ def get_genotypes(group_name, file_format="csv", dataset_name=None):
@app.route("/api/v_{}/gen_dropdown".format(version), methods=("GET",))
def gen_dropdown_menu():
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
results = gen_menu.gen_dropdown_json(conn)
if len(results) > 0:
@@ -920,7 +920,7 @@ def get_dataset_trait_ids(dataset_name, start_vars):
limit_string = "LIMIT " + str(start_vars['limit_to'])
else:
limit_string = ""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if "Geno" in dataset_name:
data_type = "Geno" # ZS: Need to pass back the dataset type
cursor.execute(
@@ -981,7 +981,7 @@ def get_dataset_trait_ids(dataset_name, start_vars):
def get_samplelist(dataset_name):
group_id = get_group_id_from_dataset(dataset_name)
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name FROM Strain, StrainXRef "
"WHERE StrainXRef.StrainId = Strain.Id AND "
@@ -994,7 +994,7 @@ def get_samplelist(dataset_name):
def get_group_id_from_dataset(dataset_name):
result = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if "Publish" in dataset_name:
cursor.execute(
"SELECT InbredSet.Id FROM "
@@ -1027,7 +1027,7 @@ def get_group_id_from_dataset(dataset_name):
def get_group_id(group_name):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT InbredSet.Id FROM InbredSet "
"WHERE InbredSet.Name = %s",
diff --git a/wqflask/wqflask/correlation/correlation_functions.py b/wqflask/wqflask/correlation/correlation_functions.py
index 5c01b0ac..75399256 100644
--- a/wqflask/wqflask/correlation/correlation_functions.py
+++ b/wqflask/wqflask/correlation/correlation_functions.py
@@ -26,6 +26,7 @@
from 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
#####################################################################################
# Input: primaryValue(list): one list of expression values of one probeSet,
@@ -60,7 +61,7 @@ def cal_zero_order_corr_for_tiss(primary_values, target_values, method="pearson"
def get_trait_symbol_and_tissue_values(symbol_list=None):
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
tissue_data = MrnaAssayTissueData(gene_symbols=symbol_list, conn=conn)
if len(tissue_data.gene_symbols) > 0:
results = tissue_data.get_symbol_values_pairs()
diff --git a/wqflask/wqflask/db_info.py b/wqflask/wqflask/db_info.py
index 3dff422f..7eae86e7 100644
--- a/wqflask/wqflask/db_info.py
+++ b/wqflask/wqflask/db_info.py
@@ -5,6 +5,7 @@ import re
from MySQLdb.cursors import DictCursor
from wqflask.database import database_connection
+from utility.tools import get_setting
class InfoPage:
@@ -74,7 +75,7 @@ class InfoPage:
raise ValueError('No correct parameter found')
results = {}
- with database_connection() as conn, conn.cursor(DictCursor) as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor(DictCursor) as cursor:
if self.gn_accession_id:
cursor.execute(f"{query_base}GN_AccesionId = %s",
(self.gn_accession_id,))
diff --git a/wqflask/wqflask/do_search.py b/wqflask/wqflask/do_search.py
index fbeb7a49..9bc92247 100644
--- a/wqflask/wqflask/do_search.py
+++ b/wqflask/wqflask/do_search.py
@@ -11,7 +11,7 @@ from pprint import pformat as pf
import sys
from db import webqtlDatabaseFunction
-from utility.tools import GN2_BASE_URL
+from utility.tools import get_setting, GN2_BASE_URL
class DoSearch:
@@ -37,7 +37,7 @@ class DoSearch:
def execute(self, query):
"""Executes query and returns results"""
query = self.normalize_spaces(query)
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(query)
return cursor.fetchall()
@@ -950,7 +950,7 @@ if __name__ == "__main__":
from wqflask.database import database_connection
- with database_connection() as db_conn:
+ with database_connection(get_setting("SQL_URI")) as db_conn:
with db_conn.cursor() as cursor:
dataset_name = "HC_M2_0606_P"
dataset = create_dataset(db_conn, dataset_name)
diff --git a/wqflask/wqflask/docs.py b/wqflask/wqflask/docs.py
index c0a07ae2..5d20ce4d 100644
--- a/wqflask/wqflask/docs.py
+++ b/wqflask/wqflask/docs.py
@@ -2,12 +2,13 @@ import codecs
from flask import g
from wqflask.database import database_connection
+from utility.tools import get_setting
class Docs:
def __init__(self, entry, start_vars={}):
results = None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT Docs.title, CAST(Docs.content AS BINARY) "
"FROM Docs WHERE Docs.entry LIKE %s", (str(entry),))
result = cursor.fetchone()
@@ -33,7 +34,7 @@ def update_text(start_vars):
'"', '\\"').replace("'", "\\'")
try:
if g.user_session.record.get('user_email_address') in ["zachary.a.sloan@gmail.com", "labwilliams@gmail.com"]:
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
# Disable updates fully - all docs should be in markdown - please move them there, just like the Environments doc
cursor.execute("UPDATEX Docs SET content=%s WHERE entry=%s",
(content, start_vars.get("entry_type"),))
diff --git a/wqflask/wqflask/external_tools/send_to_geneweaver.py b/wqflask/wqflask/external_tools/send_to_geneweaver.py
index e1178720..94407ae8 100644
--- a/wqflask/wqflask/external_tools/send_to_geneweaver.py
+++ b/wqflask/wqflask/external_tools/send_to_geneweaver.py
@@ -19,6 +19,7 @@
# 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
class SendToGeneWeaver:
@@ -62,7 +63,7 @@ def get_trait_name_list(trait_list):
def test_chip(trait_list):
final_chip_name = ""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
for trait_db in trait_list:
dataset = trait_db[1]
cursor.execute(
diff --git a/wqflask/wqflask/external_tools/send_to_webgestalt.py b/wqflask/wqflask/external_tools/send_to_webgestalt.py
index bc48e6d0..3e0ad2d9 100644
--- a/wqflask/wqflask/external_tools/send_to_webgestalt.py
+++ b/wqflask/wqflask/external_tools/send_to_webgestalt.py
@@ -22,6 +22,7 @@ from wqflask.database import database_connection
from base.trait import retrieve_trait_info
from utility import helper_functions
+from utility.tools import get_setting
class SendToWebGestalt:
@@ -68,7 +69,7 @@ class SendToWebGestalt:
def test_chip(trait_list):
final_chip_name = ""
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
for trait_db in trait_list:
dataset = trait_db[1]
cursor.execute(
diff --git a/wqflask/wqflask/heatmap/heatmap.py b/wqflask/wqflask/heatmap/heatmap.py
index 8ef85d3c..43ea4a4d 100644
--- a/wqflask/wqflask/heatmap/heatmap.py
+++ b/wqflask/wqflask/heatmap/heatmap.py
@@ -10,6 +10,7 @@ from redis import Redis
from flask import Flask, g
from wqflask.database import database_connection
+from utility.tools import get_setting
Redis = Redis()
@@ -33,7 +34,7 @@ class Heatmap:
chrnames = []
self.species = species.TheSpecies(dataset=self.trait_list[0][1])
- with database_connection() as conn, conn.cursor() as db_cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as db_cursor:
for this_chr in self.species.chromosomes.chromosomes(db_cursor):
chrnames.append([self.species.chromosomes.chromosomes(db_cursor)[this_chr].name,
self.species.chromosomes.chromosomes(db_cursor)[this_chr].mb_length])
diff --git a/wqflask/wqflask/interval_analyst/GeneUtil.py b/wqflask/wqflask/interval_analyst/GeneUtil.py
index 5e3e9c9d..72bd8bae 100644
--- a/wqflask/wqflask/interval_analyst/GeneUtil.py
+++ b/wqflask/wqflask/interval_analyst/GeneUtil.py
@@ -2,7 +2,7 @@ import string
from wqflask.database import database_connection
-from utility.tools import flat_files
+from utility.tools import flat_files, get_setting
def load_homology(chr_name, start_mb, end_mb, source_file):
homology_list = []
@@ -52,7 +52,7 @@ def loadGenes(chrName, diffCol, startMb, endMb, species='mouse'):
# List All Species in the Gene Table
speciesDict = {}
results = []
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT Species.Name, GeneList081722.SpeciesId "
"FROM Species, GeneList081722 WHERE "
"GeneList081722.SpeciesId = Species.Id "
diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py
index bf89b0db..e371878b 100644
--- a/wqflask/wqflask/marker_regression/display_mapping_results.py
+++ b/wqflask/wqflask/marker_regression/display_mapping_results.py
@@ -40,6 +40,7 @@ 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
@@ -464,7 +465,7 @@ class DisplayMappingResults:
elif self.dataset.group.species == "rat" and indChr.name == "21":
self.ChrList.append(("X", i))
self.ChrList.append((indChr.name, i))
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT Length FROM Chr_Length, InbredSet "
"WHERE Chr_Length.SpeciesId = InbredSet.SpeciesId "
"AND InbredSet.Name = %s AND Chr_Length.Name IN "
@@ -515,7 +516,7 @@ class DisplayMappingResults:
self.diffCol = []
for i, strain in enumerate(self.diffCol):
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT Id FROM Strain WHERE Symbol = %s",
(strain,))
if result := cursor.fetchone():
@@ -1033,7 +1034,7 @@ class DisplayMappingResults:
SNPCounts = []
while startMb < endMb:
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
# snp count
cursor.execute("SELECT COUNT(*) FROM BXDSnpPosition "
"WHERE Chr = %s AND Mb >= %s AND Mb < %s AND "
diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py
index 4420796c..5d424c97 100644
--- a/wqflask/wqflask/marker_regression/gemma_mapping.py
+++ b/wqflask/wqflask/marker_regression/gemma_mapping.py
@@ -12,6 +12,7 @@ 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 gn3.computations.gemma import generate_hash_of_string
@@ -51,7 +52,7 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco,
this_chromosomes_name = []
- with database_connection() as conn, conn.cursor() as db_cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as db_cursor:
for this_chr in this_dataset.species.chromosomes.chromosomes(db_cursor):
this_chromosomes_name.append(this_dataset.species.chromosomes.chromosomes(db_cursor)[this_chr].name)
diff --git a/wqflask/wqflask/marker_regression/rqtl_mapping.py b/wqflask/wqflask/marker_regression/rqtl_mapping.py
index 9a42bc35..f6ef2e9a 100644
--- a/wqflask/wqflask/marker_regression/rqtl_mapping.py
+++ b/wqflask/wqflask/marker_regression/rqtl_mapping.py
@@ -14,7 +14,7 @@ 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, GN3_LOCAL_URL
+from utility.tools import locate, get_setting, GN3_LOCAL_URL
from wqflask.database import database_connection
@@ -78,7 +78,7 @@ def write_covarstruct_file(cofactors: str) -> str:
and the second column indicates whether they're numerical or categorical
"""
trait_datatype_json = None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT value FROM TraitMetadata WHERE type='trait_data_type'")
trait_datatype_json = json.loads(cursor.fetchone()[0])
diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/wqflask/wqflask/marker_regression/run_mapping.py
index 952d9749..98a97d8d 100644
--- a/wqflask/wqflask/marker_regression/run_mapping.py
+++ b/wqflask/wqflask/marker_regression/run_mapping.py
@@ -35,7 +35,7 @@ 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, locate_ignore_error, GEMMA_COMMAND, PLINK_COMMAND, TEMPDIR
+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
@@ -669,7 +669,7 @@ def geno_db_exists(this_dataset):
def get_chr_lengths(mapping_scale, mapping_method, dataset, qtl_results):
chr_lengths = []
if mapping_scale == "physic":
- with database_connection() as conn, conn.cursor() as db_cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as db_cursor:
for i, the_chr in enumerate(dataset.species.chromosomes.chromosomes(db_cursor)):
this_chr = {
"chr": dataset.species.chromosomes.chromosomes(db_cursor)[the_chr].name,
diff --git a/wqflask/wqflask/metadata_edits.py b/wqflask/wqflask/metadata_edits.py
index 06eca376..ca7e8ae7 100644
--- a/wqflask/wqflask/metadata_edits.py
+++ b/wqflask/wqflask/metadata_edits.py
@@ -130,7 +130,8 @@ def edit_probeset(conn, name):
@required_access(
("group:resource:view-resource", "group:resource:edit-resource"))
def display_phenotype_metadata(dataset_id: str, name: str):
- with database_connection() as conn:
+ from 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)
group_name = retrieve_group_name(dataset_id, conn)
@@ -155,7 +156,8 @@ 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):
- with database_connection() as conn:
+ from utility.tools import get_setting
+ with database_connection(get_setting("SQL_URI")) as conn:
_d = edit_probeset(conn=conn, name=name)
return render_template(
"edit_probeset.html",
@@ -171,6 +173,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
data_ = request.form.to_dict()
TMPDIR = current_app.config.get("TMPDIR")
author = (
@@ -195,7 +198,7 @@ def update_phenotype(dataset_id: str, name: str):
f"{author}.{request.args.get('resource-id')}." f"{current_time}"
)
diff_data = {}
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
group_name = retrieve_group_name(dataset_id, conn)
sample_list = retrieve_sample_list(group_name)
headers = ["Strain Name", "Value", "SE", "Count"]
@@ -289,7 +292,7 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
"authorized_users": data_.get("authorized-users"),
}
updated_phenotypes = ""
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
updated_phenotypes = update(
conn,
"Phenotype",
@@ -323,7 +326,7 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
"year": data_.get("year"),
}
updated_publications = ""
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
existing_publication = fetchone(
conn=conn,
@@ -372,7 +375,7 @@ View the diffs <a href='{url}' target='_blank'>here</a>", "success")
),
}
)
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
insert(
conn,
table="metadata_audit",
@@ -395,7 +398,8 @@ 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):
- with database_connection() as conn:
+ from utility.tools import get_setting
+ with database_connection(get_setting("SQL_URI")) as conn:
data_ = request.form.to_dict()
probeset_ = {
"id_": data_.get("id"),
@@ -486,7 +490,8 @@ def update_probeset(name: str):
@metadata_edit.route("/<dataset_id>/traits/<phenotype_id>/csv")
@login_required
def get_sample_data_as_csv(dataset_id: str, phenotype_id: int):
- with database_connection() as conn:
+ from utility.tools import get_setting
+ with database_connection(get_setting("SQL_URI")) as conn:
return Response(
get_trait_csv_sample_data(
conn=conn,
@@ -554,8 +559,9 @@ 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
diff_data_ = None
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
json_data = None
if dataset_id: # This is a published phenotype
json_data = fetchall(
@@ -630,13 +636,14 @@ def reject_data(resource_id: str, file_name: str):
@edit_admins_access_required
@login_required
def approve_data(resource_id: str, file_name: str):
+ from utility.tools import get_setting
sample_data = {file_name: str}
TMPDIR = current_app.config.get("TMPDIR")
with open(
os.path.join(f"{TMPDIR}/sample-data/diffs", file_name), "r"
) as myfile:
sample_data = json.load(myfile)
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
for modification in (
modifications := [d for d in sample_data.get("Modifications")]
):
@@ -653,7 +660,7 @@ def approve_data(resource_id: str, file_name: str):
)
n_deletions = 0
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
for data in [d for d in sample_data.get("Deletions")]:
__deletions = delete_sample_data(
conn=conn,
@@ -671,7 +678,7 @@ def approve_data(resource_id: str, file_name: str):
sample_data.get("Deletions").remove(data)
n_insertions = 0
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
for data in [d for d in sample_data.get("Additions")]:
if insert_sample_data(
conn=conn,
@@ -690,7 +697,7 @@ def approve_data(resource_id: str, file_name: str):
sample_data.get("Deletions"),
]
):
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
insert(
conn,
table="metadata_audit",
@@ -750,4 +757,4 @@ def create_delta_csv(base_csv, form_data, sample_list):
else:
delta_csv_lines.append(line)
- return "\n".join(delta_csv_lines) \ No newline at end of file
+ return "\n".join(delta_csv_lines)
diff --git a/wqflask/wqflask/partial_correlations_views.py b/wqflask/wqflask/partial_correlations_views.py
index a11d902c..c680d913 100644
--- a/wqflask/wqflask/partial_correlations_views.py
+++ b/wqflask/wqflask/partial_correlations_views.py
@@ -14,7 +14,7 @@ from flask import (
render_template)
from wqflask import app
-from utility.tools import GN_SERVER_URL
+from utility.tools import get_setting, GN_SERVER_URL
from wqflask.database import database_connection
from gn3.db.partial_correlations import traits_info
@@ -309,7 +309,7 @@ def partial_correlations():
for error in args["errors"]:
flash(error, "alert-danger")
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
target_dbs = target_databases(conn, traits, threshold=0)
return render_template(
"partial_correlations/pcorrs_select_operations.html",
diff --git a/wqflask/wqflask/search_results.py b/wqflask/wqflask/search_results.py
index 6222dd88..f661aba7 100644
--- a/wqflask/wqflask/search_results.py
+++ b/wqflask/wqflask/search_results.py
@@ -17,7 +17,7 @@ from wqflask.database import database_connection
from utility import hmac
from utility.authentication_tools import check_resource_availability
-from utility.tools import GN2_BASE_URL
+from utility.tools import get_setting, GN2_BASE_URL
from utility.type_checking import is_str
@@ -381,7 +381,7 @@ def trait_info_str(trait, dataset_type):
def get_GO_symbols(a_search):
gene_list = None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("SELECT genes FROM GORef WHERE goterm=%s",
(f"{a_search['key']}:{a_search['search_term'][0]}",))
gene_list = cursor.fetchone()[0].strip().split()
diff --git a/wqflask/wqflask/show_trait/SampleList.py b/wqflask/wqflask/show_trait/SampleList.py
index 44b89671..0f99243e 100644
--- a/wqflask/wqflask/show_trait/SampleList.py
+++ b/wqflask/wqflask/show_trait/SampleList.py
@@ -7,6 +7,7 @@ from pprint import pformat as pf
from utility import Plot
from utility import Bunch
+from utility.tools import get_setting
class SampleList:
def __init__(self,
@@ -122,7 +123,7 @@ class SampleList:
"""Finds which extra attributes apply to this dataset"""
# Get attribute names and distinct values for each attribute
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT DISTINCT CaseAttribute.Id, "
"CaseAttribute.Name, CaseAttribute.Description, "
@@ -161,7 +162,7 @@ class SampleList:
def get_extra_attribute_values(self):
if self.attributes:
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Strain.Name AS SampleName, "
"CaseAttributeId AS Id, "
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py
index ae5e1ebb..0fbd1a32 100644
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/wqflask/wqflask/show_trait/show_trait.py
@@ -18,7 +18,7 @@ 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 locate_ignore_error
+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
@@ -392,7 +392,7 @@ class ShowTrait:
if self.dataset.group.species == "mouse":
self.aba_link = webqtlConfig.ABA_URL % self.this_trait.symbol
results = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT chromosome, txStart, txEnd FROM "
"GeneList WHERE geneSymbol = %s",
@@ -419,7 +419,7 @@ class ShowTrait:
"rattus-norvegicus", self.this_trait.symbol)
results = ()
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT kgID, chromosome, txStart, txEnd "
"FROM GeneList_rn33 WHERE geneSymbol = %s",
@@ -621,7 +621,7 @@ def get_nearest_marker(this_trait, this_db):
this_mb = this_trait.locus_mb
# One option is to take flanking markers, another is to take the
# two (or one) closest
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute(
"SELECT Geno.Name FROM Geno, GenoXRef, "
"GenoFreeze WHERE Geno.Chr = %s AND "
diff --git a/wqflask/wqflask/snp_browser/snp_browser.py b/wqflask/wqflask/snp_browser/snp_browser.py
index 208f1206..59a4dccf 100644
--- a/wqflask/wqflask/snp_browser/snp_browser.py
+++ b/wqflask/wqflask/snp_browser/snp_browser.py
@@ -6,6 +6,8 @@ from base import webqtlConfig
from wqflask.database import database_connection
+from utility.tools import get_setting
+
class SnpBrowser:
@@ -152,7 +154,7 @@ class SnpBrowser:
self.snp_list = None
__query = ""
__vars = None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if self.gene_name != "":
if self.species_id != 0:
__query = ("SELECT geneSymbol, chromosome, txStart, "
@@ -665,7 +667,7 @@ def get_browser_sample_lists(species_id=1):
strain_lists = {}
mouse_strain_list = []
rat_strain_list = []
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
cursor.execute("SHOW COLUMNS FROM SnpPattern")
_mouse_snp_pattern = cursor.fetchall()
@@ -885,7 +887,7 @@ def get_gene_id(species_id, gene_name):
query = ("SELECT geneId FROM GeneList WHERE "
"SpeciesId = %s AND geneSymbol = %s")
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
cursor.execute(query, (species_id, gene_name))
if (result := cursor.fetchone()):
@@ -900,7 +902,7 @@ def get_gene_id_name_dict(species_id, gene_name_list):
query = ("SELECT geneId, geneSymbol FROM "
"GeneList WHERE SpeciesId = %s AND "
f"geneSymbol in ({', '.join(['%s'] * len(gene_name_list))})")
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
cursor.execute(query, (species_id, *gene_name_list))
results = cursor.fetchall()
@@ -911,7 +913,7 @@ def get_gene_id_name_dict(species_id, gene_name_list):
def check_if_in_gene(species_id, chr_, mb):
- with database_connection() as conn:
+ with database_connection(get_setting("SQL_URI")) as conn:
with conn.cursor() as cursor:
if species_id != 0: # ZS: Check if this is necessary
cursor.execute(
diff --git a/wqflask/wqflask/update_search_results.py b/wqflask/wqflask/update_search_results.py
index dcccbf3b..8789c903 100644
--- a/wqflask/wqflask/update_search_results.py
+++ b/wqflask/wqflask/update_search_results.py
@@ -4,6 +4,7 @@ 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
class GSearch:
@@ -14,7 +15,7 @@ class GSearch:
#self.row_range = kw['row_range']
if self.type == "gene":
results = None
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
cursor.execute("""
SELECT Species.`Name` AS species_name, InbredSet.`Name` AS inbredset_name,
Tissue.`Name` AS tissue_name, ProbeSetFreeze.Name AS probesetfreeze_name,
@@ -42,7 +43,7 @@ probesetfreeze_name, probeset_name LIMIT 6000""",
self.trait_list.append(this_trait)
elif self.type == "phenotype":
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
results = None
cursor.execute("""
SELECT Species.`Name`, InbredSet.`Name`, PublishFreeze.`Name`, PublishXRef.`Id`,
diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py
index e7a32d34..ca2c34cd 100644
--- a/wqflask/wqflask/views.py
+++ b/wqflask/wqflask/views.py
@@ -82,6 +82,7 @@ from wqflask.oauth2.client import no_token_get
from wqflask.oauth2.request_utils import process_error
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
@@ -481,7 +482,7 @@ def export_perm_data():
@app.route("/show_temp_trait", methods=('POST',))
def show_temp_trait_page():
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
user_id = ((g.user_session.record.get(b"user_id") or b"").decode("utf-8")
or g.user_session.record.get("user_id") or "")
template_vars = show_trait.ShowTrait(cursor,
@@ -499,7 +500,7 @@ def show_trait_page():
assert len(privileges_data) == 1
privileges_data = privileges_data[0]
trait_privileges = tuple(item for item in privileges_data["privileges"])
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
user_id = ((g.user_session.record.get(b"user_id") or b"").decode("utf-8")
or g.user_session.record.get("user_id") or "")
@@ -537,7 +538,7 @@ def heatmap_page():
temp_uuid = uuid.uuid4()
traits = [trait.strip() for trait in start_vars['trait_list'].split(',')]
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
if traits[0] != "":
version = "v5"
key = "heatmap:{}:".format(
@@ -973,7 +974,7 @@ def corr_scatter_plot_page():
@app.route("/snp_browser", methods=('GET',))
def snp_browser_page():
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
template_vars = snp_browser.SnpBrowser(cursor, request.args)
return render_template("snp_browser.html", **template_vars.__dict__)
@@ -987,7 +988,7 @@ def db_info_page():
@app.route("/snp_browser_table", methods=('GET',))
def snp_browser_table():
- with database_connection() as conn, conn.cursor() as cursor:
+ with database_connection(get_setting("SQL_URI")) as conn, conn.cursor() as cursor:
snp_table_data = snp_browser.SnpBrowser(cursor, request.args)
current_page = server_side.ServerSideTable(
snp_table_data.rows_count,