about summary refs log tree commit diff
path: root/wqflask/maintenance/dataset/probesets.py
diff options
context:
space:
mode:
authorZachary Sloan2014-07-21 16:07:42 +0000
committerZachary Sloan2014-07-21 16:07:42 +0000
commitd952a23662eb4c46041be3945b5c3ccacf5506b6 (patch)
tree00750c5c88fb7dc6f300a148ea40f95a7b46be3a /wqflask/maintenance/dataset/probesets.py
parent818de422631392c246646b52a5b227d23153e667 (diff)
parentc424db452c243c6f0f64ee58d2d7baeb147dd3c8 (diff)
downloadgenenetwork2-d952a23662eb4c46041be3945b5c3ccacf5506b6.tar.gz
Merge /home/lei/gene
Diffstat (limited to 'wqflask/maintenance/dataset/probesets.py')
-rw-r--r--wqflask/maintenance/dataset/probesets.py90
1 files changed, 90 insertions, 0 deletions
diff --git a/wqflask/maintenance/dataset/probesets.py b/wqflask/maintenance/dataset/probesets.py
new file mode 100644
index 00000000..97bb5bdf
--- /dev/null
+++ b/wqflask/maintenance/dataset/probesets.py
@@ -0,0 +1,90 @@
+import utilities
+import datastructure
+import genotypes
+
+def get_probesetxref(probesetfreezeid):
+    cursor = utilities.get_cursor()
+    sql = """
+        SELECT ProbeSetXRef.`ProbeSetId`, ProbeSetXRef.`DataId`
+        FROM ProbeSetXRef
+        WHERE ProbeSetXRef.`ProbeSetFreezeId`=%s
+        """
+    cursor.execute(sql, (probesetfreezeid))
+    return cursor.fetchall()
+    
+def get_probeset(probesetid):
+    cursor = utilities.get_cursor()
+    sql = """
+        SELECT ProbeSet.`Id`, ProbeSet.`Name`, ProbeSet.`Symbol`, ProbeSet.`description`, ProbeSet.`Probe_Target_Description`, ProbeSet.`Chr`, ProbeSet.`Mb`
+        FROM ProbeSet
+        WHERE ProbeSet.`Id`=%s
+        """
+    cursor.execute(sql, (probesetid))
+    return cursor.fetchone()
+    
+def get_probesetdata(probesetdataid):
+    cursor = utilities.get_cursor()
+    sql = """
+        SELECT Strain.`Id`, Strain.`Name`, ProbeSetData.`value`
+        FROM ProbeSetData, Strain
+        WHERE ProbeSetData.`Id`=%s
+        AND ProbeSetData.`StrainId`=Strain.`Id`;
+        """
+    cursor.execute(sql, (probesetdataid))
+    return cursor.fetchall()
+
+def get_probesetxref_probesetfreezeid(locus, probesetfreezeid):
+    cursor = utilities.get_cursor()
+    sql = """
+        SELECT ProbeSetXRef.`ProbeSetId`
+        FROM ProbeSetXRef
+        WHERE ProbeSetXRef.`ProbeSetFreezeId`=%s
+        AND ProbeSetXRef.`Locus` LIKE %s
+        """
+    cursor.execute(sql, (probesetfreezeid, locus))
+    return cursor.fetchall()
+    
+def get_probesetxref_inbredsetid(locus, inbredsetid):
+    cursor = utilities.get_cursor()
+    sql = """
+        SELECT ProbeSetXRef.`ProbeSetId`, ProbeSetXRef.`mean`, ProbeSetXRef.`LRS`, ProbeSetXRef.`Locus`, ProbeSetXRef.`ProbeSetFreezeId`
+        FROM (ProbeSetXRef, ProbeSetFreeze, ProbeFreeze)
+        WHERE ProbeSetXRef.`ProbeSetFreezeId`=ProbeSetFreeze.`Id`
+        AND ProbeSetFreeze.`ProbeFreezeId`=ProbeFreeze.`Id`
+        AND ProbeFreeze.`InbredSetId`=%s
+        AND ProbeSetXRef.`Locus` LIKE %s
+        """
+    cursor.execute(sql, (inbredsetid, locus))
+    return cursor.fetchall()
+
+def get_normalized_probeset(locus, inbredsetid):
+    normalized_probesets = []
+    probesetxrefs = get_probesetxref_inbredsetid(locus, inbredsetid)
+    for probesetxref in probesetxrefs:
+        normalized_probeset = []
+        #
+        probesetfreezeid = probesetxref[4]
+        probesetfreeze = datastructure.get_probesetfreeze(probesetfreezeid)
+        normalized_probeset.append(probesetfreeze[0])
+        normalized_probeset.append(probesetfreeze[1])
+        normalized_probeset.append(probesetfreeze[2])
+        #
+        probesetid = probesetxref[0]
+        probeset = get_probeset(probesetid)
+        normalized_probeset.append(probeset[1])
+        normalized_probeset.append(probeset[2])
+        normalized_probeset.append(probeset[3])
+        normalized_probeset.append(probeset[4])
+        normalized_probeset.append(probeset[5])
+        normalized_probeset.append(probeset[6])
+        #
+        normalized_probeset.append(probesetxref[1])
+        normalized_probeset.append(probesetxref[2])
+        #
+        locus = probesetxref[3]
+        geno = genotypes.get_geno(inbredsetid=inbredsetid, name=locus)
+        normalized_probeset.append(geno[2])
+        normalized_probeset.append(geno[3])
+        #
+        normalized_probesets.append(normalized_probeset)
+    return normalized_probesets