6
|
1 from commons.core.parsing.BowtieParser import BowtieParser
|
|
2 import unittest, os
|
|
3
|
|
4
|
|
5 class Test_BlatParser(unittest.TestCase):
|
|
6
|
|
7
|
|
8 def test_simple(self):
|
|
9 fileName = "tmpFile.bowtie"
|
|
10 handle = open(fileName, "w")
|
|
11 handle.write("HWI-EAS179_0053:2:1:1365:7879#0/2\t+\tchrXHet\t191698\tACCGCTGAACCACTTTCATNCNTGGGATTGTGAACTGAAACTGTTCACATGAACTTGGAATTCCCAGTAAGTGTGA\tLcaYcacLaTdd`dacacYBaBTa^^TL^M`]`^aa`Tca`LaLTUa]a_bcLcTMMMMa^a^`bT`ccT_UbM_B\t0\t19:G>N,21:T>N\n")
|
|
12 handle.write("HWI-EAS179_0053:2:1:1365:7879#0/1\t-\tchrXHet\t191803\tCCCCTTGTACACACCGCCCGTCGCTACTACCGATTGAATTATGTAGTGAGGTCTCCGGACGTGATCACTGTGACGC\tBBBBBBBBB`O`DS]]aYabaaa[ULYLY]^b`^a^aZZZ_LLLca_a_b^^aYdbd``d^ccaY`_caccc^acc\t0\t33:T>G,72:T>C\n")
|
|
13 handle.write("HWI-EAS179_0053:2:1:1371:11420#0/2\t+\tchr3L\t16569206\tTATGAGCGCCAATTTTGCANTTTTATTTTTGTACAAGCCAAGGGTTTTGCAACATTCACAGCGCTTGCCACTTGTC\tcY^bcYLcaL]`]]`aaTaBaab^_ZZ__R[`[cYccc^Ybb^_L`L`Y`aM_a_TcTcc`LL]]MYaYabbTY`^\t0\t19:G>N\n")
|
|
14 handle.write("HWI-EAS179_0053:2:1:1371:11420#0/1\t-\tchr3L\t16569298\tAATGAACCATTGTAATTACCCACAACACATACAGTCACACACGAGATGCACACAAGTCGGAAACGGAAGCGAGACG\tBBBBBBBBBBBBBBBBBBBBBB^T`]Y^`KZY__LY_a]^T^ccYaYY__YT]VZbL]`b^cLT^a^caccYbT^b\t0\n")
|
|
15 handle.close()
|
|
16
|
|
17 parser = BowtieParser("tmpFile.bowtie", 0)
|
|
18 for cpt, mapping in enumerate(parser.getIterator()):
|
|
19 transcript = mapping.getTranscript()
|
|
20 if cpt == 0:
|
|
21 self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1365:7879#0/2")
|
|
22 self.assertEquals(transcript.getChromosome(), "chrXHet")
|
|
23 self.assertEquals(transcript.getDirection(), 1)
|
|
24 self.assertEquals(transcript.getStart(), 191699)
|
|
25 self.assertEquals(transcript.getEnd(), 191774)
|
|
26 self.assertEquals(transcript.getTagValue("nbMismatches"), 2)
|
|
27 elif cpt == 1:
|
|
28 self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1365:7879#0/1")
|
|
29 self.assertEquals(transcript.getChromosome(), "chrXHet")
|
|
30 self.assertEquals(transcript.getDirection(), -1)
|
|
31 self.assertEquals(transcript.getStart(), 191804)
|
|
32 self.assertEquals(transcript.getEnd(), 191879)
|
|
33 self.assertEquals(transcript.getTagValue("nbMismatches"), 2)
|
|
34 elif cpt == 2:
|
|
35 self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1371:11420#0/2")
|
|
36 self.assertEquals(transcript.getChromosome(), "chr3L")
|
|
37 self.assertEquals(transcript.getDirection(), 1)
|
|
38 self.assertEquals(transcript.getStart(), 16569207)
|
|
39 self.assertEquals(transcript.getEnd(), 16569282)
|
|
40 self.assertEquals(transcript.getTagValue("nbMismatches"), 1)
|
|
41 elif cpt == 3:
|
|
42 self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1371:11420#0/1")
|
|
43 self.assertEquals(transcript.getChromosome(), "chr3L")
|
|
44 self.assertEquals(transcript.getDirection(), -1)
|
|
45 self.assertEquals(transcript.getStart(), 16569299)
|
|
46 self.assertEquals(transcript.getEnd(), 16569374)
|
|
47 self.assertEquals(transcript.getTagValue("nbMismatches"), 0)
|
|
48 else:
|
|
49 self.fail()
|
|
50
|
|
51 os.remove(fileName)
|
|
52
|
|
53
|
|
54
|
|
55 if __name__ == "__main__":
|
|
56 unittest.main()
|
|
57
|