| 18 | 1 import os | 
|  | 2 import unittest | 
|  | 3 from commons.core.utils.FileUtils import FileUtils | 
|  | 4 from commons.tools.MergeMatchsFiles import MergeMatchsFiles | 
|  | 5 | 
|  | 6 | 
|  | 7 class Test_F_MergeMatchsFiles(unittest.TestCase): | 
|  | 8 | 
|  | 9     def test_run_set(self): | 
|  | 10         inFileName1 = "test1.set" | 
|  | 11         inFileName2 = "test2.set" | 
|  | 12         self._writeSetFiles(inFileName1, inFileName2) | 
|  | 13         iMMF = MergeMatchsFiles("set", "out") | 
|  | 14         iMMF.run() | 
|  | 15         obsFileName = "out.set" | 
|  | 16         expFileName = "exp.set" | 
|  | 17         self._writeExpSetFile(expFileName) | 
|  | 18         self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | 
|  | 19         os.remove(expFileName) | 
|  | 20         os.remove(obsFileName) | 
|  | 21 | 
|  | 22     def test_run_align(self): | 
|  | 23         inFileName1 = "test1.align" | 
|  | 24         inFileName2 = "test2.align" | 
|  | 25         self._writeAlignFiles(inFileName1, inFileName2) | 
|  | 26         iMMF = MergeMatchsFiles("align", "out") | 
|  | 27         iMMF.run() | 
|  | 28         obsFileName = "out.align" | 
|  | 29         expFileName = "exp.align" | 
|  | 30         self._writeExpAlignFile(expFileName) | 
|  | 31         self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | 
|  | 32         os.remove(expFileName) | 
|  | 33         os.remove(obsFileName) | 
|  | 34 | 
|  | 35     def test_run_align_allByAll(self): | 
|  | 36         inFileName1 = "test1.align" | 
|  | 37         inFileName2 = "test2.align" | 
|  | 38         self._writeAlignFiles(inFileName1, inFileName2) | 
|  | 39         iMMF = MergeMatchsFiles("align", "out", True) | 
|  | 40         iMMF.run() | 
|  | 41         obsFileName = "out.align" | 
|  | 42         expFileName = "exp.align" | 
|  | 43         self._writeExpAlignFile_allByAll(expFileName) | 
|  | 44         self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | 
|  | 45         os.remove(expFileName) | 
|  | 46         os.remove(obsFileName) | 
|  | 47 | 
|  | 48     def test_run_path(self): | 
|  | 49         inFileName1 = "test1.path" | 
|  | 50         inFileName2 = "test2.path" | 
|  | 51         self._writePathFiles(inFileName1, inFileName2) | 
|  | 52         iMMF = MergeMatchsFiles("path", "out") | 
|  | 53         iMMF.run() | 
|  | 54         obsFileName = "out.path" | 
|  | 55         expFileName = "exp.path" | 
|  | 56         self._writeExpPathFile(expFileName) | 
|  | 57         self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | 
|  | 58         os.remove(expFileName) | 
|  | 59         os.remove(obsFileName) | 
|  | 60 | 
|  | 61     def test_run_tab(self): | 
|  | 62         inFileName1 = "test1.tab" | 
|  | 63         inFileName2 = "test2.tab" | 
|  | 64         self._writeTabFiles(inFileName1, inFileName2) | 
|  | 65         iMMF = MergeMatchsFiles("tab", "out") | 
|  | 66         iMMF.run() | 
|  | 67         obsFileName = "out.tab" | 
|  | 68         expFileName = "exp.tab" | 
|  | 69         self._writeExpTabFile(expFileName) | 
|  | 70         self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName)) | 
|  | 71         os.remove(expFileName) | 
|  | 72         os.remove(obsFileName) | 
|  | 73 | 
|  | 74     def _writeSetFiles(self, fileName1, fileName2): | 
|  | 75         f = open(fileName1, "w") | 
|  | 76         f.write("1\t(TCTAT)3\tchunk006\t295\t309\n") | 
|  | 77         f.write("2\t(A)33\tchunk006\t679\t711\n") | 
|  | 78         f.write("3\t(G)16\tchunk006\t731\t746\n") | 
|  | 79         f.write("4\t(GAG)9\tchunk006\t903\t929\n") | 
|  | 80         f.write("5\t(GGAGGG)4\tchunk006\t905\t929\n") | 
|  | 81         f.close() | 
|  | 82         f = open(fileName2, "w") | 
|  | 83         f.write("1\t(CCACT)3\tchunk011\t101\t116\n") | 
|  | 84         f.write("2\t(TATATA)7\tchunk011\t316\t357\n") | 
|  | 85         f.write("3\t(AT)22\tchunk011\t323\t366\n") | 
|  | 86         f.close() | 
|  | 87 | 
|  | 88     def _writeExpSetFile(self, fileName): | 
|  | 89         f = open(fileName, "w") | 
|  | 90         f.write("1\t(TCTAT)3\tchunk006\t295\t309\n") | 
|  | 91         f.write("2\t(A)33\tchunk006\t679\t711\n") | 
|  | 92         f.write("3\t(G)16\tchunk006\t731\t746\n") | 
|  | 93         f.write("4\t(GAG)9\tchunk006\t903\t929\n") | 
|  | 94         f.write("5\t(GGAGGG)4\tchunk006\t905\t929\n") | 
|  | 95         f.write("6\t(CCACT)3\tchunk011\t101\t116\n") | 
|  | 96         f.write("7\t(TATATA)7\tchunk011\t316\t357\n") | 
|  | 97         f.write("8\t(AT)22\tchunk011\t323\t366\n") | 
|  | 98         f.close() | 
|  | 99 | 
|  | 100     def _writeAlignFiles(self, fileName1, fileName2): | 
|  | 101         f = open(fileName1, "w") | 
|  | 102         f.write("chunk1\t25601\t27800\tchunk1\t52250\t54450\t0\t4244\t99.36\n") | 
|  | 103         f.write("chunk1\t27791\t28620\tchunk1\t55918\t56749\t0\t1588\t99.16\n") | 
|  | 104         f.write("chunk1\t28618\t32380\tchunk1\t56794\t60572\t0\t7299\t99.29\n") | 
|  | 105         f.write("chunk1\t28692\t30872\tchunk1\t49901\t52081\t0\t4260\t99.63\n") | 
|  | 106         f.write("chunk1\t32216\t34275\tchunk1\t52084\t54143\t0\t4012\t99.56\n") | 
|  | 107         f.write("chunk1\t41016\t45652\tchunk1\t55918\t60572\t0\t8942\t99.18\n") | 
|  | 108         f.write("chunk1\t41964\t44144\tchunk1\t49901\t52081\t0\t4252\t99.59\n") | 
|  | 109         f.write("chunk1\t46237\t46863\tchunk1\t73980\t74625\t0\t837\t91.36\n") | 
|  | 110         f.write("chunk1\t46330\t46860\tchunk1\t54981\t54450\t0\t841\t95.11\n") | 
|  | 111         f.write("chunk1\t46861\t48962\tchunk1\t52349\t54450\t0\t4103\t99.62\n") | 
|  | 112         f.write("chunk1\t48953\t50000\tchunk1\t55918\t56967\t0\t2036\t99.52\n") | 
|  | 113         f.write("chunk1\t49901\t52081\tchunk1\t28692\t30872\t0\t4260\t99.63\n") | 
|  | 114         f.write("chunk1\t49901\t52081\tchunk1\t41964\t44144\t0\t4252\t99.59\n") | 
|  | 115         f.write("chunk1\t52084\t54143\tchunk1\t32216\t34275\t0\t4012\t99.56\n") | 
|  | 116         f.write("chunk1\t52250\t54450\tchunk1\t25601\t27800\t0\t4244\t99.36\n") | 
|  | 117         f.write("chunk1\t52349\t54450\tchunk1\t46861\t48962\t0\t4103\t99.62\n") | 
|  | 118         f.write("chunk1\t54450\t54980\tchunk1\t74622\t74091\t0\t769\t93.63\n") | 
|  | 119         f.write("chunk1\t54450\t54981\tchunk1\t46860\t46330\t0\t841\t95.11\n") | 
|  | 120         f.write("chunk1\t55918\t56749\tchunk1\t27791\t28620\t0\t1588\t99.16\n") | 
|  | 121         f.write("chunk1\t55918\t56967\tchunk1\t48953\t50000\t0\t2036\t99.52\n") | 
|  | 122         f.write("chunk1\t55918\t60572\tchunk1\t41016\t45652\t0\t8942\t99.18\n") | 
|  | 123         f.write("chunk1\t56794\t60572\tchunk1\t28618\t32380\t0\t7299\t99.29\n") | 
|  | 124         f.write("chunk1\t73980\t74625\tchunk1\t46237\t46863\t0\t837\t91.36\n") | 
|  | 125         f.write("chunk1\t74091\t74622\tchunk1\t54980\t54450\t0\t769\t93.63\n") | 
|  | 126         f.write("chunk1\t99211\t99791\tchunk1\t164000\t164577\t0\t767\t91.74\n") | 
|  | 127         f.write("chunk1\t101527\t102429\tchunk1\t167161\t168059\t0\t1074\t90.14\n") | 
|  | 128         f.write("chunk1\t164000\t164577\tchunk1\t99211\t99791\t0\t767\t91.74\n") | 
|  | 129         f.write("chunk1\t167161\t168059\tchunk1\t101527\t102429\t0\t1074\t90.14\n") | 
|  | 130         f.write("chunk1\t46330\t46862\tchunk6\t2564\t3101\t0\t835\t94.8\n") | 
|  | 131         f.write("chunk1\t46372\t46862\tchunk6\t5328\t4837\t0\t753\t94.51\n") | 
|  | 132         f.write("chunk1\t54450\t54915\tchunk6\t4839\t5304\t0\t749\t95.28\n") | 
|  | 133         f.write("chunk1\t54450\t55021\tchunk6\t3099\t2524\t0\t878\t94.27\n") | 
|  | 134         f.write("chunk1\t54600\t55021\tchunk6\t25505\t25926\t0\t638\t94.08\n") | 
|  | 135         f.write("chunk1\t74091\t74624\tchunk6\t2565\t3101\t0\t898\t96.48\n") | 
|  | 136         f.write("chunk1\t74132\t74624\tchunk6\t5328\t4837\t0\t763\t94.95\n") | 
|  | 137         f.close() | 
|  | 138         f = open(fileName2, "w") | 
|  | 139         f.write("chunk6\t2524\t3099\tchunk1\t55021\t54450\t0\t878\t94.27\n") | 
|  | 140         f.write("chunk6\t2564\t3101\tchunk1\t46330\t46862\t0\t835\t94.8\n") | 
|  | 141         f.write("chunk6\t2565\t3101\tchunk1\t74091\t74624\t0\t898\t96.48\n") | 
|  | 142         f.write("chunk6\t4837\t5328\tchunk1\t46862\t46372\t0\t753\t94.51\n") | 
|  | 143         f.write("chunk6\t4837\t5328\tchunk1\t74624\t74132\t0\t763\t94.95\n") | 
|  | 144         f.write("chunk6\t4839\t5304\tchunk1\t54450\t54915\t0\t749\t95.28\n") | 
|  | 145         f.write("chunk6\t25505\t25926\tchunk1\t54600\t55021\t0\t638\t94.08\n") | 
|  | 146         f.write("chunk6\t1998\t2948\tchunk6\t26450\t25506\t0\t1758\t98.42\n") | 
|  | 147         f.write("chunk6\t2606\t3101\tchunk6\t5328\t4837\t0\t815\t95.77\n") | 
|  | 148         f.write("chunk6\t4837\t5328\tchunk6\t3101\t2606\t0\t815\t95.77\n") | 
|  | 149         f.write("chunk6\t25506\t26450\tchunk6\t2948\t1998\t0\t1758\t98.42\n") | 
|  | 150         f.write("chunk6\t95526\t96047\tchunk6\t115678\t116199\t0\t688\t92.19\n") | 
|  | 151         f.write("chunk6\t115678\t116199\tchunk6\t95526\t96047\t0\t688\t92.19\n") | 
|  | 152         f.close() | 
|  | 153 | 
|  | 154     def _writeExpAlignFile_allByAll(self, fileName): | 
|  | 155         f = open(fileName, "w") | 
|  | 156         f.write("chunk1\t25601\t27800\tchunk1\t52250\t54450\t0\t4244\t99.360000\n") | 
|  | 157         f.write("chunk1\t27791\t28620\tchunk1\t55918\t56749\t0\t1588\t99.160000\n") | 
|  | 158         f.write("chunk1\t28618\t32380\tchunk1\t56794\t60572\t0\t7299\t99.290000\n") | 
|  | 159         f.write("chunk1\t28692\t30872\tchunk1\t49901\t52081\t0\t4260\t99.630000\n") | 
|  | 160         f.write("chunk1\t32216\t34275\tchunk1\t52084\t54143\t0\t4012\t99.560000\n") | 
|  | 161         f.write("chunk1\t41016\t45652\tchunk1\t55918\t60572\t0\t8942\t99.180000\n") | 
|  | 162         f.write("chunk1\t41964\t44144\tchunk1\t49901\t52081\t0\t4252\t99.590000\n") | 
|  | 163         f.write("chunk1\t46237\t46863\tchunk1\t73980\t74625\t0\t837\t91.360000\n") | 
|  | 164         f.write("chunk1\t46330\t46860\tchunk1\t54981\t54450\t0\t841\t95.110000\n") | 
|  | 165         f.write("chunk1\t46861\t48962\tchunk1\t52349\t54450\t0\t4103\t99.620000\n") | 
|  | 166         f.write("chunk1\t48953\t50000\tchunk1\t55918\t56967\t0\t2036\t99.520000\n") | 
|  | 167         f.write("chunk1\t54450\t54980\tchunk1\t74622\t74091\t0\t769\t93.630000\n") | 
|  | 168         f.write("chunk1\t99211\t99791\tchunk1\t164000\t164577\t0\t767\t91.740000\n") | 
|  | 169         f.write("chunk1\t101527\t102429\tchunk1\t167161\t168059\t0\t1074\t90.140000\n") | 
|  | 170         f.write("chunk1\t46330\t46862\tchunk6\t2564\t3101\t0\t835\t94.800000\n") | 
|  | 171         f.write("chunk1\t46372\t46862\tchunk6\t5328\t4837\t0\t753\t94.510000\n") | 
|  | 172         f.write("chunk1\t54450\t54915\tchunk6\t4839\t5304\t0\t749\t95.280000\n") | 
|  | 173         f.write("chunk1\t54450\t55021\tchunk6\t3099\t2524\t0\t878\t94.270000\n") | 
|  | 174         f.write("chunk1\t54600\t55021\tchunk6\t25505\t25926\t0\t638\t94.080000\n") | 
|  | 175         f.write("chunk1\t74091\t74624\tchunk6\t2565\t3101\t0\t898\t96.480000\n") | 
|  | 176         f.write("chunk1\t74132\t74624\tchunk6\t5328\t4837\t0\t763\t94.950000\n") | 
|  | 177         f.write("chunk6\t1998\t2948\tchunk6\t26450\t25506\t0\t1758\t98.420000\n") | 
|  | 178         f.write("chunk6\t2606\t3101\tchunk6\t5328\t4837\t0\t815\t95.770000\n") | 
|  | 179         f.write("chunk6\t95526\t96047\tchunk6\t115678\t116199\t0\t688\t92.190000\n") | 
|  | 180         f.close() | 
|  | 181 | 
|  | 182     def _writeExpAlignFile(self, fileName): | 
|  | 183         f = open(fileName, "w") | 
|  | 184         f.write("chunk1\t25601\t27800\tchunk1\t52250\t54450\t0\t4244\t99.36\n") | 
|  | 185         f.write("chunk1\t27791\t28620\tchunk1\t55918\t56749\t0\t1588\t99.16\n") | 
|  | 186         f.write("chunk1\t28618\t32380\tchunk1\t56794\t60572\t0\t7299\t99.29\n") | 
|  | 187         f.write("chunk1\t28692\t30872\tchunk1\t49901\t52081\t0\t4260\t99.63\n") | 
|  | 188         f.write("chunk1\t32216\t34275\tchunk1\t52084\t54143\t0\t4012\t99.56\n") | 
|  | 189         f.write("chunk1\t41016\t45652\tchunk1\t55918\t60572\t0\t8942\t99.18\n") | 
|  | 190         f.write("chunk1\t41964\t44144\tchunk1\t49901\t52081\t0\t4252\t99.59\n") | 
|  | 191         f.write("chunk1\t46237\t46863\tchunk1\t73980\t74625\t0\t837\t91.36\n") | 
|  | 192         f.write("chunk1\t46330\t46860\tchunk1\t54981\t54450\t0\t841\t95.11\n") | 
|  | 193         f.write("chunk1\t46861\t48962\tchunk1\t52349\t54450\t0\t4103\t99.62\n") | 
|  | 194         f.write("chunk1\t48953\t50000\tchunk1\t55918\t56967\t0\t2036\t99.52\n") | 
|  | 195         f.write("chunk1\t49901\t52081\tchunk1\t28692\t30872\t0\t4260\t99.63\n") | 
|  | 196         f.write("chunk1\t49901\t52081\tchunk1\t41964\t44144\t0\t4252\t99.59\n") | 
|  | 197         f.write("chunk1\t52084\t54143\tchunk1\t32216\t34275\t0\t4012\t99.56\n") | 
|  | 198         f.write("chunk1\t52250\t54450\tchunk1\t25601\t27800\t0\t4244\t99.36\n") | 
|  | 199         f.write("chunk1\t52349\t54450\tchunk1\t46861\t48962\t0\t4103\t99.62\n") | 
|  | 200         f.write("chunk1\t54450\t54980\tchunk1\t74622\t74091\t0\t769\t93.63\n") | 
|  | 201         f.write("chunk1\t54450\t54981\tchunk1\t46860\t46330\t0\t841\t95.11\n") | 
|  | 202         f.write("chunk1\t55918\t56749\tchunk1\t27791\t28620\t0\t1588\t99.16\n") | 
|  | 203         f.write("chunk1\t55918\t56967\tchunk1\t48953\t50000\t0\t2036\t99.52\n") | 
|  | 204         f.write("chunk1\t55918\t60572\tchunk1\t41016\t45652\t0\t8942\t99.18\n") | 
|  | 205         f.write("chunk1\t56794\t60572\tchunk1\t28618\t32380\t0\t7299\t99.29\n") | 
|  | 206         f.write("chunk1\t73980\t74625\tchunk1\t46237\t46863\t0\t837\t91.36\n") | 
|  | 207         f.write("chunk1\t74091\t74622\tchunk1\t54980\t54450\t0\t769\t93.63\n") | 
|  | 208         f.write("chunk1\t99211\t99791\tchunk1\t164000\t164577\t0\t767\t91.74\n") | 
|  | 209         f.write("chunk1\t101527\t102429\tchunk1\t167161\t168059\t0\t1074\t90.14\n") | 
|  | 210         f.write("chunk1\t164000\t164577\tchunk1\t99211\t99791\t0\t767\t91.74\n") | 
|  | 211         f.write("chunk1\t167161\t168059\tchunk1\t101527\t102429\t0\t1074\t90.14\n") | 
|  | 212         f.write("chunk1\t46330\t46862\tchunk6\t2564\t3101\t0\t835\t94.8\n") | 
|  | 213         f.write("chunk1\t46372\t46862\tchunk6\t5328\t4837\t0\t753\t94.51\n") | 
|  | 214         f.write("chunk1\t54450\t54915\tchunk6\t4839\t5304\t0\t749\t95.28\n") | 
|  | 215         f.write("chunk1\t54450\t55021\tchunk6\t3099\t2524\t0\t878\t94.27\n") | 
|  | 216         f.write("chunk1\t54600\t55021\tchunk6\t25505\t25926\t0\t638\t94.08\n") | 
|  | 217         f.write("chunk1\t74091\t74624\tchunk6\t2565\t3101\t0\t898\t96.48\n") | 
|  | 218         f.write("chunk1\t74132\t74624\tchunk6\t5328\t4837\t0\t763\t94.95\n") | 
|  | 219         f.write("chunk6\t2524\t3099\tchunk1\t55021\t54450\t0\t878\t94.27\n") | 
|  | 220         f.write("chunk6\t2564\t3101\tchunk1\t46330\t46862\t0\t835\t94.8\n") | 
|  | 221         f.write("chunk6\t2565\t3101\tchunk1\t74091\t74624\t0\t898\t96.48\n") | 
|  | 222         f.write("chunk6\t4837\t5328\tchunk1\t46862\t46372\t0\t753\t94.51\n") | 
|  | 223         f.write("chunk6\t4837\t5328\tchunk1\t74624\t74132\t0\t763\t94.95\n") | 
|  | 224         f.write("chunk6\t4839\t5304\tchunk1\t54450\t54915\t0\t749\t95.28\n") | 
|  | 225         f.write("chunk6\t25505\t25926\tchunk1\t54600\t55021\t0\t638\t94.08\n") | 
|  | 226         f.write("chunk6\t1998\t2948\tchunk6\t26450\t25506\t0\t1758\t98.42\n") | 
|  | 227         f.write("chunk6\t2606\t3101\tchunk6\t5328\t4837\t0\t815\t95.77\n") | 
|  | 228         f.write("chunk6\t4837\t5328\tchunk6\t3101\t2606\t0\t815\t95.77\n") | 
|  | 229         f.write("chunk6\t25506\t26450\tchunk6\t2948\t1998\t0\t1758\t98.42\n") | 
|  | 230         f.write("chunk6\t95526\t96047\tchunk6\t115678\t116199\t0\t688\t92.19\n") | 
|  | 231         f.write("chunk6\t115678\t116199\tchunk6\t95526\t96047\t0\t688\t92.19\n") | 
|  | 232         f.close() | 
|  | 233 | 
|  | 234     def _writePathFiles(self, fileName1, fileName2): | 
|  | 235         f = open(fileName1, "w") | 
|  | 236         f.write("1\tchunk001\t11046\t11071\tAT_rich#Low_complexity\t166\t141\t0.0\t9\t34.62\n") | 
|  | 237         f.write("2\tchunk001\t11050\t11074\tAT_rich#Low_complexity\t161\t137\t0.0\t14\t56.0\n") | 
|  | 238         f.write("3\tchunk001\t17216\t17266\tAT_rich#Low_complexity\t144\t194\t0.0\t14\t29.41\n") | 
|  | 239         f.write("4\tchunk001\t17736\t17766\tAT_rich#Low_complexity\t118\t148\t0.0\t6\t22.58\n") | 
|  | 240         f.write("5\tchunk001\t18723\t18758\tAT_rich#Low_complexity\t110\t145\t0.0\t5\t13.89\n") | 
|  | 241         f.write("6\tchunk001\t20024\t20073\tAT_rich#Low_complexity\t125\t174\t0.0\t13\t26.0\n") | 
|  | 242         f.write("7\tchunk002\t12855\t12882\tAT_rich#Low_complexity\t131\t158\t0.0\t13\t46.43\n") | 
|  | 243         f.write("8\tchunk002\t20736\t20771\tAT_rich#Low_complexity\t135\t170\t0.0\t12\t36.11\n") | 
|  | 244         f.close() | 
|  | 245         f = open(fileName2, "w") | 
|  | 246         f.write("1\tchunk006\t12114\t12143\tAT_rich#Low_complexity\t146\t117\t0.0\t6\t20.0\n") | 
|  | 247         f.write("2\tchunk006\t25538\t25574\tAT_rich#Low_complexity\t128\t164\t0.0\t14\t37.84\n") | 
|  | 248         f.write("3\tchunk006\t25794\t25818\tAT_rich#Low_complexity\t162\t138\t0.0\t15\t60.0\n") | 
|  | 249         f.write("4\tchunk006\t28373\t28403\tAT_rich#Low_complexity\t135\t165\t0.0\t17\t54.84\n") | 
|  | 250         f.write("5\tchunk006\t29180\t29201\tAT_rich#Low_complexity\t163\t142\t0.0\t14\t68.18\n") | 
|  | 251         f.write("6\tchunk006\t33773\t33825\tAT_rich#Low_complexity\t142\t194\t0.0\t11\t22.64\n") | 
|  | 252         f.close() | 
|  | 253 | 
|  | 254     def _writeExpPathFile(self, fileName): | 
|  | 255         f = open(fileName, "w") | 
|  | 256         f.write("1\tchunk001\t11046\t11071\tAT_rich#Low_complexity\t166\t141\t0.0\t9\t34.62\n") | 
|  | 257         f.write("2\tchunk001\t11050\t11074\tAT_rich#Low_complexity\t161\t137\t0.0\t14\t56.0\n") | 
|  | 258         f.write("3\tchunk001\t17216\t17266\tAT_rich#Low_complexity\t144\t194\t0.0\t14\t29.41\n") | 
|  | 259         f.write("4\tchunk001\t17736\t17766\tAT_rich#Low_complexity\t118\t148\t0.0\t6\t22.58\n") | 
|  | 260         f.write("5\tchunk001\t18723\t18758\tAT_rich#Low_complexity\t110\t145\t0.0\t5\t13.89\n") | 
|  | 261         f.write("6\tchunk001\t20024\t20073\tAT_rich#Low_complexity\t125\t174\t0.0\t13\t26.0\n") | 
|  | 262         f.write("7\tchunk002\t12855\t12882\tAT_rich#Low_complexity\t131\t158\t0.0\t13\t46.43\n") | 
|  | 263         f.write("8\tchunk002\t20736\t20771\tAT_rich#Low_complexity\t135\t170\t0.0\t12\t36.11\n") | 
|  | 264         f.write("9\tchunk006\t12114\t12143\tAT_rich#Low_complexity\t146\t117\t0.0\t6\t20.0\n") | 
|  | 265         f.write("10\tchunk006\t25538\t25574\tAT_rich#Low_complexity\t128\t164\t0.0\t14\t37.84\n") | 
|  | 266         f.write("11\tchunk006\t25794\t25818\tAT_rich#Low_complexity\t162\t138\t0.0\t15\t60.0\n") | 
|  | 267         f.write("12\tchunk006\t28373\t28403\tAT_rich#Low_complexity\t135\t165\t0.0\t17\t54.84\n") | 
|  | 268         f.write("13\tchunk006\t29180\t29201\tAT_rich#Low_complexity\t163\t142\t0.0\t14\t68.18\n") | 
|  | 269         f.write("14\tchunk006\t33773\t33825\tAT_rich#Low_complexity\t142\t194\t0.0\t11\t22.64\n") | 
|  | 270         f.close() | 
|  | 271 | 
|  | 272     def _writeTabFiles(self, fileName1, fileName2): | 
|  | 273         f = open(fileName1, "w") | 
|  | 274         f.write("query.name\tquery.start\tquery.end\tquery.length\tquery.length.%\tmatch.length.%\tsubject.name\tsubject.start\tsubject.end\tsubject.length\tsubject.length.%\tE.value\tScore\tIdentity\tpath\n") | 
|  | 275         f.write("DmelChr4_bench_Blaster_Grouper_1_Map_3\t2\t542\t541\t0.998155\t0.32473\tTC1_DM:ClassII:TIR:Tc1-Mariner\t1\t543\t543\t0.32593\t1.4e-93\t984\t87.541\t1\n") | 
|  | 276         f.write("DmelChr4_bench_Blaster_Grouper_2_Map_8\t2\t517\t516\t0.998066\t0.115179\tPROTOP:ClassII:TIR:P\t530\t16\t515\t0.114955\t1.2e-79\t928\t95.2118\t2\n") | 
|  | 277         f.write("DmelChr4_bench_Blaster_Grouper_3_Map_20\t5\t598\t594\t0.978583\t0.537557\tPROTOP_A:ClassII:TIR:P\t572\t1\t572\t0.517647\t3e-93\t1048\t97.6307\t3\n") | 
|  | 278         f.write("DmelChr4_bench_Blaster_Grouper_4_Map_3\t5\t534\t530\t0.992509\t0.479638\tPROTOP_A:ClassII:TIR:P\t1105\t576\t530\t0.479638\t2.9e-87\t1828\t98.4848\t4\n") | 
|  | 279         f.write("DmelChr4_bench_Blaster_Grouper_5_Map_3\t5\t704\t700\t0.994318\t0.425791\tTC1-2_DM:ClassII:TIR:Tc1-Mariner\t1644\t945\t700\t0.425791\t7.3e-120\t1228\t98.1349\t5\n") | 
|  | 280         f.close() | 
|  | 281         f = open(fileName2, "w") | 
|  | 282         f.write("query.name\tquery.start\tquery.end\tquery.length\tquery.length.%\tmatch.length.%\tsubject.name\tsubject.start\tsubject.end\tsubject.length\tsubject.length.%\tE.value\tScore\tIdentity\tpath\n") | 
|  | 283         f.write("DmelChr4_bench_Blaster_Grouper_5_Map_3\t274\t702\t429\t0.609375\t1.26176\tTC1-2_DMp:ClassII:TIR:Tc1-Mariner\t340\t198\t143\t0.420588\t5e-74\t265\t98.6014\t1\n") | 
|  | 284         f.write("DmelChr4_bench_Blaster_Recon_12_Map_3\t311\t374\t64\t0.028021\t0.0359349\tBEL-27_AA-I_1p:ClassI:LTR:Bel-Pao\t605\t582\t24\t0.0134756\t6.3e-17\t11\t30.8511\t2\n") | 
|  | 285         f.write("DmelChr4_bench_Blaster_Recon_12_Map_3\t1472\t1552\t81\t0.0354641\t0.0463918\tBEL-76_AA-I_1p:ClassI:LTR:Bel-Pao\t79\t52\t28\t0.0160367\t1e-13\t8\t27.7778\t3\n") | 
|  | 286         f.close() | 
|  | 287 | 
|  | 288     def _writeExpTabFile(self, fileName): | 
|  | 289         f = open(fileName, "w") | 
|  | 290         f.write("query.name\tquery.start\tquery.end\tquery.length\tquery.length.%\tmatch.length.%\tsubject.name\tsubject.start\tsubject.end\tsubject.length\tsubject.length.%\tE.value\tScore\tIdentity\tpath\n") | 
|  | 291         f.write("DmelChr4_bench_Blaster_Grouper_1_Map_3\t2\t542\t541\t0.998155\t0.32473\tTC1_DM:ClassII:TIR:Tc1-Mariner\t1\t543\t543\t0.32593\t1.4e-93\t984\t87.541\t1\n") | 
|  | 292         f.write("DmelChr4_bench_Blaster_Grouper_2_Map_8\t2\t517\t516\t0.998066\t0.115179\tPROTOP:ClassII:TIR:P\t530\t16\t515\t0.114955\t1.2e-79\t928\t95.2118\t2\n") | 
|  | 293         f.write("DmelChr4_bench_Blaster_Grouper_3_Map_20\t5\t598\t594\t0.978583\t0.537557\tPROTOP_A:ClassII:TIR:P\t572\t1\t572\t0.517647\t3e-93\t1048\t97.6307\t3\n") | 
|  | 294         f.write("DmelChr4_bench_Blaster_Grouper_4_Map_3\t5\t534\t530\t0.992509\t0.479638\tPROTOP_A:ClassII:TIR:P\t1105\t576\t530\t0.479638\t2.9e-87\t1828\t98.4848\t4\n") | 
|  | 295         f.write("DmelChr4_bench_Blaster_Grouper_5_Map_3\t5\t704\t700\t0.994318\t0.425791\tTC1-2_DM:ClassII:TIR:Tc1-Mariner\t1644\t945\t700\t0.425791\t7.3e-120\t1228\t98.1349\t5\n") | 
|  | 296         f.write("DmelChr4_bench_Blaster_Grouper_5_Map_3\t274\t702\t429\t0.609375\t1.26176\tTC1-2_DMp:ClassII:TIR:Tc1-Mariner\t340\t198\t143\t0.420588\t5e-74\t265\t98.6014\t6\n") | 
|  | 297         f.write("DmelChr4_bench_Blaster_Recon_12_Map_3\t311\t374\t64\t0.028021\t0.0359349\tBEL-27_AA-I_1p:ClassI:LTR:Bel-Pao\t605\t582\t24\t0.0134756\t6.3e-17\t11\t30.8511\t7\n") | 
|  | 298         f.write("DmelChr4_bench_Blaster_Recon_12_Map_3\t1472\t1552\t81\t0.0354641\t0.0463918\tBEL-76_AA-I_1p:ClassI:LTR:Bel-Pao\t79\t52\t28\t0.0160367\t1e-13\t8\t27.7778\t8\n") | 
|  | 299         f.close() | 
|  | 300 | 
|  | 301 if __name__ == "__main__": | 
|  | 302     unittest.main() |