about summary refs log tree commit diff
diff options
context:
space:
mode:
authorzsloan2023-08-02 19:37:56 +0000
committerzsloan2023-08-17 14:54:42 -0500
commit02fdf658e1118e5638663d3a8d87ba3a1e6ef913 (patch)
treeae0198e502567d233993f366d95106c13f70cccd
parent27ca533a565226c1e29613d1ec0b5dddac103920 (diff)
downloadgenenetwork3-02fdf658e1118e5638663d3a8d87ba3a1e6ef913.tar.gz
Fix get_mrna_sample_data query
-rw-r--r--gn3/db/sample_data.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/gn3/db/sample_data.py b/gn3/db/sample_data.py
index 50a7561..6ac6a4c 100644
--- a/gn3/db/sample_data.py
+++ b/gn3/db/sample_data.py
@@ -58,18 +58,21 @@ def __extract_actions(
     return result
 
 def get_mrna_sample_data(
-    conn: Any, trait_name: str
+    conn: Any, probeset_id: str
 ) -> Dict:
     """Fetch a mRNA Assay (ProbeSet in the DB) trait's sample data and return it as a dict"""
     with conn.cursor() as cursor:
         cursor.execute("""
-SELECT st.Name, ifnull(pd.value, 'x'), ifnull(ps.error, 'x'), ifnull(ns.count, 'x')
-FROM ProbeSetFreeze pf JOIN ProbeSetXRef px ON px.InbredSetId = pf.InbredSetId
-     JOIN ProbeSetData pd ON pd.Id = px.DataId JOIN Strain st ON pd.StrainId = st.Id
-     LEFT JOIN ProbeSetSE ps ON ps.DataId = pd.Id AND ps.StrainId = pd.StrainId
-     LEFT JOIN NStrain ns ON ns.DataId = pd.Id AND ns.StrainId = pd.StrainId
-WHERE px.Id = %s
-ORDER BY st.Name""", (trait_name))
+SELECT st.Name, ifnull(psd.value, 'x'), ifnull(psse.error, 'x'), ifnull(ns.count, 'x')
+FROM ProbeFreeze pf
+    JOIN ProbeSetFreeze psf ON psf.ProbeFreezeId = pf.Id
+    JOIN ProbeSetXRef psx ON psx.ProbeSetFreezeId = psf.Id
+    JOIN ProbeSet ps ON ps.Id = psx.ProbeSetId
+    JOIN ProbeSetData psd ON psd.Id = psx.DataId
+    JOIN Strain st ON psd.StrainId = st.Id
+    LEFT JOIN ProbeSetSE psse ON psse.DataId = psd.Id AND psse.StrainId = psd.StrainId
+    LEFT JOIN NStrain ns ON ns.DataId = psd.Id AND ns.StrainId = psd.StrainId
+WHERE ps.Id = %s""", (probeset_id,))
 
         sample_data = {}
         for data in cursor.fetchall():