aboutsummaryrefslogtreecommitdiff
path: root/web/genotypes/process.py
diff options
context:
space:
mode:
Diffstat (limited to 'web/genotypes/process.py')
-rwxr-xr-xweb/genotypes/process.py170
1 files changed, 170 insertions, 0 deletions
diff --git a/web/genotypes/process.py b/web/genotypes/process.py
new file mode 100755
index 00000000..96cbc9b4
--- /dev/null
+++ b/web/genotypes/process.py
@@ -0,0 +1,170 @@
+#!/usr/bin/python
+import sys
+import os
+import string
+import reaper
+import MySQLdb
+"""
+def swap(A, B):
+ temp = A
+ A = B
+ B = A
+
+fp = open('ColXCvi.txt')
+fout = open('ColXCvi2.txt', "wb")
+line = fp.readline()
+i = 0
+while line:
+ line2 = map(string.strip, string.split(line.strip()))
+ print len(line2)
+ if i == 0:
+ line2 = line2[:7] + map(lambda X:'ColXCvi' + X, line2[7:])
+ X = line2[1]
+ line2[1] = line2[2]
+ line2[2] = X
+ line2 = line2[:5] + line2[7:]
+ fout.write(string.join(line2[1:], "\t") + "\n")
+ line = fp.readline()
+ i += 1
+
+fout.close()
+fp.close()
+"""
+"""
+try:
+ #import getpass
+ #passwd = getpass.getpass('Please enter mysql password here : ')
+ con = MySQLdb.Connect(db='db_webqtl',user='webqtlupd',passwd='webqtl', host="opteron")
+ cursor = con.cursor()
+ print "You have successfully connected to mysql.\n"
+except:
+ print "You entered incorrect password.\n"
+ sys.exit(0)
+
+for geno in ("ColXBur.geno", "ColXCvi.geno"):
+ a = reaper.Dataset()
+ a.read(geno)
+ #print a.prgy, len(a.prgy)
+ for item in a.prgy:
+ cursor.execute("insert into Strain(Name, SpeciesId) values(%s, 3)", item)
+
+cursor.close()
+
+try:
+ #import getpass
+ #passwd = getpass.getpass('Please enter mysql password here : ')
+ con = MySQLdb.Connect(db='db_webqtl',user='webqtlupd',passwd='webqtl', host="opteron")
+ cursor = con.cursor()
+ print "You have successfully connected to mysql.\n"
+except:
+ print "You entered incorrect password.\n"
+ sys.exit(0)
+cursor.execute("select max(Id)+1 from Geno")
+maxId = cursor.fetchone()[0]
+
+for geno in ("ColXBur.geno", "ColXCvi.geno"):
+ a = reaper.Dataset()
+ a.read(geno)
+ #print a.prgy, len(a.prgy)
+ for chr in a:
+ for locus in chr:
+ print geno, locus.name, chr.name, locus.Mb
+ try:
+ cursor.execute("insert into Geno(Id, Name, Chr, MB_UCSC, chr_num, Source, Source2) values(%s, %s, %s, %s, %s, %s, %s)", (maxId, locus.name, chr.name, locus.Mb, chr.name, "Institute for Agronomical Research", "Institute for Agronomical Research"))
+ maxId += 1
+ except:
+ pass
+cursor.close()
+mysql> select max(Id) from Data;
++----------+
+| max(Id) |
++----------+
+| 22163234 |
++----------+
+1 row in set (0.00 sec)
+
+mysql> select max(DataId) from GenoXRef;
++-------------+
+| max(DataId) |
++-------------+
+| 16098047 |
++-------------+
+1 row in set (0.04 sec)
+
+mysql> select * from Strain order by Id desc limit 5;
++------+------------+-----------+--------+
+| Id | Name | SpeciesId | Symbol |
++------+------------+-----------+--------+
+| 1828 | ColXCvi499 | 3 | NULL |
+| 1827 | ColXCvi497 | 3 | NULL |
+| 1826 | ColXCvi496 | 3 | NULL |
+| 1825 | ColXCvi495 | 3 | NULL |
+| 1824 | ColXCvi494 | 3 | NULL |
++------+------------+-----------+--------+
+
+"""
+
+"""
+try:
+ #import getpass
+ #passwd = getpass.getpass('Please enter mysql password here : ')
+ con = MySQLdb.Connect(db='db_webqtl',user='webqtlupd',passwd='webqtl', host="opteron")
+ cursor = con.cursor()
+ print "You have successfully connected to mysql.\n"
+except:
+ print "You entered incorrect password.\n"
+ sys.exit(0)
+
+freezeId = 14
+for geno in ("ColXBur.geno", "ColXCvi.geno"):
+ a = reaper.Dataset()
+ a.read(geno)
+ strainIds = []
+ for strain in a.prgy:
+ cursor.execute("select Id from Strain where Name = '%s' and SpeciesId=3" % strain)
+ strainIds.append(cursor.fetchone()[0])
+ for chr in a:
+ for locus in chr:
+ cursor.execute("select max(Id)+1 from Data")
+ dataId = cursor.fetchone()[0]
+ cursor.execute("select Id from Geno where Name = '%s'" % locus.name)
+ GenoId = cursor.fetchone()[0]
+ #print geno, locus.name, chr.name, locus.Mb, dataId, GenoId
+ for i, item in enumerate(locus.genotype):
+ cursor.execute("insert into Data values(%s, %s, %s)" ,(dataId, strainIds[i], item))
+ cursor.execute("insert into GenoXRef values(%s, %s, %s)" , (freezeId, GenoId, dataId))
+ freezeId -= 1
+cursor.close()
+"""
+
+try:
+ #import getpass
+ #passwd = getpass.getpass('Please enter mysql password here : ')
+ con = MySQLdb.Connect(db='db_webqtl',user='webqtlupd',passwd='webqtl', host="opteron")
+ cursor = con.cursor()
+ print "You have successfully connected to mysql.\n"
+except:
+ print "You entered incorrect password.\n"
+ sys.exit(0)
+
+freezeId = 14
+for geno in ("ColXBur.geno", "ColXCvi.geno"):
+ values = [-1, 1, 0, 0]
+ if geno == "ColXBur.geno":
+ strains = ["Col-0", "Bur-0", "ColXBurF1", "BurXColF1"]
+ else:
+ strains = ["Col-0", "Cvi", "ColXCviF1", "CviXColF1"]
+ strainIds = []
+ for strain in strains:
+ cursor.execute("select Id from Strain where Name = '%s' and SpeciesId=3" % strain)
+ strainIds.append(cursor.fetchone()[0])
+ print strainIds
+ cursor.execute("select DataId from GenoXRef where GenoFreezeId = %d" % freezeId)
+ results = cursor.fetchall()
+ for dataId in results:
+ for i, strainId in enumerate(strainIds):
+ #print "insert into Data values(%s, %s, %s)" % (dataId[0], strainId, values[i])
+ cursor.execute("insert into Data values(%s, %s, %s)" ,(dataId[0], strainId, values[i]))
+ freezeId -= 1
+cursor.close()
+