18
|
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() |