diff options
author | Zachary Sloan | 2014-07-21 16:07:42 +0000 |
---|---|---|
committer | Zachary Sloan | 2014-07-21 16:07:42 +0000 |
commit | d952a23662eb4c46041be3945b5c3ccacf5506b6 (patch) | |
tree | 00750c5c88fb7dc6f300a148ea40f95a7b46be3a /wqflask/maintenance/dataset/probesets.py | |
parent | 818de422631392c246646b52a5b227d23153e667 (diff) | |
parent | c424db452c243c6f0f64ee58d2d7baeb147dd3c8 (diff) | |
download | genenetwork2-d952a23662eb4c46041be3945b5c3ccacf5506b6.tar.gz |
Merge /home/lei/gene
Diffstat (limited to 'wqflask/maintenance/dataset/probesets.py')
-rw-r--r-- | wqflask/maintenance/dataset/probesets.py | 90 |
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 |