comparison commons/tools/tests/Test_AlignTEOnGenomeAccordingToAnnotation.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
1 from commons.core.seq.Bioseq import Bioseq
2 from commons.core.seq.AlignedBioseqDB import AlignedBioseqDB
3 from commons.core.sql.DbFactory import DbFactory
4 from commons.core.sql.TableSeqAdaptator import TableSeqAdaptator
5 from commons.core.sql.TablePathAdaptator import TablePathAdaptator
6 from commons.core.coord.Path import Path
7 import os
8 import unittest
9 from commons.tools.AlignTEOnGenomeAccordingToAnnotation import AlignTEOnGenomeAccordingToAnnotation
10
11 class Test_AlignTEOnGenomeAccordingToAnnotation(unittest.TestCase):
12
13 def test_alignBioseqWithNWalign(self):
14 iBioseq1 = Bioseq("dmel_chr4", "TAATCGTAGAGGAAAAGGGTATGAGAGATTTGTTTAGAAGTACGTTACTAGTAGAAGAAA")
15 iBioseq2 = Bioseq("DmelChr4-B-R1-Map4_NoCat", "TTTCTTCTACCTATTACATACTTTTCAACAAATCTAGCATACCCTTTTACTCTACGAGTA")
16 iAlignedBioseq1 = Bioseq("dmel_chr4 Score=58 Identity=0.7", "TAATCGTAGAGGAAAAGGGTATGAGAGATTTGTT-TAGA-AGTACGTTACTAGTAGAAGAAA----------------------------")
17 iAlignedBioseq2 = Bioseq("DmelChr4-B-R1-Map4_NoCat Score=58 Identity=0.7", "----------------------------TTTCTTCTACCTATTACAT-ACTTTTC-AACAAATCTAGCATACCCTTTTACTCTACGAGTA")
18 expiAlignedBioseqDB = AlignedBioseqDB()
19 expiAlignedBioseqDB.add(iAlignedBioseq1)
20 expiAlignedBioseqDB.add(iAlignedBioseq2)
21
22 iATEOGATA = AlignTEOnGenomeAccordingToAnnotation()
23 obsiAlignedBioseqDB = iATEOGATA.alignBioseqWithNWalign(iBioseq1, iBioseq2)
24
25 self.assertEquals(expiAlignedBioseqDB, obsiAlignedBioseqDB)
26
27 def test_alignSeqAccordingToPathAndBuildAlignedSeqTable_one_path(self):
28 iBioseq1 = Bioseq("dmel_chr4", "TTTCTTCTACTAGTAACGTACTTCTAAACAAATCTCTCATACCCTTTTCCTCTACGATTA")
29 iBioseq2 = Bioseq("DmelChr4-B-R1-Map4_NoCat", "TTATTTGTCTCCGAACTTCTTACTGACAATGGCACCAAAATATGATCAGTGTTTGTTGGTATTAATGGCCTTTCATCTAATGGGGGAGTAGCACATCCGAGTCCGTTTTCCAGAATTTCGGCATCAATGGGGGTGGAATTTCCAAAAACACATCGGTATTTTGCAAGAACAAGAAACTTATTATTAATTACAGCTATGTATCCAGTTACACCAATAAATTTCCGTCGCCGTACTTGTTAGTCTTAATAATACCCGTACTCGTAGAGTAAAAGGGTATGCTAGATTTGTTGAAAAGTATGTAATAGGTAGAAGAAAGCGTTTTCGACCATATCAAGTATATATATATTTTTGATAAGGATTAATAGCCGAGTCGAAGTGGCCATGCCATAGACGCATAGAAGCATAGACGCAGCGTAGAGATCCATGTTTCCCACTATAACGCCCACAAACCGCCCAAAATAAAATCGAAATGTTTCGATTTTTCTTTGTTTTATTGTTTGCCTTGTCAATTTCTATGTATTTTATACCCAAAACACTTTGGCCAAGGCCAAGATGTAAGGAAGCATCTACAACACGCTTTTGAACACATCTTTTAATATCGCAGATAAATGATGAAATTTCTCGTTCACATTTCCACTACCATTCCCCGGCTCAGGGGAAACTCAACCATAGCATTCTCTCTTGCTTTGACTTCAGCATAGTGACGATAAGCACCAAGAGTCTGAATTATAAGTAGACTACCGTATAGGACTCATAAAACTGAAAAGCTGCTTTTATATTGCGATCAAAAAAGAAATTAATATTACGAAAATTGCTGTTGCTGGGGCAGGTGGATCAACATATCCCAACATATATTTAACTGTATTGCATTTTACCCTAAAATACGCTTTAATTAATGGTTTAAAAAAAACAGACTGTTTCTATTTTCTATTTCTATTTATTTTATTCTTGGAAAGTTATTTTTTTAATTTTTTGACAAGAATCTTTGAATTTACTTGCTTGCAATCCCACTAGCTAAGTGACGGGTATATAGAGTTTTCCCTTATTTTAATAATCTAGGGTCGCCAGTTTGTCCGTCAGTTCTTCGCTAACGAAGTTCGCTGTTGGCTCGGTATCGACTGTGTAGTCTAGACTCCCTTCGTTGGTCCTCCTGCTGCGTTTCGTCCTTGCTAAGGGCTTTGCCCTCTGGCTTCGTAGTCTTCCTGGTGTGTAGGGTCTATTTTGTTTCCATCTCTGAGTAAGTATAAATAAATTTGGCTTGATTTTTATACTTTAGAGAGCCGTAACGGATAATGAAATAACGCCCCCATACTCTAGATACAGTTTTATCAACAAAGAATTAACCGTATATTGTAATTTGACAAAAATGTTGTATATTTTTCTTCGTAATAAGATCGATAGGGCATAGTTCTTATAATACAAAGCCGGCTTTTCTTACATACGTATAAGTCCATACATTTTTTAAACTAAAATTTATAATTTTTTTGACAATTGTAAATAAATTGTTATCTTGCTAAAAAATAAAAAAGTTACAAAAATTTTTTAAAAATCATATTGATGTCAGCAATTAGATGTGCAATCACCATCTAGTGTAGCAGCAACATTTCCTAATTTTCGTGAAAGATGCATCTTTCGGCAATTAATATCAGTTTCAAGTGATTCCATAATCTTTAAACAAAGGTAAATAAGTGGATTAGACGAAAAAAATTACGAAAATAGGTTAAATAGGTTACCTGATCCTTATATTTAGTTATATAAATGTATAACTCTTTTAATGCAGAAATAGTATCAAACTCTTCGTTTTGCCTTACTGATAGCTGTTGCATAGCTGTACTCATTTCCTGGTCGCTTATTTGTGGAAGCCTTGATACATCGCGGTAAAACTCTTTGACCATAATTCTATAGTTTGGAATATCCTGTCATATAAACCAGTTAATTAAATATTAATGATTTTATTAAAATATTTATACCATTACTTATAAATATTTAAATTTATTATTTGTGTATAAATTTGATAAAGGTAATAATCTAAGTAATATATACCAATATATATGCATATATGTATTCACATTTAAAAAAATGAAAGGGAAAAGAATTTGAAGTCTAATTGTATAAATTGTTTTTAATTTGTTTTATTCTCATTAGACCTCGATAATAGGTCTTTTGTGTGATTAATTAATTTGATAGACTCCTTACTTACAAGAAAAGAAGAAAACAGAAGGTTTACCAGGTGTTCCCTTTATCCGTTACTCCAGTAAAGCGAGGGCGAACTAAATTTTTAAGCGTTGAAGAGGCCGTCTTGGTATTGGATCTTCCATGCTTAATGTCAACGTTCTATATTTTCATACGGACGGACATGGCCAGATC")
30 iPath = Path()
31 iPath.setFromTuple((1, "dmel_chr4", 1, 60, "DmelChr4-B-R1-Map4_NoCat", 315, 256, 0, 249, 81.67))
32
33 seqTable1 = "seqTable1_seq"
34 seqTable2 = "seqTable2_seq"
35 pathTable = "pathTable_path"
36
37 iDb = DbFactory.createInstance()
38 iDb.createTable(seqTable1, "seq", overwrite = True)
39 iDb.createTable(seqTable2, "seq", overwrite = True)
40 iDb.createTable(pathTable, "path", overwrite = True)
41
42 iTSA1 = TableSeqAdaptator(iDb, seqTable1)
43 iTSA2 = TableSeqAdaptator(iDb, seqTable2)
44 iTPA = TablePathAdaptator(iDb, pathTable)
45 iTSA1.insert(iBioseq1)
46 iTSA2.insert(iBioseq2)
47 iTPA.insert(iPath)
48
49 expTTuples = ((1, "TAATCGTAGAGGAAAAGGGTATGAGAGATTTGTTTAGAAGTACGTTACTAG-TAGAAGAAA", "TACTCGTAGAGTAAAAGGGTATGCTAGATTTGTTGAAAAGTATGT-AATAGGTAGAAGAAA", 406, 86.440700000000004),)
50
51 iATEOGATA = AlignTEOnGenomeAccordingToAnnotation(pathTable, seqTable1, seqTable2)
52 iATEOGATA.setMergeSamePathId(True)
53 iATEOGATA.setDbInstance(iDb)
54 iATEOGATA.alignSeqAccordingToPathAndBuildAlignedSeqTable()
55
56 #TODO: "select * from ..." + execute + fetchall => create method in TableAdaptator
57 sqlCmd = "SELECT * FROM %s_align" % pathTable
58 iDb.execute(sqlCmd)
59 obsTTuples = iDb.fetchall()
60
61 iDb.dropTable(seqTable1)
62 iDb.dropTable(seqTable2)
63 iDb.dropTable(pathTable)
64 iDb.dropTable("%s_align" % pathTable)
65 iDb.close()
66
67 self.assertEquals(expTTuples, obsTTuples)
68
69 def test_alignSeqAccordingToPathAndBuildAlignedSeqTable_n_paths(self):
70 queryTableName = "query_seq"
71 subjectTableName = "subject_seq"
72 pathTableName = "table_path"
73
74 iDb = DbFactory.createInstance()
75 queryFileName = "dummyDmelChr4.fa"
76 self._writeDummyDmelChr4(queryFileName)
77 iDb.createTable(queryTableName, "seq", queryFileName, True)
78 os.remove(queryFileName)
79 iDb.createTable(subjectTableName, "seq", overwrite = True)
80 iDb.createTable(pathTableName, "path", overwrite = True)
81
82 iTSA = TableSeqAdaptator(iDb, subjectTableName)
83 iTPA = TablePathAdaptator(iDb, pathTableName)
84 iBioseq1 = Bioseq("DmelChr4-B-R1-Map4_NoCat", "TTATTTGTCTCCGAACTTCTTACTGACAATGGCACCAAAATATGATCAGTGTTTGTTGGTATTAATGGCCTTTCATCTAATGGGGGAGTAGCACATCCGAGTCCGTTTTCCAGAATTTCGGCATCAATGGGGGTGGAATTTCCAAAAACACATCGGTATTTTGCAAGAACAAGAAACTTATTATTAATTACAGCTATGTATCCAGTTACACCAATAAATTTCCGTCGCCGTACTTGTTAGTCTTAATAATACCCGTACTCGTAGAGTAAAAGGGTATGCTAGATTTGTTGAAAAGTATGTAATAGGTAGAAGAAAGCGTTTTCGACCATATCAAGTATATATATATTTTTGATAAGGATTAATAGCCGAGTCGAAGTGGCCATGCCATAGACGCATAGAAGCATAGACGCAGCGTAGAGATCCATGTTTCCCACTATAACGCCCACAAACCGCCCAAAATAAAATCGAAATGTTTCGATTTTTCTTTGTTTTATTGTTTGCCTTGTCAATTTCTATGTATTTTATACCCAAAACACTTTGGCCAAGGCCAAGATGTAAGGAAGCATCTACAACACGCTTTTGAACACATCTTTTAATATCGCAGATAAATGATGAAATTTCTCGTTCACATTTCCACTACCATTCCCCGGCTCAGGGGAAACTCAACCATAGCATTCTCTCTTGCTTTGACTTCAGCATAGTGACGATAAGCACCAAGAGTCTGAATTATAAGTAGACTACCGTATAGGACTCATAAAACTGAAAAGCTGCTTTTATATTGCGATCAAAAAAGAAATTAATATTACGAAAATTGCTGTTGCTGGGGCAGGTGGATCAACATATCCCAACATATATTTAACTGTATTGCATTTTACCCTAAAATACGCTTTAATTAATGGTTTAAAAAAAACAGACTGTTTCTATTTTCTATTTCTATTTATTTTATTCTTGGAAAGTTATTTTTTTAATTTTTTGACAAGAATCTTTGAATTTACTTGCTTGCAATCCCACTAGCTAAGTGACGGGTATATAGAGTTTTCCCTTATTTTAATAATCTAGGGTCGCCAGTTTGTCCGTCAGTTCTTCGCTAACGAAGTTCGCTGTTGGCTCGGTATCGACTGTGTAGTCTAGACTCCCTTCGTTGGTCCTCCTGCTGCGTTTCGTCCTTGCTAAGGGCTTTGCCCTCTGGCTTCGTAGTCTTCCTGGTGTGTAGGGTCTATTTTGTTTCCATCTCTGAGTAAGTATAAATAAATTTGGCTTGATTTTTATACTTTAGAGAGCCGTAACGGATAATGAAATAACGCCCCCATACTCTAGATACAGTTTTATCAACAAAGAATTAACCGTATATTGTAATTTGACAAAAATGTTGTATATTTTTCTTCGTAATAAGATCGATAGGGCATAGTTCTTATAATACAAAGCCGGCTTTTCTTACATACGTATAAGTCCATACATTTTTTAAACTAAAATTTATAATTTTTTTGACAATTGTAAATAAATTGTTATCTTGCTAAAAAATAAAAAAGTTACAAAAATTTTTTAAAAATCATATTGATGTCAGCAATTAGATGTGCAATCACCATCTAGTGTAGCAGCAACATTTCCTAATTTTCGTGAAAGATGCATCTTTCGGCAATTAATATCAGTTTCAAGTGATTCCATAATCTTTAAACAAAGGTAAATAAGTGGATTAGACGAAAAAAATTACGAAAATAGGTTAAATAGGTTACCTGATCCTTATATTTAGTTATATAAATGTATAACTCTTTTAATGCAGAAATAGTATCAAACTCTTCGTTTTGCCTTACTGATAGCTGTTGCATAGCTGTACTCATTTCCTGGTCGCTTATTTGTGGAAGCCTTGATACATCGCGGTAAAACTCTTTGACCATAATTCTATAGTTTGGAATATCCTGTCATATAAACCAGTTAATTAAATATTAATGATTTTATTAAAATATTTATACCATTACTTATAAATATTTAAATTTATTATTTGTGTATAAATTTGATAAAGGTAATAATCTAAGTAATATATACCAATATATATGCATATATGTATTCACATTTAAAAAAATGAAAGGGAAAAGAATTTGAAGTCTAATTGTATAAATTGTTTTTAATTTGTTTTATTCTCATTAGACCTCGATAATAGGTCTTTTGTGTGATTAATTAATTTGATAGACTCCTTACTTACAAGAAAAGAAGAAAACAGAAGGTTTACCAGGTGTTCCCTTTATCCGTTACTCCAGTAAAGCGAGGGCGAACTAAATTTTTAAGCGTTGAAGAGGCCGTCTTGGTATTGGATCTTCCATGCTTAATGTCAACGTTCTATATTTTCATACGGACGGACATGGCCAGATC")
85 iBioseq2 = Bioseq("DmelChr4-B-R4-Map5_NoCat", "CCAAAATTGCCCTCTTTCCGCTCGCTCACGCTGAGAGCATAAGAAATCTAAAAATAGAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTATATGTGTGCGTGTTGTGCTAGAAGACTATTTTCGGGCCGAAATCAATTCTGATCGAAAAAACGAATTTACATTGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAATATGATAAAATAAAATAATTTTTAAAAATTCGCGCCCTGACTATTATAATTTTAAAGCTTTTAAAATTTGTTTGTTAAAATCGCCGATCGAATTAGCTACCGTTTACACATTTATATTTATGTTTAATTCTAATTTGTCTCTCATCTGACAATTTTTTAAAAGCGAAATATTTTTTTTGAAACACTTTTAATGTTAAAAATGACTTAATAAATATACTAAATAATTAAAGGAAGTACAATAGAAATTATTATAACTACTGTAATTTCATAAATTTCATAAAAATATGATAACTGTTTATTGCAAAAGTCATATCAAAGACACTAGAATTATTCTAGTGTCTTTGCTTTGTTCATATCTTGAGGCACGAAGTGCGGACACAAGCACTCAACAATCATTGCCTTATTAATTTTTCACACGCCGCAAGATGAATACTCTAATGACAAATATTCTTATATAAAGTCATTTTTGAAATTTATTTTTGTGATAATATGTACATAGATTTGGCTATTTCTAATCTATTTTCAAATAATAATAACGTTAAGGCAATGCAAAACAAGAATTTTTCGCATGGTGCCAATTGATCAAAAATAATATAGATTTAAAGTCAAAGAACTTCTAAGGTGAAGGGCATATTTTGTCAAATTTACAATGCATGAGCATACGTGTGCACACATACAGTTGTCTGCTATCACTTTATGCGTTGAAAAGAGCTGTTCGCTGTAGCGCTCTCCGCTCTCTCGCTCTCTAACAAAAATTCGAGAGAGCCTGGAGCCACCTCTAGAGCCACGGCGAAAAAATCGTGTGCCAAAAAATCGTATGGCGTTACGCATCTTGTTATTCTAGTGTCTTTGGTA")
86 iBioseq3 = Bioseq("DmelChr4-B-G9-Map3_NoCat", "ACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGCACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTGAGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGCCGAAATCAATTCTGATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAATATGATAAAAAAAAAAATTTTTTTTAAATTCGCGCCCTGACTATTATAATTTTAAAGCTTTTTAAATATGTTTGTTAAAATCGCCGCTCGAATTAGCTACCGTTTACACATTTATATTTATGTTTAATTCTAATTTGTCTCTCATCTGACAATTTTTTAAAAGCGAAATATTTTTTTAAAACACTTTTAATGTTAATGTTACATCATATTAAGTCAAATGATTTAATAAATATACTAAATAATTAAATATGATAACTGTTTATTGCAAAAGTAATATCAAAGACACTAGAATAATTCTAATGCTTTGTTCATATCTTGAGGCACGAAGTGCGGACACAAGCCCTCAACAATCATTGGCTTATTAATTTTTCACACGCCGCAAGATGAATACTCTAATGAAAAATATTCTTATATAAAGTCATTTTTGAAATTTATTTTTGTGATAATATGTACATAGATTTGGCTATTTCTAATCTATTTTCAAATAATAATAACGTTAAGGCAATGCAAAACAAGAATTTTTCGCATGGTGCCAATTGATCAAAAATAATATAGATTTAACGTCTAAGAACTTCTGAGGTGAAGGGCATATTTTGTCAAATTTACAATGCATGAGCATACGTGTGCACACATACATTTGTCTGCTATCACTTTGTGCGTTGAAAAGAGCTGTTCGCTGTAGCGCTCTTCGCTCTCTCGCTCTCTAACAAAAATTCGAGAGAGCCTGGAGCCACCTCTAGAGCCACGGCCAAAAAATCGTGTGCCAAAAAATCGTATGGCGTTACGCATCTTGTTATTCTAGTGTCTTTGCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACGATTTTTTGGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGAGCGAAGAGCGCTACAGCGAACAGCTCTTTTCAACGCACAAAGTGATAGCAGACAAATGTATGTGTGCACACGTATGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTCAGAAGTTCTTAGACGTTAAATCTATATTATTTTTGATCAATTGGCACCATGCGAAAAATTCTTGTTTTGCATTGCCTTAACGTTATTATTATTTGAAAATAGATTAGAAATAGCCAAATCTATGTACATATTATCACAAAAATAAATTTCAAAAATGACTTTATATAAGAATATTTTTCATTAGAGTATTCATCTTGCGGCGTGTGAAAAATTAATAAGCCAATGATTGTTGAGGGCTTGTGTCCGCACTTCGTGC")
87 iTSA.insert(iBioseq1)
88 iTSA.insert(iBioseq2)
89 iTSA.insert(iBioseq3)
90 iPath = Path()
91 iPath.setFromTuple((1, "dmel_chr4", 1, 60, "DmelChr4-B-R1-Map4_NoCat", 315, 256, 0, 249, 81.67))
92 iTPA.insert(iPath)
93 iPath.setFromTuple((28, "dmel_chr4", 280, 1380, "DmelChr4-B-G9-Map3_NoCat", 3, 1100, 0, 7456, 94.400000))#28 => seems to be a join from "long join"
94 iTPA.insert(iPath)
95 iPath.setFromTuple((28, "dmel_chr4", 8971, 9459, "DmelChr4-B-G9-Map3_NoCat", 1102, 1590, 0, 758, 96.707800))
96 iTPA.insert(iPath)
97 iPath.setFromTuple((30, "dmel_chr4", 9815, 9826, "DmelChr4-B-G9-Map3_NoCat", 574, 563, 0, 4, 78.162700))#30 => seems to be a join from "matcher"
98 iTPA.insert(iPath)
99 iPath.setFromTuple((30, "dmel_chr4", 9957, 10047, "DmelChr4-B-G9-Map3_NoCat", 429, 337, 0, 33, 78.162700))
100 iTPA.insert(iPath)
101 iPath.setFromTuple((30, "dmel_chr4", 10094, 10127, "DmelChr4-B-G9-Map3_NoCat", 290, 256, 0, 13, 78.162700))
102 iTPA.insert(iPath)
103
104 expTTuples = ((1, "TAATCGTAGAGGAAAAGGGTATGAGAGATTTGTTTAGAAGTACGTTACTAG-TAGAAGAAA", "TACTCGTAGAGTAAAAGGGTATGCTAGATTTGTTGAAAAGTATGT-AATAGGTAGAAGAAA", 406, 86.440700000000004),\
105 (28, "CAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGCACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCGGCTCACTCCCGCTGAGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTATATGAGTGCGTGTTGTGCTAGAAGACGATTTTCGGGCCGAAATCAATTCTGATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTATCAATATGATAAAATAAAAAAATTTTTAAAAATTCGCGCCCTGACTATTATAACTTGAAAGTTTTTTAAATTTGTTTGTTAAAAT-----------TT-------GTT---------------ATGTTTAATTCTAATTTGTCTGACAATCTGACATCTGACAATTTTTTAAAAGCGAAATATTTTTTTAAA-CACTTTTAATGTTAATGTTACATCATTTTAAGTCAAATGACTTATTAAATATACTAATTAATTAAAGGAAGTACAATAGAAATTATTATAACTACTGTAATTTCATAAATTTCATAAA--AATATGATA---ACTAGAATTATTCCAGTGTCTTTGCTTTGTTCATATCTTGAGGCACGAAGTGCGGACACAAGCACTCAACAATCATTGCCTTATTAATTTTTCACACGCCGCAAGATGAATACTCTAATGACAAATATTCTTATATAAAGTCATTTTTGAAATTTATTTTTGTGATAATATGTACATAGATTTGGCTATTTCTCTTATATTTTTAAATAATAATAACGTTAAGGCAATGCAAA-CAAGAATTTTTCGCATGGTGCCAATTGATCAAAAATAATACAGATTTAAAGTCTAAGAACTTCTAGGGTGAAGGGCTTTTTTTGTCAAATTTACAATGCATGAGCATTCGTGTGCACACATAAAGTTGTCTGCTATCACTGTATGCGTAGAAAAGAGCTGTTTGCTGTAGCGCTCTTCGCTCTCTCGCTCTCTAACAAAAATTCGAGAGAGCCTGGAGCCACCTCTAGAGCCACGGCCAAAAAATCGTGTGCCAAAAAATCGTATGGCGTTACGCATCTTGTTATTCTAGTGTCTTTGAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACAATTTTTTGGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGAGCGAAGAGCGCTACAGCGAACCGCTCTTTTCTACGCATACAGTGATAGCAGACAACTTTATGTGCGCACACGTATGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCGTAGAAGTTCTTAGACTTTAAATCTATATTATTTTTGATCAATTGGCACCATGCGAAAAATTCTTGTTTTGCATTGCCTTAACGTTATTATTATTTGAAAATAGATTAGAAATAGCCAAATCTATGTACATAATATCACAAAAATAAATTTCAAAAATGACTTTATATAAGAATATTTGTCATTAGAGTATTCATCTTGCGGGGTGTGAAAAATGAATAAGGCAATGATTGTTG----CTTGTGTCCGTCCGCACTTCGTGC", "CAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGCACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTGAGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGCCGAAATCAATTCTGATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAATATGATAAAAAAAAAAATTTTTTTTAAATTCGCGCCCTGACTATTATAATTTTAAAGCTTTTTAAATATGTTTGTTAAAATCGCCGCTCGAATTAGCTACCGTTTACACATTTATATTTATGTTTAATTCTAATTTGTCT------CT--CATCTGACAATTTTTTAAAAGCGAAATATTTTTTTAAAACACTTTTAATGTTAATGTTACATCATATTAAGTCAAATGATTTAATAAATATACTAAATAATTAAA-----------------TATGATAACT---GT--TT------ATTGCA-AAAGTAATATCAAAGACACTAGAATAATTCTAATG------CTTTGTTCATATCTTGAGGCACGAAGTGCGGACACAAGCCCTCAACAATCATTGGCTTATTAATTTTTCACACGCCGCAAGATGAATACTCTAATGAAAAATATTCTTATATAAAGTCATTTTTGAAATTTATTTTTGTGATAATATGTACATAGATTTGGCTATTTCTAATCTATTTTCAAATAATAATAACGTTAAGGCAATGCAAAACAAGAATTTTTCGCATGGTGCCAATTGATCAAAAATAATATAGATTTAACGTCTAAGAACTTCTGAGGTGAAGGGCATATTTTGTCAAATTTACAATGCATGAGCATACGTGTGCACACATACATTTGTCTGCTATCACTTTGTGCGTTGAAAAGAGCTGTTCGCTGTAGCGCTCTTCGCTCTCTCGCTCTCTAACAAAAATTCGAGAGAGCCTGGAGCCACCTCTAGAGCCACGGCCAAAAAATCGTGTGCCAAAAAATCGTATGGCGTTACGCATCTTGTTATTCTAGTGTCTTTGAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACGATTTTTTGGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGAGCGAAGAGCGCTACAGCGAACAGCTCTTTTCAACGCACAAAGTGATAGCAGACAAATGTATGTGTGCACACGTATGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTCAGAAGTTCTTAGACGTTAAATCTATATTATTTTTGATCAATTGGCACCATGCGAAAAATTCTTGTTTTGCATTGCCTTAACGTTATTATTATTTGAAAATAGATTAGAAATAGCCAAATCTATGTACATATTATCACAAAAATAAATTTCAAAAATGACTTTATATAAGAATATTTTTCATTAGAGTATTCATCTTGCGGCGTGTGAAAAATTAATAAGCCAATGATTGTTGAGGGCTTGTGTCCG----CACTTCGTGC", 13732, 96.1763),\
106 (30, "------------------------------------ACATTTACAT-TTTTTGAATTTGTGGG-------CGTGGCA-GAACGGGCAATAT-GTATGCATA---ATATGTATGCATAATCTCTACCTTCTTGCTTTTATAGTTCCTGAGACCTCGACGTTCATACGGACAGACGAAATATGCGAAA", "ACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAATAATTTTAAAGCTTTTTAAATATGTTTGTTAAAATCGCCGCTCGAATTAGC--TACCGTTTACACATTTATATTTATGTTTAAT-TCTAATTTGTCAATATCAAAGAC-------------------------------------------", 158, 64.835200000000004))
107
108 iATEOGATA = AlignTEOnGenomeAccordingToAnnotation(pathTableName, queryTableName, subjectTableName)
109 iATEOGATA.setMergeSamePathId(True)
110 iATEOGATA.setDbInstance(iDb)
111 iATEOGATA.alignSeqAccordingToPathAndBuildAlignedSeqTable()
112
113 #TODO: "select * from ..." + execute + fetchall => create method in TableAdaptator
114 sqlCmd = "SELECT * FROM %s_align" % pathTableName
115 iDb.execute(sqlCmd)
116 obsTTuples = iDb.fetchall()
117
118 iDb.dropTable(queryTableName)
119 iDb.dropTable(subjectTableName)
120 iDb.dropTable(pathTableName)
121 iDb.dropTable("%s_align" % pathTableName)
122 iDb.close()
123
124 self.assertEquals(expTTuples, obsTTuples)
125
126 def _writeDummyDmelChr4(self, fileName):
127 with open(fileName, "w") as f:
128 f.write(">dmel_chr4\n")
129 f.write("TTTCTTCTACTAGTAACGTACTTCTAAACAAATCTCTCATACCCTTTTCCTCTACGATTA\n")
130 f.write("TGTTGGTATTAATGGTCTTTCATCTAATGGGGGAGTAGCACATCCGAGTCCGTTTTCCAG\n")
131 f.write("AATTTCGGCATCAATGGGGGTGGAATTTCCAAAAACACATCGGTATTTTGCAAGAACAAG\n")
132 f.write("AAACTTATTATTAATTACAGCTATGTATCCAGTTACACCAATAAATTTCCGTCGCCGTAC\n")
133 f.write("TTGTTAGTCTTAATAATACCCGTACTCGTAGAGTAAAAGCAAAGACACTAGAATAACAAG\n")
134 f.write("ATGCGTAACGGCCATACATTGGTTTGGCACTATGCAGCCACTTTTTTGGTGACGGCCAAA\n")
135 f.write("ATTACTCTCTTTCGGCTCACTCCCGCTGAGAGCGTAAGAAATCTAAAAATATAATTTGCT\n")
136 f.write("TGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTATATGAGTGCGTGTTGTGCTAGAA\n")
137 f.write("GACGATTTTCGGGCCGAAATCAATTCTGATCGAAGAAACGAATTTACATGGTACATATTA\n")
138 f.write("GGGTAGTTTTTGCCAATTTCCTATCAATATGATAAAATAAAAAAATTTTTAAAAATTCGC\n")
139 f.write("GCCCTGACTATTATAACTTGAAAGTTTTTTAAATTTGTTTGTTAAAATTTGTTATGTTTA\n")
140 f.write("ATTCTAATTTGTCTGACAATCTGACATCTGACAATTTTTTAAAAGCGAAATATTTTTTTA\n")
141 f.write("AACACTTTTAATGTTAATGTTACATCATTTTAAGTCAAATGACTTATTAAATATACTAAT\n")
142 f.write("TAATTAAAGGAAGTACAATAGAAATTATTATAACTACTGTAATTTCATAAATTTCATAAA\n")
143 f.write("AATATGATAACTAGAATTATTCCAGTGTCTTTGCTTTGTTCATATCTTGAGGCACGAAGT\n")
144 f.write("GCGGACACAAGCACTCAACAATCATTGCCTTATTAATTTTTCACACGCCGCAAGATGAAT\n")
145 f.write("ACTCTAATGACAAATATTCTTATATAAAGTCATTTTTGAAATTTATTTTTGTGATAATAT\n")
146 f.write("GTACATAGATTTGGCTATTTCTCTTATATTTTTAAATAATAATAACGTTAAGGCAATGCA\n")
147 f.write("AACAAGAATTTTTCGCATGGTGCCAATTGATCAAAAATAATACAGATTTAAAGTCTAAGA\n")
148 f.write("ACTTCTAGGGTGAAGGGCTTTTTTTGTCAAATTTACAATGCATGAGCATTCGTGTGCACA\n")
149 f.write("CATAAAGTTGTCTGCTATCACTGTATGCGTAGAAAAGAGCTGTTTGCTGTAGCGCTCTTC\n")
150 f.write("GCTCTCTCGCTCTCTAACAAAAATTCGAGAGAGCCTGGAGCCACCTCTAGAGCCACGGCC\n")
151 f.write("AAAAAATCGTGTGCCAAAAAATCGTATGGCGTTACGCATCTTGTTATTCTAGTGTCTTTG\n")
152 f.write("GTAAAATGGTATGCTAGATTTGTTGAAAAGTATGTAATAGGTAAAAGAAAGCGTTTTCGA\n")
153 f.write("CCATATCAAGTATATATATATTTTTGATAAGGATTAATAGCCGAGTCGAAGTGGCCATGC\n")
154 f.write("CATAGACGCATAGAAGCATAGACGCAGCGTAGAGATCCATGTTTCCCACTATAACGCCCA\n")
155 f.write("CAAACCGCCCAAAATAAAATCGAAATGTTTCGATTTTTCTTTGTTTTATTGTTTGCCTTG\n")
156 f.write("TCAATTTCTATGTATTTTATACCCAAAACACTTTGGCCAAGGCCAAGATGTAAGGAAGCA\n")
157 f.write("TCTACAACACGCTTTTGAACACATCTTTTAATATCGCAGATAAATGATGAAATTTCTCGT\n")
158 f.write("TCACATTTCCACTACCATTCCCCGGCTCAGGGGAAACTCAACCATAGCATTCTCTCTTGC\n")
159 f.write("TTTGACTTCAGCATAGTGACGATAAGCACCAAGAGTCTGAATTATAAGTAGACTACCGTA\n")
160 f.write("TAGGACTCATAAAACTGAAAAGCTGCTTTTATATTGCGATCAAAAAAGAAATTAATATTA\n")
161 f.write("CGAAAATTGCTGTTGCTGGGGCAGGTGGATCAACATATCCCAACATATATTTAACTGTAT\n")
162 f.write("TGCATTTTACCCTAAAATACGCTTTAATTAATGGTTTAAAAAAAACAGACTGTTTCTATT\n")
163 f.write("TTCTATTTCTATTTATTTTATTCTTGGAAAGTTATTTTTTTAATTTTTTGACAAGAATCT\n")
164 f.write("TTGAATTTACTTGCTTGCAATCCCACTAGCTAAGTGACGGGTATATAGAGTTTTCCCTTA\n")
165 f.write("TTTTAATAATCTAGGGTCGCCAGTTTGTCCGTCAGTTCTTCGCTAACGAAGTTCGCTGTT\n")
166 f.write("GGCTCGGTATCGACTGTGTAGTCTAGACTCCCTTCGTTGGTCCTCCTGCTGCGTTTCGTC\n")
167 f.write("CTTGCTAAGGGCTTTGCCCTCTGGCTTCGTAGTCTTCCTGGTGTGTAGGGTCTATTTTGT\n")
168 f.write("TTCCATCTCTGAGTAAGTATAAATAAATTTGGCTTGATTTTTATACTTTAGAGAGCCGTA\n")
169 f.write("ACGGATAATGAAATAACGCCCCCATACTCTAGATACAGTTTTATCAACAAAGAATTAACC\n")
170 f.write("GTATATTGTAATTTGACAAAAATGTTGTATATTTTTCTTCGTAATAAGATCGATAGGGCA\n")
171 f.write("TAGTTCTTATAATACAAAGCCGGCTTTTCTTACATACGTATAAGTCCATACATTTTTTAA\n")
172 f.write("ACTAAAATTTATAATTTTTTTGACAATTGTAAATAAATTGTTATCTTGCTAAAAAATAAA\n")
173 f.write("AAAGTTACAAAAATTTTTTAAAAATCATATTGATGTCAGCAATTAGATGTGCAATCACCA\n")
174 f.write("TCTAGTGTAGCAGCAACATTTCCTAATTTTCGTGAAAGATGCATCTTTCGGCAATTAATA\n")
175 f.write("TCAGTTTCAAGTGATTCCATAATCTTTAAACAAAGGTAAATAAGTGGATTAGACGAAAAA\n")
176 f.write("AATTACGAAAATAGGTTAAATAGGTTACCTGATCCTTATATTTAGTTATATAAATGTATA\n")
177 f.write("ACTCTTTTAATGCAGAAATAGTATCAAACTCTTCGTTTTGCCTTACTGATAGCTGTTGCA\n")
178 f.write("TCGCTGTACTCATTTCCTGGTCGCTTATTTGTGGAAGCCTTGATACATCGCGGTAAAACT\n")
179 f.write("CTTTGACCATAATTCTATAGTTTGGAATATCCTGTCATATAAACCAGTTAATTAAATATT\n")
180 f.write("AATGATTTTATTAAAATATTTATACCATTACTTATAAATATTTAAATTTATTATTTGTGT\n")
181 f.write("ATAAATTTGATAAAGGTAATAATCTAAGTAATATATACCAATATATATGCATATATGTAT\n")
182 f.write("TCACATTTAAAAAAATGAAAGGGAAAAGAATTTGAAGTCTAATTGTATAAATTGTTTTTA\n")
183 f.write("ATTTGTTTTATTCTCATTAGACCTCGATAATAGGTCTTTTGTGTGATTAATTAATTTGAT\n")
184 f.write("AGACTCCTTACTTACAAGAAAAGAAGAAAACAGAAGGTTTACCAGGTGTTCCCTTTATCC\n")
185 f.write("GTTACTCCAGTAAAGCGAGGGCGAACTAAATTTTTAAGCGTTGAAGAGGCCGTCTTGGTA\n")
186 f.write("TTGGATCTTCCATGCTTAATGTCAACGTTCTATATTTTCATACGGACGGACATGGCCAGA\n")
187 f.write("TCGACTCGCATATTGATGCTGATCAAGAATATTTATATTTTACATGATCGGAAACGCTTC\n")
188 f.write("ATTGCTCTACGAGTAATGGGTACAATAATTTAAAACAAACATATTAAAAGTATAGCAAAA\n")
189 f.write("CCCTATCTGAAGGACTAAAATTTTATCGCATTTTAAAATTTGTTGCATTAAAATCTTTGA\n")
190 f.write("TAACCTTTCGTTGAATTAGGTGCTTCGACTTTTTTTACCCTAAGAACAATTTCGATTTGG\n")
191 f.write("CATACATTGAAAACGTAGAAACTCAACCCTGCATTCATTCATAGAACTTATAAAGAGCTA\n")
192 f.write("CATCTTCGAAAATAAAAAAAAGGTTTGTTTTTAAGACTTAATGCGTACAATGTCGCTTTC\n")
193 f.write("GACATTAGGGTATTGCTAGAATTAATATTCGCTTTGTTGTTTACTTTTCCAAACAAACAT\n")
194 f.write("AATGGGTAAACCAAAAAAATGGGAAACGTCAGTATTAAGTGCTATCGAAAACGTTTAGAA\n")
195 f.write("TATGGAGAATCTAGTTGTTATTACCAAAACGCATAAATACTAAGCATATACTAAAACAAA\n")
196 f.write("ATAGAAAAAGATAATGTTTATTTTAGACTCACCTTAGCAAACAGCAACTTATTCGACGGC\n")
197 f.write("GAATCTTTTCCAAGTCTGTGCTCTGATGTTAAACAAGCGTCCATAAATGTTTGTGCAATG\n")
198 f.write("ACACTTAAACAGGAATCAACGCTGTATGTTTTATTTACATCAAATATAAAATCCGGATTT\n")
199 f.write("TTTATAAAATTAACCCAGAATCGAAGGGGCAAACAATTTGACTTCCAAGCGTGCACAATA\n")
200 f.write("TCAGTATCAGCAATATCATGGCGTCGCGCAGCTTCATCAAGTAAGTCAAAGAGCCATTTA\n")
201 f.write("ACGGCAGGTGGCAACTCCTCATTAACAGTTAAAATAATTGAGAAAAAATCATCAACAAAT\n")
202 f.write("TTTTGTATAGTTCCTTTTGTGGCCAGAAGACGCGTAAGGTAAACTTCTGGTATTGTTTTG\n")
203 f.write("TTCACCCTGTCATTACAATTATTAACGACATGCGATTGAAATGCTGGTGATCCTCCGGAT\n")
204 f.write("AACACGGAATTTTTAATGTTCATATAATGATCAGGTATATTGGGCTTAACAAGATGGTAA\n")
205 f.write("ACCCGGGGCTGCTGCAAACCTGATTCGATATCATTATTAATTATAATATGACTTTGCGAA\n")
206 f.write("TTGTTTATAAAATAAACTGCAAAAAGGCAAAACAATTAATTAAAAAATTTTTAGATATTG\n")
207 f.write("GGCTTAGTACTTACAATTGTGGTATGGTGCCGAATTTTGGTTTTTACTGTATGGTATATG\n")
208 f.write("ATAATTATCATTTTGACGTGCAATTAGTGACATTACTGCAGATTCTTTGACTCCATAATG\n")
209 f.write("AGCTAATGTGTTAAGGCGCTTCCATCCGTTAACGGTTTTGGTTGTCAAGTCTTCATCTTG\n")
210 f.write("TAATGTAAGATGACCTCCTCGGCCGTGCCTCCATTCTAAGTCTACTTCGTTTACAGATGG\n")
211 f.write("CCTCATAGAGAAAGGAGTGTTTTTAAAAATTGCGTCGAGGATTTTAAGCTTAACTTGAGA\n")
212 f.write("AATGGTATCCCAATCGTTAACGCGACATTGGACTTTTTCATCAAGATCATCTTGTAAAAT\n")
213 f.write("ATGCTATATTACAACAGAATGGGTAACTTGTTCATGCAGAAGACGTTCTTCTGAAAGGGA\n")
214 f.write("GTAACGGGCATCGTTGGTTATTGCGTCCACTAAACCCTTTTCAATTTGATGCTTTATTGC\n")
215 f.write("TTTGAAGAGCAAAAATAAATTTGATCCGGCGTACTCTTTCAGGTAATCGTACATACAAAT\n")
216 f.write("TGCTAGGTAGTTGGTCAACATTTTTTCAACAACGCTTTCAGTACGCCTTAGCATCAGCTG\n")
217 f.write("AGGATGTTTGCTGGCAAGTGATTTATCTATCAAACGTAATAAAAGGGACTTCAAAATTTC\n")
218 f.write("CGTGGCATATTCCATCTTGTTCATTAAAACAACCATTATTAATGAGGCAACGTTAACTCG\n")
219 f.write("GTCTCTAATAGAAAATGATGAACGTTGAGCTTCTAATGTTTCTATGAACATTAATAAAAA\n")
220 f.write("ATATTTATTGCCAATCAGTTGTTCAAATTGTACCATAGCTGCGTCATAGTTAGTCTGTGG\n")
221 f.write("GCTACCTTCACGAAATTTTGGAGAATTTAAAATAGGATGATCTGATACACCAGGGAAAAA\n")
222 f.write("CACCTTCATAATATAGTTGACGTGATCTAAAGTTGGTATGCCTGTGCTCTCCAAATCTGC\n")
223 f.write("TGTTAGGTCGGTCATGTCCGTTTGGAGCTCAGCGAATGCCTGTTTACACTCAGAACGTAC\n")
224 f.write("GTTGCTTTCTAATGTAATCATCTGTATCTGAATACGTTTATACTCGCGTTCTGCTTGTGT\n")
225 f.write("TGATTTCCTTCTGAATATTATAAGTACAATTACAAAAACAACGACCAGAAGTGCTACCGT\n")
226 f.write("TAATATGCCGACTAACAAGGCATGTGAGAAAACATAGGGTTTATTTAAATCATACTTAAG\n")
227 f.write("ATATCCTATTACAAAACGAAGATTTCGACCTACTTTAACGACAACAAGAGGTAAATCAGT\n")
228 f.write("TGATTGATCCACACCATTTTCATCAGTTGGAAGTGGTTGTTGCTCCGGCGGAATGCATAA\n")
229 f.write("AAGTTGGTTAAGTGCCAGGCTGGTAATATTGCATTGGGAAGTTCCAATAGTTACATTTAC\n")
230 f.write("ATCGTACTCATCAGCTGCCAAGTTTAATAGCTCGCCTTCTATGACCAAGCTGTCACCCTT\n")
231 f.write("GTAGAGTTTAACGCCGTCGTTGGGAAATGGCAAATATTTTGGGTCTGCTAAATAGACAAT\n")
232 f.write("AGTGCTCCTTATGTCATGAAAATATTTATTCAAGTTTCGAACTAGTTGTACATTGTCCAT\n")
233 f.write("TACAAAACTTAGTTGTAAGTTAAATTGAGTTTCATGAACCTTAACGAATGTGGTGACGTC\n")
234 f.write("CATATTATTGTTAACAAAATAGTTGGCTGAAGATCCTGCATTTGTGTATAAGCGAAAAGT\n")
235 f.write("GTCTCCAAAGTCGGCTCGCCGCTTTTTTCTATCATATTCATTTTTATACCTGGTTTCAGT\n")
236 f.write("TTGAAACGAAGAATTTTGTAAGTGCAATTCAGTATCCATCTTTCTGTTCGTCTTTTTAAA\n")
237 f.write("AGTCTCAAATTTTTAATTTACCGGAGGAGATGGACATTCCATTTGATTAGAGTTGATCAC\n")
238 f.write("CACACAAGATGTTTTATTTACTCTTTCATTGTCATAAAACACTTCTAGTTCAGGTTTTTG\n")
239 f.write("GTTTTATTTGTCTCCGAACTTCTTACTGACAATGGCACCAAAATATGTTCAGTGTTTGTT\n")
240 f.write("GGTATTAATGGCCTTTCATCTAATGGGGGAGTAGCACATCCGAGTCCGTTTTCCAGAATT\n")
241 f.write("TCGGCATCAATGGGGGTGGAATTTCCAAAAACACATCGGTATTTTGCAAGAACAAGAAAC\n")
242 f.write("TTATTATTAATTACAGCTATGTATCCAGTTACACCAATAAATTTCCGTCGCCGTACTTGT\n")
243 f.write("TAGTCTTAATAATACCCGTACTTGTAGAGTAAAAGGGTATGCTAGATTTGTAGAAAAGTA\n")
244 f.write("TGTAATAGGTAGAAGAAAGCGTTTTCGACCATATCAAGTATATATATATTTTTGATAAGG\n")
245 f.write("ATTAATAGCCGAGTCGAAGTGGCCATGCCATAGACGCATAGAAGCATAGACGCAGCGTAG\n")
246 f.write("AGATCCATGTTTCCCACTATAACGCCCACAAACCGCCCAAAATAAAATCGAAATGTTTCG\n")
247 f.write("ATTTTTCTTTGTTTTATTGTTTGCCTTGTCAATTTCTATGTATTTTATACCCAAAACACT\n")
248 f.write("TTGGCCAAGGCCAAGATGTAAGGAAGCATCTACAACACGCTTTTGAACACATCTTTTAAT\n")
249 f.write("ATCGCAGATAAATGATGAAATTTCTCGTTCACATTTCCACTACCATTCCCCGGCTCAGGG\n")
250 f.write("GAAACTCAACCATAACATTCTCTCTTGCTTTGACTTCAGCATAGTGACGATAAGCACCAA\n")
251 f.write("GAGTCTGAATTATAAGTAGACTACCGTATAGGACTCATAAAACTGAAAAGCTGCTTTTAT\n")
252 f.write("ATTGCGATCAAAAAAGAAATTAATATTACGAAAATTGCTGTTGCTGGGGCAGGTGGATCA\n")
253 f.write("ACATATCCCAACATATATTTAACTGTATTGCATTTTACCCTAAAATACGCTTTAATTAAT\n")
254 f.write("GGTTTAAAAAAAACAGACTGTTTCTATTTTCTATTTCTATTTATTTTATTCTTGGAAAGT\n")
255 f.write("TATTTTTTTAATTTTTTGACAAGAATCTTTGAATTTACTTGCTTGCAATCCCACTAGCTA\n")
256 f.write("AGTGACGGGTATATAGAGTTTTCCCTTATTTTAATAATCTAGGGTCGCCAGTTTGTCCGT\n")
257 f.write("CAGTTCTTCGCTAACGAAGTTCGCTGTTGGCTCGGTATCGACTGTGTAGTCTAGACTCCC\n")
258 f.write("TTCGTTGGTCCTCCTGCTGCGTTTCGTCCTTGCTAAGGGCTTTGCCCTCTGGCTTCGTAG\n")
259 f.write("TCTTCCTGGTGTGTAGGGTCTATTTTGTTTCCATCTCTGAGTAAGTATAAATAAATTTGG\n")
260 f.write("CTTGATTTTTATACTTTAGAGAGCCGTAACGGATAATGAAATAACGCCCCCATACTCTAG\n")
261 f.write("ATATAGTTTTATCAACAAAGAATTAACCGTATATTGTAATTTGACAAAAATGTTGTATAT\n")
262 f.write("TTTTCTTCGTAATAAGATCGATAGGGCATAGTTCTTATAATACAAAGCCGGCTTCTCTTA\n")
263 f.write("CATACGTATAAGTCCATACATTTTTTAAACTAAAATTTATAATTTTTTTGACAATTGTAA\n")
264 f.write("ATAAATTGTTATCTTGCTAAAAAATAAAAAAGTTACAAAAATTTTTAAAAAATCATATTG\n")
265 f.write("ATGTCAGCAATTAGATGTGCAATCACCATCTAGTGTAGCAGCAACATTTCCTAATTTTCG\n")
266 f.write("TGAAAGATGCATCTTTCGGCAATTAATATCAGTTTCAAGTGATTCCATAATCTTTAAACA\n")
267 f.write("AAGGTAAATAAGTGGATTAGACGAAAAAAATTACGAAAATAGGTTAAATAGGTTACCTGA\n")
268 f.write("TCCTTATATTTAGTTATATAAATGTATAACTCTTTTAATGCAGAAATAGTATCAAACTCT\n")
269 f.write("TCGTTTTGCCTTACTGATAGCTGTTGCATAGCTGTACTCATTTCCTGGTCGCTTATTTGT\n")
270 f.write("GGAAGCCTTGATACATCGCGGTAAAACTCTTTGACCATAATTCTATAGTTTGGAATATCC\n")
271 f.write("TGTCATATAAACCAGTTAATTAAATATTAATGATTTTATTAAAATATTTATACCATTACT\n")
272 f.write("TATAAATATTTAAATTTATTATTTGTGTATAAATTTGATAAAGGTAATAATCTAAGTAAT\n")
273 f.write("ATATACCAATATATATGCATATATGTATTCACATTTAAAAAAATGAAAGGGAAAAGAATT\n")
274 f.write("TGAAGTCTAATTGTATAAATTGTTTTTAATTTGTTTTATTCTCATTAGACCTCGATAATA\n")
275 f.write("GGTCTTTTGTGTGATTAATTAATTTGATAGACTCCTTACTTACAAGAAAAGAAGAAAACA\n")
276 f.write("GAAGGTTTACCAGGTGTTCCCTTTATCCGTTACTCCAGTAAAGCGAGGGCGAACTAAATT\n")
277 f.write("TTTAAGCGTTGAAGAGGCCGTCTTGGTATTGGATCTTCCATGCTTAATGTCAACGTTCTA\n")
278 f.write("TATTTTCATACGGACGGACATGGCCAGATCAAAGACACTAGAATAACAAGATGCGTAACG\n")
279 f.write("CCATACGATTTTTTGGCACACAATTTTTTGGCCGTGGCTCTAGAGGTGGCTCCAGGCTCT\n")
280 f.write("CTCGAATTTTTGTTAGAGAGCGAGAGAGCGAAGAGCGCTACAGCGAACCGCTCTTTTCTA\n")
281 f.write("CGCATACAGTGATAGCAGACAACTTTATGTGCGCACACGTATGCTCATGCATTGTAAATT\n")
282 f.write("TGACAAAATATGCCCTTCACCGTAGAAGTTCTTAGACTTTAAATCTATATTATTTTTGAT\n")
283 f.write("CAATTGGCACCATGCGAAAAATTCTTGTTTTGCATTGCCTTAACGTTATTATTATTTGAA\n")
284 f.write("AATAGATTAGAAATAGCCAAATCTATGTACATAATATCACAAAAATAAATTTCAAAAATG\n")
285 f.write("ACTTTATATAAGAATATTTGTCATTAGAGTATTCATCTTGCGGGGTGTGAAAAATGAATA\n")
286 f.write("AGGCAATGATTGTTGCTTGTGTCCGTCCGCACTTCGTGCCTCAAGATATGACCAAAACAA\n")
287 f.write("AGACACTAGAATAATTCTAGTGTCTTTGATGTGACTTTTGCAATAAACAGTTTTCATATT\n")
288 f.write("TTTATTTATTTTACAAATTTTTATTTTCTACTTCGTATTATTTTTATGAAATATTTATTT\n")
289 f.write("CTCGATGTAATGTATTCCTTTTGTTATAAGTAGTTATAATAATTTATATTTTACTTCCTT\n")
290 f.write("CAATATCACAAAATAAATTTCAAGTATGGCTTTATATTAGAATAATTGTCATTAAATTAT\n")
291 f.write("TCAGCTTGGGACGTGGGAAAAATTAGAGTAGACATGTCTAGTAGACATCGATTCTTAGGT\n")
292 f.write("GCTTCTGACCGCACGTCGTGCCTCAAGAAATCAATTTCGCATATTTATACCCATTATTTC\n")
293 f.write("TAGAGTAAAAGGGTATACTACATTCGTTGAAAAGTATGTAACAGGCAGAAGAAAGCGTTT\n")
294 f.write("CCGACTATATAATGTATAAAGATCAGGATCAACAGCCGAGTCGATCTGGCCATGTCCGTC\n")
295 f.write("TGTCCGTATGAACGTCGAGGTCTCAGGAACTATAAAAGCAAGAAGGTAGAGATTATGCAT\n")
296 f.write("ACATATTATGCATACATATTGCCCGTTGACCCATGTTGTCACGCCCACTCTAACGTCCAC\n")
297 f.write("AAACCGCACAAAACTGCCACGCCCACAAATTCAAAAAATGTAAATGTAATTGACCAAATT\n")
298 f.write("TAACAAAACTCTAAAAATGTAACTTTGTTTCTTAGATCAAAATTTAGACCAGAAAATCGT\n")
299 f.write("CTTCATCTTCTAATGTTTTTACTCACACAAGAAAGCAAATTCTATTTTTAGATTTTAAAG\n")
300 f.write("TACTCCATTTTACGCGAGCGGAGAGAGAGAGCAATTTTGGCCGTCACCAAAAAAGTGTCT\n")
301
302
303 if __name__ == "__main__":
304 unittest.main()