mengyao / Complete-Striped-Smith-Waterman-Library

298 stars 112 forks source link

segfault in banded_sw #22

Closed txje closed 2 years ago

txje commented 9 years ago

Somewhere between lines 597 and 633, but I'm having trouble narrowing it down further. It seems like it gets into an infinite (or very slow) loop for a few seconds before segfaulting. To reproduce (yes, these are very long strings):

from ssw_wrap import Aligner

tseq = "AAGAGAGAGATTAAACGCTTGCTGCTATCGCCATACGCCGATACTAATCAGCAGACTTGCTCATCCAGCGTGCTGCCCGTAAAAAAAGGCGTCGTCCACTGCTGACGTCAAAGCCGACCATCGGGCCGGTATCCAGTCCCAGCGCCCGGCAGGCGACGAATCCAGATTAAGCGCCTGCATGGACTGTTGCGAAACGCGTCTTCCTTCGGCAAGTTGTGGGCAATGGAGGTAAACCAACTGCGGCATCACCGTGGGGAAACGTAATGCGTAACCCGTTCATAAAATCTCACTGTCCCAGGCGACGATAGCGGTGACGAGGCGCGGTCAGGGGTTTTTTGCAGATTGCCAGCTGGAAAGTAGCCGGGCGCAGAACGTATTCTTATTCCTTCTGCAAGATGCCAGGATAAACACGATATCGCATCAACGCGGCAGAACAGTTAGATGATGAAATCGGCCCCCATTTCATAAGGAGCATAAAAATCTCCGTAACGTCTCATCGCTGACGGGTGTCTCCCGCCAGCAACGTTGTGTGAGTGAGGGCATCGAGTGAAACAGGGGTGACTAAGCGAACCTGGGCTAACCGGCATTCGTATCATCCAGCAATTCCTTAACAGGGCGGCATTCACGGATGATGTTAACAGGCCCTGGAAGAACCCGTTGAGCTAACAGAGCATAAATCGTTTCGGGGACCTCACGCGATCACGTTTGCAGGCGTGTCCCCATAGCTGCCAATGTTATCTGGCTATCGGGCAGGCCGCGCATGAAGTCACTGGAAAATGCTGTTGGCACAGCAGATCATCGACGTGGGCAGACCGTGGATGTGTGCACCGGGCAGCGGTGCGATCGGCGCAATGGTGTGAGCTAAAGATCAGCGCGTTGTTGAGGGCGTTAAGTCGACGCAGTAAATCCCTCTCTTTCTGCCCCCTGAAAATGCGCCAGGTGCAGGCGCGTCTTCTGCCTCACAGGCGAGGTCGCGGGCCGCCATCCAGGTTCGGCGGGACTAGAGGAACCACGGACTGCGCTTCCCACCCATGAGCCTGCGCGCCGCCGCTATACCCCACGTGAATCGTTCGCGAACCTCGAAAACAGCGGCGCGTTATGGGCGTTTAATTCGTAGCAGCCGTTAACGCTGATCAGCACACGTTAGCCCAGACGCGGGATAATCCAGCGCCAGCTGGCATCCCACCAGCGCACCGACGCATGGCCGACCACTGCGTAATGCTCAATCCCCTTGCGGCTACAGCGCCTGATGCAGTTCCGCGCCATTCTGGGCGAATACTGTAATCTTCTGGCCAGCGTGTCGGGATTATTGCCGGTGCCGCGCTGGTCGTAAACAGACTACTGATACTCCTGCATCAGCACCGCCAGTATGCGGTAACCGTAATGCCGCATACCCCAAAGACCAAATCAACACCACGACGGGGCGCATCAGCATAAAGGGGGGCATGAACGAGTGAAAGTTCTTCATCGTCGAGTCACTCTGGCGATATGCCGCAATTGTGGCGATTTCACCAGCGCGTCAGGTTTCTACCAGTCCGCGACTGAATGGCCAGAATCGCGCCGGTTTATCAACCGAAAACTCGGCGTAGATTCTGTTATCGCGGCGTAATTTTCCGTCGGTAACTAAAGATGCTGTTTGAAGGTCAATCCGCCATCGTGCCCACCGCACGATCATCACTCACCTATTGCGGATAGTTTCAGAACGTGGCGGGTTGTTGCGCCTTTGGAGGTCCATCGGCAAACAGCACGTATTATGTGATTCAAAAGCCAGCGTACGAGACATACACAGCCAATCAGCCAGCGTGCCGGGCGAAGGGGATCCAGCCGATGCGCTGCCAGATGCAGCGGGAATAAATTAACGATTTTTGGCATCGATTAAACTCCTTAAGCGATATGAGCAAAGGACGGGAGAAAGCGCGTCCGCAGAATGTTTCGACGATCATGACCCAGCCAAAAAAGATTTCGATATTGAACAACGCGGCCTTTCTGCGCAAATTTGTTCGGCCGCGCTGGTAGATTGCGTCTTCAAGCACCACGCCGAAATACACCCACCTCCAGAAAAAAAGCCGTCGCGTACGTCGATTCGACGCAGACGTTGAGTAGCCGATGCGTGAAAACCCAGAATGGCGTATTCCGCGGCTGCGCAAATGCTGTCCAGCGGCGTATTGAAGAAACCGCTGTACGCGGCTTCGGCAGCACAATAATCGCCCAGGCTGCGGCACAAGTTCATCCACCAGTTGATAATCCCAGGACCTTCGCCAGCAATTTCCCTGCAGCTGCGGCTGCTTAAAGCATGTTATTCAGGCGTTCGATTATGAAAATTTCGGTGGAGCCGGGTCCGCCAGCCCGACATACTGTTCATCCCAGCCATTTTGAACCAGATGATCAGCATCCCTGCCGCTCGCGCTGCGTCACGGCGTTTGAATGTTGGCAATGACCGGCGAGTGGTTGAGACACAAACCCGGCGGATCGTAAGTAGCCGCCTGGCGTGGCATCAAGCTTTTTGCATATCCCACCACATCAGGCGCACTTTGCTGCGGATCGACAGTAATGGCTTTTCCGTTCCGAGCGGTTAAGGCGTCATCATGCCACCTCCTGAGTCAGCGCAGTAGATGGCGCCGGCCATGCATTTCAGTGGTTTGAATGCCGCTCGCCGAAGGTTTCGGATTCCCGACAGAAAACTCCGAAGGTAAAACAGCACGCCTTCGGCAACCAGGACGCTTGCGACTTCATCTAACATGCGCGCGACACTGGCGTAAGAACCGACTAACGCCCCATAATTGATGTTTACCTGCCGAAGTGGAATCGGCATCTGACGAACGTTGGTGGTCAGTAACCGGAGCGGGTATCTTTCTGACCTTTGTTCGGTTAGCCAGCCTTAACGCTCTTCATACCGCGCCCGCTTGATAGTGTTCCATTTGGGCGCGAGCGGCATCGTCGGTTTCATCGGCATCCCATAACAACACATAAGAGCCAACGATCGCGTCCGGTTGGCTCTGCGGCCGTTTCATCGCGCAGCGGTCGGGCGAGCCGTGGGTGTATTTAGCCTTTTGCCGAACACGAAGTTGATCGGCATACCGGCGGAGAACGCCATGCCAGCGTCGCTTTGCCCGGCGCAGATCACTTCATGGGACACTCGGTTGCGGACTCACGCGACAATCATTCATGTTGAAAAAATCGCCGCCTTAAAATCGCTTTCCCCGTGCCCCACAGGTCCGCGCACTGAACATATTCGGTGAGTGAGATAGCGTAACGACGGGAGAAAAAAGTCATCGCCAGGCAGATACCCATCTGCTCATACTCGGGCTTTTTGCCAGCCAGTCACGAGGTTGACGCCCAAACGCCCGCCAGAGATGAGTCGATGGTTGCGGCCGGATACGGGCGACGATTGCCGGAGGTAAACGTTAAGGTGGCATGCAGTGGGCGTAATCTGAATGCGCGAGGTCACGGCCGCCAGCCCGCCATAAAAGGTGAACGACTCAGGTGGTGATCCCAGAACTCATTTTTGCGCCAAAGCCACGCAGTTTTTGAGGTCATCGGACAGGGCGAAAATCGAAATGGTAGTGCTCCGCTTTTTGCACAATGGCTTTATTCAGTTCAAAGGTCGTGCATGTTACTGCGGCGCGTGGGTCGGAAAATAGCCAGCGTCTGTGCATAGGTACGAATAGCCAATTTTCATCATCAACCTCTCTTTCGTCTGTAAAGTGAAAGTCAGACGGGGCGCTGCATCCTGCATATCCTTTTCAGCCGCGTATTGGCTGTGTTGCAAAGCGGAATGCCAGTTTGTTAAAAGTTAATGTTATTAATCTGTTAACATTACGTTATCTAAAATATTCTGGAAAAGTGGACTAAACGGTCAACAGTTGCACATTAAAACATGCATTCTGTGCCGCGATGAGAGTGCAGAAGGTCAGGCCGGGCGGGGGTATTGCTATCCTGTTGCCATCACAAGAGCGGGAGAGCGCATTGACGCAAGGCGCAGTGAAAACACGGGTTAAACGTCGCGCGCAGTAAGCGCGGAAGAAAAAAGCGATTCTTAGCGCAGCACTGGACACTTTTTCAGCATTCGGCTTTTCACGGCACAAGGCTGGAGCAGATCGTGAACAGAGTTGGCGGTGTTTCAAAACAATCTGCTGTATTACTTTCCGTCAAAAGAGGCGCTGTATATTGCCGTGCTGCGGCAGATTCTCGATATCTGGCTTTGGCACCGTTAAAGCGTTTCGTGAAGATTTCGCCCCAAAGCGGCGGCGATCAAAGAGTACCTCCGTTCTGAAGCTGGAAGTCTCACGCGATTATCGCAGGCTTCGCCGCCTGTTTCTGTATGGAAGATGAGGCAGGCGCGCGGCTGTTAATGGATGAACTGACGGGCGATTTGAAGGCATTAATTGTGAGAAATCGGCGCTGATTCCGGTTGGGTCAAAAGCGGCAAACTCCGCGCCGATGATCCGCAGCATTTGATTTTTAATGATTTTGGGCTTCCACTCACATTGACGGCGATTTCGCGCCCCTCAGGGTGGAGGCGGTGACAGGCGCGACGTTGCGCGATGAGGTAATTTTTCAACTCAACGGTTGAAACGTGCAGCGGATTATTATTGAGGGGATTCCGTACCACGTTAAAGATGCCGGAGGAGTTGTACATCAATCCGGCTACCTGTTAACCTATAGTCATTAAGCTGGCGTTACCGCCAGCGGCAGCGGTATCACACTCAGCGAACGCTCGATATACAGCCGTTCCAGAAGGATATTGGGCTTTCGCCACGGGAACCGCTGCCAGAAACAATTGTGCAATCCGCGCGGCAACTGCTTCACACAATGCGCGAAGCTGATCCGAATCACCGTGGAAGACTCACGCATCAAACGGTTGAGCGGTTTATGATTTTCCGCTTTCGCCAGTTAATACGTTCGCCTTGACTGCCGATGCTAATGCTTCACTAAGGACGATGCAGCGCGTCATCCGGCCAGTACCTGGCTGCCCACCGCCCAGCACGGCGGCGAGCTGAGTCAGCGCATCCTGCTCATCATCGCAATACACAAACGCGCTCACGCGGCAGCAGCGTCCAGGTTGCGTTCCCCGTCGCCCCCGCACAAATCTGTGGTGTTCCTGCCTGCGCCAGCTCGCATATTCAGCGGTACATAACGCCTGCAATTTCTGGACCGATTTGCTGCCCATTCCCGAAGTGATTTACGGCTGAGTCATGCGGCTTTCAACTGCGCATCGACCGGATACTTTGCATCCTGACGGCGGCGAGCTCCACTGGCCAGCGCACTTTCCGGGCGATCGCAGCAGACGGTAGAGATACGAGCGGACCGCCTGCTTTCGCCCGGTACCGACACCCTTCGCGCCGAACGGCTGCACCACCAACCACTGCGGCCACCATATTACGGTAAACTACAGTTACCAACATGGGCCACCCAGTGACCTGGGCGATGGTTTCATCCAAATGCGCGTATGGACTCCAAAGCGTCAGACCATACCGGAGCGTTAAGCTGCTCGATCAGCTCTGGTAGCTGGTTACGGTTGTAACGCACCAACATGCAGGCACCGACAAAGACCTCTTTTTGCAATTCGGCCAAGTCCATCCAGTTCGATCAGACGTCGGGGCGACAAAGTGCACGCGTTGCATCTGGGCAATCTTCGCTGTTTTCCCGCACCGCCTGGAACACCGGACGGCTTGCTACGCATGTCTGAATATGGCGCTCAATATTGGCTTTCGCTTCCGCTATCAACTCACTGGACCGATAGTCGGTGGTCGGCAGAACCGGATACCCATCCGGCATCGCCATTGGCGCGCGCAGCCAAATTTTCAACGTGTGGTCGGCAATCTCATCTTGCCAAGGCACAGCACGCGCAGCGCCGAACAACGCTGACCCCGCACTGTCGAAAGCGAGGCCAGGTAACATCCACGACAAGACCTGTTCGGTCAAGTGCTGAAGATCGACAATAACGCGTTCATAGCCGCGGTTTCAGCGATGAAGCGGAATAGGGCGACCTGAGGCGTCCAGGCGGCTGGCGATATTGCGGCTGCAGTAACGTAGCCGACTTCGTTGAACCGTAAACATCACGGCCGCGCACGCGAGTCACACCCGTTCAGTTGCGCTTTCTCACGGTTTTCATCTCTTCGACTCTGGCAGCAATGCACCATCGCCTGGCGGTTAATTTTTCCGCTTTCCAGCAAAATGGCGATCCTTGCGCGGCAATCAGCGGCGTTTGTTCTGCGGTTTTAGCCAGCACGCTGTTTACCTGCCGCCAGGCGGCCGGGCGATCTGCCCGGTGAAAATAGCCACGGGAAGTTCCACGGACTGAACACACCAACAGGCCTAATGGACGGTGGGTTTCGTTTGCGAAATCAATCCCGCACCTGTCCGGCGTAGTAGTGGAAAAATCGACCGCATCGCGCACTTCGGCAATGGCGTTAAATGAAGGTTTTCCGCCCTCAACGCACCAGAATAACCAATCAGTTGGCTGCATCTGGCTTTCCATCAGCACGGCACGCGCGGTGCAAAAATCCCCCGCCCCCTGCGGCGTTCAGCCGGAGGCGTGGCAACCAGATTGGAGCGTTTATAACCGCACTTTCAAGCGCCTGTTCTACTTCAACGGCGGCGTGGCTTCACGCACATAGCCCACAATAATTTTCCGGTTCCGCAGGGTTAATAACGGGCGACATCTCACCTGCCGCTACCGGTTTGTGTTCCAGCATTGCAAGGCCTGCATTTTTGCAGTGCACATTGAAGCAGGGCAAGAGGAGAAGCGAGGCCAGGCGGTGTTCGTTAGCGAGAATCCAGCCTGCCTGAGTTGTCGCGCCCGTGACGTAAAGATCCGTCGGCAGGGAATTTTCGGATGCGGTAATCCAGTTTGCCTTCTGTTGCGCCAGTTTTTCTACAGCAGTGACCGGATCGGCGACCAGTTCATTCCATGGGCAAAGAGGTGTCGGCAATACGGTTAACAACGAGGTGTACCGAACCGTTATTCCAGCAGGCACCGCACCAGATAGCCAACAGCGTTTCATGTGTGCCAACCGGAGCATAAAATACGACACGGACGGGTTAAAGTTTTGCCGTCGCAACTTTCCCGGTGACCTGCTTCATACAGATGGCTCCGCCATCACCCATGCAGGCACTGGATACCGATACTGACCCGGGTAGTAGTTCTGCCCCGCCAGTTGATAAAATCGCCGCCAGCGTATGGGCGTTGTGCGTCGCGAACTGCGGGTAGATCTAGATCGGCACCGCCAGCAGCCCTTTTTCGCACAGGCGAGATATAGAAAACGCTCGGTATACACCTTGCGGGTATAAACCGGATAACCTTCAAGGCCGTCCATGCTGCGCACCTTAATTTTCACTATCCCAGTACGCGCCTTCTCACCAGGCGAATCATCAGACGGCCGACGGCTGCGGGTGGCGAGATCAATCAGGAATCGATCACAACGGGCAGCGTTTTTGATAAGCCTGAAAACAAAACCGATGCGTTTCCAGCCTTGCAGTTCCGGCTCGAAACAGAGTTTTTCCAGCAGATCGAGCGGAATCTCCAGGCAACTCGGCTTTCGGCCGCAATGTTGATACCAATATCGTACTGACGGCGCCAGCAGGGTGAGTTGATTTCCAGAACGCGGGGTAAAGTCTTCCATTACCGCGGTCATACTGGGCGCGGCATAACGCGGATGCAGCGCCGACAGTTTGATTGAAATGCCGGCCTTCATAGATCACGGACCGTTAGACGCTTTACCGATGGCGTGAATCGCCTGCTTGGATAGGTAACCATATACGCTGTGCATCTGCGCGGTCAGCGCGGCTTCGCCCAGCATATCGTAAGGAGACGGAAACCTTTCTCTTCCAGCTTGCGGCATTGGCTAAACGCTTCCCGCGATGGTTTCGCCAGTGACGAACTGCTCACCCACAGGCGCACGCCATACTCCACCCTTGCGGATCAGCGGTTCACCGCTTTACCGAAATGCGGTTCAGCGCGCGGCGAGAGGCTGCTTGTTTAATGGGGTGGAAACCAGTTTTGCCAGTAAACACGGCAGCCCCCAGGTGGCGCATTAACAAACAGTGACGGGCTACGACCAATTGTGTGGAACTGCCAGATTACAGTTGCTGATTTTGTCGCGAATTAACGCGTCGCGGTGGCTTTGCGTCGGGATACGCGCAACAACGCATGTCCGCCAGACACATCAGCGCCACCCTTCCTGCGATGACAACGCGAAAACTCCTGCAATACCCCTGGACCATACCTGCGCGACCACTGCTTTTTTTGAATTCGCAAGTTTATCGGCCAGCTGATAGCCAGTTTGTGCGACTGTTCAGCAACTGGCTGCGGCAGGCGGGCATGTTCCAGCAGACAATAGAAACCGCTTCGGTTTCCGGGCGGCGATAGGCCGCGGTGATCGCGCGCGGGAAACCGATGGGGCAATATTGTGCTCGCAAAGTCGAGGAATGGCTGGCTGTGGTTCCTCTGCGGATCGTCTTCAATCGCTTTCGGCGGCCAGAAAGCAGCGCAGGTAGCTCCGGCAGAGTATCTGCTGTTTTCAGTTTTCGAGATAAAAAAACGCTGCTAATTACCAGTTGTGGTGTGCATCGATACGTGTCGGGAAGACTTATCACCGCTCACGCGTCGCGTCGTCAGCTAACCCCCATGGTGGTGGTTCCATGCCATTACTCACTGCTTGTTCAGAAAGGTGCAACTTAACGTTATCGGTGAAAATAATCCATGATGTTGCAAACTTTGTGCAACCTGTTAAAATGTGACATGCGTAGCAAGCGTTAAAATGAATGAAATGTAATAAAAAGGAATCGAATATGACAGGGATTAAAAAAAATAACATCGACTATTTTTCTCTGCGGAGTTAACATATATTTGAAAGTGCAAACCGCAAAAATGTGAGAGAGTGCAACCTATAAAAAATAGTGTCGCTGAGCACTAAAAATTTTAAATGTAAATGGTGTGTTAAATCCGATTGTGAATAACCAGCGGCTTCCCGCAGGATACGGTCGCCCTGGTAAAACATAAACTCTGTTACCGTTCCGAGTGGCAGATATAACGGCAAGTTTCACATTGCCGATAATAATTTTTTGGAGACTTTAGATGGCTATTACACACCGATGTTTGGTACATTTTTGTCCTATATTCTTTAGGCATGATATTGAATTGGGTTTAATTCGCTGGCGAATCAACGAAAAACTTTGACGACTATATTCTGGGCGGTCCGTAGGTCTTGGCCATTCGTGACGGCATTATCGGCGGGGTGCGTCGGATATGAGCGGCTGGCTTGTTAATGGGGGTTGCCCGGGCGCTGATTTTTTCTTTCCGGATTTCCGAAGCTGGATCGCATTTGGCCCGACATTAGGACGCGTGGATTAACTGGAAGCTGTGGCGGGCGGTTGCGTGTGCATACCGAATACAACAATAAACGCATTAACACTGCCGGATTATTTCACCGGCCGCTGTTGAAGATAAAAGCCGTCATTTTGCGCATTATCGCTGCGCTTGGTTATTTTGCTGTTCTTCAACCAATTTATTGCGCTTCGGGCATTGTGGCAGGCGCGCGCTCCTGTTGAAAGTTACCTTGCATGACTCACGAAACGGGCTCCTGTGGGCGGCGCTGCGGCGACGATCCTTTACACCTTTATTTGGCGGTTTCCTCCGGTGAGCTGGCACTGACACTGTAACAGGCAAGCCTGATGATTTTTGCCCTGATCCTGACGGCGGTTATTCGTTCCATTATCAGTGTCGGTGCTTTGGTGACTCGCTGGAAGTGTCAAACAAAAGAGCATCGAAAGTTGATACGCTCAAAGGTCGAACTTTGTTGCCATTATCTCACTGATGGGTTGGGGGCTGGGTTACTTCGGGAGCCGCACATTCTGCGCGTTTTATGGCGGCGGATTTCTCACCACAGCATTGTCATCGCGCGTATATTAAGGTATGACTGGATGATTCCTCTGCTGGCAGGGGCGGTGCTGTTCGGGCTTCTTTGGGATTGCTGCTTATAACGATCATCCGGCGTGGGCTGGTGAGGTAAATCAGAACGCCGAGCGTGTGTTTATCGAACGTGGCGCAAATTCTGTTTAACCGTGGATTGCCGGGATTCTGCTGTCCGGCAATTCTGGCGGCGGTAATGTCAACCTTAAGTTTGCCCAGCTGCTGGTGTGGCTCCAGTCGCGATTACCGAAGATTTGTACAAAGCGTTTCTGCGTAAACATGCCGCCGAAAGCGTGTGGTTAGGGCGTGTGATGGTGCGGTGGCGTGGCGCTGGTGGCGATGCGCTGGCGGCAAACCCGGAAAACGCGTGCTGGGCTTAGTGAGCTACGCGTGGGCAGGCTTTGGCGCGGCGTTTGGTCCCAGTGTGCAGGGGGGGGGGGGGGGGGGGTGGGGTTCTCGGTGATGATTCAACGCCATGACGCCGTAAACGGTGCGCTGGCGGGGATGATCATCGGTGCGGCTGACGGTTATCGTCTGAAACAGTTCGGCCTGGCTGGACTGTACGAAATTATTCCGGTGCTTTATCTTCGGCGTATTGGGATTGTAGTGTTTGTTTGCTGGTAAAGCGCCGTCAGCGGCGATGCAAAAACGCTTTGCCGAGGCCGGATGCGCACTATCATTCGGCTCCGCCGTCCGGTTGCAGGAAGCTAAGGGACTTAGCCTGCGCGGTTTGTTTGGCTTAGCAGCGGGTTGCGCTCCTTAATGTGCCTCGCCAATAAATGGAATGGTGCAGGAAGCGCGCAGGGGCGGCCATCGCCGCCGCCCTGTGTCCCGGACTTCGGGGACCGCTCAGCGATTTTGACGCCACCCAACACCCGAAGCTGTTATTATAGTTCGGGCCCAAAAGTTAAGATTTGATAATCGGCGGATGGACGAAATTGCTTCGATACAACCCGCTTATTCAGTTTTACATGGAAGCTCTGATCATTGAGTCTGGACAGTTTGTCGGCCTGGATACGGCGTCTTACCGCCGGCATCCGGCAAAGAACCATGGTTTTTGCAAAACAATCCCATCCTTTCTACCCGGAATAAATCTTTATATCCTTGGCATTACTCCTCTTTGTTTACATTCAACATCATTTTATGAAACATTCCGCTTGTGTTTCTTTGGTAATGAAATCCTATCACCTGCCGATTTACCTTTTCTTTGAAATAGATTGACTCAGAAAAACGTTTAAGGGTGGGTGGCATGTGTTCGTTATTCTCAATTTGTTGCGCGAAGGAAACTTAAGCGCGCGATTGTCATTTGATTGCAGCTATCTTAAGCGTACCCAGCAGGCCGAATGGATTTTGGGTTGTGATGTGGATTGGCGTGTTGCTTCCGCTGCGTGTGCTGGGCTTGGGTATCTTCATTACGAAACCACGGCGAATTCCGCAAAAAGAAACAGGAACTGTTTGAAGGTATCGTGGCGGTGATCGCCGTGGTGATCCTTTACCTGGAGGTTTTCTTGGATGCGCAAAGTTGTGCGCGCAACGTCAAAAGTGCAACTGGAACAGGCAGTCGATAGCGCATTGCAGCGTGGAAATCATCATGCTGGGCGCTGCTGATGATGTTTTTGTTGCCGTTGCAAAGGGAAGGGTGGAGTCGGTCTTTTTCTGCTGGCGGCATTTCAACAAGTGTCGGGATCTGGCCGCCGCTGGGTGCAATGCTCGTCTTGCGCTACTGCCGTGGCTAGGCCCTGCTCTACTGGGTCGGTATTCGCCTCCAATCTCTGGTGCATTTTTTAAATGGACCAGCCTGTTTATTCTCTTCGTCGCAGCAGGGCTGGCAGCTGGTGCCATTGCCGCATTTCATGAAGCCGATTGTGAACCACTTTTCAGGAAATCGCCTTCGATATGAGTGCGGTGCTCTCAACTCACCGCTGTTTGGCGCTGATGGAAAAAAAGGGATTTGGCTATCAGGAAGCGCCGAGCGTCAGCGAAGTCGCCGTCTGGTTTATTTATCTCATCCCGGCGCTGGTGGCATTTGTCCTGCCACCACCGCCGCAGCGGCGACAGCGTCTCGCTCCGCGTAACAAGATTACGACGCAAACCTTGCTTAGTTAAAACATACTTTAAAGGGATAGTCCTCGTCATGACCATTAAACTTCCGCCGTACGCATTGCACGTTGAGCGTGGCTTGCGCGTTTTCTTCCTGCTTTAATGGCTAACCCCCCCCCCCCCCGCCCCCCTTGATGTGCCGCAGGTCAAAGTGACTGACGATAAGCAGTGGCGAACCGATGACCATTACGGTAACGCCGGGAACACAGTTCATTATTCAGACCACAGCCAGAAGGCGCTGAGTTGGAGATCCTCAAGCGTGATGGTGGTGGAAGAGCGGGAAATATCGCCCCTGCTTTAAGCCAGAAATGCGGCGAATTTACAGCCTGGCGATACGATATGACCTGCGGTCGGCTGACTAACCGAAAGGTAAGTTTGATCGTCAAACCGGTGAGGCAACGCGGATGCGCGCCGCAAGTGATGCCGCTGTTAAGTTTGTGGTGCAATTACGTGCATATAAGCGTCATGTCATGGCGGAAACCACGCAGCTGGTGACGCGAACCAAAGCCTTTAACCGACGCGATATAAAGCAGGCGATATCGAAAAACGCGAAAGCACTGTAGTGCACCGACGCCCAGCCACTATGAGTCGTAATTGAACCGATGCGAACTGTCTCCGAGTCTGGATGGCGCATTGACCCCCGTGAAGATGATTACGACCAAAAACCGTCCGACAAAATTCACTGGTTTCCCACCGTCTGGAAAAAGCATTGTTTTGGCGACAACACCGACCACAGGATGGATCAGTACGCGTGAGCAGCTTTTATACCGATGTGGTCGATTTGCCAAAAACGCATCAGTGAACTGGCTTCCCACCTTCAAAAGTGGTCGGCGGCGCAGCCGGACTGATTGAGGAAGTGGCAGCCAGCAAAATTAGCGGTGAAGAAGATCGCTACAGCCACACCGATCTGTGGATTTCCAGGCTAACGTTGAGGCTCGCAGAAAATGTCGATTTGCTGCGTCCACAACTGGCAAAAAGCTTGCTCAGCCGTACTGATCCATCAACCTTTGGTGGTGTTGTCGCCAAACCAATGCTTTTGTCCAGACGGTGGAAACCAGTGATATTATTGGGTCGGCGGCTTTTTGCCTCGGTAAATCATTCCTTCACGGCGTCAATGCTGGCCATTCCAGATCGGAGAACAGTCAGCATCGGGTTCAATTACGCTCATAGTGCTGGGCGCGTCGGTGCAATACCGTGCTTTCGCTTTTTCGAATATCGCCTGCTTTAATCGCGTCGGTAAAGGCTTTGGTGTCGTCCACCAGCTGCGTGGTTTTCCGCATGACATACGCTTAATATGCAGGTAATTGCCACACCAAGAACTTAACAGCGCACACTTTGCGCCGCATCCGCCGTTGCCTCACCTTTTGGACGATCAACTTCCCTTTCGGGTTTAGTCAGCAGACGCAGGTCATATCGTATTCCGCCAGGCTGTAAATTCGCCGTCATTTTCTGGGCTAAAGGCCCAGGGGCGATATTTTCCCCGCTCTTCCACCACCATCACGCCTTTGAGGATCCCAACCTCCAGCGCCTTCTGCTGTGGTTCCTGAATAAGAACTGTGTTTTTCCCGGCGTAACCGTAATGGTCATCGGTTCGCACCTGCTTATCCGTCACGGTCACTTTTGACCTGCGGACCATCAGCGGCGTTAGCCATAAAAGCAGAAGAAAAACAAGCGCAGCCACGCTCAACTGCAAAATGCGTACGCGAAGTTAATGGTCATGACGGCTATCCCTATTAAAGTATGTTTGTAACTAAGCAGAGTTGCGTCGTATTTGGTTACGCGGAGCGAGGACGCTGTCGCCCCTGCGCGGGTGGCAGAGCAAATGCCACCAGCGCCGGGGAATAGAAAATAAACCAGACGCGACTTCGCCTGACGCTCGGCGCTCCTGATAGCCCAAAAATCCTTCCATCAGCGTGCCAAACAGCGAGTGAGTTGAGAGCACCGCACTCAATATCGAAGGCGATTTCTGAAAGTGGTTCCACAATCCCCCCCCAGGCTTCATGAAATGCGCGAATGGCACCAGCTGCCAGCCCTGCGGCACGAGAGAAAACAGGCTGGTCCATTAAAAAATGCACCAAGATTGAGGCGAATACCGCCCAGTACAGCCAGGAACGCCTAGCCACCACGGCAGTAGCAAGACCGAGCATTGCACCCAGCGGCGGCCAGATCCCGCATCTTGTATGTGAAATGCCGCCAGCAGGAAACAGACCGACTCAACAGCCCCTCCCTTGCAACCCGGCAAAAAAGACCATCATCACCAGCGCCACATGATGTTTTCCACGTGCAATGCGCTACGACTGCCTGTTTCCCAGTTGCACTTTGCGTTGCGCGACACTTTGCGCATCAGAAACCATCCGGTAAGGATCACCACGGCGATCACCGCCAGATACCTTCAAACAGTTCCTGTTCTTTTTTGCGGAAATTCGCCGGTGTTTCGTTAATGAAGATACCCAAGCCAGAGCACAACGCAGCGGCAAAGCAAACACGCCCAATCCACATCACACAATCCATCGGCCTCGCTTGGGTCAACGCTTAAGATAGGCTGGCAATCAAAACTGACAATCAGCGGCGGCTTAAAAGTCCTTCGCGCAACATAATGAGAAACGAACAACAATGCCACCCACCCTTAAACTTTTTCTGAGTCAATCTATTGCAAGAAAAAAAGGGGGTTAAAAAAAAAACCGGCCAAAAAAAAGTTGATAGCGATTATCATCTACGGCAAAGAAAAACCAAGCGAATGTATTATAAATGATTTGGAATGTAAACAAAGAGAGGTAATGCAAGGGAATAACGATTATTCCAGGGTAGACAAGATGGATTGTTTGCCAAAGACCATGTGGTTCCTTGCCCGATGCCGCGTAAACCGCCGCTATCCAGCCGAAAACTCCAGACTCAATGCATCAAGCTTCCATGTAAAACTGATAAGCGGGTGACAAGCAATTTCGTCATACCCGCGATTATCAAATCTAACTTTGTTGCCCCGGAAACATAAATAGACACTTGGGTGTTGGTGGCGTCCAAAATCGCTGAAACGTTCCCGAAGGCGGGACAGCAGGGGGCGGCGGCGCATTGGCCGCCCCCTGCGCCTCCCTGCACCATTCAATTTATATGGCGAGGCCATTAAGGGAGCGCAACCCCGCTGGCTGAAGCCAAACAAAACCGCCGCAGGCCTAAGTCCTTAGCTTTCCTGCAACCGTGACGGCGGAGCCGATGATAGTGCGCATCGGGCCTCGGCAAAGCGTTTTGCATCACCGCTGACGGGCTTTACCCAGCAACACTACAACACTACAATCCAATACTGCCGAAGAAAAGCCCGGAATAATTTCGTACATCCAGCCAGCCGAACTGTTTCCAGACGATAACTCGTCCAGCTGCACCCGATGGATCATTCCCCGCCAGCGCACCGTTTACGCGTCCAATGCGTGAGCACACATCACCGAGAACAGCACCACCTGGACAAACGCCGCGCCAAAGCCTGCCCACGCGTAGCTCACTAAGCCCAGCACCGGTTTTCCGGGTTTGCCGCCAGCGCAAATCGCCAACCGCGCACACCAGCACCACTCACACGCCCTACCAACGACCGCTCTTTCTGGCTGGCATGTTTTCGCAGAAACCTTTGTACAATCTTCGTACTCGCACTGGGACACCAGCAGCTGGCAACCTAAGTGACAATTACCGCCGCCAGAATTGCCCGACAGCAGAATCCCCGGCAATCCACGGTTAAACCAGAATTTGCGCAGTTCGATAAAGCACACGCTCGGCGTCTTGATTACCGCACAGCCAACGCCGGATGATCGTTAAAGTAAGCAATCCCAAGAAGCCGACAGCCACCGCCCCTGCAAGGCGAGGATCCATCCCAGGTCATCTAAATACGACGCGCATGGACATGCTGTGGTGAGAATCCGCCGCCATAAAACGCGCCAGAATGTGCGGCA"

qseq = "TTCTTAGTTAGCACCTATTAGCGAGCATTTTTGAACTGACCTCTAACATACCGAATAGTAGAACAGACCATGTTTGGAAATTTAACCCGTAAATAATCGCATTCAGGACCTCACGGAACGCTCCGACGTTCTTAGGGGGTATCTTTGACTGACGAACGCCAAGAAAGAGCGTCTGGAAGAAGTAAACGCCGACTGGACAGCCGGATGTCTGGAACGAACCCGAACGCGCACAGGCGCTGTAAAGAGCGTTCCTCCTCAAGAAAACCGTTTCGACACCCCTCGACCAAATGAAACCAGGCTGGAATGTTTCTGGGCTGCTGGAACTGGCTTAAAGCTGACGACGAAGAAACCTTTAACGAACCGTTGCTGAACTCGACGCCCTGGAAAGAAAAACCGCGCAGCCTTGAGTTCCGCCGTACTGTTCTCTGGCCGAATATGACAGCGCCCGACTGCTACCTCGATATTCCAGGCGGGGTCTGGCGGTACGGAAAGCAACAGGACTTGGGCGAGCATGCCTTGACGTATTATCTGCGCTGGCAGAATCGCGTGGTTTCAAAAACTGAACATCATCGAAGAGTCGGAAGGTGAAGTGGCGGGATTAAATCCGTGACGATCAAAATCTCCGCGATTACGCCTTACGGCTGGCCTGCGTACAGAACCGCCGTCACCGCCTGGTGGCGTAAAGCCGTTTGACTCCGGCGGTCGTCGCCACAACTCGTTCGCTCCGCGTTTGGTTTATCCGGAAGTTGATGGATGATATTGAATCGAAATCAACCGGCCGGATCCTGCGCATTACGTTTATCGCACGTACGGCGCGGGCGTCAGCACGTTAACCGTACCGAATCTGCGTGGCGTATTACCCACAATCCCGACCGGAATCGTGACCCAGTGCCAGAACTACGTTCCCAGCACAAGAACAAAGATCAGGCCATGAAGCAGATGAAAAGCGAAGCTTTATGAACTTGAGATGCAGAAGAAAAAATGCCAGAAACAGCATGGAAGATAACAAATCCGACATCGGCTGGGGCAGCCAGATTCGTTCTTATGTCTTGATGACTCCCGCATTAAAAGATCTGCAGCACCGGGGTAGAAACCCGCCAACACGCAGGCCGTGCTGGACGGCAGCCTGGATCAATTTATCGAAGCAAAGTTTGAAAGCAGGTTATGAGGAACCAACATGTCTGACAACACGCACAGGGCCGCTGACGCCGGTATCGATCCTTAACAATTGAACTGAAAACGCGTCCGTGAGAAGCTGGGCGAACCTGCGCGAGCAGGGGATTGCCTTCCCGAACGATTTTCCGTCGCGATCATACCTCTGACCAATTTGCACGCAAAGAATTCGACGGCAAAGAGAACGAAGAACTGGAAAAGCGCTGAACATCGAAGTCGCCGTTGCCTGGCCGCATGATGACCGTCGTATTATGGTAAACGGTCTTTCGTTACCCTGCAGGACGTTGCGTCGCATTCAGCTGTACGATTGCCCGTGACGATCCCCGGAAAGGCGTTTATAACGAGCAGTTCAAAAAATGGACTGGCGACATCCTCGGCGCGAAAGGTAAGCTGTTCAAGAACCAAAACCGGCGAACTGTCTATCCACTGCACCGAGTTGCGTCTGCTGACAAACACTGCGTCCGCGTGCCGGATAAATTCCACGGCTTGCAGGATCAGGAAGGCGCCGCTATCGTCAGCGTTTCCTCGAATCTCATCTCCAACGATGAATCCCCGCAAACACTTTAAAGTGCGCTCCGCAGATCCCTCTCTGGTATTCGCCAGTTCATGGTGAACCGCGGCTTTATGGAAGTTGAACACCGCCGATGATGCAGGTGATCCCTGGCGGTGCCGCTGCGCGTCCGTTTATCACCCACCCATAACGCCGCTGGATTCTCGACATGGTACCTGCGTATCGCGCCGGAACTGTACCTCAAGCGTCTGTGGTTGGTGGCTTCGAGCGTGTATTCGAAATCAACCCGTAAACTTCCGTAACGCAAGGTATTTCCGTACGTCATAACCCAAGAGTTCACCATGATGGAACTCCTACATGGCTTACGCAGATTAAAAAGATCTGATCGAGCTGACCGAATCGCTGTTCCGTACTCTGGCAACAGGATATTCTCGGTAAGTACGGAAGTGGGACCTACGCGACGTGACGCTGGACTCGTAAAAACGTTCGAAAAACCTGACATGCGTGCAAGCGATCAAAAGAAAATCCGCCCGGAAAACCGACCAATGGCGGAATCTGGGGAACAAACCTTCGGAAACTCTCGAAAGGCCATTGCTGGAATCTTATCGGCCAATCCCACGGGTTGAGAAAAGAGCCTTGGGGTTCTTGGGGCCCCCGTATCGGTTACGAATGATCCTTCCCGAAGAAGTGCAGAAACCCACATCTGATTCCAACCGAACCTTCATTACTTGAATTATCCGGCCAGAAGTTCCTCCGCTGCGGGGCGTCCGTAAACGGACCCGGGGTTAACCCCGAAAATTCAAGACCGCTTTTTTTTGAGTTCCTTCATTGGGTTGGTCGTGGAAAATCGGTAACGGCCCTTTTAGGCGAGCTTGAATGACGCGGGAAGAATCAAAGGGCGCACGCTTTCCTGGATCGGTTGCCGCGAAAAAAAAGACGCCAAGGTGAAACGAACCGAAAGCGAGTTTTCCTACGATGAAGAATTACGTCCCCCCCCACCGCAAAAAACTGGAACAATGGCTTTTAACCGCCGACAGCAGGGTCCTGGAATTTTGGGGTAAAAATCGAACCGTTATGGGTAAATGCCTGGGGTTTTCAACCAACAAAGCCATACCATCCCGCCCGACGTTATTCCTTGTTTCCCCGCCGGGGAAAAATCGGTCCGGGTTTAAAATAAGCCCCATACGTTATGCTCACAAAACCCGGGGCAAATGTCCGGGGGGTTTTTTTATTTAAGCTGGGGGTAAATTGCCAGATTAATCGTTTTTTTCTGCTTCGCGGAAAATTTTGTCCGCCTTGCCATCACCCCACCACGGGACTGGAACCGCCCCACCCCCCCGGCGTGGCCCATCAATACCGTGTGTAATACATCCTGCTAATCACACATTTTGGATTAAATCCATCACTTCCATCATCAAATTGGGAATCCTGTAACGCACTAGTTGGGGGGGGGTTGCCGCGTGCCGCAAATACGGACACAACTTCAATTTTCCACAATCCCACTCCGGATCGGTTGGCGGCGGTAGCGAAAAGTAAAAGGAAATAGATTAGAATTCCAGGAGGCGTAAATCCCACGCAAAGCTCATAACGGCAACGGCGGAATTCACTGCGTTCTTTCCGTTGCTTTTCCCTCCCAGTTTTGTTTGGGGTGCCCACAACCGAGGTTTAAGTTTCCACACGCCAAGGGCCAAAATGCCCCCTTTTTTTTGCTCCAGTGCCGGCGCCCGGGTAAAACCTAAATAATTTTGTCTTTGGGTCATTAAACCAGCCCCCAAAAACTGGGAAAAAAGAACGCGGAAAAGATGTGACCCGGTTTGTCTGCCGTGTGTGCGCAAATATTTTCCAGCGTACCGTGGGAAACTCCCTTGTGCATCAATAAAATTGAAAAACGTTGTTTCCGTTTTGCCATAATTTCTCACCAAATGTAAATTCATGAAAATCCACTCATCATTTATAGAATAATTTGAAAAGAGTTGGAAATGATTAACCAAGGTGAAGCGGTTTTATCGACAAACCGCCCGTTTTTTGAAGCGGATGCCGACAGGTAAAAAAAACCAATTTTAAAAAAAGTAGCATCATATATTTTTTTGAAGCGACTTCTCCAAAAATTTGGGCCATTGCAACAACAAGTCAGAAAATGGAAACAGGAAATAGAAAAGAAGAGTAAAAAAAGCAACAAACGAACTTGAAAATATAGCGGCGCCAATAAAAAATTTCATATTATTCCTCATGCTCATTTTTTCTTGCCAGGCTTGCCGCATTCAAGAAAGCCAACAATACGTAAAACTGTCGCTGACTTTTTAATCTTTTATCAAGAGAACGGGATTCCGCTTCACCAGGGTCACAATGATAGCGGAATTAGCCATTAACAGAAGAACCGTTTTTCAAAGACACAAACGGCGCTAAGGGTTGCGAGCATAAAATGCCGCTTAATGTAGCAGCGTTTGCAGTACGGCCGGAAACTTTTAAGAAAAAGAAAAAATCGTGGAGAAGAGCGTTCCCGAGGTCATGCAACGCCCGAGACTCGATTCCGCCAAACAATATAGAGGTTTTTGTAACGTTTTGTGGTGTAGTTACAGCCGCGACAGAATTTCGAAATCTTGTCGCCAGTAACCATGCCGAACATGCACTAGACAGCGCCGCCCAGCAAACAAAAATTTGCGGAATGAAGGCTACCAAGCAAACCGCCATTTTTGGCAACCTGCCAAACAGGAAAATTTAAATAATCATTTCCCGAAAGAAATACAACCCAGCGGCTATGAAACGCGCGGTCAAACGCTTAACAGGCCCAACGTTTTTGAGAAAATGAAACGTTTGGTGGGGGGGAAGCTGTTAAAACGTTCGCCCTATCATGTCCGCCTACGCCATCGACACGCAAGTCGCCCGCGGAATAATTAATTCGTGCCAAGAAGAGTTTTTTTTAAACGAACCGACTATTTTTCAACCGCAGTGGCCAGGAACATCCCCCATTGACTTTCGAATTTAAACACGATGATTACCACCGGCCAGTCATGGTCAGAATGGAAAAGCGGGATCCGAAAATTCGGCCCCAATACCCAAACTACAATCGCGTAACTAATTCGAAACCATGAGGCATCAATGTTTTTAAACCCGGAAAAATTGAAAAACTTCATTCATCAATCAACGAAAGTTTAAAAGCCCAAAAACAATCCCCAAGGTAATTACGGCGGACGTTGGAAAAAAACATAAATCCTTTTTTCCGCATAAGCCGAGTTAAATGACCAGATAAAAATTAAGAACGGCAAAGAAGATACCTTAAATACACGGGTAACCCCATATGCGGATCCTTACCGGCGGGCCCAAGTCCAATACCCACCTGAAATAAATTGCTAAGCCCGAAGAAAAAGTTAAACCCAAAAAGAACCGGTAAAACCAGTTGGCGGAAAAATAAAAGGCATCAAGCGACGCGAATAAGTTTGGCCGCTAAATAATGTGGGTGATAAACCCCCGCCGGCGATTAAGGGCAAAACGCAAAATTTATCCACAAGCCCGAATATTCCGGTTCATCCAATGGCTTTATCATGTGGTGGGGTTTAGCCAGCAGGCAAAAGGGTCACCGACATAATCAAGCCGCAGGCGGAATCCCGCCATAAAGGCGGCCGATACCCGATTAAACAATTGCAAATAATTGTGACGAAATCCCCGGCAAGCAAAGAGATTCCGAAGCTAATGAAAAGCGCATCGCAATAGCTTCTTTGAGAAGCCCAGCTCGGTCCCCAATCAATAAGAGGAACCAGCGGACTGCAACCTGCGTAAAACATGGAAAACAAGGAAACGTGTTTGCAGACCGAGTATGATCAAGTTTTCCTGGTGATTAATATGTCGGTTTCAACCTCAAATGCAAAGTTGGGCGGTTCTTTTGCCCCAGAAAGAATTGAGGGAAAGTTGGGAATCTAGGGCCCTCATCAGTTGTTTCTTCGCTTCGCCCAGAAGTAAAAAAAAGCCAACCGTTTTAACGTTTAATGAAACTTTGTCCTAAAACAAAGCTCGGAGTTGCCAGTTTTTTTTTTGCGAGGAAGGGGAGTTTTTTAAAAGAGACAGGAATTGCGGAGGCCATCACAATAATCGTGGTTAAACCACGAAAAATGAGAAAGAACCTGAAACAAAAATGGAATTATCTGTAAAATTTTTTCTCATATTGAAATTATTTCAAATTTAAATTCATTCGGCAATGTTTCGCACTCTTCGCGATTTTTAAATCGTTTTTTTTTTATCCTGGAAGCGGCTTCTTTATTTGAATCGCAATGTTGAAAAATAATGAAGCGAAATAGATTGAGGGGGCAATAAATTTTGAAGCTCAGTTTCGCAAAATTTATAATTAACAAACGGTCAATGCTTACGCTAAATATGATTGCCCCCGTTTTTAATTGCATCGGCGAAAAATTTGAGAAGACATAACTCATTAATGAAAAGGGATGCAATGAAATAAGTTTTTTTATTTGCCTGCTGAACTGCGGGAAAATGTAAATAGCTTTTTTGGTCAATGCTGTGAAATTGCCGTGTTGCGGATGGGCACCAATTCAAGAAAACTGGCCGCTGAGTCCACAAGTGACTTTTTTCCGACCGCGTAAATCCACGTTGTGGGAAAGCAGGGCCTTGCGAATTTCCGTTGGCTGCCATCCACTGCCACAATTGCCCCCTTCCGTTAACGGCTTGTTCCGGTTTTTTAAATTGGCTCTGAACTTTCCAAAGTCCGATAAAGCGTTAAACACTGGGACGAGCAAAAAAAATGTATTGGTTGTTAAAAAAGAAATGCGGCAAATCGCTTTGCCCTTTTTGGCGTTCGTTTGAGAAAAGGGCGATACGATTTTGCGCAGAAATGCGACCTTGTAACAGGCGCAGTTTCCGGCAACGCAAAAGCCTTATTCGAAGTTTTCTGCCAAACACAGGCGTTACGAAACTGAATGGAACGAAATAAAAAGGTTGCAGCCAAAAAAGGTGGGCCCGCCAAAAGCGCAAAAACGGCAAGCCAGGAAAAAAGCCGTCAATCAGAAACGCCTTCACCCATCTTCGGCCAGTGCAAAGCGTTGGTCCCGTTAAACTCGCGTAAAGGCGCGCAGAATAAAAATTTCAGCGAGTTGGAAACGGAAAAAACCCACTTTTTTGGCGAAATATAATTTGCGGGGCCTGGAAATTCCACAACAAAGCGAAACTATGAGAAGTGACGCGCCTTTGGTGTTTTATTGTGCCGAAAAAAAGCCTAACTTTTTTGGCCAACCTGCAAATTGCCCGCTTGCATACAGCTATTGCGATAATCCGTCCTGGTACAAGGAAAGGAAAGCATAATTAGAAAAGCGGCAAATTTTGCCACCAAAGAAAACCAGTTTCGCTTACCAGAAAATTTGCCGGCAGGGTAATGTCCACAGGAACGTCTTTTTGTAAAGGCGCAATGGTTACTTTTGAAAAAAAAGAACAAACTCCCGGTGCGCAAAGTCTCTTTAATCCGGTTTTAATTGAACCTACATCAACCGGATACCGCGCTTTTGGCGATGGCTGGCGTCCCGAATGTAGCAAAGTTGTTTTCCCCGTAGCGAAAAAAGTGCGGTGAATTGGCCGACTGGCTTGCCAGGGTTTTTAAGGGTGGTTGGCTTTGAAATATTTCTGGCGCGCGCCAGAAGTTCAGGTCCGAATGTCCTTATTGACGCCATCCCAAAAAATTGGCGGTATGCTGAAACTTTTGGGCATTTCCTCCTTTCAAAACTCGAAATAAAACGGTATTTAAGCCAGCCCCGGCGAAGAGGAAAAATATTCCACCCGCAATGGGAAAATCGAAACTTTCATCTTAACTGTGAAATTTTGCCCGAAATATTAACCCTTTTACGAATTTAACTTTCTGAAATATGAAATGACAAAATTTTTTTTCATCGGCGTGGGAACTACGGGAAAAATGATGGCGAGGGCAAATTTCTGCCGCCAATGAAAAGATGCGCCCGGTGGGGTCCATTTCAGGCTCTACGTTCTGAAAAACCTTGCCCATACCCGCCAGCTCCATGGGATTGCCGGAGTCTTTGAAGAGGTATCGCCCCTGACGGAACGTGGAAGTAAGCGAAGTCCGTGGTATTGGGGGCGGGTGGCGATTACGACCAATTGGATTGTTTTTTTGGCGGACTTCATCCCCCTCAAATGCCGCCCAGCGTGGAACCTGCCGCCGTATCGTCGTGAATGAAAAGTTCAGTATGCCGGGGCTTTCGCGCAAAAGAGTGTTTTTAATGCGCGCGAGGAAGGTTGTCGAGTTTTCATTCAAAATGGTTCCAACCGCAATAATTCGCTTTTGTGGACGAAAAATGGGCGTTTTAAACTGCGGGGTGGGCCTGAATTCGTAACCGCCCATGGGTTGAAAGCCGGGGCCGATGTCGCCGTCCGGTTCCCTCGTCCGGTTAAGCGGGTTTTTTCATAGTTTGAAATTTGCCCCGCCGATTGTTTTCTTTGAATTTAATGCCTTTGTTTCAAGGCGCAAAAATGCCATGCCGTGGTGGCCAGGGCAAGCGGGAATTAAAACTCGATAAAGGGCCGATTTTCAACACCGGTGGACGTCGGGTAATCTTACCGCCTACACAGAACGCAAATCTGAAAAAAAGTCTTTGCCTTGGTGGGATGATGGCCCAAAGTTCATGGCGGCCGGATCTGTTTTGTCCACTGCAATTGGGCCGCAAGGAAGGCCACGGCCGGCCGCGATATGTTAACTCTGTTTTGATAGAAAGGCAATCGTGATGAAAATTCCGTTTAATTATCGTTTTATCCCGGCCTGGACTTTGGGTTATTGGCCTGCCAGTTATTTGTGAAGTAGCCCTGTGTGGTCGCTCACCCTCAGAAACAGGAGTTTGAATTCCGAAATTTTCTTTTTTACCCGGCTTGATAATAGTGTATTATGCTTGACTGTATCAAAGCATAGTTGCGCCGGTGATTTGTGGTCGCCTATTCAGTGTGAAATAACTGCCCCTTGTTGTTTGTGCCGCATGCCCGTTTGGGGGGCGCTGACGATGGGGAGGCCAGTGTTGGTGCAGAATCCAATTCTCTCCGTTGTATTGGTGTCAGTATGTTGCTGTCAGTTTTGGCCGTGCTCCGTTTTGGGTATTATCACCTTCATCGTTGCCGGGTATACCGAATCAACCAAATTGTGAAAAATTGCGATCTCTGTTGAAAATCAGCCGGTGAAGTTAGGGCAGTCCCTGGCGTTGAAATCTTGCCCAATCTATACAAGCCGCTTCATTGTTACTGAAAAAGAGTAAACTTCAGGCCGATCCTCCAGCAGCGGTATGTGGCCAGCGTGTTTGAGTAATTTCTTCTTTGAATAGGAATCTTCCGCGTCTGAATAGGTCGGCGGGAGAATTCTCTTATTATGATTTGCCTAACCACCTCGCCGTAATAATCGAACCAGTTGCTGGCAGTTATATGTTATCTACCTGTCCAATTATTCTAGTCTTTGCCCATTCGCGTGCATATAGAAACGCTGGCCCTATCGGACAGTTGTTCTTACTAAAGCCAGCAAAATAAATTATTACCCTGTGTATACGATTTTATTATCTAGTCAGAATACGATGAAACACGGCATCACACCTAGGCAGCCATAGCCGGGTCAATATAAATTCATTTGAAAATTCCAGCCTTTCGAGTACGTTTTTATCTAAACCTATTCAAAAACCTACGTAACATCAAGAAGGCGGGTTTTTGGCAGTTTTTGGCCGTAACCAGTTTGGAATCAAAAAGAAATGGACAGCCGGTGATAAAACATGAATTTTAAAAGGAAAATTATATAAATCGCCCACTATTATGGTTGCGGTTTTATAATACTTGTTTTTTACTCTCGGTCGGTGTTCTGCTCGTCTGTAATCTGTATATATATACCGCTGCGCTGCTGTTTGCGCTATTTTCTAGGTTCCTGGTTAGAATATATTATTATTTGAATAACTTACTGAGTTCTATCTTGGTTTCTAGGGCTTTGCCTGCCGTTGTATATGATCTGGTTGTTTCTCTATCTATTAATCAAAATTCGCTCTTGAACGTGCGCGACGGCATACGGATTGGTTGCCAGTAGCGTCCGAACACTGCGGTCATCACTCAATTGCTCTTAAGTTTTACTATTCTTTTTTTTTTTTTTTTCCGTTATTAATTTAATTTAATATATTAATTAAAAAAAAGGTTTGTAACTGCTTAAATTGGTGTGTTGTGTGTTTGTTTTTTTCTCCTCCCATTCTCCTTTTTTGGTATAGTGTGTTGTTGTTGTGGTTATCTCTCAATTGTTAATTTTTTTGTATGTAGTAAAATCGAAAATGGCGGGGTGGTTGAAAAAAAAAAAAATCTAGAGACCTTGTAACCCATCCGTTTTTTCGGCCAAGTGGCAAGGGCCTTTTTTTGGGGCATCCCGCCCCAAAACCAGAAAAAAACCGGTATGGTGGTGAGGATTTTTTCAAACATAAAAAAACCCGCTTGGGGTTCCAAAAGAATTTATAAGCCCCCGAATAATGAAAATTTCGAAAAATTTTTGGCAAAAAATAATTCCACCCAAAAACAATGAAAAATCCCCGCCGGGGTTTACGCGGGGACACTTCTTTTCCTTTTCCAAAAGGCCCGGAAAAAGAAAAAATGAAAAAACCGCCTCAAAATAAAAGTCCCCCCCCAGCCAAAGGCCCCCTTTCCAATCAATTCAACCCGGGGGAAAGGGGAAAAAAAAAGGTTTAAAAAAAAAAACGGCAACCGGACACCGCCACTTTGGGGGGGGGCCAAAGCTTTTCCAAGTTCGGGGTTTTTTTGGAAAAAAAATAAACCAAAAAAATAACCCACAAAAAAAAAAGAAAATAATATGACCGTTTTTTTTAGCAAGCGCAAAAATCAACTAAAGCCAAATAAAAAGAAAAACAGCCCGCGAAAAATTAAAAACCGGAATTAAACTTTGGTTTTTTTTTTTAAAAACCGGGGTTGTGGGGGGGAAAAAAGCCGGGGAAAAATTTAAAAAAACCCCATTTCGGCCAAAAAAAAATTTTTTCGTTTTTTAAAAAAGAAATAATAAAAAAATTCCAAAGGGTGTTTTTAACGGCCCACCCAAAACCGGTTTTTTTTTTTTTTTAACCGGGAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAATGGGGCCCGGGGTGGAAAAAAGAATTTGAAAAAAAAAAAAAAAAACGGGCCCCATTTACCCAAAAAAAAAATTTTTAACCCGGGGCCCGCCCCCCACAAAGGTTTTGCGGGGAAAACAGGAAAAAAAAAACCGCCCCTATAATTTTTTTGTTTTGGGCCGCGCCCCCCCGGAAAAAGTTTTTTTTAAAAAAAAACCAAAGAAAAAACCCTTGGAAAAAAAAAAAAAAAAATGCGGGGGGGTTTTTAAAAAAAAAAACGGCCCCGTCCAAAAAAGGGGGAAAAAAAAAAAAAAATTCCGGCGGCAAAAAAAAGCCCAAAAATTTTCCCCCCCCCCCCAAATTTTTTTTTTGCAAAATAAAACCAAAATTAAAAAAAACCCCCCATTTCAAAAAAGCCACGGGAAAAAAAAAAAGCCCGAAAAAAAAAAGCCCCCGGCGGGAACCAAAGAAAACCCCAAAAGGTTTTTTGGCCCAAAAAAAAACCAAAACCAAAACAGTTTGCCGGGGGAGGAAAAAAACCCTTCTTTTTGCAAATTTTTGCCCCATCAATTCCCCGGAAAACACCCCCGGAAAATTAAAACCGGGAAAAAAAAAATAAAAAACCAATTGGGGCCCCCCAAAAGAAAAAAAAAAATTCTTTTTCTCAAACAAAACAAAAACAAAAAACGGAAAAAGGGGAAAAAAAAAAGGAGGAAAAAAAAAGGGAGAGGAAAAAAGAAATTTTTTTTTACCTTTTTTTGCCCAGGGGTTTTTTTTTTTTTTTTTTTTTTTTATTTCGGGTTTATTTTTTCGGTCCGTTTTTTTCCCAAAGGGGGGAAATTGGCCCTGGGGCAAAAGCCAGGTTTTTTTTTTCCTCCCCGCCCAAAAAAAAGCTGTTGTTTTTTTTTTTTTTGTTTGCCCCCCACCCTGGGGGTTTTTTTTTTTTTTTTCTTGGTCCCGCGGCTTTTCGGCTTCGTTTTTGCCCTATGGGGAAAAATTTTAAAGGGCTAAATTTTTTTTTGCCAAAAAAAATTTGGGGCGGGAAAATTTTTGGGGGTTGCCCCAAATTTTTTTTTCCCCTTTTGAAACCGGCCGGTTTTTTTTTTTAAACCGGCCATTTTTCCCCAAAGTTTTTTTTTTCCCTTTGGGGTTTTTTTTTTTTAAAAAAAAAAAAAAAAAAAAAACTCGGGGCCAAACAAAAATTTTCAAGCGGGGTTTCCTGTTTCCCCCAAAAAAAAGCTTTTGGGCCGCGGTTAAAATTCCCTGATGGGCGTCCCCATCTTTTCAAACCCCGGCCAATTTTCCCCGTAAAAACCGGTTTTTTTTTTTTTTTGTTGCCCGAAAACCTGGAAAAAATTCCAAATTTTTTACGTTTAATTTTTTGCCCCCGGAATTTGGGGGGTTTTTTTTTTAAAATTTCCCGGGCCCTCACGGGGGGTTTAAAACAAAAGGTTTTTTTTAATCGGGTTTAAAATCCCGGGCTTTGTTTCTGCCTTTTGCTTGGAAAAAATTTTTGCTTTGCCCTTAAAACGGGGGTTTTTTTGTGGGGTTTTTTATGTTTATCAAAAAAAACCGAAATTTTTTTTGAAAAAAAAAAAAGGCTTTTGGGGCCAAAAGGTGGGCGCTTCCCGGGGGTTTTTTTTTTTTGCGGGTTTTTACTCCCCCTTTTTCCCGGTGGAATGAAAAGTGAAAAAAAACCCCTTTGCAACCTTTTGGGGGCCTTTGGCGGTCCAATTCTTTCCGGGCCTGGAGTGGGGAAAAGTTTTTTTTTTGTCCCGCGTAAACAACCGGCCCGGAATCTTTGTTTTTTTTGGGGTTTGAATTATTTGGCCAAAAAATTTTCCCGGAATCCTCCCGCTTTTAAAAAAAATTTTTCCCCTTTTTTTTTTGAAAAACCAACAGCCGGGGGGGGGGTTTTTTTTTTTTGGGAAAAATTTACCAAAACGGGTTCCCCCCCTTTTGGTTTGGGCGGAAAATTTTGGCCCAAAGGCCCCCCCTTTTTGGAAAAAAAAAAAAAAACTTTGCGGGGAAAAAAGATGTTTAAAAAAAAAACAGTCTTTTTCTTTTTTTTTTTTGAAAAATTTTTTTTTTTTTTTTCACACTCGGAAAAAAAATTTATTTAAAATTTGGGGGGGGTTTGCAAACTCCCCAAGCGCCGCCCAACTTTTTTTGGGGGGGTTTTAAAAACCTTTTTTTTCCGAAAGGTTGGGTTTAAACCTGGGGCCAATTTGGGTTTTTTGGGGGGGGGGGGAATGAAAAACCCGGCAGTGGTTTTTCGACGGCTTACCCTTGGGCAAAACCAAAAATCCCCGTTGGCCCCCTTTTCGCCCCCCGGTCCCCAGGGGCCCGAAAAAATTTTGTTGGGAGAAATTAAAAGAAAA"

al = Aligner(tseq, match=1, mismatch=1, gap_open=1, gap_extend=1, report_secondary=False, report_cigar=True)

res = al.align(qseq, min_score=75, min_len=100)

mengyao commented 9 years ago

Dear Jeremy,

Sorry for the late reply.

I think my ssw cannot apply on your sequences, since they are too long for this algorithm.

Limited by the SSE2 intrinsic codes, the largest SW score that ssw can calculate correctly is 2^15 - 1, which is much smaller than your sequence length.

I apologize for this.

Yours,

Mengyao

On Apr 16, 2015, at 3:45 PM, Jeremy notifications@github.com wrote:

Somewhere between lines 597 and 633, but I'm having trouble narrowing it down further. It seems like it gets into an infinite (or very slow) loop for a few seconds before segfaulting. To reproduce (yes, these are very long strings):

from ssw_wrap import Aligner

tseq = "AAGAGAGAGATTAAACGCTTGCTGCTATCGCCATACGCCGATACTAATCAGCAGACTTGCTCATCCAGCGTGCTGCCCGTAAAAAAAGGCGTCGTCCACTGCTGACGTCAAAGCCGACCATCGGGCCGGTATCCAGTCCCAGCGCCCGGCAGGCGACGAATCCAGATTAAGCGCCTGCATGGACTGTTGCGAAACGCGTCTTCCTTCGGCAAGTTGTGGGCAATGGAGGTAAACCAACTGCGGCATCACCGTGGGGAAACGTAATGCGTAACCCGTTCATAAAATCTCACTGTCCCAGGCGACGATAGCGGTGACGAGGCGCGGTCAGGGGTTTTTTGCAGATTGCCAGCTGGAAAGTAGCCGGGCGCAGAACGTATTCTTATTCCTTCTGCAAGATGCCAGGATAAACACGATATCGCATCAACGCGGCAGAACAGTTAGATGATGAAATCGGCCCCCATTTCATAAGGAGCATAAAAATCTCCGTAACGTCTCATCGCTGACGGGTGTCTCCCGCCAGCAACGTTGTGTGAGTGAGGGCATCGAGTGAAACAGGGGTGACTAAGCGAACCTGGGCTAACCGGCATTCGTATCATCCAGCAATTCCTTAACAGGGCGGCATTCACGGATGATGTTAACAGGCCCTGGAAGAACCCGTTGAGCTAACAGAGCATAAATCGTTTCGGGGACCTCACGCGATCACGTTTGCAGGCGTGTCCCCATAGCTGCCAATGTTATCTGGCTATCGGGCAGGCCGCGCATGAAGTCACTGGAAAATGCTGTTGGCACAGCAGATCATCGACGTGGGCAGACCGTGGATGTGTGCACCGGGCAGCGGTGCGATCGGCGCAATGGTGTGAGCTAAAGATCAGCGCGTTGTTGAGGGCGTTAAGTCGACGCAGTAAATCCCTCTCTTTCTGCCCCCTGAAAATGCGCCAGGTGCAGGCGCGTCTTCTGCCTCACAGGCGAGGTCGCGGGC CGCCATCC AGGTTCGGCGGGACTAGAGGAACCACGGACTGCGCTTCCCACCCATGAGCCTGCGCGCCGCCGCTATACCCCACGTGAATCGTTCGCGAACCTCGAAAACAGCGGCGCGTTATGGGCGTTTAATTCGTAGCAGCCGTTAACGCTGATCAGCACACGTTAGCCCAGACGCGGGATAATCCAGCGCCAGCTGGCATCCCACCAGCGCACCGACGCATGGCCGACCACTGCGTAATGCTCAATCCCCTTGCGGCTACAGCGCCTGATGCAGTTCCGCGCCATTCTGGGCGAATACTGTAATCTTCTGGCCAGCGTGTCGGGATTATTGCCGGTGCCGCGCTGGTCGTAAACAGACTACTGATACTCCTGCATCAGCACCGCCAGTATGCGGTAACCGTAATGCCGCATACCCCAAAGACCAAATCAACACCACGACGGGGCGCATCAGCATAAAGGGGGGCATGAACGAGTGAAAGTTCTTCATCGTCGAGTCACTCTGGCGATATGCCGCAATTGTGGCGATTTCACCAGCGCGTCAGGTTTCTACCAGTCCGCGACTGAATGGCCAGAATCGCGCCGGTTTATCAACCGAAAACTCGGCGTAGATTCTGTTATCGCGGCGTAATTTTCCGTCGGTAACTAAAGATGCTGTTTGAAGGTCAATCCGCCATCGTGCCCACCGCACGATCATCACTCACCTATTGCGGATAGTTTCAGAACGTGGCGGGTTGTTGCGCCTTTGGAGGTCCATCGGCAAACAGCACGTATTATGTGATTCAAAAGCCAGCGTACGAGACATACACAGCCAATCAGCCAGCGTGCCGGGCGAAGGGGATCCAGCCGATGCGCTGCCAGATGCAGCGGGAATAAATTAACGATTTTTGGCATCGATTAAACTCCTTAAGCGATATGAGCAAAGGACGGGAGAAAGCGCGTCCGCAGAATGTTTCGACGATCATGACCCAGCCAAAAAAGATTTCGATATTGAACAA CGCGGCCT TTCTGCGCAAATTTGTTCGGCCGCGCTGGTAGATTGCGTCTTCAAGCACCACGCCGAAATACACCCACCTCCAGAAAAAAAGCCGTCGCGTACGTCGATTCGACGCAGACGTTGAGTAGCCGATGCGTGAAAACCCAGAATGGCGTATTCCGCGGCTGCGCAAATGCTGTCCAGCGGCGTATTGAAGAAACCGCTGTACGCGGCTTCGGCAGCACAATAATCGCCCAGGCTGCGGCACAAGTTCATCCACCAGTTGATAATCCCAGGACCTTCGCCAGCAATTTCCCTGCAGCTGCGGCTGCTTAAAGCATGTTATTCAGGCGTTCGATTATGAAAATTTCGGTGGAGCCGGGTCCGCCAGCCCGACATACTGTTCATCCCAGCCATTTTGAACCAGATGATCAGCATCCCTGCCGCTCGCGCTGCGTCACGGCGTTTGAATGTTGGCAATGACCGGCGAGTGGTTGAGACACAAACCCGGCGGATCGTAAGTAGCCGCCTGGCGTGGCATCAAGCTTTTTGCATATCCCACCACATCAGGCGCACTTTGCTGCGGATCGACAGTAATGGCTTTTCCGTTCCGAGCGGTTAAGGCGTCATCATGCCACCTCCTGAGTCAGCGCAGTAGATGGCGCCGGCCATGCATTTCAGTGGTTTGAATGCCGCTCGCCGAAGGTTTCGGATTCCCGACAGAAAACTCCGAAGGTAAAACAGCACGCCTTCGGCAACCAGGACGCTTGCGACTTCATCTAACATGCGCGCGACACTGGCGTAAGAACCGACTAACGCCCCATAATTGATGTTTACCTGCCGAAGTGGAATCGGCATCTGACGAACGTTGGTGGTCAGTAACCGGAGCGGGTATCTTTCTGACCTTTGTTCGGTTAGCCAGCCTTAACGCTCTTCATACCGCGCCCGCTTGATAGTGTTCCATTTGGGCGCGAGCGGCATCGTCGGTTTCATCGGCATCCCATAACAACACATAAGAG CCAACGAT CGCGTCCGGTTGGCTCTGCGGCCGTTTCATCGCGCAGCGGTCGGGCGAGCCGTGGGTGTATTTAGCCTTTTGCCGAACACGAAGTTGATCGGCATACCGGCGGAGAACGCCATGCCAGCGTCGCTTTGCCCGGCGCAGATCACTTCATGGGACACTCGGTTGCGGACTCACGCGACAATCATTCATGTTGAAAAAATCGCCGCCTTAAAATCGCTTTCCCCGTGCCCCACAGGTCCGCGCACTGAACATATTCGGTGAGTGAGATAGCGTAACGACGGGAGAAAAAAGTCATCGCCAGGCAGATACCCATCTGCTCATACTCGGGCTTTTTGCCAGCCAGTCACGAGGTTGACGCCCAAACGCCCGCCAGAGATGAGTCGATGGTTGCGGCCGGATACGGGCGACGATTGCCGGAGGTAAACGTTAAGGTGGCATGCAGTGGGCGTAATCTGAATGCGCGAGGTCACGGCCGCCAGCCCGCCATAAAAGGTGAACGACTCAGGTGGTGATCCCAGAACTCATTTTTGCGCCAAAGCCACGCAGTTTTTGAGGTCATCGGACAGGGCGAAAATCGAAATGGTAGTGCTCCGCTTTTTGCACAATGGCTTTATTCAGTTCAAAGGTCGTGCATGTTACTGCGGCGCGTGGGTCGGAAAATAGCCAGCGTCTGTGCATAGGTACGAATAGCCAATTTTCATCATCAACCTCTCTTTCGTCTGTAAAGTGAAAGTCAGACGGGGCGCTGCATCCTGCATATCCTTTTCAGCCGCGTATTGGCTGTGTTGCAAAGCGGAATGCCAGTTTGTTAAAAGTTAATGTTATTAATCTGTTAACATTACGTTATCTAAAATATTCTGGAAAAGTGGACTAAACGGTCAACAGTTGCACATTAAAACATGCATTCTGTGCCGCGATGAGAGTGCAGAAGGTCAGGCCGGGCGGGGGTATTGCTATCCTGTTGCCATCACAAGAGCGGGAGAGCGCATTGA CGCAAGGC GCAGTGAAAACACGGGTTAAACGTCGCGCGCAGTAAGCGCGGAAGAAAAAAGCGATTCTTAGCGCAGCACTGGACACTTTTTCAGCATTCGGCTTTTCACGGCACAAGGCTGGAGCAGATCGTGAACAGAGTTGGCGGTGTTTCAAAACAATCTGCTGTATTACTTTCCGTCAAAAGAGGCGCTGTATATTGCCGTGCTGCGGCAGATTCTCGATATCTGGCTTTGGCACCGTTAAAGCGTTTCGTGAAGATTTCGCCCCAAAGCGGCGGCGATCAAAGAGTACCTCCGTTCTGAAGCTGGAAGTCTCACGCGATTATCGCAGGCTTCGCCGCCTGTTTCTGTATGGAAGATGAGGCAGGCGCGCGGCTGTTAATGGATGAACTGACGGGCGATTTGAAGGCATTAATTGTGAGAAATCGGCGCTGATTCCGGTTGGGTCAAAAGCGGCAAACTCCGCGCCGATGATCCGCAGCATTTGATTTTTAATGATTTTGGGCTTCCACTCACATTGACGGCGATTTCGCGCCCCTCAGGGTGGAGGCGGTGACAGGCGCGACGTTGCGCGATGAGGTAATTTTTCAACTCAACGGTTGAAACGTGCAGCGGATTATTATTGAGGGGATTCCGTACCACGTTAAAGATGCCGGAGGAGTTGTACATCAATCCGGCTACCTGTTAACCTATAGTCATTAAGCTGGCGTTACCGCCAGCGGCAGCGGTATCACACTCAGCGAACGCTCGATATACAGCCGTTCCAGAAGGATATTGGGCTTTCGCCACGGGAACCGCTGCCAGAAACAATTGTGCAATCCGCGCGGCAACTGCTTCACACAATGCGCGAAGCTGATCCGAATCACCGTGGAAGACTCACGCATCAAACGGTTGAGCGGTTTATGATTTTCCGCTTTCGCCAGTTAATACGTTCGCCTTGACTGCCGATGCTAATGCTTCACTAAGGACGATGCAGCGCGTCATCCGGCCAGTACCT GGCTGCCC ACCGCCCAGCACGGCGGCGAGCTGAGTCAGCGCATCCTGCTCATCATCGCAATACACAAACGCGCTCACGCGGCAGCAGCGTCCAGGTTGCGTTCCCCGTCGCCCCCGCACAAATCTGTGGTGTTCCTGCCTGCGCCAGCTCGCATATTCAGCGGTACATAACGCCTGCAATTTCTGGACCGATTTGCTGCCCATTCCCGAAGTGATTTACGGCTGAGTCATGCGGCTTTCAACTGCGCATCGACCGGATACTTTGCATCCTGACGGCGGCGAGCTCCACTGGCCAGCGCACTTTCCGGGCGATCGCAGCAGACGGTAGAGATACGAGCGGACCGCCTGCTTTCGCCCGGTACCGACACCCTTCGCGCCGAACGGCTGCACCACCAACCACTGCGGCCACCATATTACGGTAAACTACAGTTACCAACATGGGCCACCCAGTGACCTGGGCGATGGTTTCATCCAAATGCGCGTATGGACTCCAAAGCGTCAGACCATACCGGAGCGTTAAGCTGCTCGATCAGCTCTGGTAGCTGGTTACGGTTGTAACGCACCAACATGCAGGCACCGACAAAGACCTCTTTTTGCAATTCGGCCAAGTCCATCCAGTTCGATCAGACGTCGGGGCGACAAAGTGCACGCGTTGCATCTGGGCAATCTTCGCTGTTTTCCCGCACCGCCTGGAACACCGGACGGCTTGCTACGCATGTCTGAATATGGCGCTCAATATTGGCTTTCGCTTCCGCTATCAACTCACTGGACCGATAGTCGGTGGTCGGCAGAACCGGATACCCATCCGGCATCGCCATTGGCGCGCGCAGCCAAATTTTCAACGTGTGGTCGGCAATCTCATCTTGCCAAGGCACAGCACGCGCAGCGCCGAACAACGCTGACCCCGCACTGTCGAAAGCGAGGCCAGGTAACATCCACGACAAGACCTGTTCGGTCAAGTGCTGAAGATCGACAATAACGCGTTCATAGCCGCGGTT TCAGCGAT GAAGCGGAATAGGGCGACCTGAGGCGTCCAGGCGGCTGGCGATATTGCGGCTGCAGTAACGTAGCCGACTTCGTTGAACCGTAAACATCACGGCCGCGCACGCGAGTCACACCCGTTCAGTTGCGCTTTCTCACGGTTTTCATCTCTTCGACTCTGGCAGCAATGCACCATCGCCTGGCGGTTAATTTTTCCGCTTTCCAGCAAAATGGCGATCCTTGCGCGGCAATCAGCGGCGTTTGTTCTGCGGTTTTAGCCAGCACGCTGTTTACCTGCCGCCAGGCGGCCGGGCGATCTGCCCGGTGAAAATAGCCACGGGAAGTTCCACGGACTGAACACACCAACAGGCCTAATGGACGGTGGGTTTCGTTTGCGAAATCAATCCCGCACCTGTCCGGCGTAGTAGTGGAAAAATCGACCGCATCGCGCACTTCGGCAATGGCGTTAAATGAAGGTTTTCCGCCCTCAACGCACCAGAATAACCAATCAGTTGGCTGCATCTGGCTTTCCATCAGCACGGCACGCGCGGTGCAAAAATCCCCCGCCCCCTGCGGCGTTCAGCCGGAGGCGTGGCAACCAGATTGGAGCGTTTATAACCGCACTTTCAAGCGCCTGTTCTACTTCAACGGCGGCGTGGCTTCACGCACATAGCCCACAATAATTTTCCGGTTCCGCAGGGTTAATAACGGGCGACATCTCACCTGCCGCTACCGGTTTGTGTTCCAGCATTGCAAGGCCTGCATTTTTGCAGTGCACATTGAAGCAGGGCAAGAGGAGAAGCGAGGCCAGGCGGTGTTCGTTAGCGAGAATCCAGCCTGCCTGAGTTGTCGCGCCCGTGACGTAAAGATCCGTCGGCAGGGAATTTTCGGATGCGGTAATCCAGTTTGCCTTCTGTTGCGCCAGTTTTTCTACAGCAGTGACCGGATCGGCGACCAGTTCATTCCATGGGCAAAGAGGTGTCGGCAATACGGTTAACAACGAGGTGTACCGAA CCGTTATT CCAGCAGGCACCGCACCAGATAGCCAACAGCGTTTCATGTGTGCCAACCGGAGCATAAAATACGACACGGACGGGTTAAAGTTTTGCCGTCGCAACTTTCCCGGTGACCTGCTTCATACAGATGGCTCCGCCATCACCCATGCAGGCACTGGATACCGATACTGACCCGGGTAGTAGTTCTGCCCCGCCAGTTGATAAAATCGCCGCCAGCGTATGGGCGTTGTGCGTCGCGAACTGCGGGTAGATCTAGATCGGCACCGCCAGCAGCCCTTTTTCGCACAGGCGAGATATAGAAAACGCTCGGTATACACCTTGCGGGTATAAACCGGATAACCTTCAAGGCCGTCCATGCTGCGCACCTTAATTTTCACTATCCCAGTACGCGCCTTCTCACCAGGCGAATCATCAGACGGCCGACGGCTGCGGGTGGCGAGATCAATCAGGAATCGATCACAACGGGCAGCGTTTTTGATAAGCCTGAAAACAAAACCGATGCGTTTCCAGCCTTGCAGTTCCGGCTCGAAACAGAGTTTTTCCAGCAGATCGAGCGGAATCTCCAGGCAACTCGGCTTTCGGCCGCAATGTTGATACCAATATCGTACTGACGGCGCCAGCAGGGTGAGTTGATTTCCAGAACGCGGGGTAAAGTCTTCCATTACCGCGGTCATACTGGGCGCGGCATAACGCGGATGCAGCGCCGACAGTTTGATTGAAATGCCGGCCTTCATAGATCACGGACCGTTAGACGCTTTACCGATGGCGTGAATCGCCTGCTTGGATAGGTAACCATATACGCTGTGCATCTGCGCGGTCAGCGCGGCTTCGCCCAGCATATCGTAAGGAGACGGAAACCTTTCTCTTCCAGCTTGCGGCATTGGCTAAACGCTTCCCGCGATGGTTTCGCCAGTGACGAACTGCTCACCCACAGGCGCACGCCATACTCCACCCTTGCGGATCAGCGGTTCACCGCTTTACCGAAATGCGGTTCA GCGCGCGG CGAGAGGCTGCTTGTTTAATGGGGTGGAAACCAGTTTTGCCAGTAAACACGGCAGCCCCCAGGTGGCGCATTAACAAACAGTGACGGGCTACGACCAATTGTGTGGAACTGCCAGATTACAGTTGCTGATTTTGTCGCGAATTAACGCGTCGCGGTGGCTTTGCGTCGGGATACGCGCAACAACGCATGTCCGCCAGACACATCAGCGCCACCCTTCCTGCGATGACAACGCGAAAACTCCTGCAATACCCCTGGACCATACCTGCGCGACCACTGCTTTTTTTGAATTCGCAAGTTTATCGGCCAGCTGATAGCCAGTTTGTGCGACTGTTCAGCAACTGGCTGCGGCAGGCGGGCATGTTCCAGCAGACAATAGAAACCGCTTCGGTTTCCGGGCGGCGATAGGCCGCGGTGATCGCGCGCGGGAAACCGATGGGGCAATATTGTGCTCGCAAAGTCGAGGAATGGCTGGCTGTGGTTCCTCTGCGGATCGTCTTCAATCGCTTTCGGCGGCCAGAAAGCAGCGCAGGTAGCTCCGGCAGAGTATCTGCTGTTTTCAGTTTTCGAGATAAAAAAACGCTGCTAATTACCAGTTGTGGTGTGCATCGATACGTGTCGGGAAGACTTATCACCGCTCACGCGTCGCGTCGTCAGCTAACCCCCATGGTGGTGGTTCCATGCCATTACTCACTGCTTGTTCAGAAAGGTGCAACTTAACGTTATCGGTGAAAATAATCCATGATGTTGCAAACTTTGTGCAACCTGTTAAAATGTGACATGCGTAGCAAGCGTTAAAATGAATGAAATGTAATAAAAAGGAATCGAATATGACAGGGATTAAAAAAAATAACATCGACTATTTTTCTCTGCGGAGTTAACATATATTTGAAAGTGCAAACCGCAAAAATGTGAGAGAGTGCAACCTATAAAAAATAGTGTCGCTGAGCACTAAAAATTTTAAATGTAAATGGTGTGTTAAATCCGATTGT GAATAACC AGCGGCTTCCCGCAGGATACGGTCGCCCTGGTAAAACATAAACTCTGTTACCGTTCCGAGTGGCAGATATAACGGCAAGTTTCACATTGCCGATAATAATTTTTTGGAGACTTTAGATGGCTATTACACACCGATGTTTGGTACATTTTTGTCCTATATTCTTTAGGCATGATATTGAATTGGGTTTAATTCGCTGGCGAATCAACGAAAAACTTTGACGACTATATTCTGGGCGGTCCGTAGGTCTTGGCCATTCGTGACGGCATTATCGGCGGGGTGCGTCGGATATGAGCGGCTGGCTTGTTAATGGGGGTTGCCCGGGCGCTGATTTTTTCTTTCCGGATTTCCGAAGCTGGATCGCATTTGGCCCGACATTAGGACGCGTGGATTAACTGGAAGCTGTGGCGGGCGGTTGCGTGTGCATACCGAATACAACAATAAACGCATTAACACTGCCGGATTATTTCACCGGCCGCTGTTGAAGATAAAAGCCGTCATTTTGCGCATTATCGCTGCGCTTGGTTATTTTGCTGTTCTTCAACCAATTTATTGCGCTTCGGGCATTGTGGCAGGCGCGCGCTCCTGTTGAAAGTTACCTTGCATGACTCACGAAACGGGCTCCTGTGGGCGGCGCTGCGGCGACGATCCTTTACACCTTTATTTGGCGGTTTCCTCCGGTGAGCTGGCACTGACACTGTAACAGGCAAGCCTGATGATTTTTGCCCTGATCCTGACGGCGGTTATTCGTTCCATTATCAGTGTCGGTGCTTTGGTGACTCGCTGGAAGTGTCAAACAAAAGAGCATCGAAAGTTGATACGCTCAAAGGTCGAACTTTGTTGCCATTATCTCACTGATGGGTTGGGGGCTGGGTTACTTCGGGAGCCGCACATTCTGCGCGTTTTATGGCGGCGGATTTCTCACCACAGCATTGTCATCGCGCGTATATTAAGGTATGACTGGATGATTCCTCTGCTGGCAGGGGCGGTGC TGTTCGGG CTTCTTTGGGATTGCTGCTTATAACGATCATCCGGCGTGGGCTGGTGAGGTAAATCAGAACGCCGAGCGTGTGTTTATCGAACGTGGCGCAAATTCTGTTTAACCGTGGATTGCCGGGATTCTGCTGTCCGGCAATTCTGGCGGCGGTAATGTCAACCTTAAGTTTGCCCAGCTGCTGGTGTGGCTCCAGTCGCGATTACCGAAGATTTGTACAAAGCGTTTCTGCGTAAACATGCCGCCGAAAGCGTGTGGTTAGGGCGTGTGATGGTGCGGTGGCGTGGCGCTGGTGGCGATGCGCTGGCGGCAAACCCGGAAAACGCGTGCTGGGCTTAGTGAGCTACGCGTGGGCAGGCTTTGGCGCGGCGTTTGGTCCCAGTGTGCAGGGGGGGGGGGGGGGGGGGTGGGGTTCTCGGTGATGATTCAACGCCATGACGCCGTAAACGGTGCGCTGGCGGGGATGATCATCGGTGCGGCTGACGGTTATCGTCTGAAACAGTTCGGCCTGGCTGGACTGTACGAAATTATTCCGGTGCTTTATCTTCGGCGTATTGGGATTGTAGTGTTTGTTTGCTGGTAAAGCGCCGTCAGCGGCGATGCAAAAACGCTTTGCCGAGGCCGGATGCGCACTATCATTCGGCTCCGCCGTCCGGTTGCAGGAAGCTAAGGGACTTAGCCTGCGCGGTTTGTTTGGCTTAGCAGCGGGTTGCGCTCCTTAATGTGCCTCGCCAATAAATGGAATGGTGCAGGAAGCGCGCAGGGGCGGCCATCGCCGCCGCCCTGTGTCCCGGACTTCGGGGACCGCTCAGCGATTTTGACGCCACCCAACACCCGAAGCTGTTATTATAGTTCGGGCCCAAAAGTTAAGATTTGATAATCGGCGGATGGACGAAATTGCTTCGATACAACCCGCTTATTCAGTTTTACATGGAAGCTCTGATCATTGAGTCTGGACAGTTTGTCGGCCTGGATACGGCGTCTTACCGCCGGCA TCCGGCAA AGAACCATGGTTTTTGCAAAACAATCCCATCCTTTCTACCCGGAATAAATCTTTATATCCTTGGCATTACTCCTCTTTGTTTACATTCAACATCATTTTATGAAACATTCCGCTTGTGTTTCTTTGGTAATGAAATCCTATCACCTGCCGATTTACCTTTTCTTTGAAATAGATTGACTCAGAAAAACGTTTAAGGGTGGGTGGCATGTGTTCGTTATTCTCAATTTGTTGCGCGAAGGAAACTTAAGCGCGCGATTGTCATTTGATTGCAGCTATCTTAAGCGTACCCAGCAGGCCGAATGGATTTTGGGTTGTGATGTGGATTGGCGTGTTGCTTCCGCTGCGTGTGCTGGGCTTGGGTATCTTCATTACGAAACCACGGCGAATTCCGCAAAAAGAAACAGGAACTGTTTGAAGGTATCGTGGCGGTGATCGCCGTGGTGATCCTTTACCTGGAGGTTTTCTTGGATGCGCAAAGTTGTGCGCGCAACGTCAAAAGTGCAACTGGAACAGGCAGTCGATAGCGCATTGCAGCGTGGAAATCATCATGCTGGGCGCTGCTGATGATGTTTTTGTTGCCGTTGCAAAGGGAAGGGTGGAGTCGGTCTTTTTCTGCTGGCGGCATTTCAACAAGTGTCGGGATCTGGCCGCCGCTGGGTGCAATGCTCGTCTTGCGCTACTGCCGTGGCTAGGCCCTGCTCTACTGGGTCGGTATTCGCCTCCAATCTCTGGTGCATTTTTTAAATGGACCAGCCTGTTTATTCTCTTCGTCGCAGCAGGGCTGGCAGCTGGTGCCATTGCCGCATTTCATGAAGCCGATTGTGAACCACTTTTCAGGAAATCGCCTTCGATATGAGTGCGGTGCTCTCAACTCACCGCTGTTTGGCGCTGATGGAAAAAAAGGGATTTGGCTATCAGGAAGCGCCGAGCGTCAGCGAAGTCGCCGTCTGGTTTATTTATCTCATCCCGGCGCTGGTGGCATTTGTCCT GCCACCAC CGCCGCAGCGGCGACAGCGTCTCGCTCCGCGTAACAAGATTACGACGCAAACCTTGCTTAGTTAAAACATACTTTAAAGGGATAGTCCTCGTCATGACCATTAAACTTCCGCCGTACGCATTGCACGTTGAGCGTGGCTTGCGCGTTTTCTTCCTGCTTTAATGGCTAACCCCCCCCCCCCCCGCCCCCCTTGATGTGCCGCAGGTCAAAGTGACTGACGATAAGCAGTGGCGAACCGATGACCATTACGGTAACGCCGGGAACACAGTTCATTATTCAGACCACAGCCAGAAGGCGCTGAGTTGGAGATCCTCAAGCGTGATGGTGGTGGAAGAGCGGGAAATATCGCCCCTGCTTTAAGCCAGAAATGCGGCGAATTTACAGCCTGGCGATACGATATGACCTGCGGTCGGCTGACTAACCGAAAGGTAAGTTTGATCGTCAAACCGGTGAGGCAACGCGGATGCGCGCCGCAAGTGATGCCGCTGTTAAGTTTGTGGTGCAATTACGTGCATATAAGCGTCATGTCATGGCGGAAACCACGCAGCTGGTGACGCGAACCAAAGCCTTTAACCGACGCGATATAAAGCAGGCGATATCGAAAAACGCGAAAGCACTGTAGTGCACCGACGCCCAGCCACTATGAGTCGTAATTGAACCGATGCGAACTGTCTCCGAGTCTGGATGGCGCATTGACCCCCGTGAAGATGATTACGACCAAAAACCGTCCGACAAAATTCACTGGTTTCCCACCGTCTGGAAAAAGCATTGTTTTGGCGACAACACCGACCACAGGATGGATCAGTACGCGTGAGCAGCTTTTATACCGATGTGGTCGATTTGCCAAAAACGCATCAGTGAACTGGCTTCCCACCTTCAAAAGTGGTCGGCGGCGCAGCCGGACTGATTGAGGAAGTGGCAGCCAGCAAAATTAGCGGTGAAGAAGATCGCTACAGCCACACCGATCTGTGGATTTCCAGGCTAACGTT GAGGCTCG CAGAAAATGTCGATTTGCTGCGTCCACAACTGGCAAAAAGCTTGCTCAGCCGTACTGATCCATCAACCTTTGGTGGTGTTGTCGCCAAACCAATGCTTTTGTCCAGACGGTGGAAACCAGTGATATTATTGGGTCGGCGGCTTTTTGCCTCGGTAAATCATTCCTTCACGGCGTCAATGCTGGCCATTCCAGATCGGAGAACAGTCAGCATCGGGTTCAATTACGCTCATAGTGCTGGGCGCGTCGGTGCAATACCGTGCTTTCGCTTTTTCGAATATCGCCTGCTTTAATCGCGTCGGTAAAGGCTTTGGTGTCGTCCACCAGCTGCGTGGTTTTCCGCATGACATACGCTTAATATGCAGGTAATTGCCACACCAAGAACTTAACAGCGCACACTTTGCGCCGCATCCGCCGTTGCCTCACCTTTTGGACGATCAACTTCCCTTTCGGGTTTAGTCAGCAGACGCAGGTCATATCGTATTCCGCCAGGCTGTAAATTCGCCGTCATTTTCTGGGCTAAAGGCCCAGGGGCGATATTTTCCCCGCTCTTCCACCACCATCACGCCTTTGAGGATCCCAACCTCCAGCGCCTTCTGCTGTGGTTCCTGAATAAGAACTGTGTTTTTCCCGGCGTAACCGTAATGGTCATCGGTTCGCACCTGCTTATCCGTCACGGTCACTTTTGACCTGCGGACCATCAGCGGCGTTAGCCATAAAAGCAGAAGAAAAACAAGCGCAGCCACGCTCAACTGCAAAATGCGTACGCGAAGTTAATGGTCATGACGGCTATCCCTATTAAAGTATGTTTGTAACTAAGCAGAGTTGCGTCGTATTTGGTTACGCGGAGCGAGGACGCTGTCGCCCCTGCGCGGGTGGCAGAGCAAATGCCACCAGCGCCGGGGAATAGAAAATAAACCAGACGCGACTTCGCCTGACGCTCGGCGCTCCTGATAGCCCAAAAATCCTTCCATCAGCGTGCCAAACAGCGA GTGAGTTG AGAGCACCGCACTCAATATCGAAGGCGATTTCTGAAAGTGGTTCCACAATCCCCCCCCAGGCTTCATGAAATGCGCGAATGGCACCAGCTGCCAGCCCTGCGGCACGAGAGAAAACAGGCTGGTCCATTAAAAAATGCACCAAGATTGAGGCGAATACCGCCCAGTACAGCCAGGAACGCCTAGCCACCACGGCAGTAGCAAGACCGAGCATTGCACCCAGCGGCGGCCAGATCCCGCATCTTGTATGTGAAATGCCGCCAGCAGGAAACAGACCGACTCAACAGCCCCTCCCTTGCAACCCGGCAAAAAAGACCATCATCACCAGCGCCACATGATGTTTTCCACGTGCAATGCGCTACGACTGCCTGTTTCCCAGTTGCACTTTGCGTTGCGCGACACTTTGCGCATCAGAAACCATCCGGTAAGGATCACCACGGCGATCACCGCCAGATACCTTCAAACAGTTCCTGTTCTTTTTTGCGGAAATTCGCCGGTGTTTCGTTAATGAAGATACCCAAGCCAGAGCACAACGCAGCGGCAAAGCAAACACGCCCAATCCACATCACACAATCCATCGGCCTCGCTTGGGTCAACGCTTAAGATAGGCTGGCAATCAAAACTGACAATCAGCGGCGGCTTAAAAGTCCTTCGCGCAACATAATGAGAAACGAACAACAATGCCACCCACCCTTAAACTTTTTCTGAGTCAATCTATTGCAAGAAAAAAAGGGGGTTAAAAAAAAAACCGGCCAAAAAAAAGTTGATAGCGATTATCATCTACGGCAAAGAAAAACCAAGCGAATGTATTATAAATGATTTGGAATGTAAACAAAGAGAGGTAATGCAAGGGAATAACGATTATTCCAGGGTAGACAAGATGGATTGTTTGCCAAAGACCATGTGGTTCCTTGCCCGATGCCGCGTAAACCGCCGCTATCCAGCCGAAAACTCCAGACTCAATGCATCAAGCTTCCATGTAAAACTGATA AGCGGGTG ACAAGCAATTTCGTCATACCCGCGATTATCAAATCTAACTTTGTTGCCCCGGAAACATAAATAGACACTTGGGTGTTGGTGGCGTCCAAAATCGCTGAAACGTTCCCGAAGGCGGGACAGCAGGGGGCGGCGGCGCATTGGCCGCCCCCTGCGCCTCCCTGCACCATTCAATTTATATGGCGAGGCCATTAAGGGAGCGCAACCCCGCTGGCTGAAGCCAAACAAAACCGCCGCAGGCCTAAGTCCTTAGCTTTCCTGCAACCGTGACGGCGGAGCCGATGATAGTGCGCATCGGGCCTCGGCAAAGCGTTTTGCATCACCGCTGACGGGCTTTACCCAGCAACACTACAACACTACAATCCAATACTGCCGAAGAAAAGCCCGGAATAATTTCGTACATCCAGCCAGCCGAACTGTTTCCAGACGATAACTCGTCCAGCTGCACCCGATGGATCATTCCCCGCCAGCGCACCGTTTACGCGTCCAATGCGTGAGCACACATCACCGAGAACAGCACCACCTGGACAAACGCCGCGCCAAAGCCTGCCCACGCGTAGCTCACTAAGCCCAGCACCGGTTTTCCGGGTTTGCCGCCAGCGCAAATCGCCAACCGCGCACACCAGCACCACTCACACGCCCTACCAACGACCGCTCTTTCTGGCTGGCATGTTTTCGCAGAAACCTTTGTACAATCTTCGTACTCGCACTGGGACACCAGCAGCTGGCAACCTAAGTGACAATTACCGCCGCCAGAATTGCCCGACAGCAGAATCCCCGGCAATCCACGGTTAAACCAGAATTTGCGCAGTTCGATAAAGCACACGCTCGGCGTCTTGATTACCGCACAGCCAACGCCGGATGATCGTTAAAGTAAGCAATCCCAAGAAGCCGACAGCCACCGCCCCTGCAAGGCGAGGATCCATCCCAGGTCATCTAAATACGACGCGCATGGACATGCTGTGGTGAGAATCCGCCGCCATAAAACGCGC CAGAATGT GCGGCA"

qseq = "TTCTTAGTTAGCACCTATTAGCGAGCATTTTTGAACTGACCTCTAACATACCGAATAGTAGAACAGACCATGTTTGGAAATTTAACCCGTAAATAATCGCATTCAGGACCTCACGGAACGCTCCGACGTTCTTAGGGGGTATCTTTGACTGACGAACGCCAAGAAAGAGCGTCTGGAAGAAGTAAACGCCGACTGGACAGCCGGATGTCTGGAACGAACCCGAACGCGCACAGGCGCTGTAAAGAGCGTTCCTCCTCAAGAAAACCGTTTCGACACCCCTCGACCAAATGAAACCAGGCTGGAATGTTTCTGGGCTGCTGGAACTGGCTTAAAGCTGACGACGAAGAAACCTTTAACGAACCGTTGCTGAACTCGACGCCCTGGAAAGAAAAACCGCGCAGCCTTGAGTTCCGCCGTACTGTTCTCTGGCCGAATATGACAGCGCCCGACTGCTACCTCGATATTCCAGGCGGGGTCTGGCGGTACGGAAAGCAACAGGACTTGGGCGAGCATGCCTTGACGTATTATCTGCGCTGGCAGAATCGCGTGGTTTCAAAAACTGAACATCATCGAAGAGTCGGAAGGTGAAGTGGCGGGATTAAATCCGTGACGATCAAAATCTCCGCGATTACGCCTTACGGCTGGCCTGCGTACAGAACCGCCGTCACCGCCTGGTGGCGTAAAGCCGTTTGACTCCGGCGGTCGTCGCCACAACTCGTTCGCTCCGCGTTTGGTTTATCCGGAAGTTGATGGATGATATTGAATCGAAATCAACCGGCCGGATCCTGCGCATTACGTTTATCGCACGTACGGCGCGGGCGTCAGCACGTTAACCGTACCGAATCTGCGTGGCGTATTACCCACAATCCCGACCGGAATCGTGACCCAGTGCCAGAACTACGTTCCCAGCACAAGAACAAAGATCAGGCCATGAAGCAGATGAAAAGCGAAGCTTTATGAACTTGAGATGCAGAAGAAA AAATGCCA GAAACAGCATGGAAGATAACAAATCCGACATCGGCTGGGGCAGCCAGATTCGTTCTTATGTCTTGATGACTCCCGCATTAAAAGATCTGCAGCACCGGGGTAGAAACCCGCCAACACGCAGGCCGTGCTGGACGGCAGCCTGGATCAATTTATCGAAGCAAAGTTTGAAAGCAGGTTATGAGGAACCAACATGTCTGACAACACGCACAGGGCCGCTGACGCCGGTATCGATCCTTAACAATTGAACTGAAAACGCGTCCGTGAGAAGCTGGGCGAACCTGCGCGAGCAGGGGATTGCCTTCCCGAACGATTTTCCGTCGCGATCATACCTCTGACCAATTTGCACGCAAAGAATTCGACGGCAAAGAGAACGAAGAACTGGAAAAGCGCTGAACATCGAAGTCGCCGTTGCCTGGCCGCATGATGACCGTCGTATTATGGTAAACGGTCTTTCGTTACCCTGCAGGACGTTGCGTCGCATTCAGCTGTACGATTGCCCGTGACGATCCCCGGAAAGGCGTTTATAACGAGCAGTTCAAAAAATGGACTGGCGACATCCTCGGCGCGAAAGGTAAGCTGTTCAAGAACCAAAACCGGCGAACTGTCTATCCACTGCACCGAGTTGCGTCTGCTGACAAACACTGCGTCCGCGTGCCGGATAAATTCCACGGCTTGCAGGATCAGGAAGGCGCCGCTATCGTCAGCGTTTCCTCGAATCTCATCTCCAACGATGAATCCCCGCAAACACTTTAAAGTGCGCTCCGCAGATCCCTCTCTGGTATTCGCCAGTTCATGGTGAACCGCGGCTTTATGGAAGTTGAACACCGCCGATGATGCAGGTGATCCCTGGCGGTGCCGCTGCGCGTCCGTTTATCACCCACCCATAACGCCGCTGGATTCTCGACATGGTACCTGCGTATCGCGCCGGAACTGTACCTCAAGCGTCTGTGGTTGGTGGCTTCGAGCGTGTATTCGAAATCAACCCGTAA ACTTCCGT AACGCAAGGTATTTCCGTACGTCATAACCCAAGAGTTCACCATGATGGAACTCCTACATGGCTTACGCAGATTAAAAAGATCTGATCGAGCTGACCGAATCGCTGTTCCGTACTCTGGCAACAGGATATTCTCGGTAAGTACGGAAGTGGGACCTACGCGACGTGACGCTGGACTCGTAAAAACGTTCGAAAAACCTGACATGCGTGCAAGCGATCAAAAGAAAATCCGCCCGGAAAACCGACCAATGGCGGAATCTGGGGAACAAACCTTCGGAAACTCTCGAAAGGCCATTGCTGGAATCTTATCGGCCAATCCCACGGGTTGAGAAAAGAGCCTTGGGGTTCTTGGGGCCCCCGTATCGGTTACGAATGATCCTTCCCGAAGAAGTGCAGAAACCCACATCTGATTCCAACCGAACCTTCATTACTTGAATTATCCGGCCAGAAGTTCCTCCGCTGCGGGGCGTCCGTAAACGGACCCGGGGTTAACCCCGAAAATTCAAGACCGCTTTTTTTTGAGTTCCTTCATTGGGTTGGTCGTGGAAAATCGGTAACGGCCCTTTTAGGCGAGCTTGAATGACGCGGGAAGAATCAAAGGGCGCACGCTTTCCTGGATCGGTTGCCGCGAAAAAAAAGACGCCAAGGTGAAACGAACCGAAAGCGAGTTTTCCTACGATGAAGAATTACGTCCCCCCCCACCGCAAAAAACTGGAACAATGGCTTTTAACCGCCGACAGCAGGGTCCTGGAATTTTGGGGTAAAAATCGAACCGTTATGGGTAAATGCCTGGGGTTTTCAACCAACAAAGCCATACCATCCCGCCCGACGTTATTCCTTGTTTCCCCGCCGGGGAAAAATCGGTCCGGGTTTAAAATAAGCCCCATACGTTATGCTCACAAAACCCGGGGCAAATGTCCGGGGGGTTTTTTTATTTAAGCTGGGGGTAAATTGCCAGATTAATCGTTTTTTTCTGCTTCGCGGAAAATTTT GTCCGCCT TGCCATCACCCCACCACGGGACTGGAACCGCCCCACCCCCCCGGCGTGGCCCATCAATACCGTGTGTAATACATCCTGCTAATCACACATTTTGGATTAAATCCATCACTTCCATCATCAAATTGGGAATCCTGTAACGCACTAGTTGGGGGGGGGTTGCCGCGTGCCGCAAATACGGACACAACTTCAATTTTCCACAATCCCACTCCGGATCGGTTGGCGGCGGTAGCGAAAAGTAAAAGGAAATAGATTAGAATTCCAGGAGGCGTAAATCCCACGCAAAGCTCATAACGGCAACGGCGGAATTCACTGCGTTCTTTCCGTTGCTTTTCCCTCCCAGTTTTGTTTGGGGTGCCCACAACCGAGGTTTAAGTTTCCACACGCCAAGGGCCAAAATGCCCCCTTTTTTTTGCTCCAGTGCCGGCGCCCGGGTAAAACCTAAATAATTTTGTCTTTGGGTCATTAAACCAGCCCCCAAAAACTGGGAAAAAAGAACGCGGAAAAGATGTGACCCGGTTTGTCTGCCGTGTGTGCGCAAATATTTTCCAGCGTACCGTGGGAAACTCCCTTGTGCATCAATAAAATTGAAAAACGTTGTTTCCGTTTTGCCATAATTTCTCACCAAATGTAAATTCATGAAAATCCACTCATCATTTATAGAATAATTTGAAAAGAGTTGGAAATGATTAACCAAGGTGAAGCGGTTTTATCGACAAACCGCCCGTTTTTTGAAGCGGATGCCGACAGGTAAAAAAAACCAATTTTAAAAAAAGTAGCATCATATATTTTTTTGAAGCGACTTCTCCAAAAATTTGGGCCATTGCAACAACAAGTCAGAAAATGGAAACAGGAAATAGAAAAGAAGAGTAAAAAAAGCAACAAACGAACTTGAAAATATAGCGGCGCCAATAAAAAATTTCATATTATTCCTCATGCTCATTTTTTCTTGCCAGGCTTGCCGCATTCAAGAAAGCCAACAATACGTAAAA CTGTCGCT GACTTTTTAATCTTTTATCAAGAGAACGGGATTCCGCTTCACCAGGGTCACAATGATAGCGGAATTAGCCATTAACAGAAGAACCGTTTTTCAAAGACACAAACGGCGCTAAGGGTTGCGAGCATAAAATGCCGCTTAATGTAGCAGCGTTTGCAGTACGGCCGGAAACTTTTAAGAAAAAGAAAAAATCGTGGAGAAGAGCGTTCCCGAGGTCATGCAACGCCCGAGACTCGATTCCGCCAAACAATATAGAGGTTTTTGTAACGTTTTGTGGTGTAGTTACAGCCGCGACAGAATTTCGAAATCTTGTCGCCAGTAACCATGCCGAACATGCACTAGACAGCGCCGCCCAGCAAACAAAAATTTGCGGAATGAAGGCTACCAAGCAAACCGCCATTTTTGGCAACCTGCCAAACAGGAAAATTTAAATAATCATTTCCCGAAAGAAATACAACCCAGCGGCTATGAAACGCGCGGTCAAACGCTTAACAGGCCCAACGTTTTTGAGAAAATGAAACGTTTGGTGGGGGGGAAGCTGTTAAAACGTTCGCCCTATCATGTCCGCCTACGCCATCGACACGCAAGTCGCCCGCGGAATAATTAATTCGTGCCAAGAAGAGTTTTTTTTAAACGAACCGACTATTTTTCAACCGCAGTGGCCAGGAACATCCCCCATTGACTTTCGAATTTAAACACGATGATTACCACCGGCCAGTCATGGTCAGAATGGAAAAGCGGGATCCGAAAATTCGGCCCCAATACCCAAACTACAATCGCGTAACTAATTCGAAACCATGAGGCATCAATGTTTTTAAACCCGGAAAAATTGAAAAACTTCATTCATCAATCAACGAAAGTTTAAAAGCCCAAAAACAATCCCCAAGGTAATTACGGCGGACGTTGGAAAAAAACATAAATCCTTTTTTCCGCATAAGCCGAGTTAAATGACCAGATAAAAATTAAGAACGGCAAAGAAGATACCTTAAATA CACGGGTA ACCCCATATGCGGATCCTTACCGGCGGGCCCAAGTCCAATACCCACCTGAAATAAATTGCTAAGCCCGAAGAAAAAGTTAAACCCAAAAAGAACCGGTAAAACCAGTTGGCGGAAAAATAAAAGGCATCAAGCGACGCGAATAAGTTTGGCCGCTAAATAATGTGGGTGATAAACCCCCGCCGGCGATTAAGGGCAAAACGCAAAATTTATCCACAAGCCCGAATATTCCGGTTCATCCAATGGCTTTATCATGTGGTGGGGTTTAGCCAGCAGGCAAAAGGGTCACCGACATAATCAAGCCGCAGGCGGAATCCCGCCATAAAGGCGGCCGATACCCGATTAAACAATTGCAAATAATTGTGACGAAATCCCCGGCAAGCAAAGAGATTCCGAAGCTAATGAAAAGCGCATCGCAATAGCTTCTTTGAGAAGCCCAGCTCGGTCCCCAATCAATAAGAGGAACCAGCGGACTGCAACCTGCGTAAAACATGGAAAACAAGGAAACGTGTTTGCAGACCGAGTATGATCAAGTTTTCCTGGTGATTAATATGTCGGTTTCAACCTCAAATGCAAAGTTGGGCGGTTCTTTTGCCCCAGAAAGAATTGAGGGAAAGTTGGGAATCTAGGGCCCTCATCAGTTGTTTCTTCGCTTCGCCCAGAAGTAAAAAAAAGCCAACCGTTTTAACGTTTAATGAAACTTTGTCCTAAAACAAAGCTCGGAGTTGCCAGTTTTTTTTTTGCGAGGAAGGGGAGTTTTTTAAAAGAGACAGGAATTGCGGAGGCCATCACAATAATCGTGGTTAAACCACGAAAAATGAGAAAGAACCTGAAACAAAAATGGAATTATCTGTAAAATTTTTTCTCATATTGAAATTATTTCAAATTTAAATTCATTCGGCAATGTTTCGCACTCTTCGCGATTTTTAAATCGTTTTTTTTTTATCCTGGAAGCGGCTTCTTTATTTGAATCGCAATGTTGAAAAATAAT GAAGCGAA ATAGATTGAGGGGGCAATAAATTTTGAAGCTCAGTTTCGCAAAATTTATAATTAACAAACGGTCAATGCTTACGCTAAATATGATTGCCCCCGTTTTTAATTGCATCGGCGAAAAATTTGAGAAGACATAACTCATTAATGAAAAGGGATGCAATGAAATAAGTTTTTTTATTTGCCTGCTGAACTGCGGGAAAATGTAAATAGCTTTTTTGGTCAATGCTGTGAAATTGCCGTGTTGCGGATGGGCACCAATTCAAGAAAACTGGCCGCTGAGTCCACAAGTGACTTTTTTCCGACCGCGTAAATCCACGTTGTGGGAAAGCAGGGCCTTGCGAATTTCCGTTGGCTGCCATCCACTGCCACAATTGCCCCCTTCCGTTAACGGCTTGTTCCGGTTTTTTAAATTGGCTCTGAACTTTCCAAAGTCCGATAAAGCGTTAAACACTGGGACGAGCAAAAAAAATGTATTGGTTGTTAAAAAAGAAATGCGGCAAATCGCTTTGCCCTTTTTGGCGTTCGTTTGAGAAAAGGGCGATACGATTTTGCGCAGAAATGCGACCTTGTAACAGGCGCAGTTTCCGGCAACGCAAAAGCCTTATTCGAAGTTTTCTGCCAAACACAGGCGTTACGAAACTGAATGGAACGAAATAAAAAGGTTGCAGCCAAAAAAGGTGGGCCCGCCAAAAGCGCAAAAACGGCAAGCCAGGAAAAAAGCCGTCAATCAGAAACGCCTTCACCCATCTTCGGCCAGTGCAAAGCGTTGGTCCCGTTAAACTCGCGTAAAGGCGCGCAGAATAAAAATTTCAGCGAGTTGGAAACGGAAAAAACCCACTTTTTTGGCGAAATATAATTTGCGGGGCCTGGAAATTCCACAACAAAGCGAAACTATGAGAAGTGACGCGCCTTTGGTGTTTTATTGTGCCGAAAAAAAGCCTAACTTTTTTGGCCAACCTGCAAATTGCCCGCTTGCATACAGCTATTGCGATAAT CCGTCCTG GTACAAGGAAAGGAAAGCATAATTAGAAAAGCGGCAAATTTTGCCACCAAAGAAAACCAGTTTCGCTTACCAGAAAATTTGCCGGCAGGGTAATGTCCACAGGAACGTCTTTTTGTAAAGGCGCAATGGTTACTTTTGAAAAAAAAGAACAAACTCCCGGTGCGCAAAGTCTCTTTAATCCGGTTTTAATTGAACCTACATCAACCGGATACCGCGCTTTTGGCGATGGCTGGCGTCCCGAATGTAGCAAAGTTGTTTTCCCCGTAGCGAAAAAAGTGCGGTGAATTGGCCGACTGGCTTGCCAGGGTTTTTAAGGGTGGTTGGCTTTGAAATATTTCTGGCGCGCGCCAGAAGTTCAGGTCCGAATGTCCTTATTGACGCCATCCCAAAAAATTGGCGGTATGCTGAAACTTTTGGGCATTTCCTCCTTTCAAAACTCGAAATAAAACGGTATTTAAGCCAGCCCCGGCGAAGAGGAAAAATATTCCACCCGCAATGGGAAAATCGAAACTTTCATCTTAACTGTGAAATTTTGCCCGAAATATTAACCCTTTTACGAATTTAACTTTCTGAAATATGAAATGACAAAATTTTTTTTCATCGGCGTGGGAACTACGGGAAAAATGATGGCGAGGGCAAATTTCTGCCGCCAATGAAAAGATGCGCCCGGTGGGGTCCATTTCAGGCTCTACGTTCTGAAAAACCTTGCCCATACCCGCCAGCTCCATGGGATTGCCGGAGTCTTTGAAGAGGTATCGCCCCTGACGGAACGTGGAAGTAAGCGAAGTCCGTGGTATTGGGGGCGGGTGGCGATTACGACCAATTGGATTGTTTTTTTGGCGGACTTCATCCCCCTCAAATGCCGCCCAGCGTGGAACCTGCCGCCGTATCGTCGTGAATGAAAAGTTCAGTATGCCGGGGCTTTCGCGCAAAAGAGTGTTTTTAATGCGCGCGAGGAAGGTTGTCGAGTTTTCATTCAAAATGGTTCC AACCGCAA TAATTCGCTTTTGTGGACGAAAAATGGGCGTTTTAAACTGCGGGGTGGGCCTGAATTCGTAACCGCCCATGGGTTGAAAGCCGGGGCCGATGTCGCCGTCCGGTTCCCTCGTCCGGTTAAGCGGGTTTTTTCATAGTTTGAAATTTGCCCCGCCGATTGTTTTCTTTGAATTTAATGCCTTTGTTTCAAGGCGCAAAAATGCCATGCCGTGGTGGCCAGGGCAAGCGGGAATTAAAACTCGATAAAGGGCCGATTTTCAACACCGGTGGACGTCGGGTAATCTTACCGCCTACACAGAACGCAAATCTGAAAAAAAGTCTTTGCCTTGGTGGGATGATGGCCCAAAGTTCATGGCGGCCGGATCTGTTTTGTCCACTGCAATTGGGCCGCAAGGAAGGCCACGGCCGGCCGCGATATGTTAACTCTGTTTTGATAGAAAGGCAATCGTGATGAAAATTCCGTTTAATTATCGTTTTATCCCGGCCTGGACTTTGGGTTATTGGCCTGCCAGTTATTTGTGAAGTAGCCCTGTGTGGTCGCTCACCCTCAGAAACAGGAGTTTGAATTCCGAAATTTTCTTTTTTACCCGGCTTGATAATAGTGTATTATGCTTGACTGTATCAAAGCATAGTTGCGCCGGTGATTTGTGGTCGCCTATTCAGTGTGAAATAACTGCCCCTTGTTGTTTGTGCCGCATGCCCGTTTGGGGGGCGCTGACGATGGGGAGGCCAGTGTTGGTGCAGAATCCAATTCTCTCCGTTGTATTGGTGTCAGTATGTTGCTGTCAGTTTTGGCCGTGCTCCGTTTTGGGTATTATCACCTTCATCGTTGCCGGGTATACCGAATCAACCAAATTGTGAAAAATTGCGATCTCTGTTGAAAATCAGCCGGTGAAGTTAGGGCAGTCCCTGGCGTTGAAATCTTGCCCAATCTATACAAGCCGCTTCATTGTTACTGAAAAAGAGTAAACTTCAGGCCGATCCTCCAGC AGCGGTAT GTGGCCAGCGTGTTTGAGTAATTTCTTCTTTGAATAGGAATCTTCCGCGTCTGAATAGGTCGGCGGGAGAATTCTCTTATTATGATTTGCCTAACCACCTCGCCGTAATAATCGAACCAGTTGCTGGCAGTTATATGTTATCTACCTGTCCAATTATTCTAGTCTTTGCCCATTCGCGTGCATATAGAAACGCTGGCCCTATCGGACAGTTGTTCTTACTAAAGCCAGCAAAATAAATTATTACCCTGTGTATACGATTTTATTATCTAGTCAGAATACGATGAAACACGGCATCACACCTAGGCAGCCATAGCCGGGTCAATATAAATTCATTTGAAAATTCCAGCCTTTCGAGTACGTTTTTATCTAAACCTATTCAAAAACCTACGTAACATCAAGAAGGCGGGTTTTTGGCAGTTTTTGGCCGTAACCAGTTTGGAATCAAAAAGAAATGGACAGCCGGTGATAAAACATGAATTTTAAAAGGAAAATTATATAAATCGCCCACTATTATGGTTGCGGTTTTATAATACTTGTTTTTTACTCTCGGTCGGTGTTCTGCTCGTCTGTAATCTGTATATATATACCGCTGCGCTGCTGTTTGCGCTATTTTCTAGGTTCCTGGTTAGAATATATTATTATTTGAATAACTTACTGAGTTCTATCTTGGTTTCTAGGGCTTTGCCTGCCGTTGTATATGATCTGGTTGTTTCTCTATCTATTAATCAAAATTCGCTCTTGAACGTGCGCGACGGCATACGGATTGGTTGCCAGTAGCGTCCGAACACTGCGGTCATCACTCAATTGCTCTTAAGTTTTACTATTCTTTTTTTTTTTTTTTTCCGTTATTAATTTAATTTAATATATTAATTAAAAAAAAGGTTTGTAACTGCTTAAATTGGTGTGTTGTGTGTTTGTTTTTTTCTCCTCCCATTCTCCTTTTTTGGTATAGTGTGTTGTTGTTGTGGTTATCTCTCAATTGTTAATTT TTTTGTAT GTAGTAAAATCGAAAATGGCGGGGTGGTTGAAAAAAAAAAAAATCTAGAGACCTTGTAACCCATCCGTTTTTTCGGCCAAGTGGCAAGGGCCTTTTTTTGGGGCATCCCGCCCCAAAACCAGAAAAAAACCGGTATGGTGGTGAGGATTTTTTCAAACATAAAAAAACCCGCTTGGGGTTCCAAAAGAATTTATAAGCCCCCGAATAATGAAAATTTCGAAAAATTTTTGGCAAAAAATAATTCCACCCAAAAACAATGAAAAATCCCCGCCGGGGTTTACGCGGGGACACTTCTTTTCCTTTTCCAAAAGGCCCGGAAAAAGAAAAAATGAAAAAACCGCCTCAAAATAAAAGTCCCCCCCCAGCCAAAGGCCCCCTTTCCAATCAATTCAACCCGGGGGAAAGGGGAAAAAAAAAGGTTTAAAAAAAAAAACGGCAACCGGACACCGCCACTTTGGGGGGGGGCCAAAGCTTTTCCAAGTTCGGGGTTTTTTTGGAAAAAAAATAAACCAAAAAAATAACCCACAAAAAAAAAAGAAAATAATATGACCGTTTTTTTTAGCAAGCGCAAAAATCAACTAAAGCCAAATAAAAAGAAAAACAGCCCGCGAAAAATTAAAAACCGGAATTAAACTTTGGTTTTTTTTTTTAAAAACCGGGGTTGTGGGGGGGAAAAAAGCCGGGGAAAAATTTAAAAAAACCCCATTTCGGCCAAAAAAAAATTTTTTCGTTTTTTAAAAAAGAAATAATAAAAAAATTCCAAAGGGTGTTTTTAACGGCCCACCCAAAACCGGTTTTTTTTTTTTTTTAACCGGGAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAATGGGGCCCGGGGTGGAAAAAAGAATTTGAAAAAAAAAAAAAAAAACGGGCCCCATTTACCCAAAAAAAAAATTTTTAACCCGGGGCCCGCCCCCCACAAAGGTTTTGCGGGGAAAACAGGAAAAAAAAAACCGCCCC TATAATTT TTTTGTTTTGGGCCGCGCCCCCCCGGAAAAAGTTTTTTTTAAAAAAAAACCAAAGAAAAAACCCTTGGAAAAAAAAAAAAAAAAATGCGGGGGGGTTTTTAAAAAAAAAAACGGCCCCGTCCAAAAAAGGGGGAAAAAAAAAAAAAAATTCCGGCGGCAAAAAAAAGCCCAAAAATTTTCCCCCCCCCCCCAAATTTTTTTTTTGCAAAATAAAACCAAAATTAAAAAAAACCCCCCATTTCAAAAAAGCCACGGGAAAAAAAAAAAGCCCGAAAAAAAAAAGCCCCCGGCGGGAACCAAAGAAAACCCCAAAAGGTTTTTTGGCCCAAAAAAAAACCAAAACCAAAACAGTTTGCCGGGGGAGGAAAAAAACCCTTCTTTTTGCAAATTTTTGCCCCATCAATTCCCCGGAAAACACCCCCGGAAAATTAAAACCGGGAAAAAAAAAATAAAAAACCAATTGGGGCCCCCCAAAAGAAAAAAAAAAATTCTTTTTCTCAAACAAAACAAAAACAAAAAACGGAAAAAGGGGAAAAAAAAAAGGAGGAAAAAAAAAGGGAGAGGAAAAAAGAAATTTTTTTTTACCTTTTTTTGCCCAGGGGTTTTTTTTTTTTTTTTTTTTTTTTATTTCGGGTTTATTTTTTCGGTCCGTTTTTTTCCCAAAGGGGGGAAATTGGCCCTGGGGCAAAAGCCAGGTTTTTTTTTTCCTCCCCGCCCAAAAAAAAGCTGTTGTTTTTTTTTTTTTTGTTTGCCCCCCACCCTGGGGGTTTTTTTTTTTTTTTTCTTGGTCCCGCGGCTTTTCGGCTTCGTTTTTGCCCTATGGGGAAAAATTTTAAAGGGCTAAATTTTTTTTTGCCAAAAAAAATTTGGGGCGGGAAAATTTTTGGGGGTTGCCCCAAATTTTTTTTTCCCCTTTTGAAACCGGCCGGTTTTTTTTTTTAAACCGGCCATTTTTCCCCAAAGTTTTTTTTTTCCCTTTGGGGTTTTTT TTTTTTAA AAAAAAAAAAAAAAAAAAAACTCGGGGCCAAACAAAAATTTTCAAGCGGGGTTTCCTGTTTCCCCCAAAAAAAAGCTTTTGGGCCGCGGTTAAAATTCCCTGATGGGCGTCCCCATCTTTTCAAACCCCGGCCAATTTTCCCCGTAAAAACCGGTTTTTTTTTTTTTTTGTTGCCCGAAAACCTGGAAAAAATTCCAAATTTTTTACGTTTAATTTTTTGCCCCCGGAATTTGGGGGGTTTTTTTTTTAAAATTTCCCGGGCCCTCACGGGGGGTTTAAAACAAAAGGTTTTTTTTAATCGGGTTTAAAATCCCGGGCTTTGTTTCTGCCTTTTGCTTGGAAAAAATTTTTGCTTTGCCCTTAAAACGGGGGTTTTTTTGTGGGGTTTTTTATGTTTATCAAAAAAAACCGAAATTTTTTTTGAAAAAAAAAAAAGGCTTTTGGGGCCAAAAGGTGGGCGCTTCCCGGGGGTTTTTTTTTTTTGCGGGTTTTTACTCCCCCTTTTTCCCGGTGGAATGAAAAGTGAAAAAAAACCCCTTTGCAACCTTTTGGGGGCCTTTGGCGGTCCAATTCTTTCCGGGCCTGGAGTGGGGAAAAGTTTTTTTTTTGTCCCGCGTAAACAACCGGCCCGGAATCTTTGTTTTTTTTGGGGTTTGAATTATTTGGCCAAAAAATTTTCCCGGAATCCTCCCGCTTTTAAAAAAAATTTTTCCCCTTTTTTTTTTGAAAAACCAACAGCCGGGGGGGGGGTTTTTTTTTTTTGGGAAAAATTTACCAAAACGGGTTCCCCCCCTTTTGGTTTGGGCGGAAAATTTTGGCCCAAAGGCCCCCCCTTTTTGGAAAAAAAAAAAAAAACTTTGCGGGGAAAAAAGATGTTTAAAAAAAAAACAGTCTTTTTCTTTTTTTTTTTTGAAAAATTTTTTTTTTTTTTTTCACACTCGGAAAAAAAATTTATTTAAAATTTGGGGGGGGTTTGCAAACTCCCCAAG CGCCGCCC AACTTTTTTTGGGGGGGTTTTAAAAACCTTTTTTTTCCGAAAGGTTGGGTTTAAACCTGGGGCCAATTTGGGTTTTTTGGGGGGGGGGGGAATGAAAAACCCGGCAGTGGTTTTTCGACGGCTTACCCTTGGGCAAAACCAAAAATCCCCGTTGGCCCCCTTTTCGCCCCCCGGTCCCCAGGGGCCCGAAAAAATTTTGTTGGGAGAAATTAAAAGAAAA"

al = Aligner(tseq, match=1, mismatch=1, gap_open=1, gap_extend=1, report_secondary=False, report_cigar=True)

res = al.align(qseq, min_score=75, min_len=100)

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22.

txje commented 9 years ago

Hi Mengyao,

I'm afraid I don't understand. 2^15 - 1 = 32,767. My sequences are 15,948 and 13,171 in length. Even if they matched perfectly, the maximum local alignment score must be <= 13,171. I have been able to successfully align longer sequences than these. Is there another reason that these sequences cause a segfault?

Thanks, Jeremy

jeffdaily commented 9 years ago

Hi Jeremy,

I have a software library that I’m currently in the process of releasing. It implements local, global, and semi-global vectorized alignments. It has functions that return just the score, or the score, number of exact matches, number of similar matches, and the alignment length statistics. It does not perform a banded alignment like Mengyao’s SSW so it does not return the traceback. And mine only reports the best alignment rather than the first best and second best like SSW does. Even though it is not exactly the same output as Mengyao’s SSW, would this be of value to you? How are you using the traceback results? At the very least I would like to try your inputs with my code if you would let me know your scoring criteria (gap open, gap extend, substitution matrix). Thanks.

Mengyao,

Thank you so much for this library. I had never written vectorized code before and your code was invaluable to me in developing my semi-global and global implementations (without the banded SW and second-best alignment, but with additional alignment statistics calculated along with the score.) I based my implementation on your SSW implementation, at least initially. Thanks again. I hope I can release my code soon but it is currently cutting through red tape.

Really sorry for the intrusion onto this issue posting to sound like I'm advertising my approach. I just want to help if I can!


Jeff Daily Scientist ADVANCED COMPUTING, MATHEMATICS, AND DATA DIVISION High Performance Computing Group

Pacific Northwest National Laboratory 902 Battelle Boulevard P.O. Box 999, MSIN J4-30 Richland, WA 99352 USA Tel: 509-372-6548 Fax: 509-372-4720 jeff.daily@pnnl.gov www.pnnl.gov

jeffdaily commented 9 years ago

Jeremy,

I finally scrolled through your entire post and saw you did indeed report your scoring criteria. I will let you know soon if I was able to align this sequence pair.

Jeff

txje commented 9 years ago

Hi Jeff,

I'm always on the lookout for faster or more robust smith-waterman implementations. However, I am using this library to align and find the consensus of multiple sequences, so I do require the traceback information to see the correspondence of the two sequences along their length. Please do let me know if my inputs work with your method. If your implementation is especially fast, even if it doesn't return the traceback, it could be of some use to me. Can it return the start and end points of local alignments?

Jeremy

mengyao commented 9 years ago

Dear Jeremy,

I copied your sequences from your email, after I pasted them in a txt file they are about 220K long.

Would you mind to send me your sequences in a txt file as attachment, so that I can get them without mistake? Thank you.

Dear Jeff,

I am very glad that you implemented these useful variations of pairwise alignment.

Please let me know your results for Jeremy’s sequences.

Some people contacted me for these variations of pairwise alignment such as semi global alignment. I feel regret that I don’t have time to implement them. I will be very happy to introduce them to your implementations.

Please keep me updated.

Many thanks,

Mengyao

On May 6, 2015, at 3:04 PM, Jeremy notifications@github.com wrote:

Hi Jeff,

I'm always on the lookout for faster or more robust smith-waterman implementations. However, I am using this library to align and find the consensus of multiple sequences, so I do require the traceback information to see the correspondence of the two sequences along their length. Please do let me know if my inputs work with your method. If your implementation is especially fast, even if it doesn't return the traceback, it could be of some use to me. Can it return the start and end points of local alignments?

Jeremy

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-99576088.

txje commented 9 years ago

Hi Mengyao,

The python file to reproduce this problem with these sequences is attached (30Kb). Let me know if I can give you any more information to reproduce this issue.

Thanks, Jeremy

On Mon, May 11, 2015 at 3:55 PM mengyao notifications@github.com wrote:

Dear Jeremy,

I copied your sequences from your email, after I pasted them in a txt file they are about 220K long.

Would you mind to send me your sequences in a txt file as attachment, so that I can get them without mistake? Thank you.

Dear Jeff,

I am very glad that you implemented these useful variations of pairwise alignment.

Please let me know your results for Jeremy’s sequences.

Some people contacted me for these variations of pairwise alignment such as semi global alignment. I feel regret that I don’t have time to implement them. I will be very happy to introduce them to your implementations.

Please keep me updated.

Many thanks,

Mengyao

On May 6, 2015, at 3:04 PM, Jeremy notifications@github.com wrote:

Hi Jeff,

I'm always on the lookout for faster or more robust smith-waterman implementations. However, I am using this library to align and find the consensus of multiple sequences, so I do require the traceback information to see the correspondence of the two sequences along their length. Please do let me know if my inputs work with your method. If your implementation is especially fast, even if it doesn't return the traceback, it could be of some use to me. Can it return the start and end points of local alignments?

Jeremy

— Reply to this email directly or view it on GitHub < https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-99576088 .

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-101030731 .

mengyao commented 9 years ago

Dear Jeremy,

Thanks a lot.

I don’ see the attachment. Could you please have a check and send again?

Many thanks,

Mengyao

On May 11, 2015, at 4:51 PM, Jeremy notifications@github.com wrote:

Hi Mengyao,

The python file to reproduce this problem with these sequences is attached (30Kb). Let me know if I can give you any more information to reproduce this issue.

Thanks, Jeremy

On Mon, May 11, 2015 at 3:55 PM mengyao notifications@github.com wrote:

Dear Jeremy,

I copied your sequences from your email, after I pasted them in a txt file they are about 220K long.

Would you mind to send me your sequences in a txt file as attachment, so that I can get them without mistake? Thank you.

Dear Jeff,

I am very glad that you implemented these useful variations of pairwise alignment.

Please let me know your results for Jeremy’s sequences.

Some people contacted me for these variations of pairwise alignment such as semi global alignment. I feel regret that I don’t have time to implement them. I will be very happy to introduce them to your implementations.

Please keep me updated.

Many thanks,

Mengyao

On May 6, 2015, at 3:04 PM, Jeremy notifications@github.com wrote:

Hi Jeff,

I'm always on the lookout for faster or more robust smith-waterman implementations. However, I am using this library to align and find the consensus of multiple sequences, so I do require the traceback information to see the correspondence of the two sequences along their length. Please do let me know if my inputs work with your method. If your implementation is especially fast, even if it doesn't return the traceback, it could be of some use to me. Can it return the start and end points of local alignments?

Jeremy

— Reply to this email directly or view it on GitHub < https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-99576088 .

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-101030731 .

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-101043434.

txje commented 9 years ago

I don't think attachments are supported by github's issue emails. Here's a link to a gist with this code: https://gist.github.com/txje/a56c14e161ba1faef246

mengyao commented 9 years ago

Dear Jeremy,

This is my email: mengyao_zhao@hms.harvard.edu mailto:mengyao_zhao@hms.harvard.edu

Please send me your code or sequences by attachments.

When I copy and past the sequences are always super long, though I don’t know the reason.

Many thanks,

Mengyao

On May 11, 2015, at 6:20 PM, Jeremy notifications@github.com wrote:

I don't think attachments are supported by github's issue emails. Here's a link to a gist with this code: https://gist.github.com/txje/a56c14e161ba1faef246 https://gist.github.com/txje/a56c14e161ba1faef246 — Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-101065141.

jeffdaily commented 9 years ago

Hi Jeremy, Mengyao,

Mengyao -- Again, really sorry for the intrusion onto this issue posting to sound like I'm advertising my approach. Not trying to poach -- I just want to help.

My code is finally released. See https://github.com/jeffdaily/parasail. Jeremy, I hope it helps!

mengyao commented 9 years ago

Dear Jeff,

Thanks.

I may forward your algorithm to people who ask for a semi-global alignment or Needleman-Wunsch.

Yours,

Mengyao

On May 21, 2015, at 5:23 PM, Jeff Daily notifications@github.com wrote:

Hi Jeremy, Mengyao,

Mengyao -- Again, really sorry for the intrusion onto this issue posting to sound like I'm advertising my approach. Not trying to poach -- I just want to help.

My code is finally released. See https://github.com/jeffdaily/parasail https://github.com/jeffdaily/parasail. Jeremy, I hope it helps!

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-104424799.

nspies commented 9 years ago

I've hit upon this bug too. I sent you an email, Mengyao, with the sequences that have caused the crash for me.

nspies commented 9 years ago

Looks like it's probably the same issue as #18

meldavey commented 8 years ago

Was this issue ever fixed? I hit this with a very small target and query:

tseq = TATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGATATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGA

qseq = CTTTCCTCCCCCTTGCCCTCTAGCAGGGGCCACCGGAGGAGGAGGGAGGGCAAACGAAGGATGGGGGAAGATGTG

meldavey commented 8 years ago

I've created this very simple complete .cpp file for testing the issue. I should note that the gap open and gap extend params matter here for the crash, and in my case open=2, extend=3. Here's the source of the full code:

#include <stdio.h>
#include <string.h>

#include "ssw_cpp.h"
#include "ssw.h"

int main(int argc, char *argv[])
{

        // Declares a default Aligner
        StripedSmithWaterman::Aligner aligner;

        // Declares a default filter
        StripedSmithWaterman::Filter filter;

        // Declares an alignment that stores the result
        StripedSmithWaterman::Alignment alignment;

        // set our reference
        const char *longref = "TATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGATATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGA";
        int longRefLen = strlen(longref);
        aligner.SetReferenceSequence(longref, longRefLen);

        // set our gap open & extend penalties
        uint8_t open = 2;
        uint8_t extend = 3;
        aligner.SetGapPenalty(open, extend);

        // align the read
        const char *read = "CTTTCCTCCCCCTTGCCCTCTAGCAGGGGCCACCGGAGGAGGAGGGAGGGCAAACGAAGGATGGGGGAAGATGTG";
        aligner.Align(read, filter, &alignment);

        return 0;
}
mengyao commented 8 years ago

Dear Mel,

I apologize for the late reply.

The gap open score has to be larger than the gap extension sore to make biological sense. The program will not run correctly when open < extend.

I’ll add this into the README file.

Yours,

Mengyao

On Dec 2, 2015, at 12:53 PM, Mel Davey notifications@github.com wrote:

I've created this very simple complete .cpp file for testing the issue. I should note that the gap open and gap extend params matter here for the crash, and in my case open=2, extend=3. Here's the source of the full code:

include

include

include "ssw_cpp.h"

include "ssw.h"

int main(int argc, char *argv[]) {

    // Declares a default Aligner
    StripedSmithWaterman::Aligner aligner;

    // Declares a default filter
    StripedSmithWaterman::Filter filter;

    // Declares an alignment that stores the result
    StripedSmithWaterman::Alignment alignment;

    // set our reference
    const char *longref = "TATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGATATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGA";
    int longRefLen = strlen(longref);
    aligner.SetReferenceSequence(longref, longRefLen);

    // set our gap open & extend penalties
    uint8_t open = 2;
    uint8_t extend = 3;
    aligner.SetGapPenalty(open, extend);

    // align the read
    const char *read = "CTTTCCTCCCCCTTGCCCTCTAGCAGGGGCCACCGGAGGAGGAGGGAGGGCAAACGAAGGATGGGGGAAGATGTG";
    aligner.Align(read, filter, &alignment);

    return 0;

} — Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-161379938.

meldavey commented 8 years ago

Great, thanks! And to clarify further, can both gap open and gap extend be equal?

On Thu, Jan 14, 2016 at 11:58 AM, mengyao notifications@github.com wrote:

Dear Mel,

I apologize for the late reply.

The gap open score has to be larger than the gap extension sore to make biological sense. The program will not run correctly when open < extend.

I’ll add this into the README file.

Yours,

Mengyao

On Dec 2, 2015, at 12:53 PM, Mel Davey notifications@github.com wrote:

I've created this very simple complete .cpp file for testing the issue. I should note that the gap open and gap extend params matter here for the crash, and in my case open=2, extend=3. Here's the source of the full code:

include

include

include "ssw_cpp.h"

include "ssw.h"

int main(int argc, char *argv[]) {

// Declares a default Aligner StripedSmithWaterman::Aligner aligner;

// Declares a default filter StripedSmithWaterman::Filter filter;

// Declares an alignment that stores the result StripedSmithWaterman::Alignment alignment;

// set our reference const char *longref = "TATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGATATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGA"; int longRefLen = strlen(longref); aligner.SetReferenceSequence(longref, longRefLen);

// set our gap open & extend penalties uint8_t open = 2; uint8_t extend = 3; aligner.SetGapPenalty(open, extend);

// align the read const char *read = "CTTTCCTCCCCCTTGCCCTCTAGCAGGGGCCACCGGAGGAGGAGGGAGGGCAAACGAAGGATGGGGGAAGATGTG"; aligner.Align(read, filter, &alignment);

return 0; } — Reply to this email directly or view it on GitHub < https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-161379938 .

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-171703193 .


[image: Quantum-Si] Mel Davey mdavey@quantum-si.com • Principal Software EngineerQuantum-Si, Inc. Mobile: 860.304.6984 <+1-860-304-6984>

mengyao commented 8 years ago

They shouldn’t be equal. Gap open should be larger than extend.

Yours,

Mengyao

On Jan 14, 2016, at 12:47 PM, Mel Davey notifications@github.com wrote:

Great, thanks! And to clarify further, can both gap open and gap extend be equal?

On Thu, Jan 14, 2016 at 11:58 AM, mengyao notifications@github.com wrote:

Dear Mel,

I apologize for the late reply.

The gap open score has to be larger than the gap extension sore to make biological sense. The program will not run correctly when open < extend.

I’ll add this into the README file.

Yours,

Mengyao

On Dec 2, 2015, at 12:53 PM, Mel Davey notifications@github.com wrote:

I've created this very simple complete .cpp file for testing the issue. I should note that the gap open and gap extend params matter here for the crash, and in my case open=2, extend=3. Here's the source of the full code:

include

include

include "ssw_cpp.h"

include "ssw.h"

int main(int argc, char *argv[]) {

// Declares a default Aligner StripedSmithWaterman::Aligner aligner;

// Declares a default filter StripedSmithWaterman::Filter filter;

// Declares an alignment that stores the result StripedSmithWaterman::Alignment alignment;

// set our reference const char *longref = "TATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGATATCTCTCTCAACAACAACAACGGAGGAGGAGGAAAAGAGAGAGA"; int longRefLen = strlen(longref); aligner.SetReferenceSequence(longref, longRefLen);

// set our gap open & extend penalties uint8_t open = 2; uint8_t extend = 3; aligner.SetGapPenalty(open, extend);

// align the read const char *read = "CTTTCCTCCCCCTTGCCCTCTAGCAGGGGCCACCGGAGGAGGAGGGAGGGCAAACGAAGGATGGGGGAAGATGTG"; aligner.Align(read, filter, &alignment);

return 0; } — Reply to this email directly or view it on GitHub < https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-161379938 .

— Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-171703193 .


[image: Quantum-Si] Mel Davey mdavey@quantum-si.com • Principal Software EngineerQuantum-Si, Inc. Mobile: 860.304.6984 <+1-860-304-6984> — Reply to this email directly or view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-171720412.

saseptim commented 7 years ago

Why should this cause a segfault? I am using your library to align text, and from my perspective, opening a gap = extending a gap = mismatch = -1. I also got a segfault (although very rare) on a random example. Would it be possible to fix this?

mengyao commented 7 years ago

Hi,

All the parameters should be positive numbers. For biological meaningful alignment, gap open penalty should be larger than gap extension penalty.

The known issue of SSW is for some long sequences (over 3000bp), when gap open penalty is set the same as gap extension, the result is wrong. If you switch your input sequences, the result will turn right.

The shortest sequences that hit this problem in my hand are 3343 vs. 3382 bp.

If you meet problem with shorter sequences, would you mind to send me your sequences and full parameters?

I would like to fix this error, but only with long sequences, it is very difficult to debug. Your short example will be very helpful.

Many thanks,

Mengyao

On Tue, Feb 21, 2017 at 4:43 AM, saseptim notifications@github.com wrote:

Why should this cause a segfault? I am using your library to align text, and from my perspective, opening a gap = extending a gap = mismatch = -1. I also got a segfault (although very rare) on a random example. Would it be possible to fix this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-281293554, or mute the thread https://github.com/notifications/unsubscribe-auth/AAlVdP0bIi6okFumZR6Eb5kSL9B_xipuks5rerHRgaJpZM4ECNYA .

saseptim commented 7 years ago

code is in python.

id.txt is the matrix file, where match=2, mismatch=-1.

open penalty = extension penalty = 1

target = u"nowi separate the layers and a rangemynt thep feirst somewhere on the heads hoat it's going to be the mouth and kutole above h stevein eter ufatrc with s differt is going to bese towed into place"

query = u"seal friends now i'm going to separate the layers and arrange my zipper somewhere on the head so that it's going to be the mouth and cut out about a centimeter of fabric where the zipper is going to be so into place and i know some people don't like sewing but i swear this is super basic and anyone can do it so"

This gives a seg fault. As you can see, we are aligning text, so we do not need a biologically meaningful result. For now we are running with open=2 and extend=1 and this seems to work fine. Let me know if you need any more info.

Best, Avi

On Fri, Mar 3, 2017 at 11:17 PM, mengyao notifications@github.com wrote:

Hi,

All the parameters should be positive numbers. For biological meaningful alignment, gap open penalty should be larger than gap extension penalty.

The known issue of SSW is for some long sequences (over 3000bp), when gap open penalty is set the same as gap extension, the result is wrong. If you switch your input sequences, the result will turn right.

The shortest sequences that hit this problem in my hand are 3343 vs. 3382 bp.

If you meet problem with shorter sequences, would you mind to send me your sequences and full parameters?

I would like to fix this error, but only with long sequences, it is very difficult to debug. Your short example will be very helpful.

Many thanks,

Mengyao

On Tue, Feb 21, 2017 at 4:43 AM, saseptim notifications@github.com wrote:

Why should this cause a segfault? I am using your library to align text, and from my perspective, opening a gap = extending a gap = mismatch = -1. I also got a segfault (although very rare) on a random example. Would it be possible to fix this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-281293554, or mute the thread https://github.com/notifications/unsubscribe-auth/ AAlVdP0bIi6okFumZR6Eb5kSL9B_xipuks5rerHRgaJpZM4ECNYA .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-284072408, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5hdLoRqBVkReF-paJ4bmzsoXuTlGwOks5riINUgaJpZM4ECNYA .

a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   '   _   

a 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
b -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
c -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
d -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
e -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
f -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
g -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
h -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
i -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
j -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
k -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
l -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
m -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
n -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
p -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
q -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
r -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
s -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1
t -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1
u -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1
v -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1
w -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1
x -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1
y -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1
z -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1
' -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1
_ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2

mengyao commented 7 years ago

Dear Avi,

I tried your data on my C code, and it runs well.

Here are my files, command and results:

  1. input files: [wild@cat demo]$ cat tex_target.fa

    target u''nowi separate the layers and a rangemynt thep feirst somewhere on the heads hoat it's going to be the mouth and kutole above h stevein eter ufatrc with s differt is going to bese towed into place''

[wild@cat demo]$ cat tex_query.fa

query u''seal friends now i'm going to separate the layers and arrange my zipper somewhere on the head so that it's going to be the mouth and cut out about a centimeter of fabric where the zipper is going to be so into place and i know some people don't like sewing but i swear this is super basic and anyone can do it so''

  1. command & results: [wild@cat demo]$ ssw_test -c -m2 -x1 -o1 -e1 tex_target.fa tex_query.fa target_name: target query_name: query optimal_alignment_score: 48 suboptimal_alignment_score: 17 strand: + target_begin: 11 target_end: 161 query_begin: 31 query_end: 175

Target: 11 aratethelayersanda-rangemyntthepfeirstsomewhereonthehea-dsho 68 |||||||||||||||||| |||| ||||||||||||||||||||||||| ||| Query: 31 aratethelayersandarrang------emyzippersomewhereontheheadsoth 84

Target: 69 atit'sgoingtobethemouthandkutoleabovehsteveineterufatrcwiths 128 ||||||||||||||||||||||||||*||||||****|||||||| ||**|| Query: 85 atit'sgoingtobethemouthandcutoutaboutacentimeteroffa-bricwhe 143

Target: 129 differtisgoingtobesetowedintoplac 161 |||||||*|||| |||***|||||||||||| Query: 144 rethezipperisg-oingtobesointoplac 175

CPU time: 0.000672 seconds

My fasta parsing code seems connect the words together. Do you mean you would like to separate the words with '_'? If so, I can try it at my place.

The problem may happy at the Python wrapper, if I did the test correctly.

Please let me know do you think my test represent what you mean. If so, I'll cc our message to the author of our Python wrapper, and ask him to have a check of the Python version.

Yours,

Mengyao

On Mon, Mar 6, 2017 at 10:36 AM, saseptim notifications@github.com wrote:

code is in python.

id.txt is the matrix file, where match=2, mismatch=-1.

open penalty = extension penalty = 1

target = u"nowi separate the layers and a rangemynt thep feirst somewhere on the heads hoat it's going to be the mouth and kutole above h stevein eter ufatrc with s differt is going to bese towed into place"

query = u"seal friends now i'm going to separate the layers and arrange my zipper somewhere on the head so that it's going to be the mouth and cut out about a centimeter of fabric where the zipper is going to be so into place and i know some people don't like sewing but i swear this is super basic and anyone can do it so"

This gives a seg fault. As you can see, we are aligning text, so we do not need a biologically meaningful result. For now we are running with open=2 and extend=1 and this seems to work fine. Let me know if you need any more info.

Best, Avi

On Fri, Mar 3, 2017 at 11:17 PM, mengyao notifications@github.com wrote:

Hi,

All the parameters should be positive numbers. For biological meaningful alignment, gap open penalty should be larger than gap extension penalty.

The known issue of SSW is for some long sequences (over 3000bp), when gap open penalty is set the same as gap extension, the result is wrong. If you switch your input sequences, the result will turn right.

The shortest sequences that hit this problem in my hand are 3343 vs. 3382 bp.

If you meet problem with shorter sequences, would you mind to send me your sequences and full parameters?

I would like to fix this error, but only with long sequences, it is very difficult to debug. Your short example will be very helpful.

Many thanks,

Mengyao

On Tue, Feb 21, 2017 at 4:43 AM, saseptim notifications@github.com wrote:

Why should this cause a segfault? I am using your library to align text, and from my perspective, opening a gap = extending a gap = mismatch = -1. I also got a segfault (although very rare) on a random example. Would it be possible to fix this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-281293554, or mute the thread https://github.com/notifications/unsubscribe-auth/ AAlVdP0bIi6okFumZR6Eb5kSL9B_xipuks5rerHRgaJpZM4ECNYA .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-284072408, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5hdLoRqBVkReF- paJ4bmzsoXuTlGwOks5riINUgaJpZM4ECNYA .

a b c d e f g h i j k l m n o p q r s t u v w x y z ' a 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 b -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 c -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 d -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 e -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 f -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 g -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 h -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 i -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 j -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 k -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 l -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 m -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 n -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 p -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 q -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 r -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 s -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 t -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 u -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 v -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 w -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 x -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 y -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 z -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 ' -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-284431570, or mute the thread https://github.com/notifications/unsubscribe-auth/AAlVdMAav4Y7FN4OXR561-tPgy18v7ecks5rjCfrgaJpZM4ECNYA .

saseptim commented 7 years ago

Hi,

My apologies, I forgot to give you the strings with the spaces replaced by "_" as you correctly suggested. These are the strings we run the alignment on:

target: nowi__separate_the_layers_and_a_rangemynt_thepfeirst somewhere_on_the_heads_hoat_it's_going_to_be_themouth and_kutole_above_h_stevein_eter_ufatrc_with_s_differtis going_to_bese_towed_into_place

query: seal_friends_now_i'm_going_to_separate_the_layersand arrange_my_zipper_somewhere_on_the_head_so_thatit's going_to_be_the_mouth_and_cut_out_about_a_centimeterof fabric_where_the_zipper_is_going_to_be_so_into_placeand i_know_some_people_don't_like_sewing_but_i_swear_thisis super_basic_and_anyone_can_do_it_so

I tried running the C code and it worked. Perhaps the issue is in python. One difference is that in C, you do not use the score matrix which I created, it is enough to give the match and mismatch score. In python, I used the matrix id.txt attached previously.

Best, Avi

On Tue, Mar 7, 2017 at 12:08 AM, mengyao notifications@github.com wrote:

Dear Avi,

I tried your data on my C code, and it runs well.

Here are my files, command and results:

  1. input files: [wild@cat demo]$ cat tex_target.fa

    target u''nowi separate the layers and a rangemynt thep feirst somewhere on the heads hoat it's going to be the mouth and kutole above h stevein eter ufatrc with s differt is going to bese towed into place''

[wild@cat demo]$ cat tex_query.fa

query u''seal friends now i'm going to separate the layers and arrange my zipper somewhere on the head so that it's going to be the mouth and cut out about a centimeter of fabric where the zipper is going to be so into place and i know some people don't like sewing but i swear this is super basic and anyone can do it so''

  1. command & results: [wild@cat demo]$ ssw_test -c -m2 -x1 -o1 -e1 tex_target.fa tex_query.fa target_name: target query_name: query optimal_alignment_score: 48 suboptimal_alignment_score: 17 strand: + target_begin: 11 target_end: 161 query_begin: 31 query_end: 175

Target: 11 aratethelayersanda-rangemyntthepfeirstsomewhereonthehea-dsho 68 |||||||||||||||||| |||| ||||||||||||||||||||||||| ||| Query: 31 aratethelayersandarrang------emyzippersomewhereontheheadsoth 84

Target: 69 atit'sgoingtobethemouthandkutoleabovehsteveineterufatrcwiths 128 ||||||||||||||||||||||||||*||||||****|||||||| ||**|| Query: 85 atit'sgoingtobethemouthandcutoutaboutacentimeteroffa-bricwhe 143

Target: 129 differtisgoingtobesetowedintoplac 161 |||||||*|||| |||***|||||||||||| Query: 144 rethezipperisg-oingtobesointoplac 175

CPU time: 0.000672 seconds

My fasta parsing code seems connect the words together. Do you mean you would like to separate the words with '_'? If so, I can try it at my place.

The problem may happy at the Python wrapper, if I did the test correctly.

Please let me know do you think my test represent what you mean. If so, I'll cc our message to the author of our Python wrapper, and ask him to have a check of the Python version.

Yours,

Mengyao

On Mon, Mar 6, 2017 at 10:36 AM, saseptim notifications@github.com wrote:

code is in python.

id.txt is the matrix file, where match=2, mismatch=-1.

open penalty = extension penalty = 1

target = u"nowi separate the layers and a rangemynt thep feirst somewhere on the heads hoat it's going to be the mouth and kutole above h stevein eter ufatrc with s differt is going to bese towed into place"

query = u"seal friends now i'm going to separate the layers and arrange my zipper somewhere on the head so that it's going to be the mouth and cut out about a centimeter of fabric where the zipper is going to be so into place and i know some people don't like sewing but i swear this is super basic and anyone can do it so"

This gives a seg fault. As you can see, we are aligning text, so we do not need a biologically meaningful result. For now we are running with open=2 and extend=1 and this seems to work fine. Let me know if you need any more info.

Best, Avi

On Fri, Mar 3, 2017 at 11:17 PM, mengyao notifications@github.com wrote:

Hi,

All the parameters should be positive numbers. For biological meaningful alignment, gap open penalty should be larger than gap extension penalty.

The known issue of SSW is for some long sequences (over 3000bp), when gap open penalty is set the same as gap extension, the result is wrong. If you switch your input sequences, the result will turn right.

The shortest sequences that hit this problem in my hand are 3343 vs. 3382 bp.

If you meet problem with shorter sequences, would you mind to send me your sequences and full parameters?

I would like to fix this error, but only with long sequences, it is very difficult to debug. Your short example will be very helpful.

Many thanks,

Mengyao

On Tue, Feb 21, 2017 at 4:43 AM, saseptim notifications@github.com wrote:

Why should this cause a segfault? I am using your library to align text, and from my perspective, opening a gap = extending a gap = mismatch = -1. I also got a segfault (although very rare) on a random example. Would it be possible to fix this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-281293554, or mute the thread https://github.com/notifications/unsubscribe-auth/ AAlVdP0bIi6okFumZR6Eb5kSL9B_xipuks5rerHRgaJpZM4ECNYA .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-284072408, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5hdLoRqBVkReF- paJ4bmzsoXuTlGwOks5riINUgaJpZM4ECNYA .

a b c d e f g h i j k l m n o p q r s t u v w x y z ' a 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 b -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 c -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 d -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 e -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 f -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 g -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 h -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 i -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 j -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 k -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 l -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 m -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 n -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 p -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 q -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 r -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 s -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 t -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 u -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 v -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 w -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 x -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 y -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 z -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 ' -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith- Waterman-Library/issues/22#issuecomment-284431570, or mute the thread https://github.com/notifications/unsubscribe- auth/AAlVdMAav4Y7FN4OXR561-tPgy18v7ecks5rjCfrgaJpZM4ECNYA

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/22#issuecomment-284549576, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5hdMp1jNMO3FfiwD3T8ViOctB5Ytc5ks5rjIPYgaJpZM4ECNYA .