diff options
-rw-r--r-- | wqflask/base/mrna_assay_tissue_data.py | 14 | ||||
-rw-r--r-- | wqflask/tests/unit/base/test_mrna_assay_tissue_data.py | 8 |
2 files changed, 16 insertions, 6 deletions
diff --git a/wqflask/base/mrna_assay_tissue_data.py b/wqflask/base/mrna_assay_tissue_data.py index a229151d..9a86134e 100644 --- a/wqflask/base/mrna_assay_tissue_data.py +++ b/wqflask/base/mrna_assay_tissue_data.py @@ -1,6 +1,5 @@ import collections -from utility import db_tools from utility import Bunch @@ -82,13 +81,16 @@ class MrnaAssayTissueData: symbol_values_dict = {} if len(id_list) > 0: - query = """SELECT TissueProbeSetXRef.Symbol, TissueProbeSetData.value - FROM TissueProbeSetXRef, TissueProbeSetData - WHERE TissueProbeSetData.Id IN {} and - TissueProbeSetXRef.DataId = TissueProbeSetData.Id""".format(db_tools.create_in_clause(id_list)) results = [] with self.conn.cursor() as cursor: - cursor.execute(query) + cursor.execute( + "SELECT TissueProbeSetXRef.Symbol, " + "TissueProbeSetData.value FROM " + "TissueProbeSetXRef, TissueProbeSetData " + "WHERE TissueProbeSetData.Id IN (" + f"{', '.join(['%s' * len(id_list)])}) " + "AND TissueProbeSetXRef.DataId = TissueProbeSetData.Id", + tuple(id_list)) results = cursor.fetchall() for result in results: (symbol, value) = result diff --git a/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py b/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py index ecaa9def..c43fb4b6 100644 --- a/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py +++ b/wqflask/tests/unit/base/test_mrna_assay_tissue_data.py @@ -71,3 +71,11 @@ def test_get_trait_symbol_and_tissue_values(mocker): "k2": ["v2"], "k3": ["v3"], } + cursor.execute.assert_called_with( + "SELECT TissueProbeSetXRef.Symbol, " + "TissueProbeSetData.value FROM " + "TissueProbeSetXRef, TissueProbeSetData " + "WHERE TissueProbeSetData.Id IN (%s) " + "AND TissueProbeSetXRef.DataId = " + "TissueProbeSetData.Id", + ('112',)) |