annotate commons/tools/tests/Test_srptTableOverlap.py @ 19:9bcfa7936eec

Deleted selected files
author m-zytnicki
date Mon, 29 Apr 2013 03:23:29 -0400
parents 94ab73e8a190
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 import unittest
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import time
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 import pyRepet.sql.RepetDBMySQL
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 from commons.tools import srptTableOverlap
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 class Test_srptTableOverlap( unittest.TestCase ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 def setUp(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S") , os.getpid() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 self._db = pyRepet.sql.RepetDBMySQL.RepetDB( os.environ["REPET_USER"],
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 os.environ["REPET_HOST"],
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 os.environ["REPET_PW"],
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 os.environ["REPET_DB"] )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 def test_getOverlapAllPaths(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 qryFileName = "dummyQryFile_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 qryF = open( qryFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 qryF.write("1\tchr1\t1301\t2000\tTE2\t11\t17\t1e-20\t30\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 qryF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 qryTable = "dummyQryTable_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 self._db.create_table( self._db, qryTable, qryFileName, "path" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 sbjFileName = "dummySbjFile_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 sbjF = open( sbjFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28 sbjF.write("1\tchr1\t1001\t1500\tTE1\t11\t17\t1e-20\t30\t90.2\n") # 200-bp overlap: 1301-1500
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 sbjF.write("2\tchr1\t1401\t1800\tTE2\t11\t17\t1e-20\t30\t90.2\n") # 300-bp overlap: 1501-1800
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 sbjF.write("3\tchr1\t2001\t2100\tTE2\t11\t17\t1e-20\t30\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 sbjF.write("4\tchr2\t1301\t2000\tTE2\t11\t17\t1e-20\t30\t90.2\n") # different query
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 sbjF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 sbjTable = "dummySbjTable_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 self._db.create_table( self._db, sbjTable, sbjFileName, "path" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 exp_sum_osize, exp_sum_non_osize, exp_sum_qsize = 500, 200, 700
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 obs_sum_osize, obs_sum_non_osize, obs_sum_qsize = srptTableOverlap.getOverlapAllPaths( qryTable, "path", sbjTable, "path", self._db )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 self.assertEqual( obs_sum_osize, exp_sum_osize )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 self.assertEqual( obs_sum_non_osize, exp_sum_non_osize )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 self.assertEqual( obs_sum_qsize, exp_sum_qsize )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 os.remove( qryFileName )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 os.remove( sbjFileName )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 self._db.remove_if_exist( qryTable )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 self._db.remove_if_exist( sbjTable )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 def test_pathOverlapByPath(self):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 qryFileName = "dummyQryFile_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 qryF = open( qryFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 qryF.write("1\tchr1\t1301\t2000\tTE2\t1\t700\t1e-80\t850\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 qryF.write("1\tchr1\t2301\t3000\tTE2\t801\t1500\t1e-90\t930\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 qryF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 qryTable = "dummyQryTable_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 self._db.create_table( self._db, qryTable, qryFileName, "path" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 sbjFileName = "dummySbjFile_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 sbjF = open( sbjFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 sbjF.write("1\tchr1\t1401\t1800\tTE2\t11\t17\t1e-20\t30\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 sbjF.write("1\tchr1\t2101\t250000\tTE2\t11\t17\t1e-20\t30\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 sbjF.write("2\tchr1\t3501\t4000\tTE3\t11\t17\t1e-20\t30\t90.2\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 sbjF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 sbjTable = "dummySbjTable_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 self._db.create_table( self._db, sbjTable, sbjFileName, "path" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 expFileName = "dummyOutFileExp_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 expF = open( expFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 expF.write("1\tTE2\t1400\t1:TE2\t1\t248300\t1100\t0.785714\t0.004430\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 expF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 obsFileName = "dummyOutFileObs_%s" % ( self._uniqId )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 obsF = open( obsFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 srptTableOverlap.pathOverlapByPath( qryTable, "path", sbjTable, "path", self._db, obsF )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 obsF.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 self.assertTrue( FileUtils.are2FilesIdentical( obsFileName, expFileName ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 for f in [ qryFileName, sbjFileName, expFileName, obsFileName ]:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 os.remove( f )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 self._db.remove_if_exist( qryTable )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 self._db.remove_if_exist( sbjTable )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 self._db.remove_if_exist( sbjTable+"_bin" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 unittest.main()