annotate commons/core/sql/test/Test_TableBinPathAdaptator.py @ 6:769e306b7933

Change the repository level.
author yufei-luo
date Fri, 18 Jan 2013 04:54:14 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1 # Copyright INRA (Institut National de la Recherche Agronomique)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
2 # http://www.inra.fr
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
3 # http://urgi.versailles.inra.fr
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
4 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
5 # This software is governed by the CeCILL license under French law and
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
6 # abiding by the rules of distribution of free software. You can use,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
7 # modify and/ or redistribute the software under the terms of the CeCILL
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
8 # license as circulated by CEA, CNRS and INRIA at the following URL
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
9 # "http://www.cecill.info".
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
10 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
11 # As a counterpart to the access to the source code and rights to copy,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
12 # modify and redistribute granted by the license, users are provided only
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
13 # with a limited warranty and the software's author, the holder of the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
14 # economic rights, and the successive licensors have only limited
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
15 # liability.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
16 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
17 # In this respect, the user's attention is drawn to the risks associated
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
18 # with loading, using, modifying and/or developing or reproducing the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
19 # software by the user in light of its specific status of free software,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
20 # that may mean that it is complicated to manipulate, and that also
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
21 # therefore means that it is reserved for developers and experienced
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
22 # professionals having in-depth computer knowledge. Users are therefore
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
23 # encouraged to load and test the software's suitability as regards their
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
24 # requirements in conditions enabling the security of their systems and/or
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
25 # data to be ensured and, more generally, to use and operate it in the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
26 # same conditions as regards security.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
27 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
28 # The fact that you are presently reading this means that you have had
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
29 # knowledge of the CeCILL license and that you accept its terms.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
30
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
31 import unittest
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
32 import os
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 import time
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 from commons.core.sql.TableBinPathAdaptator import TableBinPathAdaptator
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35 from commons.core.coord.Path import Path
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 from commons.core.coord.Set import Set
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37 from commons.core.sql.DbFactory import DbFactory
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39 class Test_TableBinPathAdaptator( unittest.TestCase ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 def setUp( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42 self._uniqId = "%s_%s" % (time.strftime("%Y%m%d%H%M%S") , os.getpid())
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43 self._db = DbFactory.createInstance()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 self._table = "dummyPathTable_%s" % self._uniqId
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45 self._table_idx = "dummyPathTable_%s_idx" % self._uniqId
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47 def tearDown( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48 self._db.dropTable(self._table)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
49 self._db.dropTable(self._table_idx)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
50 self._db.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
51
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
52 #TODO: strand ?!? How does it work ?
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
53 def test_insert_QryRevSbjDir( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
54 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
55 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
56 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
57
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
58 tuple = ("1", "chr1", "250", "100", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
59 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
60 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
61
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
62 tuple = ("2", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
63 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
64 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
65
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
66 tuple = ("4", "chr5", "140", "251", "TE5", "140", "251", "2e-14", "14", "73.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
67 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
68 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
69
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
70 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
71 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
72 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
73 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
74 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
75 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
76 self._tpA.insert(p4)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
77
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
78 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
79 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
80 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
81 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
82 (1, "chr1", 100, 250, "TE1", 17, 11, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
83 (2, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
84 (4, "chr5", 140, 251, "TE5", 140, 251, 2e-14, 14, 73.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
85 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
86
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
87 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
88 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
89 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
90 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
91 (1, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
92 (2, 1000000, "chr1", 15, 30, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
93 (4, 1000000, "chr5", 140, 251, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
94 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
95
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
96 def test_getPathListOverlappingQueryCoord_one_included( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
97 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
98 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
99 pathF.write("6\tchr1\t950\t1010\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
100 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
101
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
102 tuple = ("6", "chr1", "950", "1010", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
103 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
104 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
105
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
106 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
107 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
108 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
109
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
110 lObs = self._tpA.getPathListOverlappingQueryCoord( "chr1", 900, 1010 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
111 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
112 lExp = [p1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
113 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
114
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
115 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
116
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
117 def test_getPathListOverlappingQueryCoord_two_overlapped( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
118 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
119 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
120 pathF.write("6\tchr1\t950\t1500\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
121 pathF.write("7\tchr1\t750\t1000\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
122 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
123
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
124 tuple = ("6", "chr1", "950", "1500", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
125 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
126 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
127
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
128 tuple = ("7", "chr1", "750", "1000", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
129 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
130 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
131
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
132 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
133 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
134 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
135
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
136 lObs = self._tpA.getPathListOverlappingQueryCoord( "chr1", 900, 1010 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
137 self.assertEquals(2, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
138 lExp = [p1, p2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
139 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
140
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
141 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
142
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
143 def test_getPathListOverlappingQueryCoord_two_not_overlapped_and_not_included( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
144 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
145 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
146 pathF.write("6\tchr1\t1050\t1500\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
147 pathF.write("7\tchr1\t750\t800\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
148 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
149
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
150 tuple = ("6", "chr1", "1050", "1500", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
151 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
152 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
153
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
154 tuple = ("7", "chr1", "750", "800", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
155 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
156 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
157
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
158 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
159 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
160 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
161
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
162 lObs = self._tpA.getPathListOverlappingQueryCoord( "chr1", 900, 1010 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
163 self.assertEquals(0, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
164 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
165 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
166
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
167 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
168
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
169 def test_getPathListOverlappingQueryCoord_one_verlapping_and_others_chained( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
170 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
171 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
172 pathF.write("6\tchr1\t900\t1010\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
173 pathF.write("6\tchr1\t1020\t1030\tTE2\t10\t13\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
174 pathF.write("7\tchr1\t950\t999\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
175 pathF.write("7\tchr1\t1020\t1030\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
176 pathF.write("7\tchr5\t8000\t15000\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
177 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
178
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
179 tuple = ("6", "chr1", "900", "1010", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
180 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
181 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
182
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
183 tuple = ("6", "chr1", "1020", "1030", "TE2", "10", "13", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
184 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
185 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
186
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
187 tuple = ("7", "chr1", "850", "999", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
188 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
189 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
190
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
191 tuple = ("7", "chr1", "1020", "1030", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
192 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
193 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
194
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
195 tuple = ("7", "chr5", "8000", "15000", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
196 p5 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
197 p5.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
198
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
199 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
200 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
201 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
202
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
203 lObs = self._tpA.getPathListOverlappingQueryCoord( "chr1", 1000, 1010 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
204 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
205 lExp = [p1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
206 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
207
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
208 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
209
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
210 def test_getChainListOverlappingQueryCoord_with_all_path_strictly_included_in_the_given_region(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
211 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
212 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
213 pathF.write("1\tchr1\t1\t10\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
214 pathF.write("2\tchr1\t2\t9\tTE2\t10\t13\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
215 pathF.write("3\tchr1\t8\t13\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
216 pathF.write("4\tchr1\t11\t15\tTE2\t15\t19\t1e-10\t25\t80.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
217 pathF.write("5\tchr1\t14\t19\tTE1\t1\t6\t1e-15\t45\t98.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
218 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
219
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
220 tuple = ("1", "chr1", "1", "10", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
221 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
222 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
223
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
224 tuple = ("2", "chr1", "2", "9", "TE2", "10", "13", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
225 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
226 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
227
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
228 tuple = ("3", "chr1", "8", "13", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
229 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
230 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
231
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
232 tuple = ("4", "chr1", "11", "15", "TE2", "15", "19", "1e-10", "25", "80.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
233 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
234 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
235
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
236 tuple = ("5", "chr1", "14", "19", "TE1", "1", "6", "1e-15", "45", "98.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
237 p5 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
238 p5.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
239
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
240 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
241 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
242 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
243 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 1, 20 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
244 self.assertEquals(5, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
245
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
246 lExp = [p1, p2, p3, p4, p5]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
247 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
248
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
249 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
250
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
251 def test_getChainListOverlappingQueryCoord_with_2_path_overlapping_the_given_region(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
252 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
253 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
254 pathF.write("1\tchr1\t1\t20\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
255 pathF.write("2\tchr1\t10\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
256 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
257
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
258 tuple = ("1", "chr1", "1", "20", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
259 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
260 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
261
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
262 tuple = ("2", "chr1", "10", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
263 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
264 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
265
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
266 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
267 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
268 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
269 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 12, 18 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
270 self.assertEquals(2, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
271
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
272 lExp = [p1, p2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
273 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
274
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
275 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
276
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
277 def test_getChainListOverlappingQueryCoord_without_path_overlapping_the_given_region(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
278 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
279 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
280 pathF.write("1\tchr1\t1\t20\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
281 pathF.write("2\tchr1\t10\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
282 pathF.write("3\tchr5\t45\t50\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
283 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
284
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
285 tuple = ("1", "chr1", "1", "20", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
286 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
287 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
288
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
289 tuple = ("2", "chr1", "10", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
290 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
291 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
292
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
293 tuple = ("3", "chr5", "45", "50", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
294 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
295 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
296
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
297 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
298 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
299 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
300 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 40, 50 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
301 self.assertEquals(0, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
302
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
303 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
304 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
305
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
306 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
307
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
308 def test_getChainListOverlappingQueryCoord_with_inverse_coord(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
309 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
310 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
311 pathF.write("1\tchr1\t2000\t1010\tTE2\t17\t11\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
312 pathF.write("2\tchr1\t5000\t3030\tTE2\t13\t10\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
313 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
314
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
315 tuple = ("1", "chr1", "2000", "1010", "TE2", "17", "11", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
316 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
317 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
318
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
319 tuple = ("2", "chr1", "5000", "3030", "TE2", "13", "10", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
320 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
321 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
322
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
323 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
324 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
325 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
326
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
327 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 1000, 1500 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
328 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
329 lExp = [p1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
330 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
331
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
332 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 4000, 4510 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
333 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
334 lExp = [p2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
335 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
336
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
337 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 1000, 4510 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
338 self.assertEquals(2, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
339 lExp = [p1, p2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
340 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
341
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
342 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
343
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
344 def test_getChainListOverlappingQueryCoord_with_chain_id_and_coord( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
345 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
346 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
347 pathF.write("6\tchr1\t900\t1010\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
348 pathF.write("6\tchr1\t1020\t1030\tTE2\t10\t13\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
349 pathF.write("7\tchr1\t950\t999\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
350 pathF.write("7\tchr1\t1020\t1030\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
351 pathF.write("7\tchr5\t8000\t15000\tTE2\t11\t17\t1e-20\t30\t90.2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
352 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
353
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
354 tuple = ("6", "chr1", "900", "1010", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
355 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
356 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
357
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
358 tuple = ("6", "chr1", "1020", "1030", "TE2", "10", "13", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
359 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
360 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
361
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
362 tuple = ("7", "chr1", "950", "999", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
363 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
364 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
365
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
366 tuple = ("7", "chr1", "1020", "1030", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
367 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
368 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
369
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
370 tuple = ("7", "chr5", "8000", "15000", "TE2", "11", "17", "1e-20", "30", "90.2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
371 p5 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
372 p5.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
373
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
374 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
375 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
376 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
377 lObs = self._tpA.getChainListOverlappingQueryCoord( "chr1", 1000, 1010 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
378 self.assertEquals(5, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
379 lExp = [p1, p2, p3, p4, p5]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
380 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
381
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
382 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
383
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
384 def test_getPathListIncludedInQueryCoord_all_included(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
385 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
386 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
387 pathF.write("1\tchr1\t10\t20\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
388 pathF.write("2\tchr1\t20\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
389 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
390
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
391 tuple = ("1", "chr1", "10", "20", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
392 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
393 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
394
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
395 tuple = ("2", "chr1", "20", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
396 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
397 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
398
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
399 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
400 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
401 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
402 lObs = self._tpA.getPathListIncludedInQueryCoord( "chr1", 1, 40 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
403 self.assertEquals(2, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
404
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
405 lExp = [p1, p2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
406 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
407
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
408 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
409
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
410 def test_getPathListIncludedInQueryCoord_all_not_included(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
411 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
412 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
413 pathF.write("1\tchr1\t10\t20\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
414 pathF.write("2\tchr1\t20\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
415 pathF.write("3\tchr5\t55\t60\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
416 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
417
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
418 tuple = ("1", "chr1", "10", "20", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
419 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
420 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
421
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
422 tuple = ("2", "chr1", "20", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
423 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
424 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
425
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
426 tuple = ("3", "chr2", "55", "60", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
427 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
428 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
429
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
430 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
431 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
432 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
433 lObs = self._tpA.getPathListIncludedInQueryCoord( "chr1", 50, 70 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
434 self.assertEquals(0, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
435
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
436 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
437 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
438
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
439 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
440
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
441 def test_getPathListIncludedInQueryCoord_all_overlapping(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
442 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
443 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
444 pathF.write("1\tchr1\t10\t25\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
445 pathF.write("2\tchr1\t15\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
446 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
447
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
448 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
449 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
450 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
451
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
452 tuple = ("2", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
453 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
454 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
455
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
456 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
457 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
458 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
459 lObs = self._tpA.getPathListIncludedInQueryCoord( "chr1", 13, 22 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
460 self.assertEquals(0, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
461
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
462 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
463 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
464
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
465 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
466
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
467 def test_getPathListIncludedInQueryCoord_with_one_included_and_one_overlapping(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
468 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
469 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
470 pathF.write("1\tchr1\t10\t25\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
471 pathF.write("2\tchr1\t15\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
472 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
473
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
474 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
475 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
476 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
477
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
478 tuple = ("2", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
479 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
480 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
481
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
482 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
483 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
484 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
485 lObs = self._tpA.getPathListIncludedInQueryCoord( "chr1", 9, 27 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
486 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
487 lExp = [p1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
488 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
489
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
490 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
491
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
492 def test_getPathListIncludedInQueryCoord_with_one_included_and_two_chained(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
493 pathFileName = "dummyPathFile_%s" % ( self._uniqId )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
494 pathF = open( pathFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
495 pathF.write("1\tchr1\t10\t25\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
496 pathF.write("1\tchr1\t100\t250\tTE1\t11\t17\t1e-18\t20\t87.4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
497 pathF.write("2\tchr1\t15\t30\tTE2\t10\t13\t5e-24\t34\t93.1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
498 pathF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
499
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
500 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
501 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
502 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
503
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
504 tuple = ("1", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
505 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
506 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
507
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
508 tuple = ("2", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
509 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
510 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
511
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
512 self._db.createTable( self._table, "path", pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
513 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
514 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
515 lObs = self._tpA.getPathListIncludedInQueryCoord( "chr1", 9, 27 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
516 self.assertEquals(1, len(lObs))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
517 lExp = [p1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
518 self.assertEquals(lExp, lObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
519
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
520 os.remove( pathFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
521
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
522 def test_deleteFromId_with_correct_ID(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
523 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
524 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
525 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
526
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
527 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
528 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
529 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
530
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
531 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
532 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
533 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
534
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
535 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
536 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
537 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
538 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
539 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
540 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
541 self._tpA.deleteFromId(3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
542
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
543 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
544 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
545 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
546 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
547 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
548 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
549
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
550 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
551 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
552 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
553 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
554 (2, 1000000, "chr1", 100, 250, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
555 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
556
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
557 def test_deleteFromId_with_not_exist_ID(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
558 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
559 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
560 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
561
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
562 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
563 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
564 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
565
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
566 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
567 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
568 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
569
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
570 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
571 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
572 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
573 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
574 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
575 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
576 self._tpA.deleteFromId(4)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
577
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
578 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
579 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
580 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
581 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
582 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
583 (3, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
584 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
585
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
586 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
587 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
588 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
589 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
590 (2, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
591 (3, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
592 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
593
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
594 def test_deleteFromId_with_multiple_ID(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
595 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
596 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
597 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
598
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
599 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
600 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
601 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
602
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
603 tuple = ("2", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
604 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
605 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
606
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
607 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
608 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
609 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
610 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
611 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
612 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
613 self._tpA.deleteFromId(2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
614
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
615 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
616 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
617 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
618 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
619 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
620
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
621 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
622 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
623 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
624 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
625 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
626
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
627 def test_deleteFromIdList(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
628 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
629 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
630 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
631
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
632 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
633 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
634 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
635
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
636 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
637 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
638 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
639
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
640 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
641 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
642 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
643 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
644 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
645 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
646 lNumToRemove = [2, 3]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
647 self._tpA.deleteFromIdList(lNumToRemove)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
648
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
649 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
650 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
651 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
652 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
653 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
654
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
655 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
656 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
657 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
658 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
659 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
660
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
661 def test_deleteFromIdList_with_empty_list(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
662 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
663 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
664 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
665
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
666 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
667 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
668 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
669
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
670 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
671 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
672 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
673
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
674 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
675 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
676 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
677 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
678 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
679 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
680 lNumToRemove = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
681 self._tpA.deleteFromIdList(lNumToRemove)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
682
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
683 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
684 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
685 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
686 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
687 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
688 (3, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
689 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
690
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
691 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
692 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
693 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
694 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
695 (2, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
696 (3, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
697 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
698
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
699 def test_deleteFromIdList_with_list_of_existing_and_not_existing_ID(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
700 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
701 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
702 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
703
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
704 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
705 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
706 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
707
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
708 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
709 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
710 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
711
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
712 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
713 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
714 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
715 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
716 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
717 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
718 lNumToRemove = [3, 4]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
719 self._tpA.deleteFromIdList(lNumToRemove)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
720
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
721 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
722 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
723 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
724 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
725 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
726 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
727
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
728 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
729 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
730 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
731 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
732 (2, 1000000, "chr1", 100, 250, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
733 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
734
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
735 def test_deleteFromIdList_with_multiple_ID_on_BinPathTable(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
736 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
737 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
738 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
739
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
740 tuple = ("3", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
741 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
742 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
743
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
744 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
745 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
746 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
747
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
748 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
749 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
750 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
751 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
752 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
753 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
754 lNumToRemove = [3]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
755 self._tpA.deleteFromIdList(lNumToRemove)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
756
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
757 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
758 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
759 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
760 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
761 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
762
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
763 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
764 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
765 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
766 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
767 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
768
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
769 def test_joinTwoPaths_with_min_and_max_existing_IDs(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
770 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
771 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
772 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
773
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
774 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
775 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
776 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
777
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
778 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
779 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
780 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
781
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
782 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
783 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
784 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
785 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
786 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
787 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
788 expNewId = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
789 obsNewId = self._tpA.joinTwoPaths(1, 2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
790
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
791 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
792
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
793 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
794 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
795 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
796 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
797 (1, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
798 (3, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
799 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
800
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
801 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
802 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
803 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
804 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
805 (1, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
806 (3, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
807 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
808
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
809 def test_joinTwoPaths_with_min_ID_not_existing_and_max_ID_existing(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
810 tuple = ("4", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
811 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
812 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
813
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
814 tuple = ("5", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
815 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
816 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
817
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
818 tuple = ("6", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
819 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
820 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
821
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
822 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
823 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
824 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
825 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
826 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
827 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
828 expNewId = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
829 obsNewId = self._tpA.joinTwoPaths(1, 5)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
830
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
831 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
832
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
833 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
834 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
835 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
836 expPathTuple = ((4, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
837 (1, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
838 (6, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
839 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
840
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
841 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
842 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
843 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
844 expPathTuple = ((4, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
845 (1, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
846 (6, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
847 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
848
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
849 def test_joinTwoPaths_with_min_ID_existing_and_max_ID_not_existing(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
850 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
851 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
852 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
853
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
854 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
855 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
856 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
857
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
858 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
859 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
860 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
861
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
862 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
863 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
864 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
865 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
866 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
867 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
868 expNewId = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
869 obsNewId = self._tpA.joinTwoPaths(1, 5)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
870
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
871 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
872
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
873 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
874 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
875 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
876 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
877 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
878 (3, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
879 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
880
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
881 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
882 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
883 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
884 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
885 (2, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
886 (3, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
887 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
888
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
889 def test_joinTwoPaths_with_min_and_max_not_existing_IDs(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
890 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
891 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
892 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
893
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
894 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
895 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
896 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
897
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
898 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
899 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
900 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
901
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
902 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
903 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
904 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
905 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
906 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
907 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
908 expNewId = 4
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
909 obsNewId = self._tpA.joinTwoPaths(4, 5)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
910
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
911 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
912
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
913 sqlCmd = "SELECT * FROM %s" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
914 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
915 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
916 expPathTuple = ((1, "chr1", 10, 25, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
917 (2, "chr1", 100, 250, "TE1", 11, 17, 1e-18, 20, 87.4),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
918 (3, "chr1", 15, 30, "TE2", 10, 13, 5e-24, 34, 93.1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
919 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
920
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
921 sqlCmd = "SELECT * FROM %s_idx" % ( self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
922 self._db.execute( sqlCmd )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
923 obsPathTuple = self._db.cursor.fetchall()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
924 expPathTuple = ((1, 1000000, "chr1", 10, 25, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
925 (2, 1000000, "chr1", 100, 250, 1),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
926 (3, 1000000, "chr1", 15, 30, 1),)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
927 self.assertEquals(expPathTuple, obsPathTuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
928
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
929 def test_getNewId(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
930 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
931 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
932 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
933
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
934 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
935 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
936 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
937
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
938 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
939 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
940 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
941
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
942 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
943 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
944 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
945 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
946 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
947 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
948 expNewId = 4
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
949 obsNewId = self._tpA.getNewId()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
950
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
951 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
952
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
953 def test_getNewId_with_empty_path_table(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
954 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
955 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
956 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
957
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
958 expNewId = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
959 obsNewId = self._tpA.getNewId()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
960
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
961 self.assertEquals(expNewId, obsNewId)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
962
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
963 def test_getSetListIncludedInQueryCoord_one_included(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
964 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
965 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
966 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
967
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
968 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
969 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
970 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
971
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
972 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
973 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
974 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
975
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
976 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
977 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
978 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
979 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
980 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
981 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
982
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
983 s2 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
984 s2.setFromTuple(("2","TE1","chr1","100","250"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
985 expLSet = [s2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
986 obsLSet = self._tpA.getSetListIncludedInQueryCoord('chr1', 95, 300)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
987
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
988 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
989
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
990 def test_getSetListIncludedInQueryCoord_one_overlapping(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
991 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
992 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
993 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
994
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
995 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
996 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
997 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
998
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
999 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1000 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1001 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1002
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1003 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1004 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1005 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1006 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1007 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1008 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1009
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1010 expLSet = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1011 obsLSet = self._tpA.getSetListIncludedInQueryCoord('chr1', 150, 200)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1012
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1013 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1014
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1015 def test_getSetListIncludedInQueryCoord_with_no_result(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1016 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1017 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1018 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1019
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1020 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1021 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1022 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1023
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1024 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1025 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1026 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1027
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1028 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1029 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1030 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1031 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1032 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1033 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1034
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1035 expLSet = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1036 obsLSet = self._tpA.getSetListIncludedInQueryCoord('chr1', 5000, 6000)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1037
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1038 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1039
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1040 def test_getSetListIncludedInQueryCoord_one_included_and_two_chain(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1041 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1042 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1043 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1044
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1045 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1046 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1047 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1048
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1049 tuple = ("2", "chr1", "1000", "2500", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1050 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1051 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1052
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1053 tuple = ("3", "chr1", "50", "150", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1054 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1055 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1056
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1057 tuple = ("4", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1058 p5 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1059 p5.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1060
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1061 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1062 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1063 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1064 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1065 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1066 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1067 self._tpA.insert(p4)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1068 self._tpA.insert(p5)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1069
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1070 s2 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1071 s2.setFromTuple(("2","TE1","chr1","100","250"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1072 expLSet = [s2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1073 obsLSet = self._tpA.getSetListIncludedInQueryCoord('chr1', 95, 300)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1074
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1075 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1076
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1077 def test_getSetListOverlappingQueryCoord_one_included(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1078 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1079 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1080 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1081
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1082 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1083 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1084 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1085
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1086 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1087 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1088 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1089
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1090 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1091 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1092 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1093 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1094 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1095 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1096
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1097 s2 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1098 s2.setFromTuple(("2","TE1","chr1","100","250"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1099 expLSet = [s2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1100 obsLSet = self._tpA.getSetListOverlappingQueryCoord('chr1', 95, 300)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1101
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1102 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1103
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1104 def test_getSetListOverlappingQueryCoord_one_overlapping(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1105 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1106 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1107 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1108
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1109 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1110 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1111 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1112
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1113 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1114 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1115 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1116
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1117 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1118 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1119 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1120 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1121 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1122 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1123
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1124 s2 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1125 s2.setFromTuple(("2","TE1","chr1","100","250"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1126 expLSet = [s2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1127 obsLSet = self._tpA.getSetListOverlappingQueryCoord('chr1', 150, 200)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1128
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1129 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1130
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1131 def test_getSetListOverlappingQueryCoord_with_no_result(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1132 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1133 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1134 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1135
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1136 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1137 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1138 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1139
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1140 tuple = ("3", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1141 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1142 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1143
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1144 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1145 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1146 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1147 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1148 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1149 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1150
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1151 expLSet = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1152 obsLSet = self._tpA.getSetListOverlappingQueryCoord('chr1', 5000, 6000)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1153
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1154 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1155
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1156 def test_getSetListOverlappingQueryCoord_one_included_and_two_chain(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1157 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1158 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1159 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1160
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1161 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1162 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1163 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1164
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1165 tuple = ("2", "chr1", "1000", "2500", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1166 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1167 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1168
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1169 tuple = ("3", "chr1", "50", "150", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1170 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1171 p4.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1172
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1173 tuple = ("4", "chr1", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1174 p5 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1175 p5.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1176
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1177 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1178 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1179 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1180 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1181 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1182 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1183 self._tpA.insert(p4)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1184 self._tpA.insert(p5)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1185
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1186 s2 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1187 s2.setFromTuple(("2","TE1","chr1","100","250"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1188 s4 = Set()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1189 s4.setFromTuple(("3","TE1","chr1","50","150"))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1190 expLSet = [s2, s4]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1191 obsLSet = self._tpA.getSetListOverlappingQueryCoord('chr1', 95, 300)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1192
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1193 self.assertEquals(expLSet, obsLSet)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1194
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1195 def test_getIdList( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1196 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1197 p1.setFromString( "1\tchr1\t1\t10\tTE1\t11\t17\t1e-20\t30\t90.2\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1198 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1199 p2.setFromString( "2\tchr1\t2\t9\tTE2\t10\t13\t1e-20\t30\t90.2\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1200 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1201 p3.setFromString( "2\tchr1\t12\t19\tTE2\t15\t22\t1e-10\t40\t94.2\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1202 p4 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1203 p4.setFromString( "3\tchr2\t8\t13\tTE1\t11\t17\t1e-20\t30\t90.2\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1204
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1205 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1206 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1207 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1208
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1209 lPath = [ p1, p2, p3, p4]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1210 self._tpA.insertList(lPath)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1211
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1212 expList = [ 1, 2, 3 ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1213 obsList = self._tpA.getIdList()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1214
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1215 self.assertEqual( expList, obsList )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1216
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1217 def test_getQueryList(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1218 tuple = ("1", "chr1", "10", "25", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1219 p1 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1220 p1.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1221
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1222 tuple = ("2", "chr1", "100", "250", "TE1", "11", "17", "1e-18", "20", "87.4")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1223 p2 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1224 p2.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1225
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1226 tuple = ("3", "chr2", "15", "30", "TE2", "10", "13", "5e-24", "34", "93.1")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1227 p3 = Path()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1228 p3.setFromTuple(tuple)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1229
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1230 self._db.createTable( self._table, "path" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1231 self._db.createBinPathTable(self._table, True)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1232 self._tpA = TableBinPathAdaptator( self._db, self._table )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1233 self._tpA.insert(p1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1234 self._tpA.insert(p2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1235 self._tpA.insert(p3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1236
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1237 expList = [ "chr1", "chr2" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1238 obsList = self._tpA.getQueryList()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1239 self.assertEqual( expList, obsList )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1240
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1241 test_suite = unittest.TestSuite()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1242 test_suite.addTest( unittest.makeSuite( Test_TableBinPathAdaptator ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1243 if __name__ == '__main__':
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1244 unittest.TextTestRunner(verbosity=2).run( test_suite )