Commit message:
planemo upload for repository https://github.com/portiahollyoak/Tools commit 132bb96bba8e7aed66a102ed93b7744f36d10d37-dirty |
added:
genbank_to_fasta.py genbank_to_fasta.xml test-data/genbank_input.txt test-data/output.fasta |
b |
diff -r 000000000000 -r bcdd1a35e545 genbank_to_fasta.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genbank_to_fasta.py Fri Apr 22 12:09:14 2016 -0400 |
[ |
@@ -0,0 +1,92 @@ +#!/usr/bin/env python +# coding: utf-8 + +import argparse +import doctest # This will test if the functions are working + + +def get_id(line): + """ + This function reads a line and returns the ID name + + >>> line = 'ID TE standard; DNA; INV; 7411 BP.' + >>> 'TE'== get_id(line) + True + + """ + if line.startswith("ID"): + id = line.split(" ")[1] #split line into 'ID' and rest of line, take rest of line and define as id + id = id.split(" ")[0] #split id into 'ID name' and rest of line, take ID name and define as id + return id + + +def get_seq(line): + """ + This function reads a sequence line from a genbank file + and returns a sequence with no spaces or digits + + >>> line = "AGTGACATAT TCACATACAA AACCACATAA CATAGAGTAA ACATATTGAA AAGCCGCATA 60" + >>> 'AGTGACATATTCACATACAAAACCACATAACATAGAGTAAACATATTGAAAAGCCGCATA' == get_seq(line) + True + + """ + seq = [] + for char in line: + if not char.isdigit() and not char == " ": # If a character is not a digit or space, + # it will be added to sequence. + seq.append(char) + seq = "".join(seq) + return seq + + +def make_seq_dictionary(input_file_handle): + """ + This function loops over a multi genbank file and returns + a collection of ID and corresponding sequence in a dictionary. + """ + seq_d = {} # dictionary with id as key and sequence as value + next_line_is_seq = False + for line in input_file_handle: + line = line.strip() # strips any leading or trailing whitespace + if line.startswith("ID"): + id = get_id(line) + seq_d[id]="" # We just create a new key + if line.startswith("SQ"): + next_line_is_seq = True # If line starts with 'SQ' then state is true + continue + if line.startswith("//"): # If line starts with '//' then state is false + next_line_is_seq = False + if next_line_is_seq: # Whatever has been read as true, this is copied to file + seq = get_seq(line) + seq_d[id] += seq + return seq_d + + +def write_seq_d_to_file(seq_d, output): + """ + This function will write the sequence dictionary to an output file + """ + for transposon, seq in seq_d.items(): + output.write(">%s\n" % transposon) + output.write("%s\n" % seq) + +description = ( "This script will extract ID names and sequences from a multigenbank" + "file and format them into a multifasta file." ) + + +parser = argparse.ArgumentParser(description) +parser.add_argument("input", help="A multi-genbank file.") +parser.add_argument("output", help="Name of the output fasta file.") +args = parser.parse_args() + +try: + with open(args.input, encoding = "utf-8") as input_file_handle: + # This will perform the tasks + seq_d = make_seq_dictionary(input_file_handle) +except TypeError: + with open(args.input) as input_file_handle: + seq_d = make_seq_dictionary(input_file_handle) + +with open(args.output, "w") as output: + write_seq_d_to_file(seq_d, output) + |
b |
diff -r 000000000000 -r bcdd1a35e545 genbank_to_fasta.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genbank_to_fasta.xml Fri Apr 22 12:09:14 2016 -0400 |
b |
@@ -0,0 +1,58 @@ +<tool id ="genbank_to_fasta" name="Convert multigenbank to multifasta" version=" 0.1.0"> + <description></description> + <stdio> + <exit_code range="1:" /> + </stdio> + <command>python $__tool_directory__/genbank_to_fasta.py "$input" "$output"</command> + <inputs> + <param format="txt" name="input" type="data" label="Multigenbank file"/> + </inputs> + <outputs> + <data format="fasta" name="output" /> + </outputs> + <tests> + <test> + <param name="input" value="genbank_input.txt"/> + <output name="output" file="output.fasta"/> + </test> + </tests> + <help> + +This tool converts a multigenbank file into a multifasta file. + +----- + +**Example multi genbank file** :: + + ID DME9736 standard; DNA; INV; 7411 BP. + XX + CC Derived from AJ009736 (e1371475) (Rel. 58, Last updated, Version 1). + CC Takis Benos and Michael Ashburner, 1-Feb-1999. + CC Any changes to original sequence record are annotated in an FT line. + XX + SQ Sequence 7411 BP; 3047 A; 1363 C; 1109 G; 1892 T; 0 other; + GTGACATATC CATAAGTCCC TAAGACTTAA GCATATGCCT ACATACTAAT ACACTTACAA 60 + CACATACACC CCAATACAAC ATACACTACT CCGGATGTAC CCAACAGATA CCAGATAAGA 120 + ATAAGATTGT TATATGATCC TCGAGAATGG AAAAAACCCC AATTCTAGAT AAGTCACCCA 180 + CTGGTAGACT AAACATCCGT CCCCTAATTT AAACAATTCC TTGCTTAAGC CTCACCCCAT 240 + // + ID DMIS176 standard; DNA; INV; 7439 BP. + XX + CC Derived from X01472 (g8142) (Rel. 36, Last updated, Version 2). + CC Takis Benos and Michael Ashburner, 20-Aug-1997. + CC Any changes to original sequence record are annotated in an FT line. + XX + SQ Sequence 7439 BP; 2985 A; 1512 C; 1048 G; 1894 T; 0 other; + AGTGACATAT TCACATACAA AACCACATAA CATAGAGTAA ACATATTGAA AAGCCGCATA 60 + CGTAAACAAT AAGTGACCAC CATGCTAATG TGGATCAAAT AACAAAAATA TCCACTCTGC 120 + // + +**Example output fasta file** :: + + >DME9736 + GTGACATATCCATAAGTCCCTAAGACTTAAGCATATGCCTACATACTAATACACTTACAA.... + >DMIS176 + AGTGACATATTCACATACAAAACCACATAACATAGAGTAAACATATTGAAAAGCCGCATA + + </help> +</tool> |
b |
diff -r 000000000000 -r bcdd1a35e545 test-data/genbank_input.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/genbank_input.txt Fri Apr 22 12:09:14 2016 -0400 |
b |
b'@@ -0,0 +1,388 @@\n+ID DME9736 standard; DNA; INV; 7411 BP.\n+XX\n+AC AJ009736;\n+XX\n+DR FLYBASE; FBgn0026065; Idefix.\n+XX\n+FT source AJ009736:1..7411\n+FT SO_feature five_prime_LTR ; SO:0000425:1..600\n+FT SO_feature three_prime_LTR ; SO:0000426:6841..7411\n+FT SO_feature CDS ; SO:0000316:<988..2031\n+FT /name="Idefix\\gag"\n+FT /db_xref="FLYBASE:FBgn0027381"\n+FT /db_xref="SPTREMBL:O96739"\n+FT /db_xref="NCBI_PROTEIN:CAA08806.1"\n+FT /translation="ARKLKDIMAVPQLSETHLNQLLNQIKELNYYDGAPGKLSGFVNQV\n+FT EQLLSLYPTQEARQAHVIYGAVKRLLVDSALEVVTQERANTWLDMKKALAMAFKDHRPY\n+FT VTLIRQLEDISYPGSICKFIEKLETQYWIMFDKLELESDHVDKSNYTEMLNKTVKSVID\n+FT RKLPDRIYMSLARKDIDTIYKLKQASMELGLYDAIPENHRSNRTEMNKRRNRGNYNQNN\n+FT NQKYYNNRNHNYSNYYPSMNQNHNTQPPQNPTQPMTNQNQYSPRFIPNNQRGNYYAFRR\n+FT DLTQAQQNNPLNNTLNFQPSTSNNINRQGPVKRQRESQSDQSRMDVNFHQAASDTQMIE\n+FT KDIQVPM"\n+FT SO_feature CDS ; SO:0000316:<1950..5402\n+FT /name="Idefix\\pol"\n+FT /db_xref="FLYBASE:FBgn0027380"\n+FT /db_xref="SPTREMBL:O96740"\n+FT /db_xref="NCBI_PROTEIN:CAA08807.1"\n+FT /translation="PKQDGCKFSSSCLGHSNDREGHTSPYVKIIHHNKNYKGMIDTGSS\n+FT INIIRENFENLEEKEENLIVYTIKGPITLKRSIIIKPTSVCPSAQKFYIHKFSDNYDFL\n+FT LGRKYLEDTKAKIDYANETVTLGSKVFKFLYEEKKGETASKCLDPQEKNDSALVDRTKP\n+FT KMQKVKTAPKCLKPKHQQQKKETALPKCLISNVVKDTVDNDVTHLDPMSVDNDIVNFAI\n+FT NNELRECNEYRLEHLNAEEVECLKKFLYEYRDIQYKEGENLTFTSTIKHVIQTQHEDPV\n+FT YRKPYKYPQSVDQEVNKQIKEMIEQGIVRKSKSPYCSPIWVVPKKADASGKQKFRLVVD\n+FT YRNLNEITVNDKFPIPRMDEILDKLGRCQYFTTIDLAKGFHQIQMDENSIAKTAFSTKH\n+FT GHYEYTRMPFGLKNAPATFQRCMNNLLEDLIYKDCLVYLDDIIVYSTPLEEHILSLKKV\n+FT FEKLRDANLKLQLDKCEFMKKETEFLGHIVTTNGIKPNPNKTKAITNFPLPKTPKQIKS\n+FT FLGLCGFYRKFIPNFAKIVKPMTLKLKKGAIIDTKCKEYIESFEKLKVLITSDPILIYP\n+FT DFSKPFSLTTDASNVAIGAVLSQNHKPVCYASRTLNEHEINYATIEKELLAIVWATKYF\n+FT RSYLFGRPFEVLSDHKPLVWLNNIKEPNMKLQRWKIKLNEFDYKIKYLPGKENHVADAL\n+FT SRTKIEVMVGEVANSADATIHSAIEDNLNYIPITERPINYFSRQIEIEKGDNDTTSVQH\n+FT LFQKLKIKIVYKEMTPELAKNLIKEYVCTKKSAIYFPNDEDFLIFQRAFTEIISPNNFT\n+FT KLLRCTTKLIDILTYAEFKDLILKKHKELLHPGIEKTINLFKEEYYYPDSQKLIQTIIN\n+FT ECQICYLAKTEHQTQMTYETTPEIFNTREKYMIDFYLTGNQIFLSCIDIYSKFASLVEL\n+FT KSRDWLEAKRAITKIFNDMGKPQEIKADKDSAFMCLALQNWLRSEGVQISISTSKNGIS\n+FT DIERFHKTVNEKLRIIGSQQNVEDRCTKFERILYIYNHKTKHNSTKRFPADIFLYAGSP\n+FT DFNVQQNKIDRIEYLNKNRHDFEVDIKYRQAPLVKSKITNPFKKTGRIGQVDDKHFEET\n+FT NRGRKIVHYKSKFKKQKKFNKSKYDNSRPTKEAQSTQHTSNNA"\n+FT SO_feature CDS ; SO:0000316:5248..6780\n+FT /name="Idefix\\env"\n+FT /db_xref="FLYBASE:FBgn0027382"\n+FT /db_xref="SPTREMBL:O96741"\n+FT /db_xref="NCBI_PROTEIN:CAA08808.1"\n+FT /translation="MINISKKQIVAGRSFTISQNLRNRKSLIRANMIIPDQPKKHKVHN\n+FT ILLIMLSCILSLIITVKCNNIEVNPVNAKNGYLIFQTGTMEIPTSYEYHYLSINITKTM\n+FT LMFEDIVSEANNYPNVPQIQYLVDKLKREINGLRIISRSKRGLLNVVGKAYKYLFGTLD\n+FT EDDREELEEKINNMSEDSVKTHDLNTILDVINSGIDIINKLKVDKEQHQQIAVLIFNLE\n+FT QFTEYIEDIELGLQLTRLGIFNPRLLKHDYLKHVNSEKMLKIKTSTWLKTDTNEILIIS\n+FT HIPSEVTKVPIFQIVPYPDEHNYILTEQIFDKFYIFDNQVFHKDTNRDIFDKCIIGIIK\n+FT QEQTQCKYIKTHKNYQINYIEPNILLTWNIPETAVNQDCTHNKILISGNNIIKIKNCTI\n+FT QIDEFLISNNLADFTQTIYITNNVTRLEPINHLQTREMIETHVKHYNFFQIICITTFVI\n+FT MIISLTLYVAYKFKNIPKKIIVNIVSKKNTRTLKIMSMKIFNKEIILPYTQI"\n+XX\n+CC Derived from AJ009736 (e1371475) (Rel. 58, Last updated, Version 1).\n+CC'..b'AAATCCTGC GTAGCACGAT 4560\n+ TTTGTTAAAA AACATAACCA CTTATGCGGA ATTTAAGGAA TTGATCTTGA CTGCTCATGA 4620\n+ AAAACTTCTA CACCCAGGCA TACAGAAAAC TACTAAACTT TTCGGAGAAA CTTACTATTT 4680\n+ CCCTAATAGC CAGCTACTTA TTCAGAATAT AATAAATGAG TGCAGTATTT GCAATCTGGC 4740\n+ AAAAACAGAG CACCGAAATA CAGACATGCC AACGAAAACC ACACCCAAAC CAGAACATTG 4800\n+ CCGCGAAAAA TTCATGATAG ACATTTACTC ATCCGAAGGC AAACATTACG TTAGTTGCAT 4860\n+ AGACATTTAT TCGAAATTTG CCACATTAGA AGAAATAAAA ACAAAAGACT GGATAGAATG 4920\n+ CAAAAACGCG CTTATGCGCA TATTCAACCA GCTTGGCAAG CCAAAGTTAC TAAAGGCGGA 4980\n+ CAGAGACGGC GCATTTTCCA GTTTAGCCCT CAAGAGATGG CTGGAGAGTG AGGAAGTCGA 5040\n+ ATTGCAGCTT AACACAACAA AAACTGGTGT GGCGGACATA GAAAGACTAC ATAAAACAAT 5100\n+ TAATGAAAAG ATTCGCATAA TCAAAACATC CGATGACGAA GAAACCAAAT TGAGCAAAAT 5160\n+ GGAAACAGTA CTTAACATAT ACAATCATAA AACCAAACAC GACACCACTG GACAGACCCC 5220\n+ TGCACACATA TTTCTCTACG CTGGACAACC AATATTAGAT ACCCAACAAA ACAAAGAAAA 5280\n+ CAAAATAAAC AAAATAAATA ATGACAGAGT GGAGTACGAA GTCGACACAA GATACAGAAA 5340\n+ AGGTCCACTA CAGAAAGGCA AATTAGAAAA TCCTTTTAAG CCAACAAAAA ATGTGGAGCA 5400\n+ GACTGACTCT GATCATTATA AAATTACTAA TAGAAATAGA ATTACTCACT ACTACAAAAC 5460\n+ ACAATTCAAA AAACGAAAGA AAAATAATCA GCTCTCAATT TCACAGGCAC CTGGCACTTG 5520\n+ ATAACATTGC TGCTGATGCT GATCACAACA GTTCATGGAC AACAAATTGA AATTAATAAT 5580\n+ ATTGACACAA ACCACGGATA TCTCCTTTTT TCTGATAAAC CAGTCCAGAT ACCATCATCC 5640\n+ TTTGAACATC ATTGCTTGAG AATCAATTTA ACTGAAATAG ACACCATAGC TGATTATTTT 5700\n+ GAGCAAAGAC TACGTACCGA CTACCATGCA CCCCAGGTCA AATTTTTATA CAACAAAATG 5760\n+ AGAAGAGAAC TAGCTGGAAT AGCCTTGCGA CATAGAAATA AACGGGGACT TATTAACATT 5820\n+ GTAGGTTCAG TTTTTAAATA CCTATTTGGC ACACTTGACG AAAATGATCG AGTGGATATA 5880\n+ CAGAGGAAAC TTGAAACAAA CGCCCATAAC TCGGTAAATT TACATGAACT CAATGACGCT 5940\n+ ATTCAATTAA TAAATGACGG AATGCAAAAG ATACAGAATT ATGAAAACAA CAGCAACATC 6000\n+ ATTAACAGTC TTTTATATGA ACTCATGCAG TTTACAGAAT ACATAGAAGA TGTGGAAATG 6060\n+ GGAATGCAGC TTTCCAGACT CGGTCTATTT AATCCCAAAC TACTAAACTA CGATAAACTT 6120\n+ GAGAATGTAA ACAGCCAAAA TATTTTAAAC ATTAAAACAT CCACTTGGAT TAATTACAAT 6180\n+ GATAACCAAT TATTAATCAT ATCTCACATA CCTATTAACT TTTCATTAAT AAATACAGTA 6240\n+ AAAATAATCC CTTACCCAGA CTCGAACGGC TATCAGCTAG AATACACAGA CACACAATCA 6300\n+ TATTTTGAAA GAGAAAATAA AGTTTACAAT AACGAAAATA AAGAAATAAA CAATGAGTGT 6360\n+ GTCACCAACA TTATTAAACA TTTAAAACCA ATTTGTAATT TTGAGTCAAT CCACACAGAT 6420\n+ GAAATAATAA AATACATAGA ACCAAACACA ATTGTAACCT GGAATTTAAC CCAAACAAGT 6480\n+ CTCAAACAAA ATTGTCAAAA TTCATTTAAT AATATAAAAA TAAAAGGAAA CAAAATGATA 6540\n+ AAAGTAACCC AATGTAAAAT AGAAATCAAT AGCATAATTC TAAGTGAAAA TCTCTTTAAA 6600\n+ CCAGAAATAG ATTTGACACC ATTATACACA CCACTTAACA TAACAAAAAT AAAAACTGTT 6660\n+ AAACACAACG ACATTAATGA AATGATTTCA CAAAACAATA TTACACTTTA CATATTTATG 6720\n+ ACTACTGTCA TCATTATACT TATTTTATTG TACTTATATT TAAGATACGT ATCATTTAAC 6780\n+ CCATTCATGA TGCTGTATGC AAAACTAAAA TTAAGAAAAA ATCAAAATCA AAACACAGCA 6840\n+ CAACAAATAG AAATGGAAGA CGTTCCATTA CCCCTACTAT ATCCATCAAT CCCAGCCCAA 6900\n+ GTATAGGCTT CTCTTTAAGG GAAGGGAAGT GACATATTCA CATACAAAAC CACATAACGT 6960\n+ AGAGTAAACA TATTGAAAAG CCGCATACGT CAACAATAAG TGACCACCAT GCTAATGTGG 7020\n+ ATCAAATAAC AAAAATATCC ACTCTGCATT TTGACACCCC CATACTGTAT GCCATCTGCG 7080\n+ CAGTATGCAT TCTAATAAAC AAATTCTTTG ACAGCGGCAC TTAGCCATTC TTGTAAACAA 7140\n+ ATCTTAAAGT CTGCCTGCTC TCTCTGAGGC TTCTCCTCCA CTTAAGAATC CAAGAGCAAT 7200\n+ GCTCTCCCAA AAACACTAAC ATATTCTTTA AGCAAGCACA GAGGCTTCTC CTCATTTTCA 7260\n+ CTTTCATTTG ATTTTCAGTC TTAAGCTGAA CGTTAATCAA TAAACAACAC AATCGATACC 7320\n+ GAAATTTTGA TTCGTTTTAT TTTGGCAAAA CTCAATTTTC AGCGTTGGTC TTAGTTCATA 7380\n+ TTCGGAACGG TCCATTTAAT AGACTCAAAA CTATTTATTG CAACCATTTA TTTGCAATT 7439\n+//\n\\ No newline at end of file\n' |
b |
diff -r 000000000000 -r bcdd1a35e545 test-data/output.fasta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output.fasta Fri Apr 22 12:09:14 2016 -0400 |
b |
b'@@ -0,0 +1,4 @@\n+>DME9736\n+GTGACATATCCATAAGTCCCTAAGACTTAAGCATATGCCTACATACTAATACACTTACAACACATACACCCCAATACAACATACACTACTCCGGATGTACCCAACAGATACCAGATAAGAATAAGATTGTTATATGATCCTCGAGAATGGAAAAAACCCCAATTCTAGATAAGTCACCCACTGGTAGACTAAACATCCGTCCCCTAATTTAAACAATTCCTTGCTTAAGCCTCACCCCATCGTCACATTCCCACGTTCAAAGCTCGGAGCCGCAATCCCGAAAAACAAAAGTATCGATTTCAATAAACAAATTATAAGAATCTAAGAGCACTTGTATCCAAGAGCAAATGCACTTGAATCCAAGAGAAACGCAAAGCTTTTTCTCTTTACGATCAGAATCCTAAAGTCTAAAGTCCATATTAGAAAAGCTCGATACCGAGGCTTGAACGTCAACCAAATCAGAATAATTATCAGAGTTCAGTTTGAGACCTAATTGTAAAAGGTTCGGTGTTCTTCTCAAATAAAAAGATTGTAATCATTTAGTGAAATAAAAATTATATTTTTTTCACTTATAAATATTGCAAGTATTTAATTGGCGCAGTCGGTTAGGATCCAATAAAATAAAAGAGTCCTTTTAGTACGGTACTGATCAACTGAAGGATATGCTATACGACTAGCTATCCAAGATCAGCGAATTAAAATAGTGATTCAAAAATATTTTTTAATCCGCAAAAGAATCTACGTGAAAGTAGTATTCAAAATAAAATCCCGTGCGGTCGGAAACAAAAATTAATTTAAATTTTTTAATTCCGAAACTTAAAACCAAGTTTAAAGAAAACTTAAAATCAAGAAAACTTAAAACCAAGTTTAAAGAAAACTTAAAATCAAGAAAACTTAAAACCAAGTTTAAAGAAAACTTAAAATCAAGAAAACTTAAAACCAAGTTTAAAGAAAACTCAAAATCAAGAAAACTTAAAGCCAAAATAAGCTAGAAAACTAAAAGACATCATGGCAGTCCCACAACTCTCAGAAACACACCTAAACCAACTGCTAAACCAAATCAAAGAATTAAACTACTACGATGGCGCACCTGGCAAATTATCTGGATTCGTCAACCAAGTGGAACAACTGCTCAGTTTATACCCAACACAGGAAGCAAGACAGGCACACGTCATATATGGAGCAGTGAAGCGGTTATTAGTGGATTCAGCCTTAGAAGTCGTAACCCAGGAAAGAGCTAACACATGGCTGGACATGAAGAAAGCACTGGCAATGGCATTCAAAGACCATAGACCTTATGTAACTCTCATCAGACAATTAGAAGACATATCATACCCAGGAAGTATCTGTAAGTTTATAGAAAAATTAGAAACACAATACTGGATTATGTTCGATAAGTTAGAATTAGAAAGTGACCATGTTGATAAATCGAATTATACCGAAATGTTAAACAAAACTGTTAAATCAGTAATAGATCGAAAACTGCCGGATAGAATTTATATGTCTTTGGCACGTAAAGATATTGATACAATTTATAAATTAAAACAAGCATCAATGGAATTAGGCCTTTATGATGCTATTCCAGAAAATCACCGTTCTAATAGAACAGAAATGAATAAACGTAGGAACAGGGGAAACTATAATCAAAATAATAATCAAAAATATTACAATAATAGAAATCACAACTACAGTAATTATTATCCTAGCATGAATCAGAATCATAATACACAACCACCTCAGAATCCGACTCAACCTATGACAAATCAAAACCAATATTCACCGCGTTTCATACCGAATAATCAAAGAGGGAATTATTATGCATTTAGACGAGACTTAACACAAGCTCAGCAGAACAACCCACTTAATAACACCCTTAACTTCCAACCTTCGACATCGAATAATATTAACAGACAAGGGCCAGTAAAAAGACAACGCGAGAGTCAGAGTGACCAAAGCAGGATGGATGTAAATTTTCATCAAGCTGCCTCGGACACTCAAATGATAGAGAAGGACATACAAGTCCCTATGTAAAAATAATTCATCATAATAAAAATTATAAGGGAATGATCGATACAGGATCATCAATTAACATCATAAGAGAAAATTTTGAGAACTTAGAAGAAAAGGAAGAAAACCTAATAGTATACACTATTAAAGGACCAATAACACTAAAGAGAAGTATAATAATAAAACCTACTTCAGTATGTCCGTCTGCTCAAAAATTCTACATTCACAAATTTTCTGATAACTATGATTTCTTGTTAGGTCGAAAGTATTTAGAAGATACAAAAGCTAAAATAGATTATGCTAACGAAACAGTAACACTAGGCTCAAAAGTATTTAAGTTTCTCTATGAAGAAAAGAAGGGCGAGACCGCATCCAAATGCCTTGACCCACAAGAAAAGAATGATTCCGCTCTAGTGGACAGAACCAAACCAAAAATGCAAAAGGTTAAGACCGCACCTAAGTGCCTTAAACCAAAGCATCAACAGCAGAAGAAAGAGACCGCATTACCCAAATGCCTCATTTCAAATGTTGTTAAAGACACAGTGGACAATGATGTAACACATCTCGATCCCATGTCCGTTGACAACGATATAGTCAACTTCGCGATTAACAATGAGTTACGCGAATGTAACGAGTATAGACTCGAACACTTAAATGCAGAGGAAGTTGAATGTTTAAAGAAGTTCCTATACGAATATAGAGACATTCAGTACAAAGAGGGCGAAAATTTGACCTTCACCAGTACTATTAAACATGTCATCCAGACTCAACACGAAGACCCAGTATACCGTAAACCCTACAAGTACCCTCAAAGCGTTGACCAAGAAGTTAACAAACAAATTAAAGAAATGATAGAACAAGGGATTGTTCGCAAATCGAAGTCCCCTTATTGTTCTCCTATTTGGGTGGTCCCCAAGAAGGCAGACGCCTCTGGGAAACAAAAATTCAGGTTGGTAGTCGATTACAGGAACCTAAATGAGATAACTGTTAACGACAAATTTCCCATTCCCCGAATGGATGAGATATTGGACAAACTAGGTAGATGCCAATACTTTACCACTATAGATCTAGCCAAGGGTTTTCACCAAATCCAAATGGATGAAAATTCTATTGCAAAAACAGCTTTTTCAACTAAGCATGGGCATTATGAATATACTCGTATGCCCTTTGGTTTAAAAAACGCTCCAGCTACTTTTCAGAGATGCATGAATAATCTTCTGGAAGATTTAATCTACAAAGACTGTTTAGTCTATTTAGACGATATTATTGTTTATTCCACTCCATTGGAAGAACACATTTTATCCCTAAAGAAAGTCTTTGAAAAACTGAGAGACGCTAATTTAAAGTTGCAACTAGATAAATGTGAATTCATGAAGAAAGAAACTGAATTCCTAGGACACATCGTCACAACAAATGGCATCAAACCAAATCCAAATAAAACTAAAGCAATTACAAATTTTCCATTACCCAAGACACCTAAGCAAATAAAATCATTTTTGGGATTATGTGGATTCTATCGCAAGTTTATTCCTAACTTTGCCAAAATAGTTAAACCCATGACCCTCAAATTAAAGAAAGGTGCTATAATAGACACCAAATGTAAAGAATACATCGAATCATTTGAAAAATTAAAAGTTTTGATAACTTCAGACCCGATATTAATCTATCCTGATTTTTCAAAACCTTTTTCTTTGACAACTGATGCTAGCAACGTAGCTATTGGTGCAGTGTTATCACAAAATCACAAGCCAGTTTGTTATGCCAGTAGAACGCTAAACGAACATGAAATCAACTATGCTACGATTGAAAAAGAATTGTTAGCTATAGTTTGGGCTACAAAATATTTCAGGTCATACTTATTCGGCAGACCATTTGAAGTATTAAGTGATCACAAGCCACTGGTATGGCTCAACAACATTAAAGAACCAAACATGAAATTGCAAAGATGGAAAATAAAACTTAATG'..b'CGACATAATTGTATTCTCGACATCCCTTGATGAACACCTGCAATCGCTCGGACTAGTTTTCGAAAAATTAGCAAAAGCCAACCTTAAATTACAACTTGACAAATGTGAGTTTCTCAAGCAAGAAACCACATTTTTAGGACATGTTCTAACACCAGATGGAATAAAACCAAACCCTGAAAAAATTGAAGCCATTCAAAAATATCCAATTCCCACTAAACCAAAAGAAATAAAAGCTTTTCTTGGACTGACAGGATATTATCGTAAATTTATTCCAAACTTTGCAGACATAGCCAAACCCATGACTAAGTGTTTAAAAAAGAACATGAAAATTGACACTACCAACCCAGAATATGACTCTGCATTTAAAAAATTAAAATATCTAATATCAGAAGACCCAATTCTTAAAGTACCCGACTTTACAAAGAAATTCACTTTAACCACAGACGCAAGTGATGTCGCTTTGGGGGCAGTACTGTCACAAGATGGACACCCACTTAGCTACATTAGCCGAACACTTAATGAACACGAAATAAATTACAGCACAATTGAAAAAGAACTCTTAGCAATTGTATGGGCGACAAAGACTTTTCGACACTACCTACTTGGAAGACACTTTGAAATATCCAGTGACCATCAACCATTGAGCTGGTTGTACCGTATGAAAGACCCAAATTCAAAACTGACCCGATGGAGAGTAAAATTATCCGAATTCGATTTTGATATAAAATATATAAAAGGAAAAGAAAATTGCGTGGCGGATGCTCTGTCCAGAATAAAACTTGAGGAGACATATTTGAGCGAACAAACCCAACATAGTGCAGAAGAGGACAATAGTGATTTAATTTTTATTACAGAAAGACCTCTAAATACATTTAACAGACAAGTTATATTTTCAAAAGGACCACCAGACATTAAAGTTACGAAATATTTCAAAAAACACATCACCCAAATATTTTACGACATTATGACCAGGGAAAAAGCCGAACAATATTTGATAGACCATTTTTGTGGTAAGAAAAGTGCGTTGTATATTGAGAGTGACGCTGATTTCGAAGTCATTCAAGCCGCACATAAATTAGCCATAAACACCAAATATACAAAAATCCTGCGTAGCACGATTTTGTTAAAAAACATAACCACTTATGCGGAATTTAAGGAATTGATCTTGACTGCTCATGAAAAACTTCTACACCCAGGCATACAGAAAACTACTAAACTTTTCGGAGAAACTTACTATTTCCCTAATAGCCAGCTACTTATTCAGAATATAATAAATGAGTGCAGTATTTGCAATCTGGCAAAAACAGAGCACCGAAATACAGACATGCCAACGAAAACCACACCCAAACCAGAACATTGCCGCGAAAAATTCATGATAGACATTTACTCATCCGAAGGCAAACATTACGTTAGTTGCATAGACATTTATTCGAAATTTGCCACATTAGAAGAAATAAAAACAAAAGACTGGATAGAATGCAAAAACGCGCTTATGCGCATATTCAACCAGCTTGGCAAGCCAAAGTTACTAAAGGCGGACAGAGACGGCGCATTTTCCAGTTTAGCCCTCAAGAGATGGCTGGAGAGTGAGGAAGTCGAATTGCAGCTTAACACAACAAAAACTGGTGTGGCGGACATAGAAAGACTACATAAAACAATTAATGAAAAGATTCGCATAATCAAAACATCCGATGACGAAGAAACCAAATTGAGCAAAATGGAAACAGTACTTAACATATACAATCATAAAACCAAACACGACACCACTGGACAGACCCCTGCACACATATTTCTCTACGCTGGACAACCAATATTAGATACCCAACAAAACAAAGAAAACAAAATAAACAAAATAAATAATGACAGAGTGGAGTACGAAGTCGACACAAGATACAGAAAAGGTCCACTACAGAAAGGCAAATTAGAAAATCCTTTTAAGCCAACAAAAAATGTGGAGCAGACTGACTCTGATCATTATAAAATTACTAATAGAAATAGAATTACTCACTACTACAAAACACAATTCAAAAAACGAAAGAAAAATAATCAGCTCTCAATTTCACAGGCACCTGGCACTTGATAACATTGCTGCTGATGCTGATCACAACAGTTCATGGACAACAAATTGAAATTAATAATATTGACACAAACCACGGATATCTCCTTTTTTCTGATAAACCAGTCCAGATACCATCATCCTTTGAACATCATTGCTTGAGAATCAATTTAACTGAAATAGACACCATAGCTGATTATTTTGAGCAAAGACTACGTACCGACTACCATGCACCCCAGGTCAAATTTTTATACAACAAAATGAGAAGAGAACTAGCTGGAATAGCCTTGCGACATAGAAATAAACGGGGACTTATTAACATTGTAGGTTCAGTTTTTAAATACCTATTTGGCACACTTGACGAAAATGATCGAGTGGATATACAGAGGAAACTTGAAACAAACGCCCATAACTCGGTAAATTTACATGAACTCAATGACGCTATTCAATTAATAAATGACGGAATGCAAAAGATACAGAATTATGAAAACAACAGCAACATCATTAACAGTCTTTTATATGAACTCATGCAGTTTACAGAATACATAGAAGATGTGGAAATGGGAATGCAGCTTTCCAGACTCGGTCTATTTAATCCCAAACTACTAAACTACGATAAACTTGAGAATGTAAACAGCCAAAATATTTTAAACATTAAAACATCCACTTGGATTAATTACAATGATAACCAATTATTAATCATATCTCACATACCTATTAACTTTTCATTAATAAATACAGTAAAAATAATCCCTTACCCAGACTCGAACGGCTATCAGCTAGAATACACAGACACACAATCATATTTTGAAAGAGAAAATAAAGTTTACAATAACGAAAATAAAGAAATAAACAATGAGTGTGTCACCAACATTATTAAACATTTAAAACCAATTTGTAATTTTGAGTCAATCCACACAGATGAAATAATAAAATACATAGAACCAAACACAATTGTAACCTGGAATTTAACCCAAACAAGTCTCAAACAAAATTGTCAAAATTCATTTAATAATATAAAAATAAAAGGAAACAAAATGATAAAAGTAACCCAATGTAAAATAGAAATCAATAGCATAATTCTAAGTGAAAATCTCTTTAAACCAGAAATAGATTTGACACCATTATACACACCACTTAACATAACAAAAATAAAAACTGTTAAACACAACGACATTAATGAAATGATTTCACAAAACAATATTACACTTTACATATTTATGACTACTGTCATCATTATACTTATTTTATTGTACTTATATTTAAGATACGTATCATTTAACCCATTCATGATGCTGTATGCAAAACTAAAATTAAGAAAAAATCAAAATCAAAACACAGCACAACAAATAGAAATGGAAGACGTTCCATTACCCCTACTATATCCATCAATCCCAGCCCAAGTATAGGCTTCTCTTTAAGGGAAGGGAAGTGACATATTCACATACAAAACCACATAACGTAGAGTAAACATATTGAAAAGCCGCATACGTCAACAATAAGTGACCACCATGCTAATGTGGATCAAATAACAAAAATATCCACTCTGCATTTTGACACCCCCATACTGTATGCCATCTGCGCAGTATGCATTCTAATAAACAAATTCTTTGACAGCGGCACTTAGCCATTCTTGTAAACAAATCTTAAAGTCTGCCTGCTCTCTCTGAGGCTTCTCCTCCACTTAAGAATCCAAGAGCAATGCTCTCCCAAAAACACTAACATATTCTTTAAGCAAGCACAGAGGCTTCTCCTCATTTTCACTTTCATTTGATTTTCAGTCTTAAGCTGAACGTTAATCAATAAACAACACAATCGATACCGAAATTTTGATTCGTTTTATTTTGGCAAAACTCAATTTTCAGCGTTGGTCTTAGTTCATATTCGGAACGGTCCATTTAATAGACTCAAAACTATTTATTGCAACCATTTATTTGCAATT\n' |