# HG changeset patch
# User nick
# Date 1448322382 18000
# Node ID 9d46c9ca7cebc84edcb2de3e316d37650fdf5d8a
# Parent af383638de669e49719329b0b302f35ee7168400
planemo upload commit 022984f323d3da44f70b3bf79c684cfd8dda3f61-dirty
diff -r af383638de66 -r 9d46c9ca7ceb Makefile
--- a/Makefile Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-CFLAGS=-Wall
-
-all:
- gcc -Wall -shared -fPIC alignc.c -o alignc.so
- gcc -Wall -shared -fPIC swalignc.c -o swalignc.so -lm
- gcc -Wall -shared -fPIC seqtoolsc.c -o seqtoolsc.so
- gcc -Wall -shared -fPIC consensusc.c -o consensusc.so
-
diff -r af383638de66 -r 9d46c9ca7ceb README.md
--- a/README.md Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-Du Novo
-===========
-
-This is a simple pipeline to process duplex sequencing data without the use of a reference sequence.
-
-The pipeline was designed for use with the duplex method described in [Kennedy *et al.* 2014](https://dx.doi.org/10.1038/nprot.2014.170), but the assumptions are relatively minimal, so you should be able to apply it to variants of the protocol.
-
-
-### Requirements
-
-The pipeline requires a Unix command line, and it must be able to find the `mafft` command on your [`PATH`](https://en.wikipedia.org/wiki/Search_path).
-
-All known requirements are below. Version numbers in parentheses are what the development environment uses. Version numbers in **bold** are known to be required.
-
-* [MAFFT](http://mafft.cbrc.jp/alignment/software/) (v7.123b)
-* [Python](https://www.python.org/) (**2.7**)
-* [gcc](https://gcc.gnu.org/) (4.8.4)
-Standard unix tools:
-* [bash](https://www.gnu.org/software/bash/bash.html) (4.0)
-* [awk](https://www.gnu.org/software/gawk/) (4.0.1)
-* [paste](https://www.gnu.org/software/coreutils/coreutils.html), [sort](https://www.gnu.org/software/coreutils/coreutils.html), [cat](https://www.gnu.org/software/coreutils/coreutils.html) (8.21)
-
-
-### Installation
-
-`git clone` the source to any directory, or click "Download ZIP", unzip it, and place the "duplex-master" directory anywhere.
-
-You'll need to compile the C modules before using it. Do this in a terminal by `cd`ing to the source directory (where the file `Makefile` is) and run the command `make`.
-
-
-### Usage
-
-This example shows how to go from raw duplex sequencing data to the final duplex consensus sequences.
-
-The example assumes you want to process duplex reads in the files `reads_1.fastq` and `reads_2.fastq`, and have `cd`'d to their directory. It also assumes you've placed the commands `align_families.py` and `duplex.py` on your `PATH`. Note that where it says `make-barcodes.awk`, you should replace that with the actual path to the script `make-barcodes.awk` included in this pipeline.
-
-1. Sort the reads into families based on their barcodes.
- ```bash
- $ cat reads_1.fastq | paste - - - - \
- | paste - <(cat reads_2.fastq | paste - - - -) \
- | awk -f make-barcodes.awk \
- | sort > families.tsv
- ```
-
-2. Do multiple sequence alignments of the read families.
-`$ align_families.py families.tsv > families.msa.tsv`
-
-3. Build duplex consensus sequences of from the aligned families.
-`$ duplex.py families.msa.tsv > duplex.fa`
-
-See all options for a given command by giving it the `-h` flag.
-
-
-### Details
-
-##### 1. Sort the reads into families based on their barcodes.
-
- $ cat reads_1.fastq | paste - - - - \
- | paste - <(cat reads_2.fastq | paste - - - -) \
- | awk -f make-barcodes.awk \
- | sort > families.tsv
-
-This command pipeline will transform each pair of reads into a one-line record, split the 12bp barcodes off them, and sort by their combined barcode. The end result is a file (named `families.tsv` above) listing read pairs, grouped by barcode. See `make-barcodes.awk` for the details on the formation of the barcodes and the format.
-
-Note: This step requires your FASTQ files to have exactly 4 lines per read (no multi-line sequences). Also, in the output, the read sequence does not include the barcode or the 5bp constant sequence after it. You can customize the length of the barcode or constant sequence by setting the awk constants `BAR_LEN` and `INVARIANT` (i.e. `awk -v BAR_LEN=10 make-barcodes.awk`).
-
-
-##### 2. Do multiple sequence alignments of the read families.
-
-`$ align_families.py families.tsv > families.msa.tsv`
-
-This step aligns each family of reads, but it processes each strand separately. It can be parallelized with the `-p` option, but at the moment that will cause the output to only be generated at the end, instead of streaming it as it's generated.
-
-
-##### 3. Build duplex consensus sequences of from the aligned families.
-
-`$ duplex.py families.msa.tsv > duplex.fa`
-
-This calls a consensus sequence from the multiple sequence alignments of the previous step. It does this in two steps: First, single-strand consensus sequences (SSCSs) are called from the family alignments, then duplex consensus sequences are called from pairs of SSCSs.
-
-When calling SSCSs, by default 3 reads are required to successfully create a consensus from each strand. Quality filtering is done at this step by excluding bases below a quality threshold. By default, no base with a PHRED quality less than 20 will contribute to the consensus. If no base passes the threshold or there is no majority base, an `N` will be inserted.
-
-The duplex consensus sequences are created by comparing the two SSCSs. For each base, if they agree, that base will be inserted. If they disagree, the IUPAC ambiguity code for the two bases will be used. Note that a disagreement between a base and a gap will result in an `N`. A planned feature is to use information from the raw reads contributing to the duplex to make a call in such a case, coding uncertainty into quality scores.
-
-The output of this step is the duplex consensus sequences in FASTA format. By default, it will only include full duplex consensuses, meaning if one of the two SSCSs are missing, that sequence will be omitted. But these sequences can be included with the `--incl-sscs` option, which will add lone SSCSs to the output.
-
-The reads will be printed in one, interleaved file, with the naming format
-
- >{barcode}.{mate} {# reads in strand 1 family}/{# reads in strand 2 family}
- >TTGCGCCAGGGCGAGGAAAATACT.1 8/13
-
-But this isn't easy to work with. A better output is in development, but for now you can use the awk script `outconv.awk` to convert the interleaved output file into two standard forward/reverse paired files with a standard naming convention:
-
- $ awk -f utils/outconv.awk -v target=1 duplex.fa > duplex_1.fa
- $ awk -f utils/outconv.awk -v target=2 duplex.fa > duplex_2.fa
diff -r af383638de66 -r 9d46c9ca7ceb align_families.py
--- a/align_families.py Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-#!/usr/bin/env python
-from __future__ import division
-import os
-import sys
-import time
-import tempfile
-import argparse
-import subprocess
-import collections
-import multiprocessing
-import distutils.spawn
-import seqtools
-
-#TODO: Warn if it looks like the two input FASTQ files are the same (i.e. the _1 file was given
-# twice). Can tell by whether the alpha and beta (first and last 12bp) portions of the barcodes
-# are always identical. This would be a good thing to warn about, since it's an easy mistake
-# to make, but it's not obvious that it happened. The pipeline won't fail, but will just
-# produce pretty weird results.
-
-REQUIRED_COMMANDS = ['mafft']
-OPT_DEFAULTS = {'processes':1}
-DESCRIPTION = """Read in sorted FASTQ data and do multiple sequence alignments of each family."""
-
-
-def main(argv):
-
- parser = argparse.ArgumentParser(description=DESCRIPTION)
- parser.set_defaults(**OPT_DEFAULTS)
-
- parser.add_argument('infile', metavar='read-families.tsv', nargs='?',
- help='The input reads, sorted into families. One line per read pair, 8 tab-delimited columns: '
- '1. canonical barcode, 2. barcode order ("ab" for alpha+beta, "ba" for beta-alpha) 3. '
- 'read 1 name, 4. read 1 sequence, 5. read 1 quality scores, 6. read 2 name, 7. read 2 '
- 'sequence, 8. read 2 quality scores.')
- parser.add_argument('-p', '--processes', type=int,
- help='Number of worker subprocesses to use. Must be at least 1. Default: %(default)s.')
-
- args = parser.parse_args(argv[1:])
-
- assert args.processes > 0, '-p must be greater than zero'
-
- # Check for required commands.
- missing_commands = []
- for command in REQUIRED_COMMANDS:
- if not distutils.spawn.find_executable(command):
- missing_commands.append(command)
- if missing_commands:
- fail('Error: Missing commands: "'+'", "'.join(missing_commands)+'".')
-
- if args.infile:
- infile = open(args.infile)
- else:
- infile = sys.stdin
-
- # Open all the worker processes.
- workers = open_workers(args.processes)
-
- # Main loop.
- # This processes whole duplexes (pairs of strands) at a time for a future option to align the
- # whole duplex at a time.
- stats = {'duplexes':0, 'time':0, 'pairs':0, 'runs':0, 'aligned_pairs':0}
- current_worker_i = 0
- duplex = collections.OrderedDict()
- family = []
- barcode = None
- order = None
- for line in infile:
- fields = line.rstrip('\r\n').split('\t')
- if len(fields) != 8:
- continue
- (this_barcode, this_order, name1, seq1, qual1, name2, seq2, qual2) = fields
- # If the barcode or order has changed, we're in a new family.
- # Process the reads we've previously gathered as one family and start a new family.
- if this_barcode != barcode or this_order != order:
- duplex[order] = family
- # If the barcode is different, we're at the end of the whole duplex. Process the it and start
- # a new one. If the barcode is the same, we're in the same duplex, but we've switched strands.
- if this_barcode != barcode:
- # sys.stderr.write('processing {}: {} orders ({})\n'.format(barcode, len(duplex),
- # '/'.join([str(len(duplex[order])) for order in duplex])))
- output, run_stats, current_worker_i = delegate(workers, stats, duplex, barcode)
- process_results(output, run_stats, stats)
- duplex = collections.OrderedDict()
- barcode = this_barcode
- order = this_order
- family = []
- pair = {'name1': name1, 'seq1':seq1, 'qual1':qual1, 'name2':name2, 'seq2':seq2, 'qual2':qual2}
- family.append(pair)
- stats['pairs'] += 1
- # Process the last family.
- duplex[order] = family
- # sys.stderr.write('processing {}: {} orders ({}) [last]\n'.format(barcode, len(duplex),
- # '/'.join([str(len(duplex[order])) for order in duplex])))
- output, run_stats, current_worker_i = delegate(workers, stats, duplex, barcode)
- process_results(output, run_stats, stats)
-
- # Do one last loop through the workers, reading the remaining results and stopping them.
- # Start at the worker after the last one processed by the previous loop.
- start = current_worker_i + 1
- for i in range(len(workers)):
- worker_i = (start + i) % args.processes
- worker = workers[worker_i]
- output, run_stats = worker.recv()
- process_results(output, run_stats, stats)
- worker.send(None)
-
- if infile is not sys.stdin:
- infile.close()
-
- # Final stats on the run.
- sys.stderr.write('Processed {pairs} read pairs in {duplexes} duplexes.\n'.format(**stats))
- if stats['aligned_pairs'] > 0:
- per_pair = stats['time'] / stats['aligned_pairs']
- per_run = stats['time'] / stats['runs']
- sys.stderr.write('{:0.3f}s per pair, {:0.3f}s per run.\n'.format(per_pair, per_run))
-
-
-def open_workers(num_workers):
- """Open the required number of worker processes."""
- workers = []
- for i in range(num_workers):
- parent_pipe, child_pipe = multiprocessing.Pipe()
- process = multiprocessing.Process(target=worker_function, args=(child_pipe,))
- process.start()
- workers.append(parent_pipe)
- return workers
-
-
-def worker_function(child_pipe):
- while True:
- args = child_pipe.recv()
- if args is None:
- break
- child_pipe.send(process_duplex(*args))
-
-
-def delegate(workers, stats, duplex, barcode):
- worker_i = stats['duplexes'] % len(workers)
- worker = workers[worker_i]
- if stats['duplexes'] >= len(workers):
- output, run_stats = worker.recv()
- else:
- output, run_stats = '', {}
- stats['duplexes'] += 1
- args = (duplex, barcode)
- worker.send(args)
- return output, run_stats, worker_i
-
-
-def process_duplex(duplex, barcode):
- output = ''
- run_stats = {'time':0, 'runs':0, 'aligned_pairs':0}
- orders = duplex.keys()
- if len(duplex) == 0 or None in duplex:
- return '', {}
- elif len(duplex) == 1:
- # If there's only one strand in the duplex, just process the first mate, then the second.
- combos = ((1, orders[0]), (2, orders[0]))
- elif len(duplex) == 2:
- # If there's two strands, process in a criss-cross order:
- # strand1/mate1, strand2/mate2, strand1/mate2, strand2/mate1
- combos = ((1, orders[0]), (2, orders[1]), (2, orders[0]), (1, orders[1]))
- else:
- raise AssertionError('Error: More than 2 orders in duplex {}: {}'.format(barcode, orders))
- for mate, order in combos:
- family = duplex[order]
- start = time.time()
- alignment = align_family(family, mate)
- # Compile statistics.
- elapsed = time.time() - start
- pairs = len(family)
- #logging.info('{} sec for {} read pairs.'.format(elapsed, pairs))
- if pairs > 1:
- run_stats['time'] += elapsed
- run_stats['runs'] += 1
- run_stats['aligned_pairs'] += pairs
- if alignment is None:
- pass #logging.warning('Error aligning family {}/{} (read {}).'.format(barcode, order, mate))
- else:
- output += format_msa(alignment, barcode, order, mate)
- return output, run_stats
-
-
-def align_family(family, mate):
- """Do a multiple sequence alignment of the reads in a family and their quality scores."""
- mate = str(mate)
- assert mate == '1' or mate == '2'
- # Do the multiple sequence alignment.
- seq_alignment = make_msa(family, mate)
- if seq_alignment is None:
- return None
- # Transfer the alignment to the quality scores.
- seqs = [read['seq'] for read in seq_alignment]
- quals_raw = [pair['qual'+mate] for pair in family]
- qual_alignment = seqtools.transfer_gaps_multi(quals_raw, seqs, gap_char_out=' ')
- # Package them up in the output data structure.
- alignment = []
- for aligned_seq, aligned_qual in zip(seq_alignment, qual_alignment):
- alignment.append({'name':aligned_seq['name'], 'seq':aligned_seq['seq'], 'qual':aligned_qual})
- return alignment
-
-
-def make_msa(family, mate):
- """Perform a multiple sequence alignment on a set of sequences and parse the result.
- Uses MAFFT."""
- mate = str(mate)
- assert mate == '1' or mate == '2'
- if len(family) == 0:
- return None
- elif len(family) == 1:
- # If there's only one read pair, there's no alignment to be done (and MAFFT won't accept it).
- return [{'name':family[0]['name'+mate], 'seq':family[0]['seq'+mate]}]
- #TODO: Replace with tempfile.mkstemp()?
- with tempfile.NamedTemporaryFile('w', delete=False, prefix='align.msa.') as family_file:
- for pair in family:
- name = pair['name'+mate]
- seq = pair['seq'+mate]
- family_file.write('>'+name+'\n')
- family_file.write(seq+'\n')
- with open(os.devnull, 'w') as devnull:
- try:
- command = ['mafft', '--nuc', '--quiet', family_file.name]
- output = subprocess.check_output(command, stderr=devnull)
- except (OSError, subprocess.CalledProcessError):
- return None
- os.remove(family_file.name)
- return read_fasta(output, is_file=False, upper=True)
-
-
-def read_fasta(fasta, is_file=True, upper=False):
- """Quick and dirty FASTA parser. Return the sequences and their names.
- Returns a list of sequences. Each is a dict of 'name' and 'seq'.
- Warning: Reads the entire contents of the file into memory at once."""
- sequences = []
- sequence = ''
- seq_name = None
- if is_file:
- with open(fasta) as fasta_file:
- fasta_lines = fasta_file.readlines()
- else:
- fasta_lines = fasta.splitlines()
- for line in fasta_lines:
- if line.startswith('>'):
- if upper:
- sequence = sequence.upper()
- if sequence:
- sequences.append({'name':seq_name, 'seq':sequence})
- sequence = ''
- seq_name = line.rstrip('\r\n')[1:]
- continue
- sequence += line.strip()
- if upper:
- sequence = sequence.upper()
- if sequence:
- sequences.append({'name':seq_name, 'seq':sequence})
- return sequences
-
-
-def format_msa(align, barcode, order, mate, outfile=sys.stdout):
- output = ''
- for sequence in align:
- output += '{bar}\t{order}\t{mate}\t{name}\t{seq}\t{qual}\n'.format(bar=barcode, order=order,
- mate=mate, **sequence)
- return output
-
-
-def process_results(output, run_stats, stats):
- """Process the outcome of a duplex run.
- Print the aligned output and sum the stats from the run with the running totals."""
- for key, value in run_stats.items():
- stats[key] += value
- if output:
- sys.stdout.write(output)
-
-
-def fail(message):
- sys.stderr.write(message+"\n")
- sys.exit(1)
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff -r af383638de66 -r 9d46c9ca7ceb align_families.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/align_families.xml Mon Nov 23 18:46:22 2015 -0500
@@ -0,0 +1,59 @@
+
+
+ from duplex sequencing data
+
+ mafft
+ duplex
+
+ align_families.py $input > $output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**What it does**
+
+This is for processing duplex sequencing data. It does a multiple sequence alignment on each (single-stranded) family of reads.
+
+-----
+
+**Input**
+
+This expects the output format of the "Make families" tool.
+
+-----
+
+**Output**
+
+The output is a tabular file where each line corresponds to a (single) read.
+
+The columns are::
+
+ 1: barcode (both tags)
+ 2: tag order in barcode ("ab" or "ba")
+ 3: read mate ("1" or "2")
+ 4: read name
+ 5: read sequence, aligned ("-" for gaps)
+ 6: read quality scores, aligned (" " for gaps)
+
+-----
+
+**Alignments**
+
+The alignments are done using MAFFT, specifically the command
+::
+
+ $ mafft --nuc --quiet family.fa > family.aligned.fa
+
+
+
diff -r af383638de66 -r 9d46c9ca7ceb alignc.c
--- a/alignc.c Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-#include
-#include
-#include
-
-#define NAIVE_TEST_WINDOW 6
-#define NAIVE_TEST_THRES 0.80
-#define NAIVE_TEST_MIN 2
-#define NAIVE_WINDOW 10
-#define NAIVE_THRES 0.80
-
-typedef struct Gap {
- int seq;
- int coord;
- int length;
- struct Gap *next;
-} Gap;
-
-typedef struct Gaps {
- int length;
- struct Gap *root;
- struct Gap *tip;
-} Gaps;
-
-int _test_match(char *seq1, int start1, char *seq2, int start2);
-void add_gap(Gaps *gaps, int seq, int coord, int length);
-Gaps *make_gaps();
-char *insert_gaps(Gaps *gaps, char *seq, int seq_num);
-
-
-// A naive algorithm for aligning two sequences which are expected to be very similar to each other
-// and already nearly aligned.
-void naive2(char *seq1, char *seq2) {
- Gaps *gaps = make_gaps();
- int i = 0;
- int j = 0;
- int matches = 0;
- while (seq1[i] != 0 && seq2[j] != 0) {
- // Match?
- printf("%c %c | i %d j %d\n", seq1[i], seq2[j], i, j);
- if (seq1[i] == seq2[j]) {
- matches++;
- i++;
- j++;
- continue;
- }
- printf("mismatch!\n");
- // Mismatch. Start adding gaps until the mismatches go away.
- int new_i = i;
- int new_j = j;
- int gap_seq = 0;
- int success;
- while (1) {
- if (seq1[new_i] == 0 && seq2[new_j] == 0) {
- break;
- }
- success = _test_match(seq1, new_i, seq2, j);
- if (success) {
- gap_seq = 2;
- break;
- }
- if (seq1[new_i] != 0) {
- new_i++;
- }
- success = _test_match(seq1, i, seq2, new_j);
- if (success) {
- gap_seq = 1;
- break;
- }
- if (seq2[new_j] != 0) {
- new_j++;
- }
- }
- // Which sequence are we putting the gap in?
- if (gap_seq == 0) {
- printf("No good gap found. new_i: %d, new_j: %d\n", new_i, new_j);
- // No good gap found.
- } else if (i == new_i && j == new_j) {
- printf("No gap required.\n");
- } else if (gap_seq == 1) {
- printf("%dbp gap in seq1 at base %d.\n", new_j-j, j);
- add_gap(gaps, 1, j, new_j-j);
- j = new_j;
- } else if (gap_seq == 2) {
- printf("%dbp gap in seq2 at base %d.\n", new_i-i, i);
- add_gap(gaps, 2, i, new_i-i);
- i = new_i;
- }
- i++;
- j++;
- }
-
- char *new_seq1 = insert_gaps(gaps, seq1, 1);
- char *new_seq2 = insert_gaps(gaps, seq2, 2);
- printf("alignment:\n%s\n%s\n", new_seq1, new_seq2);
-}
-
-// Check if the few bases starting at start1 and start2 in seq1 and seq2, respectively, align with
-// few mismatches. The number of bases checked is NAIVE_TEST_WINDOW, and they must have a match
-// percentage greater than NAIVE_TEST_THRES. Also, the amount of sequence left to compare must be
-// more than NAIVE_TEST_MIN.
-int _test_match(char *seq1, int start1, char *seq2, int start2) {
- int matches = 0;
- int total = 0;
- char base1, base2;
- int i;
- for (i = 0; i < NAIVE_TEST_WINDOW-1; i++) {
- base1 = seq1[start1+i];
- base2 = seq2[start2+i];
- if (base1 == 0 || base2 == 0) {
- break;
- }
- if (base1 == base2) {
- matches++;
- }
- total++;
- }
- return total > NAIVE_TEST_MIN && (double)matches/total > NAIVE_TEST_THRES;
-}
-
-Gaps *make_gaps() {
- Gaps *gaps = malloc(sizeof(Gaps));
- gaps->root = 0;
- gaps->tip = 0;
- gaps->length = 0;
- return gaps;
-}
-
-void add_gap(Gaps *gaps, int seq, int coord, int length) {
- Gap *gap = malloc(sizeof(Gap));
- gap->next = 0;
- gap->seq = seq;
- gap->coord = coord;
- gap->length = length;
- if (gaps->root == 0) {
- gaps->root = gap;
- } else {
- gaps->tip->next = gap;
- }
- gaps->tip = gap;
- gaps->length++;
-}
-
-// Take gap information from the aligner and put them into the sequence string as "-" characters.
-char *insert_gaps(Gaps *gaps, char *seq, int seq_num) {
- if (gaps->root == 0) {
- return seq;
- }
-
- // How long should the new sequence be?
- int extra_len = 0;
- Gap *gap = gaps->root;
- while (gap) {
- if (gap->seq == seq_num) {
- extra_len += gap->length;
- }
- gap = gap->next;
- }
-
- //TODO: Handle a situation with no gaps.
- int new_len = extra_len + strlen(seq) + 1;
- char *new_seq = malloc(sizeof(char) * new_len);
- int i = 0;
- int j = 0;
- gap = gaps->root;
- while (gap) {
- // Check that it's a gap in our sequence.
- if (gap->seq != seq_num) {
- gap = gap->next;
- continue;
- }
- // Copy verbatim all the sequence until the gap.
- while (i <= gap->coord) {
- new_seq[j] = seq[i];
- i++;
- j++;
- }
- // Add -'s the whole length of the gap.
- while (j < gap->coord + gap->length + 1) {
- new_seq[j] = '-';
- j++;
- }
- gap = gap->next;
- }
- // Fill in the end sequence.
- while (seq[i]) {
- new_seq[j] = seq[i];
- i++;
- j++;
- }
- new_seq[new_len-1] = 0;
- return new_seq;
-}
diff -r af383638de66 -r 9d46c9ca7ceb alignc.so
Binary file alignc.so has changed
diff -r af383638de66 -r 9d46c9ca7ceb consensus
Binary file consensus has changed
diff -r af383638de66 -r 9d46c9ca7ceb consensus-time.py
--- a/consensus-time.py Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-import sys
-import time
-import ctypes
-
-first = None
-times = []
-for i in range(10000):
- py_seqs = []
- seq_len = 0
- with open(sys.argv[1]) as infile:
- for line in infile:
- if line.startswith('>'):
- continue
- seq = line.strip()
- if len(seq) > seq_len:
- seq_len = len(seq)
- py_seqs.append(seq)
-
- seqs = (ctypes.c_char_p * len(py_seqs))()
- for j, seq in enumerate(py_seqs):
- seqs[j] = ctypes.c_char_p(seq)
-
- consensus = ctypes.cdll.LoadLibrary('./consensus.so')
- start = time.time()
- consensus.get_votes(seqs, len(seqs), seq_len)
- elapsed = 1000 * 1000 * (time.time() - start)
- if i == 0:
- first = elapsed
- else:
- times.append(elapsed)
-
-print '{:0.1f}\t{:0.1f}'.format(first, sum(times)/len(times))
diff -r af383638de66 -r 9d46c9ca7ceb consensus.py
--- a/consensus.py Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-import os
-import ctypes
-
-script_dir = os.path.dirname(os.path.realpath(__file__))
-consensus = ctypes.cdll.LoadLibrary(os.path.join(script_dir, 'consensusc.so'))
-consensus.get_consensus.restype = ctypes.c_char_p
-consensus.get_consensus_duplex.restype = ctypes.c_char_p
-consensus.build_consensus_duplex_simple.restype = ctypes.c_char_p
-
-
-# N.B.: The quality scores must be aligned with their accompanying sequences.
-def get_consensus(align, quals=[], cons_thres=-1.0, qual_thres=' ', gapped=False):
- cons_thres_c = ctypes.c_double(cons_thres)
- qual_thres_c = ctypes.c_char(qual_thres)
- n_seqs = len(align)
- if gapped:
- gapped_c = 1
- else:
- gapped_c = 0
- assert not quals or len(quals) == n_seqs, 'Different number of sequences and quals.'
- seq_len = None
- for seq in (align + quals):
- if seq_len is None:
- seq_len = len(seq)
- else:
- assert seq_len == len(seq), 'All sequences in the alignment must be the same length.'
- align_c = (ctypes.c_char_p * n_seqs)()
- for i, seq in enumerate(align):
- align_c[i] = ctypes.c_char_p(seq)
- quals_c = (ctypes.c_char_p * n_seqs)()
- for i, qual in enumerate(quals):
- quals_c[i] = ctypes.c_char_p(qual)
- if not quals:
- quals_c = 0
- return consensus.get_consensus(align_c, quals_c, n_seqs, seq_len, cons_thres_c, qual_thres_c,
- gapped_c)
-
-
-# N.B.: The quality scores must be aligned with their accompanying sequences.
-def get_consensus_duplex(align1, align2, quals1=[], quals2=[], cons_thres=-1.0, qual_thres=' ',
- method='iupac'):
- assert method in ('iupac', 'freq')
- cons_thres_c = ctypes.c_double(cons_thres)
- qual_thres_c = ctypes.c_char(qual_thres)
- n_seqs1 = len(align1)
- n_seqs2 = len(align2)
- assert (not quals1 and not quals2) or (quals1 and quals2)
- assert not quals1 or len(quals1) == n_seqs1
- assert not quals2 or len(quals2) == n_seqs2
- seq_len = None
- for seq in (align1 + align2 + quals1 + quals2):
- if seq_len is None:
- seq_len = len(seq)
- else:
- assert seq_len == len(seq), 'All sequences in the alignment must be the same length.'
- align1_c = (ctypes.c_char_p * n_seqs1)()
- for i, seq in enumerate(align1):
- align1_c[i] = ctypes.c_char_p(seq)
- align2_c = (ctypes.c_char_p * n_seqs1)()
- for i, seq in enumerate(align2):
- align2_c[i] = ctypes.c_char_p(seq)
- quals1_c = (ctypes.c_char_p * n_seqs1)()
- for i, seq in enumerate(quals1):
- quals1_c[i] = ctypes.c_char_p(seq)
- quals2_c = (ctypes.c_char_p * n_seqs1)()
- for i, seq in enumerate(quals2):
- quals2_c[i] = ctypes.c_char_p(seq)
- if not quals1:
- quals1_c = 0
- if not quals2:
- quals2_c = 0
- return consensus.get_consensus_duplex(align1_c, align2_c, quals1_c, quals2_c, n_seqs1, n_seqs2,
- seq_len, cons_thres_c, qual_thres_c, method)
-
-
-def build_consensus_duplex_simple(cons1, cons2, gapped=False):
- assert len(cons1) == len(cons2)
- cons1_c = ctypes.c_char_p(cons1)
- cons2_c = ctypes.c_char_p(cons2)
- if gapped:
- gapped_c = 1
- else:
- gapped_c = 0
- return consensus.build_consensus_duplex_simple(cons1_c, cons2_c, gapped_c)
diff -r af383638de66 -r 9d46c9ca7ceb consensus.pyc
Binary file consensus.pyc has changed
diff -r af383638de66 -r 9d46c9ca7ceb consensusc.c
--- a/consensusc.c Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,556 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-
-// N.B. This defines the valid bases, but it's also effectively defined in the switches in
-// get_votes_simple(), get_votes_qual(), and get_base_prime(), and in the constant IUPAC_BASES.
-#define N_BASES 6
-const char *BASES = "ACGTN-";
-/* A C G T N - A: 2 Compute IUPAC ambiguous base character by representing each base
-A 4 6 10 14 22 26 C: 3 with a prime and multiplying. Then use a lookup table (an array
-C 9 15 21 33 39 G: 5 where the index is the product of the two primes).
-G 25 35 55 65 T: 7
-T 49 77 91 N: 11
-N 121 143 -: 13 1 2 3 4 5 6 7
-- 169 01234567890123456789012345678901234567890123456789012345678901234567890*/
-const char *IUPAC_BASES = "N...A.M..CR...WS.....YN..GN......N.K...N.........T.....N.........N....."
-// 8 9 10 11 12 13 14
- "......N.............N.............................N..................."
-// 15 16 17
- "..N.........................-";
-#define THRES_DEFAULT 0.5
-#define WIN_LEN 4
-#define GAP_CHAR ' '
-
-int **get_votes_simple(char *align[], int n_seqs, int seq_len);
-int **get_votes_qual(char *align[], char *quals[], int n_seqs, int seq_len, char thres);
-int init_gap_qual_window(int *window, char *quals, int seq_len);
-char get_gap_qual(int *window);
-int push_qual(int *window, int win_edge, char *quals, int seq_len);
-void print_window(int *window, int win_edge);
-int **init_votes(int seq_len);
-void free_votes(int *votes[], int seq_len);
-void print_votes(char *consensus, int *votes[], int seq_len);
-char *rm_gaps(char *consensus, int cons_len);
-char *build_consensus(int *votes[], int seq_len, double thres);
-char *build_consensus_duplex(int *votes1[], int *votes2[], int seq_len, double thres);
-char *build_consensus_duplex_simple(char *cons1, char *cons2, int gapped);
-int get_base_prime(char base);
-char *get_consensus(char *align[], char *quals[], int n_seqs, int seq_len, double thres,
- char qual_thres, int gapped);
-char *get_consensus_duplex(char *align1[], char *align2[], char *quals1[], char *quals2[],
- int n_seqs1, int n_seqs2, int seq_len, double cons_thres,
- char qual_thres, int gapped, char *method);
-
-
-// Tally the different bases at each position in an alignment.
-// Returns an array of arrays: for each position in the alignment, an array of the number of times
-// each base occurs at that position. The order of bases is as in the "BASES" constant.
-int **get_votes_simple(char *align[], int n_seqs, int seq_len) {
- int **votes = init_votes(seq_len);
-
- // Tally votes for each base.
- int i, j;
- for (i = 0; i < n_seqs; i++) {
- for (j = 0; j < seq_len; j++) {
- // N.B.: Could write this without hardcoded literals, but it's about 40% slower.
- switch (toupper(align[i][j])) {
- case 'A':
- votes[j][0]++;
- break;
- case 'C':
- votes[j][1]++;
- break;
- case 'G':
- votes[j][2]++;
- break;
- case 'T':
- votes[j][3]++;
- break;
- case 'N':
- votes[j][4]++;
- break;
- case '-':
- votes[j][5]++;
- break;
- }
- }
- }
-
- return votes;
-}
-
-
-int **get_votes_qual(char *align[], char *quals[], int n_seqs, int seq_len, char thres) {
- int **votes = init_votes(seq_len);
- int *window = malloc(sizeof(int) * WIN_LEN * 2);
- int win_edge;
-
- // Tally votes for each base.
- char qual;
- int i, j;
- for (i = 0; i < n_seqs; i++) {
- win_edge = init_gap_qual_window(window, quals[i], seq_len);
- for (j = 0; j < seq_len; j++) {
- // Figure out the quality score of the base (or gap).
- if (align[i][j] == '-') {
- qual = get_gap_qual(window);
- } else {
- win_edge = push_qual(window, win_edge, quals[i], seq_len);
- qual = quals[i][j];
- }
- // Don't count bases whose quality is less than the threshold.
- if (qual < thres) {
- continue;
- }
- // N.B.: Could write this without hardcoded literals, but it's about 40% slower.
- switch (toupper(align[i][j])) {
- case 'A':
- votes[j][0]++;
- break;
- case 'C':
- votes[j][1]++;
- break;
- case 'G':
- votes[j][2]++;
- break;
- case 'T':
- votes[j][3]++;
- break;
- case 'N':
- votes[j][4]++;
- break;
- case '-':
- votes[j][5]++;
- break;
- }
- }
- }
-
- free(window);
- return votes;
-}
-
-
-/* Calculation of gap quality scores:
- * "window" is an array of length 2*WIN_LEN, holding the quality scores of the non-gap bases WIN_LEN
- * from the current one in both directions. When we're at the start or end, fill the slots beyond
- * the edge of the sequence with -1 as a sentinel for "N/A". For example, after the 2nd base in the
- * sequence, if WIN_LEN is 4 and there are no gaps yet, "window" should look something like this:
- * base coordinates 0 1 2 3 4 5
- * quality scores = 9 A > E B
- * array values [-1|-1|28|24||32|29|36|33]
- * Usage:
- * Allocate "window" and call init_gap_qual_window() to initialize it by filling its right side with
- * the first WIN_LEN non-gap quality scores in the sequence. It will also return "win_edge", which
- * tracks the coordinate of the rightmost quality score in "window".
- * Then, start traversing the array of quality scores. For each score, if it's a gap character, call
- * get_gap_qual() to get the computed quality score at the gap. Otherwise, call push_qual() to add
- * another quality score to the end of the window. This will keep the window filled with all non-gap
- * quality scores, and each time you call get_gap_qual(), you should be at the gap between the two
- * quality scores at the center of the window.
- */
-
-// This does the initial fill of the window array, adding the first WIN_LEN bases to the right side
-// and filling the left side with -1's.
-int init_gap_qual_window(int *window, char *quals, int seq_len) {
- // Fill left side with -1's (no quality information).
- int i;
- for (i = 0; i < WIN_LEN; i++) {
- window[i] = -1;
- }
- // Fill right side with first WIN_LEN quality scores. Skip gaps, and if you run out of quality
- // scores (if seq_len < WIN_LEN), fill the rest with -1. Leave win_edge at the last base we added.
- i = WIN_LEN;
- int win_edge = -1;
- int quals_added = 0;
- while (quals_added < WIN_LEN) {
- win_edge++;
- if (win_edge >= seq_len) {
- win_edge = seq_len;
- window[i] = -1;
- i++;
- quals_added++;
- } else if (quals[win_edge] != GAP_CHAR) {
- window[i] = quals[win_edge];
- i++;
- quals_added++;
- }
- }
- return win_edge;
-}
-
-
-// Push the next non-gap quality score onto the right side of the window.
-int push_qual(int *window, int win_edge, char *quals, int seq_len) {
- // Find the next quality score that's not a gap.
- char next_qual = GAP_CHAR;
- while (next_qual == GAP_CHAR) {
- win_edge++;
- if (win_edge < seq_len) {
- next_qual = quals[win_edge];
- } else {
- win_edge = seq_len;
- next_qual = -1;
- }
- }
- // Shift all the quality scores left add the new one.
- int last_qual;
- int i;
- for (i = WIN_LEN*2 - 1; i >= 0; i--) {
- last_qual = window[i];
- window[i] = next_qual;
- next_qual = last_qual;
- }
- return win_edge;
-}
-
-
-// Compute the quality of the gap based on a weighted average of the quality scores in the window.
-// The scores near the center of the window are weighted higher than the ones further away.
-char get_gap_qual(int *window) {
- int score_sum = 0;
- int weight_sum = 0;
- int weight = 1;
- int i;
- for (i = 0; i < WIN_LEN*2; i++) {
- if (window[i] != -1) {
- score_sum += window[i] * weight;
- weight_sum += weight;
- }
- // Increase the weight until we get to the middle of the window (at WIN_LEN), then decrease it.
- if (i < WIN_LEN - 1) {
- weight++;
- } else if (i > WIN_LEN - 1) {
- weight--;
- }
- }
- if (weight_sum > 0) {
- // Divide by the sum of the weights to get the final quality score.
- return (char) (score_sum/weight_sum);
- } else {
- return '\0';
- }
-}
-
-
-void print_window(int *window, int win_edge) {
- printf("[");
- int i;
- for (i = 0; i < WIN_LEN*2; i++) {
- printf("%c", window[i]);
- if (i == WIN_LEN - 1) {
- printf("||");
- } else if (i == WIN_LEN*2 - 1) {
- printf("] %-2d\n", win_edge);
- } else {
- printf("|");
- }
- }
-}
-
-
-int **init_votes(int seq_len) {
- int **votes = malloc(sizeof(int *) * seq_len);
- int i, j;
- for (i = 0; i < seq_len; i++) {
- votes[i] = malloc(sizeof(int) * N_BASES);
- for (j = 0; j < N_BASES; j++) {
- votes[i][j] = 0;
- }
- }
- return votes;
-}
-
-
-void free_votes(int *votes[], int seq_len) {
- int i;
- for (i = 0; i < seq_len; i++) {
- free(votes[i]);
- }
- free(votes);
-}
-
-
-void print_votes(char *consensus, int *votes[], int seq_len) {
- int i, j;
- printf(" ");
- for (j = 0; j < N_BASES; j++) {
- printf(" %c ", BASES[j]);
- }
- printf("\n");
- for (i = 0; i < seq_len; i++) {
- printf("%c: ", consensus[i]);
- for (j = 0; j < N_BASES; j++) {
- if (votes[i][j]) {
- printf("%2d ", votes[i][j]);
- } else {
- printf(" ");
- }
- }
- printf("\n");
- }
-}
-
-
-// Take a consensus sequence which may have gaps ('-' characters) and remove them to produce the
-// actual final sequence. "cons_len" should be the length of the original, gapped, sequence.
-char *rm_gaps(char *consensus, int cons_len) {
- char *output = malloc(sizeof(char) * cons_len + 1);
- int i;
- int j = 0;
- for (i = 0; i < cons_len; i++) {
- if (consensus[i] != '-') {
- output[j] = consensus[i];
- j++;
- }
- }
- output[j] = '\0';
- return output;
-}
-
-
-char *build_consensus(int *votes[], int seq_len, double thres) {
- char *consensus = malloc(sizeof(char) * seq_len + 1);
-
- int i, j;
- for (i = 0; i < seq_len; i++) {
- int total = 0;
- int max_vote = 0;
- char max_base = 'N';
- for (j = 0; j < N_BASES; j++) {
- total += votes[i][j];
- if (votes[i][j] > max_vote) {
- max_vote = votes[i][j];
- max_base = BASES[j];
- }
- if (total == 0) {
- consensus[i] = 'N';
- } else if ((double)max_vote/total > thres) {
- consensus[i] = max_base;
- } else {
- consensus[i] = 'N';
- }
- }
- }
-
- consensus[seq_len] = '\0';
- return consensus;
-}
-
-
-// Build a consensus sequence from two alignments by weighting each equally and considering only
-// the frequency of each base in each alignment.
-char *build_consensus_duplex(int *votes1[], int *votes2[], int seq_len, double thres) {
- char *consensus = malloc(sizeof(char) * seq_len + 1);
-
- int i, j;
- for (i = 0; i < seq_len; i++) {
- // Sum the total votes at this position.
- /*TODO: This does an extra loop through the votes to get the total so it can calculate actual
- * frequencies in the second pass. Technically, this information could be gathered when
- * originally tallying the votes in the get_votes functions. Or, the total could be assumed
- * to be n_seqs if every base always contributes a vote (even when it's not in "ACGTN-").
- */
- int total1 = 0;
- for (j = 0; j < N_BASES; j++) {
- total1 += votes1[i][j];
- }
- int total2 = 0;
- for (j = 0; j < N_BASES; j++) {
- total2 += votes2[i][j];
- }
- double max_freq = 0.0;
- char max_base = 'N';
- for (j = 0; j < N_BASES; j++) {
- // Get the frequency of each base.
- double freq1;
- if (total1 > 0) {
- freq1 = (double)votes1[i][j]/total1;
- }
- double freq2;
- if (total2 > 0) {
- freq2 = (double)votes2[i][j]/total2;
- }
- // frequency of the base = average of frequencies in the two sequences
- double avg_freq;
- if (total1 == 0 && total2 == 0) {
- avg_freq = -1.0;
- } else if (total1 == 0) {
- avg_freq = freq2;
- } else if (total2 == 0) {
- avg_freq = freq1;
- } else {
- avg_freq = (freq1 + freq2) / 2;
- }
- // Track the highest frequency seen.
- if (avg_freq > max_freq) {
- max_freq = avg_freq;
- max_base = BASES[j];
- }
- }
- if (max_freq > thres) {
- consensus[i] = max_base;
- } else {
- consensus[i] = 'N';
- }
- }
-
- consensus[seq_len] = '\0';
- return consensus;
-}
-
-
-// "cons1" and "cons2" must be null-terminated strings of equal lengths.
-char *build_consensus_duplex_simple(char *cons1, char *cons2, int gapped) {
- int seq_len = strlen(cons1);
- char *cons = malloc(sizeof(char) * seq_len + 1);
- int i = 0;
- int base_prime1, base_prime2;
- while (cons1[i] != '\0' && cons2[i] != '\0') {
- base_prime1 = get_base_prime(cons1[i]);
- base_prime2 = get_base_prime(cons2[i]);
- cons[i] = IUPAC_BASES[base_prime1*base_prime2];
- i++;
- }
- cons[seq_len] = '\0';
- if (gapped) {
- return cons;
- } else {
- return rm_gaps(cons, seq_len);
- }
-}
-
-
-int get_base_prime(char base) {
- switch (base) {
- case 'A':
- return 2;
- case 'C':
- return 3;
- case 'G':
- return 5;
- case 'T':
- return 7;
- case 'N':
- return 11;
- case '-':
- return 13;
- default:
- return 0;
- }
-}
-
-
-// Convenience function to create a consensus in one step.
-// Give 0 as "quals" to not use quality scores, and -1.0 as "cons_thres" to use the default
-// consensus threshold when evaluating base votes.
-char *get_consensus(char *align[], char *quals[], int n_seqs, int seq_len, double cons_thres,
- char qual_thres, int gapped) {
- if (cons_thres == -1.0) {
- cons_thres = THRES_DEFAULT;
- }
- int **votes;
- if (quals == 0) {
- votes = get_votes_simple(align, n_seqs, seq_len);
- } else {
- votes = get_votes_qual(align, quals, n_seqs, seq_len, qual_thres);
- }
- char *consensus_gapped = build_consensus(votes, seq_len, cons_thres);
- char *consensus;
- if (gapped) {
- consensus = consensus_gapped;
- } else {
- consensus = rm_gaps(consensus_gapped, seq_len);
- }
- free_votes(votes, seq_len);
- return consensus;
-}
-
-
-char *get_consensus_duplex(char *align1[], char *align2[], char *quals1[], char *quals2[],
- int n_seqs1, int n_seqs2, int seq_len, double cons_thres,
- char qual_thres, int gapped, char *method) {
- if (cons_thres == -1.0) {
- cons_thres = THRES_DEFAULT;
- }
- int **votes1;
- int **votes2;
- if (quals1 == 0 || quals2 == 0) {
- votes1 = get_votes_simple(align1, n_seqs1, seq_len);
- votes2 = get_votes_simple(align2, n_seqs2, seq_len);
- } else {
- votes1 = get_votes_qual(align1, quals1, n_seqs1, seq_len, qual_thres);
- votes2 = get_votes_qual(align2, quals2, n_seqs2, seq_len, qual_thres);
- }
- char *consensus_gapped;
- if (!strncmp(method, "freq", 4)) {
- consensus_gapped = build_consensus_duplex(votes1, votes2, seq_len, cons_thres);
- } else if (!strncmp(method, "iupac", 5)) {
- char *cons1 = build_consensus(votes1, seq_len, cons_thres);
- char *cons2 = build_consensus(votes2, seq_len, cons_thres);
- consensus_gapped = build_consensus_duplex_simple(cons1, cons2, 1);
- } else {
- return "";
- }
- char *consensus;
- if (gapped) {
- consensus = consensus_gapped;
- } else {
- consensus = rm_gaps(consensus_gapped, seq_len);
- }
- free_votes(votes1, seq_len);
- free_votes(votes2, seq_len);
- return consensus;
-}
-
-
-void get_gap_quals(char *quals) {
- int seq_len = strlen(quals);
- int *window = malloc(sizeof(int) * WIN_LEN * 2);
- int win_edge = init_gap_qual_window(window, quals, seq_len);
- print_window(window, win_edge);
-
- int i;
- char gap_qual;
- for (i = 0; i < seq_len; i++) {
- if (quals[i] == GAP_CHAR) {
- gap_qual = get_gap_qual(window);
- printf("gap %2d: %2d\n", i, gap_qual);
- } else {
- win_edge = push_qual(window, win_edge, quals, seq_len);
- print_window(window, win_edge);
- }
- }
-}
-
-
-int main(int argc, char *argv[]) {
- char **align = malloc(sizeof(char *) * (argc-1));
-
- int seq_len = INT_MAX;
- int i;
- for (i = 1; i < argc; i++) {
- if (strlen(argv[i]) < seq_len) {
- seq_len = strlen(argv[i]);
- }
- align[i-1] = argv[i];
- }
-
- if (argc <= 1) {
- return 1;
- }
-
- get_gap_quals(align[0]);
- return 0;
-
- int **votes = get_votes_simple(align, argc-1, seq_len);
- char *consensus = build_consensus(votes, seq_len, THRES_DEFAULT);
- print_votes(consensus, votes, seq_len);
- printf("%s\n", consensus);
- free_votes(votes, seq_len);
-
- return 0;
-}
diff -r af383638de66 -r 9d46c9ca7ceb consensusc.so
Binary file consensusc.so has changed
diff -r af383638de66 -r 9d46c9ca7ceb duplex.py
--- a/duplex.py Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-#!/usr/bin/env python
-from __future__ import division
-import os
-import sys
-import time
-import logging
-import tempfile
-import argparse
-import subprocess
-import collections
-import distutils.spawn
-import consensus
-import swalign
-
-SANGER_START = 33
-SOLEXA_START = 64
-REQUIRED_COMMANDS = ['mafft']
-OPT_DEFAULTS = {'min_reads':3, 'processes':1, 'qual':20, 'qual_format':'sanger'}
-USAGE = "%(prog)s [options]"
-DESCRIPTION = """Build consensus sequences from read aligned families. Prints duplex consensus
-sequences in FASTA to stdout. The sequence ids are BARCODE.MATE, e.g. "CTCAGATAACATACCTTATATGCA.1",
-where "BARCODE" is the input barcode, and "MATE" is "1" or "2" as an arbitrary designation of the
-two reads in the pair. The id is followed by the count of the number of reads in the two families
-(one from each strand) that make up the duplex, in the format READS1/READS2. If the duplex is
-actually a single-strand consensus because the matching strand is missing, only one number is
-listed."""
-
-
-def main(argv):
-
- parser = argparse.ArgumentParser(description=DESCRIPTION)
- parser.set_defaults(**OPT_DEFAULTS)
-
- parser.add_argument('infile', metavar='read-families.tsv', nargs='?',
- help='The output of align_families.py. 6 columns: 1. (canonical) barcode. 2. order ("ab" or '
- '"ba"). 3. mate ("1" or "2"). 4. read name. 5. aligned sequence. 6. aligned quality '
- 'scores.')
- parser.add_argument('-r', '--min-reads', type=int,
- help='The minimum number of reads (from each strand) required to form a single-strand '
- 'consensus. Strands with fewer reads will be skipped. Default: %(default)s.')
- parser.add_argument('-q', '--qual', type=int,
- help='Base quality threshold. Bases below this quality will not be counted. '
- 'Default: %(default)s.')
- parser.add_argument('-F', '--qual-format', choices=('sanger', 'solexa'),
- help='FASTQ quality score format. Sanger scores are assumed to begin at \'{}\' ({}). Default: '
- '%(default)s.'.format(SANGER_START, chr(SANGER_START)))
- parser.add_argument('--incl-sscs', action='store_true',
- help='When outputting duplex consensus sequences, include reads without a full duplex (missing '
- 'one strand). The result will just be the single-strand consensus of the remaining read.')
- parser.add_argument('-s', '--sscs-file',
- help='Save single-strand consensus sequences in this file (FASTA format). Currently does not '
- 'work when in parallel mode.')
- parser.add_argument('-l', '--log', metavar='LOG_FILE', dest='stats_file',
- help='Print statistics on the run to this file. Use "-" to print to stderr.')
- parser.add_argument('-p', '--processes', type=int,
- help='Number of processes to use. If > 1, launches this many worker subprocesses. Note: if '
- 'this option is used, no output will be generated until the end of the entire run, so no '
- 'streaming is possible. Default: %(default)s.')
- parser.add_argument('-S', '--slurm', action='store_true',
- help='If --processes > 1, prepend sub-commands with "srun -C new".')
-
- args = parser.parse_args(argv[1:])
-
- assert args.processes > 0, '-p must be greater than zero'
- # Make dict of process_family() parameters that don't change between families.
- static = {}
- static['processes'] = args.processes
- static['incl_sscs'] = args.incl_sscs
- static['min_reads'] = args.min_reads
- if args.sscs_file:
- static['sscs_fh'] = open(args.sscs_file, 'w')
- if args.qual_format == 'sanger':
- static['qual_thres'] = chr(args.qual + SANGER_START)
- elif args.qual_format == 'solexa':
- static['qual_thres'] = chr(args.qual + SOLEXA_START)
- else:
- fail('Error: unrecognized --qual-format.')
-
- # Check for required commands.
- missing_commands = []
- if args.slurm:
- REQUIRED_COMMANDS.append('srun')
- for command in REQUIRED_COMMANDS:
- if not distutils.spawn.find_executable(command):
- missing_commands.append(command)
- if missing_commands:
- fail('Error: Missing commands: "'+'", "'.join(missing_commands)+'".')
-
- if args.infile:
- infile = open(args.infile)
- else:
- infile = sys.stdin
-
- if args.stats_file:
- if args.stats_file == '-':
- logging.basicConfig(stream=sys.stderr, level=logging.INFO, format='%(message)s')
- else:
- logging.basicConfig(filename=args.stats_file, filemode='w', level=logging.INFO,
- format='%(message)s')
- else:
- logging.disable(logging.CRITICAL)
-
- # Open all the worker processes, if we're using more than one.
- workers = None
- if args.processes > 1:
- workers = open_workers(args.processes, args)
-
- stats = {'time':0, 'reads':0, 'runs':0, 'families':0}
- all_reads = 0
- duplex = collections.OrderedDict()
- family = []
- barcode = None
- order = None
- mate = None
- for line in infile:
- fields = line.rstrip('\r\n').split('\t')
- if len(fields) != 6:
- continue
- (this_barcode, this_order, this_mate, name, seq, qual) = fields
- this_mate = int(this_mate)
- # If the barcode or order has changed, we're in a new single-stranded family.
- # Process the reads we've previously gathered as one family and start a new family.
- if this_barcode != barcode or this_order != order or this_mate != mate:
- duplex[(order, mate)] = family
- # We're at the end of the duplex pair if the barcode changes or if the order changes without
- # the mate changing, or vice versa (the second read in each duplex comes when the barcode
- # stays the same while both the order and mate switch). Process the duplex and start
- # a new one. If the barcode is the same, we're in the same duplex, but we've switched strands.
- if this_barcode != barcode or not (this_order != order and this_mate != mate):
- # sys.stderr.write('New duplex: {}, {}, {}\n'.format(this_barcode, this_order, this_mate))
- process_duplex(duplex, barcode, workers=workers, stats=stats, **static)
- duplex = collections.OrderedDict()
- # else:
- # sys.stderr.write('Same duplex: {}, {}, {}\n'.format(this_barcode, this_order, this_mate))
- barcode = this_barcode
- order = this_order
- mate = this_mate
- family = []
- read = {'name': name, 'seq':seq, 'qual':qual}
- family.append(read)
- all_reads += 1
- # Process the last family.
- duplex[(order, mate)] = family
- process_duplex(duplex, barcode, workers=workers, stats=stats, **static)
-
- if args.processes > 1:
- close_workers(workers)
- compile_results(workers)
- delete_tempfiles(workers)
-
- if args.sscs_file:
- static['sscs_fh'].close()
- if infile is not sys.stdin:
- infile.close()
-
- if not args.stats_file:
- return
-
- # Final stats on the run.
- logging.info('Processed {} reads and {} duplexes.'
- .format(all_reads, stats['runs']))
- per_read = stats['time'] / stats['reads']
- per_run = stats['time'] / stats['runs']
- logging.info('{:0.3f}s per read, {:0.3f}s per run.'.format(per_read, per_run))
-
-
-def open_workers(num_workers, args):
- """Open the required number of worker processes."""
- script_path = os.path.realpath(sys.argv[0])
- workers = []
- for i in range(num_workers):
- if args.slurm:
- command = ['srun', '-C', 'new', 'python', script_path]
- else:
- command = ['python', script_path]
- arguments = gather_args(sys.argv, args.infile)
- command.extend(arguments)
- stats_subfile = None
- if args.stats_file:
- if args.stats_file == '-':
- stats_subfile = '-'
- else:
- stats_subfile = "{}.{}.log".format(args.stats_file, i)
- command.extend(['-s', stats_subfile])
- outfile = tempfile.NamedTemporaryFile('w', delete=False, prefix='sscs.out.part.')
- process = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=outfile)
- worker = {'proc':process, 'outfile':outfile, 'stats':stats_subfile}
- workers.append(worker)
- return workers
-
-
-def gather_args(args, infile, excluded_flags={'-S', '--slurm'},
- excluded_args={'-p', '--processes', '-l', '--log', '-s', '--sscs-file'}):
- """Take the full list of command-line arguments and return only the ones which
- should be passed to worker processes.
- Excludes the 0th argument (the command name), the input filename ("infile"), all
- arguments in "excluded_flags", and all arguments in "excluded_args" plus the
- arguments which follow."""
- out_args = []
- skip = True
- for arg in args:
- if skip:
- skip = False
- continue
- if arg in excluded_flags:
- continue
- if arg in excluded_args:
- skip = True
- continue
- if arg == infile:
- continue
- out_args.append(arg)
- return out_args
-
-
-def delegate(worker, duplex, barcode):
- """Send a family to a worker process."""
- for (order, mate), family in duplex.items():
- for read in family:
- line = '{}\t{}\t{}\t{name}\t{seq}\t{qual}\n'.format(barcode, order, mate, **read)
- if family:
- worker['proc'].stdin.write(line)
-
-
-def close_workers(workers):
- for worker in workers:
- worker['outfile'].close()
- worker['proc'].stdin.close()
-
-
-def compile_results(workers):
- for worker in workers:
- worker['proc'].wait()
- with open(worker['outfile'].name, 'r') as outfile:
- for line in outfile:
- sys.stdout.write(line)
-
-
-def delete_tempfiles(workers):
- for worker in workers:
- os.remove(worker['outfile'].name)
- if worker['stats']:
- os.remove(worker['stats'])
-
-
-def process_duplex(duplex, barcode, workers=None, stats=None, incl_sscs=False, sscs_fh=None,
- processes=1, min_reads=1, qual_thres=' '):
- stats['families'] += 1
- # Are we the controller process or a worker?
- if processes > 1:
- i = stats['families'] % len(workers)
- worker = workers[i]
- delegate(worker, duplex, barcode)
- return
- # We're a worker. Actually process the family.
- start = time.time()
- consensi = []
- reads_per_strand = []
- duplex_mate = None
- for (order, mate), family in duplex.items():
- reads = len(family)
- if reads < min_reads:
- continue
- # The mate number for the duplex consensus. It's arbitrary, but all that matters is that the
- # two mates have different numbers. This system ensures that:
- # Mate 1 is from the consensus of ab/1 and ba/2 families, while mate 2 is from ba/1 and ab/2.
- if (order == 'ab' and mate == 1) or (order == 'ba' and mate == 2):
- duplex_mate = 1
- else:
- duplex_mate = 2
- seqs = [read['seq'] for read in family]
- quals = [read['qual'] for read in family]
- consensi.append(consensus.get_consensus(seqs, quals, qual_thres=qual_thres))
- reads_per_strand.append(reads)
- assert len(consensi) <= 2
- if sscs_fh:
- for cons, (order, mate), reads in zip(consensi, duplex.keys(), reads_per_strand):
- sscs_fh.write('>{bar}.{order}.{mate} {reads}\n'.format(bar=barcode, order=order, mate=mate,
- reads=reads))
- sscs_fh.write(cons+'\n')
- if len(consensi) == 1 and incl_sscs:
- print_duplex(consensi[0], barcode, duplex_mate, reads_per_strand)
- elif len(consensi) == 2:
- align = swalign.smith_waterman(*consensi)
- #TODO: log error & return if len(align.target) != len(align.query)
- cons = consensus.build_consensus_duplex_simple(align.target, align.query)
- print_duplex(cons, barcode, duplex_mate, reads_per_strand)
- elapsed = time.time() - start
- logging.info('{} sec for {} reads.'.format(elapsed, sum(reads_per_strand)))
- if stats and len(consensi) > 0:
- stats['time'] += elapsed
- stats['reads'] += sum(reads_per_strand)
- stats['runs'] += 1
-
-
-def print_duplex(cons, barcode, mate, reads_per_strand, outfile=sys.stdout):
- header = '>{bar}.{mate} {reads}'.format(bar=barcode, mate=mate,
- reads='/'.join(map(str, reads_per_strand)))
- outfile.write(header+'\n')
- outfile.write(cons+'\n')
-
-
-def read_fasta(fasta, is_file=True):
- """Quick and dirty FASTA parser. Return the sequences and their names.
- Returns a list of sequences. Each is a dict of 'name' and 'seq'.
- Warning: Reads the entire contents of the file into memory at once."""
- sequences = []
- seq_lines = []
- seq_name = None
- if is_file:
- with open(fasta) as fasta_file:
- fasta_lines = fasta_file.readlines()
- else:
- fasta_lines = fasta.splitlines()
- for line in fasta_lines:
- if line.startswith('>'):
- if seq_lines:
- sequences.append({'name':seq_name, 'seq':''.join(seq_lines)})
- seq_lines = []
- seq_name = line.rstrip('\r\n')[1:]
- continue
- seq_lines.append(line.strip())
- if seq_lines:
- sequences.append({'name':seq_name, 'seq':''.join(seq_lines)})
- return sequences
-
-
-def fail(message):
- sys.stderr.write(message+"\n")
- sys.exit(1)
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff -r af383638de66 -r 9d46c9ca7ceb duplex.sublime-project
--- a/duplex.sublime-project Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-{
- "build_systems":
- [
- {
- "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
- "name": "Anaconda Python Builder",
- "selector": "source.python",
- "shell_cmd": "python -u \"$file\""
- }
- ],
- "folders":
- [
- {
- "path": "/home/me/bx/code/duplex"
- }
- ]
-}
diff -r af383638de66 -r 9d46c9ca7ceb duplex.sublime-workspace
--- a/duplex.sublime-workspace Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1134 +0,0 @@
-{
- "auto_complete":
- {
- "selected_items":
- [
- [
- "can",
- "can_change_color function"
- ],
- [
- "NAI",
- "NAIVE_TEST_THRES"
- ],
- [
- "curre",
- "current_seq statement"
- ],
- [
- "align",
- "align_path statement"
- ],
- [
- "Att",
- "AttributeError class"
- ],
- [
- "pipe",
- "pipeline_family_choose_asm function"
- ],
- [
- "Obj",
- "ObjectsById"
- ],
- [
- "get",
- "getElementById"
- ],
- [
- "make",
- "makeStatElem"
- ],
- [
- "timeTo",
- "timeToNextReindeer"
- ],
- [
- "golden",
- "goldenUpgrades"
- ],
- [
- "How",
- "HowMuchPrestige"
- ],
- [
- "HTTP",
- "HTTPLIB_PARAMS statement"
- ],
- [
- "ISNV",
- "ISNVFILE_DEFAULT statement"
- ],
- [
- "DA",
- "DATA_DIR_DEFAULT statement"
- ],
- [
- "REQ",
- "REQUIRED_PICARDS statement"
- ],
- [
- "add_ar",
- "add_argument_group function"
- ],
- [
- "sample_fam",
- "sample_family_rows statement"
- ],
- [
- "SAM",
- "SAMPLES_FILE statement"
- ],
- [
- "spi",
- "spikein_str statement"
- ],
- [
- "scri",
- "scriptdir"
- ],
- [
- "IGNO",
- "IGNORE_EXTS statement"
- ],
- [
- "watch",
- "watch_progs"
- ],
- [
- "IG",
- "IGNORE_EXTS statement"
- ],
- [
- "Dev",
- "DeviceDefault"
- ],
- [
- "cac",
- "cache_file"
- ],
- [
- "Asn",
- "AsnMacCache"
- ],
- [
- "gate",
- "gateway_ip"
- ],
- [
- "getE",
- "getElementsByClassName"
- ],
- [
- "high",
- "highlightTerms"
- ],
- [
- "medi",
- "mediaElement"
- ],
- [
- "get_mp",
- "get_mp3_name"
- ],
- [
- "pl",
- "player_url"
- ],
- [
- "fa",
- "fastq1"
- ],
- [
- "ba",
- "backgrounded"
- ],
- [
- "human",
- "human_time statement"
- ],
- [
- "NotI",
- "NotImplementedError class"
- ],
- [
- "recu",
- "recursively"
- ],
- [
- "SAMPLES",
- "SAMPLES_HEADER statement"
- ],
- [
- "wildcard",
- "wildcard_match function"
- ],
- [
- "existing",
- "existing_samples statement"
- ],
- [
- "SAPL",
- "SAMPLES_HEADER statement"
- ],
- [
- "max",
- "max_tz_diff"
- ],
- [
- "bio",
- "bio_sample_id statement"
- ],
- [
- "tech",
- "technology"
- ],
- [
- "HEA",
- "HEADER_JOINED statement"
- ],
- [
- "Z_B",
- "Z_BORDER"
- ],
- [
- "BA",
- "BASE_SIZE"
- ],
- [
- "destroy",
- "destroyRecursive"
- ],
- [
- "sam",
- "sample_regex"
- ],
- [
- "pair",
- "pair_regex"
- ],
- [
- "edge",
- "edge_effect"
- ],
- [
- "XRA",
- "XRANDR_DISP_REGEX"
- ],
- [
- "eh",
- "exho"
- ],
- [
- "MIN",
- "MINUS2_SRC"
- ],
- [
- "filename",
- "filename_new"
- ],
- [
- "MUL",
- "MULTI_REPLACE"
- ],
- [
- "IMG",
- "REGEX_IMGUR_SRC"
- ],
- [
- "lan_",
- "lan_ip_current"
- ],
- [
- "BUFF",
- "BUFFER_MAX"
- ],
- [
- "passed",
- "passed_filters"
- ],
- [
- "getCo",
- "getCoverageGap"
- ],
- [
- "GAME_",
- "GAME_WIDTH"
- ],
- [
- "GAME",
- "GAME_WIDTH"
- ],
- [
- "visi",
- "visibility"
- ],
- [
- "source",
- "source_file"
- ],
- [
- "like",
- "likeliest_count"
- ],
- [
- "cso",
- "csource_path_fixed"
- ],
- [
- "csou",
- "csource_path"
- ],
- [
- "csour",
- "csource_file"
- ],
- [
- "buffe",
- "buffer_size"
- ],
- [
- "POP",
- "POP_SIZE_MAX"
- ],
- [
- "B",
- "BASE"
- ],
- [
- "fill",
- "fill_test_data"
- ],
- [
- "binom",
- "binomial_coefficient"
- ],
- [
- "alig",
- "alignment1"
- ],
- [
- "ali",
- "alignment2"
- ],
- [
- "choose",
- "choose_sequence"
- ],
- [
- "back",
- "background-color"
- ],
- [
- "perce",
- "percent-decode"
- ],
- [
- "redir",
- "redirect_url"
- ],
- [
- "redi",
- "redirect_url"
- ],
- [
- "FAS",
- "FASTA_WIDTH"
- ],
- [
- "new",
- "new_chrom"
- ],
- [
- "rig",
- "right_block"
- ],
- [
- "USE",
- "USER_AGENT_BROWSER"
- ],
- [
- "query",
- "query_interval"
- ],
- [
- "next",
- "next_interval"
- ],
- [
- "final",
- "final_sequence"
- ],
- [
- "subje",
- "subject_name"
- ],
- [
- "summary",
- "summary_fxn"
- ],
- [
- "summ",
- "summary_fxn"
- ],
- [
- "D",
- "DISTRIB_ID"
- ],
- [
- "DEF",
- "DEFAULT_SIZE"
- ],
- [
- "state",
- "state_filepath"
- ],
- [
- "data",
- "data_filepath"
- ],
- [
- "des",
- "desktop_size"
- ],
- [
- "matpl",
- "matplotliblib"
- ],
- [
- "fig",
- "figsize_ratio"
- ],
- [
- "search",
- "search_windows"
- ]
- ]
- },
- "buffers":
- [
- {
- "file": "/home/me/bx/project/ebola/compare/vcf-vs-tsv.py",
- "settings":
- {
- "buffer_size": 5574,
- "line_ending": "Unix"
- }
- },
- {
- "file": "sscs.py",
- "settings":
- {
- "buffer_size": 11029,
- "line_ending": "Unix"
- }
- },
- {
- "file": "stats.py",
- "settings":
- {
- "buffer_size": 3713,
- "line_ending": "Unix"
- }
- },
- {
- "file": "/home/me/bx/code/duplex/align.c",
- "settings":
- {
- "buffer_size": 7383,
- "line_ending": "Unix"
- }
- },
- {
- "file": "pipeline.sh",
- "settings":
- {
- "buffer_size": 2314,
- "line_ending": "Unix"
- }
- }
- ],
- "build_system": "",
- "build_system_choices":
- [
- ],
- "build_varint": "",
- "command_palette":
- {
- "height": 392.0,
- "last_filter": "",
- "selected_items":
- [
- [
- "folder",
- "Project: Add Folder"
- ],
- [
- "ana",
- "Anaconda: Next lint error"
- ],
- [
- "js",
- "JSHint"
- ],
- [
- "install package",
- "Package Control: Install Package"
- ],
- [
- "disp",
- "Anaconda: Display object docs"
- ],
- [
- "goto",
- "Anaconda: Goto object definition"
- ],
- [
- "",
- "Anaconda: McCabe complexity check"
- ],
- [
- "package",
- "Package Control: Install Package"
- ],
- [
- "jshint",
- "JSHint: Set Linting Preferences"
- ]
- ],
- "width": 530.0
- },
- "console":
- {
- "height": 126.0,
- "history":
- [
- "import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)",
- "sublime",
- "print 1",
- "type(None)",
- "print None",
- "None",
- "a*3",
- "if a:",
- "if a: print \"a\"",
- "a = 2",
- "1",
- "echo 1",
- "print 1",
- "1"
- ]
- },
- "distraction_free":
- {
- "menu_visible": true,
- "show_minimap": false,
- "show_open_files": false,
- "show_tabs": false,
- "side_bar_visible": false,
- "status_bar_visible": false
- },
- "expanded_folders":
- [
- "/home/me/bx/code/duplex"
- ],
- "file_history":
- [
- "/home/me/code/test.sublime-project",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/group-filter.py",
- "/home/me/bx/code/indels/dev/pipeline.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/pipeline-families.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/heteroplasmy/pipeline-summary.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/pipeline-family.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/heteroplasmy/pipeline-nvc-cvg.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/heteroplasmy/pipeline.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/tests/run.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/align.py",
- "/home/me/code/python/wifi/wifi-login.py",
- "/home/me/annex/Work/PSU/Nekrutenko/src/scalpel-0.3.2/bcftools-1.1/vcffilter.c",
- "/home/me/annex/Saved Web Stuff/Webpages/7 bonerparty/2008-10-02/bonerparty-page-8-2008-10-03.html",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/get-indels.py",
- "/home/me/annex/Work/PSU/Nekrutenko/berkeley/pruning/bases.c",
- "/home/me/code/c/test/linked.c",
- "/home/me/bx/code/duplex/sscs.py",
- "/home/me/code/bash/dotfiles/.bashrc",
- "/home/me/bx/code/heteroplasmy/power.R",
- "/home/me/code/python/single/matrix.py",
- "/home/me/code/python/lib/console.py",
- "/home/me/code/python/test/testcurses.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/simplewrap.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/console.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/readsfq.c",
- "/home/me/annex/Work/PSU/Nekrutenko/berkeley/pruning/bases",
- "/home/me/code/c/single/isaw.c",
- "/home/me/code/c/single/fasta-encode.c",
- "/home/me/code/python/test/ctypes_test.c",
- "/home/me/Desktop/ctypes_test.py",
- "/home/me/Desktop/ctypes.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/subsample.py",
- "/home/me/code/c/single/readsfq.c",
- "/home/me/bx/code/indels/utils/qd-str-fm.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/utils/qd-str-fm.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/utils/seq-sort.py",
- "/home/me/annex/Work/PSU/Nekrutenko/src/mafft-7.221-without-extensions/core/disttbfast.c",
- "/home/me/bx/src/mafft-7.221-without-extensions/core/mafft-distance.c",
- "/home/me/annex/Work/PSU/Nekrutenko/src/mafft-7.221-without-extensions/core/mafft",
- "/home/me/bx/src/mafft-7.221-without-extensions/core/Makefile",
- "/home/me/.cache/.fr-Gr96Bs/fasta-36.3.7a/src/smith_waterman_sse2.c",
- "/home/me/bx/code/heteroplasmy/pre-process-mt.sh",
- "/home/me/bx/code/heteroplasmy/get_major_from_bam.py",
- "/home/me/bx/code/indels/dev/heteroplasmy/pre-process-mt.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/src/mafft-7.221-without-extensions/core/mltaln9.c",
- "/home/me/annex/Work/PSU/Nekrutenko/src/mafft-7.221-without-extensions/core/version.c",
- "/home/me/annex/Work/PSU/Nekrutenko/src/mafft-7.221-without-extensions/core/mltaln.h",
- "/home/me/bx/src/mafft-7.221-without-extensions/core/mafft.tmpl",
- "/home/me/bx/code/indels/dev/heteroplasmy/nm-ratio.select.py",
- "/home/me/bx/code/indels/dev/heteroplasmy/get_major_from_bam.py",
- "/home/me/code/python/test/ctypes.c",
- "/home/me/code/c/test/args.c",
- "/home/me/code/c/test/strcmp.c",
- "/home/me/code/c/test/strcat.c",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/align.c",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/utils/indel-detect.py",
- "/home/me/code/bash/single/indicator.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/heteroplasmy/coverage-plot.R",
- "/home/me/annex/school/12-3-fall/bioinformatics/webpage-final.html",
- "/home/me/bx/data/duplex/fastqc/Full_R2_fastqc/fastqc_report.html",
- "/home/me/bx/data/duplex/fastqc/Full_R1_fastqc/fastqc_report.html",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/test/run.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/asm-unifier/asm-unifier.py",
- "/home/me/backuphide/bfx/galaxy-central/lib/galaxy/webapps/galaxy/controllers/user.py",
- "/home/me/backuphide/bfx/galaxy-central/lib/galaxy/web/base/controllers/admin.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/tests/run.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/duplex/mergeAlign.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/duplex-loeb/tag_to_header.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indel-detect.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/duplex/pipeline.sh",
- "/tmp/1471-2105-13-117-s1.py",
- "/home/me/bx/code/indels/dev/get-indels.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/library/vcfreader.py",
- "/home/me/code/site/vps/nstoler.com/tests/functional.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/asm-unifier.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/library/swalign.py",
- "/home/me/bx/code/allele_counts/main/allele-counts.py",
- "/home/me/bx/code/heteroplasmy/pipeline-meta.sh",
- "/home/me/bx/code/indels/dev/tests/tests.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/heteroplasmy/pre-process-mt.sh",
- "/home/me/bx/code/indels/dev/filter.sh",
- "/home/me/bx/code/heteroplasmy/pipeline-summary.sh",
- "/home/me/bx/code/heteroplasmy/pipeline.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/utils/qd-str-fm.",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/qd-str-fm.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/align.py",
- "/home/me/bx/code/indels/Biostar99.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/library/align.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/library/fastqreader.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/library/fastareader.py",
- "/home/me/code/python/single/pct.py",
- "/home/me/bx/code/library/samreader.py",
- "/home/me/bx/code/library/samflags.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/bamslicer.py",
- "/home/me/code/bash/single/get-asn.sh",
- "/home/me/code/bash/single/mute-work.sh",
- "/home/me/code/projects/uptest/upmonitor.py",
- "/home/me/annex/Saved Web Stuff/Webpages/DorkingOut.com blog - 2005-era internet, news, technology, commentary.htm",
- "/run/user/1000/gvfs/sftp:host=scofield.galaxyproject.org,user=nick/nfs/brubeck.bx.psu.edu/scratch4/Barbara/DS_Indel_v3_685/PE_BASH_MAKER.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/group-filter.py.alt",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/group-filter.py",
- "/home/me/bx/code/indels/dev/tests/run.sh",
- "/home/me/bx/code/indels/dev/tests/bam-diff.sh",
- "/home/me/code/bash/single/netdiff.sh",
- "/home/me/code/javascript/cookieclicker/game/main.js",
- "/home/me/tmp/lastz-distrib-1.02.00/src/sequences.c",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/nvc-filter.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/Reg_Var_Scripts/microsat_snoop.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/Reg_Var_Scripts/microsat_snoop_newAlgorithm20131031.py",
- "/home/me/.config/sublime-text-3/Packages/User/Anaconda.sublime-settings",
- "/home/me/.config/sublime-text-3/Packages/Anaconda/README.md",
- "/home/me/bx/code/makrutenko/Reg_Var_Scirpts/pyfracluster.py",
- "/home/me/bx/code/makrutenko/Reg_Var_Scirpts/SSF.sh",
- "/home/me/code/bash/single/crun.sh",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/Reg_Var_Scirpts/findmotifseparate.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/Reg_Var_Scirpts/findmotifs.py",
- "/home/me/bx/code/makrutenko/Reg_Var_Scirpts/microsat_snoop.py",
- "/home/me/bx/code/makrutenko/Reg_Var_Scirpts/microsat_snoop_newAlgorithm20131031.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/Reg_Var_Scirpts/findmotifs",
- "/home/me/bx/code/makrutenko/Reg_Var_Scirpts/find.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/makrutenko/asm-coverage.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/allele_counts/shedvps/allele-counts.xml",
- "/home/me/code/python/lib/simplewrap.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/inspect-reads.py",
- "/home/me/backuphide/bfx/galaxy-central/eggs/Fabric-1.7.0-py2.7.egg/fabric/contrib/console.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/clean-merge.py",
- "/home/me/annex/Work/PSU/Nekrutenko/code/indels/dev/asm-curator.py",
- "/home/me/aa/misc/travel/Google Maps maps/State College.kml"
- ],
- "find":
- {
- "height": 35.0
- },
- "find_in_files":
- {
- "height": 0.0,
- "where_history":
- [
- ]
- },
- "find_state":
- {
- "case_sensitive": false,
- "find_history":
- [
- "int",
- "int_array_pointer",
- "int_array_p",
- "10",
- "stat",
- "VALUE",
- "barcode",
- "half",
- "tr",
- "AwkScript",
- "get_diffs_simple",
- "in_gap",
- "output",
- "2",
- "get_diffs_binned",
- "2",
- "get_diffs",
- "family, consensus",
- "get_all_diffs",
- "family_barcode",
- "barcode",
- "family_barcode",
- "stats_file",
- "open_workers",
- "NamedTemporaryFile",
- "delete_tempfiles",
- " \"$",
- "process_family",
- "all_families",
- "process_family",
- "total_",
- "total_time",
- "process_family",
- "pecol",
- "git",
- "black",
- "dead",
- "window",
- "insert_gaps",
- "Element",
- "tip",
- "make_tree",
- "Node",
- "node",
- "Node",
- "i",
- "new_i",
- "offset2",
- "offset1",
- "j",
- "i",
- "_fwd_match",
- "a",
- "A",
- "a",
- "N_TEST_PCT",
- "N_TEST_BP",
- "testlib",
- ">>>",
- "seqlen",
- "chrom",
- "CHROM",
- "chrom",
- "CHROM_DEFAULT",
- "chrM",
- "FASTA",
- "fasta",
- "sam",
- "Sam",
- "sam",
- "chrom",
- "CHROM",
- "chrom",
- "CHROM",
- "chrom",
- "size",
- "SIZE",
- "size",
- "PHRED_THRES",
- "allowed_flags",
- "ALLOWED_FLAGS",
- "MAPQ_THRES",
- "CHROM",
- "chrom",
- "DEFAULT_CHROM",
- "chrom",
- "DEFAULT_CHROM",
- "chrom",
- "DEFAULT_CHROM",
- "disttbfast",
- "mafft",
- "argv",
- "current_seq",
- "fastx",
- "em_cons",
- "NamedTemporaryFile",
- "tempfile",
- "open_workers",
- "compile_results",
- "open_workers",
- "tmp",
- "base",
- "TMP",
- "sscs",
- "write",
- "logging",
- "msa",
- "cons_path",
- "first_line",
- "temp_file",
- "tmp_path",
- "subprocess",
- "temp_file1",
- "tmp_path1",
- "current_barcode",
- "mark_user_deleted",
- "git",
- "mafft",
- "meta",
- "count2",
- "seq2_keep",
- "seq1_keep",
- "AWK_EDGE",
- "summarize_site",
- "print_site",
- "1000",
- "ns2",
- "ns1"
- ],
- "highlight": true,
- "in_selection": false,
- "preserve_case": false,
- "regex": false,
- "replace_history":
- [
- "NBSgoal",
- "pct",
- "args.end >",
- "$tmp",
- "\\'",
- "watch",
- "Watch",
- "watch",
- "yoga",
- "Game.numReads",
- "Game.cell",
- "Panels.popup",
- "Panels.main",
- "Panels.param",
- "Panels.bank",
- "Panels.main",
- "main",
- "Panels.main",
- "main",
- "Panels.main",
- "consensus",
- "Panels.consensus",
- "\\'",
- "function $1 ",
- "function $1",
- "function $1 ",
- "$dir/asm.fa",
- "param",
- "lastpass",
- "', '",
- ".attr({x",
- "MAIN",
- "_col",
- "_ct",
- "Regex",
- "google.com",
- "Regexen.",
- "'));",
- ".push(",
- "\"",
- "gap.end",
- "gap.start",
- "MAIN.height",
- "MAIN.width",
- "MAIN.y",
- "MAIN.x",
- " ---\"",
- "--- ",
- "intermediates ",
- "args['\\1']",
- "args."
- ],
- "reverse": false,
- "show_context": true,
- "use_buffer2": true,
- "whole_word": false,
- "wrap": true
- },
- "groups":
- [
- {
- "selected": 2,
- "sheets":
- [
- {
- "buffer": 0,
- "file": "/home/me/bx/project/ebola/compare/vcf-vs-tsv.py",
- "semi_transient": false,
- "settings":
- {
- "buffer_size": 5574,
- "regions":
- {
- },
- "selection":
- [
- [
- 3646,
- 3646
- ]
- ],
- "settings":
- {
- "syntax": "Packages/Python/Python.tmLanguage",
- "tab_size": 2,
- "translate_tabs_to_spaces": true
- },
- "translation.x": 0.0,
- "translation.y": 1194.0,
- "zoom_level": 1.0
- },
- "stack_index": 3,
- "type": "text"
- },
- {
- "buffer": 1,
- "file": "sscs.py",
- "semi_transient": false,
- "settings":
- {
- "buffer_size": 11029,
- "regions":
- {
- },
- "selection":
- [
- [
- 3494,
- 3494
- ]
- ],
- "settings":
- {
- "syntax": "Packages/Python/Python.tmLanguage",
- "tab_size": 2,
- "translate_tabs_to_spaces": true
- },
- "translation.x": 0.0,
- "translation.y": 1081.0,
- "zoom_level": 1.0
- },
- "stack_index": 4,
- "type": "text"
- },
- {
- "buffer": 2,
- "file": "stats.py",
- "semi_transient": false,
- "settings":
- {
- "buffer_size": 3713,
- "regions":
- {
- },
- "selection":
- [
- [
- 2502,
- 2502
- ]
- ],
- "settings":
- {
- "syntax": "Packages/Python/Python.tmLanguage",
- "tab_size": 2,
- "translate_tabs_to_spaces": true
- },
- "translation.x": 0.0,
- "translation.y": 918.0,
- "zoom_level": 1.0
- },
- "stack_index": 0,
- "type": "text"
- },
- {
- "buffer": 3,
- "file": "/home/me/bx/code/duplex/align.c",
- "semi_transient": false,
- "settings":
- {
- "buffer_size": 7383,
- "regions":
- {
- },
- "selection":
- [
- [
- 409,
- 409
- ]
- ],
- "settings":
- {
- "syntax": "Packages/C++/C.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 357.0,
- "zoom_level": 1.0
- },
- "stack_index": 1,
- "type": "text"
- },
- {
- "buffer": 4,
- "file": "pipeline.sh",
- "semi_transient": false,
- "settings":
- {
- "buffer_size": 2314,
- "regions":
- {
- },
- "selection":
- [
- [
- 1134,
- 1134
- ]
- ],
- "settings":
- {
- "syntax": "Packages/ShellScript/Shell-Unix-Generic.tmLanguage",
- "tab_size": 2,
- "translate_tabs_to_spaces": true
- },
- "translation.x": 0.0,
- "translation.y": 0.0,
- "zoom_level": 1.0
- },
- "stack_index": 2,
- "type": "text"
- }
- ]
- }
- ],
- "incremental_find":
- {
- "height": 25.0
- },
- "input":
- {
- "height": 0.0
- },
- "layout":
- {
- "cells":
- [
- [
- 0,
- 0,
- 1,
- 1
- ]
- ],
- "cols":
- [
- 0.0,
- 1.0
- ],
- "rows":
- [
- 0.0,
- 1.0
- ]
- },
- "menu_visible": true,
- "output.anaconda_documentation":
- {
- "height": 153.0
- },
- "output.exec":
- {
- "height": 100.0
- },
- "output.find_results":
- {
- "height": 0.0
- },
- "output.unsaved_changes":
- {
- "height": 100.0
- },
- "pinned_build_system": "",
- "project": "duplex.sublime-project",
- "replace":
- {
- "height": 46.0
- },
- "save_all_on_build": true,
- "select_file":
- {
- "height": 0.0,
- "last_filter": "",
- "selected_items":
- [
- [
- "",
- "~/annex/Work/PSU/Nekrutenko/code/heteroplasmy/pipeline-meta.sh"
- ]
- ],
- "width": 0.0
- },
- "select_project":
- {
- "height": 500.0,
- "last_filter": "",
- "selected_items":
- [
- ],
- "width": 380.0
- },
- "select_symbol":
- {
- "height": 392.0,
- "last_filter": "",
- "selected_items":
- [
- [
- "",
- "fasta_format"
- ]
- ],
- "width": 392.0
- },
- "selected_group": 0,
- "settings":
- {
- },
- "show_minimap": true,
- "show_open_files": true,
- "show_tabs": true,
- "side_bar_visible": false,
- "side_bar_width": 150.0,
- "status_bar_visible": true,
- "template_settings":
- {
- }
-}
diff -r af383638de66 -r 9d46c9ca7ceb duplex.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/duplex.xml Mon Nov 23 18:46:22 2015 -0500
@@ -0,0 +1,53 @@
+
+
+ from duplex sequencing data
+
+ duplex
+
+ duplex.fa
+ && awk -f $__tool_directory__/utils/outconv.awk -v target=1 duplex.fa > $output1
+ && awk -f $__tool_directory__/utils/outconv.awk -v target=2 duplex.fa > $output2
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ keep_sscs
+
+
+
+
+**What it does**
+
+This is for processing duplex sequencing data. It creates single-strand and duplex consensus reads from aligned read families.
+
+-----
+
+**Input**
+
+This expects the output format of the "Align families" tool.
+
+-----
+
+**Output**
+
+This will output final, duplex consensus reads in two FASTA files (first and second reads in the pairs). Optionally, you can save the single-strand reads too, in a separate FASTA file.
+
+
+
diff -r af383638de66 -r 9d46c9ca7ceb galaxy/align_families.xml
--- a/galaxy/align_families.xml Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-
-
- from duplex sequencing data
-
- mafft
- duplex
-
- align_families.py $input > $output
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-**What it does**
-
-This is for processing duplex sequencing data. It does a multiple sequence alignment on each (single-stranded) family of reads.
-
------
-
-**Input**
-
-This expects the output format of the "Make families" tool.
-
------
-
-**Output**
-
-The output is a tabular file where each line corresponds to a (single) read.
-
-The columns are::
-
- 1: barcode (both tags)
- 2: tag order in barcode ("ab" or "ba")
- 3: read mate ("1" or "2")
- 4: read name
- 5: read sequence, aligned ("-" for gaps)
- 6: read quality scores, aligned (" " for gaps)
-
------
-
-**Alignments**
-
-The alignments are done using MAFFT, specifically the command
-::
-
- $ mafft --nuc --quiet family.fa > family.aligned.fa
-
-
-
diff -r af383638de66 -r 9d46c9ca7ceb galaxy/duplex.xml
--- a/galaxy/duplex.xml Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-
-
- from duplex sequencing data
-
- duplex
-
- duplex.fa
- && awk -f $__tool_directory__/utils/outconv.awk -v target=1 duplex.fa > $output1
- && awk -f $__tool_directory__/utils/outconv.awk -v target=2 duplex.fa > $output2
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- keep_sscs
-
-
-
-
-**What it does**
-
-This is for processing duplex sequencing data. It creates single-strand and duplex consensus reads from aligned read families.
-
------
-
-**Input**
-
-This expects the output format of the "Align families" tool.
-
------
-
-**Output**
-
-This will output final, duplex consensus reads in two FASTA files (first and second reads in the pairs). Optionally, you can save the single-strand reads too, in a separate FASTA file.
-
-
-
diff -r af383638de66 -r 9d46c9ca7ceb galaxy/make_families.xml
--- a/galaxy/make_families.xml Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-
-
- from duplex sequencing data
-
- duplex
-
-
- paste $fastq1 $fastq2
- | paste - - - -
- | awk -f \$DUPLEX_DIR/make-barcodes.awk -v TAG_LEN=$taglen -v INVARIANT=$invariant
- | sort
- > $output
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-**What it does**
-
-This tool is for processing raw duplex sequencing data, removing the barcodes and grouping by them into families of reads from the same fragment.
-
------
-
-**Output**
-
-The output will be a tabular file where each line corresponds to a pair of input reads.
-
-The columns are::
-
- 1: barcode (both tags joined and ordered)
- 2: tag order in barcode ("ab" or "ba")
- 3: read1 name
- 4: read1 sequence (minus the tag and invariant sequences)
- 5: read1 quality scores (minus the same tag and invariant)
- 6: read2 name
- 7: read2 sequence (minus the tag and invariant sequences)
- 8: read2 quality scores (minus the same tag and invariant)
-
------
-
-**Barcode creation**
-
-For each pair, the tool will remove the tag at the beginning of each read and create a barcode by concatenating the two tags. The order of the tags is determined by a string comparison so that it will make an identical barcode from pairs of either order. The original tag order will be noted in the second column.
-
-Since pairs from opposite strands will have the same tags, but in the reverse order, this produces the same barcode for reads from the same fragment, regardless of strand. Then a simple sort will group all reads from the same strand together, separated into strands by the different "order" values.
-
-Examples::
-
- +---------------+-----------------+
- | input tags | output |
- +-------+-------+-------+---------+
- | read1 | read2 | order | barcode |
- +-------+-------+-------+---------+
- | ATG | CCT | ab | ATGCCT |
- +-------+-------+-------+---------+
- | CCT | ATG | ba | ATGCCT |
- +-------+-------+-------+---------+
-
-
-
diff -r af383638de66 -r 9d46c9ca7ceb galaxy/tool_dependencies.xml
--- a/galaxy/tool_dependencies.xml Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
- https://github.com/makrutenko/duplex/archive/master.tar.gz
- make
-
- *.so
- $INSTALL_DIR
-
-
- *.py
- $INSTALL_DIR
-
-
- *.awk
- $INSTALL_DIR
-
-
- $INSTALL_DIR
- $INSTALL_DIR
-
-
-
-
-
diff -r af383638de66 -r 9d46c9ca7ceb loeb-2.0.sh
--- a/loeb-2.0.sh Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-#!/usr/bin/env bash
-if [ x$BASH = x ] || [ ! $BASH_VERSINFO ] || [ $BASH_VERSINFO -lt 4 ]; then
- echo "Error: Must use bash version 4+." >&2
- exit 1
-fi
-set -ue
-
-BarcodeLen=${BarcodeLen:=12}
-SpacerLen=${SpacerLen:=5}
-StartClip=${StartClip:=5}
-EndClip=${EndClip:=5}
-BwaCmd=${BwaCmd:="bwa"}
-SamtoolsCmd=${SamtoolsCmd:="samtools"}
-PythonCmd=${PythonCmd:="python"}
-JavaCmd=${JavaCmd:="java"}
-PicardDir=${PicardDir:="$HOME/src/picard-tools-1.100"}
-GatkDir=${GatkDir:="$HOME/src/GenomeAnalysisTK"}
-
-Usage="Usage: \$ $(basename $0) [-d|-c|-a] ref.fa reads_1.fq reads_2.fq readlen [outdir]
-Run the Loeb pipeline as it was published in the Kennedy et al. 2014 paper
-(release 2.0). If -d (\"duplex\") is given, it will stop after producing the
-final duplex reads (step 62). This is the default. If -c (\"cleanup\") is given,
-it will skip producing the duplex reads, assuming it's already been done, and
-just do the filtering, realignment, and trimming (steps 63-71). If -a (\"all\")
-is given, it will do the whole pipeline (both halves). If it's not doing the
-second part, Picard and GATK are not required. Otherwise, provide the paths to
-the directories containing their .jars by setting \$PicardDir and \$GatkDir.
-Dependencies:
-Python >= 2.7 (and < 3.0)
-BWA <= 0.6.2
-Samtools <= 0.1.18
-BioPython 1.62
-PySAM 0.7.5
-Picard 1.107
-GATK 2.4-9
-To just check your dependency versions, run \$ $(basename $0) -v"
-
-function main {
-
- script_dir=$(real_dir)
-
- duplex=true
- cleanup=''
- if [[ $# -ge 1 ]]; then
- if [[ $1 == '-v' ]]; then
- print_versions $script_dir
- exit
- elif [[ $1 == '-d' ]]; then
- duplex=true
- cleanup=''
- elif [[ $1 == '-c' ]]; then
- duplex=''
- cleanup=true
- elif [[ $1 == '-a' ]]; then
- duplex=true
- cleanup=true
- fi
- shift
- fi
- if [[ $# -lt 4 ]] || [[ $1 == '-h' ]]; then
- fail "$Usage"
- else
- ref="$1"
- fastq1="$2"
- fastq2="$3"
- readlen="$4"
- fi
- if [[ $# -ge 5 ]]; then
- outdir="$5"
- else
- outdir=.
- fi
-
- if ! echo "$readlen" | grep -qE '^[0-9]+$'; then
- fail "ERROR: Invalid read length \"$readlen\"."
- fi
- if ! [[ -d $outdir ]]; then
- fail "ERROR: Invalid output directory \"$outdir\"."
- fi
-
- print_versions $script_dir
-
- echo "
-Parameters:
-ref: $ref
-fastq1: $fastq1
-fastq2: $fastq2
-readlen: $readlen
-"
-
- refdict=$(echo "$ref" | sed -E 's/\.fa(sta)?$//').dict
- rlenreal=$((readlen-BarcodeLen-SpacerLen))
- end_clip_start=$((rlenreal-EndClip+1))
-
- if [[ $duplex ]]; then
- echo '===== 56 =====' && echo '===== 56 =====' >&2
- # Concatenate the 12-nt tag sequences from the paired reads and evaluate for tag quality
- $PythonCmd $script_dir/tag_to_header.py --infile1 $fastq1 --infile2 $fastq2 \
- --outfile1 $outdir/read_1.fq.smi --outfile2 $outdir/read_2.fq.smi \
- --barcode_length $BarcodeLen --spacer_length $SpacerLen
- echo '===== 57 =====' && echo '===== 57 =====' >&2
- # Align each read to the reference genome
- $BwaCmd aln $ref $outdir/read_1.fq.smi > $outdir/read_1.aln
- echo '===== 57.2 =====' && echo '===== 57.2 =====' >&2
- $BwaCmd aln $ref $outdir/read_2.fq.smi > $outdir/read_2.aln
- echo '===== 58 =====' && echo '===== 58 =====' >&2
- # Make a single paired-end .sam file
- $BwaCmd sampe -s $ref $outdir/read_1.aln $outdir/read_2.aln \
- $outdir/read_1.fq.smi $outdir/read_2.fq.smi > $outdir/PE_reads.sam
- echo '===== 59 =====' && echo '===== 59 =====' >&2
- # Convert to .bam format and sort by position
- $SamtoolsCmd view -Sbu $outdir/PE_reads.sam | $SamtoolsCmd sort - $outdir/PE_reads.sort
- echo '===== 60 =====' && echo '===== 60 =====' >&2
- # Run the Python program 'ConsensusMaker.py' to collapse PCR duplicates into SSCS
- $PythonCmd $script_dir/ConsensusMaker.py --tagfile $outdir/PE_reads.tagcounts \
- --infile $outdir/PE_reads.sort.bam --outfile $outdir/SSCS.bam --min 3 --max 1000 \
- --cutoff 0.7 --Ncutoff 0.3 --readlength $rlenreal --read_type dpm --filt osn
- echo '===== 61 =====' && echo '===== 61 =====' >&2
- # Sort the SSCS reads
- $SamtoolsCmd view -bu $outdir/SSCS.bam | $SamtoolsCmd sort - $outdir/SSCS.sort
- echo '===== 62 =====' && echo '===== 62 =====' >&2
- # Construct DCSs from SSCSs using 'DuplexMaker.py'
- $PythonCmd $script_dir/DuplexMaker.py --infile $outdir/SSCS.sort.bam \
- --outfile $outdir/DCS_data.bam --Ncutoff 0.3 --readlength $rlenreal
- fi
-
- if [[ $cleanup ]]; then
- if ! [[ -s $outdir/DCS_data.r1.fq ]] || ! [[ -s $outdir/DCS_data.r2.fq ]]; then
- fail "ERROR: Duplex sequences missing! ($outdir/DCS_data.r[12].fq)"
- fi
- echo '===== 63 =====' && echo '===== 63 =====' >&2
- # Align each DCS .fastq to the reference genome
- $BwaCmd aln $ref $outdir/DCS_data.r1.fq > $outdir/DCS_data.r1.aln
- echo '===== 63.2 =====' && echo '===== 63.2 =====' >&2
- $BwaCmd aln $ref $outdir/DCS_data.r2.fq > $outdir/DCS_data.r2.aln
- echo '===== 64 =====' && echo '===== 64 =====' >&2
- # Make a paired-end .sam file for the DCS data
- $BwaCmd sampe -s $ref $outdir/DCS_data.r1.aln $outdir/DCS_data.r2.aln \
- $outdir/DCS_data.r1.fq $outdir/DCS_data.r2.fq > $outdir/DCS_PE.aln.sam
- echo '===== 65 =====' && echo '===== 65 =====' >&2
- # Convert to .bam format and sort by position
- $SamtoolsCmd view -Sbu $outdir/DCS_PE.aln.sam | $SamtoolsCmd sort - $outdir/DCS_PE.aln.sort
- echo '===== 66 =====' && echo '===== 66 =====' >&2
- # Index the final sorted DCS .bam file
- $SamtoolsCmd index $outdir/DCS_PE.aln.sort.bam
- echo '===== 67 =====' && echo '===== 67 =====' >&2
- # Filter out unmapped reads from the final DCS .bam file
- $SamtoolsCmd view -F 4 -b $outdir/DCS_PE.aln.sort.bam > $outdir/DCS_PE.filt.bam
- echo '===== 68 =====' && echo '===== 68 =====' >&2
- # Add readgroups field to the header of the final DCS .bam file with Picard to allow for
- # compatibility with the GATK using Picard tools.
- $JavaCmd -jar -Xmx2g $PicardDir/AddOrReplaceReadGroups.jar INPUT=$outdir/DCS_PE.filt.bam \
- OUTPUT=$outdir/DCS_PE.filt.readgroups.bam RGLB=UW RGPL=Illumina RGPU=ATATAT RGSM=default
- echo '===== 69 =====' && echo '===== 69 =====' >&2
- # Index the final sorted DCS .bam file
- $SamtoolsCmd index $outdir/DCS_PE.filt.readgroups.bam
- if ! [[ -s $refdict ]]; then
- echo '===== 69.2 =====' && echo '===== 69.2 =====' >&2
- rm -f $refdict
- $JavaCmd -jar $PicardDir/CreateSequenceDictionary.jar REFERENCE=$ref OUTPUT=$refdict
- fi
- echo '===== 70 =====' && echo '===== 70 =====' >&2
- # Perform local re-alignment of the reads using GATK. First identify the genome targets for
- # local re-alignment.
- $JavaCmd -Xmx2g -jar $GatkDir/GenomeAnalysisTK.jar -T RealignerTargetCreator -R $ref \
- -I $outdir/DCS_PE.filt.readgroups.bam -o $outdir/DCS_PE.filt.readgroups.intervals
- echo '===== 70.2 =====' && echo '===== 70.2 =====' >&2
- # This command is followed by the actual local re-alignment.
- $JavaCmd -Xmx2g -jar $GatkDir/GenomeAnalysisTK.jar -T IndelRealigner -R $ref \
- -I $outdir/DCS_PE.filt.readgroups.bam -o $outdir/DCS_PE.filt.readgroups.realign.bam \
- -targetIntervals $outdir/DCS_PE.filt.readgroups.intervals
- echo '===== 71 =====' && echo '===== 71 =====' >&2
- # Perform end-trimming of DCS reads. An example command that trims five bases from both the 3'
- # and 5' ends of each read is provided.
- $JavaCmd -Xmx2g -jar $GatkDir/GenomeAnalysisTK.jar -T ClipReads \
- -I $outdir/DCS_PE.filt.readgroups.realign.bam -o $outdir/DCS-final.bam -R $ref \
- --cyclesToTrim "1-$StartClip,$end_clip_start-$rlenreal" --clipRepresentation SOFTCLIP_BASES
- fi
- echo '===== DONE =====' && echo '===== DONE =====' >&2
-}
-
-
-# Get the script's actual directory path
-function real_dir {
- # Does readlink -f work? (It doesn't on BSD.)
- if readlink -f dummy >/dev/null 2>/dev/null; then
- dirname $(readlink -f ${BASH_SOURCE[0]})
- else
- # If readlink -f doesn't work (like on BSD).
- # Read the link destination from the output of ls -l and cd to it.
- # Have to cd to the link's directory first, to handle relative links.
- # With help from https://stackoverflow.com/a/246128/726773
- unset CDPATH
- local source="${BASH_SOURCE[0]}"
- while [[ -h "$source" ]]; do
- local dir="$(cd -P $(dirname "$source") && pwd)"
- local link="$(ls -l "$source" | awk '{print $NF}')"
- # absolute or relative path?
- if [[ "$link" == /* ]]; then
- source="$link"
- else
- source="$dir/$link"
- fi
- done
- dir="$(cd -P $(dirname "$source") && pwd)"
- echo "$dir"
- fi
-}
-
-
-function print_versions {
- script_dir="$1"
- echo -e 'VERSIONS\trecommended\tpresent'
- # pipeline
- echo -en 'pipeline:\te0897da\t\t'
- if ! [[ -d $script_dir ]]; then
- echo 'MISSING'
- elif ! which git >/dev/null 2>/dev/null; then
- echo 'ERROR 1'
- else
- unset CDPATH
- cd $script_dir
- if ! git log >/dev/null 2>/dev/null; then
- echo 'ERROR 2'
- else
- git log --oneline -n 1 | grep --color=never -Eo '^\S+'
- fi
- cd - >/dev/null
- fi
- # Python
- echo -en 'Python:\t\t2.7\t\t'
- if which $PythonCmd >/dev/null 2>/dev/null; then
- $PythonCmd --version 2>&1 | sed -E 's/python\s//I'
- else
- echo 'MISSING'
- fi
- # BWA
- echo -en 'BWA:\t\t0.6.2\t\t'
- if which $BwaCmd >/dev/null 2>/dev/null; then
- $BwaCmd 2>&1 | sed -En 's/^.*version.*\s([0-9].*)$/\1/Ip'
- else
- echo 'MISSING'
- fi
- # Samtools
- echo -en 'Samtools:\t0.1.18\t\t'
- if which $SamtoolsCmd >/dev/null 2>/dev/null; then
- $SamtoolsCmd 2>&1 | sed -En 's/^.*version.*\s([0-9].*)$/\1/Ip'
- else
- echo 'MISSING'
- fi
- # PySAM
- echo -en 'PySAM:\t\t0.7.5\t\t'
- if $PythonCmd -c 'import pysam' 2>/dev/null; then
- $PythonCmd -c 'import pysam; print pysam.__version__'
- elif which $PythonCmd >/dev/null 2>/dev/null; then
- echo 'MISSING'
- else
- echo 'ERROR 1'
- fi
- # BioPython
- echo -en 'BioPython:\t1.62\t\t'
- if $PythonCmd -c 'import Bio' 2>/dev/null; then
- $PythonCmd -c 'import Bio; print Bio.__version__'
- elif which $PythonCmd >/dev/null 2>/dev/null; then
- echo 'MISSING'
- else
- echo 'ERROR 1'
- fi
- if ! which $JavaCmd 2>/dev/null >/dev/null; then
- echo "ERROR: Java command \"$JavaCmd\" not found." >&2
- return
- fi
- # Picard
- echo -en 'Picard:\t\t1.107\t\t'
- if [[ -f $PicardDir/picard.jar ]]; then
- $JavaCmd -jar $PicardDir/picard.jar AddOrReplaceReadGroups --version 2>&1 >/dev/null | sed -E 's/\(.*\)//'
- elif ! [[ -f $PicardDir/AddOrReplaceReadGroups.jar ]]; then
- echo 'MISSING'
- elif [[ $($JavaCmd -jar $PicardDir/AddOrReplaceReadGroups.jar 2>&1 >/dev/null | sed -En 's/^Version:?\s//ip') ]]; then
- $JavaCmd -jar $PicardDir/AddOrReplaceReadGroups.jar 2>&1 >/dev/null | sed -En 's/^Version:?\s//ip'
- else
- echo 'ERROR 1'
- fi
- # GATK
- echo -en 'GATK:\t\t2.4-9\t\t'
- if ! [[ -f $GatkDir/GenomeAnalysisTK.jar ]]; then
- echo 'MISSING'
- else
- set +e
- version=$($JavaCmd -jar $GatkDir/GenomeAnalysisTK.jar --version 2>/dev/null)
- exit_code=$?
- set -e
- if [[ $exit_code == 0 ]]; then
- echo $version
- else
- version=$($JavaCmd -jar $GatkDir/GenomeAnalysisTK.jar 2>&1 >/dev/null | sed -En 's/^.*version\s([0-9.-]+[0-9.]).*$/\1/p')
- if [[ $version ]]; then
- echo $version
- else
- echo 'ERROR 1'
- fi
- fi
- fi
-}
-
-
-function fail {
- echo "$@" >&2
- exit 1
-}
-
-
-main "$@"
diff -r af383638de66 -r 9d46c9ca7ceb make-barcodes.awk
--- a/make-barcodes.awk Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-# The awk code that transforms the one-line fastq record pair into the output that can be sorted
-# by barcode.
-# Input columns (the 4 FASTQ lines for both reads in a read pair):
-# 1: read1 name
-# 2: read2 name
-# 3: read1 sequence
-# 4: read2 sequence
-# 5: read1 + line
-# 6: read2 + line
-# 7: read1 quality
-# 8: read2 quality
-# Output columns:
-# 1: the barcode, put into a canonical form
-# 2: the order of the barcode halves ("ab" or "ba")
-# 3: read1 name
-# 4: sequence of read 1, minus the 12bp barcode and 5bp invariant sequence
-# 5: read1 quality scores, minus the same first 17bp
-# 6: read2 name
-# 7: sequence of read 2, minus the first 17bp
-# 8: read2 quality scores, minus the first 17bp
-# The canonical form of the barcode is composed of two concatenated tags, one from each read.
-# By default, each tag is the first 12bp of the read. The tag from the first read is the "alpha" and
-# the tag from the second is the "beta". The barcode is formed by concatenating them in an order
-# determined by a string comparison of the two. The lesser tag is first (if they are equal, the
-# beta is first, but then you have bigger problems).
-
-BEGIN {
- FS = "\t"
- OFS = "\t"
- # The number of bases from the start of each read that form the two halves of the barcode.
- # (this should be half the size of the full, canonical barcode).
- if (TAG_LEN == "") {
- TAG_LEN = 12
- }
- # The number of bases in the read that are between the barcode and the start of the actual sample
- # sequence (the restriction site in the Loeb 2014 protocol).
- if (INVARIANT == "") {
- INVARIANT = 5
- }
-}
-
-$3 && $4 {
- alpha = substr($3, 1, TAG_LEN)
- beta = substr($4, 1, TAG_LEN)
- if (alpha < beta) {
- barcode = alpha beta
- order = "ab"
- } else {
- barcode = beta alpha
- order = "ba"
- }
- name1 = $1
- name2 = $2
- seq1 = substr($3, TAG_LEN + INVARIANT + 1)
- seq2 = substr($4, TAG_LEN + INVARIANT + 1)
- qual1 = substr($7, TAG_LEN + INVARIANT + 1)
- qual2 = substr($8, TAG_LEN + INVARIANT + 1)
- print barcode, order, name1, seq1, qual1, name2, seq2, qual2
-}
diff -r af383638de66 -r 9d46c9ca7ceb make_families.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/make_families.xml Mon Nov 23 18:46:22 2015 -0500
@@ -0,0 +1,83 @@
+
+
+ from duplex sequencing data
+
+ duplex
+
+
+ paste $fastq1 $fastq2
+ | paste - - - -
+ | awk -f \$DUPLEX_DIR/make-barcodes.awk -v TAG_LEN=$taglen -v INVARIANT=$invariant
+ | sort
+ > $output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**What it does**
+
+This tool is for processing raw duplex sequencing data, removing the barcodes and grouping by them into families of reads from the same fragment.
+
+-----
+
+**Output**
+
+The output will be a tabular file where each line corresponds to a pair of input reads.
+
+The columns are::
+
+ 1: barcode (both tags joined and ordered)
+ 2: tag order in barcode ("ab" or "ba")
+ 3: read1 name
+ 4: read1 sequence (minus the tag and invariant sequences)
+ 5: read1 quality scores (minus the same tag and invariant)
+ 6: read2 name
+ 7: read2 sequence (minus the tag and invariant sequences)
+ 8: read2 quality scores (minus the same tag and invariant)
+
+-----
+
+**Barcode creation**
+
+For each pair, the tool will remove the tag at the beginning of each read and create a barcode by concatenating the two tags. The order of the tags is determined by a string comparison so that it will make an identical barcode from pairs of either order. The original tag order will be noted in the second column.
+
+Since pairs from opposite strands will have the same tags, but in the reverse order, this produces the same barcode for reads from the same fragment, regardless of strand. Then a simple sort will group all reads from the same strand together, separated into strands by the different "order" values.
+
+Examples::
+
+ +---------------+-----------------+
+ | input tags | output |
+ +-------+-------+-------+---------+
+ | read1 | read2 | order | barcode |
+ +-------+-------+-------+---------+
+ | ATG | CCT | ab | ATGCCT |
+ +-------+-------+-------+---------+
+ | CCT | ATG | ba | ATGCCT |
+ +-------+-------+-------+---------+
+
+
+
diff -r af383638de66 -r 9d46c9ca7ceb misc/00README.txt
--- a/misc/00README.txt Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-bug1/diff.family.msa.tsv
-bug1/diff.sscs.after.fa
-bug1/diff.sscs.before.fa
---------------------
-Files on the differences between the outputs of two versions of duplex.py. The diff.sscs.*.fa files are the SSCS's (from --sscs-file) which are present in both outputs, but have different sequences. diff.family.msa.tsv contains the MSA's which produced the SSCS's.
-before = a0d599c
-after = 665ebe2
diff -r af383638de66 -r 9d46c9ca7ceb misc/ACCGACACAGACTAGGGATCAAAG.msa.qual.tsv
--- a/misc/ACCGACACAGACTAGGGATCAAAG.msa.qual.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
->ab.1
-AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGAACAGATTTTCGTTCATTTTGGTTNTNNGGGTTTGTTN
-........................................................................................................................................................... ...... ...................... ....................... . . . ..... . ... .. .. ........ .. ....... . ... .. . .. ..
-..................................................................................... .. ......................... .... ................ .......................... ......... ......... ................... .. .. . .. ......... .......... . . . ..... .. .. .
-......... ............................................................................................................................................... .. ............................. .. .... ........ ......... ...... ........ . ...... .. .. ..C ... ...... CA. ..
-................................................................................................................................................................................. . ....... ........................... . .. . .......... ........... . ... . . . . . . .
-........................................... ................... ...... ........................................................................................... . ... ....... .... ..... .. ............... .................... ..... .. . .. ...... .. . . . .. .....
-................................................................................................................................................................... ......................... .. ............. ............ .. .. ... ...... .. ... . .
-............ .... ..................... ................................................ ..... .......... .............. . ................................... .................. ...... . .. .. ............. .. . .. .. ...... . . .. ...C. AC..
-.................................................................................................................................... ........... ............................... ...... . . ...... .... ..................... . ....................... . . . . ...
-... ..... ....... ......................... ................................ .. .......................... ....... . ........... .......... ........... . ..... ... ........... ........................... ............ ..... .. . . . .. . . ... ..
->ab.2
-GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTAGAGCCCACTGTAAAGCTAACTTANCATTAACCTTNTANNNCANAGATTAANCNAACCAACACCTNNNNNCANCNNANTNCCCNAACNACATANNACCNN---------
-. ............................... .................................................................. ...... ........... ....... .. .... ........ ........ . ....T.... .. . .. ..... ... . ..... ... . . . . . . . ..... C. . .........
-.................... ... ............. ...... . . .................................... .... . . . . ... .... . . .. . ...........T..... . . .....T...---------.. ........ .. . .. ... . . . A . . . .
-....................................................................... ....... ........... ............................ ......... ............................ . .... .. . ... . .. ... . ... ... ... . .. . . . . . . . .........
-......... ...... ............................................................................... ...................................... ..................... .. ..... .. ......... . . . . . .. . . . .. .........
-............................................ .................................. .......... .............................. ... ... ..... . ....... . .. .. .. . .C . . . . ......C ... . ..C. ..C . . .. . . ..C . . .... .........
-............................................................................................................... .................... ........... ......... ...... . ...... . . .. . . . . .. . .. .. ... . . .. . A. C . .. .........
-. ........ ........................ .. . ...... . ...... . ....... . ............... ....... .... .... .. ....................T. . . ....... . . . ... .. . . . .... . ... .. ... . . .. ..T. . . ... . . .........
- ... . .... ................ ........................ .. . ..... . . .. . ................ . .... ........ .... ............ . .. . .... .. ... .. ....A.. . . . .. .... . C . . . . .. .. .........
-. ..... ... .. ......... .. . . .. ............ ....... .......... ......... ... .. .... .... .. ...... .... ..... .. . .. ... . . ..... . . ... .. ..... . . . .. . .........
->ba.1
-GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTANAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTNAAATGCCCCAACTAAATACTACCAN
-................................................................................................................................................................ .. ..................... ........ . ..... ..................... . . . .. .. . ..... ... .C... . . . .
-............................................................................................................... .............. .......... ............................... ......... ..... ...... ....... ..... . ..... . ........... .... ...... ... ..... ... .....
-.................................... .......... .. ........................................ ........... ................ ... . ... ..... ............. ....... ... .. . ......... ... .. . ...... .. . . .. ......C .. .. . . . . . .
-............................................ ...................................... ......... .................... ... . ................ .. ....... ........ ... .. .. ..... ... .. .. ... .... . .... .... .. ..... . . .
-........................................................ ... ............................................... .. ....... .. ......... . ..................... . ......C.. ..... . ..C C ......... .... ...... . . .... .. . .. ... . .. . . .....
-............................................................................................................................................................. ........................... . ... .... . . . . ... ...... . . .... ..... ... . . . .. .. . .....
-..................................................................................................................................................... ......... ............ ... .. ..... ... ...... .. ....... . ..... ......C . .. . . .. . .
-................................................ ................................... .. .... . .... . . .... ........ .. ....... .. . ........ .. .... .. . . . . .... .. . . .. .. ...... . .. . . ... .. . . . . . . .
-......................................................................................................................... ................................................ ... .......... ...... .. ........ .. . ........ . ..... .. .. ... . ... .. C .
-.............................................................................. ................................................................................................ .... .. ......... .................... .. . . ...... ....... ... . .. .. . . . ...
-.................................................................................................... .................................. ........ .......... .... . ..... . . . .. ... ..... .... . .....C... ... . .. ... .. .. . .A . .
-..... ............................................................ .............................................. ...... ... ................ . ....................... ........... . . ... . ... . .. . ..... . . . .. . . . . . . . ..
-........................................................................................................... ................................. . ..................... .. .............. ....... C.. ... . ... .... ... ... ..... . . .C ... ... . .... . ..
- ...................................... . ............ ........ ........ ....... .............................. ................ . ..... ............. .. .. . . ..... .. .. . . .. . ............. .. ... . . .... ...... .... . .... . .A ....A .. ... .. . . ....
-......................................................................................................... . ...... ...................... ... ..... ...... .. ...... . .. ......... .. . C . ... .. . ......... .. . . ... . .... .. . . ...
-........................................................................................................................ ............................ ....... . .. ...... ......... . ... .. . .. .. . . ....... ... ..... . . . . .. . . ..... .. . . .
->ba.2
-AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGCTTGTGGGGGNANTGAATGAANCGAACNGATNTTCGNNNNTNTTGGTTCTNNGNGTTTGTTN
-............................................................................................................................... ..... ......... . ......... ....... ....... . ............. .. ...... .. . .. . . . ..C . . . ..
-............ ............................................................................. ....... .................. ................ ............ ........................ . ........ . .. . ..... .. ......... . ...... . .. . . . . . .... .
-.. ......... ...... ............ . .. .......... ........... . . .... . .... . ....... .. .C.......... ......... .. ......... . . ........ ... . .... . . . . .... .... ... .. .. .. .. . . .
- .. ..... ........................... ....... .......... ...T.............................. .... ...... ........ .... ..... . ......... .. ...... ........ .. ... ........ ...... . .. . . . .. .... ....
-... ... . ........ ........ .. . .................... ..... ........... ........... ... . . ....... ..... .. ....... ....... .. . . . .......... . . . . .. . . . ... .. . . ... .. . ..
-................................................... .............. .................................... .... ..................... . ........... .................. ....... .. . . . .. . ...................... . . . . ..... . . . ..
-................. .................. .......... ...................... .................. ...... ... ......... ....... . .............. . ...... ........ . ............ .. .... .G ... ... .. ...... . . . ... .. . . .
- . . ... .. ........ .. ...... ....... . . .. ........ ..... ........ . ... ........ .. ........ .. ...... ..... .. ...... ............ ..... . C.. . ..... . . . . .. . . . ... .... ... . . . .T. . . .
-. ....... .................................................................... .................................... ............. ..... . .. . ......... . ... .... . . .C ... .. ............ .. . . ... . . .. . . .
-............................................................................................... .. ........ .... ...... ............... . ...... ...... . .. . .... . . . . .. .... .. .. ...T. . . . . . ... .. . . . .
-. . ..... ...... ... .......... ............. .. ... . ... .... . .... . .. ... .. . ....... . . ...G . ...... . ....... ... . . .C.... ... . .. . .. ... .. .... .A .
-... ... . ... ....... ... .............. .. .......... ....... .... . .. .. .. .... . ..... ... . ..... . . ... ... . .. .. .. . .. . . . . . . . G . . .. . T . . . ...
-.................... ...... ....................... ... ............................ ........... ... ..... . ............... ... ... . .... ... . .. .. ... ... ...... ... ... . .. .... . . . . . . .. ... .
-............ ........ ................ .... .T.............. ........ . .. ... .... . .. .G.... ....... . .... ...... .... ....... ...G..G. .. . . .T . .. . . . . .... . ... ... ...... .. . .... . . .
-......... ................................. .................................. ............ .. . .. .. ... ............. . ... .. . . .. . ......... . .... ...... . C ... G .. ..... ....... C.. .. .
-................... ......... ............................................ ............ ...................... ................. ...... ...... ........... ................. .. ...... ..... ... ....... ...... .. . .. . .. . . .. . .....
diff -r af383638de66 -r 9d46c9ca7ceb misc/ACCGACACAGACTAGGGATCAAAG.msa.tsv
--- a/misc/ACCGACACAGACTAGGGATCAAAG.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
->ab.1:
-AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGAACAGATTTTCGTTCATTTTGGTTCTCAGGGTTTGTTT
-......................................................................................................................................................................................................................................................T...............................G...G.
-.........................................................................................................................................................................................T.........................................................C.....T......................AT.T........
-.............................................................................................................................................................................................................................................................C......T.G......G..............
-.................................................................................................................................................................................C............................................................................A.......G.....................
-...........................................C..................................................................................................................................................................................................C.............................................
-.........................................................................................................................................................................................................................................C..............A.......................A...T.......
-.........................................................................................................................C..................................................................G.....................................................T..........G......AC......C...AC..........
-.......................................................................................................................................................................................T.......C...........................................................................T.....GT.........
-.................C......................................................................................................................................................T.............................................................T..........C..A.T.......G..............GT.G..T.......G
->ab.2:
-GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTAGAGCCCACTCTAAAGCTAACTTAGCATTAACCTTTTCCGTTAACGTTTAAGCAAACCAACACCTCTCTACAGTGATATGCCCCAACCACATCCTACCGC
-...........................................................................................................................................................T......T....T.................T..........C..C..........C........C.....C................C..........C.......C.CA........AC.........
-...............................................G.........................................A.....A.............................A...........T.................T.................G..G.G..CACT.TAAAGCTAACTTCT.ATTAACCTTT.A.GA.AAAG.TTAAG.GAAC...CGCCT.T.TACAT.TAAATGCCAC.C..AATTACTA.CGGATGGC.AA.
-............................................................................................................................................................................C..............T...................T.............AA......TA......G.............T....TC.TC..........T....AA.CA.AT
-................................................................................................C..........................................................................T.T....................G.C.....C.....CA...........AA...T.A.A.A....G...T.......A.T..TCTC..A.....A....T....A..C.T.T
-.......................................................................................................................................A.........................A....CG.....A..........C.C.......G...C....C....T............A......ACAG..CTATC.........CTCT..AC..C.A.....A.T..T.....TACA.T.
-..........................................................................................................................................................C..............................................C...................TAT....A.CA.C.AAG..A...TC.A...T....CAC.A...............A.......
-..................................................................C............................................C.......................T.......C..........C....A....A.....................CT......G.C.C.A......C...........CA.AC.....AC.....AC..........C.......TCTCAT.A..A....AC...A.....AT
-............................................................................................C.A...............................A.....C..C................C.......A.....T................CCCCC..AC......CA..C...CT..C......C...AA...C.TTA.CC.A..C.........C....C.CA.C.C..........ACA....ACA.C.
-..................................................A....................................C.........A..C............A..............A...........T.G.A.A........A.C.......AC...A........A.....C.......CT..C..TC..T.A.....C..T.CC.CA......A.AC.CC.TG.C.G...CAT...T...TT.A.A..CA.A..CATCA.ATT...AC.
->ba.1:
-GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTAGAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTGAAATGCCCCAACTAAATACTACCGT
-.........................................................................................................................................................................................C....................................................C......................C..............C.......
-................................................................................................................................................................................................................C.........................................A.......C.C..........C..C........C
-............................................................................................T................................A...........C.......................T....C.................C............T............C.......................C..C.......T..A..........C............C....T....A.
-.........................................................................................................................................T...........A.....................A.......T.....AT.A...............T....................C........TA...........ACTG...A...A.C....AA.T..AT.TACA..A...
-..........................................................................................................................C...........................................C..A.....C..T..C..C...........T...........C.....C....C.CCA...C.......C..C........................T..................AC
-................................................................................................................................................................................................................A............................AC.A.......A.......A..C..............C......ACC
-................................................................................................................................................................................A........C....................................CA.................A.............C.......TG...C.........C.T.C.
-....................................................................................C.........G............................................................C..T.............A.....T......A.CA.A...T...........................C............C.C.CT.........A.....A.A.C...T...T....C........T.
-......................................................................................................................................................................................................C...........................................................T......T......C.C..A......
-...............................................................................................................................................................................C........C...........................................................................C.....................T.
-...........................................................................................................................................................T..................C...........CA......C..................C.........T............CT..........A....C..CA.T.C.A...A......C...A.....
-.............................................................................................................................................T.C.....................................C...C.............A...C....C...C..............C.A....C...C....C........C..........C........CCC....C..CC
-.....................................................................................................................................................................C..................CA........C.C..........................................C...C.........C..T.......A........C........A.
-...............................................................T.......................................................................................................A.........................................A......A.............C.......C..A.....A...A...........A...A.............A..
-........................................................................................................................................................................................C.T....C.....................C...........C...........T...AC.A..............C...T.....CA..C..........
-..............................................................................................................................................................................C.........C..C....................A.C.......C....A............C.......A...C...................................
->ba.2:
-AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGCATGAAGGGAACAGATTTTCGTTCATTTTGGTTCTGAGGGTTTGTTT
-...........................................................................................................................................................C...................................C.....................C...TC...G.......................C......G....G...........A..........G..
-..........................................................................................C............................................C.................................................C...............C.......................A.............GT.C.CTG......G.......G..........C.....G.....
-......................................................................A.......................C......................C..........................................................G.T......T...................A..........T.....T.A............A.CTC..A..C.....G.G..AG.....CT.G..GAG..AC.C.A..
-............................................................T..............................................................C.......................................................................C.....................T....C.C........C...G.C....C.......GCG.A.G.GC..........AT...A.....C
-.........T.................T....T.....................................................T...T............................................C....CT...............T.........C...G.......G.C...TG.....C..C.........T...T....T.T......G.............T....C.....G..G.GG.T..CGC.G.G.....GCT....G....G
-.........................................................................................................................................................................................................................A.C..C.........G....T......C.G.A.....G......C...G...GG...T...A....G
-.................................................................................................................................................................................C...........G.............................C..C.G.......G.G.........A.TG......G........G.CT.G...C...T.......
-...C.....................................................T....................A........................T........................T.....................C..TT........T...A......G..T...A........................A....T.G........G.A....A.T.TC..AT.T.GTC.T..TAC..G.AT.CT....AT.G...AC........GC
-...........................................................................................................................................................C.....................C.......C....................................CG..C....AG.C..G......C...TCTG.........C.....C.CT.C...TGC...CC
-..........................................................................................................................................................................T................C.........A........T......G..AT.....G...A..T..G.G.....G..C.........G.T...G.........GG.GT..G.....G
-....................C............C......................C.............................A.A.......GC...G....C.....G.................C..C................TG...C....C..........CA....T.C.T....C....C.GAT.....C........A.....TA....TG..AT..T.AC.G.A.....T..G....C....G...GTG.AC.TG.G..TT...C.A...
-.........C................................................................................G.....C...A......................................T..........G..T.TC.GG..T....T...C.GTT......TA..G.G.TC.....AT.....A..TG..AG...GTG..T....G......TG..G......A..GT.....G.T.G.G....G....A.T.T.TG......
-................................................................................................C............................G.........T....................G......T....................................C...........CT..A..C......G......G...AG..T..C....C..G.......GC..G.....G.CGT..G......
-..............................................T..............T...........A..G...........A.....A.G....A..................A........................G..G..G..........TC..A.....G...................................A..........T..G...........G..A...CG..T.CA..GGG......A.G.G...AG..TG.A.GC...GG
-.........................................................................................................................................................C...C.............CG...C..C.....G.TGC...........C...............A.C..C.G...C.....C..ATG....AC.C...............GA..A.GT.CT....G.....
-.........................................................................................................................................................................................................C...............A....G.G...T..TAC........C.A......G....G..A............CC..........
diff -r af383638de66 -r 9d46c9ca7ceb misc/ACCGACACAGACTAGGGATCAAAG.tsv
--- a/misc/ACCGACACAGACTAGGGATCAAAG.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:1105:17191:19189 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGTACAGATTTTCGTTCATTTTGGTTCTCAGGGTGTGTGT GFGGGGGGDEEGGCFFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGAFGGFFGGGGGGFFGDEGGGDGGGGDFFCGGGGGDGGFFAFGGFFGGGFGGGCFGFFGGEGGGFGFDGGGEGGCFFDDFG:CFGGEFGGFGGDFGGGGGGGGCD,ADF9FG,,@7EE777CEFCDFC>BBCEDG7*1?DF7>FCGC?CFGFCGFGG5=CC35/7*9++>FG6:**:*>5<)7536C*9@CB7B?D)3)06@)9C(9:1(( @M02286:57:000000000-AGCM5:1:1105:17191:19189 2:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATATCACCCCTTCTATCCCCTCTACCCCCTCTATAGCCCACTCTCAACCTAACTTAGCCTTAACCTTCTCCGTCAACGTTTAAGCAAACCCACACCTCTCTCCAGTGATCTCACCCAACCAACTCCTACCGC :,C@@8CFEEFGGGGGGGCFFAEFGGGGGE@FG,@FEED@C7=FFFF,3,DEEG:58C3DCBCDCCE,;,EF:BC8:C:,@D*=,AD*6+*2+)/*)2;3:*.2++./5,.*:)2(72-6)(.5((,8@?6704()972(-)))))))..3:(((-423))))).((
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:1105:8085:17960 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGTAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAACCGAACTGATTTTCGTTCATTTTGGTTCTATGTGTTTGTTT GCCFECCECFGEGDGGGFGFGGGGGGFG@EEFEEEG,7EB;ECC6>**41>DC7>CEC9;<9D@DFF7:45C*/*::32A+9?2<7C8DFDCD/C>D9CCFFC=**.)7()).9)9*)7C:?;)44/95).442))..96(,2,8( @M02286:57:000000000-AGCM5:1:1105:8085:17960 2:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATAGTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTAATGCCAATCGTCCTAGAATTAATTCCCCTAAAAATATTTGAAATAGGTCCCGTATTTACCCTATATCACCCCCTCTACCCCCTGTAGCGCCCACTGTAAAGCTAACTTCTCATTAACCTTTTAAGACAAAGCTTAAGAGAACTAACGCCTCTATACATTTAAATGCCACACATAATTACTACCGGATGGCCAAC :DFFEGCFCFC<<D9==<+3,@,@,@9@F9CE;EG?*BEE?;EF8*1**5=,,1;*)440<=+=8:+*11/=+4+0+)3;+1*;3+1+6++)92/*)*/+1)3*;)*)143)(,.),)./64-))))-9424)).(().)))).).)(((,((((((,(
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:1108:14879:20886 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGAACAGATCTTCGTTTAGTTTGGTGCTCAGGGTTTGTTT FCGGGGFG;+FFCGD@FFGFGFGGGGGGGGGGGGGGGGGGF,>DD9=9=DGECFGC@:CC8CAFCFFECG5*,2=F,9C;<,2=EFGD7DG*=DGEGEEGG46CFF?<*093)7*9:DFF64F9*)7>)797*9>?1))2)6<?0((.,B3>FGAD=FCG8FCFFCCFGGGCCDEF9F>*>*358DB,>C***:*=CC*?)AD+1++16C7*;.+1+49:D47D7++/47::):4<9+*09*)1+6***60<+6**253)34()2,-)0444/..))((,-.)))5((-(,.)..))))),))
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:1116:18034:3824 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATCGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGAACAGATTATCGTTCAGTTTGGTTCTCAGGGTTTGTTT GGGCGGFGGGGGDGGGGFFGCFGCFGGFGFGGGGGGGFGFGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCEEEEFGGGGGGGGGDGGFGGAFFE8FFGGGGGGCEFGCGGGDFE9FGGDGDC@EGCFGGCGGAFGGGF:FFFCFGGGG89FDGFGF9AD:CEDC@CED7@E,@,@E58EGC43=DD7EDGGF::EGFGGFE5?E<5D8C=*9*;<*>3:<:7DDEG@<*/6:CFCGG?77B0:1:FF405415*.0)9)6*7(4))--6):).01)(( @M02286:57:000000000-AGCM5:1:1116:18034:3824 2:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCCTCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCTTTTACCCCCTCTAGAGCCCACTGTCAAGCTCACTTACAATTAACCTTTTAAGTTTAAGATAAAGCGAACTAACACCTATTTATCTCGAAATGCCACAACTACATACTCCTGT 9CFG7F@F@,C;C@@E,8;D9E9:F9;C7,3@C**;:?;>11*14>B,44/4C58A??A9;**)*23+317*3.0++3;++1+;+1;.6*/0+)+3+)3+2@;))2.)).33))3/38)(/)*.)*-)-4)(36)-5)..4),,4?<4)-)().)
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:1119:13600:19629 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGCTACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGACTGAAGCGAACAGATTTTCGTTCATTTTGGTTCTCAGGGTTTGTTT CGFGCFFFGGDGGEEGGGG8CEF8B,5;9;,8:@CE4>9,>@FD7DC9C;DCDF7*4:B8=CCEF678>CF6=GGCC*5C5>D)37=*0+609<32*)58597B*<:4*1,)*6462,<)0..6?4::><:(( @M02286:57:000000000-AGCM5:1:1119:13600:19629 2:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAAGGCCCGTATTTACCCTATAGCACCCACTCTCGCCCCTATACCCCCTCTCGCGCCCACTGTAACGCTACCTTATCATTAACCTTTTACGTTAAACAGTACTATCACCAACACCCTCTTAACGTCAAATGCCACTACTACATCTACACTC C@FGGEDGGGGGGGGFGFGFGGGFFGGGGGGGGGEGGGDDGE7@,CCGGG9CFGEGGFEFFAAEFE:ADCCGFGFGGCC49BFFGEFGG9,FF8,C,3@<,,753B53@,4@6**>4:**7+>2>CGGC<8**2:DD*8)+3::=5)=DD*6+9+;C+1+;)2.:27:9*4*()2*-*)..*))/)6081(()()((.*)*)(,(-().)).,3((,.:9)))))()(
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:2108:19083:9841 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCCATGAATGAAGCGAAAAGATTTTCGTTCATTTTGGTTCTAAGGTTTTGTTT CFGGGGGGGGGGGGGFDFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFCFGGGGGGFGGGGGGGGGGGGGGGGGCFGFGDFGGGDFGFGFGGGGFGGGGGGGGGGGGG>FFGEDGG9EGGDGCGDGGGGGFGFFCFDGCFDF,@CGF?GGDEFFCFCFFGGGGGGD>92D>,DGGFF99EE?:77*=CCE7:78=9C6*;?+:9*+2*2:CD*77FCF,DFGGA:DFC,6@EE::*1*8,5D;@77*;,A,=:*:*6,C,9*AE***;*+3;E++*2**;:+)+++2;FF)1*05+1)*00+:+++.)2***7>)0)8)211*+.-.9<26)(01,).*).(())(/(4)=**69((,
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:2116:24476:10762 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCCTTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAAGAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGATGCGAACAGATGTTCGTTACTTTTGGCTCTACGGGTTTGTTT CDFFFEGG@@@C+CFGD,6CCFFEDGGGFDFFGFGDEED,,CCFG7:FCBCFDFA,8;DEE@*1>2>F,:9,5;;;>DFGGF=B9CF9FD:FDC;,,@338+8DC=FGG,3D,*6*@*,@>@,2,,;D*=*=,,4,6/=9E8,,,+60B6706C+++***)*;::+//***+3+08+/+*0).2*+/+*+/9*.2,3(>:().)((.)-)4/@A:9-+6*-)9**)((*.-7><2()5)7.)
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:2118:18360:9271 1:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGTGAAATAGCATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGGGCAATGAATGAAGCGAACAGATTTTCGTTCATTTTGTTTCTCGTGGTTTGTTT @E@EFGFCFEGEE@FFFGCCFGFGGGGCFFFEFFFGFFGGDAFFGFGFCFGFEFGG:@C??767EBDG5C@*:)*(.2./820)0*(9)*0((*08(98:(. @M02286:57:000000000-AGCM5:1:2118:18360:9271 2:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATCCACATCGTCCTAGAATTAATTCCCCTAAAAATCATTGAACTACGGCCCGTATTTACCCTCTAGCACCACCTCTTCCCCCTCTACCCCCTCCCCCCCCACCTCTAACACTCACTCTGCCTTAACCCTTTAAGTTCATTATCCAACACACCAACACCCCTCTCCCATCACATGCCCCAACACAATCCACACCC ,6CF+6,CF<@,CEFFGGGFEAE6CFGF+@C7<6FFG:EEFGE:8CDFEEF7:4=?,C,CE<:F@3@C,,7@E,33:9,>,,7,1>***,,><,<=?C****)40**7**2++++2**)30:+*3+*0+:*:**)+2/0*****+*0).2/)(2.*0711*25))(((*0((-,4)/)*)59(*78(0.0)*0*((,((
-ACCGACACAGACTAGGGATCAAAG ab @M02286:57:000000000-AGCM5:1:2118:21380:20025 1:N:0:1 AGGAGTCCGAGGAGGTTCGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGTGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGATTGTGGGTGCAATGAATGCAGAGTACAGATTGTCGTTCATTTTGGTGTTGAGTGTTTGTTG GGG-@CFFD+@C:7;B<,@@AFF@FFFGGGGCFEGFG9DFGGF,@FGCF=AF8CAEFB;,887C@7B=;EEE7?9>D9DCFDG?7CE4B8CDC:8FC?EF*++0;7ECF8><,?FF@,78:=<+AA,=,3@F,333>9C,333++++5,,3@,3>DFC@,7,34418*1,,6==*::,>;=E5,=*6++3+2,:*2****3+<9+*0++++++5+++3*/0*2)**)**))*0+**))*))(1,0)032)(**1)))**)))).)*-/)(2(*0(,/44)**/)--)(
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1103:11149:4230 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTACAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGCACCAACACCTCTTTACAGTGAACTGCCCCAACTAAATCCTACCGT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGDGGGGGGGCGGFFFGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGE?@CF77+<+22:+03:+/?747>/9.7::>54.*.@AF)0-*:99)(.:23,- @M02286:57:000000000-AGCM5:1:1103:11149:4230 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGCTATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGCATGATCAGTACTGCGGCGGGTCGGCTCAGGGTTGTGGGGGCAATGCATGAAGGGCACAGATGTTCGGTCATTTTGGTTATGAGGGTTTGGTT ::DFFFFGD@@FG>FCG9@EGGGCEGGGGGFGFGGGGGGF9EFGGGGGCFG9FGGGGCGGCE9FCFGGCFBCCFFD999D,B99DFCD,@>EG68;4@+D7FFACAFGG5?E*AF,32>7>7@C27B++=4B;)8*)).08(*)*2*..)91))/5760(4<.6)*)6)(04(,).4)))..4((-()).*)(.()-)))4:5(-4((,
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1104:18151:9919 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTAGAGCCCACTGTAAAGCTAACTTACCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCATTACAGTCACATGCCCCAACCAACTACTACCGC FGGGGEGCFGGGGGFFGGFGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGCFCFGGFGGGGGGGGFEGGGGGGFGFGCDFEFGGFGFGFFFFGFFGG:>A7=>BEF;CG*=:E?C,1,68C>EF++;ED9C*<+;<9CC:<7CF7+:F7:+*277CC:>)7?5*.(9889@2**0)))).3?BB0((4(((05AAAF0( @M02286:57:000000000-AGCM5:1:1104:18151:9919 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTCTCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGCTTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGCAATAGAATGATCAGTCCTGCGGCGGGTAGGCCTAGGATTATGGGGGCAATGCAGTACGCTGACAGATGTTCGTTCGTTTTGGTTCTCAGGGTGTGTTT =C9FFGGGGCEG+@FBEFCCCDFGGGGGD9FFGGGG9CFA@FFFGGGGFGG9EFGGDF+>+,5@EG?CGC*>*A8,:+:7>CF,;B+5@FFFG>DE(10;3F,CFG,@,A@D,5AAD8,,CFC:>@FFGGCGC,**@8F,,333BC*629DFF5B5BB,*,*443;CC+=>+2+1@+4>;<<:;+;C++;2+++5+0+;9++::4*>5)).)*06*9*/*,10*.)6)(..,((43).(.9).6)6). @M02286:57:000000000-AGCM5:1:1104:8552:14848 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCATTTAGTGTTGTGTATGGTTATCACTTGTTTTGAGGTTAGTTTGATTCGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAAGATAGGGGGTAATAGAATGATCAGTACTGAGGCGGGTAGGTCTAGGTTAGTGGGGGCAATGAACTCAGAGACCAGATGTGCGAGCATTTCTGGTCGAGGGACTCGATT :C-6@CFFE7F@+B7@DFF,CFFC:@CCFGEC,,;,CC,8,3,6,;=>D,,=,3+@+++++4@,+3,,7,C9::*3*=9:5+:C>++,2==*87+)2873()0)))++1+0))*266))))((,534F)))),)0(()0(.)*.)-3(((,84))))).)((,(-().((((-
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1106:10484:16376 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGTCCCGTATTTACACTATAGCACCCCCTCTACCCCATCTACCCTCTCTAATGACCACTGTAAAGCTAATTTAGCATTAACCTTTTAAGTCAAAGATTATAAGAACCAACACACTGTTAAAGTAACATGCAACTACATATACATAACGT G8E@FB;CDFAFD,,,?>,>?C9?,,,,56>*A6,,=C,<)2*(*(*/*.*-2))0*0:,9)*6(.,)*.))*-)/).(. @M02286:57:000000000-AGCM5:1:1106:10484:16376 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATTAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATCGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGCTCAGTACTGCGGCGGGTAGGCTTAGGCTCGTGGGGGCCATGGACGAAGCGAACAGAGCGTAGGTGCTTTTGGTTCTATGGGATTGTTC ,C9-@EECE+@C@FCFF9F8+6@8@DFGD,,E8,,3@=D,=C=E6:D8+,@CAC7;+*03;*;8+5482=+,4,43:B+2+)2):957)*.0)*09776)),),)0.()(.)())00((((((,)4(.)(-(-())))).)*-(/)).*-3(.((.)))
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1106:13804:12690 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAACATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTCCCACCTCTCCCTCCCCTCGAGCCCACTGTTAAGCTAACTTACCATTACCCTTCTCCATTACAGATTAACAGCACCAACACCTCTTTACAGTGAAATTCCCCAACTAAATACTACCAC CEEGGFFCDFAEGF8+:D,5C>CCFGGGCD,>C8FC,4:,>E5*,6*68C?F8ECA1+=997+5=CFCC+3931@+=;F6*0+3++4+++*2+974*9)*55/78>2*,*.16*6B)*-)*1/).*:47(-41)..-*-6@A?7) @M02286:57:000000000-AGCM5:1:1106:13804:12690 2:N:0:1 AGGAGTCCGTGGAGGTTAGTTGTGGCATTAAATATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATTGTTTTCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGCTTAGCTGGTTGTTGATGAGATTTTTGGAGGTCGGGGTCAATAGGGCGGGTGATAGACTGCTCAGTACTGTGGCTGGTATGTCTAGGAGTGTGGGGGCAATGTATGACGGGAAGAGGTGGTTGTCGCTGTGGGTTCGCTGGGTGTGTTG =6C-CFF,B,CB7F7@F<,CCC?<+;+++:++5+>+;<71@::<;9+3;131:+1+:8C8+*)0.*1*>F?C6)766*)8**.)*16.)9)58167()5(.9:AFF4(. @M02286:57:000000000-AGCM5:1:1107:22868:8768 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGCGGGTAGGCATCGGCTTGTGGGGGGAATGTATGAAGCGGAAAGATTGTCGTTCCTTTGGGTGGTGATGGTATGTTG 6CDFGGGGGDEFGGGGFFGFFFFCCFFFFGFFGDFFFGGGGGGCGECGGGG,@FADFGFGGGGFG9,@FFCGGFGFGGGGFGGGG9FFFFGFFCGGFFFFGGG,BFGG,EFFGGEFGGFFGB+@:,4;,@+,C*;8*=*,=DC8@BFGFFCG98@CF>;DGC37..0546*15-(/98?>E3)(/(,9)*-942)/70()).()*)66((32())0)0(3),,())))*)).-.)
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1110:20180:15957 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTAACCCCTCTACAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTACATTAAAGATTAAGAGAACAAACACCTCTTTACCGTGAAATTGCCCCACTAAATACCATCCT GCEGGGGGGGGGGGGEGDGGGGGGGGGGGGGGGGGGGGGGGGECFFG9CFFGCFE@EGGGGGCGGFFGEGAFGCGGGGGGDCGFGFA@E@FAAEGGGGFDCGFGGCFGFGF9EFFBCDEEDGAFGGFGFEFGGGGGFFDEE:FGBC=@F,FFGGGGGFG,BEGCC8F9DF8B*>69,5>,:8BFC,?8>*=EEEC:+9?+@C9979:+:+CGFG7+=F7>?@8++=+3A71++;+++0.+**()/),)0/41@**),1(982<.)**52,)(40)))*))*((, @M02286:57:000000000-AGCM5:1:1110:20180:15957 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGGATCAATCGAGGGGGAAATGGAATGATCAGTACTGCGGCGGGTAGGCCTCGGCTGGTGGGGGGAGTGCATGAAGAGTGCAGATTGTCGTTCATGTCTGGTCTCAGGTTTTGTTT :C<,4;B948F+999=C>)/7),7*0)9)--?F?*57())(-31*)*)*-+.***))13-*.23((,(6)/)06(6).)*.()*.10(4(
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1112:14097:17466 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACCGTTTCATGCGCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATACCATCCCCTCTACCCCCACTACCTCCTCTAAACACAACTTTAAAGCTAACTTAGCATTAACCTTTTACGTTAAAGATTAACACACTCAACACCTCATTACAATAACATGTCCCTACTACATACTACCTT GCF9FBCFGDFFFCCFFE?FFGFGGFDG>FCEGGGGGGECC@:FF@AA,F>++8++,<,5CFD,?FE9>FF<,5?,@CC<9,@=,*48:6A,,2=:2B,,,,4,*4++5+++5903+><+++23+2<:C77?235**2*0*1+>:022*2*7**:(+.*(95>(/**9B*=)9*16(041=.2(*8*.)0,8462,) @M02286:57:000000000-AGCM5:1:1112:14097:17466 2:N:0:1 AGGCGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGATATCAGGTTCGTCCTTTAGTGATGTGTATGGTTATCATTTGTTTTGTGGTTAGTTTGATTAGTCATTGTTGTGTGGTGATTAGTCGGTTGTTGCTGTTATATTTGGTGGTAGGGATCGATTGAGAGGGAAATAGAATGATCAGTACTGCAGCGGTTGGGCCTAGGGTAGTGGAGTCTCTGATTTAGTCGTACTACTTGTATTCTATTTATGGTCTACGGGTTTGTGC ,6--7,8@:+67+B;@CF8@E+D,6=@,,,E3@FE;D,6+@,,+6,6++@:,+48,,@3+192+,5=724?CG9,+0:9C*3A4**3*2)/*9/02/8)2/))*)*(+)3.789+)+..)(2(/)+)1+1)))+))93).+).64)))(-()4:0,()
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:1118:20571:19732 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTAGAGCCCACTGTAACGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTTAAATGCTCCAACTCACTAATACCGT GGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGG7FGGGGGFFGGGAFGGGGGGGCGCFGFGGGGFGGFFGGGGGFGGF:7,6FBEFECEEE,,2EEF++=;+/?BEDGFFC+B7+:+>CAFGFG;*+141++>*,8)8@<4)0)1).(58)084)))924-- @M02286:57:000000000-AGCM5:1:1118:20571:19732 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGCTATTTGGAGGTGGGGATCAATCGAGGGGGCAATAGAATGATCAGTACTGCGGCGGGTAGGCCTAGGCGTGCGGGGAGACTGGATGAAGCGAATCTGTTTTCGTTCCTTTTGCTCTTCAGGTGCTGTCC 6,CDFGGGG+CFGGGGFEGGGCFGGGGCFGGGADFAEDEGAF>FGF,,>,,,36>=,1>6C8++7+3@,*@;+55:33*4;?,5=:7:D8DG>?=+*++4:?)1:)>)/(*()757).2(*)0:)*()(3/(8))0.487(((1)).*6()-.4.)-)62)))))))-6.*)))).))
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:2101:7453:8694 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTCCCCCCTCTCGAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTGACATGCCCCAACTAAATACTACCTT CFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGFFGGGGDEGGGGGGGGGFGG,?EFGGFDFFGCFEGGGGG?FE+2<+:++9<9CFGF<3*<>8*)09/:>49:/2*-)*))70(7*(5)589*))*4)- @M02286:57:000000000-AGCM5:1:2101:7453:8694 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTTGTTTTGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTAGTCGGTTGTTGATGAGATATTTGGAGGTGGGTATCAATAGAGGGGGAACTAGAATGATAAGTACTGCTGCGGGTGGGATTAGGAGTGTAGGTGCGAGGCATGGAGCGAACAGATTGTTGTTGATTTTGGTTGGGGTGGGTTGTTG ::CDFGFGGGGGFCGGGGG98AA9,,3,,=,3C;,8+=DG6+,5,,<,,@,;,+*@8**,4<6,9:+,,5=+9>7:C3**17))8)+*25+1)**++10+>)(1)()/4:*)*.965*28C)0+610(1*)-.64*1.4(()),-((8)740(
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:2104:13670:15909 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATATCACCCCCTCTACCCCCTCCACCCCCTCTAGCACCCACTCTAAAGCTAACTTAGCATTCACCTTTTAATTTAAAGATTAAGCTAACCAACACCACTTTCCACAGTACTACCCAAACTAACTACAACCGT C@@FG8CFFGGCGCFDG8FGGGGAGGGGGDEEGGGGGGGGGEBFGGFGFFGGEGFGG9?FDGEFFEDEFFFFGFGCDGFGGFCFGGFEFDFF9DFGGCG74ACFE9*6,7*F@1:**16>****)+(***.*9)76).)0.)(*1<)*.944 @M02286:57:000000000-AGCM5:1:2104:13670:15909 2:N:0:1 AGGAGTCCGAGGAGGTTAGTCGTGGCAATAAAACTGATTAAGGATACTAGTATAAGCGATCAGGTTCGTCCTTTAGTGTTGTGTATAGATATCATTGCTTTGGAGGCTAGTTGGATTAGTCATTGTTGGGCGGCGATTAGTCGGTTGTTGTGGAGCTATTCGGAGGTGGGGCACAATTGCGTGGGACATAGCAGATTCAGTCCTGCGGCGAGTAGGTATAGGTGTGATGGTGACAGGAATGAATGGGACAGCTTTTGGTTGTGTACGTGTGTGTTGGTCTATTT 9,9-@FDC9E9,,3*>86*:*/***,,4,2,*43*=5*9+>F>@E9@DE7:FE8DBA,>E<8>DFGGF7*4<14:+C8E*;*0+++++58C+*+3<+<:++5+*2+++00<7?79*3+++:2*1@*)8**0*9:*(*00:**2<*<)**9)*26*.5(50**((:C2*(2(( @M02286:57:000000000-AGCM5:1:2105:19871:11911 2:N:0:1 AGGAGTCCGCGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTGTCATTCGTTATGAGGTTAGTTTGATTAGTCATTGTTGGGTGGTGATTATTCGGTTGTTGGTGTGTCAGGTGTAGGTTGGGCTGTTTAGAGGTAGAGAGATCATGATATGTACTACGTGGGAGAGGGTGAGTATTGGGGGGGCTGTGGATGAAGAGAGTAGATTGTTGGTGATTTGGGTTATTATGTGTTGTTT =6C,9E@,F++@:C+86+@,,,6+,@,,3,,8,,,3,<,,+@,,*,,,,,,4,,,6,7+**2*,+=+=,2:=,1=,+3;**/***25)2**/+)37+**2)**)1(0).*0))***.3)2/**)*//)((0(1))/**((()/*-).))6.8??4
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:2108:10647:9535 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCCACCCCCTCTACCCCCTCTCAAGCCCACTCTCAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGACCCACCACCTCTTTCCATTGAAATGACCCAACTACATACTACCAT CFGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGFFGGGFFGGFFGBFFGGGGGEGGGGGGGGCEFFFGGBFFGF@FGGGGFF,?BFGDFGGFGGGGGFGFGGGFGGADCFFCF8F:+5+>FFGGGGGEGGCFFG:@CE@F*,>7*>CCCC9F9C7F5EC,,@?BEF>8**+5??++++589+54?<7++1=C79+<>8+ACF**0??:?7++0:*:*9535=>*96?4****.+*2*.*)35215;<>05*6=*/)0.) @M02286:57:000000000-AGCM5:1:2108:10647:9535 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATACTAGTATAAGAGATCAGGTTCGTCCTTTAGTGTTGTGTATGGTTATCATTCGTTTTGAGGTTAGTTTGATTAGTCATTGGTGGGTGGTGTTTAGTCGGTTGTTGATGAGAGATTTGGTGGTGGGGATCAATAGAGGGGGAAATAGAATGATCAGCACTGCGGCGGGCTGGACTCGGATTGGGGGGGCGATGAGTGTAGCGAACCGAGTTTCGTTGCTTGTGGTTGTCGTGGGTTGTTT :CF+3+3@,,,98,,6>,C=93@C834>6@6:@,,2>;D,BE8**/2,D+=C,86:;,*+0,2;//(8*7*/*8(*2.*;)(**)*11:*()17<*)****/))()02-(1.:66,440())*.)(,))(*(-())9((((,
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:2109:13003:15058 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTTAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTAACCCCTCTACCCCCTCTAGAGCCCACTGTAAAGCTAACTTAGAATTAACATTTTAAGTTAAAGCTTAAGAGCACAAACACATCTATACAGTGAAATACCCAAACTAAATACTACAGT ,9C>FA,,F,@DEGC,F:FEGGG@FGG<8,@<3@9,7,@*@+=?FE+<99;C6+5>9F+;+>>77+<**2C:*F*95*00)6*.36*(0)*)4<9A=*))).. @M02286:57:000000000-AGCM5:1:2109:13003:15058 2:N:0:1 AGGAGTCCGAGGAGGTTAGTTGTGGCAATAAAAATGATTAAGGATATTAGTATAAGAGATCTGGTTCGTCCTTAAGGGTTGTGTATGGATATCAATGGTTTAGAGGTTAGTTTGATTAGTAATTGTTGGGTGGTGATTAGTCGGTGGTGGAGGAGATATTTGTCGGAGGGGAGCAATAGAGGGGGAAATAGAATGATCAGTACTGCGGAGGGTAGGCCTTGGGTTGTGGGGGCAGTGAATGCGGGTACAAGGGGTTCGTTAAGTGTGGAGCTTGGAGGCTGTGG :>@:@8FC+,3@E,8,8,,6=,6++5:+8+*5*,,53,7,58C:*;1:C7++=:7+>9CDC=++**(3:5*+/93+*00*)/**1/7C8<(7*,<4*):*()()(0)0.(()2((0,)*())***)**(.(04)))((0(,(
-ACCGACACAGACTAGGGATCAAAG ba @M02286:57:000000000-AGCM5:1:2118:27229:11823 1:N:0:1 GGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCTACCCCCTCTACCCCCTCTCGTGCCCCCTGTAAAGCTAACTTAGCATTCACCTTTTAAGTCAAAGATTAAGATAACACAAACCTCTTTACAGTGCAATTCCCCACATACATACTACCGT 9FFFGGGGGGGGFCFGGGGCDDFEFGGGGCFGGFGGGGC7FEEGGGFG9FGDGGDFGGGGGGGFGEFGGGGDAECEEGGFGGGGGG9@FF9FEGFGFGG>DFC:F,E,CFDEFF,FGDF7>DGDFFGFG?FG9FG<=,3C7@+>AB=F,@>><<@,<;,>::FBE,>,,>F*5>>9CA:9:<6C1+@F>7@EG9,,,3383,@=CD,@=EDCE+3**3**6164;5B**2);)2/)96*++3+*2+97:0-*)(-)1-*()..
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.family.msa.tsv
--- a/misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:1116:22967:7077 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAA-CGACGAGCGTGACCCCACGAGG FGGGGGGGGFGGGGGGGGGGGGGGG>BFGAFFFAFEA:>BFF;*:>:@?F0(<2:1-399>:?)<>>((-(((*.41(,(((
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:1118:14605:8689 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGACGACCGAAGCAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGACCCGGAGCTGCATGAAGCCATACCCAC-CGACGCGCGTGACACCCCGCTT FAAFDE8FEDECB6@@CC@7FGEED:?B*).0(344(*(,-((42(.(.)5A)9?0<4<7?+5( (,(,,(((->18:0,((02-92
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:1118:21309:6959 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCACTTTTTTGCACAACCTGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGCATGAAGCCATCCCAAA-CGACGACCGTGACACCACCATT GGGGGGGGGGFGDCGGGGGGGGDGGGGGGGGFGGGFFFGGGCFGF@CCGFFGGGGGGGGFGGGGFGFCFDFFDEGE?@FFF7FC?FFGGGGGGGAF?FDFFGGGFGFEFGCEFGGGGGGGFEFFGGGGGFDCFGGGGFD@EGGGFEEEFE,EDDEFF5DD@FCFEE>CDCGGD>ED5CDFFGAFFGF@CEEFG4C:A:8?*//C5577?F;FACCFFF4D@EB33=675A1(72849>FB9?B02)6<29???A(23+43 :<767(-(4C<((0)-()(())
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:2101:17733:13519 2:N:0:1 AAGGGCACCCGGGTGGCGGCAACCATAATTCTAAGATTGCTTGGGTGGGGTATTACTTAGCACAGGAAAAGAATCTAAGGAAGGGCAGACAGGAAAGGAATTAATGCATTCCTGCATAACCAAGGAGGGAAAAACCGGCGGCCAACTTCCTTCGACAAAGGTAGGGGGGACCAAAGGGGCAAACCGCTTTTTTCCACAAATGGGGGCATAATGTAACGCCCCTTG-TTGTTGGGGACCGGGCCCGAAAGGACCCAAACCAACACGACGACCCTATCACAAAACGG B9,,,,:,,,+8+++8C+++++,,,,,,<,,,,,,:9,,,,C,B,B,++++,,,5,,5,,,>4*-(,)((-(()((.((,4((-((4(),((-((-(()()/).))(((4-
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:2103:23125:15471 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGCAGACATAACAAA-CGCCGAGCGTTACACCCCGATG FGGGGGGFGGGGGGGGGGDGGGGGGGGCGGGGGGGGGGGGGGGGGGGGGGGGGGGCGFGGFGGGGGGGGGGGGGGGGGGGGCEGGGGGGGGGGGG9FGGGGGGGGGGFGGGEBEFGFBFFGGGGGFGGFGGGGGGGGGFDEEEGFGDDFGGGGGG,@EEFEFFGGG6CDEGFEC8?*,79CFCFGGGGDGGFGGGGFGGGF4*8*6=7>FD+788FC7:37GEA@<8F?5:?46C),<(9B90??>?4*)1..406B).5)2 4<((49>07()--4/4(2((-(
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:2104:14576:24265 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACATTAAGAGAATTCTGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAAAGATTGGAGGAACGAAGTGTATAACCACTTTTTTGCACAACATGCGGGATCGTGTAACTCGCTTTGTTCGTTGCTCACCGGAAGCGATAGCGACCATGCCACC-CGTACCGCGGTCAACACCGTTT <8+).**/)1)1):;4(++./26()(((((0)(.,)(0())(.64( ()--()()(.((,0).(((.((
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:2104:25265:19405 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAACGAGCTAACCGCTTTTTTGCACAACCTGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCTGAGCTGAATGAAGCCCTACCAAC-CGACGAGCGTGACACCACGATG GFFGGGGGGFGGDEFGGGGGGGGGGGGGGGGFGGADEF;E?DFGGF?EE@+8@DD6E>*@C574=B:DEG>=*ADGBFGC=D4*;*;76C378;A6CACCDD59CC()+*.8*.)45*3>7((0,,54)/*)426))(.4:())( 4)--6073(8?((633(36(((
-CTGCGACACAATATTGGGCTCCCC ab 2 @M02286:46:000000000-AEG11:1:2119:22759:6520 2:N:0:1 AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACCACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGACTGAAGCACTACCCAA-CGACTACCGTCACACCACGATT GGGFFCFGGGGEGGGGGGGGGGDFGGGGGGGGGGFGAEGGGFGGFFGGGGFGGGGGGGFGGGGGGGCFGDDFGGGGGGGGGGGEDFGGFGGGGGFGGFFGGGGGGFGFFGFCFFGFCD@?FDGGFFG4EFFFGGDGGFGGGEGGFFGFDA9EFGG=9,@F+8+@>E6@E68:E5*;7C>CCE@FFGD9?96:57DFGFCGBC8?3(:CD3;8:@:+8+;3CDE<+27:FF5,:5A,73*((170(4).*/4+,)(.:?B:<, 8<(-((((-((((*,7(4((((
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.sscs.after.fa
--- a/misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.sscs.after.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->CTGCGACACAATATTGGGCTCCCC.ab.2 8
-AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATNGGGGATCATGTAACTCGCCTTGATCGTTGGNAACCNGAGCTGAATGANGCCATACCCAACGNNGAGNNTGNCNNNNNNNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.sscs.before.fa
--- a/misc/bug1/CTGCGACACAATATTGGGCTCCCC.ab.2.sscs.before.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->CTGCGACACAATATTGGGCTCCCC.ab.2 8
-AAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATNGGGGATCATGTAACTCGCCTTGATCGTTGGNAACCNGAGCTGAATGANGCCATACCCAANCGNNGAGNNTGNCNNNNNNNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.family.msa.tsv
--- a/misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-GAGAACTGAAACAGCAACTATCCG ba 2 @M02286:46:000000000-AEG11:1:2107:12224:17165 2:N:0:1 AATAGCAAAGCAAGCAAGAGTTCTATTACTAAACACAGCATGACTCAAAAAACTTAGCAATTCTGAAGGAAAGTCCTTGGGGTCTTCTACCTTTCTCTTCTTTTTTGGAGGAGTAGAATGTTGAGAGTCAGCAGTAGCCTCATCATCACTAGCTGGCATTTCTTCTGAGCAAAACAGGTTTTCCTCATTAAAGGCATTACACCACTGATCCCTTTCATCAGTTCCATAGTGTGGAATCTAAAATATACAAACACTTAGCTTCAGTTGTTAACAGATTTATACAC- GCFD,FCFEFAE,,<,,,;6CEF,,<@E,CEGBD8FFDDFFDGGFDFAF8FGGA;FF;EDACF@FD88D?ED?DFDDEBEDFDC7D+?C+2 =@F7A::?A?+;?CCFC9EFF5;BEC@A<@*1>>)92***4:6*2*+4*2+*1A268*)5*058*174>4/**>*3().9<)79))
-GAGAACTGAAACAGCAACTATCCG ba 2 @M02286:46:000000000-AEG11:1:2114:17623:15531 2:N:0:1 AATAGCAAAGCAAGCAAGAGTTCTATTACTAAACACAGCATGACTCAAAAAACTTAGCAATTCTGAAGGAAAGTCCTTGGGGTCTTCTACCTTTCTCTTCTTTTTTGGAGGAGTAGAATGTTGAGAGTCAGCAGTAGCCTCATCATCACTAGATGGCATTTCTTCTGAGCAAAACAGGATCTCCTCATTAAAGGCATTCCACCACTGCTCCCATTCATCAGTTCCATAGGTTGGAATATAAAATACACAACCAATTAGAATCAGTAGTTTACCACCTTCTACAC- GGCFF?EDDDGGGF=@FGGGG,EGC,DD?FFF+2,@=A,,=FFG?DGGDDFGCGGGF7DFF?A?*:6:8BE695:@?F5B@>@5;B8@*1**=;*;+;AA>96<(5(/8=:3*9**8.774@C*1*)./)6=(;?).(
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.sscs.after.fa
--- a/misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.sscs.after.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->GAGAACTGAAACAGCAACTATCCG.ba.2 3
-AATAGCAAAGCAAGCAAGAGTTCTATTACTAAACACAGCATGACTCAAAAAACTTAGCAATTCTGAAGGAAAGTCCTTGGGGTCTTCTACCTTTCTCTTCTTTTTTGGAGGAGTAGAATGTTGAGAGTCAGCAGTAGCCTCATCATCACTAGATGGCATTTCTTCTGAGCAAAACAGGTTTTCCTCATTAAAGGCATTCCACCACTGCTCCCATTCATCAGTTCCATAGNTTGGNNNNTAAANTACANNANNANNTANNNNNNGNNNTTNNNCNNNNTNTACNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.sscs.before.fa
--- a/misc/bug1/GAGAACTGAAACAGCAACTATCCG.ba.2.sscs.before.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->GAGAACTGAAACAGCAACTATCCG.ba.2 3
-AATAGCAAAGCAAGCAAGAGTTCTATTACTAAACACAGCATGACTCAAAAAACTTAGCAATTCTGAAGGAAAGTCCTTGGGGTCTTCTACCTTTCTCTTCTTTTTTGGAGGAGTAGAATGTTGAGAGTCAGCAGTAGCCTCATCATCACTAGATGGCATTTCTTCTGAGCAAAACAGGTTTTCCTCATTAAAGGCATTNCACCACTGCTCCCATTCATCAGTTCCATAGNTTGGNNNNTAAANTACANNANNANNTANNNNNNGNNNTTNNNCNNNNTNTACNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.family.msa.tsv
--- a/misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-GCCTGAAATGACGGTTGTTACATT ab 1 @M02286:46:000000000-AEG11:1:2107:14361:14714 1:N:0:1 TGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGCCCTGAGTCTTCCATGTTCTTCTCCCCACCATCTTCATTTTTATCAGCATTTTCCTGGCTGTCTTCATCATCATCATCACTGTTTCTTAGCCAATCTAAAACTCCAATTCCCATAGCCACATTAAACTTCATTTTTTGATACACTGACAAACTAAACTCTTTGTCCAATCTCTCTTTCCACTCCACAATTCTGCTCTGAATACTTTGAGCAAACTCAGCCACAGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGFFFFGGFGGGFGGGGFGGGGD=EFGGGGFGGGGGGGGGGDECGFGGGGDGGCFGFGAFC8EGFGGGE+DAFGCFGGGGG95<@FGACFGFCAFGF@AFGFFG+=AFFFF7=2*?:F=AEF63CBF4;3
-GCCTGAAATGACGGTTGTTACATT ab 1 @M02286:46:000000000-AEG11:1:2113:19415:18691 1:N:0:1 TGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGCCCTGAGTCTTCCATGTTCTTCTCCCCACCATCTTCATTTTTATCAGCATTTTCCTGGCTGTCTTCATCATCATCATCACTGTTTCTTAGCCAATCTAAAACTCCAATTCCCATAGCCACATTAAACTTCATTTTTTGATACACTGACAACCTAAACTCTTTGTCCAATCTCTCTTTCCACTCCACAATTCTGCTCTGAATCCTTTGAGCAACTTCAGCCACAGG GFGFGDF8FGGGGFCGGGGGG?FGFGGGGGGGGGGGGDEFGGGGFCFGGGGGEDGGGGGGG8ECEGFFFGCFGGGGGGCFFFFFGGGG7,FFFEFGGGGGGFFGGGCEGGGGEFFGCGGDGGGGG9EFFGDFGGGCGGGGGGGFGGEFFGGGFGFGF9AFCBFGCCBAEFCFGGGGG9=FGCF;@,87;,=,EEFGECFCCFEG,=D,@,+3:7EE:CFFGCC::E7A>:7CDGGG:<++2,*;?9*/+191:++=9=*=+,188=*)).)()00=/+?><(2)
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.sscs.after.fa
--- a/misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.sscs.after.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->GCCTGAAATGACGGTTGTTACATT.ab.1 10
-TGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGCCCTGAGTCTTCCATGTTCTTCTCCCCACCATCTTCATTTTTATCAGCATTTTCCTGGCTGTCTTCATCATCATCATCACTGTTTCTTAGCCAATCTAAAACTCCAATTCCCATAGCCACATTAAACTTCATTTTTTGATACACTGACAAACTAAACTCTTTGTCCAATCTCTCTTTCCACTCCACAATTCTGCTCTGAATACTTTGAGCAANCTCAGCCACAGNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.sscs.before.fa
--- a/misc/bug1/GCCTGAAATGACGGTTGTTACATT.ab.1.sscs.before.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->GCCTGAAATGACGGTTGTTACATT.ab.1 10
-TGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGCCCTGAGTCTTCCATGTTCTTCTCCCCACCATCTTCATTTTTATCAGCATTTTCCTGGCTGTCTTCATCATCATCATCACTGTTTCTTAGCCAATCTAAAACTCCAATTCCCATAGCCACATTAAACTTCATTTTTTGATACACTGACAAACTAAACTCTTTGTCCAATCTCTCTTTCCACTCCACAATTCTGCTCTGAATACTTTGAGCAANCTCAGCCACAGN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.family.msa.tsv
--- a/misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-TAATACGATGACATTTCGCACCGA ab 2 @M02286:46:000000000-AEG11:1:1107:16019:3802 2:N:0:1 AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGACAGGGGGCTGTGCTGCAGGGCGAGTCAGTTGGGTAACGCCCGGGTTTTCCCAGTCACGACGTGGTAAAACG-ACGGCCAGTGACTTTGACTACGAGTCACTATAGGACGAATTGG -FFGGGG:@EFFGGGGCDCFGGC77E<D+8@FEC7CFGF@@CG:FGF9@AFFGGGG*)81537*9<44*)*-0-5,()-6).443 9;(-((-(),*))-).)))..(,(-4).44).6)*)3((((.(
-TAATACGATGACATTTCGCACCGA ab 2 @M02286:46:000000000-AEG11:1:1112:7443:21645 2:N:0:1 AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGGTGTGCTGCAAGGCGGTTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGCCGTTGTAAAACG-ACGGCCAGTGGAGTGTCAGTCGACTCACTCTAGGGCGTATTTG GGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGCFGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGEGGGGGGGGGGGGGEGGGGGGGGGGGGGDGGF@EGCCFFFFFGGFGGGCCGFFGGFFG7FFGGF7F7CFF*1?8EGGGGFCFCECC8?766?37)0<>D3>D?<7*-0)4@0>B((.4*<462( ,-311(50).).(..-)..).4>>?2,(5-))))((((,(().
-TAATACGATGACATTTCGCACCGA ab 2 @M02286:46:000000000-AEG11:1:2108:2493:15900 2:N:0:1 AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGAGCGTAACCACCACACCAGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCATCTTAGCTATTACGCCAGCTGGCGCAAGGAGGAAGGGCTAGCAGGCGATTCAGTTGGGTAACGACAGGGATTTCACAGTCAAGGCGTTGTACAACG-ACGCCTAGGGACTTGTAATACGAGTCACTATAGGGCGAATTGG G@FFA,:FE@FFFDEEFF?EEDECCFDDFEGFFFEEGGGCC,,6+CCF+B,8,F+:,BB:B+B,?:+>=>:7?@,FFGG::7:+@+5@EA,3*.(90/**0/)**1)(,-53(0)0)), 23(()(-8(74((/.<6*6))4)((.:-6*)-)*,(0.,(-+0
-TAATACGATGACATTTCGCACCGA ab 2 @M02286:46:000000000-AEG11:1:2111:24850:13036 2:N:0:1 AAGGAGCGGGCGCTAGGGCGCTGGCAACTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAACGCGCACCTACCTTGCCCGTCCATTAGCCATTCAGCCTGCGCAACTGTCGGGACGGGCGCTCGGTTCGTGCCCCTTCTCTATCACGTCACCTGCTGCACGGAGCATCTCCCTCACGCCCACTACGTTGGCTAGCGCCATGTTTTTACCTTCCGCGCCTGTGTAACAAGCACGCACTGGAGTTTGAAGTCCCCTCCATCGTAGCTCAATTGT- GG<<,,C@++6+@:@+;,E::F+FC,:,:6CF+BB,48=DF?:F7CC+@:++33,,+8>C+6:,,D,,,,:,3<@D*>7>F<,@,1::4*1**11*:<****2**//;*22;E+0+++++2**;;*<*0)+*+00***2*1++0*0***)1*1)1C)*9)/**1*)+**)*,1)**)2047*9)*.*(*())()(6)6*74-*),)(()()(.(.(4)-))4*.4)*.3,,()/((.77)))))-))
-TAATACGATGACATTTCGCACCGA ab 2 @M02286:46:000000000-AEG11:1:2118:11759:4034 2:N:0:1 AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGGTGTGCTGCAAGGCGCTTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGCCGTTGTAACACG-ACGGCCCGGGAATTGCAATACGACTCACTATCGGGCGAGTTGG GGGGGGGGGGGGGGEGGGGFFGEFGGGGGGGFAF@CFGEGGGGGGGGGEGDFGGCGGGGGGGGDF+BFEECFGFGGGGGGGGDEGG3>B:7>FFEECFGCCFGE;F;F:C>FFFG*CF:CCFGFEGFGG7@C5:;ECG@EE>58ED6++@FFFF:<>*)1)/09@498(999/..)->().4.70/442@3*0()-1946)<:: ;9>B99(4)(*-2),)).))4(-,.4)9-)*)0((4(((-()(
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.sscs.after.fa
--- a/misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.sscs.after.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->TAATACGATGACATTTCGCACCGA.ab.2 5
-AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGANGTGCTGCAAGGCGANNNNGTTGNGTAACNNNNGGGNTTTCCCANTCNCGNCGNNNNNANACGACGGNNNNNNNNNNNTNNNNNNACTNANNNNNNNNNNNNNNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.sscs.before.fa
--- a/misc/bug1/TAATACGATGACATTTCGCACCGA.ab.2.sscs.before.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->TAATACGATGACATTTCGCACCGA.ab.2 5
-AAGGAGCGGGCGCTAGGGCGCTGGCAAGTGTAGCGGTCACGCTGCGCGTAACCACCACACCCGCCGCGCTTAATGCGCCGCTACAGGGCGCGTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGANGTGCTGCAAGGCGANNNNGTTGNGTAACNNNNGGGNTTTCCCANTCNCGNCGNNNNNANACGNACGGNNNNNNNNNNNTNNNNNNACTNANNNNNNNNNNNNNNNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.family.msa.tsv
--- a/misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:1111:10934:19340 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCACCCTGATGC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGFGGGGCFFGGFFGGGGDGGGGGGFFDCFGGGGEGGGGGGGGGGGGGGGFGGGGFFF;BFGGGGGDGGGGGGGGGGC9;AE7CEFG7ACFGGC@@9DFFFGAGFC>9B+59CGFA?DFGF8AE:++=5+9A5CC6:)@4)(;)7:@E,EEF93A,+@<=:*@=)+**1=*1*(**/4;;)).)/(5)((.((()))1)2(2(,-(.)).)-)()-.)6)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:1113:12129:21325 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACATGATGC- GGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFDFGGGGGGGGGGGEGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGFGGGGFGGGGGGGGGGGGGFDGGGGGGGGGGGGG9EGGG9;DCFGGGGGG7C;EEGGGFFCFGGGFFGFGCFGGGGGFGGGFCA7>A4EFGFFAF6FFGFEFFFFFF?FFFFE3=;F3AABFFFFFFFBF6@8;<9>B>)42339927:A)67(5>AAA)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:1115:11255:23962 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCTCGACAAGTGCCACCTGATGC- GGGGGGGGGFGGGGGGGGGGGGGGEEGGGGGGGGGGGGGGGFGGGFGGGGGGGGGFFGGGGGGGGGGGGGFEGGGGGGGGGFGGGGGGGGGFGGGGGGGGCFFCEGGGGGGGGGGGFFFGFA:FEGDFDEGGFGEGGDGGGGFFGGGGGGGCGFGGGGCFFGFGFFGEGGGAFCFGFGGGGGGGGGGGGF59FCFCGGFEE928@?79DFFFAFFCFA=CF6=8>8EF:7:=>E8;)3:7ED0>>E;><=>A4).(((,((.4)69<((((69)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:2104:22219:19734 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCCAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTGAGTAAAATAAACAAATAGGGGTTCCGCACCCATTTCCCCGAAAAGTGCCAACTGATGC- GGGGGGGGGGGGGGGGGFGGGGGDFEGFFGFGECFGGFGGGGGCGGGGGGGGFFFGGGFGFGGGGGGGGGEGGFDAEFEECFF,B,ABFGGGGFC:=F:FFG+=FAFFF9<FG58EAGFGFCF;>4:*7*3*8+1++=@5C785=;985+0++4+*;7);C./))1.;6DFF;130),(,,.@>2A*47170>(?))4*)3(.8:A)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:2108:15124:17674 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGACGCATTTCTCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATACACAAATAGGTGTTCCGCGCACATTTCCCCGAAAAGTGCAACCTGATTG- GGGGGGAGGFGFGFGFGFGGGGAFFFGFGFGGFGG>CFEEDFG9CDFGGGADF9ADD,@DFFA=FDF6DFE;EFFF;;@,3+;CCG,+@9;F,;D?CGFB=EFGG+=4<295ED;BFBDC+*4=@81+=*+++219;;A;+/9<5=EF<@+)/59+624B>>>F>2A<*(46;(365-6*))0).3)0+
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:2113:3515:13547 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATTAGCGGATACATATTTGAATGTATGTAGAAAAAGAAACAAATAGGGTTTCCGCGCACATTTCCCCGACAAGTGCACCCTGATTT- GGGFEGGGGGGCFGBFFGGGGGGCCFF84C4?FFGEGGFFFFA8=@F*==C8*//()2(.3=<<<7345(/8>E@0>@FB69<2<224(-(-6?94)).:((,4<2)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:2116:16001:8442 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGCATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCCTTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTTACTGTATTTAGAAAAATACACAAATAGGGTTTCCGCGCACATTTCCCCGTACAGTGCCACCTGATGC- GGFCE@FGGFGEFGGFGGGGGGGGGGGGG<=3@CDCFF,=99BECD>F=CFFC+*0,=BFFFGF@F)=9(35=)*;*6(718)6)//;C58)171(.6.)-*.((-(,4=)-).5(4)(66)
-TTTTAAGCGAAATTTACCCGTTAA ab 2 @M02286:46:000000000-AEG11:1:2118:20541:18054 2:N:0:1 TTGAGATCCAGTTCGATGTAACCCACTCGTGCA-CCAACTGATCTTCAGCATCTTTTACTTTCACCAACGTTTCTGGGTTAGCAAAAACCGGAAGGCAAAATGCCGCCAAAAAGGGAATAAGGGCGACACGGCAATGTTGAATACTCCTACCCTTCCTTTTTCAATATTATTTAAGCATTTATCAGGGTTATTGTCTCATTAGCGGATACATATTTTAATTTATTTTGAAAAATAAACAAATAGGGGTTCCCCGCACATTTCCCCGAACAGTGCCACCTGATGCG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGG7@,6CC+CD=FFEEFGG:B+=FGFG:FG?FCF,,AFEBF==E:C++@,,3C9@C;;:,=>=,2,,,6>DEEG<@,,32=@ECGG;AE:CCFGC7@F+,*@AD5:AAFGFFAF,:+5):?>?AAD4@7=+*2=/87:/*+40+;>A14:.67E;<3))/679())*,2,314.4:6<01)--7,.*6952(.51-)6,
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.sscs.after.fa
--- a/misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.sscs.after.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->TTTTAAGCGAAATTTACCCGTTAA.ab.2 9
-TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGANCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCNNCNNGATGNN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.sscs.before.fa
--- a/misc/bug1/TTTTAAGCGAAATTTACCCGTTAA.ab.2.sscs.before.fa Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
->TTTTAAGCGAAATTTACCCGTTAA.ab.2 9
-TTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGANCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCNNCNNGATGN
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/cmp.sh
--- a/misc/bug1/cmp.sh Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-if [ x$BASH = x ] || [ ! $BASH_VERSINFO ] || [ $BASH_VERSINFO -lt 4 ]; then
- echo "Error: Must use bash version 4+." >&2
- exit 1
-fi
-set -ue
-
-TmpSscsBefore="tmp.sscs.before.fa"
-TmpSscsAfter="tmp.sscs.after.fa"
-TmpMsa="tmp.family.msa.tsv"
-
-Usage="Usage: \$ $(basename $0) diff.family.msa.tsv diff.sscs.before.fa diff.sscs.after.fa > cmp.txt"
-
-function main {
- if [[ $# -lt 3 ]] || [[ $1 == '-h' ]]; then
- fail "$Usage"
- else
- msa_input="$1"
- sscs_before="$2"
- sscs_after="$3"
- fi
-
- lines=$(cat $sscs_before | wc -l)
- choice=$(python -c "import random; print 2*random.randint(1, $lines/2)")
-
- echo $lines $choice >&2
-
- head -n $choice $sscs_before | tail -n 2 > $TmpSscsBefore
- head -n $choice $sscs_after | tail -n 2 > $TmpSscsAfter
- cat $msa_input | ../msa_sscs_matcher.py $TmpSscsBefore > $TmpMsa
-
- tail -n +2 $TmpSscsBefore
- tail -n +2 $TmpSscsAfter
- echo
- cut -f 5,6 $TmpMsa
-}
-
-function fail {
- echo "$@" >&2
- exit 1
-}
-
-main "$@"
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/cmp.txt
--- a/misc/bug1/cmp.txt Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-AAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGNGCNNNNACATATTTGAATGTA
-AAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGNGCNNNNACATATTTGAATGTAN
-
-AAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGDGDDFGGGG?GGGGGGFGGGGGGGGGGGGGGCCFGGGEEGGG?FGGGGGGGECEGGCC7CDCCFCGGGFGGD9CFGGGFGGGGGGGGGG7FFFGGGGGCFFFFFFGFFFG0,C?GFGDFAF-962.)(4>?AFBF>BDF7*
-AAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATTAGGGTTATTGTCTCATGAGCGGTTACATATTTGAATGTT- GGGGGGGGGGGGGGGGGFFGGFGGGGGGGGCED@FGGGGGGGGGGGGG@FF@FGGGGGGGGGGGGGGGDFEGGFGGDEFGGGGGGFCEFFGGGGGGGGGGGGFCFCCE?FGGCGGAFGGGGFFGGGGGGGGFCFFFGGGGEFGGGGFG@FGGGGGGDCFFFGGGFGECC*3:3>EC7D:EFED?8CCEGDGGGGGDGF2:CFG9E7FC3:=CGFCCFC9AFGGGGCFGGFGFF9=>?E6C7@7/*9DF>FGG)-6=FGGGGGGGGFFGGGGCFFFGGGGGGGGGGGGFGGGGGGGFGGGGGGGGGECFCGGGCFG7FGGGGGGGGGGGFFFGGGGG FGGGAEFFFFFGGCBBFGGFGGGDDCGF8EG8FFFGGGFD<+<3DF,FFGGGGGGGDGEECCFFGGGFFC7:@CECC8*8CCFGGGGGGGGCFFGGGFGFGCFGFFFGFGFEGGGGGFGGGCGGGGFFF+*9<>2*:7))1)4)=?AB?*65*.6)
diff -r af383638de66 -r 9d46c9ca7ceb misc/bug1/diff.family.msa.tsv
--- a/misc/bug1/diff.family.msa.tsv Mon Nov 23 18:44:23 2015 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26086 +0,0 @@
-AAAACAGCAAAACATGCTGTAGAT ba 2 @M02286:46:000000000-AEG11:1:2101:18863:4476 2:N:0:1 AAAATGCTTTATTTGTGAAATTTGTGATGCTATTGCTTTATTTGTAACCATTATAAGCTGCAATAAACAAGTTAACAACAACAATTGCATTCATTTTATGTTTCAGGTTCAGGGGGAGGTGTGGGAGGTTTTTTAAAGCAAGTAAAACCTCTACAAATGTGGTATGGCTGATTATGATCATGAACAGACTGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTGCATCCC-CTGAGTCTTCCATGTTCTTCTCTCCACTTTCTTT GGGGGGGGGGGGCGGGGFDGGGFCFFGGGGGGGFCCFFFGGGGGFGFGGFGGGGGGGGGFGGGAFGFGGGGGGFGFGGGGGGGFGGFGFEGGFGGFGCGAFGGF:CGGG>FGGGCCEGGGGG8EGDGGFGF;EDFGFCGGGGG8DGFGFE8F@DFDCGGGCEFCFGFGGDDFFFDG??DD7EAGF5+=+?D+*0CF*;01<@>BAFE4:>=FFFFC6;AC9*1C;@FFFE0*5+/08 2:2:349)/7BFFG,@CFF=F4AE7=C8A=,EF@GGG9;DCFFDDFGGG,=9EGE83;@,@EG?AE,=FFEF+8=D9E@D?@?D8,+?,3=FFFGFD+:C*@AC+?>FG*5596*5*-1;?/=76>69+>6.40(007?+=@* *83*(0.1=9>)9419)6:5?.61/6)(,6)(/)
-AAAACAGCAAAACATGCTGTAGAT ba 2 @M02286:46:000000000-AEG11:1:2107:21148:11093 2:N:0:1 AAAATGCTTTATTTGTGAAATTTGTGATGCTATTGCTTTATTTGTAACCATTATAAGCTGCAATAAACAAGTTAACAACAACAATTGCATTCATTTTATGTTTCAGGTTCAGGGGGAGGTGTGGGAGGTTTTTTAAAGCAAGTAAAACCTCTACAAATGTGGTATGGCTGATTATGATCATGAACAGACTGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGCC-CTGAGTCTTCCATGTTCTTCTCCCCTACATCTTT GGGGGGGGGGGGGGGGGGGGGCFEFGGGGGGGGGGGGEGGGGGFFGGGGFGFGGGGGGGGGFGGGACCFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGAFGGGGGGGGFG,F7FGGGGGGGGGGGGCGGGGGFFGFFGGGGGEGGGCEF9FGGFGGGFFG8ADDGGGCGCGGGGFGGGFFEFGFGFGFGGGGCGFGGGFC;@DEE>7;;BCC6@CGF4A>5?DF@FF?EFFEFFFFFE*8@EC?>=: ;>9(*9;E337;)+.<3C));;/31*,/29<4=+
-AAAACAGCAAAACATGCTGTAGAT ba 2 @M02286:46:000000000-AEG11:1:2110:11463:11919 2:N:0:1 AAAATGCTTTATTTGTGAAATTTGTGATGCTATTGCTTTATTTGTAACCATTATAAGCTGCAATAAACAAGTTAACAACAACAATTGCATTCATTTTATGTTTCAGGTTCAGGGGGAGGTGTGGGAGGTTTTTTAAAGCAAGTAAAACATCTACAAATGTGGTATGGCTGATTATGATCATGAACAGACTGTGAGGACTGAGGGGCCTGAAATGAGCCTTGGGACTGTGAATCAATGCCTGTTTCATGAC-CTGAGTATTCACAGTTCTTCGTCCCACCATCTTC FGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGFFGGGGGGGGGGGGGGGGGGGGGGGGFEGGGGGGGGGGGGGGGGGGG8FCGGGGGGGGFEFDGGFDGGGGGFGGFGFGDGGGGEGDG>@FCGCFD7BCFFFCFC@F=C@CFG,EE9DDFEGGGGFFGFGGG?FDGGGGGGGCDFGGGFGGGD685DFCDF?9F?;,59)43589D9B7+=@9AF3*77B*);@974*+:8*(0=*4*99?CE10 0=:((**.:)+/)//)).))((,/(*,8;)=F))
-AAAACAGCAAAACATGCTGTAGAT ba 2 @M02286:46:000000000-AEG11:1:2111:10042:23877 2:N:0:1 AAAATGCTTTATTTGTGAAATTTGTGATGCTATTGCTTTATTTGTAACCATTATAAGCTGCAATAAACAAGTTAACAACAAAAATTGCATTCATTTTATGTTTCAGGTTCAGGGGGAGGTGTGGGAGGTTTTTTTAAGCAAGTAAAACCTCTAAAAATGTGTTATGGCTGATTATGATCATGAATAGACTGTGCGGACGGAGGGGCCTGAAATGAGCATTGGGACTGTGATTAAAGGCCGTTTTCAGGCCAGTGAGCATTCAGTGTCTTGTCTAGTCCCTCATT- FGFG@FAFGGGG9=@CE@FGGE,@E,,8>,>,8:,,CD;63+63@:D,DEF:EED9=,,:=F99+:7+3*+*@;***5**15*)*+0BA:DCB@8262*/*1)+).1)+*(/).(2/);)*(/,())+)().*.)-*).).))*)))**.).),()-
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1102:22486:1531 1:N:0:1 TGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCC-TTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACT GGFGFGEFGCGGCFFGGGGGFEFGGGFGFFFGGGGGFGGGGGGGGGGGGGGGGGGGGGFFFGGGGGGGGGFGFGGGGDEEEE@FGGFFGFFGG?FFGGGGGGGGDEFGGGCF9FGF;D,DFAFFGFG CFEFFGECCE:CGBEDE>@AC9:FFAC9?*BCFGE4C;5DC?<58CAFB>FFF:7BB:5,=F38).<=4<5:?BFF?2<:>?21231(
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1106:20418:20809 1:N:0:1 TGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCC-TTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGG GGFGGGGGGGGGGGGDDFFGGGGDGGGGGGGGGGGAFDCGFGGFDD3>:>FGG@GDF>DEDFD1@FFFF>34?@<:2=?BA>FFC2C6
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1116:6673:13660 1:N:0:1 TGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCC-CTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGFGGGGGGGGGGGFGGFGGGGGGGGFGGGEGGGGGFFGGGGGGGGFGGGGGGGGGGFGGGGG CGGGGGGGGGDCCGEGCDFGGGGFCGGFGF>>?FD49CD4?4?4?C:>BGAAFF>E@BEGFGFA@GF24B(0:@F74).4;EFFF0?FF4CDFD<)5;FFBEDE5;);AB5:>33)8>:F71059>1>9:@?AFBFB(
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2102:15347:3379 1:N:0:1 TGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCC-TTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG?FGGEFGGGGGGGGGGGGGFGGFFFFFCFFGGGGGGGGGGGGGDFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGCEGGGGGFGCCFFGFGGFGGGGGGG FGFGGGGGGFFC8@EE*@EGGFGEGFFFGFFGGGGGCG4CDDFGFGFGGGF8FGFADEDGFFBFFFFFFB93BEFFFF@?AC?)4(
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2115:28078:18413 1:N:0:1 TGATTAAGCATTGGTAACTGTTAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCAACTGAGCGTCAGACCCCGTAGTAAAGATCAAAGGATCTTCTTGAGATCC-TTTTTTTCTGTGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGAGGATTGTTTGTTGGATCAACAGCTAACAACT GGCCGGACCEFDC,E9AF9FD,DEF?F,6 9>;EFGG,=,,3,@8E;>7D7+3,*3)))))2)878(*))(/9?())1((06)2).43
-AAAACATAGTGGCCGCGAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2116:9976:3536 1:N:0:1 TGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGAACTTCTTGAGATCC-TTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCTGGATCAAGAGCTACCAACT GGFGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGEFFFGGGGGGGGGGGGGGGFGGGGGGGGGGGGFAEG7FFGGGGGGGGGGGGFFGGGFGGGGGGGGDFGGGGGGGGGGGGFFGGFGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCECEGCEGGG?DGGGGGEG,1>FFGGGGGFFGG GFGGGEGFGEFG6CGGGDFGGF;A64?A9FCFGCCFFGDDG49*/CBFGGFFF*5:5==;FG;:5C?F*9?7:F4727F>F:
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:1102:12683:2833 2:N:0:1 GGTCCTTTAAACAGCCAGTACCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTTTCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACAGTATCAACAGCCTGTTGGCTTATGGTTTTTTT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGG=:@D297@EFE2.3806,.))(((())/6)73=;B0
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:1103:8135:8601 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAACGATCATTAAATCTGTTTGTTAACCTTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACAGTATCAACAGCCTGTTGGCATCTGGTTTTTTT-- GGGGGGFGGGGGFGGGGGGGGGGFGFEEGGFFGGGGGGGGFFFGGGGFGGGFCGGGG9FGGGGGGGGGGGGGGGGGGG?FGGGACGGGGGGGGGGGGGGGGGGFGFDGC=FGGGGGCFAF22=EF::=*1>**8:E8(
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:1104:25129:12672 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAAT--TAGGCTCTCAACCCGCTTTTTAGCTAAAACAGTATCAACAGCCTTTTGGCATATGGTTTTTTGTT GGGGGGGGGGGGFFGGGFGGGGGGGGGGGGGGGFGFGGFGGGGGGGGFGGGGGGGGGFGGGGGGGGGGGGGGAFGGFFGGFGFFE7FGFFGGFGG8ECGG,ECAFEGGECFGGGFGGGGGG<;FGFGGG8,=,3@,@D,=:EFG?>DGG8=,9,,D9DFGFE=D@F?CFEF6FG?DCFGFAFGF7::D@FFFB(7*//+8*375FEEE*@(.(/.();A9.637)934.6(:DFB33
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:1105:18143:17147 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACTGTATCAACAGCCTGTTGGCATATGTTTTTTTT-- GGGGGGGGGGGGGGGGGGGGGFGGGGEEEFGGGGGGFFCFGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGFGGGFGGGGFEEGGGGGGGGGDFFGCDFFGGGGFGGGGGGDGGGGGGFFGGGGGGFGDEFGGGFD=8D:EFGDDGFGGCFFGCFGGGGFFGGGGGFGGGG:DE8DFGFFGF,;7=EECFFEGFCFFC+CFCFFF?9;C+:@B@7BA*?7;**00;E6A67>2):>BFFBF=F?@*.>)8>CC?E45*)(483./31@3;)5<.)/(/2,-
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:1106:20947:3337 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTCCACCATGCATGTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTACATCTGTTTGTTAACATTTGTTCCCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGATAATACAGTATATACAGCCTGCTGTGAACGTGTTTTTTG-- GGCF@EFFGED@9F,C@CF9F,6@FF=E,,3=,88E98=,,@C8,@2BED+7+,1,+9255;DF7CG7F;+;++3@86B;E8ED<8EF,AAFFGGEEEA=EBFGGGFEED,?EFGFFGCE9,45;FGG9AF,48FGG,@F=EFFG,==>8@8=@ED;7=C;@F8EGDD,@FGFGG+ED9,+@99,6CD@=:9CFC8CA+;CCC*<=+5=79C7AA;=BABF=;09+>9*)0:>=2AB((9@76@E:>=C5+*09(05(/(((6(6(())1)/)16,(((
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:2101:23973:2572 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTATAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAACCAGTATCAACAGCCTGTTGGCATATGGTTTTTTT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGCGFFGFGGFGGGGGGGGGGGGGGGCGGGGGGGGGGGFFFFEGGGGG*3;?>*>@*@2CBAFF37::;=**(0-(5*1**157)3(/3;A30(*76@?95;8;@B0
-AAACGTTGCGCATCCTCTTCGCCC ba 2 @M02286:46:000000000-AEG11:1:2108:3236:10372 2:N:0:1 GGTCCTTTAAACAGCCAGTATCTTTTTTTAGGAATGTTGTACACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTACAACAGTATCAACAGCCTGTTGGCTTATGGTTTTTTT-- GGGGGGGGG@FGGGFFGGGGGGGGGFFGGGCFFGGGGGFGGGGDGGGGGGGFGGGGGGGGGGFGFGDGGGGGGDFGGGGGGGGGEGGGGGGGGGFGFGGFFGGFAFGGGGFGGECFGGGGFE>(@C9*;*A@=C8@*=+-.315(3;<3;)(6;7@81;@?;**
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1102:22566:7187 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGTCTGCTGGGGAGCCTGCGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTACTAAGGTACTTAACCTAGTTCCTCTTTCATAGGTTCTTTT- FGFDFEGCFFGEGGEEFD?DFCG7BBFEFDFCGGECFGGDGGGGGE?EEGEFDGGGG>GFGGGGGGGGFGGGGGGGGG;CGGGGEFGC@FEGGGGGFGGGGGGGGGGGGCEGDEFGFGGGGGEF@CF70*/:5)9.)0*9*0.:09**)1//*)*0/6**9<=?6*)-/)1442).)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1112:13763:16179 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCAGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGEGGGGGGGGGD7FFGGGGCEFFFGFGGGGFGGGDGGGFGGGGGDCDFFFGGGCBDDD5CFFFFGFFFFFBG@FFFFBFF=AF2545>7A<)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:1115:13068:10880 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTT- GGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGGGGFFGFGGGGDFGGFEGGGGGGGGGGGGGGGFGGGGGGGGGFCFFFFGGGGGGGG?GGGBGFGGG49:0>FC>FGFG33?G*9<5@FFFGF?G))7C)6B44@>67AGGGGGFDDEEGFFFCGGC;::=G6CGGCGFGGC*7CF:=FFFFGGFFGFC@BCCDBGF>@C6=?409>FFCBG0*4C4))1-669@A<9A?09<>3A2)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2107:23009:14591 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCACAGGTTATTTC- GGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGEDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGG?FFGGGGGGGGFGGGGGGFG?CGGGGGGGGGGGGFGFGG5CEEGFGFGGGGGGGGFGGGGGGGFGGDGG6FGGGGGFEBGGGGGFDGGGGGF77C7BEGFF7*94>G2@E4@DFF>)@@AC@4:6<4)*.6:AF4FFA)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2116:21364:15971 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGFGGGGG7CGFGGGFGGGGGGDGEEGGGGGFGGGGGGGFGFGGGGGGGGGGGFDCFG4C8:7FGFGFFD>FFGGGGGFFFGGC>BF*:@?FFGF@+:FF7<?<<*@2?5??)7<9)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2118:8343:20780 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTAACTAACCAAGTTCCTCTTTCAGAGGTTATTTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGEGFFGGGGGGGGGDGCCFGGGGGGGGGGGGCGGFGGCFFGGGGFGGGGGGGGGGGGGGGGGGGGG8FEGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFGGFGGGGGGGGGGGGGGGGGGGGGFFFGGGGGGGFG?6+;EEGGGFGGGEEGGGGF9F?GGGGGGGGFCC?EFGEGGFGGC?7EFCGF9FEFFGDCGGF5)@7:FFFD>*5C4C:52)8@<+6*6@C42):-5/,744<<)
-AAACTGATTAGATGGACAGTTCTT ab 1 @M02286:46:000000000-AEG11:1:2118:9026:20564 1:N:0:1 GGAGAATGGGCGGAACTGGGCGGAGTTAGGGGCGGGATGGGCGGAGTTAGGGGCGGGACTATGGTTGCTGACTGATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGCGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTGCACCCCCTAATTGACACAC-CTTCACCGGTGGTTCTTTTCGTCCTCTGACGTAGCTTACTCAGTTCCCTTTTCTGAGGTTTTTTCT GFGFEFGF6CFGGGGCCEFCFFG@@CEG,=CE7C7CE*14CF7F::FFC@G*A?C<7:C++3*3<@+AF9+;9::?FFG9FCCEF+*)1C(**+.**1)**0)<)<)*-)*0)3)*-0C)*)*.(A(9(72()
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:1101:27569:8744 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGGTAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACACATAATAGCCTGGATGGAGGCGGCTACAGTGGCAGG-- GGGGFGGGGGGGGGFGGGFGGGGFGGGGGGGFDGGGGGGGGGGGAEFGGG9FGGGGGGDDGGGGGGGGGGGGGGGGFFGGGFGGGGGGGFGGGGGGFGGGGGGFGGGGA5EDEGGG7AC9FGGGGGDGGGGGG7BECFEGF;>FC6BFC?,@FGGG5;CEEEGG88**<0**55?7CEGF7:7:1:@FFFF4=C>9CD6*0**89<52:<>3.5):>54//*9/6)08>9*/(.+*)*.).4>F-<*.).(4(().3)-6=9<<)),))(04)1(3CEDGGGGFCGFGGG8CEEDEGGDDGCA?CFFF4FF5;7CF4A=>*)8<7@/0=6*:29:595:?26469?=AA?6B90
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:1111:16256:21094 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCCAACTACTTACCCTAGCTTCCCGGCCACAATTAATAGCCTGGATGGAGGCGGATAAACTTCCCGG-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGCFGGGGGGGCGGGGGGGGGGGGGGGGGGGGFGGGFFGGGGGGGGFGGGGGDGGGGGGGGGGGFCFGFFAFGGGGGGGGFGGGGEGG5CGGGD5E9CG8FEDGF=(,42(4<C3>7:CB*0?BC:E>F=>AF<24=9?5<)4-464))/,()5,,,,326(,(.,56A49)58
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:1115:13706:7926 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTTGCTTCCCGGCAACAATTAATAGACTGGATTGAGGCGGATAAAGTTGCGGG-- GGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFCFFAFGGGGFGEGG>GGGFGGGFFFG8FFGGGGGGFGGGGGGCFGGGGGGGGFGGGEDGGGGGECEGGGGGGDGDGGG?DCGGGCC?+=CAFCFGFC7(/.9>G@517=6@6@F5CF1))4@4<:<=5>292*-6):27?:BFFF>(34>FBF<@><466<)).)).89>9;:9*:.))-(--
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:2102:25730:17594 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCCACCGACGATCGTGACACCACGATGCCTGTAGCAATGGCAAAAACGTTGCGCCAAATATTATCCTGCGTACTACTTACTCTACCTTACCGGCAACAATTACTATACTGGTTGGAGGCGGATTAATTTGCATG-- GGGFGGGGGFGGGGGGGGGGFGGGGGGGGCEGGDEG@C@@EFGGEEF@DGFGDGF,AA<F9,3,DCF9,3D,@*3@>8***412,,=96EF5?=C*/5:+<:3(4;BB(,))))*)))14-)/.24)36()4((046)*.)))-.
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:2111:12655:22196 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGAAACCACGATGCCTGTAGCAATGGCAACACCGTTGCGCAA--TATTAACTGGCGACCTACTTACGCTAGCACCCCGGCAACACTTAAGAGACGGGATGGAGGCGTATAAAGTGGCCGGAC GGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGFFGGGGGGGGGGGGGG@FGGGGGGGGGEGEGGGFFCEFEGGGGGFFFGGGGGFFFGG8F?+=:+=5DFGGGGGF8EFFBFDFGCG>:8>*1):?*=>44?78*:=C?FF+:7+:7+5*=)*)) .2-*1**)2)4)9)4C7C)26=)8DB6?)*),-0)()-(7(9))-.-3<(,835,3(0((,3(().:)*:))((4(,(
-AAAGAGAATACGTGGGTTTTAGAT ba 2 @M02286:46:000000000-AEG11:1:2119:9327:4886 2:N:0:1 AGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCCACAACGTTGCGCAAACTATTAACTGGCGCACTACTTACTCTACCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGG-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGFGGDEGGGGGGGGGGGCFGDGCGC8F:EFFGGGGFGDF9@DDFGCC;EEED8EEEDEGFGG5=E5==9@9CEC:CGCF6DDGG:5*3<)5)2CGCFFF49FF4@F;*776+8C>F??:<=+)94E?:0(1(35?F94<4=><56.4((-5:134(,((,3)9<7)):<,3
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:1101:27569:8744 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCACAAAAGCGGTTAGCTCCTTCGGTCCT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFGGGGGGGGGGGGGFGGGFGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDEGGGFFGFF*7*99@F@F>D??9FFF:DF4B7F130,;561:>BF>:BAB04:>2
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:1104:6370:22863 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGACGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGAGCAAGGACAGTTACATGATCCCCCACGTTGTGCCAAAAAGCGGTTAGCTTCTTCGGTCCT-- GD:@FEGCGCG@E,CCFGG9CEFEFD@FFF93,@CFFC,@C:CF,@::5>E**B*;8?E>CCGGF6*:9E9ED71133**:C*0,0**8)*))0:52)**2:4**1709?C(<))(09411)9**).)08<>><90446)9<<>6:B13)
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:1106:24507:19040 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGFGGGGGGGG?FGCFGGGGGDGGGGGGDFGGGC:@B;B?FAF??B<.171:+
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:1111:16256:21094 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFAFGGGEGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCGGGGGGGGGGGGGGGGGGGGGGGGGEEEGFFFEGFEF*9DCGFEGFGGFCAF?FFGFFF@FGFGFGFGF@?@>BFG>FBFFCEEGGGDFGFGGGGGGGGGGGGGGGGGBEDEF9?68DA=?G4C?DDGGGFGGGFCDBGGGFF>C?FFF@3>F):?D>@05;EBEFFFF?:AB?6?BF(
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:1115:13706:7926 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCT-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFGGGGGGGGGGGGGGCGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFEGEDGGGGGGDGGGFGGGGFGFFFGFBEGFFFFF>AD?AFGFFF34>6BFFFAFFFF?BB?6)
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:2102:25730:17594 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTCGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCT-- GGGGGGGGGGGGGGGGFGEFGGGGGGGGGGGGGGCEGDEGEGGGGGGGGGCG@GGFGGGDGGGGGGGGGGGGGGGGFGGGGGGGGGFGGFGGGFGFFGFGGEGGGGGEEFGGFGGAEFFGG@FFEEEFCDDFGGFFGGGDEEGEEGGFGGGGGGFFFGGGGGG:FFGGGGDGGG>F:>FEB,*8CEGG5BFE1=ECFGGGGFFGEEFGFDC+C;EEEG9+88E=FGDC47CG*>C6:7FA*)0(6C:2DG6CC?CCDC*2*;>*02978>.0*9=CFF;DFEEG6:*)2:66)1-(-7)..(
-AAAGAGAATACGTGGGTTTTAGAT ba 1 @M02286:46:000000000-AEG11:1:2119:9327:4886 1:N:0:1 CGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCC-- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGFGGGGGGGGE@CFCGGGGGGGGGGGGGGGGGGGFCGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGDFGGGGGGGGGGGGGGGGGDGGEGG7CFGGGGGGGG@=?CFFFGGGGC:DGGGFGFGF8EAFGGGGGGGDEDCGGGGGFCFGGGDEFGGFFGFGFGFFFFFGFF?D>?*)9>B7,,,,,,@,,358?,7,@5DF8,,@@CA,,,55,,@,+7+22+=2+,+5+++**2*++4?FF,:2E20*,./(1)3)3+7++/)+1>43>3(66;57F*
-AAAGCTACAATATGTGTTGCCTGT ab 1 @M02286:46:000000000-AEG11:1:1119:20910:8267 1:N:0:1 ATGATCATAATCAGCCATACCACATTTGTAGAGGTTTTACTTGCTTTAAAAAACCTCCCACACCTCCCCCTGAACCTGAAACATAAAATGAATGCAATTGTTGTTGTTAACTTGTTTATTGCAGCTTATAATGGTTACAAATAAAGCAATAGCATCACAAATTTCACAAATAAAGCATTTTTTTCACTGCATTCTAGTTGTGGTTTGTCCAAACTCATCAATGTATCTTATCATGTCTGGATCCCCAGGAAGCTCCTCTGTGTCCTCATAAACCCTAACCTCCT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFGGGGGGD7ECEGFGGGGGGCDGGFFGGFCGGGFGDFFGGGGGFGGGFFGFFFFFGEFFGGBFFGFFFFFFFFEFC+4@87FFD;F;@=A8@1
-AAAGCTACAATATGTGTTGCCTGT ab 1 @M02286:46:000000000-AEG11:1:2114:12630:10250 1:N:0:1 ATGATCATAATCAGCCATACCACATTTGTAGAGGTTTTACTTGCTTTAAAAAACCTCCCACACCTCCCCCTGAACCTGAAACATAAAATGAATGCAATTGTTGTTGTTAACTTGTTTA-TGCAGCTTATAATGGTTACAAATAAAGCAATAGCATCACAAATTTCACAAATAAAGCATTTTTTTCACTGCATTCTAGTTGTGGTTTGTCCAAACTCATCAATGTATCTTATCATGTCTGGATCCCCAGGAAGCTCCTCTGTGTCCTCATAAACCCTAACCTCCTC GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGFGGGGGGGGGGGFGGGGDGGGGF;>CFCCCFFFFGEGCCGFGFGGGGGGGGGGGGGGGFGGGFFGFFGFFFFFFFFEFEFFFFAF+>3AD@@DFFFFFF3
-AAAGCTACAATATGTGTTGCCTGT ab 1 @M02286:46:000000000-AEG11:1:2114:17433:11893 1:N:0:1 ATGATCATAATCAGCCATACCACATTTGTAGAGGTTTTACTTGCTTTAAAAAACCTCCCACACCCCCCCCTGAACCTGAAACATAAAATGAATGCAATTGTTGTTGTTAACTTGTTTATTGCAGCTTATAATGGTTACAAATAAAGCAATAGCATCACAAATTTCACAAATAAAGCATTTTTTTCACTGCATTCTAGTTGTGGTTTGTCCAAACTCATCAATGTATCTTATCATGTCTGGATCCCCAGGAAGCTCCTCTGTGTCCTCATAAACCCTAACCTCCC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGFFGGGFFGGFGFFFGGGDGGGGGGFGFGCFGGGGFGGFF3*:FFF<)=FFFF57?C?;F=A6?CFF?;@F(2*8?(
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:1105:24457:9460 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCCCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCCCGTTCGCCGCCTTTCCCCGTCAAGCTCTAAATCG-GCGGCTCCCTTTACGGTTCCGATTTTCTGCTTTACGGCACCTCGACCCCAACAACCTTTCTTCGGGTGTTGGTTCACGTAGTTGCCCCT GFGCDEFCDGGGDFG8FGGFG+@:FFGGG8FG<CFGCFD:FFF><*4*/*0)8)-9.2*)0)*)--:=>*6323(.-()2(-44?(7(((,46.)).6)(((0((-,(--:2418:0()6).4(,
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:1107:3956:8117 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCCGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCG-GGGGCTCCCTTTAGGGTTCCGCTTTAGTGCTTTACGGCACCTACACCCCAAAAAACTTGATTCGGGTGATGGTTAACGACGTGGGCCCT GGGGGGGGGGGGGFGGGGGGGGGGGGGGGGDGGGGGGGGGFFGGGGGGGGGGGGGEGGGGGGGGGGCFEFGGGGG:FEGGFGGGGGFGGC:CFEDGEGGGGGGGDEFFFGGG,=@<4*CCFGGGGCEEE*:C:CGD>E>CCCGD<9C7F8?CGG99?8CC*;8*2:8CC*:EGCCC+:<*->@6682=4=<6<>?9526(((,87;>0((,(-866-52<)-((8>(:A224).-((-)-((((,((
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:1111:25724:6991 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTACATCG-GGGGCTCCCTTTAGGGTTCCGTTTTAGTGCTTTACGGCACCTCGACCACAACACACTTGATTAGGGTGATGGTTCACGTAGTGGGCCCT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGEGGGGGGGFGGGFGGGGDGGGGGGGGGGGGCGGGGGGGGFGECFGEFGGCCGGGGGGGCGGDFC,FFGFFGDEGGGGG**:CGC8?EG?EGGGCFFGGGCFGFF8@CF7C+<*:?8C5:@C*8CGCE8EFFFCGDGG59CF+09*+2?@8 >C)185C=EC9?6D*/21>9=*6<0<=7:5*/9C(*.7<*)+.**)0.)*.9817>)7>:5(9.)612.((-((,,40110)(.-())6)1)).)-(1(444)-)-))),)))).3(,(
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:1116:16727:18722 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTCGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTTCCCGTCACGCTCTAAATCG-GGGGCTCCCTCTCGGGCTCCGATTTAGTGTTTTACGGCACTTCGCCCCCAACACACTTGATTAGGGTTAGTGTTCCAGTAGTGGGCCCT GGGGG>GCFFGGGGGGGFGGGGCEFEGGG8FGF?E@FEEGF9FD76+:FCFGGGG@CGED7C:<,BFGGGDEEGDB+@FGFCEC@FGGEGGCEGGGG7*/**0)2:B 33))8:5>(9)2.<>3)).8@@?(7*7=)-*.46F?10(7(..(((,71((3081106A))6),<(3(,4).6--))).-1)(,.-8-,
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:2101:24220:4126 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCG-GGGGCCCCCTTGTGGGTTCCGATTTAGTGCTTTCTGCCACACACACCCCAAAAAACTTGATTAAGGTGATTGTTTACGTAGTGGTCCAT GGGGGGGGGGGGGGGGGGGCGGGGCFGGGGFGFFFEGGCFFGGGGEGGGCFGGDGGGGGGGGGCGGG=FFGDFEFGEGG7F*CFGGDCFGGG7CFGGGGGGGDGGGGFCCFFGEF@FCF@F7CEGEEDE5C?@E?@EC5AFGFFFGF+CFCECC8*8*<7D>)77).:?4*))()753)*(.0453((47:?G04*))*-,)1((,6))(.,24((0(41(06:)0
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:2108:10955:3531 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCCCTAAATCG-GGGGCTCCCTTTCGGGTTCCGATTTAGTGCTTTCCGGCACCTCGACCCCACAAAACTTGATTTGGTTGTTGGTTCACGTATTGGGCCAT GGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFE9FEDFGG@EFGEGGGGGGGGGGGGGGGGGGGGFGGGGGGGGFGGGFCFFCFCCFFEGGGG7CEGGGGGFFGGGC?8ECEED=68;CEEGEC5FG).>D7<(*17/*:@97@F*6((0593:5-74(3:()(,)(04>)*.)*/)(-4)(3(-3)1-((*).0*3(,*0
-AAGCGGACGGCATCGATCGAGTCC ba 2 @M02286:46:000000000-AEG11:1:2118:17707:17825 2:N:0:1 ATCGCCCTTCCCAACAGTTGCGCAGCCTGAATGGCGAATGGACGCGCCCTGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCCAGCTCTAAATCG-GGGGCTCCCTTTAGGGTTCCTATTTAGTGCTTTACGGACCCTCCCGCCCAAAAAACTTGATTATGGTGATGGTTGACGTAGTGGGCCAT GGGGGGGGGGGGGGGGGGGGFFGGFGGGGGGGGGGGGGGGGGFEDCFCGCFGFGGEDGDGGGCFGGGGEGDGDEG@EFCCCCEEGGGDGGE*ACFGGGGGD8CGEGGEGEEGGGFFFG87)9+9+6C<:5015 >))7*(1?:**2099C?4:F7)17).+1)6>@A0*1)(,9,)(*((-36(((4(.-+)*).262-))-.4*4>4,(1,7((-32(-442
-AAGTTGGGTGCGGTATCATGTGGT ba 2 @M02286:46:000000000-AEG11:1:1118:18867:23204 2:N:0:1 AACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGACGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGGGGGAGCTTCCAGGGGGAGACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGCGCG-TCGACTTTTGCGTTGCTCGTCAGGGCGCCCGAGACCTGGGACACGAGCCAGCAACG FGCFDCCF+@FFFCFGFGG,+AB@=CCGGGGGGGGC*DFGDGF>GFD1*FDFC03@?5**;<9C?>EGD**2*8?EE*68;8ECC8=*:*)2:***2;+08*5**?):5;3E*;.30<)3.+/::F*107?G7.)*4*1437>5545:6)*.*/1)))( .0(-)--*)-)-((-()6(-(,4(3(((((-*(,(()((-(,-1((()-(,)..((
-AAGTTGGGTGCGGTATCATGTGGT ba 2 @M02286:46:000000000-AEG11:1:2101:17449:15346 2:N:0:1 AACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACCGCCGGGTATCTTATAGGTCCGGCGGGTTTTGGCAACCCCGGCCTTCGCGCTCGATTTTTTGTTTCTTGGTCTGGGGGCGGGGTCCTTTGGAAAACGGCCGTCAAC- GGGGGGGGGGGGGGCGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFAFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGDEGGDFDEGFGGGGGGGGGGGDFGGGEG>*C>/?EECFEGEGGC?C@>FGGGD>>E55CEC?EGFGF7CD=5C*75**1:)C<9117+:C8C*+02:1))))1>)55)))0**0)))1()())*)00))((()*-:)(().,)))*.4-)47(,(((---.-()))-37<6.()--(,(((()
-AAGTTGGGTGCGGTATCATGTGGT ba 2 @M02286:46:000000000-AEG11:1:2106:6110:16840 2:N:0:1 AACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCGTTATAGTCCTGTCGTGTTTCGCCACCTCTGACTTGAGCG-GCGATTTTTGTGATGCTCGTCAGGGGTGCGGCGGCTATGGCAAACCGCCAGCACCC GGGEFDGDGGGGGGFGFGGFEGGDGGCFFDFEFGG@FCG9,DFCBFFGGGGGGGCGGFEFGGG4/).18<34540()-2(()((,--)))((*.)(*0,3>)4(8)
-AAGTTGGGTGCGGTATCATGTGGT ba 2 @M02286:46:000000000-AEG11:1:2108:20383:5847 2:N:0:1 AACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGACACGCCCGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCG-TCGATTTTTGTGATGCTCGTCGCGGGGGCTGAGCCTATGGCAAAACGCCCGCTCCG GGGGGGGECFGGCFFGGGGGGGGGGGFGEFGD,FGGEGGGGGGGCGCGFGCGGGFC>CE:FF9BCFFGFEGGEEGECBCFEGGFGG@*CF@:EG8<@EGGC@C/2EG5C5>=5C*CFFC:@5:8C)2*:CC*)/):5C:@F*9+8C>FGFGFG5;C<**.<<57C7:CC*9=>4<7). 7877@*2=A5152))4(7<()(3(0(().,1:().)))((1((.9(3))4((/*
-AAGTTGGGTGCGGTATCATGTGGT ba 2 @M02286:46:000000000-AEG11:1:2113:8328:11315 2:N:0:1 AACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTCTCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCG-TCGATTTTTGTGATGCTCGTCAGGGGGGCGGCGCCTATGGACAAACGCAAGCACCG GGGGGGGGGGGGGGGGGGGGGGGGDFGGGCGGGGGGGGGGGGGGDDDFGGFGGCDGGGGGGGGGFGGGGGGEGGFGFFFAFBFGCGGG*>FGFGGFGGG@FGCFGCEGCCBFEFGEGDGGGGGGGEGCGG8CEC5CEGGCECGEECFGGGC5CEGGGEGD5:?EGGGCEFF5CD5C86=C**:98++:+*:7@CC:>FFGGGFGG>*07>31,>47:*6=>+5C3?:7 >?9),*94@9FB9>;B;(4(,(-)476)44(.49(,(3<(,(
-AATCACAAAAGTTGCATCCATGAC ab 2 @M02286:46:000000000-AEG11:1:1113:21707:8333 2:N:0:1 ACAAAAAGACTAAACTTACCAGTTAACTTTCTGGTTTTTCAGTTAACCTTTCTGGTTTTTTGCGTTTCCCGTCAACAGTATCTTCCCCTTCACAAAATTGCAGCAAAAGCTCTAAAACAAACACAAAAAGGCGTTGAGCTGTTTTTTTTACTTTCAGTCCATGACCTACGAACCTTAACGGAGGCCTGGCGTGACAGCCGGCGCAGCACCATGGCCTGAACTAACCTCGGAAAGAGGAACTTGGTTAGGAACCTTCCGAAGCGGACAGGACCAGCTGTGGAATG- GGGGGGGGGGGGGGGGGGGGGGGGGFGGFGGGGGFGGGGGGGGGGGGGGGFFGFFGGGGGGGGGGGGGGGGGGDGGGGGGFFGFGGGGGGGGGGFGGGGGGGGDAE=FGFEGFFFFG?CGGGGGGGFGGGGGEEEGGGEGGFEGGGGGGGFGGF>DCD@=FGGGGGF9,0>C9;7ACCDCDDGDCGDGFF5;C>F=DC*):?CG)8C1CFFFFA<)*1(;)7*;CDF),)(-067242.:>)6:)4/,())(,...3(--(((,4(,((((4<(,,5.5:)4))
-AATCACAAAAGTTGCATCCATGAC ab 2 @M02286:46:000000000-AEG11:1:2102:18295:6415 2:N:0:1 ACAAAAAGACTAAACTTACCAGTTAACTTTCTGGTTTTTCAGTTAACCTTTCTGGTTTTTTGCGTTTCCCGTCAACAGTATCTTCCCCTTCACAAAATTGCAGCAAAAGCTCTAAAACAAACACAAAAAGGCGTTGAGCTG-TTTTTTTACTTTCAGTCCATGACCTACGAACCTTAACGGAGGCCTGGCGTGACCGCCGGCGCAGCACCACGGCCTGACATAACCCCTGAAAGAGGAACTTGGTTCGGTACCTTCTGAGGCGGAAAGAACCAGCTGTGGAATGT GGGGDFGCFGFCFFGGGGGGGGGG9CFGGGGGGFGFDFGCFFFAFFGGGC>FD8EE@ ,,@=?EGG,ECDF,CFCFGGGGF@9FFEEGG+1,@79:@3C7CF67>ECEG**+97CCDGED).)*;)*)*.55)*0*0*9*56)5*.()1..)4.((9)/55()-4-,89)1()./6(-59;(0,4:>18()).-9:>?A?4
-AATCACAAAAGTTGCATCCATGAC ab 2 @M02286:46:000000000-AEG11:1:2103:20386:17715 2:N:0:1 ACAAAAAGACTAAACTTACCAGTTAACTTTCTGGTTTTTCAGTTAACCTTTCTGGTTTTTTGCGTTTCCCGTCAACAGTATCTTCCCCTTCACAAAATTGCAGCAAAAGCTCTAAAACAAACACAAAAAGGCGTTTAGCTG-TTTTTTTACTTTCAGTCTATGACCTACGAACCATAACGGAGGCCTGGCGTGACAGCCGGCGCAGCACCACTGCCTGAACTAACCTCTGCAAGCGGAACTTGGTTAGGTCCACTCTTAGGCGGAAGACACCAGACGTGGATTGT :+@,CEC C9,6>CEFGGC;DA=37,7,763DE,@++==8,@AFGC97E5@7*ADC5*:?C+<9F4?54?5=6=F55***2)54*;6)*203+)3)*9);19>>F>F9A?2(.))1)9)).()*).,29(-1(.(9<--)((-)-,1))()
-AATCATAAGTACGTTTGCTTAATT ab 2 @M02286:46:000000000-AEG11:1:1108:20904:16093 2:N:0:1 AAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGCAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACACACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTTCTTCTAGTGTAGCCGTAGTTAGGCCACC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGFGGGGGGGGGGGGFFAFGGGGGFFEFGGGGGGFGGGGGGGGFCDGFGGGGGGGGGGGGFDFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFG7CGG:FGGGGGGGGGGGGGEGGG87E7FFGGG>EGE@EFGFDDGDG*)2**;BG?FFFF56)13;F<>;664)1:7?BD))46.*6)))6-)68D=>CEEGF+BEGGGGDEGEGGGG@F*A9DF87ABCGE@C<48CFGC*C48DG=CGEF/0870:DF@+9@?FF;5)3=E6,7>9;F15702:???F2-4*)464<)(,.4(.6<9B1((6)4:3>.41
-AATCATAAGTACGTTTGCTTAATT ab 2 @M02286:46:000000000-AEG11:1:1111:12486:7146 2:N:0:1 AAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTC-TTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTTCTTCTAGTGTAGCCGTAGTTAGGCCACCC GGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGCGGGFGGGGGGGFGGGFFGGGGGGGFGGGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFCEGGGGGGGGGGGEGGGCEGCCFGGGFGBGGGFCFC=CAFGFG>87)4,,4:A)64A>6-4<2<-).(,.48?(
-AATCATAAGTACGTTTGCTTAATT ab 2 @M02286:46:000000000-AEG11:1:2101:9752:21013 2:N:0:1 AAGGTACTAGGTGAAGACCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGCTCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAACCAGATAAACCACCGCTACGTGCGGTTGTTCGTTTGCGTGCTCAAGAGCTTACACCTCTTTTTCCGCAGTCAACTTGGGTCGGCAGAGCGCAGATAGCATACACTACTCTTTGAGCGCAGCCCGATTTACGTCACC- 9FF,;,6,<6,C,C,,,,,6C;CFF::,,C:+?=,,C,E89,@366,,,3,3,@;AFD,@+@6C+:+,,@C+3*44,,3*;**+**/**+139,*44/+;:*0*;4:8+*/8)))))*/3)3)+))2.)((6))-*401;1))).*)-))))((.,.)))*()((,(,.,)(-)-)),(.(4,
-AATTATAGCCCCTTCTACCTTGCT ba 2 @M02286:46:000000000-AEG11:1:1114:28853:12362 2:N:0:1 GCCTCGGCCTCTGAGCTATTCCAGAAGTTGTGAGGAGGCTTTTTTGGAGGCCTAGGCTTTTGCAAAAAGCTTTGCAAAGATGGATAAAGTTTTAAACAGAGAGGAATCTTTGCAGCTAATGGATCTTCTAGGTATTGAAAGGAGTGCCTGGGGGAATATTCTTCTGATGAGCAAGGCATATTTAATA-AATGCACAGAGTTTGATTCTGATAAAGGAGGAGATGTAGGAAAACAGAAGAAAATGAATACTGTGTACAAGGAAATGGAAGATGGCGGAAAAGATGT GGGGGGGGGGFGGF9CFGCF@,CC,@@=>F=,8D,@EDGC+DDA:E,,,+@=D8CE,,6@?F611****)()(-)).(005***1?1***./))116),.,4)/;74(())3((((447(,5-)
-AATTATAGCCCCTTCTACCTTGCT ba 2 @M02286:46:000000000-AEG11:1:1115:13601:23066 2:N:0:1 GCCTCGGCCTCTGAGCTATTCCAGAAGTAGTGAGGAGGCTTTTTTGGAGGCCTAGGCTTTTGCAAAAAGCTTTGCAAAGATGGATAAAGTTTTAAACAGAGAGGAATCTTTGCAGCTAATGGACCTTCTAGGTCTTGAAAGGAGTGCCTGGGGGAATATTCCTCTGATGAGAAAGGCATATTTAAAAAAATGCAAGGAGTTTCATCCTGATAAAGGAGGAGATGAAGAAAAACTGAAGAAAATGAATACTCTGTACAAGAAAATGGAAGATGGAGTAAAATATG- GGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCEF9EFFCFGFGFACEFDFGGGGFGGFGCF@FCGGGGGFGGGGGGGGGGFGFFGGGGGGGFFGFFGGEDGGDGGGGGEGFFFGEDFFC8,,2C8DEGGGGGFGCFF@FF?FEDGFFGBC5CFBFAGF@>,>C6AFFFGFGF=2/0;?CFEFF:=B5)).;@9@DF))7>AC)7;A79AF89EFEDDGGGGF9FEFGG@EFAFFG?EEGGEGGGFGFFA8AGFGFGFGGGCCCCFGFGFGFCFEGGEC89EA69ABF442).9D4:B;BBFFFFFFFE@5<4>))7;)7)17434<:)45?:B9:).))
-AATTATAGCCCCTTCTACCTTGCT ba 2 @M02286:46:000000000-AEG11:1:1119:20987:16843 2:N:0:1 GCCTCGGTCTCTGAGCTATTCCAGAAGTCGTGAGGAGGCTTTTTCGGAGGCCTAGGCTTTTGCTAAAAGTTTTGCAAAGATGGATAAAGTTTTAAACAGAGAGGATTCTTTGCCGCCAATGGACCTTCTTGGTCTTGAAAGGAGTGCCTGGGGGAATATTCCTTTGATGAGAAAGGCATATTTAAAAAAATGAAAGGAGTTTCATCCTGATAAAGGAGGCTATGTAGAAAAAATGAAGAAAATGAATACTATGTAAAAGTAATTGTAAGATGGAGTAAAATATT- C7,@F>C@CC,,6,6,,CFF,C,C9;CE,BC,,8@EC99E4=>E,8EFD9A9DF9,>@8@8;=,,6=CC7+,,3,;@E,,@8C,,,,7,<71+35E;E+,C,*@>CF58:+3;6**11+59?9*+;ACAF407*)(0?>+:+*1156)331)/)(534=3>?3@3)16CC)197+./).6).)-64<).(24:9*69B)
-AATTATAGCCCCTTCTACCTTGCT ba 2 @M02286:46:000000000-AEG11:1:2106:22236:14813 2:N:0:1 GCCTCGGCCTCTGAGCTATTCCAGAAGTAGTGAGGAGGCTTTTTTGGAGGCCTAGGCTTTTGCAAAAAGCTTTGCAAAGATGGATAAAGTTTTAAACAGAGAGGAATCTTTGCAGCTAATGGACCTTCTAGGTCTTGAAAGGAGTGCCTGGGGGAATATTCCTCTGATGAGAAAGGCATATTTAAAAAAATGCAAGGAGTTTCATCCTGATAAAGGAGGAGATGAAGAAAAAATGAAGAAAATGAATACTCTGTACAAGAAAATGGAGGATGGAGTAAAATATG- GGGGCGFFEGGGGGGGGGGGEGGGAEDE@FF@CCEFGGGFCFFFGGGGGGGFGFGG@FGFGGGGEGGGGGGDGGGGCFGGFEGFGGFFD?FFGFGGGEFFFGGGGGCEFGGGAFGGGGGGGFGGG8AFDGGGGFGGCFCAFCGEFGGFGDFGDGDGGGGGDGFGFGGFCGFDDFDFFCCDGFA;9E@<7@AEFGGCGGGFF>GGGACCFGFG=B8?:C;;@?FBE<+9CBFF)57>:;C;F;CEEF?79);<=*
-AATTATAGCCCCTTCTACCTTGCT ba 2 @M02286:46:000000000-AEG11:1:2115:15775:3347 2:N:0:1 GCCTCGGCCTCTGAGCTATTCCAGAAGTAGTGAGGAGGCTTTTTTGGAGGCCTAGGCTTTTGCAAAAAGCTTTGCAAAGATGGATAAAGTTTTAAACAGAGAGGAATCTTTGCAGCTAATGGACCTTCTAGGTCTTGAAAGGAGTGCCTGGGGGAATATTCCTCTGATGAGAAAGGCATATTTAAAACAATGCAAGGAGTTTCATCCTGATAAAGGAGGAGATGAAGAAAAAATGAAGAAAATGAATACTCTGTACAAGAAAATGGAAGATGGAGTAAAATATT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGFFCFFGGGGGFGGGGGGGGGGGGGFGGGGGGGG9FFFDFEGGGGGFGGGGGGGGGGGGGGGGGGGCGGGFGGGGFGG8@FEEEFFGGFG6+@3@FFFFGGFD;==:8ECCGGF?;@3:CECFF+=FGGGGGFFFFFG6BFGECEC69FGFFB72*0*/@FCCA=(5?)/(4@@*14386;)78:4<@)71)39?=35@D;A3335(1.)68@7264:;9;:/25=@<3);A?=774)3???FEF1(66;3<7(4>94379<)69A)
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:1114:15832:13095 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACAGCAAAAAAATGAAAATTTGACCCTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFGGFGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGGDGDEGGGGGGGGGGGFGGGFGGGGGGGGGGGGGGGGGGGGGFGGFGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGFEFFEDG>EGGGGGGGDGCFGGG?F8ACAAGEGFFD=FGFGFE@FCEF6E@FFFAFF@FA4B@9EFB8B=A*>76:(559B@(63>(;5<0(=@<);)6=C357)3=@
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:1115:4452:9549 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCCCCAACAGCA-AAAAATGAAAATTTGACCCTTT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGFGGFGGG9FGGGGGGGGGDGGGGGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGFGEDGEDDFG?9DFGFGFFFDCBC=FF=D5=*)54;4)7:B*<)98;@*)(/6:61;)68 @@114@3)))/9465<44:<0,
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:2111:18288:6482 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACCCCCTGCAGCTCCAAAGGTTCCCCACCCACCGCAAAAAAATGACAATTTGACCCTT- GGGGGGGGGGGGGGGGGGGGGGGGGGCF:FFGGGGGGGGGGGGGGFEGFGGGGGGGGGGGGGGGGGGGGGFGGGGGGGFFFGC<EFFGFGGGF9DFGCFGFFGGGGGGGDGG++3@@8:FGFA7?FGD?E6@C79,:DF6:CFF*?FFF7AC@C)0*19>@>BA*75A65*.7*>B=E95(5)(6>(2,(7D(((,/.@)/)*3)1./4(..
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:2112:16541:21045 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCCGTATATTTGGTCCTGTAGTTGTCTAACACCTCCTGCAGCTCCAAAGGTTCCCCCCCAACAGCAAAAACACGCAAATGTGACCTTT- DFCEFFFAFCFFCFFFGGGGGAEDCGFF@FGFFGGFF?@E@BECFGE8EG,@,;DEGG+6@98?:5CCG7B6++6+4?CFF7+5386<6FFEGG613;2*+0)*)30=C);935?**)+0*11*0*75/)11A<813(.=2)6((..((;).6).6)).
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:2114:21458:10686 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACATCAAAAAACTGAAAATTTGACCCTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGDGFGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGG?EEGGGGGGGGGDEFGGGGGGGGGGGGGFGGGGGGGGD6EGDFGGGFFGGGFGGGGCFGGFEFFF8CFBGFFFGGFGAC=>;?@A=?CFCBF=9=B:4*:4ABEFEBFF=4=@=(64@*.>9(6>).7@3;>5)27188
-AATTTAGACATGATCTTCAATTAC ab 2 @M02286:46:000000000-AEG11:1:2118:19541:2554 2:N:0:1 TGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAACACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACCGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACAGCACAAAAATGACAATTTGACTCTT- GGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGFFFGGGGFCGGGGGGGGFGGGFFGGDEFFGF@EGCFFECFGGGFGGGGGE@EDGFGDFGFF8FDF9EFFFGGGGGGGGGGGG,@CDFGEFGFGFGFGDFFCGGGGGGEEDGGGGGGGEF,,,@EFGAF;@DGGCCGD+9EFF,=8+;+=5?*,=D,*7??@FFDED5B9>FGEEFFFFC9@G>5>@:7:*5,:4)06:>E=>;@6:45((0/(5;(:(A1(.7>*7+7).)19)1)1
-ACAACCGTCCTTCTCTCGTCAGGT ab 1 @M02286:46:000000000-AEG11:1:1108:29381:13665 1:N:0:1 GGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACATGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCCCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGATGCGTGGCGCTTCCTCCTAGCTCACGCTCTAGGTACATCAGTGAGGCGTAGGTCGTTCGCTCCAAGCTGTGCTGTGTGCACGAACCAC- GFGGGG@F@C7FF?ECEF7CEG,FEGGD?F=8ECGGDFE>7B+@BF+*5*FBD3?,@<<1CC:****3@:**<+<?BFF?*746758*3?A),)23,*1
-ACAACCGTCCTTCTCTCGTCAGGT ab 1 @M02286:46:000000000-AEG11:1:1112:10480:11668 1:N:0:1 GGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCC- GGGGGGGGGGGGGGGGEGGGGGGGGGGGG@GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGFGGGGGGGGGGGGGGGDGGGGGFFGGGGGFGGGGCGGGGGGGFGGGGGBGGGGGGGGGGGGGGGGGGGGGGGGGEGCEGGFGFFGGGGGGGGGFGGFGGGGGCCC=CEEGE>EE=C:F>FC)9BGGF*9*5>:>EFGFEFFF:97?1@?B?FAFF>?<51>>FF
-ACAACCGTCCTTCTCTCGTCAGGT ab 1 @M02286:46:000000000-AEG11:1:1114:23246:17761 1:N:0:1 GGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTCGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCC- GGGGGGGGGGGGGGGGFGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGFGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGG>GGGGGGGGGGGGGFDGGGGGGFGGGCEGCGGFGFGGCFEEGGGGFDGGGGGGGG5FCFFGCFFF?FEEFF0(,*3?45-.85((.564<:0264?:
-ACAACCGTCCTTCTCTCGTCAGGT ab 1 @M02286:46:000000000-AEG11:1:2101:11851:1919 1:N:0:1 GGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCCTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCCCATAGCTCACGCTGTAGGCATCTCCGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCC- CFCEGCGGG7C>DGDFGGGGGGGDAFGCEFEF:F@FGFFCB7CF@>,FGCF@<7F,<:*4*=1+<@8:;7FGE@;+EE5:ED:+<@)7C67=@F)<).)1(00)9@62)(()4>1,9424410(49?:
-ACAACCGTCCTTCTCTCGTCAGGT ab 1 @M02286:46:000000000-AEG11:1:2106:18255:19525 1:N:0:1 GGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAA-CCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTCGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTCGGCTGTGGGCACGAACCCCC GGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCGGDFFGGGDGGGGGGGGGF GGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGEGGGG?FFFGGGGGEFGGDGCGFGGCFFGGGGGGGGFGGGGGGGCGGGCEGGFGGFGGGDGGGEFGGGGGG7CGGG8:8C=EE5:58::5<+2<DGAAFF?7BCCEFCE*B<:6>A54@:>2=EFB=(7*::@*>;@53(0=0(/,31;@(:(6;E94
-ACACCAAACATTTCACTTCAACAC ab 2 @M02286:46:000000000-AEG11:1:1106:26933:5989 2:N:0:1 TGTGGTTGCTGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAATTATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGCTTGCGCAGGATATTTGGTCATGTAGCTTGCTAACACACCCTGCAGCTCCACAGTTTACCCACCAACATCAAACAAATGAAAAT- GGEGDFFF@EFFGGGDCFFDD@EAFF8DGAE>CFF,==FGG,69EDF:@F9@=DCDE>C>>?=?6;:+:C51*<+?A*3+=CCA70B*+?;4=+2BAFFCF=3>BA=5(52(73836@6:B.47//)6@<618;8(573;),3(./67)73
-ACACCAAACATTTCACTTCAACAC ab 2 @M02286:46:000000000-AEG11:1:1117:6518:12502 2:N:0:1 TGTGGTTGCTGTGTTAGTAATGTGCAAAACAGGAGGCACATTTTCCCCACCTGTGTAGGTTCCAAAATATCTAGTGTTTTCATTTTTACTTGGATCAGGAACCCAGCACTCCACTGGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACAGCCAAAAAATGAAAAT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGCGGGGGGGGGFGGGGGGGGGGGGFGGGGGGGGGGGGGGFFGC?=?EED>+??FCADFFFF?5;AF5A8EFFFFFFF@FFEGFFFFFFAEB.*4*:):DD@FFFFFFCFGGG7A@D8DFA8DECG,EFGGGFF8,1<>CA>D5DFGGGFCCCFECCA7:;7@A=;<52::AFEF+A87E>4AFBFAF26):AB/6*/>5 =:CC87A:2(/-623;;)(,,8),));447;
-ACACGTACAATTTACGTAGTGATA ba 2 @M02286:46:000000000-AEG11:1:1109:20424:17148 2:N:0:1 AAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTACACTTGGTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGF9EFFGCFGGGGGGGGGGGGGGGGGGGGGGGGGGCFGGGGGGGGFFFEGGGGGGGGGGC9FGFCFGGGGGEGGGGGGGGCFFCEGGGGFGGGGEEGFFFDBDGGE8D@CEF9EGGGCEFFG*4;?FGG5FGFGGG7CFGFGFG6CC?3AFA@G78A8=*=4?=2)*-6<>BA>B2:>FADBA<FFGGGGCFCGFDFG8FFFGGGGGGGGCFGGDGCFC,5,:5,@,,6@DEFGGFGGGA;FGDEEGGGGC86:8>E9D7::CCFGGC@CEEDEC1C6A2:<9))6)6*-4:2>::)
-ACACGTACAATTTACGTAGTGATA ba 2 @M02286:46:000000000-AEG11:1:2104:27581:14494 2:N:0:1 AAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTATGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTACAGTATATATGAGTAAACTTGGTT- GGGGGGGFGFGGGGGGDEFEEFFGGCFFGFGFGGGGGGGGGGGGFGEGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGCGGGGGGFGGGGGGGGGGFGFFGGGGGGFGGGGG+,FDFGADFEFCFFGGGGGGGGGGGCCEFGGG>F>FGGGGGDE8E8CD:B6DEEE4*>E?CFGGGDG,B6C?6F=F,9FDFF?7=AFFCFGGGF9>D5*;;GF75FCFF=+<<9@>FF?6)1:29*62<7><AE<@@FG6FCGGCF9,38@FFG?DA299@EF:2,*4D994=FG48D;AFFFFBBFFB*84;C@FFAA+);)5C463>),9)3=C4;?C7C1
-ACACTCTGCGAAGTCATTCCACAC ab 1 @M02286:46:000000000-AEG11:1:1112:12383:16567 1:N:0:1 GCCCAGCCACTATAAGTACCATGAAAAGCATTATGCAAATGCTGCTATATTTGCTGACAGCAAAAACCAAAAAACCATATGCCAACAGGCTGTTGATACTGTTTTAGCTAAAAAGCGGGTTGATAGCCTACAATTAACTAGAGAACAAATGTTAACAAACAGATTTAATGATCTTTTGGATAGGATGGATATAATGTTTGGTTCTACAGGCTCTGCTGACATAGAAGAATGGATGGCTGGAGTTGCTTGGCTACACTGTTTGTTGCCC-AAATGGATTCAGTGGT GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCAFGEEGGGGGGGGFGGGGGGGGEFGGGGGGFGGGGFGGGGGGGGGGGGFFFGGGGGGFGGFGGGDFFFGAFGFFFGFFFFFFCFFFFAFFFF39 58@FFFEFFEF?CFF;
-ACACTCTGCGAAGTCATTCCACAC ab 1 @M02286:46:000000000-AEG11:1:1113:17075:4596 1:N:0:1 GCCCAGCCACTATAAGTACCATGAAAAGCATTATGCAAATGCTGCTATATTTGCTGACAGCAAAAACCAAAAAACCATATGCCAACAGGCTGTTGATACTGTTTTAGCTAAAAAGCGGGTTGATAGCCTACAATTAACTAGAGAACAAATGTTAACAAACAGATTTAATGATCTTTTGGATAGGATGGATATAATGTTTGGTTCTACAGGCTCTGCTGACATAGAAGAATGGATGGCTGGAGTTGCTTGGCTACACTGTTTGTTGCCCAAAATGGATTCAGTGG- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGFGGGDGGGGGGGFFFGGGGGGGFGGGGGGGGFGDGGGGGGGGGGGGFGGGGD8FFGGAFGGEFGFGGF7DFGGGFEGDFGDGCFGGFFGGEGGGGGGF8EDCFGGGGGGGGGGG>DGGGDGFGFGFGFF47?FFGFFFFGFFFFFFFFFFFFFAACAEF?FFEFFFF375CCF;
-ACACTCTGCGAAGTCATTCCACAC ab 1 @M02286:46:000000000-AEG11:1:2109:25774:9692 1:N:0:1 GCCCAGCCACTATAAGTACCATGAAAAGCATTATGCAAATGCTGCTATATTTGCTGACAGCAAAAACCAAAAAACCATATGCCAACAGGCTGTTGATACTGTTTTAGCTAAAAAGCGGGTTGATAGCCTACAATTAACTAGAGAACAAATGTTAACAAACAGATTTAATGATCTTTTGGATAGGATGGATATAATGTTTGGTTCTACAGGCTCTGCTGACATAGAAGAATGGATGGATGGAGTTGCTTGGCTACACTGTTTGTTGCCCTAAATGGATTCAGTGG- GGGGGGGGGGGGGGGGGGGGGFFGGGGGFFGGGGGGGGGGGGGGGDFGGGGCAFGGGGG9FGGG@FGGGGGGGGGGFGGGGGFGGGGGGGGGGGGFFGGGFEGGFGGGGGGGGGGGCDGGGGGGAAEFFFGGGGGGGGGFFCFGGG77*=FCFAFGFFGGF*;D8C*);D@FACF;;C*6*8567+7;+4.;C9)(
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:1108:24778:2629 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCT-GGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTCAGGCCATGGTGCTGCGCCGGCTGTCACGCCAGGCCTCCGTTAAGGTTCGTAGGTGT GGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGCFGFGGGGGGGGGGGGGGGGGGGGGGGGG GGGGFFGGGGGGGGGGGGGFEFCGDGGCGGGGFGFGGGFFGGGGCDCC8,@D9EFGFDFEGGEFF7:EFCEECEFGGFGEC?99E7A,***;8?BF?8?C4?BE9(B6>3A@)6/(),8A<@D6)5-46-*8;::60:20
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:1111:17974:7690 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTCAGGCCATGGTGCTGCGCCGGCTGTCACGCCAGGCCTCCGTTCAGGTTCGTAGGTC- GGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGG?FCFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG@C+DGGGGGGGGGGGFGGGGGGGGGGGGFGCCFFGGGGGGGGGE5FGGGGGGGFGGGCEFGFFGFFGCDFBG:FCFAGBGFGF:DG:>DGFGFGEC?F38F>?*(89)2(064527>50(4:)
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:1113:11058:8507 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCAAGTTCCTCTTTCAGAGGTTATTTCAGGCCATGGTGCTGCGCGGGCTGTCACGCCAGGCCTCCGTTACGTTTCGTGGGTC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFGGGGGGGGGGGGGGGGGGGGEFGDFFGFFGGG:FEGGFGGGGGGGGGGGGGGFFFGGGGGG?FFGGFFFGGFFGG6FGGGFEACGCGGGGFGG4;,;EGGGGGGFGFGGF:F8CAC>)):)5>4*+1)7>9B35))4)(8)0(-)0(0-4(4(((
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:1118:2505:15879 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGTCTGCTGGGGAGCATGGGGACTTTCCACACCCTATCTGACACCAATTCTACAGCTGGTTCTTTCCGCCTCAAAAGATACCTAACCAAGTTCCTCTTTTACAGGATTATTCAGGCTATGGTGCTGTCTCCGCTGTCTCGTCAGGTCTCAGTTTAGGTTCGTAGTTC- GCECFFG9FDFF8FEF,,;EFGC@A@C)3>((,))
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:2101:29254:14036 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCATGCTGGGGAGACTGGGGACTTTCCACACCCTAACTGCCACACATTCCAAACCTGGTTCTTTCCGACTCAGAAGGTACCTAACAAAGTTCCTCTTTAACAGGTTATTTCAGGCCATGGTGCTGCGCCGGCTGTCACGCCGGGCCTCCGTTAAGGTTCGTAGGTT- GGCEFFEFGGFGGGFFFFGGGCEFGGGGGGCFGGGGG9EEFGGGFCFFGGGGCGDGGEGG7@FF7FGEGG9FCFCDGGFG@FGG@EGCE9CFGGGGFFCFFCFF,FF,?E<,5CB?FFGA,AFFFFFGDG:++,9A?C@F,AEC??EFC+8AF:C;;,,7CA+C,A;;,,8++6@D,8D=9@C@E+@+@CF9;6::E;C7,4@<,DC;7,7,2@A=>+,+4/32+2+=@@FF>5;6CFA?=484C5D>E;F7AAF))055@(5.(192064(40(14@>((
-ACAGAACACAACTATAGTCAAAAG ab 1 @M02286:46:000000000-AEG11:1:2117:16701:8388 1:N:0:1 GGACTATGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCTGGTTGCTGACTAATTGAGATGCATGCTTTGCATACTTCTGCCTGCTGGGGAGCCTGGGGACTTTCCACACCCTAACTGACACACATTCCACAGCTGGTTCTTTCCGCCTCAGAAGGTACCTAACCACGTTCCTCTTTCAGAGGTTATTTCAGGCCATGGTGCTGCGCCGGCTGTCACGCCAGGCCTCCGTTACGGTTCGTAGGTC- GGGGGFGGGGGGGGGGGGGGGGGGG@FFGGGGGGGGGGCFGGGGGGGGGGGGGFGGGFEGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGCEFFGGG9FEGGGGCGFGDGGGGGGGGGGGGGECECEGGGGGGGGGGGGGGGGGGECFGFGGFGGGGGGEGGGGGGG8:E8FFGGGGFFGGGGECCF9DF6DBEGGC?FDE*@FB7FEFGGGF?,DFEEC7CFGGGGC??<:BF:5(8@::<>?(7CDG>CGCF7D:9CF+7969*=FFFEG6+=*7;A))7A;)7B6BCF+4@C?E)34(0,<)
-ACCAGCGTGAAAAGACTACCTGTC ab 1 @M02286:46:000000000-AEG11:1:2109:21286:11167 1:N:0:1 AACTGTTATGCCTACTTATAAAGGTTACAGAATATTTTTCCATAATTTTCTTGTATAGCAGTGCAGCTTTTTCCTTTGTGGTGTAAATAGCAAAGCAAGCAAGAGTTCTATTACTAAACACAGCATGACTCAAAAAACTTAGCAATTCTGAAGGAAAGTCCTTGGGGTCTTCTACCTTTCTCTTCTTTTTTGGAGGAGTAGAATGTTGAGAGTCAGCAGTAGCCTCATCATCACTAGATGGCATTTCTTCTGAGCAAAACAGGTTTTCCTCATTAAAGGCATTC GGGGGGGGGGGGGGGGGGGFFGGGDGGGGGGGGGGGEGGGGGGFEGGGGFGGGGGGGGFFGGGGGGGGGGGGGGGGGGFGGFFEGGGGGGGGGGGGGGGGGGGGGFFFAEFGGGGGFGFGGFFGF9FEFFGGCFGGGGGGGGFGGFGGGGGGGGGFDFFFGDFG?:FGGGFFGGGFG;6AADFAFF9DAEEG=@EE6CFGFFFCGFGFGGFGEGFFFCGGGGGGGGGGGGGGGGCFFCFFFFFCFFGGFCFGFGFFGCAFFFF4;B55FFEFF6CAFF35@?7)
-ACCCCGTAGCTCCAGCATTAATAG ab 1 @M02286:46:000000000-AEG11:1:1109:6394:3256 1:N:0:1 GGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACAGCAAAAAAATGAAAATTTGACCCTTGAATGGGTTTTCCAGCACCATTTTCATGAGTTTTTTGTGTCCCTGAATGCAAGTTTAACATAGCAGTTACCCCAATAACCTCAGTTTTAACAGTAACAGCTTCCCC- GGGFDEFGGGGCGGGGGFGGGGGGGGGGGGGGGGGDGGFGGGGGGGGGGFGGGFGGFGGGAFEGGGGGGGGGGGG@FGGGGDGGGFGGFGGGGGGEGGGGGAEFFGGFGFGFGGGCGEDCGGGGGGGFGGGGGGGGGGGGGFGGFGDFGF=DF;BEGGGGGGBFGGGE@FGGFCEFF76EFGGGGEGFFGG?F48?FGGCDGFFGGFGFFA,6+*:B+@>4C@8@6AA1:A63F?FF3)1;)<6+).)3/;E@?(
-ACCCCGTAGCTCCAGCATTAATAG ab 1 @M02286:46:000000000-AEG11:1:1115:16943:5693 1:N:0:1 GGATAAGCATTATCCTTATCCAAAACAGCCTTGTGGTCAGTGTTCATCTGCTGACTGTCAACTGTAGCATTTTTTGGGGTTACAGTTTGAGCAGGATATTTGGTCCTGTAGTTTGCTAACACACCCTGCAGCTCCAAAGGTTCCCCACCAACAGCAAAAAAATGAAAATTTGACCCTTGAATGGGTTTTCCAGCACCATTTTCATGAGTTTTTTGTGTCCCTGAATGCAAGTTTAACATAGCAGTTACCCCAATAAACTCAGTTTTAACAGTAACAGCTTCCCC- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGGGGCGFGGGGGGGGDGFFGGGGGGGGGGGGGGGGGGFDDEEGGFEGGGGGGGGGGFGFGDGGGGGGGGGGGE79?DCEGGGGG7:CFGFGGFFFDFFF=FFFGFFA;F4);A8FD?3A8?ADFG;;FEG@CCFFGFGGG@7:FGE<,4C714=CFGC@+C2<;:*;<9*2A@*AFFC88E*5C=EFCEG7<8@**/<**/C59?9FCG7>CG39CDD5C<79D7C<>)***//00*5@4@*/)7>:))((0:=)(4418)7)-6*442((-((,(,((4(3-(4:3((.83((()))-..((-(-4(()-((.-.
-ACCTGGCAGGATAACCGCTGTGAG ba 2 @M02286:46:000000000-AEG11:1:1103:24915:9063 2:N:0:1 TGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCTTTAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGATTAGGGTGATGGTTCACGTAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFGGGGGGGGGGGGGGGGGGG9FFGGGGGGFGGGGGGGGGGGFGGGGGGCFGGGGGGGCGEGEGGGGGF7?B?,4::<071:B>4)4231(88((.)))(,42:>
-ACCTGGCAGGATAACCGCTGTGAG ba 2 @M02286:46:000000000-AEG11:1:1113:15374:8983 2:N:0:1 TGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGCGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCTTTAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGCTTAGGGTGATGGTTTACGTAGTCGGCCATCGCCCTGATACCCGGTTTTTCGGCCTTTGACGTTGGCTTCCACGTTCTT- GGGGFGEFGGGGGGGGGGGGGDFFDDFGGGGGGEGGGGGGGGGCCCEGGGGGGGCDFFFGFGEGGFGGGGGGGFGGGGCFGGGFFEEEFFGGFCFGGG:EG:CGGGG8**+<:@FC9CCFCC8=EECGEG*<:D*9*7)1798).)0((7(0:::38;1(9)-).,((-40224(((-2<2).((-(..(,,3)63412?>
-ACCTGGCAGGATAACCGCTGTGAG ba 2 @M02286:46:000000000-AEG11:1:1117:9256:4734 2:N:0:1 TGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCCCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCTTTAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGATTAGGGTGATGGTTCACGTAGTGGGCCATCGCCCTTATCGACGGTTTTTCGCCCTTTGACGTTGGCGTCCACGTTCTT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG?FEGGGGG+CFGGGGGGGGGGCGGGGFGGGCGGGFGDFG7FGFFGGGGFDGEGGGGGGGDEGGGG8CCCGFGF5?CCEG*;EFCE+4<7<>66F(243F9C+*4F@:9B++32<:95*7><*+)+2**:C7**<46*9)2+78*):CCC8CEF*+AF@FGCFFFE)2A=EGGG7*CE+<85*.:5*1:):777/C37;5::72*::7*0*7>*9-*94)**-.*)-/460>32:*3(,)()-.)-<;(.,((0.4(()40)6).)).)*,)53*.)*0).==
-ACCTGGCAGGATAACCGCTGTGAG ba 2 @M02286:46:000000000-AEG11:1:2107:21682:7668 2:N:0:1 TGTAGCGGCGCATTAAGCGCGGCGGGTGTGGTGGTTACGCGCAGCGTGACCGCTACACTTGCCAGCGCCCTAGCGCCCGCTCCTTTCGCTTTCTTCCCTTCCTTTCTCGCCACGTTCGCCGGCTTTCCCCGTCAAGCTCTAAATCGGGGGCTCCCT-TAGGGTTCCGATTTAGTGCTTTACGGCACCTCGACCCCAAAAAACTTGCTTAGGGTGATGGTTCACGTAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCATTTGACGTTGTTGTCCCCGTCTTTT FGGGGGGGGGGGGGGGGGGGGGGGGGGCGFDFFGGGGGGGGGEGGGGGGGGGDGGGGFFFFGG*CC*5*8>57FGF*:<:)0)2.**9)1:4*1948*9(8)4,))(-))2),,)).78:::B6?B<(2:((.<2*.24:6(..,.*+(-9(,-+<
-ACGCCCTGTCCATAACCGTTCAAT ab 1 @M02286:46:000000000-AEG11:1:1114:13045:7987 1:N:0:1 CACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACAGTATCAACAGCCTGTTGGCATATGGTTTTTTTGGTTTTTGCTGTCAGCAAATATAGCAGCATTTGCATAATGT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGFGGGGCGGGGGGGGGGGGGGGGGGGGGGGGFGGCFGGGGGGGGGGGGGGGGGGGGGGGGGDGFGGGCFDGFACGFFGCFAFGGGGGCFGFGGFGFGEGGFFFFGFFFFFFFFFFFCCFFCEFFFFDEFFFE?CEFF3.
-ACGCCCTGTCCATAACCGTTCAAT ab 1 @M02286:46:000000000-AEG11:1:1117:5774:11210 1:N:0:1 CACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTAATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACAGTATCAACATCCTGTTGGCATATGG-TTTTTTGGTTTTTGCTGTCAGCAAATATAGCAGCATTTGCATAATGCT GGGGGGCE;FGFFEGFGGGGGGGD@DCEGEEDFGGGFGG:,3;F6CCFFD;@F,?9CC+<:7?799B+< EG>FFGDEFGFFF4AF@EFFE;*25@FCF+;>3>;E??FF5AF)7).9
-ACGCCCTGTCCATAACCGTTCAAT ab 1 @M02286:46:000000000-AEG11:1:2101:25555:5560 1:N:0:1 CACCATGCATTTTAAAAAGTCATACACCACTGAATCCATTTTGGGCAACAAACAGTGTAGCCAAGCAACTCCAGCCATCCATTCTTCTATGTCAGCAGAGCCTGTAGAACCAAACATTATATCCATCCTATCCAAAAGATCATTAAATCTGTTTGTTAACATTTGTTCTCTAGTTCATTGTAGGCTATCAACCCGCTTTTTAGCTAAAACAGTATCAACAGCCTGTTGGCATATGG-TTTTTTGGTTTTTGCTGTCAGCAAATATCGCAGCATTTGCATAATGCT GGGG@ECFEGGGGGGGGGGA9C7DG,@7EC7F5>;89C>+ 5897>*/*;8?FF8FFFFFGFFA);F*9+26B7A;>F3)9:<<3DEFFFFFEFFDF07;13=3C??EEFCEED0
-ACGCCCTGTCCATAACCGTTCAAT ab 2 @M02286:46:000000000-AEG11:1:1117:5774:11210 2:N:0:1 GTTAAAGGAGCATGATTTTAATCCAGAAGAAGCAGAGGAAACTAAACAAGTGTCCTGGAAGCTTGTAACAGAGTATGCAATGGAAACAAAATGTGATGATGTGTTGTTATTGCTTGGGATGTACTTGGAATTTCAGTACAGTTTTGAAATGTGTTTAAAATGTATTAAAAAAGAACAGCCCAGCCACTATAAGTACCATGAAAAGCATTATGCAAATGCTGCTATATTTGCTGACAGCAAAAACC-AAAAAACCATATGCCAACAGGCTGTTGATACTGTTTTAT GGGEGFGFEEGFFFFFFFFFFE@C<=C=FBAC@8=A9 5B>)5>A?BE45*9*70:9222-(07/)76+/)17?@5)
-ACGCCCTGTCCATAACCGTTCAAT ab 2 @M02286:46:000000000-AEG11:1:2101:25555:5560 2:N:0:1 GTTAAAGGAGCATGATTTTAATCCAGAAGAAGCAGAGGAAACTAAACAAGTGTCCTGGAAGCTTGTAACAGAGTATGCAATGGAAACAAAACGTGATGATGTGTTGTTATTGCTTGGGATGTACTTGGAATTTCAGTACAGTTTTGAAATGTGTTTAAAATGTATTCAAAAAGAACAGCCCAGCCCCTATAAGTACCATGAAAAGCATTATGCAAATGCTGCTATATTTGCTGCCAGCAAAAACC-AAAAAACCATATGCCAACAGGCTTTTGATTCTGTTTTAT FFCEG=7:8**;)85*28>::685C(78)6)(:6)9)-665<4@(,5-)=ABFA<)65)1A4.(3)-6)).-4,
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:1105:3410:14173 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCTATTTAGGTGACACTATAGAATACTCAAGCTATGCATCCAACGCGTTGGGAGCTCTCCCATATGGTCGACCTGCAGGCGGTCGCGAATTCTAGCCACACTGTCGCAAGGCAGTTGTTCTTTGTCTTGATAGTCAGCTTTAAACTGGTTTTCAGCGTCTAAGCTTTTT- @DFG,C9FFGDFG@FGGGGGGGFGGGDCDFGGGGEC88?8+=9CDCF?AFCDFB7:C8*;,0418=C499ADD))2=:;1A6AA3>>3+3+,*((-5)(13@1=>BFA))-).)*.-)-)*))).-))54/(6218<6<20(-4(6)()).8<
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:1117:15813:18648 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGTGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCTATTTAGGTGACACTATAGAATACTCAAGCTATGCATCCAACGCGTTGGGAGCTCTCCCATATGGTCGACCTGCAGTCGGCCGCGAATTCTAGCCACACTGTAGCAAGGCAGTTGTTCTTTGTCTGGAGAGTCATCTGTAAACTGTTTTTCAGCTGCTAAGCTTTTT- GGGGGGGGFFGGGGGGGGGG?FFGEFGGGGGGGGGGFGGGDGGCFEEGGGGAFGEFCFGGFEFFFCFGGFGCFFGCFGFGFGGGGGGGGFGGGGGGGGGCFGGGGGGEGGGGGGGGGGCFFGGGGFFGGGGGDF@DEGGGEGGG?FGGGGA9ECGG88FEEDG8>DEFGGEF8DFFG7DF7AC=CDGDG*;*;+99??4@C??DG;:D+=BFFFA;3=+.6776=3;1:@E)1,96694-4)1.5)1:<)-60:0<2<@B03*6)4)-)4.
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:2101:12651:18106 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCTATTTAGGTGACACTATAGAATACTCAAGCTATGCATCCAACGCGTTGGGAGCTCTCCCATATGGTCGACCTGCAGGCGGCCGCGAATTCTAGCCACACTGTAGCAAGGCAGTTGTTCTTTGTCTGGAGAGTCATCTGTAGACTGTTTTTCGGCTGATTAGTTTTTT- GGGGGGGGGGGGGGGFGGGEGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGDGFFGGGGGGGGGGDGGGGGGGGFGGGGGGGGFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGC;EFF?FGGGGCFGGGGGGGGG,D9EFGGGGFGCDDGGGGGGG6FGF8C?C9FGCCFC9E=FFDD7?;;CAF47**?>G5D)9).C>C6+;=A)8567789*6:75;35:9A@6>7<49BBB().)48<<<4<<:)))))))..16(29BF9(/)-4)).612
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:2112:19804:5719 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATCTTGTGTGGAATTGTGAGTGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCTATTTAGGTGACACTATAGAATACTCAAGCTATGCATCCCACGCGTTGGGAGCTCTCCCATATGGTCGCCCTGCAGGCGGCCGCGAATTCTAGCCACACTTTAGCAAGGCCGTTGTTCTTTGTCTGGAGATTCATCTGTAAACTGGTTTTCCGCTTCTTATCTTTTT- GGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGECGGGDGDFGGGGGGGFEFFFGGGGGGGGFGGFGGGGGGGGGGGG:EDGFGGGGGGGGAEGGGGGFGGGGGGGFGFFDEFGGGGFDGGGGGG@DEFDGGGGGGDDFGGGGFGA8=D,@F>EEGGC8DFEEFFGDDFEF?F>DFG3+3;D>>*@>DCDC?)2*.)):C777AFC@73(0*+/A;@@3)(03<),5:*@>4@BF)760,(.6*<>AB24*..42(6)<>A)(.((,2)))64<AFGD+,68@F;,4D+:?9,25@+@;*:7CFCFC94C79E))*))++;8FGADC3))8:)++0/)).-.)*6?C<4)/44<*1)()027:<<*)*))).34.))6<))).-)))*)((.(-,)
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:2119:22203:20925 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGT-GAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCCATGACCATGATTACGCCAAGCTATTTAGGTGACCCTATAGAATACTCAAGCCATGCATCCAACGCGTTGGGAGCCCCACCCTATGGTCGACCCGCCGGCGGCCGCGGATTCTAACCACACCTGAGCCAGGCCGTTGTTTTTTGTCTGGGACGTCCTCTGTAACCTGTTTTTCAGATGCTACGGTTTTCT FGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGAEGG G<:())05,****0*0.5)0)2.756,/(/-17@(4):()-*-))((((045533-6)).1)..)6)36(..)--)))*(.(((-))
-ACGGCTACTTACATTGAACCTTAC ba 2 @M02286:46:000000000-AEG11:1:2119:28352:12193 2:N:0:1 TCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCTATTTAGGTGACACTATAGAATACTCAAGCTATCCATCCAACGCGTTGGGAGCTCTCCCATATGGTCGACCTGCAGGCGGCCGCGAATTCTAGCCACACTGTAGCAAGGTAGTTGTTCTTTGTCTCGAGAGTCATCTGTAAACCGTTTTTCAGCGGCTACGCGTTTT- CGGGFGFGGGGAFEGGEG@C8@8+1=ECGD,<@AFF@,2CGGF5;CDE774GFC77?4C>GC>98C7+;6AFF)).9;3+0*6*4*)>?*)))+)9<76)))(,-),)0.+-65)6*)-(,347??4)4)(,(-8()((-(72
-ACTGCCATCGTCTCACTTATCCTT ba 1 @M02286:46:000000000-AEG11:1:1102:21450:6491 1:N:0:1 GAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGTTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGCCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAA-CCTCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGCCTTGAGTCCAACCCGGTAAGACACGCCTTATCGCCACTG GGG<+BC<,EF,4B+@F+CFGFGGGG9B=+C:+4,683>B:B=FFF9DD<<3DFEFFCF++88<>;@FGC;=D9,3C*@>F,,6>FBECFBB*BC8,,F6>6C5<5CCEFGGEF81 ??**3*=C6;<++./:C>29C:/1*959*9+0:>)/1)>9B7*0)).)0/6*9*C>?>B>B5<).**7(7)(),)94704(,,.
-ACTGCCATCGTCTCACTTATCCTT ba 1 @M02286:46:000000000-AEG11:1:1118:10634:12228 1:N:0:1 GAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGAAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACT- GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGGGGGGGGGGDGGGGGGGGGGGGGGGGFGGGGFGF:EGGGGGGEGGGG7EDEFGGFGGGGGGGGDGF6BGFDBG@F7FDF3@FFFFG44BFFFFBA>=C+@FFGDGGDFDDFEF*>@8,?CEEF5EF*:8;,>C7;>* *3*:*==/C8E9<6CCED*7:C7<*)**9*87=FB53)..-(=9)93B(4)16)*(--((5)
-ACTGCCATCGTCTCACTTATCCTT ba 1 @M02286:46:000000000-AEG11:1:2119:3528:16760 1:N:0:1 GAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAA-CCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGCCACGACTTATCGCCACTG GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGEGDEGGGDGGGGGGGFGGGGGCCF<@FGGGGGGGGGGCFGGGGGGGGGGF==@EFGGDFEGGGCFDCCBCEGGGGGG:FDGGGGFGF8EG;FC78?55?GG>*:?)2/9:7:50=6@7C>69:>A)+4509:70
-AGAACCACCCCGAGACCACAGCTG ab 1 @M02286:46:000000000-AEG11:1:1104:22939:12126 1:N:0:1 GTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTCCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCCAAAAAGGGACTAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTTAAGCATTCATT- @@DF9BFAC8?C,@FGFGCFC,>8FCE*?,5,*2114CEF,,4BC8E*<*;CCC9C+3@+?8*3)53958<<)29*6;7C971*8E351/:=:***:*8::F@CAFG)6<66@BA*=75)*/)./1)).19)45<*-6)
-AGAACCACCCCGAGACCACAGCTG ab 1 @M02286:46:000000000-AEG11:1:1110:12496:19491 1:N:0:1 GTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATC- GG@F@C@=?A,55A9F8,545BE?B:7CGEFB,48CF<5>FDF@GF<38FFGGG73,F=DGFDCCFFFFE8>C822:8*FEG8F,88=B7*2>+<9C8/*32/1*=57C:77D7E7C@?:=F)?8>94?:9:27BF))05@A986<7<)4)6414:4-
-AGAACCACCCCGAGACCACAGCTG ab 1 @M02286:46:000000000-AEG11:1:1116:5983:22642 1:N:0:1 GTCAATACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATT- GGFGGGGGGDGGGGGGGGFGGGGGGGGGGGGFGGGGGGGGGGGGGGGGG9FFFGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGCGGGGGGGGGFGGGGGG9BFGGGFFFFGGFFGFFFCG>CE58FFFFFGGGG=,:==FDGG?CFFGDGC?C0:CDEGC7CFF=F@GGGCGD<3<