{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Handy function for manufacturing a psuedo-genome with guaranteed hits from simulated data\n", "\n", "These functions take simulated rad-data and a \"large\" input genome (really it could just be a randomly generated fasta), and randomly inserts a handful of simulated rad tags into the genome. This guarantees that reference mapping will actually do something.\n", "\n", "For PE simulated data R2 reads are reversed before they're inserted, because smalt is using the `-l pe` flag, which looks for reads in this orientation --> <--.\n", "\n", "Also, for PE inner mate distance is fixed at 50. If you wanna get ambitious you could draw this value from a distribution, but seems like more effort than it's worth.\n", "\n", "This wants to be run from ipyrad/tests/data, but you can run it from anywhere if you update the paths.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "## Utility functions.\n", "def revcomp(sequence):\n", " \"returns reverse complement of a string\"\n", " sequence = sequence[::-1].strip()\\\n", " .replace(\"A\", \"t\")\\\n", " .replace(\"T\", \"a\")\\\n", " .replace(\"C\", \"g\")\\\n", " .replace(\"G\", \"c\").upper()\n", " return sequence\n", " \n", " \n", "def comp(seq):\n", " \"\"\" returns a seq with small complement\"\"\"\n", " return seq.replace(\"A\", 't')\\\n", " .replace('T', 'a')\\\n", " .replace('C', 'g')\\\n", " .replace('G', 'c')\\\n", " .replace('n', 'Z')\\\n", " .upper()\\\n", " .replace(\"Z\", \"n\")\\\n", " .replace(\"S\", \"s\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Insert SE and PE reads into simulated genome" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "32598\n", "[0, 417, 834, 1251, 1668, 2085, 2502, 2919, 3336, 3753, 4170, 4587, 5004, 5421, 5838, 6255, 6672, 7089, 7506, 7923, 8340, 8757, 9174, 9591, 10008, 10425, 10842, 11259, 11676, 12093, 12510, 12927, 13344, 13761, 14178, 14595, 15012, 15429, 15846, 16263, 16680, 17097, 17514, 17931, 18348, 18765, 19182, 19599, 20016, 20433]\n", "35098\n", "40098\n" ] } ], "source": [ "import itertools\n", "import gzip\n", "import random\n", "from Bio import SeqIO\n", "\n", "RAD_DATA = \"./sim_rad_test_R1_.fastq.gz\"\n", "RAD_DATA_R1 = \"./sim_pairddradmerge_R1_.fastq.gz\"\n", "RAD_DATA_R2 = \"./sim_pairddradmerge_R2_.fastq.gz\"\n", "INPUT_CHR = \"/Volumes/WorkDrive/ipyrad/refhacking/MusMT.fa\"\n", "OUTPUT_CHR = \"./sim_mt_genome.fa\"\n", "N_INSERTS = 25\n", "INSERT_SIZE = 50\n", "\n", "## Get the SE reads\n", "with gzip.open( RAD_DATA, 'rb' ) as infile:\n", " seqs = []\n", " for i, quatro in enumerate( itertools.izip_longest(*[iter(infile)]*4)):\n", " seqs.append(quatro[1])\n", " SE_samp = random.sample(seqs, N_INSERTS)\n", "\n", "## Get the PE reads\n", "with gzip.open( RAD_DATA_R1, 'rb' ) as in_R1, gzip.open( RAD_DATA_R2, 'rb' ) as in_R2:\n", " ## create iterators to sample 4 lines at a time \n", " quart1 = itertools.izip(*[iter(in_R1)]*4)\n", " ## pair second read files, quarts samples both\n", " quart2 = itertools.izip(*[iter(in_R2)]*4)\n", " quarts = itertools.izip(quart1, quart2)\n", " \n", " seqs = []\n", " while True:\n", " try:\n", " quart = quarts.next()\n", " except StopIteration:\n", " break\n", " seqs.append( [quart[0][1].strip(), quart[1][1].strip()] )\n", " \n", " PE_samp = random.sample(seqs, N_INSERTS)\n", "\n", "## Get the input fasta file (Mouse mtdna)\n", "record = SeqIO.read(INPUT_CHR, \"fasta\")\n", "record.seq = record.seq + record.seq\n", "lenchr = len(record)\n", "print(lenchr)\n", "\n", "## Get the positions to insert the hits at, they will be non-overlapping\n", "## divide the total length of the chromosome by the length of the total of\n", "## all the reads to insert # of SE reads + PE reads 2*Readlength + innermate dist\n", "# \"working\" locs = [x*(lenchr/(N_INSERTS+(N_INSERTS*2+INSERT_SIZE))) for x in range(N_INSERTS*2)]\n", "locs = [x*((lenchr-(INSERT_SIZE*N_INSERTS))/(N_INSERTS+(N_INSERTS*2))) for x in range(N_INSERTS*2)]\n", "## Insert SE\n", "for i in range(N_INSERTS):\n", " loc = locs[i]\n", " record.seq = record.seq[:loc]+SE_samp[i].strip(\"\\n\")+record.seq[loc:]\n", "print(locs)\n", "print(len(record.seq))\n", "\n", "samp = PE_samp\n", "# Insert PE\n", "for i in range(N_INSERTS):\n", " loc = locs[i+N_INSERTS]\n", "# print(\"do loc - {}\".format(loc))\n", " # For each insertion point get all sequence before it, then insert the first read,\n", " # then insert INSERT_SIZE more bases from the original sequence, then paste the second\n", " # read, then the rest of the sequence.\n", " # For Read 2 [::-1] gives the reverse\n", " record.seq = record.seq[:loc]+PE_samp[i][0]+record.seq[loc:loc+INSERT_SIZE]+\\\n", " revcomp(PE_samp[i][1])+record.seq[loc+INSERT_SIZE:] # revcomp\n", "\n", " ## Methods for generating other types of reads besides illumina pe\n", " #PE_samp[i][1][::1]+record.seq[loc+INSERT_SIZE:] # rev\n", " #comp(PE_samp[i][1])+record.seq[loc+INSERT_SIZE:] # comp\n", "\n", "print(len(record.seq))\n", "output_handle = open(OUTPUT_CHR, \"w\")\n", "SeqIO.write(record, output_handle, \"fasta\")\n", "output_handle.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Just do SE" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16299\n", "[0, 651, 1302, 1953, 2604, 3255, 3906, 4557, 5208, 5859, 6510, 7161, 7812, 8463, 9114, 9765, 10416, 11067, 11718, 12369, 13020, 13671, 14322, 14973, 15624]\n", "18799\n" ] } ], "source": [ "## Make SE psuedo-genome\n", "import itertools\n", "import gzip\n", "import random\n", "from Bio import SeqIO\n", "\n", "RAD_DATA = \"./sim_rad_test_R1_.fastq.gz\"\n", "INPUT_CHR = \"/Volumes/WorkDrive/ipyrad/refhacking/MusMT.fa\"\n", "OUTPUT_CHR = \"./sim_mt_genome.fa\"\n", "N_INSERTS = 25\n", "\n", "with gzip.open( RAD_DATA, 'rb' ) as infile:\n", " seqs = []\n", " for i, quatro in enumerate( itertools.izip_longest(*[iter(infile)]*4)):\n", " seqs.append(quatro[1])\n", " samp = random.sample(seqs, N_INSERTS)\n", "\n", "record = SeqIO.read(INPUT_CHR, \"fasta\")\n", "lenchr = len(record)\n", "print(lenchr)\n", "\n", "## Evenly space the hits so they don't overlap\n", "locs = [x*(lenchr/N_INSERTS) for x in range(N_INSERTS)]\n", "print(locs)\n", "## The old way where they could sometimes overlap\n", "#locs = random.sample(range(lenchr), N_INSERTS)\n", "for i, loc in enumerate(locs):\n", " record.seq = record.seq[:loc]+samp[i].strip(\"\\n\")+record.seq[loc:]\n", "print(len(record.seq))\n", "output_handle = open(OUTPUT_CHR, \"w\")\n", "SeqIO.write(record, output_handle, \"fasta\")\n", "output_handle.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Insert PE reads into the simulated genome" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "18799\n", "do loc - 1246\n" ] }, { "ename": "NameError", "evalue": "name 'revcomp' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mloc\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlocs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"do loc - {}\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 38\u001b[0;31m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msamp\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrevcomp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msamp\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 39\u001b[0m \u001b[0;31m# For each insertion point get all sequence before it, then insert the first read,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;31m# then insert INSERT_SIZE more bases from the original sequence, then paste the second\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'revcomp' is not defined" ] } ], "source": [ "import itertools\n", "import gzip\n", "import random\n", "from Bio import SeqIO\n", "\n", "RAD_DATA_R1 = \"./sim_pairddradmerge_R1_.fastq.gz\"\n", "RAD_DATA_R2 = \"./sim_pairddradmerge_R2_.fastq.gz\"\n", "INPUT_CHR = \"./sim_mt_genome.fa\"\n", "OUTPUT_CHR = \"./sim_mt_genome_SE+PE.fa\"\n", "N_INSERTS = 25\n", "INSERT_SIZE = 50\n", "\n", "with gzip.open( RAD_DATA_R1, 'rb' ) as in_R1, gzip.open( RAD_DATA_R2, 'rb' ) as in_R2:\n", " ## create iterators to sample 4 lines at a time \n", " quart1 = itertools.izip(*[iter(in_R1)]*4)\n", " ## pair second read files, quarts samples both\n", " quart2 = itertools.izip(*[iter(in_R2)]*4)\n", " quarts = itertools.izip(quart1, quart2)\n", " \n", " seqs = []\n", " while True:\n", " try:\n", " quart = quarts.next()\n", " except StopIteration:\n", " break\n", " seqs.append( [quart[0][1].strip(), quart[1][1].strip()] )\n", " \n", " samp = random.sample(seqs, N_INSERTS)\n", "\n", "record = SeqIO.read(INPUT_CHR, \"fasta\")\n", "lenchr = len(record)\n", "print(lenchr)\n", "locs = random.sample(range(lenchr), N_INSERTS)\n", "locs.sort()\n", "# Get a random sample of base positions to insert at from across the sim genome\n", "for i, loc in enumerate(locs):\n", " print(\"do loc - {}\".format(loc))\n", " print(samp[i][0], revcomp(samp[i][1]))\n", " # For each insertion point get all sequence before it, then insert the first read,\n", " # then insert INSERT_SIZE more bases from the original sequence, then paste the second\n", " # read, then the rest of the sequence.\n", " # For Read 2 [::-1] gives the reverse\n", " record.seq = record.seq[:loc]+samp[i][0]+record.seq[loc:loc+INSERT_SIZE]+\\\n", " revcomp(samp[i][1])+record.seq[loc+INSERT_SIZE:]\n", " #samp[i][1].strip(\"\\n\")[::-1]+record.seq[loc+INSERT_SIZE:]\n", "\n", "print(len(record.seq))\n", "output_handle = open(OUTPUT_CHR, \"w\")\n", "SeqIO.write(record, output_handle, \"fasta\")\n", "output_handle.close()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/private/tmp/ipyrad-test-pair/test-refseq-pair_edits/3L0_R1_.fastq.gz\n", "/private/tmp/ipyrad-test-pair/test-refseq-pair_edits/3L0_R2_.fastq.gz\n" ] } ], "source": [ "import gzip\n", "import shutil\n", "outfiles = [\"/private/tmp/ipyrad-test-pair/test-refseq-pair_edits/3L0_R1_.fastq.gz\", \"/private/tmp/ipyrad-test-pair/test-refseq-pair_edits/3L0_R2_.fastq.gz\"]\n", "\n", "for f in outfiles:\n", " print(f)\n", " with open(f, 'r') as f_in, gzip.open(f, 'wb') as f_out:\n", " shutil.copyfileobj(f_in, f_out)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AAGCGCGGGCCGCGTAAA\n", "TTCGCGCCCGGCGCATTT\n" ] }, { "data": { "text/plain": [ "'AAGCGCGGGCCGCGaAAA'" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sq = \"AAATGCGCCGGGCGCGAA\"\n", "print(\"AAATGCGCCGGGCGCGAA\"[::-1])\n", "print(revcomp(sq))\n", "sq[::-1].strip().replace(\"T\",\"a\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TGTTAAACAGGATACCATGGCAGACACTAGCTCATGTAGCTAGAACAAGCCGTGGGCAAGGCGTCCCTATCTGAATCTAAGTATCTATAGTTCTTGTTAA\n", "AATTGTTCTTGATATCTATGAATCTAAGTCTATCCCTGCGGAACGGGTGCCGAACAAGATCGATGTACTCGATCACAGACGGTACCATAGGACAAATTGT\n" ] } ], "source": [ "print((PE_samp[1][1])[::-1])\n", "print(PE_samp[1][1])" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GTTAATGTAGCTTAATAACAAAGCAAAGCACTGAAAATGCTTAGATGGATAATTGTATCCCATAAACACAAAGGTTTGGTCCTGGCCTTATAATTAATTAGAGGTAAAATTACACATGCAAACCTCCATAGACCGGTGTAAAATCCCTTAAACATTTACTTAAAATTTAAGGAGAGGGTATCAAGCACATTAAAATAGCTTAAGACACCTTGCCTAGCCACACCCCCACGGGACTCAGCAGTGATAAATATTAAGCAATAAACGAAAGTTTGACTAAGTTATACCTCTTAGGGTTGGTAAATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATTATCTTCGGCGTAAAACGTGTCAACTATAAATAAATAAATAGAATTAAAATCCAACTTATATGTGAAAATTCATTGTTAGGACCTAAACTCAATAACGAAAGTAATTCTAGTCATTTATAATACACGACAGCTAAGACCCAAACTGGGATTAGATACCCCACTATGCTTAGCCATAAACCTAAATAATTAAATTTAACAAAACTATTTGCCAGAGAACTACTAGCCATAGCTTAAAACTCAAAGGACTTGGCGGTACTTTATATCCATCTAGAGGAGCCTGTTCTATAATCGATAAACCCCGCTCTACCTCACCATCTCTTGCTAATTCAGCCTATATACCGCCATCTTCAGCAAACCCTAAAAAGGTATTAAAGTAAGCAAAAGAATCAAACATAAAAACGTTAGGTCAAGGTGTAGCCAATGAAATGGGAAGAAATGGGCTACATTTTCTTATAAAAGAACATTACTATACCCTTTATGAAACTAAAGGACTAAGGAGGATTTAGTAGTAAATTAAGAATAGAGAGCTTAATTGAATTGAGCAATGAAGTACGCACACACCGCCCGTCACCCTCCTCAAATTAAATTAAACTTAACATAATTAATTTCTAGACATCCGTTTATGAGAGGAGATAAGTCGTAACAAGGTAAGCATACTGGAAAGTGTGCTTGGAATAATCATAGTGTAGCTTAATATTAAAGCATCTGGCCTACACCCAGAAGATTTCATGACCAATGAACACTCTGAACTAATCCTAGCCCTAGCCCTACACAAATATAATTATACTATTATATAAATCAAAACATTTATCCTACTAAAAGTATTGGAGAAAGAAATTCGTACATCTAGGAGCTATAGAACTAGTACCGCAAGGGAAAGATGAAAGACTAATTAAAAGTAAGAACAAGCAAAGATTAAACCTTGTACCTTTTGCATAATGAACTAACTAGAAAACTTCTAACTAAAAGAATTACAGCTAGAAACCCCGAAACCAAACGAGCTACCTAAAAACAATTTTATGAATCAACTCGTCTATGTGGCAAAATAGTGAGAAGATTTTTAGGTAGAGGTGAAAAGCCTAACGAGCTTGGTGATAGCTGGTTACCCAAAAAATGAATTTAAGTTCAATTTTAAACTTGCTAAAAAAACAACAAAATCAAAAAGTAAGTTTAGATTATAGCCAAAAGAGGGACAGCTCTTCTGGAACGGAAAAAACCTTTAATAGTGAATAATTAACAAAACAGCTTTTAACCATTGTAGGCCTAAAAGCAGCCACCAATAAAGAAAGCGTTCAAGCTCAACATAAAATTTCAATTAATTCCATAATTTACACCAACTTCCTAAACTTAAAATTGGGTTAATCTATAACTTTATAGATGCAACACTGTTAGTATGAGTAACAAGAATTCCAATTCTCCAGGCATACGCGTATAACAACTCGGATAACCATTGTTAGTTAATCAGACTATAGGCAATAATCACACTATAAATAATCCACCTATAACTTCTCTGTTAACCCAACACCGGAATGCCTAAAGGAAAGATCCAAAAAGATAAAAGGAACTCGGCAAACAAGAACCCCGCCTGTTTACCAAAAACATCACCTCTAGCATTACAAGTATTAGAGGCACTGCCTGCCCAGTGACTAAAGTTTAACGGCCGCGGTATCCTGACCGTGCAAAGGTAGCATAATCACTTGTTCCTTAATTAGGGACTAGCATGAACGGCTAAACGAGGGTCCAACTGTCTCTTATCTTTAATCAGTGAAATTGACCTTTCAGTGAAGAGGCTGAAATATAATAATAAGACGAGAAGACCCTATGGAGCTTAAATTATATAACTTATCTATTTAATTTATTAAACCTAATGGCCCAAAAACTATAGTATAAGTTTGAAATTTCGGTTGGGGTGACCTCGGAGAATAAAAAATCCTCCGAATGATTATAACCTAGACTTACAAGTCAAAGTAAAATCAACATATCTTATTGACCCAGATATATTTTGATCAACGGACCAAGTTACCCTAGGGATAACAGCGCAATCCTATTTAAGAGTTCATATCGACAATTAGGGTTTACGACCTCGATGTTGGATCAGGACATCCCAATGGTGTAGAAGCTATTAATGGTTCGTTTGTTCAACGATTAAAGTCCTACGTGATCTGAGTTCAGACCGGAGCAATCCAGGTCGGTTTCTATCTATTTACGATTTCTCCCAGTACGAAAGGACAAGAGAAATAGAGCCACCTTACAAATAAGCGCTCTCAACTTAATTTATGAATAAAATCTAAATAAAATATATACGTACACCCTCTAACCTAGAGAAGGTTATTAGGGTGGCAGAGCCAGGAAATTGCGTAAGACTTAAAACCTTGTTCCCAGAGGTTCAAATCCTCTCCCTAATAGTGTTCTTTATTAATATCCTAACACTCCTCGTCCCCATTCTAATCGCCATAGCCTTCCTAACATTAGTAGAACGCAAAATCTTAGGGTACATACAACTACGAAAAGGCCCTAACATTGTTGGTCCATACGGCATTTTACAACCATTTGCAGACGCCATAAAATTATTTATAAAAGAACCAATACGCCCTTTAACAACCTCTATATCCTTATTTATTATTGCACCTACCCTATCACTCACACTAGCATTAAGTCTATGAGTTCCCCTACCAATACCACACCCATTAATTAATTTAAACCTAGGGATTTTATTTATTTTAGCAACATCTAGCCTATCAGTTTACTCCATTCTATGATCAGGATGAGCCTCAAACTCCAAATACTCACTATTCGGAGCTTTACGAGCCGTAGCCCAAACAATTTCATATGAAGTAACCATAGCTATTATCCTTTTATCAGTTCTATTAATAAATGGATCCTACTCTCTACAAACACTTATTACAACCCAAGAACACATATGATTACTTCTGCCAGCCTGACCCATAGCCATAATATGATTTATCTCAACCCTAGCAGAAACAAACCGGGCCCCCTTCGACCTGACAGAAGGAGAATCAGAATTAGTATCAGGGTTTAACGTAGAATACGCAGCCGGCCCATTCGCGTTATTCTTTATAGCAGAGTACACTAACATTATTCTAATAAACGCCCTAACAACTATTATCTTCCTAGGACCCCTATACTATATCAATTTACCAGAACTCTACTCAACTAACTTCATAATAGAAGCTCTACTACTATCATCAACATTCCTATGGATCCGAGCATCTTATCCACGCTTCCGTTACGATCAACTTATACATCTTCTATGAAAAAACTTTCTACCCCTAACACTAGCATTATGTATGTGACATATTTCTTTACCAATTTTTACAGCGGGAGTACCACCATACATATAGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATTATAGAGGTTCAAGCCCTCTTATTTCTAGGACAATAGGAATTGAACCTACACTTAAGAATTCAAAATTCTCCGTGCTACCTAAACACCTTATCCTAATAGTAAGGTCAGCTAATTAAGCTATCGGGCCCATACCCCGAAAACGTTGGTTTAAATCCTTCCCGTACTAATAAATCCTATCACCCTTGCCATCATCTACTTCACAATCTTCTTAGGTCCTGTAATCACAATATCCAGCACCAACCTAATACTAATATGAGTAGGCCTGGAATTCAGCCTACTAGCAATTATCCCCATACTAATCAACAAAAAAAACCCACGATCAACTGAAGCAGCAACAAAATACTTCGTCACACAAGCAACAGCCTCAATAATTATCCTCCTGGCCATCGTACTCAACTATAAACAACTAGGAACATGAATATTTCAACAACAAACAAACGGTCTTATCCTTAACATAACATTAATAGCCCTATCCATAAAACTAGGCCTCGCCCCATTCCACTTCTGATTACCAGAAGTAACTCAAGGGATCCCACTGCACATAGGACTTATTCTTCTTACATGACAAAAAATTGCTCCCCTATCAATTTTAATTCAAATTTACCCGCTACTCAACTCTACTATCATTTTAATACTAGCAATTACTTCTATTTTCATAGGGGCATGAGGAGGACTTAACCAAACACAAATACGAAAAATTATAGCCTATTCATCAATTGCCCACATAGGATGAATATTAGCAATTCTTCCTTACAACCCATCCCTCACTCTACTCAACCTCATAATCTATATTATTCTTACAGCCCCTATATTCATAGCACTTATACTAAATAACTCTATAACCATCAACTCAATCTCACTTCTATGAAATAAAACTCCAGCAATACTAACTATAATCTCACTGATATTACTATCCCTAGGAGGCCTTCCACCACTAACAGGATTCTTACCAAAATGAATTATCATCACAGAACTTATAAAAAACAACTGTCTAATTATAGCAACACTCATAGCAATAATAGCTCTACTAAACCTATTCTTTTATACTCGCCTAATTTATTCCACTTCACTAACAATATTTCCAACCAACAATAACTCAAAAATAATAACTCACCAAACAAAAACTAAACCCAACCTAATATTTTCCACCCTAGCTATCATAAGCACAATAACCCTACCCCTAGCCCCCCAACTAATTACCTAGAAGTTTAGGATATACTAGTCCGCGAGCCTTCAAAGCCCTAAGAAAACACACAAGTTTAACTTCTGATAAGGACTGTAAGACTTCATCCTACATCTATTGAATGCAAATCAATTGCTTTAATTAAGCTAAGACCTCAACTAGATTGGCAGGAATTAAACCTACGAAAATTTAGTTAACAGCTAAATACCCTATTACTGGCTTCAATCTACTTCTACCGCCGAAAAAAAAAAATGGCGGTAGAAGTCTTAGTAGAGATTTCTCTACACCTTCGAATTTGCAATTCGACATGAATATCACCTTAAGACCTCTGGTAAAAAGAGGATTTAAACCTCTGTGTTTAGATTTACAGTCTAATGCTTACTCAGCCATTTTACCTATGTTCATTAATCGTTGATTATTCTCAACCAATCACAAAGATATCGGAACCCTCTATCTACTATTCGGAGCCTGAGCGGGAATAGTGGGTACTGCACTAAGTATTTTAATTCGAGCAGAATTAGGTCAACCAGGTGCACTTTTAGGAGATGACCAAATTTACAATGTTATCGTAACTGCCCATGCTTTTGTTATAATTTTCTTCATAGTAATACCAATAATAATTGGAGGCTTTGGAAACTGACTTGTCCCACTAATAATCGGAGCCCCAGATATAGCATTCCCACGAATAAATAATATAAGTTTTTGACTCCTACCACCATCATTTCTCCTTCTCCTAGCATCATCAATAGTAGAAGCAGGAGCAGGAACAGGATGAACAGTCTACCCACCTCTAGCCGGAAATCTAGCCCATGCAGGAGCATCAGTAGACCTAACAATTTTCTCCCTTCATTTAGCTGGAGTGTCATCTATTTTAGGTGCAATTAATTTTATTACCACTATTATCAACATGAAACCCCCAGCCATAACACAGTATCAAACTCCACTATTTGTCTGATCCGTACTTATTACAGCCGTACTGCTCCTATTATCACTACCAGTGCTAGCCGCAGGCATTACTATACTACTAACAGACCGCAACCTAAACACAACTTTCTTTGATCCCGCTGGAGGAGGGGACCCAATTCTCTACCAGCATCTGTTCTGATTCTTTGGGCACCCAGAAGTTTATATTCTTATCCTCCCAGGATTTGGAATTATTTCACATGTAGTTACTTACTACTCCGGAAAAAAAGAACCTTTCGGCTATATAGGAATAGTATGAGCAATAATGTCTATTGGCTTTCTAGGCTTTATTGTATGAGCCCACCACATATTCACAGTAGGATTAGATGTAGACACACGAGCTTACTTTACATCAGCCACTATAATTATCGCAATTCCTACCGGTGTCAAAGTATTTAGCTGACTTGCAACCCTACACGGAGGTAATATTAAATGATCTCCAGCTATACTATGAGCCTTAGGCTTTATTTTCTTATTTACAGTTGGTGGTCTAACCGGAATTGTTTTATCCAACTCATCCCTTGACATCGTGCTTCACGATACATACTATGTAGTAGCCCATTTCCACTATGTTCTATCAATGGGAGCAGTGTTTGCTATCATAGCAGGATTTGTTCACTGATTCCCATTATTTTCAGGCTTCACCCTAGATGACACATGAGCAAAAGCCCACTTCGCCATCATATTCGTAGGAGTAAACATAACATTCTTCCCTCAACATTTCCTGGGCCTTTCAGGAATACCACGACGCTACTCAGACTACCCAGATGCTTACACCACATGAAACACTGTCTCTTCTATAGGATCATTTATTTCACTAACAGCTGTTCTCATCATGATCTTTATAATTTGAGAGGCCTTTGCTTCAAAACGAGAAGTAATATCAGTATCGTATGCTTCAACAAATTTAGAATGACTTCATGGCTGCCCTCCACCATATCACACATTCGAGGAACCAACCTATGTAAAAGTAAAATAAGAAAGGAAGGAATCGAACCCCCTAAAATTGGTTTCAAGCCAATCTCATATCCTATATGTCTTTCTCAATAAGATATTAGTAAAATCAATTACATAACTTTGTCAAAGTTAAATTATAGATCAATAATCTATATATCTTATATGGCCTACCCATTCCAACTTGGTCTACAAGACGCCACATCCCCTATTATAGAAGAGCTAATAAATTTCCATGATCACACACTAATAATTGTTTTCCTAATTAGCTCCTTAGTCCTCTATATCATCTCGCTAATATTAACAACAAAACTAACACATACAAGCACAATAGATGCACAAGAAGTTGAAACCATTTGAACTATTCTACCAGCTGTAATCCTTATCATAATTGCTCTCCCCTCTCTACGCATTCTATATATAATAGACGAAATCAACAACCCCGTATTAACCGTTAAAACCATAGGGCACCAATGATACTGAAGCTACGAATATACTGACTATGAAGACCTATGCTTTGATTCATATATAATCCCAACAAACGACCTAAAACCTGGTGAACTACGACTGCTAGAAGTTGATAACCGAGTCGTTCTGCCAATAGAACTTCCAATCCGTATATTAATTTCATCTGAAGACGTCCTCCACTCATGAGCAGTCCCCTCCCTAGGACTTAAAACTGATGCCATCCCAGGCCGACTAAATCAAGCAACAGTAACATCAAACCGACCAGGGTTATTCTATGGCCAATGCTCTGAAATTTGTGGATCTAACCATAGCTTTATGCCCATTGTCCTAGAAATGGTTCCACTAAAATATTTCGAAAACTGATCTGCTTCAATAATTTAATTTCACTATGAAGCTAAGAGCGTTAACCTTTTAAGTTAAAGTTAGAGACCTTAAAATCTCCATAGTGATATGCCACAACTAGATACATCAACATGATTTATCACAATTATCTCATCAATAATTACCCTATTTATCTTATTTCAACTAAAAGTCTCATCACAAACATTCCCACTGGCACCTTCACCAAAATCACTAACAACCATAAAAGTAAAAACCCCTTGAGAATTAAAATGAACGAAAATCTATTTGCCTCATTCATTACCCCAACAATAATAGGATTCCCAATCGTTGTAGCCATCATTATATTTCCTTCAATCCTATTCCCATCCTCAAAACGCCTAATCAACAACCGTCTCCATTCTTTCCAACACTGACTAGTTAAACTTATTATCAAACAAATAATGCTAATCCACACACCAAAAGGACGAACATGAACCCTAATAATTGTTTCCCTAATCATATTTATTGGATCAACAAATCTCCTAGGCCTTTTACCACATACATTTACACCTACTACCCAACTATCCATAAATCTAAGTATAGCCATTCCACTATGAGCTGGAGCCGTAATTACAGGCTTCCGACACAAACTAAAAAGCTCACTTGCCCACTTCCTTCCACAAGGAACTCCAATTTCACTAATTCCAATACTTATTATTATTGAAACAATTAGCCTATTTATTCAACCAATGGCATTAGCAGTCCGGCTTACAGCTAACATTACTGCAGGACACTTATTAATACACCTAATCGGAGGAGCTACTCTAGTATTAATAAATATTAGCCCACCAACAGCTACCATTACATTTATTATTTTACTTCTACTCACAATTCTAGAATTTGCAGTAGCATTAATTCAAGCCTACGTATTCACCCTCCTAGTAAGCCTATATCTACATGATAATACATAATGACCCACCAAACTCATGCATATCACATAGTTAATCCAAGTCCATGACCATTAACTGGAGCCTTTTCAGCCCTCCTTCTAACATCAGGTCTAGTAATATGATTTCACTATAATTCAATTACACTATTAACCCTTGGCCTACTCACCAATATCCTCACAATATATCAATGATGACGAGACGTAATTCGTGAAGGAACCTACCAAGGCCACCACACTCCTATTGTACAAAAAGGACTACGATATGGTATAATTCTATTCATCGTCTCGGAAGTATTTTTCTTTGCAGGATTCTTCTGAGCGTTCTATCATTCTAGCCTCGTACCAACACATGATCTAGGAGGCTGCTGACCTCCAACAGGAATTTCACCACTTAACCCTCTAGAAGTCCCACTACTTAATACTTCAGTACTTCTAGCATCAGGTGTTTCAATTACATGAGCTCATCATAGCCTTATAGAAGGTAAACGAAACCACATAAATCAAGCCCTACTAATTACCATTATACTAGGACTTTACTTCACCATCCTCCAAGCTTCAGAATACTTTGAAACATCATTCTCCATTTCAGATGGTATCTATGGTTCTACATTCTTCATGGCTACTGGATTCCATGGACTCCATGTAATTATTGGATCAACATTCCTTATTGTTTGCCTACTACGACAACTAAAATTTCACTTCACATCAAAACATCACTTCGGATTTGAAGCCGCAGCATGATACTGACATTTTGTAGACGTAGTCTGACTTTTCCTATACGTCTCCATTTATTGATGAGGATCTTACTCCCTTAGTATAATTAATATAACTGACTTCCAATTAGTAGATTCTGAATAAACCCAGAAGAGAGTAATTAACCTGTACACTGTTATCTTCATTAATATTTTATTATCCCTAACGCTAATTCTAGTTGCATTCTGACTCCCCCAAATAAATCTGTACTCAGAAAAAGCAAATCCATATGAATGCGGATTCGACCCTACAAGCTCTGCACGTCTACCATTCTCAATAAAATTTTTCTTGGTAGCAATTACATTTCTATTATTTGACCTAGAAATTGCTCTTCTACTTCCACTACCATGAGCAATTCAAACAATTAAAACCTCTACTATAATAATTATAGCCTTTATTCTAGTCACAATTCTATCTCTAGGCCTAGCATATGAATGAACACAAAAAGGATTAGAATGAACAGAGTAAATGGTAATTAGTTTAAAAAAAATTAATGATTTCGACTCATTAGATTATGATGATGTTCATAATTACCAATATGCCATCTACCTTCTTCAACCTCACCATAGCCTTCTCACTATCACTTCTAGGGACACTTATATTTCGCTCTCACCTAATATCCACATTACTATGCCTGGAAGGCATAGTATTATCCTTATTTATTATAACTTCAGTAACTTCCCTAAACTCCAACTCCATAAGCTCCATACCAATCCCCATCACCATCTTAGTTTTCGCAGCCTGCGAAGCAGCTGTAGGACTAGCCCTACTAGTAAAAGTTTCAAACACGTACGGAACAGATTACGTCCAAAATCTCAACCTACTACAATGCTAAAAATTATTCTTCCCTCACTAATGCTACTACCACTAACCTGACTATCAAGCCCTAAAAAAACCTGAACAAACGTAACCTCATATAGTTTTCTAATTAGTTTAACCAGCCTAACACTTCTATGACAAACCGACGAAAATTATAAAAACTTTTCAAATATATTCTCCTCAGACCCCCTATCCACACCATTAATTATTTTAACAGCCTGATTACTGCCACTAATATTAATAGCTAGCCAAAACCACCTAAAAAAAGATAATAACGTACTACAAAAACTCTACATCTCAATACTAATCAGCTTACAAATTCTCCTAATCATAACCTTTTCAGCAACTGAACTAATTATATTTTATATTTTATTTGAAGCAACCTTAATCCCAACACTTATTATTATTACCCGATGAGGGAACCAAACTGAACGCCTAAACGCAGGGATTTATTTCCTATTTTATACCCTAATCGGTTCTATTCCACTGCTAATTGCCCTCATCTTAATCCAAAACCATGTAGGAACCCTAAACCTCATAATTTTATCATTCACAACACACACCTTAGACGCTTCATGATCTAACAACTTACTATGGTTGGCATGCATAATAGCATTTCTTATTAAAATACCATTATATGGAGTTCACCTATGACTACCAAAAGCCCATGTTGAAGCTCCAATTGCTGGGTCAATAATTCTAGCAGCTATTCTTCTAAAATTAGGTAGTTACGGAATAATTCGCATCTCCATTATTCTAGACCCACTAACAAAATATATAGCATACCCCTTCATCCTTCTCTCCCTATGAGGAATAATTATAACTAGCTCAATCTGCTTACGCCAAACAGATTTAAAATCACTAATCGCCTACTCCTCAGTTAGCCACATAGCACTTGTTATTGCATCAATCATAATCCAAACTCCATGAAGCTTCATAGGAGCAACAATACTAATAATCGCACATGGCCTCACATCATCACTCCTATTCTGCCTAGCAAACTCCAACTACGAACGGATCCACAGCCGTACTATAATCATGGCCCGAGGACTTCAAATGGTCTTCCCACTTATAGCCACATGATGACTGATAGCAAGTCTAGCTAATCTAGCTCTACCCCCTTCAATCAATCTAATAGGAGAATTATTCATTACCATATCATTATTTTCTTGATCAAACTTTACCATTATTCTTATAGGAATTAACATTATTATTACAGGTATATACTCAATATACATAATTATTACCACCCAACGCGGCAAACTAACCAACCATATAATTAACCTCCAACCCTCACACACACGAGAACTAACACTAATAGCCCTTCACATAATTCCACTTATTCTTCTAACTACCAGTCCAAAACTAATTACAGGCCTGACAATATGTGAATATAGTTTACAAAAAACATTAGACTGTGAATCTGACAACAGGAAATAAACCTCCTTATTCACCAAGAAAGATTGCAAGAACTGCTAATTCATGCTTCCATGTTTAAAAACATGGCTTTCTTACTTTTATAGGATAATAGTAATCCATTGGTCTTAGGAACCAAAAACCTTGGTGCAAATCCAAATAAAAGTAATCAATATTTTCACAACCTCAATCTTATTAATCTTCATTCTTCTACTATCCCCAATCCTAATTTCAATATCAAACCTAATTAAACACATCAACTTCCCACTGTACACCACCACATCAATCAAATTCTCCTTCATTATTAGCCTCTTACCCCTATTAATATTTTTCCACAATAATATAGAATATATAATTACAACCTGGCACTGAGTCACCATAAATTCAATAGAACTTAAAATAAGCTTCAAAACTGACTTTTTCTCTATCCTGTTTACATCTGTAGCCCTTTTTGTCACATGATCAATTATACAATTCTCTTCATGATATATACACTCAGACCCAAACATCAATCGATTCATTAAATATCTTACACTATTCCTGATTACCATGCTTATCCTCACCTCAGCCAACAACATATTTCAACTTTTCATTGGCTGAGAAGGGGTGGGAATTATATCTTTCCTACTAATTGGATGATGGTACGGACGAACAGACGCAAATACTGCAGCCCTACAAGCAATCCTCTATAACCGCATCGGAGACATCGGATTCATTTTAGCTATAGTTTGATTTTCCCTAAACATAAACTCATGAGAACTTCAACAGATTATATTCTCCAACAACAACGACAATCTAATTCCACTTATAGGCCTATTAATCGCAGCTACAGGAAAATCAGCACAATTTGGCCTCCACCCATGACTACCATCAGCAATAGAAGGCCCTACACCAGTTTCAGCACTACTACACTCAAGTACAATAGTAGTTGCAGGAATTTTCCTACTGGTCCGATTCCACCCCCTCACGACTAATAATAACTTTATTTTAACAACTATACTTTGCCTCGGAGCCCTAACCACATTATTTACAGCTATTTGTGCTCTCACCCAAAACGACATCAAAAAAATCATTGCCTTCTCTACATCAAGCCAACTAGGCCTGATAATAGTGACGCTAGGAATAAACCAACCACACCTAGCATTCCTACACATCTGTACCCACGCATTCTTCAAAGCTATACTCTTTATATGCTCTGGCTCAATCATTCATAGCCTGGCAGACGAACAAGACATCCGAAAAATAGGAAACATCACAAAAATCATACCATTCACATCATCATGCCTAGTAATCGGAAGCCTCGCCCTCACAGGAATACCATTCCTAACAGGGTTCTACTCAAAAGACCTAATTATTGAAGCAATTAATACCTGCAACACCAACGCCTGAGCCCTACTAATTACACTAATCGCCACTTCTATAACAGCTATGTACAGCATACGAATCATTTACTTCGTAACAATAACAAAACCGCGTTTTCCCCCCCTAATCTCCATTAACGAAAATGACCCAGACCTCATAAACCCAATCAAACGCCTAGCATTCGGAAGCATCTTTGCAGGATTTGTCATCTCATATAATATTCCACCAACCAGCATTCCAGTCCTCACAATACCATGATTTTTAAAAACCACAGCCCTAATTATTTCAGTATTAGGATTCCTAATCGCACTAGAACTAAACAACCTAACCATAAAACTATCAATAAATAAAGCAAATCCATATTCATCCTTCTCAACTTTACTGGGGTTTTTCCCATCTATTATTCACCGCATTACACCCATAAAATCTCTCAACCTAAGCCTAAAAACATCCCTAACTCTCCTAGACTTGATCTGGTTAGAAAAAACCATCCCAAAATCCACCTCAACTCTTCACACAAACATAACCACTTTAACAACCAACCAAAAAGGCTTAATTAAATTGTACTTTATATCATTCCTAATTAACATCATCTTAATTATTATCTTATACTCAATTAATCTCGAGTAATCTCGATAATAATAAAAATACCCGCAAACAAAGATCACCCAGCTACTACCATCATTCAAGTAGCACAACTATATATTGCCGCTACCCCAATCCCTCCTTCCAACATAACTCCAACATCATCAACCTCATACATCAACCAATCTCCCAAACCATCAAGATTAATTACTCCAACTTCATCATAATAATTAAGCACACAAATTAAAAAAACCTCTATAATCACCCCCAATACTAAAAAACCCAAAATTAATCAGTTAGATCCCCAAGTCTCTGGATATTCCTCAGTAGCTATAGCAGTCGTATATCCAAACACAACCAACATCCCCCCTAAATAAATTAAAAAAACTATTAAACCTAAAAACGATCCACCAAACCCTAAAACCATTAAACAACCAACAAACCCACTAACAATTAAACCTAAACCTCCATAAATAGGTGAAGGCTTTAATGCTAACCCAAGACAACCAACCAAAAATAATGAACTTAAAACAAAAATATAATTATTCATTATTTCTACACAGCATTCAACTGCGACCAATGACATGAAAAATCATCGTTGTAATTCAACTACAGAAACACCTAATGACAAACATACGAAAAACACACCCATTATTTAAAATTATTAACCACTCATTCATTGACCTACCTGCCCCATCCAACATTTCATCATGATGAAACTTTGGGTCCCTTCTAGGAGTCTGCCTAATAGTCCAAATCATTACAGGTCTTTTCTTAGCCATACACTACACATCAGATACAATAACAGCCTTTTCATCAGTAACACACATTTGTCGAGACGTAAATTACGGGTGACTAATCCGATATATACACGCAAACGGAGCCTCAATATTTTTTATTTGCTTATTCCTTCATGTCGGACGAGGCTTATATTATGGATCATATACATTTATAGAAACCTGAAACATTGGAGTACTTCTACTGTTCGCAGTCATAGCCACAGCATTTATAGGCTACGTCCTTCCATGAGGACAAATATCATTCTGAGGTGCCACAGTTATTACAAACCTCCTATCAGCCATCCCATATATTGGAACAACCCTAGTCGAATGAATTTGAGGGGGCTTCTCAGTAGACAAAGCCACCTTGACCCGATTCTTCGCTTTCCACTTCATCTTACCATTTATTATCGCGGCCCTAGCAATCGTTCACCTCCTCTTCCTCCACGAAACAGGATCAAACAACCCAACAGGATTAAACTCAGATGCAGATAAAATTCCATTTCACCCCTACTATACAATCAAAGATATCCTAGGTATCCTAATCATATTCTTAATTCTCATAACCCTAGTATTATTTTTCCCAGACATACTAGGAGACCCAGACAACTACATACCAGCTAATCCACTAAACACCCCACCCCATATTAAACCCGAATGATATTTCCTATTTGCATACGCCATTCTACGCTCAATCCCCAATAAACTAGGAGGTGTCCTAGCCTTAATCTTATCTATCCTAATTTTAGCCCTAATACCTTTCCTTCATACCTCAAAGCAACGAAGCCTAATATTCCGCCCAATCACACAAATTTTGTACTGAATCCTAGTAGCCAACCTACTTATCTTAACCTGAATTGGGGGCCAACCAGTAGAACACCCATTTATTATCATTGGCCAACTAGCCTCCATCTCATACTTCTCAATCATCTTAATTCTTATACCAATCTCAGGAATTATCGAAGACAAAATACTAAAATTATATCCATGTCTTGATAGTATAAACATTACTCTGGTCTTGTAAACCTGAAATGAAGATCTTCTCTTCTCAAGACATCAAGAAGAAGGAGCTACTCCCCACCACCAGCACCCAAAGCTGGTATTCTAATTAAACTACTTCTTGAGTACATAAATTTACATAGTACAACAGTACATTTATGTATATCGTACATTAAACTATTTTCCCCAAGCATATAAGCTAGTACATTAAATCAATGGTTCAGGTCATAAAATAATCATCAACATAAATCAATATATATACCATGAATATTATCTTAAACACATTAAACTAATGTTATAAGGACATATCTGTGTTATCTGACATACACCATACAGTCATAAACTCTTCTCTTCCATATGACTATCCCCTTCCCCATTTGGTCTATTAATCTACCATCCTCCGTGAAACCAACAACCCGCCCACCAATGCCCCTCTTCTCGCTCCGGGCCCATTAAACTTGGGGGTAGCTAAACTGAAACTTTATCAGACATCTGGTTCTTACTTCAGGGCCATCAAATGCGTTATCGCCCATACGTTCCCCTTAAATAAGACATCTCGATGGTATCGGGTCTAATCAGCCCATGACCAACATAACTGTGGTGTCATGCATTTGGTATCTTTTTATTTTGGCCTACTTTCATCAACATAGCCGTCAAGGCATGAAAGGACAGCACACAGTCTAGACGCACCTACGGTGAAGAATCATTAGTCCGCAAAACCCAATCACCTAAGGCTAATTATTCATGCTTGTTAGACATAAATGCTACTCAATACCAAATTTTAACTCTCCAAACCCCCCACCCCCTCCTCTTAATGCCAAACCCCAAAAACACTAAGAACTTGAAAGACATATAATATTAACTATCAAACCCTATGTCCTGATCAATTCTAGTAGTTCCCAAAATATGACTTATATTTTAGTACTTGTAAAAATTTTACAAAATCATGTTCCGTGAACCAAAACTCTAATCATACTCTATTACGCAATAAACATTAACAAGTTAATGTAGCTTAATAACAAAGCAAAGCACTGAAAATGCTTAGATGGATAATTGTATCCCATAAACACAAAGGTTTGGTCCTGGCCTTATAATTAATTAGAGGTAAAATTACACATGCAAACCTCCATAGACCGGTGTAAAATCCCTTAAACATTTACTTAAAATTTAAGGAGAGGGTATCAAGCACATTAAAATAGCTTAAGACACCTTGCCTAGCCACACCCCCACGGGACTCAGCAGTGATAAATATTAAGCAATAAACGAAAGTTTGACTAAGTTATACCTCTTAGGGTTGGTAAATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATTATCTTCGGCGTAAAACGTGTCAACTATAAATAAATAAATAGAATTAAAATCCAACTTATATGTGAAAATTCATTGTTAGGACCTAAACTCAATAACGAAAGTAATTCTAGTCATTTATAATACACGACAGCTAAGACCCAAACTGGGATTAGATACCCCACTATGCTTAGCCATAAACCTAAATAATTAAATTTAACAAAACTATTTGCCAGAGAACTACTAGCCATAGCTTAAAACTCAAAGGACTTGGCGGTACTTTATATCCATCTAGAGGAGCCTGTTCTATAATCGATAAACCCCGCTCTACCTCACCATCTCTTGCTAATTCAGCCTATATACCGCCATCTTCAGCAAACCCTAAAAAGGTATTAAAGTAAGCAAAAGAATCAAACATAAAAACGTTAGGTCAAGGTGTAGCCAATGAAATGGGAAGAAATGGGCTACATTTTCTTATAAAAGAACATTACTATACCCTTTATGAAACTAAAGGACTAAGGAGGATTTAGTAGTAAATTAAGAATAGAGAGCTTAATTGAATTGAGCAATGAAGTACGCACACACCGCCCGTCACCCTCCTCAAATTAAATTAAACTTAACATAATTAATTTCTAGACATCCGTTTATGAGAGGAGATAAGTCGTAACAAGGTAAGCATACTGGAAAGTGTGCTTGGAATAATCATAGTGTAGCTTAATATTAAAGCATCTGGCCTACACCCAGAAGATTTCATGACCAATGAACACTCTGAACTAATCCTAGCCCTAGCCCTACACAAATATAATTATACTATTATATAAATCAAAACATTTATCCTACTAAAAGTATTGGAGAAAGAAATTCGTACATCTAGGAGCTATAGAACTAGTACCGCAAGGGAAAGATGAAAGACTAATTAAAAGTAAGAACAAGCAAAGATTAAACCTTGTACCTTTTGCATAATGAACTAACTAGAAAACTTCTAACTAAAAGAATTACAGCTAGAAACCCCGAAACCAAACGAGCTACCTAAAAACAATTTTATGAATCAACTCGTCTATGTGGCAAAATAGTGAGAAGATTTTTAGGTAGAGGTGAAAAGCCTAACGAGCTTGGTGATAGCTGGTTACCCAAAAAATGAATTTAAGTTCAATTTTAAACTTGCTAAAAAAACAACAAAATCAAAAAGTAAGTTTAGATTATAGCCAAAAGAGGGACAGCTCTTCTGGAACGGAAAAAACCTTTAATAGTGAATAATTAACAAAACAGCTTTTAACCATTGTAGGCCTAAAAGCAGCCACCAATAAAGAAAGCGTTCAAGCTCAACATAAAATTTCAATTAATTCCATAATTTACACCAACTTCCTAAACTTAAAATTGGGTTAATCTATAACTTTATAGATGCAACACTGTTAGTATGAGTAACAAGAATTCCAATTCTCCAGGCATACGCGTATAACAACTCGGATAACCATTGTTAGTTAATCAGACTATAGGCAATAATCACACTATAAATAATCCACCTATAACTTCTCTGTTAACCCAACACCGGAATGCCTAAAGGAAAGATCCAAAAAGATAAAAGGAACTCGGCAAACAAGAACCCCGCCTGTTTACCAAAAACATCACCTCTAGCATTACAAGTATTAGAGGCACTGCCTGCCCAGTGACTAAAGTTTAACGGCCGCGGTATCCTGACCGTGCAAAGGTAGCATAATCACTTGTTCCTTAATTAGGGACTAGCATGAACGGCTAAACGAGGGTCCAACTGTCTCTTATCTTTAATCAGTGAAATTGACCTTTCAGTGAAGAGGCTGAAATATAATAATAAGACGAGAAGACCCTATGGAGCTTAAATTATATAACTTATCTATTTAATTTATTAAACCTAATGGCCCAAAAACTATAGTATAAGTTTGAAATTTCGGTTGGGGTGACCTCGGAGAATAAAAAATCCTCCGAATGATTATAACCTAGACTTACAAGTCAAAGTAAAATCAACATATCTTATTGACCCAGATATATTTTGATCAACGGACCAAGTTACCCTAGGGATAACAGCGCAATCCTATTTAAGAGTTCATATCGACAATTAGGGTTTACGACCTCGATGTTGGATCAGGACATCCCAATGGTGTAGAAGCTATTAATGGTTCGTTTGTTCAACGATTAAAGTCCTACGTGATCTGAGTTCAGACCGGAGCAATCCAGGTCGGTTTCTATCTATTTACGATTTCTCCCAGTACGAAAGGACAAGAGAAATAGAGCCACCTTACAAATAAGCGCTCTCAACTTAATTTATGAATAAAATCTAAATAAAATATATACGTACACCCTCTAACCTAGAGAAGGTTATTAGGGTGGCAGAGCCAGGAAATTGCGTAAGACTTAAAACCTTGTTCCCAGAGGTTCAAATCCTCTCCCTAATAGTGTTCTTTATTAATATCCTAACACTCCTCGTCCCCATTCTAATCGCCATAGCCTTCCTAACATTAGTAGAACGCAAAATCTTAGGGTACATACAACTACGAAAAGGCCCTAACATTGTTGGTCCATACGGCATTTTACAACCATTTGCAGACGCCATAAAATTATTTATAAAAGAACCAATACGCCCTTTAACAACCTCTATATCCTTATTTATTATTGCACCTACCCTATCACTCACACTAGCATTAAGTCTATGAGTTCCCCTACCAATACCACACCCATTAATTAATTTAAACCTAGGGATTTTATTTATTTTAGCAACATCTAGCCTATCAGTTTACTCCATTCTATGATCAGGATGAGCCTCAAACTCCAAATACTCACTATTCGGAGCTTTACGAGCCGTAGCCCAAACAATTTCATATGAAGTAACCATAGCTATTATCCTTTTATCAGTTCTATTAATAAATGGATCCTACTCTCTACAAACACTTATTACAACCCAAGAACACATATGATTACTTCTGCCAGCCTGACCCATAGCCATAATATGATTTATCTCAACCCTAGCAGAAACAAACCGGGCCCCCTTCGACCTGACAGAAGGAGAATCAGAATTAGTATCAGGGTTTAACGTAGAATACGCAGCCGGCCCATTCGCGTTATTCTTTATAGCAGAGTACACTAACATTATTCTAATAAACGCCCTAACAACTATTATCTTCCTAGGACCCCTATACTATATCAATTTACCAGAACTCTACTCAACTAACTTCATAATAGAAGCTCTACTACTATCATCAACATTCCTATGGATCCGAGCATCTTATCCACGCTTCCGTTACGATCAACTTATACATCTTCTATGAAAAAACTTTCTACCCCTAACACTAGCATTATGTATGTGACATATTTCTTTACCAATTTTTACAGCGGGAGTACCACCATACATATAGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATTATAGAGGTTCAAGCCCTCTTATTTCTAGGACAATAGGAATTGAACCTACACTTAAGAATTCAAAATTCTCCGTGCTACCTAAACACCTTATCCTAATAGTAAGGTCAGCTAATTAAGCTATCGGGCCCATACCCCGAAAACGTTGGTTTAAATCCTTCCCGTACTAATAAATCCTATCACCCTTGCCATCATCTACTTCACAATCTTCTTAGGTCCTGTAATCACAATATCCAGCACCAACCTAATACTAATATGAGTAGGCCTGGAATTCAGCCTACTAGCAATTATCCCCATACTAATCAACAAAAAAAACCCACGATCAACTGAAGCAGCAACAAAATACTTCGTCACACAAGCAACAGCCTCAATAATTATCCTCCTGGCCATCGTACTCAACTATAAACAACTAGGAACATGAATATTTCAACAACAAACAAACGGTCTTATCCTTAACATAACATTAATAGCCCTATCCATAAAACTAGGCCTCGCCCCATTCCACTTCTGATTACCAGAAGTAACTCAAGGGATCCCACTGCACATAGGACTTATTCTTCTTACATGACAAAAAATTGCTCCCCTATCAATTTTAATTCAAATTTACCCGCTACTCAACTCTACTATCATTTTAATACTAGCAATTACTTCTATTTTCATAGGGGCATGAGGAGGACTTAACCAAACACAAATACGAAAAATTATAGCCTATTCATCAATTGCCCACATAGGATGAATATTAGCAATTCTTCCTTACAACCCATCCCTCACTCTACTCAACCTCATAATCTATATTATTCTTACAGCCCCTATATTCATAGCACTTATACTAAATAACTCTATAACCATCAACTCAATCTCACTTCTATGAAATAAAACTCCAGCAATACTAACTATAATCTCACTGATATTACTATCCCTAGGAGGCCTTCCACCACTAACAGGATTCTTACCAAAATGAATTATCATCACAGAACTTATAAAAAACAACTGTCTAATTATAGCAACACTCATAGCAATAATAGCTCTACTAAACCTATTCTTTTATACTCGCCTAATTTATTCCACTTCACTAACAATATTTCCAACCAACAATAACTCAAAAATAATAACTCACCAAACAAAAACTAAACCCAACCTAATATTTTCCACCCTAGCTATCATAAGCACAATAACCCTACCCCTAGCCCCCCAACTAATTACCTAGAAGTTTAGGATATACTAGTCCGCGAGCCTTCAAAGCCCTAAGAAAACACACAAGTTTAACTTCTGATAAGGACTGTAAGACTTCATCCTACATCTATTGAATGCAAATCAATTGCTTTAATTAAGCTAAGACCTCAACTAGATTGGCAGGAATTAAACCTACGAAAATTTAGTTAACAGCTAAATACCCTATTACTGGCTTCAATCTACTTCTACCGCCGAAAAAAAAAAATGGCGGTAGAAGTCTTAGTAGAGATTTCTCTACACCTTCGAATTTGCAATTCGACATGAATATCACCTTAAGACCTCTGGTAAAAAGAGGATTTAAACCTCTGTGTTTAGATTTACAGTCTAATGCTTACTCAGCCATTTTACCTATGTTCATTAATCGTTGATTATTCTCAACCAATCACAAAGATATCGGAACCCTCTATCTACTATTCGGAGCCTGAGCGGGAATAGTGGGTACTGCACTAAGTATTTTAATTCGAGCAGAATTAGGTCAACCAGGTGCACTTTTAGGAGATGACCAAATTTACAATGTTATCGTAACTGCCCATGCTTTTGTTATAATTTTCTTCATAGTAATACCAATAATAATTGGAGGCTTTGGAAACTGACTTGTCCCACTAATAATCGGAGCCCCAGATATAGCATTCCCACGAATAAATAATATAAGTTTTTGACTCCTACCACCATCATTTCTCCTTCTCCTAGCATCATCAATAGTAGAAGCAGGAGCAGGAACAGGATGAACAGTCTACCCACCTCTAGCCGGAAATCTAGCCCATGCAGGAGCATCAGTAGACCTAACAATTTTCTCCCTTCATTTAGCTGGAGTGTCATCTATTTTAGGTGCAATTAATTTTATTACCACTATTATCAACATGAAACCCCCAGCCATAACACAGTATCAAACTCCACTATTTGTCTGATCCGTACTTATTACAGCCGTACTGCTCCTATTATCACTACCAGTGCTAGCCGCAGGCATTACTATACTACTAACAGACCGCAACCTAAACACAACTTTCTTTGATCCCGCTGGAGGAGGGGACCCAATTCTCTACCAGCATCTGTTCTGATTCTTTGGGCACCCAGAAGTTTATATTCTTATCCTCCCAGGATTTGGAATTATTTCACATGTAGTTACTTACTACTCCGGAAAAAAAGAACCTTTCGGCTATATAGGAATAGTATGAGCAATAATGTCTATTGGCTTTCTAGGCTTTATTGTATGAGCCCACCACATATTCACAGTAGGATTAGATGTAGACACACGAGCTTACTTTACATCAGCCACTATAATTATCGCAATTCCTACCGGTGTCAAAGTATTTAGCTGACTTGCAACCCTACACGGAGGTAATATTAAATGATCTCCAGCTATACTATGAGCCTTAGGCTTTATTTTCTTATTTACAGTTGGTGGTCTAACCGGAATTGTTTTATCCAACTCATCCCTTGACATCGTGCTTCACGATACATACTATGTAGTAGCCCATTTCCACTATGTTCTATCAATGGGAGCAGTGTTTGCTATCATAGCAGGATTTGTTCACTGATTCCCATTATTTTCAGGCTTCACCCTAGATGACACATGAGCAAAAGCCCACTTCGCCATCATATTCGTAGGAGTAAACATAACATTCTTCCCTCAACATTTCCTGGGCCTTTCAGGAATACCACGACGCTACTCAGACTACCCAGATGCTTACACCACATGAAACACTGTCTCTTCTATAGGATCATTTATTTCACTAACAGCTGTTCTCATCATGATCTTTATAATTTGAGAGGCCTTTGCTTCAAAACGAGAAGTAATATCAGTATCGTATGCTTCAACAAATTTAGAATGACTTCATGGCTGCCCTCCACCATATCACACATTCGAGGAACCAACCTATGTAAAAGTAAAATAAGAAAGGAAGGAATCGAACCCCCTAAAATTGGTTTCAAGCCAATCTCATATCCTATATGTCTTTCTCAATAAGATATTAGTAAAATCAATTACATAACTTTGTCAAAGTTAAATTATAGATCAATAATCTATATATCTTATATGGCCTACCCATTCCAACTTGGTCTACAAGACGCCACATCCCCTATTATAGAAGAGCTAATAAATTTCCATGATCACACACTAATAATTGTTTTCCTAATTAGCTCCTTAGTCCTCTATATCATCTCGCTAATATTAACAACAAAACTAACACATACAAGCACAATAGATGCACAAGAAGTTGAAACCATTTGAACTATTCTACCAGCTGTAATCCTTATCATAATTGCTCTCCCCTCTCTACGCATTCTATATATAATAGACGAAATCAACAACCCCGTATTAACCGTTAAAACCATAGGGCACCAATGATACTGAAGCTACGAATATACTGACTATGAAGACCTATGCTTTGATTCATATATAATCCCAACAAACGACCTAAAACCTGGTGAACTACGACTGCTAGAAGTTGATAACCGAGTCGTTCTGCCAATAGAACTTCCAATCCGTATATTAATTTCATCTGAAGACGTCCTCCACTCATGAGCAGTCCCCTCCCTAGGACTTAAAACTGATGCCATCCCAGGCCGACTAAATCAAGCAACAGTAACATCAAACCGACCAGGGTTATTCTATGGCCAATGCTCTGAAATTTGTGGATCTAACCATAGCTTTATGCCCATTGTCCTAGAAATGGTTCCACTAAAATATTTCGAAAACTGATCTGCTTCAATAATTTAATTTCACTATGAAGCTAAGAGCGTTAACCTTTTAAGTTAAAGTTAGAGACCTTAAAATCTCCATAGTGATATGCCACAACTAGATACATCAACATGATTTATCACAATTATCTCATCAATAATTACCCTATTTATCTTATTTCAACTAAAAGTCTCATCACAAACATTCCCACTGGCACCTTCACCAAAATCACTAACAACCATAAAAGTAAAAACCCCTTGAGAATTAAAATGAACGAAAATCTATTTGCCTCATTCATTACCCCAACAATAATAGGATTCCCAATCGTTGTAGCCATCATTATATTTCCTTCAATCCTATTCCCATCCTCAAAACGCCTAATCAACAACCGTCTCCATTCTTTCCAACACTGACTAGTTAAACTTATTATCAAACAAATAATGCTAATCCACACACCAAAAGGACGAACATGAACCCTAATAATTGTTTCCCTAATCATATTTATTGGATCAACAAATCTCCTAGGCCTTTTACCACATACATTTACACCTACTACCCAACTATCCATAAATCTAAGTATAGCCATTCCACTATGAGCTGGAGCCGTAATTACAGGCTTCCGACACAAACTAAAAAGCTCACTTGCCCACTTCCTTCCACAAGGAACTCCAATTTCACTAATTCCAATACTTATTATTATTGAAACAATTAGCCTATTTATTCAACCAATGGCATTAGCAGTCCGGCTTACAGCTAACATTACTGCAGGACACTTATTAATACACCTAATCGGAGGAGCTACTCTAGTATTAATAAATATTAGCCCACCAACAGCTACCATTACATTTATTATTTTACTTCTACTCACAATTCTAGAATTTGCAGTAGCATTAATTCAAGCCTACGTATTCACCCTCCTAGTAAGCCTATATCTACATGATAATACATAATGACCCACCAAACTCATGCATATCACATAGTTAATCCAAGTCCATGACCATTAACTGGAGCCTTTTCAGCCCTCCTTCTAACATCAGGTCTAGTAATATGATTTCACTATAATTCAATTACACTATTAACCCTTGGCCTACTCACCAATATCCTCACAATATATCAATGATGACGAGACGTAATTCGTGAAGGAACCTACCAAGGCCACCACACTCCTATTGTACAAAAAGGACTACGATATGGTATAATTCTATTCATCGTCTCGGAAGTATTTTTCTTTGCAGGATTCTTCTGAGCGTTCTATCATTCTAGCCTCGTACCAACACATGATCTAGGAGGCTGCTGACCTCCAACAGGAATTTCACCACTTAACCCTCTAGAAGTCCCACTACTTAATACTTCAGTACTTCTAGCATCAGGTGTTTCAATTACATGAGCTCATCATAGCCTTATAGAAGGTAAACGAAACCACATAAATCAAGCCCTACTAATTACCATTATACTAGGACTTTACTTCACCATCCTCCAAGCTTCAGAATACTTTGAAACATCATTCTCCATTTCAGATGGTATCTATGGTTCTACATTCTTCATGGCTACTGGATTCCATGGACTCCATGTAATTATTGGATCAACATTCCTTATTGTTTGCCTACTACGACAACTAAAATTTCACTTCACATCAAAACATCACTTCGGATTTGAAGCCGCAGCATGATACTGACATTTTGTAGACGTAGTCTGACTTTTCCTATACGTCTCCATTTATTGATGAGGATCTTACTCCCTTAGTATAATTAATATAACTGACTTCCAATTAGTAGATTCTGAATAAACCCAGAAGAGAGTAATTAACCTGTACACTGTTATCTTCATTAATATTTTATTATCCCTAACGCTAATTCTAGTTGCATTCTGACTCCCCCAAATAAATCTGTACTCAGAAAAAGCAAATCCATATGAATGCGGATTCGACCCTACAAGCTCTGCACGTCTACCATTCTCAATAAAATTTTTCTTGGTAGCAATTACATTTCTATTATTTGACCTAGAAATTGCTCTTCTACTTCCACTACCATGAGCAATTCAAACAATTAAAACCTCTACTATAATAATTATAGCCTTTATTCTAGTCACAATTCTATCTCTAGGCCTAGCATATGAATGAACACAAAAAGGATTAGAATGAACAGAGTAAATGGTAATTAGTTTAAAAAAAATTAATGATTTCGACTCATTAGATTATGATGATGTTCATAATTACCAATATGCCATCTACCTTCTTCAACCTCACCATAGCCTTCTCACTATCACTTCTAGGGACACTTATATTTCGCTCTCACCTAATATCCACATTACTATGCCTGGAAGGCATAGTATTATCCTTATTTATTATAACTTCAGTAACTTCCCTAAACTCCAACTCCATAAGCTCCATACCAATCCCCATCACCATCTTAGTTTTCGCAGCCTGCGAAGCAGCTGTAGGACTAGCCCTACTAGTAAAAGTTTCAAACACGTACGGAACAGATTACGTCCAAAATCTCAACCTACTACAATGCTAAAAATTATTCTTCCCTCACTAATGCTACTACCACTAACCTGACTATCAAGCCCTAAAAAAACCTGAACAAACGTAACCTCATATAGTTTTCTAATTAGTTTAACCAGCCTAACACTTCTATGACAAACCGACGAAAATTATAAAAACTTTTCAAATATATTCTCCTCAGACCCCCTATCCACACCATTAATTATTTTAACAGCCTGATTACTGCCACTAATATTAATAGCTAGCCAAAACCACCTAAAAAAAGATAATAACGTACTACAAAAACTCTACATCTCAATACTAATCAGCTTACAAATTCTCCTAATCATAACCTTTTCAGCAACTGAACTAATTATATTTTATATTTTATTTGAAGCAACCTTAATCCCAACACTTATTATTATTACCCGATGAGGGAACCAAACTGAACGCCTAAACGCAGGGATTTATTTCCTATTTTATACCCTAATCGGTTCTATTCCACTGCTAATTGCCCTCATCTTAATCCAAAACCATGTAGGAACCCTAAACCTCATAATTTTATCATTCACAACACACACCTTAGACGCTTCATGATCTAACAACTTACTATGGTTGGCATGCATAATAGCATTTCTTATTAAAATACCATTATATGGAGTTCACCTATGACTACCAAAAGCCCATGTTGAAGCTCCAATTGCTGGGTCAATAATTCTAGCAGCTATTCTTCTAAAATTAGGTAGTTACGGAATAATTCGCATCTCCATTATTCTAGACCCACTAACAAAATATATAGCATACCCCTTCATCCTTCTCTCCCTATGAGGAATAATTATAACTAGCTCAATCTGCTTACGCCAAACAGATTTAAAATCACTAATCGCCTACTCCTCAGTTAGCCACATAGCACTTGTTATTGCATCAATCATAATCCAAACTCCATGAAGCTTCATAGGAGCAACAATACTAATAATCGCACATGGCCTCACATCATCACTCCTATTCTGCCTAGCAAACTCCAACTACGAACGGATCCACAGCCGTACTATAATCATGGCCCGAGGACTTCAAATGGTCTTCCCACTTATAGCCACATGATGACTGATAGCAAGTCTAGCTAATCTAGCTCTACCCCCTTCAATCAATCTAATAGGAGAATTATTCATTACCATATCATTATTTTCTTGATCAAACTTTACCATTATTCTTATAGGAATTAACATTATTATTACAGGTATATACTCAATATACATAATTATTACCACCCAACGCGGCAAACTAACCAACCATATAATTAACCTCCAACCCTCACACACACGAGAACTAACACTAATAGCCCTTCACATAATTCCACTTATTCTTCTAACTACCAGTCCAAAACTAATTACAGGCCTGACAATATGTGAATATAGTTTACAAAAAACATTAGACTGTGAATCTGACAACAGGAAATAAACCTCCTTATTCACCAAGAAAGATTGCAAGAACTGCTAATTCATGCTTCCATGTTTAAAAACATGGCTTTCTTACTTTTATAGGATAATAGTAATCCATTGGTCTTAGGAACCAAAAACCTTGGTGCAAATCCAAATAAAAGTAATCAATATTTTCACAACCTCAATCTTATTAATCTTCATTCTTCTACTATCCCCAATCCTAATTTCAATATCAAACCTAATTAAACACATCAACTTCCCACTGTACACCACCACATCAATCAAATTCTCCTTCATTATTAGCCTCTTACCCCTATTAATATTTTTCCACAATAATATAGAATATATAATTACAACCTGGCACTGAGTCACCATAAATTCAATAGAACTTAAAATAAGCTTCAAAACTGACTTTTTCTCTATCCTGTTTACATCTGTAGCCCTTTTTGTCACATGATCAATTATACAATTCTCTTCATGATATATACACTCAGACCCAAACATCAATCGATTCATTAAATATCTTACACTATTCCTGATTACCATGCTTATCCTCACCTCAGCCAACAACATATTTCAACTTTTCATTGGCTGAGAAGGGGTGGGAATTATATCTTTCCTACTAATTGGATGATGGTACGGACGAACAGACGCAAATACTGCAGCCCTACAAGCAATCCTCTATAACCGCATCGGAGACATCGGATTCATTTTAGCTATAGTTTGATTTTCCCTAAACATAAACTCATGAGAACTTCAACAGATTATATTCTCCAACAACAACGACAATCTAATTCCACTTATAGGCCTATTAATCGCAGCTACAGGAAAATCAGCACAATTTGGCCTCCACCCATGACTACCATCAGCAATAGAAGGCCCTACACCAGTTTCAGCACTACTACACTCAAGTACAATAGTAGTTGCAGGAATTTTCCTACTGGTCCGATTCCACCCCCTCACGACTAATAATAACTTTATTTTAACAACTATACTTTGCCTCGGAGCCCTAACCACATTATTTACAGCTATTTGTGCTCTCACCCAAAACGACATCAAAAAAATCATTGCCTTCTCTACATCAAGCCAACTAGGCCTGATAATAGTGACGCTAGGAATAAACCAACCACACCTAGCATTCCTACACATCTGTACCCACGCATTCTTCAAAGCTATACTCTTTATATGCTCTGGCTCAATCATTCATAGCCTGGCAGACGAACAAGACATCCGAAAAATAGGAAACATCACAAAAATCATACCATTCACATCATCATGCCTAGTAATCGGAAGCCTCGCCCTCACAGGAATACCATTCCTAACAGGGTTCTACTCAAAAGACCTAATTATTGAAGCAATTAATACCTGCAACACCAACGCCTGAGCCCTACTAATTACACTAATCGCCACTTCTATAACAGCTATGTACAGCATACGAATCATTTACTTCGTAACAATAACAAAACCGCGTTTTCCCCCCCTAATCTCCATTAACGAAAATGACCCAGACCTCATAAACCCAATCAAACGCCTAGCATTCGGAAGCATCTTTGCAGGATTTGTCATCTCATATAATATTCCACCAACCAGCATTCCAGTCCTCACAATACCATGATTTTTAAAAACCACAGCCCTAATTATTTCAGTATTAGGATTCCTAATCGCACTAGAACTAAACAACCTAACCATAAAACTATCAATAAATAAAGCAAATCCATATTCATCCTTCTCAACTTTACTGGGGTTTTTCCCATCTATTATTCACCGCATTACACCCATAAAATCTCTCAACCTAAGCCTAAAAACATCCCTAACTCTCCTAGACTTGATCTGGTTAGAAAAAACCATCCCAAAATCCACCTCAACTCTTCACACAAACATAACCACTTTAACAACCAACCAAAAAGGCTTAATTAAATTGTACTTTATATCATTCCTAATTAACATCATCTTAATTATTATCTTATACTCAATTAATCTCGAGTAATCTCGATAATAATAAAAATACCCGCAAACAAAGATCACCCAGCTACTACCATCATTCAAGTAGCACAACTATATATTGCCGCTACCCCAATCCCTCCTTCCAACATAACTCCAACATCATCAACCTCATACATCAACCAATCTCCCAAACCATCAAGATTAATTACTCCAACTTCATCATAATAATTAAGCACACAAATTAAAAAAACCTCTATAATCACCCCCAATACTAAAAAACCCAAAATTAATCAGTTAGATCCCCAAGTCTCTGGATATTCCTCAGTAGCTATAGCAGTCGTATATCCAAACACAACCAACATCCCCCCTAAATAAATTAAAAAAACTATTAAACCTAAAAACGATCCACCAAACCCTAAAACCATTAAACAACCAACAAACCCACTAACAATTAAACCTAAACCTCCATAAATAGGTGAAGGCTTTAATGCTAACCCAAGACAACCAACCAAAAATAATGAACTTAAAACAAAAATATAATTATTCATTATTTCTACACAGCATTCAACTGCGACCAATGACATGAAAAATCATCGTTGTAATTCAACTACAGAAACACCTAATGACAAACATACGAAAAACACACCCATTATTTAAAATTATTAACCACTCATTCATTGACCTACCTGCCCCATCCAACATTTCATCATGATGAAACTTTGGGTCCCTTCTAGGAGTCTGCCTAATAGTCCAAATCATTACAGGTCTTTTCTTAGCCATACACTACACATCAGATACAATAACAGCCTTTTCATCAGTAACACACATTTGTCGAGACGTAAATTACGGGTGACTAATCCGATATATACACGCAAACGGAGCCTCAATATTTTTTATTTGCTTATTCCTTCATGTCGGACGAGGCTTATATTATGGATCATATACATTTATAGAAACCTGAAACATTGGAGTACTTCTACTGTTCGCAGTCATAGCCACAGCATTTATAGGCTACGTCCTTCCATGAGGACAAATATCATTCTGAGGTGCCACAGTTATTACAAACCTCCTATCAGCCATCCCATATATTGGAACAACCCTAGTCGAATGAATTTGAGGGGGCTTCTCAGTAGACAAAGCCACCTTGACCCGATTCTTCGCTTTCCACTTCATCTTACCATTTATTATCGCGGCCCTAGCAATCGTTCACCTCCTCTTCCTCCACGAAACAGGATCAAACAACCCAACAGGATTAAACTCAGATGCAGATAAAATTCCATTTCACCCCTACTATACAATCAAAGATATCCTAGGTATCCTAATCATATTCTTAATTCTCATAACCCTAGTATTATTTTTCCCAGACATACTAGGAGACCCAGACAACTACATACCAGCTAATCCACTAAACACCCCACCCCATATTAAACCCGAATGATATTTCCTATTTGCATACGCCATTCTACGCTCAATCCCCAATAAACTAGGAGGTGTCCTAGCCTTAATCTTATCTATCCTAATTTTAGCCCTAATACCTTTCCTTCATACCTCAAAGCAACGAAGCCTAATATTCCGCCCAATCACACAAATTTTGTACTGAATCCTAGTAGCCAACCTACTTATCTTAACCTGAATTGGGGGCCAACCAGTAGAACACCCATTTATTATCATTGGCCAACTAGCCTCCATCTCATACTTCTCAATCATCTTAATTCTTATACCAATCTCAGGAATTATCGAAGACAAAATACTAAAATTATATCCATGTCTTGATAGTATAAACATTACTCTGGTCTTGTAAACCTGAAATGAAGATCTTCTCTTCTCAAGACATCAAGAAGAAGGAGCTACTCCCCACCACCAGCACCCAAAGCTGGTATTCTAATTAAACTACTTCTTGAGTACATAAATTTACATAGTACAACAGTACATTTATGTATATCGTACATTAAACTATTTTCCCCAAGCATATAAGCTAGTACATTAAATCAATGGTTCAGGTCATAAAATAATCATCAACATAAATCAATATATATACCATGAATATTATCTTAAACACATTAAACTAATGTTATAAGGACATATCTGTGTTATCTGACATACACCATACAGTCATAAACTCTTCTCTTCCATATGACTATCCCCTTCCCCATTTGGTCTATTAATCTACCATCCTCCGTGAAACCAACAACCCGCCCACCAATGCCCCTCTTCTCGCTCCGGGCCCATTAAACTTGGGGGTAGCTAAACTGAAACTTTATCAGACATCTGGTTCTTACTTCAGGGCCATCAAATGCGTTATCGCCCATACGTTCCCCTTAAATAAGACATCTCGATGGTATCGGGTCTAATCAGCCCATGACCAACATAACTGTGGTGTCATGCATTTGGTATCTTTTTATTTTGGCCTACTTTCATCAACATAGCCGTCAAGGCATGAAAGGACAGCACACAGTCTAGACGCACCTACGGTGAAGAATCATTAGTCCGCAAAACCCAATCACCTAAGGCTAATTATTCATGCTTGTTAGACATAAATGCTACTCAATACCAAATTTTAACTCTCCAAACCCCCCACCCCCTCCTCTTAATGCCAAACCCCAAAAACACTAAGAACTTGAAAGACATATAATATTAACTATCAAACCCTATGTCCTGATCAATTCTAGTAGTTCCCAAAATATGACTTATATTTTAGTACTTGTAAAAATTTTACAAAATCATGTTCCGTGAACCAAAACTCTAATCATACTCTATTACGCAATAAACATTAACAA\n" ] } ], "source": [ "record = SeqIO.read(INPUT_CHR, \"fasta\")\n", "record.seq = record.seq + record.seq\n", "print record.seq" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }