Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/mySql/test/Test_MySqlTranscriptTable.py @ 6:769e306b7933
Change the repository level.
author | yufei-luo |
---|---|
date | Fri, 18 Jan 2013 04:54:14 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5:ea3082881bf8 | 6:769e306b7933 |
---|---|
1 from commons.core.writer.MySqlTranscriptWriter import MySqlTranscriptWriter | |
2 from SMART.Java.Python.structure.TranscriptContainer import TranscriptContainer | |
3 from SMART.Java.Python.structure.Transcript import Transcript | |
4 from SMART.Java.Python.structure.Interval import Interval | |
5 from SMART.Java.Python.mySql.MySqlConnection import MySqlConnection | |
6 from SMART.Java.Python.mySql.MySqlTranscriptTable import MySqlTranscriptTable | |
7 import unittest | |
8 | |
9 | |
10 class Test_MySqlTranscriptTable(unittest.TestCase): | |
11 | |
12 def test_getRange(self): | |
13 transcript = Transcript() | |
14 transcript.setName("test1.1") | |
15 transcript.setChromosome("arm_X") | |
16 transcript.setStart(1000) | |
17 transcript.setEnd(4000) | |
18 transcript.setSize(2000) | |
19 transcript.setDirection("+") | |
20 | |
21 exon1 = Interval() | |
22 exon1.setName("test1.1") | |
23 exon1.setChromosome("arm_X") | |
24 exon1.setStart(1000) | |
25 exon1.setEnd(2000) | |
26 exon1.setSize(1000) | |
27 | |
28 exon2 = Interval() | |
29 exon2.setName("test1.1") | |
30 exon2.setChromosome("arm_X") | |
31 exon2.setStart(3000) | |
32 exon2.setEnd(4000) | |
33 exon2.setSize(1000) | |
34 | |
35 transcript.addExon(exon1) | |
36 transcript.addExon(exon2) | |
37 | |
38 connection = MySqlConnection() | |
39 writer = MySqlTranscriptWriter(connection, "testMySqlTranscriptTableGetRange") | |
40 writer.addTranscript(transcript) | |
41 writer.write() | |
42 | |
43 transcriptContainer = TranscriptContainer("testMySqlTranscriptTableGetRange", "sql") | |
44 transcriptContainer.mySqlConnection = connection | |
45 self.assertEqual(transcriptContainer.getNbTranscripts(), 1) | |
46 for transcript in transcriptContainer.getIterator(): | |
47 self.assertEqual(transcript.getName(), "test1.1") | |
48 self.assertEqual(transcript.getChromosome(), "arm_X") | |
49 self.assertEqual(transcript.getStart(), 1000) | |
50 self.assertEqual(transcript.getEnd(), 4000) | |
51 self.assertEqual(transcript.getSize(), 2002) | |
52 self.assertEqual(transcript.getNbExons(), 2) | |
53 exons = transcript.getExons() | |
54 self.assertEqual(exons[0].getStart(), 1000) | |
55 self.assertEqual(exons[0].getEnd(), 2000) | |
56 self.assertEqual(exons[1].getStart(), 3000) | |
57 self.assertEqual(exons[1].getEnd(), 4000) | |
58 | |
59 | |
60 def test_setDefaultTagValue(self): | |
61 transcript1 = Transcript() | |
62 transcript1.setName("test1.1") | |
63 transcript1.setChromosome("arm_X") | |
64 transcript1.setStart(1000) | |
65 transcript1.setEnd(2000) | |
66 transcript1.setDirection("+") | |
67 | |
68 exon1 = Interval() | |
69 exon1.setName("test1.1") | |
70 exon1.setChromosome("arm_X") | |
71 exon1.setStart(1000) | |
72 exon1.setEnd(2000) | |
73 | |
74 transcript1.addExon(exon1) | |
75 | |
76 transcript2 = Transcript() | |
77 transcript2.setName("test2.1") | |
78 transcript2.setChromosome("arm_X") | |
79 transcript2.setStart(1000) | |
80 transcript2.setEnd(2000) | |
81 transcript2.setDirection("+") | |
82 transcript2.setTagValue("nbOccurrences", "2") | |
83 | |
84 exon2 = Interval() | |
85 exon2.setName("test2.1") | |
86 exon2.setChromosome("arm_X") | |
87 exon2.setStart(1000) | |
88 exon2.setEnd(2000) | |
89 | |
90 transcript2.addExon(exon2) | |
91 | |
92 transcript3 = Transcript() | |
93 transcript3.setName("test3.1") | |
94 transcript3.setChromosome("arm_X") | |
95 transcript3.setStart(1000) | |
96 transcript3.setEnd(2000) | |
97 transcript3.setDirection("+") | |
98 transcript3.setTagValue("occurrences", "2") | |
99 | |
100 exon3 = Interval() | |
101 exon3.setName("test3.1") | |
102 exon3.setChromosome("arm_X") | |
103 exon3.setStart(1000) | |
104 exon3.setEnd(2000) | |
105 | |
106 transcript3.addExon(exon3) | |
107 | |
108 connection = MySqlConnection() | |
109 table = MySqlTranscriptTable(connection, "testMySqlTranscriptTableSetDefaultTagValue") | |
110 table.createTranscriptTable() | |
111 table.addTranscript(transcript1) | |
112 table.addTranscript(transcript2) | |
113 table.addTranscript(transcript3) | |
114 table.setDefaultTagValue("occurrence", "1") | |
115 | |
116 cpt = 0 | |
117 for transcript in table.getIterator(): | |
118 cpt += 1 | |
119 self.assert_(cpt != 4) | |
120 if cpt == 1: | |
121 self.assertEqual(transcript.name, "test1.1") | |
122 self.assertEqual(transcript.getChromosome(), "arm_X") | |
123 self.assertEqual(transcript.getStart(), 1000) | |
124 self.assertEqual(transcript.getEnd(), 2000) | |
125 self.assertEqual(transcript.getSize(), 1001) | |
126 self.assertEqual(transcript.getNbExons(), 1) | |
127 exons = transcript.getExons() | |
128 self.assertEqual(exons[0].getStart(), 1000) | |
129 self.assertEqual(exons[0].getEnd(), 2000) | |
130 self.assertEqual(transcript.getTagValue("occurrence"), 1) | |
131 elif cpt == 2: | |
132 self.assertEqual(transcript.name, "test2.1") | |
133 self.assertEqual(transcript.getChromosome(), "arm_X") | |
134 self.assertEqual(transcript.getStart(), 1000) | |
135 self.assertEqual(transcript.getEnd(), 2000) | |
136 self.assertEqual(transcript.getSize(), 1001) | |
137 self.assertEqual(transcript.getNbExons(), 1) | |
138 exons = transcript.getExons() | |
139 self.assertEqual(exons[0].getStart(), 1000) | |
140 self.assertEqual(exons[0].getEnd(), 2000) | |
141 self.assertEqual(transcript.getTagValue("nbOccurrences"), 2) | |
142 self.assertEqual(transcript.getTagValue("occurrence"), 1) | |
143 elif cpt == 2: | |
144 self.assertEqual(transcript.name, "test3.1") | |
145 self.assertEqual(transcript.getChromosome(), "arm_X") | |
146 self.assertEqual(transcript.getStart(), 1000) | |
147 self.assertEqual(transcript.getEnd(), 2000) | |
148 self.assertEqual(transcript.getSize(), 1001) | |
149 self.assertEqual(transcript.getNbExons(), 1) | |
150 exons = transcript.getExons() | |
151 self.assertEqual(exons[0].getStart(), 1000) | |
152 self.assertEqual(exons[0].getEnd(), 2000) | |
153 self.assertEqual(transcript.getTagValue("occurrence"), 2) | |
154 | |
155 table.remove() | |
156 | |
157 if __name__ == '__main__': | |
158 unittest.main() |