diff options
author | zsloan | 2023-08-02 19:37:56 +0000 |
---|---|---|
committer | zsloan | 2023-08-17 14:54:42 -0500 |
commit | 02fdf658e1118e5638663d3a8d87ba3a1e6ef913 (patch) | |
tree | ae0198e502567d233993f366d95106c13f70cccd | |
parent | 27ca533a565226c1e29613d1ec0b5dddac103920 (diff) | |
download | genenetwork3-02fdf658e1118e5638663d3a8d87ba3a1e6ef913.tar.gz |
Fix get_mrna_sample_data query
-rw-r--r-- | gn3/db/sample_data.py | 19 |
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(): |