[med-svn] [unanimity] 03/05: Imported Upstream version 2.1.0~20160130+dfsg

Afif Elghraoui afif at moszumanska.debian.org
Fri Feb 3 08:06:56 UTC 2017


This is an automated email from the git hooks/post-receive script.

afif pushed a commit to branch master
in repository unanimity.

commit 857a594b200582bfae1c58fe1f1ada5df9b96ba3
Author: Afif Elghraoui <afif at debian.org>
Date:   Thu Feb 2 23:08:23 2017 -0800

    Imported Upstream version 2.1.0~20160130+dfsg
---
 .gitattributes                                     |    2 +
 .gitmodules                                        |    2 +-
 CHANGELOG.md                                       |   10 +
 CMakeLists.txt                                     |    4 +-
 README.md                                          |   27 +-
 cmake/uny-compilerflags.cmake                      |    6 +-
 cmake/uny-dependencies.cmake                       |    3 +
 doc/CLERIC.md                                      |   37 +
 doc/FUSE.md                                        |   33 +
 doc/JULIET.md                                      |  125 +++
 doc/JULIETFLOW.md                                  |   36 +
 doc/img/cleric.png                                 |  Bin 0 -> 7926 bytes
 doc/img/fuse.png                                   |  Bin 0 -> 12677 bytes
 doc/img/juliet.png                                 |  Bin 0 -> 180047 bytes
 doc/img/juliet_hiv-hiv.png                         |  Bin 0 -> 71897 bytes
 doc/img/juliet_hiv-own.png                         |  Bin 0 -> 53046 bytes
 doc/img/juliet_hiv-unknown.png                     |  Bin 0 -> 43879 bytes
 doc/img/julietflow.png                             |  Bin 0 -> 140452 bytes
 .../pacbio/align/SimdAlignment.h                   |   21 +-
 include/pacbio/ccs/Consensus.h                     |    2 +-
 include/pacbio/consensus/AbstractIntegrator.h      |    2 +-
 .../RandomDNA.h => include/pacbio/data/ArrayBase.h |   42 +-
 include/pacbio/data/ArrayRead.h                    |  145 +++
 .../pacbio/data/FisherResult.h                     |   18 +-
 .../unit/RandomDNA.h => include/pacbio/data/MSA.h  |   55 +-
 include/pacbio/data/MSAColumn.h                    |  115 +++
 include/pacbio/io/{Utility.h => BamParser.h}       |   54 +-
 include/pacbio/io/Utility.h                        |    2 +
 include/pacbio/juliet/AminoAcidCaller.h            |  174 ++++
 .../pacbio/juliet/AnalysisMode.h                   |   23 +-
 .../{util/Timer.h => juliet/ErrorEstimates.h}      |   40 +-
 .../{io/Utility.h => juliet/JulietSettings.h}      |   56 +-
 .../{util/Timer.h => juliet/JulietWorkflow.h}      |   27 +-
 include/pacbio/juliet/ResistanceCaller.h           |  122 +++
 .../pacbio/{io/Utility.h => juliet/TargetConfig.h} |   69 +-
 include/pacbio/realign/Cleric.h                    |   97 ++
 .../pacbio/realign/ClericSettings.h                |   29 +-
 include/pacbio/{io/Utility.h => realign/Fuse.h}    |   50 +-
 .../{io/Utility.h => realign/FuseSettings.h}       |   47 +-
 include/pacbio/statistics/Fisher.h                 |   26 +
 .../pacbio/statistics/Tests.h                      |   33 +-
 include/pacbio/util/Timer.h                        |    2 +
 scripts/ci/build.sh                                |   47 +-
 scripts/minorvariant/build.sh                      |   19 +
 scripts/minorvariant/julietflow                    |   73 ++
 scripts/nightly/build.sh                           |    2 +-
 src/AminoAcidCaller.cpp                            |  612 ++++++++++++
 src/ArrayRead.cpp                                  |  143 +++
 src/CMakeLists.txt                                 |   75 +-
 src/Cleric.cpp                                     |  745 ++++++++++++++
 src/ClericSettings.cpp                             |  109 +++
 src/{Timer.cpp => ErrorEstimates.cpp}              |   48 +-
 src/Fisher.cpp                                     |  192 ++++
 src/Fuse.cpp                                       |  153 +++
 src/FuseSettings.cpp                               |  139 +++
 src/JulietSettings.cpp                             |  220 +++++
 src/JulietWorkflow.cpp                             |  194 ++++
 src/MSA.cpp                                        |  267 +++++
 tests/unit/RandomDNA.cpp => src/MSAColumn.cpp      |   44 +-
 src/Polish.cpp                                     |   18 +-
 src/ResistanceCaller.cpp                           |  679 +++++++++++++
 src/SimdAlignment.cpp                              |  122 +++
 src/TargetConfig.cpp                               |  166 ++++
 src/Tests.cpp                                      |  126 +++
 src/Timer.cpp                                      |   26 +-
 src/Utility.cpp                                    |   17 +
 src/main/cleric.cpp                                |  141 +++
 include/pacbio/io/Utility.h => src/main/fuse.cpp   |   68 +-
 include/pacbio/io/Utility.h => src/main/juliet.cpp |   55 +-
 .../io/Utility.h => src/models/CounterWeight.h     |   59 +-
 src/models/MarginalModelForm.cpp                   |   27 +-
 src/models/P6C4NoCovModel.cpp                      |   99 +-
 src/models/PwSnrAModelForm.cpp                     |   26 +-
 src/models/PwSnrModelForm.cpp                      |   26 +-
 src/models/S_P1C1Beta_Model.cpp                    |   37 +-
 src/models/S_P1C1v1_Model.cpp                      |   37 +-
 src/models/S_P1C1v2_Model.cpp                      |   58 +-
 src/models/S_P2C2_Model.cpp                        |  395 --------
 src/models/SnrModelForm.cpp                        |   29 +-
 src/poa/PoaGraphImpl.cpp                           |   34 +-
 tests/CMakeLists.txt                               |    4 +-
 tests/cram/100zmws.t                               |  302 +++---
 tests/cram/100zmws_byStrand.t                      |  667 +++++++------
 tests/cram/fuse.t                                  |   23 +
 tests/cram/internal/big.t                          |    2 +-
 tests/cram/juliet.t                                |   11 +
 tests/cram/nozfilter.t                             |    4 +-
 tests/cram/siv/julietflow.t                        |   13 +
 tests/cram/tiny.t                                  |    6 +-
 tests/data/fuse/doubleCodonMissing.bam             |  Bin 0 -> 818 bytes
 tests/data/fuse/doubleCodonMissing.fasta           |    2 +
 tests/data/fuse/doubleCodonMissingTruth.fasta      |    2 +
 tests/data/fuse/gaps.bam                           |  Bin 0 -> 876 bytes
 tests/data/fuse/gaps.fasta                         |    2 +
 tests/data/fuse/identical.bam                      |  Bin 0 -> 767 bytes
 tests/data/fuse/identicalref.fasta                 |    2 +
 tests/data/fuse/singleCodonMissing.bam             |  Bin 0 -> 809 bytes
 tests/data/fuse/singleCodonMissing.fasta           |    2 +
 tests/data/juliet_hiv_3000_96-1-1-1-1.align.bam    |  Bin 0 -> 9102430 bytes
 tests/data/juliet_hiv_3000_97-1-1-1.align.bam      |  Bin 0 -> 8936079 bytes
 tests/data/julietflow/flea99_97_1.bam              |    3 +
 tests/data/julietflow/hxb2.fasta                   |    3 +
 tests/data/julietflow/sb99_96_1.bam                |    3 +
 tests/data/params/SP1C1Beta.json                   |    3 +-
 tests/data/params/SP1C1v1.json                     |    3 +-
 tests/data/params/SP1C1v2.json                     |    3 +-
 tests/data/params/SP2C2.json                       | 1026 --------------------
 tests/python/test_tool_contract.py                 |    4 +-
 tests/unit/FisherTest.cpp                          |   74 ++
 tests/unit/RandomDNA.cpp                           |   12 +-
 tests/unit/RandomDNA.h                             |    2 +-
 tests/unit/TestIntegrator.cpp                      |   34 +-
 tests/unit/TestLoadModels.cpp                      |   27 +-
 third-party/cssw/ssw.c                             |  981 +++++++++++++++++++
 third-party/cssw/ssw.h                             |  188 ++++
 third-party/cssw/ssw_cpp.cpp                       |  476 +++++++++
 third-party/cssw/ssw_cpp.h                         |  219 +++++
 tools/check-formatting                             |   34 +
 tools/format-all                                   |    9 +
 tools/git-clang-format                             |  485 +++++++++
 120 files changed, 9053 insertions(+), 2441 deletions(-)

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..4a86dcf
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+tests/data/julietflow/flea99_97_1.bam filter=lfs diff=lfs merge=lfs -text
+tests/data/julietflow/hxb2.fasta filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitmodules b/.gitmodules
index 1934faf..e8428af 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -9,4 +9,4 @@
 [submodule "third-party/pbcopper"]
     path = third-party/pbcopper
     url = ../pbcopper.git
-    branch = master
+    branch = master
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e172305..f7be291 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
 # UNANIMITY - CHANGELOG
 
+## [2.1.0]
+
+### Added
+ - Add Cleric, an alignment reference sequence replacer
+ - Add fuse, an alignment consensus caller
+ - Add juliet, a minimal minor variant caller
+ - Add Fisher's exact test
+ - Juliet JSON and HTMl output for HIV-1 pol region
+ - Call codon-wise
+
 ## [2.0.4]
 
 ### Added
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 879c065..94ac89a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@
 ##############################################
 
 cmake_policy(SET CMP0048 NEW)
-project(UNANIMITY VERSION 2.0.5 LANGUAGES CXX C)
+project(UNANIMITY VERSION 2.1.0 LANGUAGES CXX C)
 cmake_minimum_required(VERSION 3.2)
 
 set(ROOT_PROJECT_NAME ${PROJECT_NAME} CACHE STRING "root project name")
@@ -32,9 +32,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake ${CMAKE_MODULE_PATH})
 
 # Fixed order, do not sort or shuffle
 include(uny-ccache)
-include(uny-compilerflags)
 include(uny-releasewithassert)
 include(uny-dependencies)
+include(uny-compilerflags)
 include(uny-gitsha1)
 include(uny-config)
 
diff --git a/README.md b/README.md
index faf66de..d65d03d 100644
--- a/README.md
+++ b/README.md
@@ -12,11 +12,12 @@
    - Available
      - Consensus Core
      - [Circular Consensus Calling `ccs`](doc/PBCCS.md)
-   - Work in Progress
+     - [Minor Variant Calling `juliet`](doc/JULIET.md)
+     - [Reduce Alignment `fuse`](doc/FUSE.md)
+     - [Swap Alignment Reference `cleric`](doc/CLERIC.md)
+   - Planned
      - Genomic Consensus Calling `gcpp`
      - Viral Haplotype Phasing `eden`
-   - Planned
-     - Minor Variant Calling
  - [Developer environment](doc/DEVELOPER.md)
  - [PacBio open source license](LICENSE)
 
@@ -24,18 +25,26 @@
 
 ### [Circular Consensus Calling](doc/PBCCS.md)
 
-`ccs` takes multiple reads of the same SMRTbell sequence and combines 
+`ccs` takes multiple reads of the same SMRTbell sequence and combines
 them, employing a statistical model, to produce one high quality consensus sequence.
-    
-### [Genomic Consensus Calling](doc/GCPP.md)
+
+### Genomic Consensus Calling
 
 `gcpp` will replace the current python [GenomicConsensus](https://github.com/PacificBiosciences/GenomicConsensus), until then please use the existing solution.
 
-### Minor Variant Calling
+### [Minor variant caller](doc/JULIET.md)
+
+`juliet` identifies minor variants from aligned ccs reads.
+
+### [Reduce alignment](doc/FUSE.md)
+
+`fuse` reduces an alignment into its closest representative sequence.
+
+### [Swap BAM reference](doc/CLERIC.md)
 
-This tool will be able to precisely call single-nucleotide variants from consensus data.
+`cleric` swaps the reference of an alignment by transitive alignment.
 
-### [Viral Haplotype Phasing](doc/EDEN.md)
+### Viral Haplotype Phasing
 
 `eden` will leverage CCS reads to identify low-frequency haplotypes within polyploid samples.
 
diff --git a/cmake/uny-compilerflags.cmake b/cmake/uny-compilerflags.cmake
index 5b05174..e588dd3 100644
--- a/cmake/uny-compilerflags.cmake
+++ b/cmake/uny-compilerflags.cmake
@@ -35,7 +35,7 @@ if (SANITIZE)
     # AddressSanitizer is a fast memory error detector
     set(UNY_SANITY_FLAGS "${UNY_SANITY_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls")
 
-    # Clang Thread Safety Analysis is a C++ language extension which warns about 
+    # Clang Thread Safety Analysis is a C++ language extension which warns about
     # potential race conditions in code.
     set(UNY_SANITY_FLAGS "${UNY_SANITY_FLAGS} -Wthread-safety")
 
@@ -61,4 +61,8 @@ if(APPLE)
 elseif(UNIX)
     SET(PRE_LINK -Wl,-whole-archive)
     SET(POST_LINK -Wl,-no-whole-archive)
+endif()
+
+if (JULIET_INHOUSE_PERFORMANCE)
+    add_definitions(-DJULIET_INHOUSE_PERFORMANCE)
 endif()
\ No newline at end of file
diff --git a/cmake/uny-dependencies.cmake b/cmake/uny-dependencies.cmake
index ea3324c..8b46e6d 100644
--- a/cmake/uny-dependencies.cmake
+++ b/cmake/uny-dependencies.cmake
@@ -55,4 +55,7 @@ if (NOT PYTHON_SWIG)
     if (NOT SEQAN_INCLUDE_DIRS)
         set(SEQAN_INCLUDE_DIRS ${UNY_ThirdPartyDir}/seqan/include CACHE INTERNAL "" FORCE)
     endif()
+
+    # Complete-Striped-Smith-Waterman-Library
+    set(ssw_INCLUDE_DIRS ${UNY_ThirdPartyDir}/cssw)
 endif()
diff --git a/doc/CLERIC.md b/doc/CLERIC.md
new file mode 100644
index 0000000..3bcd4b4
--- /dev/null
+++ b/doc/CLERIC.md
@@ -0,0 +1,37 @@
+<h1 align="center">
+    Cleric - Swap BAM alignment reference
+</h1>
+
+<p align="center">
+  <img src="img/cleric.png" alt="Logo of Cleric" width="200px"/>
+</p>
+
+## Install
+Install the unanimity suite and one of the binaries is called `cleric`.
+
+## Input data
+*Cleric* operates on aligned records in the BAM format, the original reference
+and the target reference as FASTA.
+BAM file has to PacBio-compliant, meaning, cigar `M` is forbidden.
+Two sequences have to be provided, either in individual files or combined in one.
+The header of the original reference must match the reference name in the BAM.
+
+## Scope
+Current scope of *Cleric* is converting a given alignment to a different
+reference. This is done by aligning the original and target reference sequences.
+A transitive alignment is used to generate the new alignment.
+
+## Output
+*Cleric* provides a BAM file with the file named as provided via `-o`.
+
+## Example
+Simple example:
+```
+cleric m530526.align.bam reference.fasta new_ref.fasta
+```
+
+Or:
+```
+cat reference.fasta new_ref.fasta > combined.fasta
+cleric m530526.align.bam combined.fasta
+```
\ No newline at end of file
diff --git a/doc/FUSE.md b/doc/FUSE.md
new file mode 100644
index 0000000..3f4a2ac
--- /dev/null
+++ b/doc/FUSE.md
@@ -0,0 +1,33 @@
+<h1 align="center">
+    fuse - Reduce alignment into its representative sequence
+</h1>
+
+<p align="center">
+  <img src="img/fuse.png" alt="Logo of Fuse" width="100px"/>
+</p>
+
+## Install
+Install the unanimity suite and one of the binaries is called `fuse`.
+
+## Input data
+*Fuse* operates on aligned records in the BAM format.
+BAM files has to PacBio-compliant, meaning, cigar `M` is forbidden.
+
+## Scope
+Current scope of *Fuse* is creation of a high-quality consensus sequence.
+Fuse includes in-frame insertions with a certain distance to each other.
+Major deletions are being removed.
+
+## Output
+*Fuse* provides a FASTA file per input. If no output prefix has been specified
+via `-o`, the output files are called `inputPrefix.cons`, otherwise
+`outputPrefix_inputPrefix.cons`. There is no warning, existing files will be
+overwritten.
+
+## Example
+Simple example:
+```
+fuse m530526.align.bam
+```
+
+Output: `m530526.cons`
\ No newline at end of file
diff --git a/doc/JULIET.md b/doc/JULIET.md
new file mode 100644
index 0000000..6ded945
--- /dev/null
+++ b/doc/JULIET.md
@@ -0,0 +1,125 @@
+<h1 align="center">
+    juliet - Minor Variant Caller
+</h1>
+
+<p align="center">
+  <img src="img/juliet.png" alt="Logo of Juliet" width="400px"/>
+</p>
+
+## Install
+Install the unanimity suite and one of the binaries is called `juliet`.
+
+## Input data
+*Juliet* operates on aligned CCS records in the BAM format.
+Reads should be created with [CCS2](../PBCCS.md).
+BAM files have to PacBio-compliant, meaning, cigar `M` is forbidden.
+*Juliet* currently does not demultiplex barcoded data,
+provide one BAM per barcode.
+
+## Scope
+Current scope of *Juliet* is identification of codon-wise variants in coding
+regions.
+
+## Output
+*Juliet* provides a JSON and HTML file. The JSON file contains for each gene
+the variant positions. Each variant position consists of the reference codon,
+reference aminoacid, relative aminoacid position in the gene, the mutated codon
+and aminoacid, the coverage, possible annotated drug resistance mutations, and
+counts of the multiple-sequence alignment of the -3 to +3 context positions.
+
+The HTML page is a 1:1 conversion of the JSON file and contains the identical
+information, only human-readable.
+
+## Target configuration
+*Juliet* is a multi purpose minor variant caller with preinstalled configurations.
+A target configuration may contain multiple coding regions and optional drug
+resistance mutation positions.
+
+### Predefined target config
+Running on predefined organism:
+```
+$ juliet -c "<HIV>" data.align.bam -o patientZero
+```
+
+<img src="img/juliet_hiv-hiv.png" width="500px">
+
+Currently available configs are: `<HIV>`
+
+### Own target config
+Create a JSON file. The root child genes contains a list of coding regions, with
+begin and end, the name of the gene, and a list of drug resistent mutations
+drms. Each DRM consists of its name and the positions it targets. The drms
+field is optional. If provided, the referenceSequence is being used to call
+mutations, otherwise it will be tested against the major codon. All indices are
+with respect to the provided alignment space, 1-based.
+Save following as hiv.json:
+```
+{
+    "genes": [
+        {
+            "begin": 2253,
+            "drms": [
+                {
+                    "name": "PI",
+                    "positions": [ 24,32,46,47,50,54,76,82,84,88,90 ]
+                },
+                {
+                    "name": "PI S",
+                    "positions": [ 23,24,30,32,46,47,48,50,53,54,73,76,82,83,84,85,88,90 ]
+                }
+            ],
+            "end": 2550,
+            "name": "Protease"
+        },
+        {
+            "begin": 2550,
+            "drms": [
+                {
+                    "name": "NNRTI",
+                    "positions": [ 100,101,103,106,138,179,181,190,190,227,230 ]
+                },
+                {
+                    "name": "NNRTI S",
+                    "positions": [ 65,67,69,70,74,75,77,115,116,141,151,184,210,215,219 ]
+                }
+            ],
+            "end": 3870,
+            "name": "Reverse Transcriptase"
+        },
+        {
+            "begin": 3870,
+            "drms": [],
+            "end": 4230,
+            "name": "RNase"
+        }
+    ],
+    "referenceSequence": "TGGAAGGGCT..."
+}
+```
+
+Run with own target config:
+```
+$ juliet -c hiv.json data.align.bam -o patientZero
+```
+
+<img src="img/juliet_hiv-own.png" width="500px">
+
+
+### No target config
+If no target config has been specific, it is recommended to at least specify the
+region of interest to mark the correct reading frame. The output will be labeled
+with unknown as gene name:
+```
+$ juliet data.align.bam -o patientZero
+```
+
+<img src="img/juliet_hiv-unknown.png" width="500px">
+
+# FAQ
+
+### Can I use overlapping regions?
+Yes! Each gene is treated separately. Overlapping region, even with different
+reading frames are possible.
+
+### Can I call a smaller window from a target config?
+Use `--region` to specify the begin-end window to subset the target config.
\ No newline at end of file
diff --git a/doc/JULIETFLOW.md b/doc/JULIETFLOW.md
new file mode 100644
index 0000000..3462812
--- /dev/null
+++ b/doc/JULIETFLOW.md
@@ -0,0 +1,36 @@
+<h1 align="center">
+    julietflow - Minor variant pipeline
+</h1>
+
+## Install
+The script is located under `scripts/minovariant/julietflow`.
+
+## Input data
+*Julietflow* operates on unaligned ccs reads in the BAM format and a close
+reference sequence.
+BAM files has to PacBio-compliant, meaning, cigar `M` is forbidden.
+
+## Scope
+Current scope of *julietflow* is to automatize the re-align workflow for
+targeted HIV POL minor variant calling.
+
+## Output
+*Julietflow* provides the output of juliet in the current directory and the
+intermediate files in tmp/.
+
+## Example
+```
+julietflow m530526.ccs.bam hxb2.fasta
+```
+
+Output: `m530526_cleric.html`
+
+## Dependencies
+*Julietflow* currently depends on `juliet`, `cleric`, `fuse` all of which are
+part of unanimity, `blasr`, and `samtools`. Those are all part of the
+SMRT-bundle that is officially being provided by PacBio.
+
+## Workflow
+<p align="center">
+  <img src="img/julietflow.png" alt="Julietflow workflow" width="500px"/>
+</p>
\ No newline at end of file
diff --git a/doc/img/cleric.png b/doc/img/cleric.png
new file mode 100644
index 0000000..3ecd16f
Binary files /dev/null and b/doc/img/cleric.png differ
diff --git a/doc/img/fuse.png b/doc/img/fuse.png
new file mode 100644
index 0000000..452bebf
Binary files /dev/null and b/doc/img/fuse.png differ
diff --git a/doc/img/juliet.png b/doc/img/juliet.png
new file mode 100644
index 0000000..a4b10a0
Binary files /dev/null and b/doc/img/juliet.png differ
diff --git a/doc/img/juliet_hiv-hiv.png b/doc/img/juliet_hiv-hiv.png
new file mode 100644
index 0000000..f749336
Binary files /dev/null and b/doc/img/juliet_hiv-hiv.png differ
diff --git a/doc/img/juliet_hiv-own.png b/doc/img/juliet_hiv-own.png
new file mode 100644
index 0000000..4c2f8be
Binary files /dev/null and b/doc/img/juliet_hiv-own.png differ
diff --git a/doc/img/juliet_hiv-unknown.png b/doc/img/juliet_hiv-unknown.png
new file mode 100644
index 0000000..4cbfcee
Binary files /dev/null and b/doc/img/juliet_hiv-unknown.png differ
diff --git a/doc/img/julietflow.png b/doc/img/julietflow.png
new file mode 100644
index 0000000..e2a86a8
Binary files /dev/null and b/doc/img/julietflow.png differ
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/align/SimdAlignment.h
similarity index 82%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/align/SimdAlignment.h
index b9d7185..e1fa695 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/align/SimdAlignment.h
@@ -33,10 +33,23 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
 #include <string>
-#include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+
+namespace PacBio {
+namespace Align {
+
+struct PariwiseAlignmentFasta
+{
+    std::string Target;
+    std::string Query;
+    std::string Transcript;
+};
+
+PariwiseAlignmentFasta SimdNeedleWunschAlignment(const std::string& target,
+                                                 const std::string& query);
+}  // namespace Align
+}  // namespace PacBio
diff --git a/include/pacbio/ccs/Consensus.h b/include/pacbio/ccs/Consensus.h
index 6104f46..c236df3 100644
--- a/include/pacbio/ccs/Consensus.h
+++ b/include/pacbio/ccs/Consensus.h
@@ -468,7 +468,7 @@ ResultType<ConsensusType> Consensus(std::unique_ptr<std::vector<TChunk>>& chunks
 
                     try {
                         // setup the arrow integrator
-                        IntegratorConfig cfg(settings.MinZScore, 12.5);
+                        IntegratorConfig cfg(settings.MinZScore);
                         MonoMolecularIntegrator ai(poaConsensus, cfg, chunk.SignalToNoise,
                                                    chunk.Chemistry);
                         const size_t nReads = readKeys.size();
diff --git a/include/pacbio/consensus/AbstractIntegrator.h b/include/pacbio/consensus/AbstractIntegrator.h
index 21401f3..b7b8588 100644
--- a/include/pacbio/consensus/AbstractIntegrator.h
+++ b/include/pacbio/consensus/AbstractIntegrator.h
@@ -58,7 +58,7 @@ struct IntegratorConfig
     double MinZScore;
     double ScoreDiff;
 
-    IntegratorConfig(double minZScore = -3.4, double scoreDiff = 12.5);
+    IntegratorConfig(double minZScore = -3.4, double scoreDiff = 25.0);
 };
 
 /// At its core, this class holds a vector of Evaluators and provides helper
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/data/ArrayBase.h
similarity index 61%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/data/ArrayBase.h
index b9d7185..70076e0 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/data/ArrayBase.h
@@ -33,10 +33,42 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
-#include <string>
-#include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+namespace PacBio {
+namespace Data {
+
+/// A single base in an ArrayRead with its associated qvs and cigar
+struct ArrayBase
+{
+    ArrayBase(char cigar, char nucleotide, uint8_t qualQV, uint8_t subQV, uint8_t delQV,
+              uint8_t insQV)
+        : Cigar(cigar)
+        , Nucleotide(nucleotide)
+        , QualQV(qualQV)
+        , ProbTrue(1 - pow(10, -1.0 * qualQV / 10.0))
+        , ProbCorrectBase(1 - pow(10, -1.0 * subQV / 10.0))
+        , ProbNoDeletion(1 - pow(10, -1.0 * delQV / 10.0))
+        , ProbNoInsertion(1 - pow(10, -1.0 * insQV / 10.0))
+    {
+    }
+    ArrayBase(char cigar, char nucleotide, uint8_t qualQV)
+        : Cigar(cigar)
+        , Nucleotide(nucleotide)
+        , QualQV(qualQV)
+        , ProbTrue(1 - pow(10, -1.0 * qualQV / 10.0))
+    {
+    }
+    ArrayBase(char cigar, char nucleotide) : Cigar(cigar), Nucleotide(nucleotide) {}
+    char Cigar;
+    char Nucleotide;
+    uint8_t QualQV = 0;
+    double ProbTrue = 0;
+    double ProbCorrectBase = 0;
+    double ProbNoDeletion = 0;
+    double ProbNoInsertion = 0;
+};
+}  // namespace Data
+}  // namespace PacBio
diff --git a/include/pacbio/data/ArrayRead.h b/include/pacbio/data/ArrayRead.h
new file mode 100644
index 0000000..1651770
--- /dev/null
+++ b/include/pacbio/data/ArrayRead.h
@@ -0,0 +1,145 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#pragma once
+
+#include <algorithm>
+#include <array>
+#include <cstdint>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <pbbam/BamRecord.h>
+
+#include <pacbio/data/ArrayBase.h>
+
+namespace PacBio {
+namespace Data {
+
+#if __cplusplus < 201402L  // C++11
+char TagToNucleotide(uint8_t t);
+uint8_t NucleotideToTag(char t);
+#else  // C++14
+// Convert {0, 1, 2, 3, 4} to {'A', 'C', 'G', 'T', '-'}
+static constexpr char TagToNucleotide(uint8_t t)
+{
+    switch (t) {
+        case 0:
+            return 'A';
+        case 1:
+            return 'C';
+        case 2:
+            return 'G';
+        case 3:
+            return 'T';
+        case 4:
+            return '-';
+        default:
+            return 0;
+            // throw std::runtime_error("Woot is that tag? " + std::to_string(t));
+    }
+}
+// Convert {'A', 'C', 'G', 'T', '-', 'N'} to {0, 1, 2, 3, 4, 4}
+static constexpr uint8_t NucleotideToTag(char t)
+{
+    switch (t) {
+        case 'A':
+            return 0;
+        case 'C':
+            return 1;
+        case 'G':
+            return 2;
+        case 'T':
+            return 3;
+        case 'N':
+            return 4;
+        case '-':
+            return 4;
+        default:
+            return 0;
+            // throw std::runtime_error("Woot is that char " + std::to_string(t));
+    }
+}
+#endif
+
+/// A single array read that is "unrolled", as in an array of bases.
+class ArrayRead
+{
+public:  // ctors
+    ArrayRead(int idx = -1);
+
+    // friend std::ostream& operator<<(std::ostream& stream, const ArrayRead& r);
+
+public:  // non-mod methods
+    int ReferenceStart() const { return referenceStart_; }
+    int ReferenceEnd() const { return referenceEnd_; }
+
+public:
+    friend std::ostream& operator<<(std::ostream& stream, const ArrayRead& r)
+    {
+        stream << r.ReferenceStart() << std::endl;
+        for (const auto& b : r.Bases)
+            stream << b.Cigar;
+        stream << std::endl;
+        for (const auto& b : r.Bases)
+            stream << b.Nucleotide;
+        return stream;
+    }
+
+public:  // data
+    std::vector<ArrayBase> Bases;
+    const int Idx;
+
+protected:
+    size_t referenceStart_;
+    size_t referenceEnd_;
+};
+
+class BAMArrayRead : public ArrayRead
+{
+public:  // ctors
+    /// Constructor that needs the BamRecord to be "unrolled" and a unique index
+    BAMArrayRead(const BAM::BamRecord& record, int idx);
+
+    // friend std::ostream& operator<<(std::ostream& stream, const ArrayRead& r);
+
+private:
+    const BAM::BamRecord Record;
+};
+}  // namespace Data
+}  // namespace PacBio
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/data/FisherResult.h
similarity index 87%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/data/FisherResult.h
index b9d7185..c244c9a 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/data/FisherResult.h
@@ -33,10 +33,18 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
-#include <string>
-#include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+namespace PacBio {
+namespace Data {
+struct FisherResult
+{
+    std::array<double, 5> pValues = {{0, 0, 0, 0, 0}};
+    std::array<double, 5> mask = {{0, 0, 0, 0, 0}};
+    bool hit = false;
+    int argMax = 0;
+};
+}
+}  // ::PacBio::Statistics
\ No newline at end of file
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/data/MSA.h
similarity index 53%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/data/MSA.h
index b9d7185..ba1914b 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/data/MSA.h
@@ -33,10 +33,59 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
+#include <map>
 #include <string>
 #include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+
+#include <pacbio/data/ArrayRead.h>
+#include <pacbio/data/MSAColumn.h>
+
+namespace PacBio {
+namespace Data {
+/// Multiple sequence alignment containing counts
+class MSA
+{
+private:
+    using MsaVec = std::vector<MSAColumn>;
+
+public:
+    using MsaIt = MsaVec::iterator;
+    using MsaItConst = MsaVec::const_iterator;
+
+public:
+    MSA(const std::vector<Data::ArrayRead>& reads);
+    MSA(const std::vector<Data::ArrayRead>& reads, const MSA& prior);
+
+public:
+    /// Parameter is an index in ABSOLUTE reference space
+    MSAColumn operator[](int i) const { return counts[i - beginPos]; }
+    /// Parameter is an index in ABSOLUTE reference space
+    MSAColumn& operator[](int i) { return counts[i - beginPos]; }
+
+    bool has(int i) { return i >= beginPos && i < endPos; }
+
+    // clang-format off
+    MsaIt      begin()        { return counts.begin();  }
+    MsaIt      end()          { return counts.end();    }
+    MsaItConst begin() const  { return counts.begin();  }
+    MsaItConst end() const    { return counts.end();    }
+    MsaItConst cbegin() const { return counts.cbegin(); }
+    MsaItConst cend() const   { return counts.cend();   }
+    // clang-format on
+
+public:
+    MsaVec counts;
+    int beginPos = std::numeric_limits<int>::max();
+    int endPos = 0;
+
+private:
+    void BeginEnd(const std::vector<Data::ArrayRead>& reads);
+    void FillCounts(const std::vector<ArrayRead>& reads);
+    void FillCounts(const std::vector<ArrayRead>& reads, const MSA& prior);
+};
+}  // namespace Data
+}  // namespace PacBio
diff --git a/include/pacbio/data/MSAColumn.h b/include/pacbio/data/MSAColumn.h
new file mode 100644
index 0000000..310cbc2
--- /dev/null
+++ b/include/pacbio/data/MSAColumn.h
@@ -0,0 +1,115 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#pragma once
+
+#include <algorithm>
+#include <array>
+#include <map>
+#include <vector>
+
+#include <pacbio/data/ArrayRead.h>
+#include <pacbio/data/FisherResult.h>
+
+namespace PacBio {
+namespace Data {
+class MSAColumn
+{
+public:
+    // Relative per nucleotide abundance
+    double Frequency(int i) const { return (*this)[i] / static_cast<double>(Coverage()); }
+    double Frequency(char c) const { return (*this)[c] / static_cast<double>(Coverage()); }
+
+    // Nucleotide counts
+    int operator[](int i) const { return counts[i]; }
+    int& operator[](int i) { return counts[i]; }
+    int operator[](char c) const { return counts[NucleotideToTag(c)]; }
+    int& operator[](char c) { return counts[NucleotideToTag(c)]; }
+
+    operator std::array<int, 5>() { return counts; }
+    explicit operator int() { return Coverage(); }
+
+public:
+    int Coverage() const;
+    char MaxBase() const;
+    int MaxElement() const;
+    int Max() const;
+
+public:
+    void AddFisherResult(const FisherResult& f);
+    void AddFisherResult(const std::map<std::string, double>& f);
+
+    std::ostream& InDels(std::ostream& stream)
+    {
+        stream << refPos << "\t";
+        if (mask.at(4) == 1) stream << "(-," << counts.at(4) << "," << pValues.at(4) << ")\t";
+        for (const auto& bases_pvalue : insertionsPValues)
+            if (bases_pvalue.second < 0.01)
+                stream << "(" << bases_pvalue.first << "," << insertions.at(bases_pvalue.first)
+                       << "," << bases_pvalue.second << ")\t";
+        stream << std::endl;
+        return stream;
+    }
+
+    std::vector<std::string> SignificantInsertions() const
+    {
+        std::vector<std::string> results;
+        for (const auto& bases_pvalue : insertionsPValues)
+            if (bases_pvalue.second < 0.01) results.push_back(bases_pvalue.first);
+        return results;
+    }
+
+public:
+    int refPos = -1;
+    std::array<int, 5> counts{{0, 0, 0, 0, 0}};
+    std::map<std::string, int> insertions;
+    std::map<std::string, double> insertionsPValues;
+    std::array<double, 5> pValues{{1, 1, 1, 1, 1}};
+    std::array<double, 5> mask{{0, 0, 0, 0, 0}};
+    bool hit = false;
+    int argMax = 0;
+
+public:
+    friend std::ostream& operator<<(std::ostream& stream, const MSAColumn& r)
+    {
+        for (int j = 0; j < 5; ++j)
+            stream << r.counts.at(j) << "\t" << r.pValues.at(j) << "\t";
+        return stream;
+    }
+};
+}  // namespace Data
+}  // namespace PacBio
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/io/BamParser.h
similarity index 61%
copy from include/pacbio/io/Utility.h
copy to include/pacbio/io/BamParser.h
index 3f86739..2ec49bd 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/io/BamParser.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,41 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <memory>
+#include <functional>
 #include <string>
 #include <vector>
 
-#include <pbbam/DataSet.h>
+#include <pbbam/BamFile.h>
+#include <pbbam/BamRecord.h>
+#include <pbbam/EntireFileQuery.h>
+
+#include <pacbio/data/ArrayRead.h>
 
 namespace PacBio {
 namespace IO {
 
-std::string AbsolutePath(const std::string& path);
-
-bool FileExists(const std::string& path);
-
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+/// \brief Wrapper around pbbam to ease BAM parsing and region extraction
+static std::vector<Data::ArrayRead> ParseBam(const std::string& filePath, int regionStart = 0,
+                                             int regionEnd = std::numeric_limits<int>::max())
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
-
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
-
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
-
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+    std::vector<Data::ArrayRead> returnList;
+    regionStart = std::max(regionStart - 1, 0);
+    regionEnd = std::max(regionEnd - 1, 0);
 
-}  // namespace IO
-}  // namespace PacBio
+    int idx = 0;
+    // Iterate over all records and convert online
+    for (auto& record : BAM::EntireFileQuery(filePath)) {
+        if (record.Impl().IsSupplementaryAlignment()) continue;
+        if (record.ReferenceStart() < regionEnd && record.ReferenceEnd() > regionStart) {
+            record.Clip(BAM::ClipType::CLIP_TO_REFERENCE, regionStart, regionEnd);
+            returnList.emplace_back(Data::BAMArrayRead(record, idx++));
+        }
+    }
+    return returnList;
+}
+}
+}  // ::PacBio::IO
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/io/Utility.h
index 3f86739..742f01e 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/io/Utility.h
@@ -52,6 +52,8 @@ bool FileExists(const std::string& path);
 
 std::string FileExtension(const std::string& path);
 
+std::string FilePrefix(const std::string& path);
+
 struct SnrInfo
 {
     const float A;
diff --git a/include/pacbio/juliet/AminoAcidCaller.h b/include/pacbio/juliet/AminoAcidCaller.h
new file mode 100644
index 0000000..af6dec2
--- /dev/null
+++ b/include/pacbio/juliet/AminoAcidCaller.h
@@ -0,0 +1,174 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#pragma once
+
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iostream>
+#include <limits>
+#include <list>
+#include <memory>
+#include <numeric>
+#include <sstream>
+#include <unordered_map>
+#include <vector>
+
+#include <pacbio/data/MSA.h>
+#include <pacbio/juliet/ErrorEstimates.h>
+#include <pacbio/juliet/TargetConfig.h>
+#include <pbcopper/json/JSON.h>
+
+namespace PacBio {
+namespace Juliet {
+namespace {
+struct VariantGene
+{
+    std::string geneName;
+
+    struct VariantPosition
+    {
+        std::string refCodon;
+        char refAminoAcid;
+        std::vector<JSON::Json> msa;
+        int coverage;
+
+        struct VariantCodon
+        {
+            std::string codon;
+            double frequency;
+            double pValue;
+            std::string knownDRM;
+        };
+        std::map<char, std::vector<VariantCodon>> aminoAcidToCodons;
+    };
+
+    std::map<int, VariantPosition> relPositionToVariant;
+
+    JSON::Json ToJson() const
+    {
+        using namespace JSON;
+        Json root;
+        root["name"] = geneName;
+        std::vector<Json> positions;
+        for (const auto& pos_variant : relPositionToVariant) {
+            Json jVarPos;
+            jVarPos["ref_position"] = pos_variant.first;
+            jVarPos["ref_codon"] = pos_variant.second.refCodon;
+            jVarPos["coverage"] = pos_variant.second.coverage;
+            jVarPos["ref_amino_acid"] = std::string(1, pos_variant.second.refAminoAcid);
+
+            if (pos_variant.second.aminoAcidToCodons.empty()) continue;
+            std::vector<Json> jVarAAs;
+            for (const auto& aa_varCodon : pos_variant.second.aminoAcidToCodons) {
+                Json jVarAA;
+                jVarAA["amino_acid"] = std::string(1, aa_varCodon.first);
+                std::vector<Json> jCodons;
+
+                if (aa_varCodon.second.empty()) continue;
+                for (const auto& codon : aa_varCodon.second) {
+                    Json jCodon;
+                    jCodon["codon"] = codon.codon;
+                    jCodon["frequency"] = codon.frequency;
+                    jCodon["pValue"] = codon.pValue;
+                    jCodon["known_drm"] = codon.knownDRM;
+                    jCodons.push_back(jCodon);
+                }
+                jVarAA["variant_codons"] = jCodons;
+                jVarAAs.push_back(jVarAA);
+            }
+            jVarPos["variant_amino_acids"] = jVarAAs;
+            jVarPos["msa"] = pos_variant.second.msa;
+            positions.push_back(jVarPos);
+        }
+        if (!positions.empty()) root["variant_positions"] = positions;
+        return root;
+    }
+};
+}
+
+/// Given a MSA and p-values for each nucleotide of each position,
+/// generate machine-interpretable and human-readable output about mutated
+/// amino acids.
+class AminoAcidCaller
+{
+public:
+    AminoAcidCaller(const std::vector<Data::ArrayRead>& reads, const ErrorEstimates& error,
+                    const TargetConfig& targetConfig);
+
+public:
+    /// Generate JSON output of variant amino acids
+    JSON::Json JSON();
+
+public:
+    /// Generate HTML output of variant amino acids
+    static void HTML(std::ostream& out, const JSON::Json& j, bool onlyKnownDRMs, bool details);
+
+public:
+    std::unique_ptr<Data::MSA> msa_;
+
+private:
+    static constexpr float alpha = 0.01;
+    void GenerateMSA(const std::vector<Data::ArrayRead>& reads);
+    void CallVariants(const std::vector<Data::ArrayRead>& reads);
+    int CountNumberOfTests(const std::vector<TargetGene>& genes) const;
+    std::string FindDRMs(const std::string& geneName, const std::vector<TargetGene>& genes,
+                         const int position) const;
+
+private:
+    int beginPos_ = std::numeric_limits<int>::max();
+    int endPos_ = 0;
+    std::vector<std::vector<char>> matrix_;
+    std::vector<VariantGene> variantGenes_;
+    const ErrorEstimates error_;
+    const TargetConfig targetConfig_;
+
+    static const std::unordered_map<std::string, char> codonToAmino_;
+
+    static const std::vector<int> nnrti;
+    static const std::vector<int> nnrtiSurveillance;
+    static const std::vector<int> nrti;
+    static const std::vector<int> nrtiSurveillance;
+    static const std::vector<int> pi;
+    static const std::vector<int> piSurveillance;
+    static const std::vector<int> ini;
+};
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/juliet/AnalysisMode.h
similarity index 86%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/juliet/AnalysisMode.h
index b9d7185..905bb9f 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/juliet/AnalysisMode.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,10 +33,23 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
+#include <algorithm>
+#include <exception>
 #include <string>
-#include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+
+namespace PacBio {
+namespace Juliet {
+
+enum class AnalysisMode : uint8_t
+{
+    AMINO = 0,
+    BASE,
+    PHASING,
+    ERROR
+};
+}
+}  //::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/util/Timer.h b/include/pacbio/juliet/ErrorEstimates.h
similarity index 68%
copy from include/pacbio/util/Timer.h
copy to include/pacbio/juliet/ErrorEstimates.h
index d992b85..0ec4b09 100644
--- a/include/pacbio/util/Timer.h
+++ b/include/pacbio/juliet/ErrorEstimates.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,27 +33,37 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <chrono>
+#include <algorithm>
+#include <iostream>
+#include <locale>
+#include <stdexcept>
+#include <string>
 
 namespace PacBio {
-namespace Util {
-
-class Timer
+namespace Juliet {
+/// Contains CCS error estimates
+class ErrorEstimates
 {
 public:
-    Timer();
+    ErrorEstimates() = default;
+    ErrorEstimates(const std::string& chemistry);
+    ErrorEstimates(const double substitutionRate, const double deletionRate);
 
-    float ElapsedMilliseconds() const;
-    float ElapsedSeconds() const;
-    void Restart();
+    double match = -1;
+    double substitution = -1;
+    double deletion = -1;
+    double insertion = -1;
 
-private:
-    std::chrono::time_point<std::chrono::steady_clock> tick;
+    friend std::ostream& operator<<(std::ostream& stream, const ErrorEstimates& r)
+    {
+        stream << "match:" << r.match << "\tsubstitution:" << r.substitution
+               << "\tdeletion:" << r.deletion << "\tinsertion:" << r.insertion;
+        return stream;
+    }
 };
-
-}  // namespace Util
-}  // namespace PacBio
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/juliet/JulietSettings.h
similarity index 59%
copy from include/pacbio/io/Utility.h
copy to include/pacbio/juliet/JulietSettings.h
index 3f86739..15c355b 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/juliet/JulietSettings.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,49 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
-#include <pbbam/DataSet.h>
+#include <pacbio/juliet/AnalysisMode.h>
+#include <pacbio/juliet/TargetConfig.h>
+#include <pbcopper/cli/CLI.h>
 
 namespace PacBio {
-namespace IO {
+namespace Juliet {
 
-std::string AbsolutePath(const std::string& path);
+/// Contains user provided CLI configuration for Juliet
+struct JulietSettings
+{
+    std::vector<std::string> InputFiles;
+    std::string OutputPrefix;
+    TargetConfig TargetConfigUser;
+    int RegionStart = 0;
+    int RegionEnd = std::numeric_limits<int>::max();
+    bool Details;
+    bool DRMOnly;
 
-bool FileExists(const std::string& path);
+    AnalysisMode Mode;
+    double SubstitutionRate;
+    double DeletionRate;
 
-std::string FileExtension(const std::string& path);
+    /// Parses the provided CLI::Results and retrieves a defined set of options.
+    JulietSettings(const PacBio::CLI::Results& options);
 
-struct SnrInfo
-{
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+    size_t ThreadCount(int n);
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+    /// Given the description of the tool and its version, create all
+    /// necessary CLI::Options for the ccs executable.
+    static PacBio::CLI::Interface CreateCLI();
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
+    /// Splits region into ReconstructionStart and ReconstructionEnd.
+    static void SplitRegion(const std::string& region, int* start, int* end);
 
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
-
-}  // namespace IO
-}  // namespace PacBio
+    static AnalysisMode AnalysisModeFromString(const std::string& input);
+};
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/util/Timer.h b/include/pacbio/juliet/JulietWorkflow.h
similarity index 80%
copy from include/pacbio/util/Timer.h
copy to include/pacbio/juliet/JulietWorkflow.h
index d992b85..137831e 100644
--- a/include/pacbio/util/Timer.h
+++ b/include/pacbio/juliet/JulietWorkflow.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,27 +33,26 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <chrono>
+#include <fstream>
+
+#include <pacbio/juliet/JulietSettings.h>
 
 namespace PacBio {
-namespace Util {
+namespace Juliet {
 
-class Timer
+/// Provides a method to execute the complete Juliet workflow
+class JulietWorkflow
 {
 public:
-    Timer();
-
-    float ElapsedMilliseconds() const;
-    float ElapsedSeconds() const;
-    void Restart();
+    /// Execute the complete Juliet workflow
+    void Run(const JulietSettings& settings);
 
 private:
-    std::chrono::time_point<std::chrono::steady_clock> tick;
+    std::ostream& LogCI(const std::string& prefix);
 };
-
-}  // namespace Util
-}  // namespace PacBio
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/juliet/ResistanceCaller.h b/include/pacbio/juliet/ResistanceCaller.h
new file mode 100644
index 0000000..73ab529
--- /dev/null
+++ b/include/pacbio/juliet/ResistanceCaller.h
@@ -0,0 +1,122 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#pragma once
+
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iostream>
+#include <limits>
+#include <list>
+#include <memory>
+#include <numeric>
+#include <sstream>
+#include <unordered_map>
+#include <vector>
+
+#include <pacbio/data/MSA.h>
+#include <pbcopper/json/JSON.h>
+
+#undef major  // gcc hack
+namespace PacBio {
+namespace Juliet {
+
+struct VariantNucleotide
+{
+    VariantNucleotide(char nucleotide) : frequency(1), pValue(0), nucleotide(nucleotide), major(1)
+    {
+    }
+    VariantNucleotide(char nucleotide, double frequency, double pValue)
+        : frequency(frequency), pValue(pValue), nucleotide(nucleotide), major(0)
+    {
+    }
+    double frequency;
+    double pValue;
+    char nucleotide;
+    bool major;
+};
+
+/// Given a MSA and p-values for each nucleotide of each position,
+/// generate machine-interpretable and human-readable output about mutated
+/// amino acids.
+class ResistanceCaller
+{
+public:
+    /// Constructor needs a multiple sequence alignment.
+    ResistanceCaller(const Data::MSA& msa);
+
+public:
+    /// Generate JSON output of variant amino acids
+    JSON::Json JSON();
+
+public:
+    /// Generate pretty print output of variant amino acids
+    static void Print(std::ostream& out, const JSON::Json& j, bool onlyKnownDRMs, bool details);
+
+    /// Generate HTML output of variant amino acids
+    static void HTML(std::ostream& out, const JSON::Json& j, bool onlyKnownDRMs, bool details);
+
+private:
+    double MaxFrequency(std::vector<VariantNucleotide> codon);
+
+    void AddPosition(std::vector<VariantNucleotide>&& nucs);
+
+    inline char Ref(int i) const { return ref_[i]; }
+
+    std::string CodonRef(int hxb2Position) const;
+
+    char AminoacidRef(int hxb2Position) const;
+
+    inline std::string CodonString(const std::vector<VariantNucleotide>& codon) const;
+
+    std::vector<std::vector<VariantNucleotide>> CreateCodons(const int hxb2Position) const;
+
+private:
+    Data::MSA msa_;
+    std::vector<std::vector<VariantNucleotide>> nucleotides_;
+    int begin_;
+    int end_;
+
+    static const std::unordered_map<int, std::string> resistantCodon_;
+    static const std::unordered_map<std::string, char> codonToAmino_;
+    static const std::string ref_;
+};
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/juliet/TargetConfig.h
similarity index 60%
copy from include/pacbio/io/Utility.h
copy to include/pacbio/juliet/TargetConfig.h
index 3f86739..bfca0d1 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/juliet/TargetConfig.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,62 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <memory>
+#include <pbcopper/json/JSON.h>
 #include <string>
+#include <unordered_map>
 #include <vector>
 
-#include <pbbam/DataSet.h>
-
 namespace PacBio {
-namespace IO {
-
-std::string AbsolutePath(const std::string& path);
-
-bool FileExists(const std::string& path);
+namespace Juliet {
+class DRM
+{
+public:
+    std::string name;
+    std::vector<int> positions;
 
-std::string FileExtension(const std::string& path);
+public:
+    JSON::Json ToJson() const;
+};
 
-struct SnrInfo
+class TargetGene
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+public:
+    TargetGene(const int begin, const int end, const std::string& name,
+               const std::vector<DRM>& drms);
+    TargetGene() = default;
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
+public:
+    int begin;
+    int end;
+    std::string name;
+    std::vector<DRM> drms;
+
+public:
+    JSON::Json ToJson() const;
+    static JSON::Json ToJson(const std::vector<TargetGene>& genes);
 };
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
+class TargetConfig
+{
+public:
+    TargetConfig() = default;
+    TargetConfig(const std::string& input);
+
+public:
+    std::vector<TargetGene> targetGenes;
+    std::string referenceSequence;
 
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+private:
+    static std::string DetermineConfigInput(const std::string& input);
+    static std::string ReferenceSequenceFromJson(const JSON::Json& root);
+    static std::vector<TargetGene> TargetGenesFromJson(const JSON::Json& root);
 
-}  // namespace IO
-}  // namespace PacBio
+private:
+    static std::unordered_map<std::string, std::string> predefinedConfigs_;
+};
+}
+}  //::PacBio::Juliet
\ No newline at end of file
diff --git a/include/pacbio/realign/Cleric.h b/include/pacbio/realign/Cleric.h
new file mode 100644
index 0000000..ce912f3
--- /dev/null
+++ b/include/pacbio/realign/Cleric.h
@@ -0,0 +1,97 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#pragma once
+
+#include <exception>
+#include <fstream>
+#include <string>
+#include <vector>
+
+#include <pbbam/BamReader.h>
+#include <pbbam/BamRecord.h>
+#include <pbbam/BamWriter.h>
+#include <pbbam/FastaReader.h>
+
+namespace PacBio {
+namespace Realign {
+
+class Cleric
+{
+public:
+    Cleric(const std::string& alignmentPath, const std::string& outputFile,
+           const std::string& fromReference, const std::string& fromReferenceName,
+           const std::string& toReference, const std::string& toReferenceName)
+        : alignmentPath_(alignmentPath)
+        , fromReferenceName_(fromReferenceName)
+        , toReferenceName_(toReferenceName)
+    {
+        Align(fromReference, toReference, &fromReferenceSequence_, &toReferenceSequence_);
+        Convert(outputFile);
+    }
+
+private:
+    void Convert(const std::string& outputFile);
+    void Align(const std::string& fromReference, const std::string& toReference,
+               std::string* fromReferenceAligned, std::string* toReferenceAligned);
+
+private:
+    //clang-format off
+    const BAM::CigarOperation newMatch_ =
+        BAM::CigarOperation(BAM::CigarOperationType::SEQUENCE_MATCH, 1);
+    const BAM::CigarOperation newDel_ = BAM::CigarOperation(BAM::CigarOperationType::DELETION, 1);
+    const BAM::CigarOperation newIns_ = BAM::CigarOperation(BAM::CigarOperationType::INSERTION, 1);
+    const BAM::CigarOperation newPad_ = BAM::CigarOperation(BAM::CigarOperationType::PADDING, 1);
+    const BAM::CigarOperation newSoft_ = BAM::CigarOperation(BAM::CigarOperationType::SOFT_CLIP, 1);
+    const BAM::CigarOperation newHard_ = BAM::CigarOperation(BAM::CigarOperationType::HARD_CLIP, 1);
+    //clang-format on
+
+private:
+    const std::string alignmentPath_;
+    std::string fromReferenceSequence_;
+    std::string fromReferenceName_;
+    std::string toReferenceSequence_;
+    std::string toReferenceName_;
+
+    std::string toReferenceGapless_;
+    std::map<int, int> fasta_pos_to_sam_pos;
+
+    std::string fromReferenceGapless_;
+    std::map<int, int> sam_pos_to_fasta_pos;
+};
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/realign/ClericSettings.h
similarity index 72%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/realign/ClericSettings.h
index b9d7185..5298e8b 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/realign/ClericSettings.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,10 +33,31 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
 #include <string>
+#include <utility>
 #include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+
+#include <pbcopper/cli/CLI.h>
+
+namespace PacBio {
+namespace Realign {
+
+/// Contains user provided CLI configuration for Cleric
+struct ClericSettings
+{
+    std::vector<std::string> InputFiles;
+    std::string OutputPrefix;
+
+    /// Parses the provided CLI::Results and retrieves a defined set of options.
+    ClericSettings(const PacBio::CLI::Results& options);
+
+    /// Given the description of the tool and its version, create all
+    /// necessary CLI::Options for the ccs executable.
+    static PacBio::CLI::Interface CreateCLI();
+};
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/realign/Fuse.h
similarity index 64%
copy from include/pacbio/io/Utility.h
copy to include/pacbio/realign/Fuse.h
index 3f86739..f5fa9ee 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/realign/Fuse.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,41 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <memory>
+#include <fstream>
 #include <string>
 #include <vector>
 
-#include <pbbam/DataSet.h>
+#include <pacbio/data/MSA.h>
+#include <pbbam/BamRecord.h>
 
 namespace PacBio {
-namespace IO {
+namespace Realign {
 
-std::string AbsolutePath(const std::string& path);
-
-bool FileExists(const std::string& path);
-
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+class Fuse
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+public:
+    Fuse(const std::string& ccsInput);
+    Fuse(const std::vector<Data::ArrayRead>& arrayReads);
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+public:
+    std::string ConsensusSequence() const { return consensusSequence_; }
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
+private:
+    std::vector<Data::ArrayRead> FetchAlignedReads(const std::string& ccsInput) const;
+    std::string CreateConsensus(const std::vector<Data::ArrayRead>& arrayReads) const;
+    std::map<int, std::pair<std::string, int>> CollectInsertions(const Data::MSA& msa) const;
+    std::pair<int, std::string> FindInsertions(
+        std::map<int, std::pair<std::string, int>>* posInsCov, int windowSize = 20) const;
 
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+private:
+    static constexpr int minCoverage_ = 50;
+    static constexpr int minInsertionCoverage_ = 50;
 
-}  // namespace IO
-}  // namespace PacBio
+    std::string consensusSequence_;
+};
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/include/pacbio/realign/FuseSettings.h
similarity index 66%
copy from include/pacbio/io/Utility.h
copy to include/pacbio/realign/FuseSettings.h
index 3f86739..f7b9173 100644
--- a/include/pacbio/io/Utility.h
+++ b/include/pacbio/realign/FuseSettings.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,38 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
 #pragma once
 
-#include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
-#include <pbbam/DataSet.h>
+#include <pbcopper/cli/CLI.h>
 
 namespace PacBio {
-namespace IO {
+namespace Realign {
 
-std::string AbsolutePath(const std::string& path);
-
-bool FileExists(const std::string& path);
-
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+/// Contains user provided CLI configuration for ConsensusFixer
+struct FuseSettings
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+    std::vector<std::string> InputFiles;
+    std::string OutputPrefix;
+    int RegionStart = 0;
+    int RegionEnd = std::numeric_limits<int>::max();
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+    /// Parses the provided CLI::Results and retrieves a defined set of options.
+    FuseSettings(const PacBio::CLI::Results& options);
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
+    size_t ThreadCount(int n);
 
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+    /// Given the description of the tool and its version, create all
+    /// necessary CLI::Options for the ccs executable.
+    static PacBio::CLI::Interface CreateCLI();
 
-}  // namespace IO
-}  // namespace PacBio
+    /// Splits region into ReconstructionStart and ReconstructionEnd.
+    static void SplitRegion(const std::string& region, int* start, int* end);
+};
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/include/pacbio/statistics/Fisher.h b/include/pacbio/statistics/Fisher.h
new file mode 100644
index 0000000..45de6ed
--- /dev/null
+++ b/include/pacbio/statistics/Fisher.h
@@ -0,0 +1,26 @@
+// Taken from http://bioinformatics.mpimp-golm.mpg.de/research-projects-publications/supplementary-data/walther/go-term-enrichment-analysis-1/fisher-exact-test-c-code
+/// and ajdusted to a one-sided test with alternative greater
+#pragma once
+
+#include <float.h>
+#include <math.h>
+#include <stdio.h>
+
+namespace PacBio {
+namespace Statistics {
+class Fisher
+{
+public:
+    static double fisher_exact_tiss(int chi11, int chi12, int chi21, int chi22);
+
+private:
+    static double factorInc(int chi11, int chi12, int chi21, int chi22);
+    static double factorDec(int chi11, int chi12, int chi21, int chi22);
+    static double gammln(double xx);
+    static double factln0(int n);
+    static double factln(int n);
+    static double binomialln(int n, int k);
+    static double calc_hypergeom(int chi11, int chi12, int chi21, int chi22);
+};
+}
+}  //::PacBio::Statistics
\ No newline at end of file
diff --git a/tests/unit/RandomDNA.h b/include/pacbio/statistics/Tests.h
similarity index 66%
copy from tests/unit/RandomDNA.h
copy to include/pacbio/statistics/Tests.h
index b9d7185..bdf443a 100644
--- a/tests/unit/RandomDNA.h
+++ b/include/pacbio/statistics/Tests.h
@@ -33,10 +33,33 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
+// Author: Armin Töpfer
+
 #pragma once
 
-#include <random>
-#include <string>
-#include <vector>
-std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+#include <pacbio/data/FisherResult.h>
+#include <pacbio/statistics/Fisher.h>
+
+namespace PacBio {
+namespace Statistics {
+class Tests
+{
+public:
+    /// Compute Fisher's exact test for CCS substitutions and deletions
+    static std::map<std::string, double> FisherCCS(const std::array<int, 5>& observed,
+                                                   const std::map<std::string, int> insertions);
+
+    /// Compute Fisher's exact test for CCS substitutions and deletions
+    static Data::FisherResult FisherCCS(const std::array<int, 5>& observed);
+
+private:
+    static constexpr float alpha = 0.01;
+
+private:
+    static std::array<double, 5> CalculatePml(const std::array<int, 5>& observed, int* argMax,
+                                              double* sum);
+
+    static std::array<double, 5> CalculatePriors(const int argMax);
+};
+}
+}  // ::PacBio::Statistics
\ No newline at end of file
diff --git a/include/pacbio/util/Timer.h b/include/pacbio/util/Timer.h
index d992b85..221ca9c 100644
--- a/include/pacbio/util/Timer.h
+++ b/include/pacbio/util/Timer.h
@@ -38,6 +38,7 @@
 #pragma once
 
 #include <chrono>
+#include <string>
 
 namespace PacBio {
 namespace Util {
@@ -49,6 +50,7 @@ public:
 
     float ElapsedMilliseconds() const;
     float ElapsedSeconds() const;
+    std::string ElapsedTime() const;
     void Restart();
 
 private:
diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh
index 13ef668..ca72559 100755
--- a/scripts/ci/build.sh
+++ b/scripts/ci/build.sh
@@ -3,25 +3,8 @@ set -euo pipefail
 
 # Function definitions
 GetBBRepo () {
-    echo "## $1"
-    if [ ! -d $2/$1 ]; then
-        echo "### Clone"
-        ( cd $2 && git clone ssh://git@bitbucket.nanofluidics.com:7999/sat/$1)
-    else
-        echo "### Update"
-        ( cd $2/$1 && git pull)
-    fi
-}
-
-GetGHRepo () {
-    echo "## $1"
-    if [ ! -d $2/$1 ]; then
-        echo "### Clone"
-        ( cd $2 && git clone https://github.com/PacificBiosciences/$1)
-    else
-        echo "### Update"
-        ( cd $2/$1 && git pull)
-    fi
+    echo "## Clone $1"
+    ( cd $3 && git clone ssh://git@bitbucket.nanofluidics.com:7999/$1/$2)
 }
 
 # Main script
@@ -29,20 +12,22 @@ GetGHRepo () {
 echo "#############################"
 echo "# LOAD MODULES"
 source /mnt/software/Modules/current/init/bash
-module load git gcc/5.3.0 python/2.7.9 cmake cram swig ccache virtualenv zlib/1.2.5 ninja boost
+module load git gcc/4.9.2 python/2.7.9 cmake cram swig ccache virtualenv zlib/1.2.5 ninja boost
 
 echo "#############################"
 echo "# EXTERNAL DEPENDENCIES"
 echo "## Create external dependency directory"
-if [ ! -d _deps ] ; then mkdir _deps ; fi
+if [ -d _deps ] ; then rm -rf _deps ; fi
+mkdir _deps
 echo "## Create reverse external dependency directory"
-if [ ! -d _rev_deps ] ; then mkdir _rev_deps ; fi
+if [ -d _rev_deps ] ; then rm -rf _rev_deps ; fi
+mkdir _rev_deps
 
-GetBBRepo GenomicConsensus _rev_deps
-GetBBRepo ConsensusCore _deps
-GetGHRepo pbcommand _deps
-GetGHRepo pbcore _deps
-GetGHRepo PacBioTestData _deps
+GetBBRepo sat GenomicConsensus _rev_deps
+GetBBRepo sat ConsensusCore _deps
+GetBBRepo sl pbcommand _deps
+GetBBRepo sat pbcore _deps
+GetBBRepo sat pacbiotestdata _deps
 
 echo "## Fetch submodules"
 git submodule update --init --remote
@@ -68,8 +53,8 @@ pip install numpy cython h5py pysam cram nose jsonschema avro
 ( cd _deps/pbcommand && pip install --no-deps . )
 ( cd _deps/pbcore && pip install --no-deps . )
 
-echo "## Install PacBioTestData"
-( cd _deps/PacBioTestData && git lfs pull && make python )
+echo "## Install pacbiotestdata"
+( cd _deps/pacbiotestdata && git lfs pull && make python )
 
 echo "#############################"
 echo "# BUILD"
@@ -79,11 +64,11 @@ if [ ! -d build ] ; then mkdir build ; fi
 echo "## Build source"
 ( cd build &&\
   rm -rf * &&\
-  CMAKE_BUILD_TYPE=ReleaseWithAssert cmake -DZLIB_INCLUDE_DIR=/mnt/software/z/zlib/1.2.5/include -DZLIB_LIBRARY=/mnt/software/z/zlib/1.2.5/lib/libz.so -DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++" -GNinja .. )
+  CMAKE_BUILD_TYPE=ReleaseWithAssert cmake -DJULIET_INHOUSE_PERFORMANCE=T -GNinja .. )
 ( cd build && ninja )
 
 echo "## pip install CC2"
-CMAKE_BUILD_TYPE=ReleaseWithAssert CMAKE_COMMAND=cmake ZLIB_INCLUDE_DIR=/mnt/software/z/zlib/1.2.5/include ZLIB_LIBRARY=/mnt/software/z/zlib/1.2.5/lib/libz.so VERBOSE=1 pip install --verbose --upgrade --no-deps .
+CMAKE_BUILD_TYPE=ReleaseWithAssert CMAKE_COMMAND=cmake VERBOSE=1 pip install --verbose --upgrade --no-deps .
 
 echo "## Install ConsensusCore"
 ( cd _deps/ConsensusCore && python setup.py install --boost=$BOOST_ROOT )
diff --git a/scripts/minorvariant/build.sh b/scripts/minorvariant/build.sh
new file mode 100644
index 0000000..b91aee1
--- /dev/null
+++ b/scripts/minorvariant/build.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -euo pipefail
+
+source /mnt/software/Modules/current/init/bash
+module load cram/0.7 samtools
+
+(cd artifacts/blasr/ && for i in *tgz; do tar --overwrite -x -f $i; done)
+if [ ! -f `pwd`/artifacts/blasr/lib/libhdf5_cpp.so.12 ]
+then
+    ln -s /mnt/software/h/hdf5-tools/1.8.16/centos-7/lib/libhdf5_cpp.so `pwd`/artifacts/blasr/lib/libhdf5_cpp.so.12
+fi
+
+export PATH=`pwd`/artifacts/blasr/bin:`pwd`/artifacts/unanimity:$PATH
+set +u
+export LD_LIBRARY_PATH=/mnt/software/h/hdf5-tools/1.8.16/centos-7/lib:`pwd`/artifacts/blasr/lib:$LD_LIBRARY_PATH
+set -u
+
+wdir=$(pwd)
+scripts/cram tests/cram/siv/julietflow.t --xunit-file=${wdir}/juliet-cram.xml
\ No newline at end of file
diff --git a/scripts/minorvariant/julietflow b/scripts/minorvariant/julietflow
new file mode 100755
index 0000000..b47dc8b
--- /dev/null
+++ b/scripts/minorvariant/julietflow
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+set -euo pipefail
+if [[ $1 == /* ]]; then input=$1; else input=$(pwd)/$1; fi
+if [[ $2 == /* ]]; then reference=$2; else reference=$(pwd)/$2; fi
+reference=$2
+cores=8
+max=1
+ref_map=$reference
+if [ $# -ge 3 ]; then cores=$3; fi
+if [ $# -ge 4 ]; then max=$4; fi
+if [ $# -ge 5 ]; then ref_map=$5; fi
+
+run_directory=${input%/*}
+run_name=${input##*/}
+run_suffix=${run_name##*.}
+run_prefix=${run_name%.*}
+
+function blasrAlign()
+{
+    blasr $input $1 --placeGapConsistently --bam --out out.bam --nproc ${cores} --scoreMatrix "-1 4 4 4 6 4 -1 4 4 6 4 4 -1 4 6 4 4 4 -1 6 6 6 6 6 6" --maxMatch 15 &>> console
+    samtools sort -@${cores} -o ${run_prefix}.align.bam out.bam 2>> console
+    samtools index ${run_prefix}.align.bam &>> console
+    rm out.bam
+}
+function bwaAlign()
+{
+    samtools view $input | awk '{print ">"$1"\n"$10 }' > data.fasta
+    cp $1 ref.fasta
+    if [ ! -f ref.fasta.bwt ]; then bwa index ref.fasta &>> console; fi
+    bwa mem -t ${cores} ref.fasta data.fasta 2>> console | sed 's/M/=/g' | samtools view -F 0x800 -bS - 2>> console | samtools sort -@${cores} -o ${run_prefix}.align.bam 2>> console
+    samtools index ${run_prefix}.align.bam &>> console
+}
+function align()
+{
+    blasrAlign $@;
+}
+
+# Create provided directory tree and cd
+function mmkdir()
+{
+    mkdir -p $1;
+    cd $1
+}
+
+# Create temporary directory, under which all work will be performed
+wdir=`pwd`
+tdir=`mktemp -d` && cd $tdir
+#echo $tdir
+
+# Generally, never do work if file is already present.
+# Align against given reference and create consensus sequence
+mmkdir 0
+if [ ! -f $run_prefix.align.bam ]; then align $reference; fi
+if [ ! -f $run_prefix.cons ]; then cp $reference $run_prefix.cons; fi
+cd ..
+
+# Iteratively align against previous consensus
+for i in $(seq 1 $max); do
+    mmkdir ${i}
+    if [ ! -f $run_prefix.cons ]; then fuse ../$(($i-1))/$run_prefix.align.bam; fi
+    if [ ! -f $run_prefix.align.bam ]; then align $run_prefix.cons; fi
+    cd ..
+done
+
+# Re-map last alignment against original reference
+mmkdir merge
+cleric ../${max}/$run_prefix.align.bam ../${max}/$run_prefix.cons $ref_map
+juliet ${run_prefix}_cleric.bam -c '<HIV>'
+cp ${run_prefix}_cleric.html $wdir/
+
+# switch back to original root
+cd $wdir
+rm -rf $tdir
\ No newline at end of file
diff --git a/scripts/nightly/build.sh b/scripts/nightly/build.sh
index 0bb3b82..3d10f58 100755
--- a/scripts/nightly/build.sh
+++ b/scripts/nightly/build.sh
@@ -38,5 +38,5 @@ if [ ! -d build ] ; then mkdir build ; fi
 echo "## Build source"
 ( cd build &&\
   rm -rf * &&\
-  CMAKE_BUILD_TYPE=ReleaseWithAssert cmake -DZLIB_INCLUDE_DIR=/mnt/software/z/zlib/1.2.5/include -DZLIB_LIBRARY=/mnt/software/z/zlib/1.2.5/lib/libz.so -DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++" -GNinja .. )
+  CMAKE_BUILD_TYPE=ReleaseWithAssert cmake -DJULIET_INHOUSE_PERFORMANCE=T -DZLIB_INCLUDE_DIR=/mnt/software/z/zlib/1.2.5/include -DZLIB_LIBRARY=/mnt/software/z/zlib/1.2.5/lib/libz.so -DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++" -GNinja .. )
 ( cd build && ninja )
diff --git a/src/AminoAcidCaller.cpp b/src/AminoAcidCaller.cpp
new file mode 100644
index 0000000..577edba
--- /dev/null
+++ b/src/AminoAcidCaller.cpp
@@ -0,0 +1,612 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iostream>
+#include <limits>
+#include <list>
+#include <map>
+#include <memory>
+#include <numeric>
+#include <set>
+#include <sstream>
+#include <unordered_map>
+#include <vector>
+
+#include <pacbio/data/MSA.h>
+#include <pacbio/juliet/AminoAcidCaller.h>
+#include <pacbio/statistics/Fisher.h>
+#include <pbcopper/json/JSON.h>
+
+namespace PacBio {
+namespace Juliet {
+AminoAcidCaller::AminoAcidCaller(const std::vector<Data::ArrayRead>& reads,
+                                 const ErrorEstimates& error, const TargetConfig& targetConfig)
+    : error_(error), targetConfig_(targetConfig)
+{
+    for (const auto& r : reads) {
+        beginPos_ = std::min(beginPos_, r.ReferenceStart());
+        endPos_ = std::max(endPos_, r.ReferenceEnd());
+    }
+    msa_ = std::unique_ptr<Data::MSA>(new Data::MSA(reads));
+
+    GenerateMSA(reads);
+
+    beginPos_ += 1;
+    endPos_ += 1;
+
+    CallVariants(reads);
+}
+
+void AminoAcidCaller::GenerateMSA(const std::vector<Data::ArrayRead>& reads)
+{
+    matrix_.reserve(reads.size());
+    for (const auto& r : reads) {
+        int pos = r.ReferenceStart() - beginPos_;
+        assert(pos >= 0);
+        std::vector<char> row(endPos_ - beginPos_, ' ');
+        for (const auto& b : r.Bases) {
+            switch (b.Cigar) {
+                case 'X':
+                case '=':
+                    row[pos++] = b.Nucleotide;
+                    break;
+                case 'D':
+                    row[pos++] = '-';
+                    break;
+                case 'I':
+                case 'P':
+                    break;
+                default:
+                    throw std::runtime_error("Unexpected cigar " + std::to_string(b.Cigar));
+            }
+        }
+        matrix_.emplace_back(row);
+    }
+}
+
+int AminoAcidCaller::CountNumberOfTests(const std::vector<TargetGene>& genes) const
+{
+    int numberOfTests = 0;
+    for (const auto& gene : genes) {
+        for (int i = gene.begin; i < gene.end - 2; ++i) {
+            // Relative to gene begin
+            const int ri = i - gene.begin;
+            // Only work on beginnings of a codon
+            if (ri % 3 != 0) continue;
+            // Relative to window begin
+            const int bi = i - beginPos_;
+
+            std::unordered_map<std::string, int> codons;
+            int coverage = 0;
+            for (const auto& row : matrix_) {
+                // Read does not cover codon
+                if (bi + 2 >= static_cast<int>(row.size()) || bi < 0) continue;
+                if (row.at(bi + 0) == ' ' || row.at(bi + 1) == ' ' || row.at(bi + 2) == ' ')
+                    continue;
+                ++coverage;
+
+                // Read has a deletion
+                if (row.at(bi + 0) == '-' || row.at(bi + 1) == '-' || row.at(bi + 2) == '-')
+                    continue;
+
+                std::string codon = std::string() + row.at(bi) + row.at(bi + 1) + row.at(bi + 2);
+
+                // Codon is bogus
+                if (codonToAmino_.find(codon) == codonToAmino_.cend()) continue;
+
+                codons[codon]++;
+            }
+            numberOfTests += codons.size();
+        }
+    }
+    return numberOfTests;
+}
+
+std::string AminoAcidCaller::FindDRMs(const std::string& geneName,
+                                      const std::vector<TargetGene>& genes,
+                                      const int position) const
+{
+    std::string drmSummary;
+    for (const auto& gene : genes) {
+        if (geneName == gene.name) {
+            for (const auto& drms : gene.drms) {
+                if (std::find(drms.positions.cbegin(), drms.positions.cend(), position) !=
+                    drms.positions.cend()) {
+                    if (!drmSummary.empty()) drmSummary += " + ";
+                    drmSummary += drms.name;
+                }
+            }
+            break;
+        }
+    }
+    return drmSummary;
+};
+void AminoAcidCaller::CallVariants(const std::vector<Data::ArrayRead>& reads)
+{
+    auto genes = targetConfig_.targetGenes;
+    bool hasReference = !targetConfig_.referenceSequence.empty();
+    // If no user config has been provided, use complete input region
+    if (genes.empty()) {
+        TargetGene tg(beginPos_, endPos_, "unknown", {});
+        genes.emplace_back(tg);
+    }
+
+    VariantGene curVariantGene;
+    std::string geneName;
+    int geneOffset = 0;
+
+    const auto SetNewGene = [this, &geneName, &curVariantGene, &geneOffset](
+        const int begin, const std::string& name) {
+        geneName = name;
+        if (!curVariantGene.relPositionToVariant.empty())
+            variantGenes_.push_back(std::move(curVariantGene));
+        curVariantGene = VariantGene();
+        curVariantGene.geneName = name;
+        geneOffset = begin;
+    };
+
+    const auto CodonProbability = [this](const std::string& a, const std::string& b) {
+        double p = 1;
+        for (int i = 0; i < 3; ++i) {
+            if (a[i] == '-' || b[i] == '-')
+                p *= error_.deletion;
+            else if (a[i] != b[i])
+                p *= error_.substitution;
+            else
+                p *= error_.match;
+        }
+        return p;
+    };
+
+    const int numberOfTests = CountNumberOfTests(genes);
+
+#ifdef JULIET_INHOUSE_PERFORMANCE
+    double truePositives = 0;
+    double falsePositives = 0;
+    double falseNegative = 0;
+    double trueNegative = 0;
+    auto MeasurePerformance = [&truePositives, &falsePositives, &falseNegative, &trueNegative, this,
+                               &geneName](const std::pair<std::string, int>& codon_counts,
+                                          const int& codonPos, const int& i, const double& p) {
+        const auto curCodon = codonToAmino_.at(codon_counts.first);
+        bool predictor = (i == 3191 && curCodon == 'Y' && "TAC" == codon_counts.first) ||
+                         (i == 2741 && curCodon == 'R' && "AGA" == codon_counts.first) ||
+                         (i == 2669 && curCodon == 'L' && "TTG" == codon_counts.first) ||
+                         (i == 3089 && curCodon == 'C' && "TGT" == codon_counts.first) ||
+                         (i == 3116 && curCodon == 'A' && "GCA" == codon_counts.first);
+        bool ignored =
+            (geneName == "Protease" && codonPos == 3 && curCodon == 'I') ||
+            (geneName == "Protease" && codonPos == 37 && curCodon == 'N') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 102 && curCodon == 'Q') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 122 && curCodon == 'K') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 162 && curCodon == 'C') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 214 && curCodon == 'F') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 272 && curCodon == 'A') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 293 && curCodon == 'V') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 358 && curCodon == 'K') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 376 && curCodon == 'A') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 400 && curCodon == 'A') ||
+            (geneName == "Reverse Transcriptase" && codonPos == 435 && curCodon == 'I') ||
+            (geneName == "RNase" && codonPos == 20 && curCodon == 'D') ||
+            (geneName == "RNase" && codonPos == 28 && curCodon == 'P') ||
+            (geneName == "RNase" && codonPos == 43 && curCodon == 'H') ||
+            (geneName == "RNase" && codonPos == 72 && curCodon == 'K') ||
+            (geneName == "RNase" && codonPos == 79 && curCodon == 'S') ||
+            (geneName == "Integrase" && codonPos == 10 && curCodon == 'E') ||
+            (geneName == "Integrase" && codonPos == 113 && curCodon == 'V') ||
+            (geneName == "Integrase" && codonPos == 123 && curCodon == 'S') ||
+            (geneName == "Integrase" && codonPos == 124 && curCodon == 'T') ||
+            (geneName == "Integrase" && codonPos == 127 && curCodon == 'K') ||
+            (geneName == "Integrase" && codonPos == 151 && curCodon == 'I') ||
+            (geneName == "Integrase" && codonPos == 232 && curCodon == 'D') ||
+            (geneName == "Integrase" && codonPos == 234 && curCodon == 'V');
+
+        if (!ignored) {
+            if (p < alpha) {
+                if (predictor)
+                    ++truePositives;
+                else
+                    ++falsePositives;
+            } else {
+                if (predictor)
+                    ++falseNegative;
+                else
+                    ++trueNegative;
+            }
+        }
+
+        return !ignored;
+    };
+#endif
+
+    for (const auto& gene : genes) {
+        SetNewGene(gene.begin, gene.name);
+        for (int i = gene.begin; i < gene.end - 2; ++i) {
+            // Absolute reference position
+            const int ai = i - 1;
+            // Relative to gene begin
+            const int ri = i - geneOffset;
+            // Only work on beginnings of a codon
+            if (ri % 3 != 0) continue;
+            // Relative to window begin
+            const int bi = i - beginPos_;
+
+            const int codonPos = 1 + (ri / 3);
+            auto& curVariantPosition = curVariantGene.relPositionToVariant[codonPos];
+
+            std::map<std::string, int> codons;
+            int coverage = 0;
+            for (const auto& row : matrix_) {
+                // Read does not cover codon
+                if (bi + 2 > static_cast<int>(row.size()) || bi < 0) continue;
+                if (row.at(bi + 0) == ' ' || row.at(bi + 1) == ' ' || row.at(bi + 2) == ' ')
+                    continue;
+                ++coverage;
+
+                // Read has a deletion
+                if (row.at(bi + 0) == '-' || row.at(bi + 1) == '-' || row.at(bi + 2) == '-')
+                    continue;
+
+                const auto codon = std::string() + row.at(bi) + row.at(bi + 1) + row.at(bi + 2);
+
+                // Codon is bogus
+                if (codonToAmino_.find(codon) == codonToAmino_.cend()) continue;
+
+                codons[codon]++;
+            }
+
+            if (hasReference) {
+                curVariantPosition.refCodon = targetConfig_.referenceSequence.substr(ai, 3);
+                if (codonToAmino_.find(curVariantPosition.refCodon) == codonToAmino_.cend()) {
+                    continue;
+                }
+                curVariantPosition.refAminoAcid = codonToAmino_.at(curVariantPosition.refCodon);
+            } else {
+                int max = -1;
+                std::string argmax;
+                for (const auto& codon_counts : codons) {
+                    if (codon_counts.second > max) {
+                        max = codon_counts.second;
+                        argmax = codon_counts.first;
+                    }
+                }
+                curVariantPosition.refCodon = argmax;
+                if (codonToAmino_.find(curVariantPosition.refCodon) == codonToAmino_.cend()) {
+                    continue;
+                }
+                curVariantPosition.refAminoAcid = codonToAmino_.at(curVariantPosition.refCodon);
+            }
+
+            for (const auto& codon_counts : codons) {
+                if (codonToAmino_.at(codon_counts.first) == curVariantPosition.refAminoAcid)
+                    continue;
+                double p = (Statistics::Fisher::fisher_exact_tiss(
+                                codon_counts.second, coverage,
+                                coverage * CodonProbability(curVariantPosition.refCodon,
+                                                            codon_counts.first),
+                                coverage) *
+                            numberOfTests);
+
+                if (p > 1) p = 1;
+
+#ifdef JULIET_INHOUSE_PERFORMANCE
+                const bool variableSite = MeasurePerformance(codon_counts, codonPos, ai, p);
+
+                if (variableSite && p < alpha) {
+#else
+                if (p < alpha) {
+#endif
+                    VariantGene::VariantPosition::VariantCodon curVariantCodon;
+                    curVariantCodon.codon = codon_counts.first;
+                    curVariantCodon.frequency = codon_counts.second / static_cast<double>(coverage);
+                    curVariantCodon.pValue = p;
+                    curVariantCodon.knownDRM = FindDRMs(geneName, genes, codonPos);
+
+                    curVariantPosition.aminoAcidToCodons[codonToAmino_.at(codon_counts.first)]
+                        .push_back(curVariantCodon);
+                }
+            }
+            if (!curVariantPosition.aminoAcidToCodons.empty()) {
+                curVariantPosition.coverage = coverage;
+                for (int j = -3; j < 6; ++j) {
+                    if (i + j >= beginPos_ && i + j < endPos_) {
+                        int abs = ai + j;
+                        JSON::Json msaCounts;
+                        msaCounts["rel_pos"] = j;
+                        msaCounts["abs_pos"] = abs;
+                        msaCounts["A"] = (*msa_)[abs][0];
+                        msaCounts["C"] = (*msa_)[abs][1];
+                        msaCounts["G"] = (*msa_)[abs][2];
+                        msaCounts["T"] = (*msa_)[abs][3];
+                        msaCounts["-"] = (*msa_)[abs][4];
+                        if (hasReference)
+                            msaCounts["wt"] =
+                                std::string(1, targetConfig_.referenceSequence.at(abs));
+                        else
+                            msaCounts["wt"] =
+                                std::string(1, Data::TagToNucleotide((*msa_)[abs].MaxElement()));
+                        curVariantPosition.msa.push_back(msaCounts);
+                    }
+                }
+            }
+        }
+    }
+#ifdef JULIET_INHOUSE_PERFORMANCE
+    std::cerr << (truePositives / 5.0);
+    std::cerr << " " << (falsePositives / (numberOfTests - 5));
+    std::cerr << " " << numberOfTests;
+    std::cerr << " " << ((truePositives + trueNegative) /
+                         (truePositives + falsePositives + falseNegative + trueNegative));
+    std::cerr << " " << falsePositives;
+    std::cerr << std::endl;
+#endif
+    if (!curVariantGene.relPositionToVariant.empty())
+        variantGenes_.push_back(std::move(curVariantGene));
+}
+
+void AminoAcidCaller::HTML(std::ostream& out, const JSON::Json& j, bool onlyKnownDRMs, bool details)
+{
+#if 1
+    auto strip = [](const std::string& input) -> std::string {
+        std::string s = input;
+        s.erase(std::remove(s.begin(), s.end(), '\"'), s.end());
+        return s;
+    };
+    out << "<html>" << std::endl
+        << "<head>" << std::endl
+        << R"(
+            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
+            <script type="text/javascript">
+            $(document).ready(function() {
+                $(".var").bind( "click", function( event ) {
+                    $(this).next().slideToggle(0);
+            });
+            });
+            </script>)"
+        << std::endl
+        << "<style>" << std::endl
+        << R"(
+            body { font-family: helvetica-light }
+            table { border-collapse: collapse; margin-bottom: 20px; }
+            tr:nth-child(1) { background-color: #3d3d3d; color: white; }
+            tr:nth-child(3) th { padding: 5px 5px 5px 5px; text-align: center; border-bottom: 1px solid #2d2d2d; }
+            tr:nth-child(2) th:nth-child(2) { border-left: 1px dashed black; }
+            tr:nth-child(3) th:nth-child(3) { border-right: 1px dashed black; }
+            td { padding: 15px 5px 15px 5px; text-align: center; border-bottom: 1px solid white; }
+            table td:nth-child(1) { background-color:#ddd; border-right: 1px solid #eee; }
+            table td:nth-child(2) { background-color:#eee; border-right: 1px solid #ddd; }
+            table td:nth-child(3) { background-color:#fff; border-right: 1px solid #ddd; font-weight: bold;}
+            table td:nth-child(4) { background-color:#eee; border-right: 1px dashed #ccc;  }
+            table td:nth-child(5) { background-color: #ddd; border-right: 1px dashed #bbb; }
+            table td:nth-child(6) { background-color: #ccc; border-right: 1px dashed #aaa; }
+            table td:nth-child(7) { background-color: #bbb;}
+            table td:nth-child(8) { background-color: #aaa; color: #fff600}
+            tr:not(.msa):hover td { background-color: white; }
+            tr:not(.msa):hover td:nth-child(8) { color: purple; }
+            .msa table tr:hover td { background-color: gray; color:white; }
+            .top table { background-color:white; border:0; }
+            .top table td { background-color:white; border:0; border-bottom: 1px solid gray; font-weight: normal}
+            .top table tr { border:0; }
+            .top table th { border:0; }
+            .msa { display:none; }
+            )"
+        << std::endl
+        << "</style>" << std::endl
+        << "</head>" << std::endl
+        << R"(<body>
+            <details style="margin-bottom: 20px">
+            <summary>Legend</summary>
+            <p>Every table represents a gene in the Pol polyprotein.<br/>
+            Each row stands for a mutated amino acid. Positions are relative to the current gene.<br/>
+            Positions with no or synonymous mutation are not being shown.<br/>
+            The used reference is HXB2 and all coordinates are in reference space.<br/>
+            The mutated nucleotide is highlighted in the codon.<br/>
+            Frequency is per codon.<br/>
+            Coverage includes deletions.<br/>
+            Known drug-resistance mutations positions are annotated in the last column,<br/>
+            whereas 'S' stands for surveillance. Annotations from the <a href="https://hivdb.stanford.edu" target="_new">Stanford DB</a>.<br/>
+            <br/>
+            Clicking on a row unfolds the counts of the multiple sequence alignment of the<br/>
+            codon position and up to +-3 surrounding positions.<br/>
+            Red colored are nucleotides of the codon and in bold the wild type.<br/>
+            <br/>
+            Deletions and insertions are being ignored in this version.<br/>
+            <br/>
+            This software is for research only and has not been clinically validated!</p>
+            </details>)"
+        << std::endl;
+
+    if (j.find("genes") == j.cend() || j["genes"].is_null()) return;
+    for (const auto& gene : j["genes"]) {
+        out << "<table class=\"top\">" << std::endl
+            << R"(
+                <col width="40px"/>
+                <col width="40px"/>
+                <col width="40px"/>
+                <col width="40px"/>
+                <col width="40px"/>
+                <col width="60px"/>
+                <col width="60px"/>
+                <col width="180px"/>
+                <tr>
+                <th colspan="9">)"
+            << strip(gene["name"]) << R"(</th>
+                </tr>
+                <tr>
+                <th colspan="3">HXB2</th>
+                <th colspan="5">Sample</th>
+                </tr>
+                <tr>
+                <th>Codon</th>
+                <th>AA</th>
+                <th>Pos</th>
+                <th>AA</th>
+                <th colspan="1">Codon</th>
+                <th colspan="1">Frequency</th>
+                <th colspan="1">Coverage</th>
+                <th colspan="1">DRM</th>
+                </tr>)"
+            << std::endl;
+
+        for (auto& variantPosition : gene["variant_positions"]) {
+            std::stringstream line;
+            const std::string refCodon = strip(variantPosition["ref_codon"]);
+            line << "<tr class=\"var\">\n"
+                 << "<td>" << strip(variantPosition["ref_codon"])[0] << " "
+                 << strip(variantPosition["ref_codon"])[1] << " "
+                 << strip(variantPosition["ref_codon"])[2] << "</td>\n"
+                 << "<td>" << strip(variantPosition["ref_amino_acid"]) << "</td>\n"
+                 << "<td>" << variantPosition["ref_position"] << "</td>";
+            std::string prefix = line.str();
+            line.str("");
+            bool first = true;
+            for (auto& variant_amino_acid : variantPosition["variant_amino_acids"]) {
+                for (auto& variant_codons : variant_amino_acid["variant_codons"]) {
+                    bool mutated[]{
+                        strip(variantPosition["ref_codon"])[0] != strip(variant_codons["codon"])[0],
+                        strip(variantPosition["ref_codon"])[1] != strip(variant_codons["codon"])[1],
+                        strip(variantPosition["ref_codon"])[2] !=
+                            strip(variant_codons["codon"])[2]};
+                    line << "<td>" << strip(variant_amino_acid["amino_acid"]) << "</td>";
+                    line << "<td>";
+                    for (int j = 0; j < 3; ++j) {
+                        if (mutated[j]) line << "<b style=\"color:#ff5e5e; font-weight:normal\">";
+                        line << strip(variant_codons["codon"])[j] << " ";
+                        if (mutated[j]) line << "</b>";
+                    }
+
+                    double fOrig = variant_codons["frequency"];
+                    double fTmp;
+                    int exp = 0;
+                    do {
+                        fTmp = fOrig * std::pow(10, ++exp);
+                    } while (static_cast<int>(fTmp) < 10);
+                    fOrig = static_cast<int>(fOrig * std::pow(10, exp));
+                    fOrig /= std::pow(10, exp);
+                    line << "<td>" << fOrig << "</td>";
+                    if (first) {
+                        out << prefix << line.str();
+                        out << "<td>" << variantPosition["coverage"] << "</td>";
+                        first = false;
+                    } else {
+                        out << "<tr class=\"var\"><td></td><td></td><td></td>" << line.str()
+                            << "<td></td>";
+                    }
+                    out << "<td>" << strip(variant_codons["known_drm"]) << "</td>";
+                    out << "</tr>" << std::endl;
+                    line.str("");
+
+                    out << R"(
+                        <tr class="msa">
+                        <td colspan=3 style="background-color: white"></td>
+                        <td colspan=14 style="padding:0; margin:0">
+                        <table style="padding:0; margin:0">
+                        <col width="80px" />
+                        <col width="80px" />
+                        <col width="80px" />
+                        <col width="80px" />
+                        <col width="80px" />
+                        <col width="80px" />
+                        <tr style="padding:0">
+                        <th style="padding:2px 0 0px 0">Pos</th>
+                        <th style="padding:2px 0 0px 0">A</th>
+                        <th style="padding:2px 0 0px 0">C</th>
+                        <th style="padding:2px 0 0px 0">G</th>
+                        <th style="padding:2px 0 0px 0">T</th>
+                        <th style="padding:2px 0 0px 0">-</th>
+                        </tr>
+                        )";
+
+                    for (auto& column : variantPosition["msa"]) {
+                        int relPos = column["rel_pos"];
+                        out << "<tr><td>" << relPos << "</td>" << std::endl;
+                        for (int j = 0; j < 5; ++j) {
+                            out << "<td style=\"";
+                            if (relPos >= 0 && relPos < 3) {
+                                if (j ==
+                                    Data::NucleotideToTag(strip(variant_codons["codon"])[relPos]))
+                                    out << "color:red;";
+                            }
+                            if (j == Data::NucleotideToTag(strip(column["wt"])[0]))
+                                out << "font-weight:bold;";
+                            out << "\">" << column[std::string(1, Data::TagToNucleotide(j))]
+                                << "</td>" << std::endl;
+                        }
+                        out << "</tr>" << std::endl;
+                    }
+                    out << "</table></tr>" << std::endl;
+                }
+            }
+        }
+    }
+    out << "</table>" << std::endl << "</body>" << std::endl << "</html>" << std::endl;
+#endif
+}
+
+JSON::Json AminoAcidCaller::JSON()
+{
+    using namespace JSON;
+    Json root;
+    std::vector<Json> genes;
+    for (const auto& v : variantGenes_) {
+        Json j = v.ToJson();
+        if (j.find("variant_positions") != j.cend()) genes.push_back(j);
+    }
+    root["genes"] = genes;
+
+    return root;
+}
+
+const std::unordered_map<std::string, char> AminoAcidCaller::codonToAmino_ = {
+    {"ATT", 'I'}, {"ATC", 'I'}, {"ATA", 'I'}, {"CTT", 'L'}, {"CTC", 'L'}, {"CTA", 'L'},
+    {"CTG", 'L'}, {"TTA", 'L'}, {"TTG", 'L'}, {"GTT", 'V'}, {"GTC", 'V'}, {"GTA", 'V'},
+    {"GTG", 'V'}, {"TTT", 'F'}, {"TTC", 'F'}, {"ATG", 'M'}, {"TGT", 'C'}, {"TGC", 'C'},
+    {"GCT", 'A'}, {"GCC", 'A'}, {"GCA", 'A'}, {"GCG", 'A'}, {"GGT", 'G'}, {"GGC", 'G'},
+    {"GGA", 'G'}, {"GGG", 'G'}, {"CCT", 'P'}, {"CCC", 'P'}, {"CCA", 'P'}, {"CCG", 'P'},
+    {"ACT", 'T'}, {"ACC", 'T'}, {"ACA", 'T'}, {"ACG", 'T'}, {"TCT", 'S'}, {"TCC", 'S'},
+    {"TCA", 'S'}, {"TCG", 'S'}, {"AGT", 'S'}, {"AGC", 'S'}, {"TAT", 'Y'}, {"TAC", 'Y'},
+    {"TGG", 'W'}, {"CAA", 'Q'}, {"CAG", 'Q'}, {"AAT", 'N'}, {"AAC", 'N'}, {"CAT", 'H'},
+    {"CAC", 'H'}, {"GAA", 'E'}, {"GAG", 'E'}, {"GAT", 'D'}, {"GAC", 'D'}, {"AAA", 'K'},
+    {"AAG", 'K'}, {"CGT", 'R'}, {"CGC", 'R'}, {"CGA", 'R'}, {"CGG", 'R'}, {"AGA", 'R'},
+    {"AGG", 'R'}, {"TAA", 'X'}, {"TAG", 'X'}, {"TGA", 'X'}};
+}
+}  // ::PacBio::Juliet
diff --git a/src/ArrayRead.cpp b/src/ArrayRead.cpp
new file mode 100644
index 0000000..0e7f6e6
--- /dev/null
+++ b/src/ArrayRead.cpp
@@ -0,0 +1,143 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <algorithm>
+#include <array>
+#include <cstdint>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <pbbam/BamRecord.h>
+
+#include <pacbio/data/ArrayBase.h>
+
+#include <pacbio/data/ArrayRead.h>
+
+namespace PacBio {
+namespace Data {
+
+ArrayRead::ArrayRead(int idx) : Idx(idx){};
+
+BAMArrayRead::BAMArrayRead(const BAM::BamRecord& record, int idx)
+    : ArrayRead(idx), Record(record)  // Record(std::forward<BAM::BamRecord>(record))
+{
+    ArrayRead::referenceStart_ = record.ReferenceStart();
+    ArrayRead::referenceEnd_ = record.ReferenceEnd();
+    const auto seq = Record.Sequence(BAM::Orientation::GENOMIC, true, true);
+
+    // bool hasQualities = Record.HasQualities();
+    bool hasQualities = !Record.Qualities().empty();
+    BAM::QualityValues qual;
+    if (hasQualities) qual = Record.Qualities(BAM::Orientation::GENOMIC, true, true);
+
+    std::string cigar;
+    cigar.reserve(seq.size());
+    for (const auto c : Record.CigarData(true))
+        for (size_t i = 0; i < c.Length(); ++i)
+            cigar += c.Char();
+
+    BAM::QualityValues subQV;
+    BAM::QualityValues delQV;
+    BAM::QualityValues insQV;
+
+    bool richQVs = Record.HasDeletionQV() && Record.HasDeletionQV() && Record.HasInsertionQV();
+    if (richQVs) {
+        subQV = Record.SubstitutionQV(BAM::Orientation::GENOMIC, true, true);
+        delQV = Record.DeletionQV(BAM::Orientation::GENOMIC, true, true);
+        insQV = Record.InsertionQV(BAM::Orientation::GENOMIC, true, true);
+    }
+
+    assert(cigar.size() == seq.size());
+
+    if (hasQualities) {
+        assert(seq.size() == qual.size());
+    }
+
+    Bases.reserve(cigar.length());
+    if (richQVs)
+        for (size_t i = 0; i < cigar.length(); ++i)
+            Bases.emplace_back(cigar.at(i), seq.at(i), qual.at(i), subQV.at(i), delQV.at(i),
+                               insQV.at(i));
+    else if (hasQualities)
+        for (size_t i = 0; i < cigar.length(); ++i)
+            Bases.emplace_back(cigar.at(i), seq.at(i), qual.at(i));
+    else
+        for (size_t i = 0; i < cigar.length(); ++i)
+            Bases.emplace_back(cigar.at(i), seq.at(i), 0);
+}
+
+#if __cplusplus < 201402L  // C++11
+char TagToNucleotide(uint8_t t)
+{
+    switch (t) {
+        case 0:
+            return 'A';
+        case 1:
+            return 'C';
+        case 2:
+            return 'G';
+        case 3:
+            return 'T';
+        case 4:
+            return '-';
+        default:
+            throw std::runtime_error("Unsupported tag: " + std::to_string(t));
+    }
+}
+
+uint8_t NucleotideToTag(char t)
+{
+    switch (t) {
+        case 'A':
+            return 0;
+        case 'C':
+            return 1;
+        case 'G':
+            return 2;
+        case 'T':
+            return 3;
+        case '-':
+        case 'N':
+            return 4;
+        default:
+            throw std::runtime_error("Unsupported character: " + std::to_string(t));
+    }
+}
+#endif
+}  // namespace Data
+}  // namespace PacBio
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4d9c1ba..1feceb3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,21 @@
+# functions
+function(create_exe libName)
+    add_executable(${libName} ${UNY_SourceDir}/main/${libName}.cpp)
+
+    set_target_properties(${libName} PROPERTIES
+        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+    )
+
+    target_link_libraries(${libName}
+        ${CMAKE_THREAD_LIBS_INIT}
+        ${CMAKE_DL_LIBS}
+        ${UNY_LIBRARIES}
+        ${ARGV1}
+    )
+
+    install(TARGETS ${libName} RUNTIME DESTINATION bin)
+endfunction()
+
 # get all header files for IDE support
 file(GLOB_RECURSE UNY_HEADER "${UNY_IncludeDir}/*.h")
 file(GLOB_RECURSE UNY_HIDDEN_HEADER "*.h")
@@ -21,6 +39,7 @@ set(UNY_INCLUDE_DIRS
     ${CPPOPTPARSE_IncludeDir}
     ${PacBioBAM_INCLUDE_DIRS}
     ${pbcopper_INCLUDE_DIRS}
+    ${ssw_INCLUDE_DIRS}
     CACHE INTERNAL
     "${PROJECT_NAME}: Include Directories"
     FORCE
@@ -56,22 +75,49 @@ target_include_directories(cc2
 )
 
 # add main library including everything
-add_library(unanimity STATIC
+set(UNANIMITY_FILES
     ${UNY_HEADER}
     ${UNY_HIDDEN_HEADER}
     ${CPPOPTPARSE_CPP}
     ChainSeeds.cpp
     ChemistryMapping.cpp
     ChemistryTriple.cpp
-    ConsensusSettings.cpp
+    Fisher.cpp
     Interval.cpp
     ReadId.cpp
     SparsePoa.cpp
     SubreadResultCounter.cpp
+    Tests.cpp
     Timer.cpp
     Utility.cpp
 )
 
+if (NOT PYTHON_SWIG)
+    set(UNANIMITY_FILES ${UNANIMITY_FILES}
+        ${ssw_INCLUDE_DIRS}/ssw_cpp.cpp
+        ${ssw_INCLUDE_DIRS}/ssw.c
+        AminoAcidCaller.cpp
+        ArrayRead.cpp
+        Cleric.cpp
+        ClericSettings.cpp
+        ConsensusSettings.cpp
+        ErrorEstimates.cpp
+        Fuse.cpp
+        FuseSettings.cpp
+        JulietSettings.cpp
+        JulietWorkflow.cpp
+        MSA.cpp
+        MSAColumn.cpp
+        ResistanceCaller.cpp
+        SimdAlignment.cpp
+        TargetConfig.cpp
+    )
+endif()
+
+add_library(unanimity STATIC
+    ${UNANIMITY_FILES}
+)
+
 target_include_directories(unanimity
     PUBLIC ${UNY_INCLUDE_DIRS}
 )
@@ -92,25 +138,12 @@ set(UNY_LIBRARIES
 
 # add executables
 if (UNY_build_bin)
-    add_executable(ccs ${UNY_SourceDir}/main/ccs.cpp)
-
-    set_target_properties(ccs PROPERTIES
-        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
-    )
-
-    target_include_directories(ccs
-        PUBLIC ${UNY_INCLUDE_DIRS}
-    )
+    ## Binaries
+    create_exe(ccs)
 
-    target_link_libraries(ccs
-        ${UNY_LIBRARIES}
-        ${CMAKE_THREAD_LIBS_INIT}
-        ${CMAKE_DL_LIBS}
-    )
-
-    if (TARGET pbbam)
-        add_dependencies(ccs pbbam)
+    if (NOT PYTHON_SWIG)
+        create_exe(juliet)
+        create_exe(fuse)
+        create_exe(cleric)
     endif()
-
-    install(TARGETS ccs RUNTIME DESTINATION bin)
 endif()
diff --git a/src/Cleric.cpp b/src/Cleric.cpp
new file mode 100644
index 0000000..1f003bd
--- /dev/null
+++ b/src/Cleric.cpp
@@ -0,0 +1,745 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+// Inspired by work of David Seifert
+
+#include <pacbio/align/SimdAlignment.h>
+
+#include <pacbio/realign/Cleric.h>
+
+namespace PacBio {
+namespace Realign {
+void Cleric::Align(const std::string& fromReference, const std::string& toReference,
+                   std::string* fromReferenceAligned, std::string* toReferenceAligned)
+{
+    auto align = Align::SimdNeedleWunschAlignment(fromReference, toReference);
+
+    *fromReferenceAligned = align.Target;
+    *toReferenceAligned = align.Query;
+}
+
+void Cleric::Convert(const std::string& outputFile)
+{
+    using namespace PacBio::BAM;
+
+    BamReader in(alignmentPath_);
+
+    if (in.Header().Sequences().empty())
+        throw std::runtime_error("Could not find reference sequence name");
+
+    const auto localFromReferenceName = in.Header().Sequences().begin()->Name();
+    if (localFromReferenceName != fromReferenceName_)
+        throw std::runtime_error("Internal error. Reference name mismatches");
+
+    const auto RemoveGaps = [](const std::string& input) {
+        std::string seq = input;
+        seq.erase(std::remove(seq.begin(), seq.end(), '-'), seq.end());
+        return seq;
+    };
+    toReferenceGapless_ = RemoveGaps(toReferenceSequence_);
+    fromReferenceGapless_ = RemoveGaps(fromReferenceSequence_);
+
+    const auto GetGaplessMapping = [](const std::string& refBases, std::map<int, int>* map) {
+        int pos = 0;
+        for (size_t i = 0; i < refBases.size(); ++i) {
+            if (refBases.at(i) != '-') {
+                if (map->find(i) == map->cend()) {
+                    map->emplace(pos, i);
+                }
+                ++pos;
+            }
+        }
+    };
+
+    GetGaplessMapping(fromReferenceSequence_, &sam_pos_to_fasta_pos);
+    GetGaplessMapping(toReferenceSequence_, &fasta_pos_to_sam_pos);
+
+    BamHeader h = in.Header().DeepCopy();
+    h.ClearSequences();
+    h.AddSequence(SequenceInfo(toReferenceName_, std::to_string(toReferenceGapless_.size())));
+
+    BamWriter out(outputFile, h);
+    BamRecord read;
+    while (in.GetNext(read)) {
+        std::string source_str = fromReferenceSequence_;
+        std::string dest_str = toReferenceSequence_;
+
+        // Expand RLE cigar to flat vector
+        std::string expanded_cigar_ops;
+        for (const auto& c : read.CigarData(false))
+            for (size_t i = 0; i < c.Length(); ++i)
+                expanded_cigar_ops += c.Char();
+        expanded_cigar_ops += "YZ";
+
+        CigarOperation old_cigar_state;  // UNKNOW_OP
+        CigarOperation new_cigar_state;  // UNKNOW_OP
+
+        bool found_start = false;
+        int pos_in_read = 0;
+        int pos_in_cigar = 0;
+        int pos_in_source_ref = sam_pos_to_fasta_pos.at(read.ReferenceStart());
+
+        Cigar new_cigar_tuple;
+
+        int need_to_clip_left = 0;
+        int need_to_clip_right = 0;
+
+        int new_sam_start = 0;
+        int pos_in_dest_ref = 0;
+
+        while (pos_in_cigar < static_cast<int>(expanded_cigar_ops.size())) {
+            char op = expanded_cigar_ops.at(pos_in_cigar);
+
+            CigarOperation new_state;  // UNKNOWN_OP
+
+            bool isFirstCigarAfterEnd = false;
+            bool isSecondCigarAfterEnd = false;
+
+            switch (op) {
+                case 'M':
+                case '=':
+                case 'X':
+                    if (!found_start) {
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            // Dest:   A---AAA
+                            // Source: AAA-AAA
+                            // Read:     A-AAA
+                            //            ^
+
+                            ++pos_in_source_ref;
+                            continue;
+                        }
+
+                        // don't have a start POS yet
+                        if (fasta_pos_to_sam_pos.find(pos_in_source_ref) !=
+                            fasta_pos_to_sam_pos.cend()) {
+                            new_sam_start = fasta_pos_to_sam_pos.at(pos_in_source_ref);
+                            // Dest:   ---AAA
+                            // Source: AAAAAA
+                            // Read:      AAA
+                            //            ^
+
+                            new_state = newMatch_;
+                            pos_in_dest_ref = pos_in_source_ref;
+                            found_start = true;
+                            ++pos_in_dest_ref;
+                        } else {
+                            // Dest:   ----AA
+                            // Source: AAAAAA
+                            // Read:      AAA
+                            //            ^
+
+                            // left Clip
+                            new_state = newSoft_;
+                        }
+
+                        ++pos_in_cigar;
+                        ++pos_in_read;
+                        ++pos_in_source_ref;
+                    } else {
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA-AAA
+                                // Source: AAA-AAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                continue;
+                            } else {
+                                // Dest:   AAAAAAA
+                                // Source: AAA-AAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                // Deletion
+                                new_state = newDel_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                            }
+                        } else {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA-AAA
+                                // Source: AAAAAAA
+                                // Read:   AAAAAAA
+                                //            ^
+
+                                // Insertion
+                                new_state = newIns_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                ++pos_in_cigar;
+                                ++pos_in_read;
+                            } else {
+                                // Dest:   AAAAAAA
+                                // Source: AAAAAAA
+                                // Read:   AAAAAAA
+                                //            ^
+
+                                new_state = newMatch_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                ++pos_in_cigar;
+                                ++pos_in_read;
+                            }
+                        }
+                    }
+                    break;
+                case 'I':
+                    if (!found_start) {
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            // Dest:   A---AAA
+                            // Source: AAA-AAA
+                            // Read:     AAAAA
+                            //            ^
+
+                            ++pos_in_source_ref;
+                            continue;
+                        }
+
+                        // Dest:   -- AAA
+                        // Source: AA AAA
+                        // Read:    AGAAA
+                        //           ^
+
+                        // left Clip
+                        new_state = newSoft_;
+
+                        ++pos_in_cigar;
+                        ++pos_in_read;
+                    } else {
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA -AAA
+                                // Source: AAA -AAA
+                                // Read:   AAAA AAA
+                                //            ^
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                continue;
+                            } else {
+                                // Dest:   AAA AAAA
+                                // Source: AAA -AAA
+                                // Read:   AAAA AAA
+                                //            ^
+
+                                new_state = newMatch_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                ++pos_in_cigar;
+                                ++pos_in_read;
+                            }
+                        } else {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA -AAA
+                                // Source: AAA AAAA
+                                // Read:   AAAA AAA
+                                //            ^
+
+                                // Insertion
+                                new_state = newIns_;
+
+                                ++pos_in_cigar;
+                                ++pos_in_read;
+                            } else {
+                                // Dest:   AAA AAA
+                                // Source: AAA AAA
+                                // Read:   AAAAAAA
+                                //            ^
+
+                                // Insertion
+                                new_state = newIns_;
+
+                                ++pos_in_cigar;
+                                ++pos_in_read;
+                            }
+                        }
+                    }
+                    break;
+                case 'N':
+                case 'D':
+                    if (!found_start) {
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            // Dest:   A---AAA
+                            // Source: AAA-AAA
+                            // Read:     A--AA
+                            //            ^
+
+                            ++pos_in_source_ref;
+                            continue;
+                        }
+
+                        // Dest:   ---AAA
+                        // Source: AAAAAA
+                        // Read:    A-AAA
+                        //           ^
+
+                        ++pos_in_cigar;
+                        ++pos_in_source_ref;
+                        continue;
+                    } else {
+                        // have start POS
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA-AAA
+                                // Source: AAA-AAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                continue;
+                            } else {
+                                // Dest:   AAAAAAA
+                                // Source: AAA-AAA
+                                // Read:   AAA--AA
+                                //            ^
+
+                                // Deletion
+                                new_state = newDel_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                            }
+                        } else {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA-AAA
+                                // Source: AAAAAAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                // Padded deletion
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                ++pos_in_cigar;
+
+                                new_state = newPad_;
+                            } else {
+                                // Dest:   AAAAAAA
+                                // Source: AAAAAAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                // Deletion
+                                new_state = newDel_;
+
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                                ++pos_in_cigar;
+                            }
+                        }
+                    }
+                    break;
+                case 'S':
+                    new_state = newSoft_;
+
+                    ++pos_in_cigar;
+                    ++pos_in_read;
+                    break;
+                case 'H':
+                    new_state = CigarOperation(CigarOperationType::HARD_CLIP, 1);
+
+                    ++pos_in_cigar;
+                    break;
+                case 'P':
+                    if (found_start) {
+                        // Dest:   ---AAA
+                        // Source: AAAAAA
+                        // Read:    A-AAA
+                        //           ^
+
+                        ++pos_in_cigar;
+                        ++pos_in_source_ref;
+                        continue;
+
+                    } else {
+                        // have start POS
+                        if (source_str.at(pos_in_source_ref) == '-') {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA-AAA
+                                // Source: AAA-AAA
+                                // Read:   AAA-AAA
+                                //            ^
+
+                                // Padded deletion
+                                ++pos_in_cigar;
+
+                                new_state = newPad_;
+                            } else {
+                                // Dest:   AAAAAAA
+                                // Source: AAA-AAA
+                                // Read:   AAA--AA
+                                //            ^
+
+                                // Deletion
+                                new_state = newDel_;
+
+                                ++pos_in_cigar;
+                                ++pos_in_source_ref;
+                                ++pos_in_dest_ref;
+                            }
+                        } else {
+                            if (dest_str.at(pos_in_dest_ref) == '-') {
+                                // Dest:   AAA--AAA
+                                // Source: AAAAAAAA
+                                // Read:   AAA-AAAA
+                                //            ^
+
+                                // Padded deletion
+                                ++pos_in_cigar;
+
+                                new_state = newPad_;
+
+                            } else {
+                                // Dest:   AAA AAAA
+                                // Source: AAA AAAA
+                                // Read:   AAA-AAAA
+                                //            ^
+
+                                // Padded deletion
+                                ++pos_in_cigar;
+
+                                new_state = newPad_;
+                            }
+                        }
+                    }
+                    break;
+                case 'Y':
+                    ++pos_in_cigar;
+                    isFirstCigarAfterEnd = true;
+                    break;
+                case 'Z':
+                    ++pos_in_cigar;
+                    isSecondCigarAfterEnd = true;
+                    break;
+                default:
+                    throw std::runtime_error("UNKNOW CIGAR");
+                    break;
+            }
+
+            // If we reached Z, we have processed the CIGAR and can push the
+            // lastest cigar operation.
+            if (isSecondCigarAfterEnd) new_cigar_tuple.push_back(old_cigar_state);
+
+            if (new_state.Type() != new_cigar_state.Type()) {
+                // I ...... Y (end)
+                if (new_state.Type() == CigarOperationType::UNKNOWN_OP && isFirstCigarAfterEnd &&
+                    new_cigar_state.Type() == CigarOperationType::INSERTION) {
+                    new_cigar_state.Type(CigarOperationType::SOFT_CLIP);
+                }
+
+                // have to rewrite CIGAR tuples if (a D and I operations are adjacen) {
+                // D + I
+                if (old_cigar_state.Type() == CigarOperationType::DELETION &&
+                    new_cigar_state.Type() == CigarOperationType::INSERTION) {
+                    const int num_del = old_cigar_state.Length();
+                    const int num_insert = new_cigar_state.Length();
+                    const int num_match = std::min(num_del, num_insert);
+
+                    if (num_del == num_insert) {
+                        // Dest:   GC AA-- TC      GC AA TC
+                        // Read:   GC --AA TC  ->  GC AA TC
+                        //            DDII            MM
+                        old_cigar_state = CigarOperation();
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+
+                    } else if (num_del > num_insert) {
+                        // Dest:   GC AAA-- TC      GC AAA TC
+                        // Read:   GC ---AA TC  ->  GC -AA TC
+                        //            DDDII            DMM
+                        old_cigar_state =
+                            CigarOperation(CigarOperationType::DELETION, num_del - num_match);
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+
+                    } else {
+                        // Dest:   GC AA--- TC      GC AA- TC
+                        // Read:   GC --AAA TC  ->  GC AAA TC
+                        //            DDIII            MMI
+                        old_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::INSERTION, num_insert - num_match);
+                    }
+                }
+
+                // I + D
+                if (old_cigar_state.Type() == CigarOperationType::INSERTION &&
+                    new_cigar_state.Type() == CigarOperationType::DELETION) {
+                    const int num_insert = old_cigar_state.Length();
+                    const int num_del = new_cigar_state.Length();
+                    const int num_match = std::min(num_del, num_insert);
+
+                    if (num_del == num_insert) {
+                        // Dest:   GC --AA TC  ->  GC AA TC
+                        // Read:   GC AA-- TC      GC AA TC
+                        //            IIDD            MM
+                        old_cigar_state = CigarOperation();
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+
+                    } else if (num_del > num_insert) {
+                        // Dest:   GC --AAA TC  ->  GC AAA TC
+                        // Read:   GC AA--- TC      GC AA- TC
+                        //            IIDDD            MMD
+                        old_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::DELETION, num_del - num_match);
+
+                    } else {
+                        // Dest:   GC ---AA TC  ->  GC -AA TC
+                        // Read:   GC AAA-- TC      GC AAA TC
+                        //            IIIDD            IMM
+                        old_cigar_state =
+                            CigarOperation(CigarOperationType::INSERTION, num_insert - num_match);
+                        new_cigar_state =
+                            CigarOperation(CigarOperationType::SEQUENCE_MATCH, num_match);
+                    }
+                }
+
+                if ((old_cigar_state.Type() != CigarOperationType::UNKNOWN_OP)) {
+                    new_cigar_tuple.push_back(old_cigar_state);
+                }
+                // swap old and new state
+                old_cigar_state = new_cigar_state;
+                new_cigar_state = CigarOperation(new_state.Type(), 1);
+            } else {
+                new_cigar_state.Length(new_cigar_state.Length() + 1);
+            }
+        }
+
+        //////////////////////////////////////
+        // POST-PROCESSING                  //
+        //////////////////////////////////////
+        // check left flanking region + merge M-M pairs
+        int i = 0;
+        while (i < static_cast<int>(new_cigar_tuple.size()) - 1) {
+            CigarOperation left_op = new_cigar_tuple.at(i);
+            CigarOperation right_op = new_cigar_tuple.at(i + 1);
+
+            // clang-format off
+            // M + M:
+            if (left_op.Type() == CigarOperationType::SEQUENCE_MATCH && right_op.Type() == CigarOperationType::SEQUENCE_MATCH) {
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::SEQUENCE_MATCH, left_op.Length() + right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // S + I:
+            else if (left_op.Type() == CigarOperationType::SOFT_CLIP && right_op.Type() == CigarOperationType::INSERTION) {
+                new_cigar_tuple[i] = CigarOperation(
+                    CigarOperationType::SOFT_CLIP, left_op.Length() + right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // S + D:
+            else if (left_op.Type() == CigarOperationType::SOFT_CLIP && right_op.Type() == CigarOperationType::DELETION) {
+                new_cigar_tuple[i] = CigarOperation(CigarOperationType::SOFT_CLIP, left_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // S + P:
+            else if (left_op.Type() == CigarOperationType::SOFT_CLIP && right_op.Type() == CigarOperationType::PADDING) {
+                new_cigar_tuple[i] = CigarOperation(CigarOperationType::SOFT_CLIP, left_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // H + I:
+            else if (left_op.Type() == CigarOperationType::HARD_CLIP && right_op.Type() == CigarOperationType::INSERTION) {
+                new_cigar_tuple[i + 1] = CigarOperation(CigarOperationType::SOFT_CLIP, right_op.Length());
+                ++i;
+            }
+            // H + D:
+            else if (left_op.Type() == CigarOperationType::HARD_CLIP && right_op.Type() == CigarOperationType::DELETION) {
+                new_cigar_tuple[i] = CigarOperation(CigarOperationType::HARD_CLIP, left_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // H + P:
+            else if (left_op.Type() == CigarOperationType::HARD_CLIP && right_op.Type() == CigarOperationType::PADDING) {
+                new_cigar_tuple[i] = CigarOperation(CigarOperationType::HARD_CLIP, left_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+                // H + S:
+                // } else if (left_op.Type() == CigarOperationType::HARD_CLIP && right_op.Type() == CigarOperationType::SOFT_CLIP) {
+                //    ++i;
+            } else {
+                ++i;
+            }
+            // clang-format on
+        }
+
+        // check right flanking region
+        i = new_cigar_tuple.size() - 2;
+        // cant_stop = True
+        while (i >= 0) {
+            // cant_stop = False
+
+            CigarOperation left_op = new_cigar_tuple.at(i);
+            CigarOperation right_op = new_cigar_tuple.at(i + 1);
+
+            if (left_op.Type() == CigarOperationType::SEQUENCE_MATCH) {
+                // reached a match state, hence everything
+                // before will be compliant
+                break;
+            }
+            // I + S:
+            if (left_op.Type() == CigarOperationType::INSERTION &&
+                right_op.Type() == CigarOperationType::SOFT_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] = CigarOperation(CigarOperationType::SOFT_CLIP,
+                                                    left_op.Length() + right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // D + S:
+            else if (left_op.Type() == CigarOperationType::DELETION &&
+                     right_op.Type() == CigarOperationType::SOFT_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::SOFT_CLIP, right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // P + S:
+            else if (left_op.Type() == CigarOperationType::PADDING &&
+                     right_op.Type() == CigarOperationType::SOFT_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::SOFT_CLIP, right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // I + H:
+            else if (left_op.Type() == CigarOperationType::INSERTION &&
+                     right_op.Type() == CigarOperationType::HARD_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::SOFT_CLIP, left_op.Length());
+            }
+            // D + H:
+            else if (left_op.Type() == CigarOperationType::DELETION &&
+                     right_op.Type() == CigarOperationType::HARD_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::HARD_CLIP, right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // P + H:
+            else if (left_op.Type() == CigarOperationType::PADDING &&
+                     right_op.Type() == CigarOperationType::HARD_CLIP) {
+                // cant_stop = True
+                new_cigar_tuple[i] =
+                    CigarOperation(CigarOperationType::HARD_CLIP, right_op.Length());
+                new_cigar_tuple.erase(new_cigar_tuple.begin() + i + 1);
+            }
+            // S + H:
+            // } else if (left_op.Type() == CigarOperationType::SOFT_CLIP && right_op.Type() == CigarOperationType::HARD_CLIP) {
+            //    //cant_stop = True
+            //    pass
+            --i;
+        }
+
+        std::string new_seq = read.Sequence(Orientation::GENOMIC);
+
+        // calculate edit distance (and possibly replace match states)
+        pos_in_read = 0;
+        pos_in_dest_ref = new_sam_start;
+        int new_edit_distance = 0;
+        Cigar replace_cigar_tuple;
+
+        const auto match_state_det = [](char read_base, char genome_base) {
+            if (read_base == genome_base)
+                return CigarOperationType::SEQUENCE_MATCH;
+            else
+                return CigarOperationType::SEQUENCE_MISMATCH;
+        };
+
+        int tlen = 0;
+        for (const auto& op : new_cigar_tuple) {
+            const CigarOperationType cigar_op = op.Type();
+            const int cigar_op_count = op.Length();
+
+            if (cigar_op == CigarOperationType::SEQUENCE_MATCH) {
+                auto old_state = match_state_det(new_seq.at(pos_in_read),
+                                                 toReferenceGapless_.at(pos_in_dest_ref));
+                int count = 1;
+                for (int i = 1; i < cigar_op_count; ++i) {
+                    const auto next_state = match_state_det(
+                        new_seq.at(pos_in_read + i), toReferenceGapless_.at(pos_in_dest_ref + i));
+                    if (old_state != next_state) {
+                        if (old_state == CigarOperationType::SEQUENCE_MISMATCH)
+                            new_edit_distance += count;
+                        replace_cigar_tuple.emplace_back(old_state, count);
+                        old_state = next_state;
+                        count = 1;
+                    } else {
+                        ++count;
+                    }
+                }
+
+                if (old_state == CigarOperationType::SEQUENCE_MISMATCH) new_edit_distance += count;
+                replace_cigar_tuple.emplace_back(old_state, count);
+
+                tlen += cigar_op_count;
+                pos_in_read += cigar_op_count;
+                pos_in_dest_ref += cigar_op_count;
+            } else if (cigar_op == CigarOperationType::INSERTION) {
+                new_edit_distance += cigar_op_count;
+                replace_cigar_tuple.emplace_back(cigar_op, cigar_op_count);
+                pos_in_read += cigar_op_count;
+            } else if (cigar_op == CigarOperationType::DELETION) {
+                new_edit_distance += cigar_op_count;
+                replace_cigar_tuple.emplace_back(cigar_op, cigar_op_count);
+                tlen += cigar_op_count;
+                pos_in_dest_ref += cigar_op_count;
+            } else if (cigar_op == CigarOperationType::SOFT_CLIP) {
+                replace_cigar_tuple.emplace_back(cigar_op, cigar_op_count);
+                pos_in_read += cigar_op_count;
+            } else if (cigar_op == CigarOperationType::HARD_CLIP ||
+                       cigar_op == CigarOperationType::PADDING) {
+                replace_cigar_tuple.emplace_back(cigar_op, cigar_op_count);
+            } else {
+                throw std::runtime_error("STATE should not occur " +
+                                         std::to_string(static_cast<int>(cigar_op)));
+            }
+        }
+        read.Map(0, new_sam_start, Strand::FORWARD, replace_cigar_tuple, read.MapQuality());
+        out.Write(read);
+    }
+}
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/src/ClericSettings.cpp b/src/ClericSettings.cpp
new file mode 100644
index 0000000..e9abbaf
--- /dev/null
+++ b/src/ClericSettings.cpp
@@ -0,0 +1,109 @@
+// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <thread>
+
+#include <pacbio/Version.h>
+#include <pacbio/data/PlainOption.h>
+#include <boost/algorithm/string.hpp>
+
+#include <pacbio/realign/ClericSettings.h>
+
+namespace PacBio {
+namespace Realign {
+namespace OptionNames {
+using PlainOption = Data::PlainOption;
+// clang-format off
+const PlainOption Output{
+    "output",
+    { "output", "o"},
+    "Output BAM File Name",
+    "Output file name for generated bam file [Default: Input file prefix + _cleric.bam].",
+    CLI::Option::StringType("")
+};
+// clang-format on
+}  // namespace OptionNames
+
+ClericSettings::ClericSettings(const PacBio::CLI::Results& options)
+    : InputFiles(options.PositionalArguments())
+{
+    if (!options[OptionNames::Output].empty())
+        OutputPrefix = std::forward<std::string>(options[OptionNames::Output]);
+}
+PacBio::CLI::Interface ClericSettings::CreateCLI()
+{
+    using Option = PacBio::CLI::Option;
+    using Task = PacBio::CLI::ToolContract::Task;
+
+    PacBio::CLI::Interface i{
+        "cleric", "Cleric, a BAM alignment reference converter",
+        PacBio::UnanimityVersion() + " (commit " + PacBio::UnanimityGitSha1() + ")"};
+
+    i.AddHelpOption();     // use built-in help output
+    i.AddVersionOption();  // use built-in version output
+
+    // clang-format off
+    i.AddPositionalArguments({
+        {"source", "Source BAM or DataSet XML file.", "FILE"}
+    });
+
+    i.AddOptions(
+    {
+        OptionNames::Output
+    });
+
+    const std::string id = "uny.tasks.cleric";
+    Task tcTask(id);
+
+    tcTask.InputFileTypes({
+        {
+            "alignment_set",
+            "AlignmentSet",
+            "Alignment DataSet or aligned .bam file",
+            "PacBio.DataSet.AlignmentSet"
+        }
+    });
+
+    CLI::ToolContract::Config tcConfig(tcTask);
+    i.EnableToolContract(tcConfig);
+
+    // clang-format on
+
+    return i;
+}
+}
+}  // ::PacBio::CCS
\ No newline at end of file
diff --git a/src/Timer.cpp b/src/ErrorEstimates.cpp
similarity index 63%
copy from src/Timer.cpp
copy to src/ErrorEstimates.cpp
index f4e2d06..c8d7ea2 100644
--- a/src/Timer.cpp
+++ b/src/ErrorEstimates.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,29 +33,37 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
-#include <chrono>
-
-#include <pacbio/util/Timer.h>
-
-using std::chrono::steady_clock;
-using std::chrono::milliseconds;
+#include <pacbio/juliet/ErrorEstimates.h>
+#include <stdexcept>
 
 namespace PacBio {
-namespace Util {
+namespace Juliet {
 
-Timer::Timer() { Restart(); }
-
-float Timer::ElapsedMilliseconds() const
+ErrorEstimates::ErrorEstimates(const std::string& chemistry)
 {
-    auto tock = steady_clock::now();
-    return std::chrono::duration_cast<milliseconds>(tock - tick).count();
+    if (chemistry == "S/P1-C1" || chemistry == "S/P1-C1.2") {
+        match = 0.9930786;
+        substitution = 0.0007421148 / 3.0;  // 0.0006101725 + 3*4.398076e-05
+        deletion = 0.006179274;             // 0.003515625 + 3*0.0008878829
+        insertion = 0;
+    } else if (chemistry == "S/P2-C2") {
+        match = 0.9956844883;
+        substitution = 0.0005244257 / 3.0;
+        deletion = 0.003791086;
+        insertion = 0;
+    } else {
+        throw std::runtime_error("Unknown error model " + chemistry);
+    }
 }
 
-float Timer::ElapsedSeconds() const { return ElapsedMilliseconds() / 1000; }
-
-void Timer::Restart() { tick = steady_clock::now(); }
-
-}  // namespace Util
-}  // namespace PacBio
+ErrorEstimates::ErrorEstimates(const double substitutionRate, const double deletionRate)
+    : match(1 - substitutionRate - deletionRate)
+    , substitution(substitutionRate / 3.0)
+    , deletion(deletionRate)
+    , insertion(0)
+{
+}
+}
+}
\ No newline at end of file
diff --git a/src/Fisher.cpp b/src/Fisher.cpp
new file mode 100644
index 0000000..3a702b8
--- /dev/null
+++ b/src/Fisher.cpp
@@ -0,0 +1,192 @@
+// Taken from http://bioinformatics.mpimp-golm.mpg.de/research-projects-publications/supplementary-data/walther/go-term-enrichment-analysis-1/fisher-exact-test-c-code
+// and ajdusted to a one-sided test with alternative greater
+
+#include <float.h>
+#include <math.h>
+#include <pacbio/statistics/Fisher.h>
+#include <stdio.h>
+
+namespace PacBio {
+namespace Statistics {
+double Fisher::fisher_exact_tiss(int chi11, int chi12, int chi21, int chi22)
+{
+    // int sign = 1;
+
+    int co_occ = chi11;
+
+    const int gene_a = chi11 + chi12;
+    const int gene_b = chi11 + chi21;
+    const int total_libs = chi11 + chi12 + chi21 + chi22;
+
+    // If the two genes occur few enough times, the minimum number of
+    // co-occurrences is 0.  If the total number of times they occur
+    // exceeds the number of libraries (say by N), they must overlap
+    // at least N times.
+    int min_co_occ = 0;
+    if (gene_a + gene_b > total_libs) {
+        min_co_occ = gene_a + gene_b - total_libs;
+    }
+
+    // Maximum number of co-occurrences is at most the number of times
+    // the rarer gene occurs in the library :
+    int max_co_occ;
+    if (gene_a < gene_b) {
+        max_co_occ = gene_a;
+    } else {
+        max_co_occ = gene_b;
+    }
+
+    // Calculate the first hypergeometric value
+
+    double base_p = calc_hypergeom(chi11, chi12, chi21, chi22);
+
+    // printf("base_p=%e\n",base_p);
+
+    // If co-occurrences at max possible, then this is our p-value,
+    // Also if co-occurrences at min possible, this is our p-value.
+
+    if (co_occ == max_co_occ || co_occ == min_co_occ) {
+        // if (co_occ == max_co_occ) {
+        //     sign = 1;
+        // } else {
+        //     sign = -1;
+        // }
+    } else {
+        // Need to add in the other possible p-values.
+        double factor_inc = factorInc(chi11, chi12, chi21, chi22);
+        double factor_dec = factorDec(chi11, chi12, chi21, chi22);
+
+        // printf("%e,%e:%e\n",factor_inc,factor_dec,base_p);
+
+        // Start out with the current p-value
+        double curr_p = base_p;
+
+        // Want to sum the probabilites in the direction of decreasing P
+        // if (factor_dec < factor_inc) {
+        //     sign = -1;
+        //     // Loop down over co-occurrences
+        //     do {
+        //         // Determine P-value for current chi^2 matrix
+        //         curr_p *= factor_dec;
+
+        //         // Add to probability based on recurrence factor
+        //         base_p += curr_p;
+        //         co_occ--;
+
+        //         // Alter chi^2 matrix to reflect number of co-occurrences
+        //         chi11--;
+        //         chi22--;
+        //         chi12++;
+        //         chi21++;
+
+        //         // Get the next value for the recurrence factor
+        //         factor_dec = factorDec(chi11, chi12, chi21, chi22);
+        //     } while (co_occ > min_co_occ);
+        // } else
+        if (factor_inc < factor_dec) {
+            // sign = 1;
+            // Loop up over co-occurrences
+            do {
+                // Determine P-value for chi^2 matrix from recurrence factor
+                curr_p *= factor_inc;
+
+                // Add to probability based on recurrence factor
+                base_p += curr_p;
+                co_occ++;
+
+                // Alter chi^2 matrix to reflect number of co-occurrences
+                chi11++;
+                chi22++;
+                chi12--;
+                chi21--;
+
+                // Get the next value for the recurrence factor
+                factor_inc = factorInc(chi11, chi12, chi21, chi22);
+                // printf("[%d %d %d %d]\t%e\t%e\t%e\n",chi11, chi12, chi21, chi22, curr_p,base_p,factor_inc);
+            } while (co_occ < max_co_occ);
+        } else {
+            // We are on a saddle point, which means p-value is 1.
+            base_p = 1.0;
+        }
+    }
+    return base_p;
+}
+
+double Fisher::factorInc(int chi11, int chi12, int chi21, int chi22)
+{
+    double factor_inc;
+    factor_inc = (double)chi12 * chi21;
+    factor_inc /= (double)(chi11 + 1) * (chi22 + 1);
+    return factor_inc;
+}
+
+double Fisher::factorDec(int chi11, int chi12, int chi21, int chi22)
+{
+    double factor_dec = (double)chi11 * chi22;
+    factor_dec /= (double)(chi21 + 1) * (chi12 + 1);
+    return factor_dec;
+}
+
+double Fisher::gammln(double xx)
+{
+    static double cof[6] = {76.18009172947146,  -86.50532032941677,    24.01409824083091,
+                            -1.231739572450155, 0.1208650973866179e-2, -0.5395239384953e-5};
+    double x, tmp, ser;
+    int j;
+
+    x = xx - 1.0;
+
+    tmp = x + 5.5;
+    tmp -= (x + 0.5) * log(tmp);
+    ser = 1.0;
+    for (j = 0; j <= 5; j++) {
+        x += 1.0;
+        ser += cof[j] / x;
+    }
+    return -tmp + log(2.50662827465 * ser);
+}
+
+double Fisher::factln0(int n)
+{
+    static double pi = 3.1415926536;
+
+    if (n < 0) {
+        //nrerror("Negative factorial in routine FACTLN");
+        return 0.0;
+    }
+    if (n <= 1) return 0.0;
+    return 0.5 * log((2.0 * n + 1. / 3.) * pi) + n * (log(1.0 * n) - 1.0);
+}
+
+double Fisher::factln(int n)
+{
+    static double a[101];
+
+    if (n < 0) {
+        //nrerror("Negative factorial in routine FACTLN");
+        return 0.0;
+    }
+    if (n <= 1) return 0.0;
+    if (n <= 100)
+        return a[n] ? a[n] : (a[n] = gammln((double)(n + 1.0)));
+    else
+        return gammln((double)(n + 1.0));
+}
+
+double Fisher::binomialln(int n, int k) { return (factln(n) - factln(k) - factln(n - k)); }
+
+double Fisher::calc_hypergeom(int chi11, int chi12, int chi21, int chi22)
+{
+    static double b1, b2, b3;
+    static int total;
+
+    total = chi11 + chi12 + chi21 + chi22;
+
+    b1 = binomialln(chi11 + chi12, chi11);
+    b2 = binomialln(chi21 + chi22, chi21);
+    b3 = binomialln(total, chi11 + chi21);
+
+    return exp(b1 + b2 - b3);
+}
+}
+}  //::PacBio::Statistics
\ No newline at end of file
diff --git a/src/Fuse.cpp b/src/Fuse.cpp
new file mode 100644
index 0000000..fb3211d
--- /dev/null
+++ b/src/Fuse.cpp
@@ -0,0 +1,153 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <algorithm>
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <iomanip>
+#include <iostream>
+#include <limits>
+#include <memory>
+#include <numeric>
+#include <vector>
+
+#include <pbbam/EntireFileQuery.h>
+#include <pbbam/PbiFilterQuery.h>
+
+#include <pacbio/data/ArrayRead.h>
+#include <pacbio/data/MSA.h>
+#include <pacbio/io/Utility.h>
+#include <pbbam/BamRecord.h>
+
+#include <pacbio/realign/Fuse.h>
+
+namespace PacBio {
+namespace Realign {
+
+Fuse::Fuse(const std::string& ccsInput)
+{
+    const auto arrayReads = FetchAlignedReads(ccsInput);
+    consensusSequence_ = CreateConsensus(arrayReads);
+}
+Fuse::Fuse(const std::vector<Data::ArrayRead>& arrayReads)
+{
+    consensusSequence_ = CreateConsensus(arrayReads);
+}
+
+std::string Fuse::CreateConsensus(const std::vector<Data::ArrayRead>& arrayReads) const
+{
+    Data::MSA msa(arrayReads);
+
+    auto posInsCov = CollectInsertions(msa);
+    std::map<int, std::string> posIns;
+    while (!posInsCov.empty())
+        posIns.insert(FindInsertions(&posInsCov));
+
+    std::string consensus;
+    for (const auto& c : msa.counts) {
+        if (posIns.find(c.refPos) != posIns.cend()) consensus += posIns[c.refPos];
+        if (c.Coverage() > minCoverage_) {
+            const auto maxBase = c.MaxBase();
+            if (maxBase != '-') consensus += c.MaxBase();
+        }
+    }
+    return consensus;
+}
+
+std::map<int, std::pair<std::string, int>> Fuse::CollectInsertions(const Data::MSA& msa) const
+{
+    std::map<int, std::pair<std::string, int>> posInsCov;
+    for (const auto& c : msa) {
+        if (!c.insertions.empty()) {
+            int argmax = -1;
+            std::string max;
+            for (const auto& ins_count : c.insertions) {
+                if (ins_count.first.size() % 3 != 0) continue;
+                if (ins_count.second > argmax && ins_count.second > minInsertionCoverage_) {
+                    argmax = ins_count.second;
+                    max = ins_count.first;
+                }
+            }
+            if (argmax != -1) posInsCov[c.refPos] = std::make_pair(max, argmax);
+        }
+    }
+    return posInsCov;
+}
+
+std::pair<int, std::string> Fuse::FindInsertions(
+    std::map<int, std::pair<std::string, int>>* posInsCov, int windowSize) const
+{
+    int argMax = -1;
+    int maxCov = -1;
+    std::string ins;
+    for (const auto& kv : *posInsCov) {
+        if (kv.second.second > maxCov) {
+            maxCov = kv.second.second;
+            argMax = kv.first;
+            ins = kv.second.first;
+        }
+    }
+
+    for (int i = std::max(0, argMax - windowSize); i < argMax + windowSize; ++i) {
+        auto it = posInsCov->find(i);
+        if (it != posInsCov->cend()) posInsCov->erase(it);
+    }
+    return std::make_pair(argMax, ins);
+}
+
+std::vector<Data::ArrayRead> Fuse::FetchAlignedReads(const std::string& ccsInput) const
+{
+    BAM::DataSet ds(ccsInput);
+    const auto filter = BAM::PbiFilter::FromDataSet(ds);
+    std::unique_ptr<BAM::internal::IQuery> query(nullptr);
+    if (filter.IsEmpty())
+        query.reset(new BAM::EntireFileQuery(ds));
+    else
+        query.reset(new BAM::PbiFilterQuery(filter, ds));
+
+    std::vector<Data::ArrayRead> reads;
+    int idx = 0;
+    for (const auto& read : *query) {
+        reads.emplace_back(Data::BAMArrayRead(read, idx++));
+    }
+
+    return reads;
+}
+}
+}  // ::PacBio::Realign
\ No newline at end of file
diff --git a/src/FuseSettings.cpp b/src/FuseSettings.cpp
new file mode 100644
index 0000000..4f5a8e0
--- /dev/null
+++ b/src/FuseSettings.cpp
@@ -0,0 +1,139 @@
+// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <thread>
+
+#include <pacbio/Version.h>
+#include <pacbio/data/PlainOption.h>
+#include <boost/algorithm/string.hpp>
+
+#include <pacbio/realign/FuseSettings.h>
+
+namespace PacBio {
+namespace Realign {
+namespace OptionNames {
+using PlainOption = Data::PlainOption;
+// clang-format off
+const PlainOption Region{
+    "region",
+    { "region", "r"},
+    "Region of Interest",
+    "Genomic region of interest, reads will be clipped to that region, empty means all reads.",
+    CLI::Option::StringType("")
+};
+const PlainOption Output{
+    "output",
+    { "output", "o"},
+    "Output Prefix",
+    "Output prefix for generated fasta file [Default: Input file prefix + .fasta].",
+    CLI::Option::StringType("")
+};
+// clang-format on
+}  // namespace OptionNames
+
+FuseSettings::FuseSettings(const PacBio::CLI::Results& options)
+    : InputFiles(options.PositionalArguments())
+{
+    if (!options[OptionNames::Output].empty())
+        OutputPrefix = std::forward<std::string>(options[OptionNames::Output]);
+    // SplitRegion(options[OptionNames::Region], &RegionStart, &RegionEnd);
+}
+
+size_t FuseSettings::ThreadCount(int n)
+{
+    const int m = std::thread::hardware_concurrency();
+
+    if (n < 1) return std::max(1, m + n);
+
+    return std::min(m, n);
+}
+
+void FuseSettings::SplitRegion(const std::string& region, int* start, int* end)
+{
+    if (region.compare("") != 0) {
+        std::vector<std::string> splitVec;
+        boost::split(splitVec, region, boost::is_any_of("-"));
+        *start = stoi(splitVec[0]);
+        *end = stoi(splitVec[1]);
+        if (*start <= 0 || *end <= 0) throw std::runtime_error("Indexing is 1-based");
+    }
+}
+
+PacBio::CLI::Interface FuseSettings::CreateCLI()
+{
+    using Option = PacBio::CLI::Option;
+    using Task = PacBio::CLI::ToolContract::Task;
+
+    PacBio::CLI::Interface i{
+        "fuse", "Fuse, a BAM alignment consensus caller",
+        PacBio::UnanimityVersion() + " (commit " + PacBio::UnanimityGitSha1() + ")"};
+
+    i.AddHelpOption();     // use built-in help output
+    i.AddVersionOption();  // use built-in version output
+
+    // clang-format off
+    i.AddPositionalArguments({
+        {"source", "Source BAM or DataSet XML file.", "FILE"}
+    });
+
+    i.AddOptions(
+    {
+        OptionNames::Output
+        // OptionNames::Region
+    });
+
+    const std::string id = "uny.tasks.fuse";
+    Task tcTask(id);
+
+    tcTask.InputFileTypes({
+        {
+            "alignment_set",
+            "AlignmentSet",
+            "Alignment DataSet or aligned .bam file",
+            "PacBio.DataSet.AlignmentSet"
+        }
+    });
+
+    CLI::ToolContract::Config tcConfig(tcTask);
+    i.EnableToolContract(tcConfig);
+
+    // clang-format on
+
+    return i;
+}
+}
+}  // ::PacBio::CCS
\ No newline at end of file
diff --git a/src/JulietSettings.cpp b/src/JulietSettings.cpp
new file mode 100644
index 0000000..cc0ef87
--- /dev/null
+++ b/src/JulietSettings.cpp
@@ -0,0 +1,220 @@
+// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <thread>
+
+#include <pacbio/Version.h>
+#include <pacbio/data/PlainOption.h>
+#include <boost/algorithm/string.hpp>
+
+#include <pacbio/juliet/JulietSettings.h>
+#include <pacbio/juliet/TargetConfig.h>
+
+namespace PacBio {
+namespace Juliet {
+namespace OptionNames {
+using PlainOption = Data::PlainOption;
+// clang-format off
+const PlainOption Region{
+    "region",
+    { "region", "r"},
+    "Region of Interest",
+    "Genomic region of interest, reads will be clipped to that region, empty means all reads.",
+    CLI::Option::StringType("")
+};
+const PlainOption Output{
+    "output",
+    { "output", "o"},
+    "Output Prefix",
+    "Output prefix for generated files [Default: Input file prefix].",
+    CLI::Option::StringType("")
+};
+const PlainOption DRMOnly{
+    "only_known_drms",
+    { "drm-only", "k" },
+    "Only Known DRMs",
+    "Only report known DRM positions.",
+    CLI::Option::BoolType()
+};
+const PlainOption Mode{
+    "Execution mode",
+    { "mode", "m" },
+    "Execution mode",
+    "Execution mode: amino, base, phasing, or error",
+    CLI::Option::StringType("amino")
+};
+const PlainOption SubstitutionRate{
+    "SubstitutionRate",
+    { "sub", "s" },
+    "SubstitutionRate",
+    "Substitution Rate, specify to override the learned rate",
+    CLI::Option::FloatType(0)
+};
+const PlainOption DeletionRate{
+    "DeletionRate",
+    { "del", "d" },
+    "DeletionRate",
+    "Deletion Rate, specify to override the learned rate",
+    CLI::Option::FloatType(0)
+};
+const PlainOption TargetConfig{
+    "Target config",
+    { "config", "c" },
+    "Target config",
+    "Path to the JSON target config, containing regions of interest, the JSON string itself, or a predefined config tag like <HIV>",
+    CLI::Option::StringType("")
+};
+// clang-format on
+}  // namespace OptionNames
+
+JulietSettings::JulietSettings(const PacBio::CLI::Results& options)
+    : InputFiles(options.PositionalArguments())
+    , OutputPrefix(std::forward<std::string>(options[OptionNames::Output]))
+    , TargetConfigUser(std::forward<std::string>(options[OptionNames::TargetConfig]))
+    , DRMOnly(options[OptionNames::DRMOnly])
+    , Mode(AnalysisModeFromString(options[OptionNames::Mode]))
+    , SubstitutionRate(options[OptionNames::SubstitutionRate])
+    , DeletionRate(options[OptionNames::DeletionRate])
+{
+    SplitRegion(options[OptionNames::Region], &RegionStart, &RegionEnd);
+}
+
+size_t JulietSettings::ThreadCount(int n)
+{
+    const int m = std::thread::hardware_concurrency();
+
+    if (n < 1) return std::max(1, m + n);
+
+    return std::min(m, n);
+}
+
+void JulietSettings::SplitRegion(const std::string& region, int* start, int* end)
+{
+    if (region.compare("") != 0) {
+        std::vector<std::string> splitVec;
+        boost::split(splitVec, region, boost::is_any_of("-"));
+        *start = stoi(splitVec[0]);
+        *end = stoi(splitVec[1]);
+        if (*start <= 0 || *end <= 0) throw std::runtime_error("Indexing is 1-based");
+    }
+}
+
+AnalysisMode JulietSettings::AnalysisModeFromString(const std::string& input)
+{
+    std::string s = input;
+    std::transform(s.begin(), s.end(), s.begin(), ::tolower);
+    if (s.find("amino") != std::string::npos || s.find("acid") != std::string::npos)
+        return AnalysisMode::AMINO;
+    else if (s.find("base") != std::string::npos || s.find("nuc") != std::string::npos)
+        return AnalysisMode::BASE;
+    else if (s.find("phas") != std::string::npos || s.find("hap") != std::string::npos)
+        return AnalysisMode::PHASING;
+    else if (s.find("error") != std::string::npos)
+        return AnalysisMode::ERROR;
+    else
+        throw std::runtime_error("Unknown mode " + s);
+}
+
+PacBio::CLI::Interface JulietSettings::CreateCLI()
+{
+    using Option = PacBio::CLI::Option;
+    using Task = PacBio::CLI::ToolContract::Task;
+
+    PacBio::CLI::Interface i{
+        "juliet",
+        "Juliet, minimal minor variant calling software.\nAttention: Juliet is for research usage "
+        "only. Predictions have not been validated.",
+        PacBio::UnanimityVersion() + " (commit " + PacBio::UnanimityGitSha1() + ")"};
+
+    i.AddHelpOption();     // use built-in help output
+    i.AddVersionOption();  // use built-in version output
+
+    // clang-format off
+    i.AddPositionalArguments({
+        {"source", "Source BAM or DataSet XML file.", "FILE"}
+    });
+
+    i.AddOptions(
+    {
+        OptionNames::Output,
+        OptionNames::Mode,
+        OptionNames::Region,
+        OptionNames::DRMOnly,
+        OptionNames::TargetConfig,
+        OptionNames::SubstitutionRate,
+        OptionNames::DeletionRate
+    });
+
+    const std::string id = "uny.tasks.juliet";
+    Task tcTask(id);
+    tcTask.AddOption(OptionNames::Output);
+    tcTask.AddOption(OptionNames::Mode);
+    tcTask.AddOption(OptionNames::Region);
+    tcTask.AddOption(OptionNames::DRMOnly);
+    tcTask.AddOption(OptionNames::TargetConfig);
+    tcTask.AddOption(OptionNames::SubstitutionRate);
+    tcTask.AddOption(OptionNames::DeletionRate);
+    tcTask.NumProcessors(Task::MAX_NPROC);
+
+    tcTask.InputFileTypes({
+        {
+            "alignment_set",
+            "AlignmentSet",
+            "Alignment DataSet or aligned .bam file",
+            "PacBio.DataSet.AlignmentSet"
+        }
+    });
+
+    // TODO(atoepfer) This is incorrect, need to find out json, txt, and html output types
+    tcTask.OutputFileTypes({
+        {
+            "bam_output",
+            "Consensus Sequences",
+            "Consensus sequences generated by CCS2",
+            "PacBio.DataSet.ConsensusReadSet",
+            "ccs"
+        }
+    });
+
+    CLI::ToolContract::Config tcConfig(tcTask);
+    i.EnableToolContract(tcConfig);
+    // clang-format on
+
+    return i;
+}
+}
+}  // ::PacBio::CCS
\ No newline at end of file
diff --git a/src/JulietWorkflow.cpp b/src/JulietWorkflow.cpp
new file mode 100644
index 0000000..c3e92cc
--- /dev/null
+++ b/src/JulietWorkflow.cpp
@@ -0,0 +1,194 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <iomanip>
+#include <iostream>
+#include <limits>
+#include <numeric>
+#include <vector>
+
+#include <pacbio/data/ArrayRead.h>
+#include <pacbio/data/MSA.h>
+#include <pacbio/io/BamParser.h>
+#include <pacbio/io/Utility.h>
+#include <pacbio/juliet/AminoAcidCaller.h>
+#include <pacbio/juliet/JulietSettings.h>
+#include <pacbio/juliet/ResistanceCaller.h>
+#include <pacbio/statistics/Fisher.h>
+#include <pacbio/statistics/Tests.h>
+#include <pbbam/BamReader.h>
+#include <pbbam/BamRecord.h>
+#include <pbcopper/json/JSON.h>
+
+#include <pacbio/juliet/JulietWorkflow.h>
+
+namespace PacBio {
+namespace Juliet {
+
+std::ostream& JulietWorkflow::LogCI(const std::string& prefix)
+{
+    std::cout << std::setw(20) << std::left << prefix << ": ";
+    return std::cout;
+}
+
+void JulietWorkflow::Run(const JulietSettings& settings)
+{
+    auto globalOutputPrefix = settings.OutputPrefix;
+    globalOutputPrefix += globalOutputPrefix.empty() ? "" : "/";
+
+    if (settings.Mode == AnalysisMode::BASE) {
+        std::unordered_map<std::string, JSON::Json> jsonResults;
+        for (const auto& inputFile : settings.InputFiles) {
+            const auto outputPrefix = globalOutputPrefix + IO::FilePrefix(inputFile);
+
+            // Convert BamRecords to unrolled ArrayReads
+            std::vector<Data::ArrayRead> reads;
+            reads = IO::ParseBam(inputFile, settings.RegionStart, settings.RegionEnd);
+
+            Data::MSA msa(reads);
+
+            // Compute fisher's exact test for each position
+            for (auto& column : msa) {
+                column.AddFisherResult(Statistics::Tests::FisherCCS(column));
+                column.AddFisherResult(Statistics::Tests::FisherCCS(column, column.insertions));
+            }
+
+            // Store msa + p-values
+            std::ofstream msaStream(outputPrefix + ".msa");
+            msaStream << "pos A Fa C Fc G Fg T Ft N Fn" << std::endl;
+            int pos = msa.beginPos;
+            for (auto& column : msa)
+                msaStream << ++pos << " " << column << std::endl;
+            msaStream.close();
+
+            ResistanceCaller resiCaller(msa);
+
+            const auto json = resiCaller.JSON();
+            jsonResults.insert({IO::FilePrefix(inputFile), json});
+            std::ofstream jsonStream(outputPrefix + ".json");
+            jsonStream << json.dump(2) << std::endl;
+
+            std::ofstream htmlStream(outputPrefix + ".html");
+            ResistanceCaller::HTML(htmlStream, json, settings.DRMOnly, settings.Details);
+        }
+    } else if (settings.Mode == AnalysisMode::AMINO) {
+        for (const auto& inputFile : settings.InputFiles) {
+            const auto outputPrefix = globalOutputPrefix + IO::FilePrefix(inputFile);
+
+            ErrorEstimates error;
+            if (settings.SubstitutionRate != 0.0 && settings.DeletionRate != 0.0) {
+                error = ErrorEstimates(settings.SubstitutionRate, settings.DeletionRate);
+            } else {
+                std::string chemistry;
+                const BAM::BamReader bamReader(inputFile);
+                const auto readGroups = bamReader.Header().ReadGroups();
+                for (const auto& rg : readGroups) {
+                    if (chemistry.empty())
+                        chemistry = rg.SequencingChemistry();
+                    else if (chemistry != rg.SequencingChemistry())
+                        throw std::runtime_error("Mixed chemistries are not allowed");
+                }
+                error = ErrorEstimates(chemistry);
+            }
+
+            // Convert BamRecords to unrolled ArrayReads
+            std::vector<Data::ArrayRead> reads;
+            reads = IO::ParseBam(inputFile, settings.RegionStart, settings.RegionEnd);
+
+            // Call variants
+            AminoAcidCaller aac(reads, error, settings.TargetConfigUser);
+            const auto json = aac.JSON();
+
+            std::ofstream jsonStream(outputPrefix + ".json");
+            jsonStream << json.dump(2) << std::endl;
+
+            std::ofstream htmlStream(outputPrefix + ".html");
+            AminoAcidCaller::HTML(htmlStream, json, settings.DRMOnly, settings.Details);
+
+            // Store msa + p-values
+            std::ofstream msaStream(outputPrefix + ".msa");
+            msaStream << "pos A Fa C Fc G Fg T Ft N Fn" << std::endl;
+            int pos = aac.msa_->beginPos;
+            for (auto& column : *aac.msa_)
+                msaStream << ++pos << " " << column << std::endl;
+            msaStream.close();
+        }
+    } else if (settings.Mode == AnalysisMode::PHASING) {
+        for (const auto& inputFile : settings.InputFiles) {
+            const auto outputPrefix = globalOutputPrefix + IO::FilePrefix(inputFile);
+
+            // Convert BamRecords to unrolled ArrayReads
+            std::vector<Data::ArrayRead> reads;
+            reads = IO::ParseBam(inputFile, settings.RegionStart, settings.RegionEnd);
+
+            Data::MSA msa(reads);
+
+            // Compute fisher's exact test for each position
+            for (auto& column : msa) {
+                column.AddFisherResult(Statistics::Tests::FisherCCS(column));
+                column.AddFisherResult(Statistics::Tests::FisherCCS(column, column.insertions));
+            }
+
+            Data::MSA msaWithPrior(reads, msa);
+        }
+    } else if (settings.Mode == AnalysisMode::ERROR) {
+        for (const auto& inputFile : settings.InputFiles) {
+            std::vector<Data::ArrayRead> reads;
+            reads = IO::ParseBam(inputFile, settings.RegionStart, settings.RegionEnd);
+            Data::MSA msa(reads);
+            double sub = 0;
+            double del = 0;
+            int columnCount = 0;
+            for (const auto& column : msa) {
+                if (column.Coverage() > 100) {
+                    del += column.Frequency(4);
+                    sub += 1.0 - column.Frequency(4) - column.Frequency(column.MaxElement());
+                    ++columnCount;
+                }
+            }
+            std::cout << inputFile << std::endl;
+            std::cout << "sub: " << (sub / columnCount) << std::endl;
+            std::cout << "del: " << (del / columnCount) << std::endl;
+        }
+    }
+}
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/src/MSA.cpp b/src/MSA.cpp
new file mode 100644
index 0000000..ea5a3b6
--- /dev/null
+++ b/src/MSA.cpp
@@ -0,0 +1,267 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <numeric>
+#include <vector>
+
+#include <pacbio/data/ArrayRead.h>
+#include <pacbio/data/MSAColumn.h>
+
+#include <pacbio/data/MSA.h>
+
+namespace PacBio {
+namespace Data {
+MSA::MSA(const std::vector<Data::ArrayRead>& reads)
+{
+    BeginEnd(reads);
+    // Fill counts
+    FillCounts(reads);
+}
+MSA::MSA(const std::vector<Data::ArrayRead>& reads, const MSA& prior)
+{
+    BeginEnd(reads);
+    // Fill counts
+    FillCounts(reads, prior);
+}
+
+void MSA::BeginEnd(const std::vector<Data::ArrayRead>& reads)
+{
+    // Determine left- and right-most positions
+    for (const auto& r : reads) {
+        beginPos = std::min(beginPos, r.ReferenceStart());
+        endPos = std::max(endPos, r.ReferenceEnd());
+    }
+}
+
+void MSA::FillCounts(const std::vector<ArrayRead>& reads)
+{
+    // Prepare 2D array for counts
+    counts.resize(endPos - beginPos);
+    int pos = beginPos;
+    for (auto& c : counts)
+        c.refPos = ++pos;  // output is 1-based, input is 0-based
+
+    // Fill in counts
+    for (const auto& r : reads) {
+        int pos = r.ReferenceStart() - beginPos;
+        assert(pos >= 0);
+        std::string insertion;
+        auto CheckInsertion = [&insertion, this, &pos]() {
+            if (insertion.empty()) return;
+            counts[pos].insertions[insertion]++;
+            insertion = "";
+        };
+        for (const auto& b : r.Bases) {
+            switch (b.Cigar) {
+                case 'X':
+                case '=':
+                    CheckInsertion();
+                    counts[pos][b.Nucleotide]++;
+                    ++pos;
+                    break;
+                case 'D':
+                    CheckInsertion();
+                    counts[pos]['N']++;
+                    ++pos;
+                    break;
+                case 'I':
+                    insertion += b.Nucleotide;
+                    break;
+                case 'P':
+                    CheckInsertion();
+                    break;
+                case 'S':
+                    CheckInsertion();
+                    break;
+                default:
+                    throw std::runtime_error("Unexpected cigar " + std::to_string(b.Cigar));
+            }
+        }
+    }
+}
+
+void MSA::FillCounts(const std::vector<ArrayRead>& reads, const MSA& prior)
+{
+    // Prepare 2D array for counts
+    counts.resize(endPos - beginPos);
+    {
+        int pos = beginPos;
+        for (auto& c : counts)
+            c.refPos = pos++;
+    }
+
+    struct InDel
+    {
+        InDel(const MSAColumn& c)
+            : refPos(c.refPos), deletion(c.mask.at(4)), insertions(c.SignificantInsertions())
+        {
+        }
+
+        bool Hit() { return deletion || !insertions.empty(); }
+        int refPos = -1;
+        bool deletion = false;
+        std::vector<std::string> insertions;
+    };
+    std::vector<InDel> indels;
+    for (auto& column : prior)
+        indels.emplace_back(column);
+
+    for (const auto& id : indels)
+        if (id.deletion) std::cerr << id.refPos << " " << id.deletion << std::endl;
+
+    std::map<int, int> offsets;
+    std::map<int, int> delMap;
+    // Fill in counts
+    for (const auto& r : reads) {
+        int pos = r.ReferenceStart() - beginPos;
+        assert(pos >= 0);
+
+        int indelOffset = 0;
+        std::string insertion;
+        int deletion = 0;
+
+        auto CheckInsertion = [&insertion, &indels, &indelOffset, this, &pos]() {
+            if (insertion.empty()) return;
+            if (pos < static_cast<int>(indels.size())) {
+                const auto& insertions = indels.at(pos).insertions;
+                if (std::find(insertions.cbegin(), insertions.cend(), insertion) !=
+                    insertions.cend()) {
+                    if (insertion.size() % 3 != 0) indelOffset += insertion.size();
+                    std::cerr << "Found insertion " << insertion << " at positition " << pos
+                              << std::endl;
+                }
+            } else
+                std::cerr << pos << " is outside of " << indels.size() << " for insertion "
+                          << insertion << std::endl;
+            insertion = "";
+        };
+
+        auto CheckDeletion = [&deletion, &indelOffset]() {
+            if (deletion != 0) {
+                if (deletion % 3 != 0) indelOffset -= deletion;
+                deletion = 0;
+            }
+        };
+
+        for (size_t i = 0; i < r.Bases.size(); ++i) {
+            const auto& b = r.Bases.at(i);
+            bool hasFullCodonFollowing = (i + 2) < r.Bases.size();
+            switch (b.Cigar) {
+                case 'X':
+                case '=':
+                    // Check for HP deletion
+                    if ((deletion != 0) && (i + 1) < r.Bases.size() &&
+                        b.Nucleotide == r.Bases.at(i + 1).Nucleotide) {
+                        deletion = 0;
+                    } else {  // deletion is not in an HP
+                        CheckDeletion();
+                    }
+                    if (!insertion.empty()) {
+                        bool hp = true;
+                        for (size_t j = 0; j < insertion.size(); ++j) {
+                            if (insertion[j] != b.Nucleotide) {
+                                hp = false;
+                                break;
+                            }
+                        }
+                        if (!hp) CheckInsertion();
+                    }
+                    ++pos;
+                    break;
+                case 'D':
+                    if (indels.at(pos).deletion) {
+                        delMap[beginPos + pos + 1]++;
+                        ++deletion;
+                    }
+                    CheckInsertion();
+                    ++pos;
+                    break;
+                case 'I':
+                    insertion += b.Nucleotide;
+                    CheckDeletion();
+                    break;
+                case 'P':
+                    CheckDeletion();
+                    CheckInsertion();
+                    break;
+                default:
+                    throw std::runtime_error("Unexpected cigar " + std::to_string(b.Cigar));
+            }
+        }
+        offsets[indelOffset]++;
+
+        // int pos = r.ReferenceStart() - beginPos;
+        // assert(pos >= 0);
+        // std::string insertion;
+        // auto CheckInsertion = [&insertion, this, &pos]() {
+        //     if (insertion.empty()) return;
+        //     counts[pos].insertions[insertion]++;
+        //     insertion = "";
+        // };
+        // for (const auto& b : r.Bases) {
+        //     switch (b.Cigar) {
+        //         case 'X':
+        //         case '=':
+        //             CheckInsertion();
+        //             counts[pos][b.Nucleotide]++;
+        //             ++pos;
+        //             break;
+        //         case 'D':
+        //             CheckInsertion();
+        //             counts[pos]['N']++;
+        //             ++pos;
+        //             break;
+        //         case 'I':
+        //             insertion += b.Nucleotide;
+        //             break;
+        //         case 'P':
+        //             CheckInsertion();
+        //             break;
+        //         default:
+        //             throw std::runtime_error("Unexpected cigar " + std::to_string(b.Cigar));
+        //     }
+        // }
+    }
+    std::cerr << "del" << std::endl;
+    for (const auto& pos_count : delMap)
+        std::cerr << pos_count.first << " - " << pos_count.second << std::endl;
+    std::cerr << "offsets" << std::endl;
+    for (const auto& offset_count : offsets)
+        std::cerr << offset_count.first << " - " << offset_count.second << std::endl;
+}
+}  // namespace Data
+}  // namespace PacBio
diff --git a/tests/unit/RandomDNA.cpp b/src/MSAColumn.cpp
similarity index 67%
copy from tests/unit/RandomDNA.cpp
copy to src/MSAColumn.cpp
index ca0963f..bc6c5a8 100644
--- a/tests/unit/RandomDNA.cpp
+++ b/src/MSAColumn.cpp
@@ -33,28 +33,38 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-#include "RandomDNA.h"
+// Author: Armin Töpfer
 
-using namespace std;
+#include <array>
+#include <numeric>
 
-string RandomDNA(const size_t n, mt19937* const gen)
-{
-    constexpr auto bases = "ACGT";
-    string result(n, 'A');
-    uniform_int_distribution<size_t> rand(0, 3);
+#include <pacbio/data/FisherResult.h>
 
-    for (size_t i = 0; i < n; ++i)
-        result[i] = bases[rand(*gen)];
+#include <pacbio/data/MSAColumn.h>
 
-    return result;
+namespace PacBio {
+namespace Data {
+int MSAColumn::Coverage() const { return std::accumulate(counts.cbegin(), counts.cend(), 0); }
+int MSAColumn::MaxElement() const
+{
+    return std::distance(counts.begin(), std::max_element(counts.begin(), counts.end()));
 }
-
-std::vector<uint8_t> RandomPW(const size_t n, mt19937* const gen)
+char MSAColumn::MaxBase() const
 {
-    std::vector<uint8_t> result(n);
-    uniform_int_distribution<size_t> rand(1, 4);
-    for (size_t i = 0; i < n; ++i)
-        result[i] = rand(*gen);
+    static const char bases[]{'A', 'C', 'G', 'T', '-'};
+    return bases[MaxElement()];
+}
+int MSAColumn::Max() const { return counts.at(MaxElement()); }
 
-    return result;
+void MSAColumn::AddFisherResult(const FisherResult& f)
+{
+    pValues = f.pValues;
+    mask = f.mask;
+    hit = f.hit;
+    argMax = f.argMax;
 }
+
+void MSAColumn::AddFisherResult(const std::map<std::string, double>& f) { insertionsPValues = f; }
+
+}  // namespace Data
+}  // namespace PacBio
diff --git a/src/Polish.cpp b/src/Polish.cpp
index c274a35..15553b6 100644
--- a/src/Polish.cpp
+++ b/src/Polish.cpp
@@ -320,6 +320,7 @@ vector<int> ConsensusQualities(AbstractIntegrator& ai)
             if (m.Start() > i) continue;
             // TODO (lhepler): this is dumb, but untestable mutations,
             //   aka insertions at ends, cause all sorts of weird issues
+            // See also: Polish::ConsensusQVs(ai)
             double score;
             try {
                 score = ai.LL(m) - LL;
@@ -354,7 +355,22 @@ QualityValues ConsensusQVs(AbstractIntegrator& ai)
         for (const auto& m : Mutations(ai, i, i + 1)) {
             // skip mutations that start beyond the current site (e.g. trailing insertions)
             if (m.Start() > i) continue;
-            const double score = ai.LL(m) - LL;
+
+            // TODO (lhepler): this is dumb, but untestable mutations,
+            //   aka insertions at ends, cause all sorts of weird issues
+            // See also: Polish::ConsensusQualities(ai)
+            double score;
+            try {
+                score = ai.LL(m) - LL;
+            } catch (const Exception::InvalidEvaluatorException& e) {
+                // If an Evaluator exception occured, report and skip!
+                // We need to handle this!
+                std::string error = "In Polish::ConsensusQVs(ai): ";
+                error += e.what();
+                PBLOG_ERROR << error;
+                continue;
+            }
+
             // this really should never happen
             if (score >= 0.0) continue;
             const double expScore = exp(score);
diff --git a/src/ResistanceCaller.cpp b/src/ResistanceCaller.cpp
new file mode 100644
index 0000000..7c4b689
--- /dev/null
+++ b/src/ResistanceCaller.cpp
@@ -0,0 +1,679 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <array>
+#include <cmath>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iostream>
+#include <limits>
+#include <list>
+#include <map>
+#include <memory>
+#include <numeric>
+#include <set>
+#include <sstream>
+#include <unordered_map>
+#include <vector>
+
+#include <pacbio/data/MSA.h>
+#include <pacbio/juliet/ResistanceCaller.h>
+#include <pbcopper/json/JSON.h>
+
+#undef major  // gcc hack
+namespace PacBio {
+namespace Juliet {
+
+ResistanceCaller::ResistanceCaller(const Data::MSA& msa)
+    : msa_(msa), begin_(msa.beginPos), end_(msa.endPos)
+{
+    int pos = begin_;
+    for (const auto& column : msa) {
+        std::vector<VariantNucleotide> nucs;
+        for (int j = 0; j < 4; ++j) {
+            char curNuc = Data::TagToNucleotide(j);
+            if (column.argMax == j) {
+                nucs.emplace_back(curNuc);
+            } else if (column.mask.at(j) != 0) {
+                nucs.emplace_back(curNuc, std::round(column.Frequency(j) * 10000) / 10000.0,
+                                  column.pValues.at(j));
+            }
+        }
+        AddPosition(std::move(nucs));
+        ++pos;
+    }
+}
+
+JSON::Json ResistanceCaller::JSON()
+{
+    using namespace PacBio::JSON;
+
+    Json j;
+    std::vector<Json> genes;
+    Json curGene;
+    std::string gene;
+    int geneOffset;
+    for (int i = begin_; i < end_; ++i) {
+        if ((i + 1) % 3 != 0) continue;
+        if (i + 2 >= end_) break;
+        if (!(msa_[i].hit || msa_[i + 1].hit || msa_[i + 2].hit)) continue;
+
+        const auto codons = CreateCodons(i);
+        if (codons.empty()) continue;
+
+        const auto aminoRef = AminoacidRef(i);
+
+        auto SetNewGene = [&gene, &genes, &curGene, &geneOffset](const std::string& name,
+                                                                 int begin) {
+            gene = name;
+            if (curGene.find("gene") != curGene.cend()) genes.push_back(std::move(curGene));
+            curGene = Json();
+            curGene["name"] = name;
+            geneOffset = begin;
+        };
+        // Corrected index for 1-based reference
+        const int ci = i + 1;
+        if (ci > 1 && ci < 634 && gene != "5'LTR") {
+            SetNewGene("5'LTR", 1);
+        } else if (ci > 790 && ci < 1186 && gene != "p17") {
+            SetNewGene("p17", 790);
+        } else if (ci > 1186 && ci < 1879 && gene != "p24") {
+            SetNewGene("p24", 1186);
+        } else if (ci > 1879 && ci < 1921 && gene != "p2") {
+            SetNewGene("p2", 1879);
+        } else if (ci > 1921 && ci < 2086 && gene != "p7") {
+            SetNewGene("p7", 1921);
+        } else if (ci > 2086 && ci < 2134 && gene != "p1") {
+            SetNewGene("p1", 2086);
+        } else if (ci > 2134 && ci < 2292 && gene != "p6") {
+            SetNewGene("p6", 2134);
+        } else if (ci > 2253 && ci < 2550 && gene != "Protease") {
+            SetNewGene("Protease", 2253);
+        } else if (ci > 2550 && ci < 3870 && gene != "Reverse Transcriptase") {
+            SetNewGene("Reverse Transcriptase", 2550);
+        } else if (ci > 3870 && ci < 4230 && gene != "RNase") {
+            SetNewGene("RNase", 3870);
+        } else if (ci > 4230 && ci < 5096 && gene != "Integrase") {
+            SetNewGene("Integrase", 4230);
+        }
+
+        const auto refCodon = CodonRef(i);
+        std::stringstream line;
+        Json variantPosition;
+        variantPosition["ref_codon"] = refCodon;
+        variantPosition["ref_amino_acid"] = std::string(1, aminoRef);
+        variantPosition["ref_position"] = 1 + (ci + 1 - geneOffset) / 3;
+        std::vector<Json> variants;
+        bool first = true;
+        bool hit = false;
+        for (const auto& c : codons) {
+            const auto cc = CodonString(c);
+            const auto a = codonToAmino_.at(cc);
+            bool isKnown = resistantCodon_.find(i + 4) != resistantCodon_.cend();
+            if (a != aminoRef) {
+                hit = true;
+                Json variant;
+
+                variant["amino_acid"] = std::string(1, a);
+                variant["nucleotides"] = {std::string(1, cc[0]), std::string(1, cc[1]),
+                                          std::string(1, cc[2])};
+                variant["frequencies"] = {c[0].frequency, c[1].frequency, c[2].frequency};
+                variant["p-values"] = {c[0].major ? 0 : c[0].pValue, c[1].major ? 0 : c[1].pValue,
+                                       c[2].major ? 0 : c[2].pValue};
+                variant["coverage"] = {msa_[i + 0].Coverage(), msa_[i + 1].Coverage(),
+                                       msa_[i + 2].Coverage()};
+                variant["known_drm"] = isKnown ? resistantCodon_.at(i + 4) : "";
+
+                for (int j = -3; j < 6; ++j) {
+                    if (i + j >= begin_ && i + j < end_) {
+                        Json msaCounts;
+                        msaCounts["rel_pos"] = j;
+                        msaCounts["abs_pos"] = i + j;
+                        msaCounts["A"] = msa_[i + j][0];
+                        msaCounts["C"] = msa_[i + j][1];
+                        msaCounts["G"] = msa_[i + j][2];
+                        msaCounts["T"] = msa_[i + j][3];
+                        msaCounts["-"] = msa_[i + j][4];
+                        msaCounts["wt"] = std::string(1, ref_[i + j]);
+                        variant["msa_counts"].push_back(msaCounts);
+                    }
+                }
+                variants.push_back(variant);
+            }
+            variantPosition["variants"] = variants;
+        }
+        std::vector<Json> insertions;
+        for (const auto& kv : msa_[i].insertionsPValues) {
+            if (kv.first.size() % 3 == 0) {
+                Json insertion;
+                insertion["nucleotides"] = kv.first;
+                insertion["p-values"] = kv.second;
+                insertion["abundance"] = msa_[i].insertions[kv.first];
+                std::string aa;
+                for (size_t ii = 0; ii < kv.first.size(); ii += 3)
+                    aa += codonToAmino_.at(kv.first.substr(ii, 3));
+                insertion["amino_acid"] = aa;
+                insertions.push_back(insertion);
+            }
+        }
+        if (!insertions.empty()) variantPosition["insertions"] = insertions;
+        if (hit) curGene["variant_positions"].push_back(variantPosition);
+    }
+    if (!gene.empty()) genes.push_back(std::move(curGene));
+    if (!genes.empty()) j["genes"] = genes;
+    return j;
+}
+
+void ResistanceCaller::HTML(std::ostream& out, const JSON::Json& j, bool onlyKnownDRMs,
+                            bool details)
+{
+    auto strip = [](const std::string& input) -> std::string {
+        std::string s = input;
+        s.erase(std::remove(s.begin(), s.end(), '\"'), s.end());
+        return s;
+    };
+    out << "<html>" << std::endl;
+    out << "<head>" << std::endl;
+    out << R"(
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
+<script type="text/javascript">
+$(document).ready(function() {
+    $(".var").bind( "click", function( event ) {
+        $(this).next().slideToggle(0);
+});
+});
+</script>
+<style>)"
+        << std::endl;
+    out << "<style>" << std::endl;
+    out << R"(
+body { font-family: arial }
+table { border-collapse: collapse; margin-bottom: 20px; }
+/*th { padding: 5px 5px 5px 5px; text-align: center; border-bottom: 1px solid #2d2d2d; }*/
+tr:nth-child(1) { border: 1px solid #2d2d2d; background-color: #2d2d2d; color: white; }
+tr:nth-child(2) { border-top: 1px solid #2d2d2d; border-left: 1px solid #2d2d2d; border-right: 1px solid #2d2d2d; }
+tr:nth-child(3) { border-left: 1px solid #2d2d2d; border-right: 1px solid #2d2d2d; }
+tr:nth-child(3) th { padding: 5px 5px 5px 5px; text-align: center; border-bottom: 1px solid #2d2d2d; }
+tr:nth-child(2) th:nth-child(2) { border-right: 1px solid black; border-left: 1px solid black; }
+tr:nth-child(3) th:nth-child(3) { border-right: 1px solid black; border-left: 1px solid black; }
+td { padding: 15px 5px 15px 5px; text-align: center; border-bottom: 1px solid white; }
+#hitC0 { color: #fff; }
+#hitC1 { color: #fff; }
+#hitC2 { color: #fff; }
+#hitF0 { color: #fff; }
+#hitF1 { color: #fff; }
+#hitF2 { color: #fff; }
+#hitP0 { color: #fff; }
+#hitP1 { color: #fff; }
+#hitP2 { color: #fff; }
+table td:nth-child(1) { background-color:#ddd; border-right: 1px dashed #ccc; }
+table td:nth-child(2) { background-color:#eee; border-right: 1px solid #ddd; }
+table td:nth-child(3) { background-color:#fff; border-right: 1px solid #ddd; font-weight: bold;}
+table td:nth-child(4) { background-color:#eee; border-right: 1px dashed #ccc;  }
+table td:nth-child(5) { background-color: #ddd; }
+table td:nth-child(6) { background-color: #ddd; }
+table td:nth-child(7) { background-color: #ddd; border-right: 1px dashed #bbb; }
+table td:nth-child(8) { background-color: #ccc; }
+table td:nth-child(9) { background-color: #ccc; }
+table td:nth-child(10) { background-color: #ccc; border-right: 1px dashed #aaa; }
+table td:nth-child(11) { background-color: #bbb; }
+table td:nth-child(12) { background-color: #bbb; }
+table td:nth-child(13) { background-color: #bbb; }
+table td:nth-child(14) { background-color: #aaa; }
+table td:nth-child(15) { background-color: #aaa; }
+table td:nth-child(16) { background-color: #aaa; }
+table td:nth-child(17) { background-color: #999; color: #fff600 }
+tr:not(.msa):hover td { background-color: #ff5e5e; }
+.msa table tr:hover td { background-color: #42bff4; }
+.top table { background-color:white; border:0; }
+.top table td { background-color:white; border:0; border-bottom: 1px solid gray; font-weight: normal}
+.top table tr { border:0; }
+.top table th { border:0; }
+.msa { display:none; }
+)" << std::endl;
+    out << "</style>" << std::endl;
+    out << "</head>" << std::endl;
+    out << "<body>" << std::endl;
+
+    if (j.find("genes") == j.cend() || j["genes"].is_null()) return;
+    for (const auto& gene : j["genes"]) {
+        out << "<table class=\"top\">" << std::endl;
+        out << R"(
+<col width="60px"/>
+<col width="40px"/>
+<col width="40px"/>
+<col width="40px"/>
+<col width="30px"/>
+<col width="30px"/>
+<col width="30px"/>
+<col width="60px"/>
+<col width="60px"/>
+<col width="60px"/>
+<col width="120px"/>
+<col width="120px"/>
+<col width="120px"/>
+<col width="80px"/>
+<col width="80px"/>
+<col width="80px"/>
+<col width="180px"/>
+<tr>
+<th colspan="17">)";
+        out << gene["name"];
+        out << R"(</th>
+</tr>
+<tr>
+<th colspan="2">Reference</th>
+<th colspan="1">HXB2</th>
+<th colspan="14">Sample</th>
+</tr>
+<tr>
+<th>Codon</th>
+<th>AA</th>
+<th>Pos</th>
+<th>AA</th>
+<th colspan="3">Codon</th>
+<th colspan="3">Frequency</th>
+<th colspan="3">p-value</th>
+<th colspan="3">Coverage</th>
+<th colspan="1">DRM</th>
+</tr>)" << std::endl;
+
+        for (auto& variantPosition : gene["variant_positions"]) {
+            std::stringstream line;
+            const std::string refCodon = strip(variantPosition["ref_codon"]);
+            line << "<tr class=\"var\">\n"
+                 << "<td>" << refCodon << "</td>\n<td>" << strip(variantPosition["ref_amino_acid"])
+                 << "</td>\n"
+                 << "<td>" << variantPosition["ref_position"] << "</td>";
+            std::string prefix = line.str();
+            line.str("");
+            bool first = true;
+            if (variantPosition.find("insertions") != variantPosition.cend())
+                for (auto& insertion : variantPosition["insertions"]) {
+                    out << "<tr style=\"\">\n"
+                        << "<td colspan=\"2\" style=\"background-color: orange\">Insertion</td>\n"
+                        << "<td style=\"background-color: white; font-weight: bold\">"
+                        << variantPosition["ref_position"] << "</td>"
+                        << "<td colspan=\"1\" style=\"background-color: orange; font-weight: "
+                           "normal\">"
+                        << strip(insertion["amino_acid"]) << "</td>"
+                        << "<td colspan=\"3\" style=\"background-color: orange; font-weight: "
+                           "normal\">"
+                        << strip(insertion["nucleotides"]) << "</td>"
+                        << "</tr>";
+                }
+            for (auto& variant : variantPosition["variants"]) {
+                bool isKnown = !strip(variant["known_drm"]).empty();
+                if ((onlyKnownDRMs && isKnown) || !onlyKnownDRMs) {
+                    line << "<td>" << strip(variant["amino_acid"]) << "</td>\n";
+                    // line << "[";
+                    bool mutated[]{refCodon[0] != strip(variant["nucleotides"][0])[0],
+                                   refCodon[1] != strip(variant["nucleotides"][1])[0],
+                                   refCodon[2] != strip(variant["nucleotides"][2])[0]};
+                    for (int j = 0; j < 3; ++j) {
+                        line << "<td";
+                        if (mutated[j]) line << " id=\"hitC" + std::to_string(j) + "\" ";
+                        line << ">";
+                        line << strip(variant["nucleotides"][j]);
+                        line << "</td>\n";
+                    }
+                    for (int j = 0; j < 3; ++j) {
+                        line << "<td";
+                        if (mutated[j]) line << " id=\"hitF" + std::to_string(j) + "\" ";
+                        line << ">";
+                        line << variant["frequencies"][j];
+                        line << "</td>\n";
+                    }
+                    for (int j = 0; j < 3; ++j) {
+                        line << "<td";
+                        if (mutated[j]) line << " id=\"hitP" + std::to_string(j) + "\" ";
+                        line << ">";
+                        if (static_cast<double>(variant["p-values"][j]) == 0)
+                            line << "M";
+                        else
+                            line << static_cast<double>(variant["p-values"][j]);
+                        line << "</td>\n";
+                    }
+                    for (int j = 0; j < 3; ++j) {
+                        line << "<td";
+                        if (mutated[j]) line << " id=\"hitP" + std::to_string(j) + "\" ";
+                        line << ">";
+                        line << variant["coverage"][j];
+                        line << "</td>\n";
+                    }
+                    line << "<td>";
+                    if (isKnown) line << strip(variant["known_drm"]);
+                    line << "</td>\n";
+                    if (first) {
+                        out << prefix << line.str() << "</tr>" << std::endl;
+                        first = false;
+                    } else {
+                        out << "<tr class=\"var\"><td></td><td></td><td></td>" << line.str()
+                            << "</tr>" << std::endl;
+                    }
+                    line.str("");
+
+                    out << R"(
+                    <tr class="msa">
+                    <td colspan=3 style="background-color: white"></td>
+                    <td colspan=14 style="padding:0; margin:0">
+                    <table style="padding:0; margin:0">
+                    <col width="80px" />
+                    <col width="80px" />
+                    <col width="80px" />
+                    <col width="80px" />
+                    <col width="80px" />
+                    <col width="80px" />
+                    <tr style="padding:0">
+                    <th style="padding:2px 0 0px 0">Pos</th>
+                    <th style="padding:2px 0 0px 0">A</th>
+                    <th style="padding:2px 0 0px 0">C</th>
+                    <th style="padding:2px 0 0px 0">G</th>
+                    <th style="padding:2px 0 0px 0">T</th>
+                    <th style="padding:2px 0 0px 0">-</th>
+                    </tr>
+                    )";
+
+                    for (auto& column : variant["msa_counts"]) {
+                        int relPos = column["rel_pos"];
+                        out << "<tr><td>" << relPos << "</td>" << std::endl;
+                        for (int j = 0; j < 5; ++j) {
+                            out << "<td style=\"";
+                            if (relPos >= 0 && relPos < 3) {
+                                if (j ==
+                                    Data::NucleotideToTag(strip(variant["nucleotides"][relPos])[0]))
+                                    out << "color:red;";
+                            }
+                            if (j == Data::NucleotideToTag(strip(column["wt"])[0]))
+                                out << "font-weight:bold;";
+                            out << "\">" << column[std::string(1, Data::TagToNucleotide(j))]
+                                << "</td>" << std::endl;
+                            /* code */
+                        }
+                        // out << "<td>" << column["A"] << "</td>" << std::endl;
+                        // out << "<td>" << column["C"] << "</td>" << std::endl;
+                        // out << "<td>" << column["G"] << "</td>" << std::endl;
+                        // out << "<td>" << column["T"] << "</td>" << std::endl;
+                        // out << "<td>" << column["-"] << "</td>" << std::endl;
+                        out << "</tr>" << std::endl;
+                    }
+                    out << "</table></tr>" << std::endl;
+                }
+            }
+        }
+    }
+    out << "</table>" << std::endl;
+    out << "</body>" << std::endl;
+    out << "</html>" << std::endl;
+}
+
+double ResistanceCaller::MaxFrequency(std::vector<VariantNucleotide> codon)
+{
+    double max = 0;
+    for (int i = 0; i < 3; ++i) {
+        const auto& f = codon[i].frequency;
+        if (f != 1 && f > max) max = f;
+    }
+    return max == 0 ? 1 : max;
+}
+
+void ResistanceCaller::AddPosition(std::vector<VariantNucleotide>&& nucs)
+{
+    nucleotides_.emplace_back(std::forward<std::vector<VariantNucleotide>>(nucs));
+}
+
+std::string ResistanceCaller::CodonRef(int hxb2Position) const
+{
+    // if (hxb2Position % 3 != 0) throw std::runtime_error("Position is not a multiple of three");
+    if (hxb2Position + 2 >= end_) throw std::runtime_error("Position is out of window");
+    return ref_.substr(hxb2Position, 3);
+}
+
+char ResistanceCaller::AminoacidRef(int hxb2Position) const
+{
+    // if (hxb2Position % 3 != 0) throw std::runtime_error("Position is not a multiple of three");
+    if (hxb2Position + 2 >= end_) throw std::runtime_error("Position is out of window");
+    return codonToAmino_.at(ref_.substr(hxb2Position, 3));
+}
+
+inline std::string ResistanceCaller::CodonString(const std::vector<VariantNucleotide>& codon) const
+{
+    std::stringstream ss;
+    ss << codon[0].nucleotide << codon[1].nucleotide << codon[2].nucleotide;
+    return ss.str();
+}
+
+std::vector<std::vector<VariantNucleotide>> ResistanceCaller::CreateCodons(
+    const int hxb2Position) const
+{
+    std::vector<std::vector<VariantNucleotide>> result;
+    for (const auto& i : nucleotides_.at(hxb2Position - begin_ + 0))
+        for (const auto& j : nucleotides_.at(hxb2Position - begin_ + 1))
+            for (const auto& k : nucleotides_.at(hxb2Position - begin_ + 2))
+                result.push_back({{i, j, k}});
+    return result;
+}
+
+const std::unordered_map<int, std::string> ResistanceCaller::resistantCodon_ = {
+    {2253 + 3 * 23, "PI S"},
+    {2253 + 3 * 24, "PI + PI S"},
+    {2253 + 3 * 30, "PI S"},
+    {2253 + 3 * 32, "PI + PI S"},
+    {2253 + 3 * 46, "PI + PI S"},
+    {2253 + 3 * 47, "PI + PI S"},
+    {2253 + 3 * 48, "PI S"},
+    {2253 + 3 * 50, "PI + PI S"},
+    {2253 + 3 * 53, "PI S"},
+    {2253 + 3 * 54, "PI + PI S"},
+    {2253 + 3 * 73, "PI S"},
+    {2253 + 3 * 76, "PI + PI S"},
+    {2253 + 3 * 82, "PI + PI S"},
+    {2253 + 3 * 83, "PI S"},
+    {2253 + 3 * 84, "PI + PI S"},
+    {2253 + 3 * 85, "PI S"},
+    {2253 + 3 * 88, "PI + PI S"},
+    {2253 + 3 * 90, "PI + PI S"},
+    {2550 + 3 * 100, "NNRTI + NRTI S"},
+    {2550 + 3 * 101, "NNRTI + NRTI S"},
+    {2550 + 3 * 103, "NNRTI + NRTI S"},
+    {2550 + 3 * 106, "NNRTI + NRTI S"},
+    {2550 + 3 * 115, "NRTI + NNRTI S"},
+    {2550 + 3 * 116, "NNRTI S"},
+    {2550 + 3 * 138, "NNRTI"},
+    {2550 + 3 * 151, "NRTI + NNRTI S"},
+    {2550 + 3 * 179, "NNRTI + NRTI S"},
+    {2550 + 3 * 181, "NNRTI + NRTI S"},
+    {2550 + 3 * 184, "NRTI + NNRTI S"},
+    {2550 + 3 * 188, "NRTI S"},
+    {2550 + 3 * 190, "NNRTI"},
+    {2550 + 3 * 190, "NNRTI"},
+    {2550 + 3 * 190, "NRTI S"},
+    {2550 + 3 * 210, "NRTI + NNRTI S"},
+    {2550 + 3 * 215, "NRTI + NNRTI S"},
+    {2550 + 3 * 219, "NRTI + NNRTI S"},
+    {2550 + 3 * 225, "NRTI S"},
+    {2550 + 3 * 227, "NNRTI"},
+    {2550 + 3 * 230, "NNRTI + NRTI S"},
+    {2550 + 3 * 41, "NRTI + NNRTI S"},
+    {2550 + 3 * 65, "NRTI + NNRTI S"},
+    {2550 + 3 * 67, "NRTI + NNRTI S"},
+    {2550 + 3 * 69, "NRTI + NNRTI S"},
+    {2550 + 3 * 70, "NRTI + NNRTI S"},
+    {2550 + 3 * 70, "NRTI"},
+    {2550 + 3 * 74, "NRTI + NNRTI S"},
+    {2550 + 3 * 75, "NNRTI S"},
+    {2550 + 3 * 77, "NNRTI S"},
+    {4230 + 3 * 138, "INI"},
+    {4230 + 3 * 140, "INI"},
+    {4230 + 3 * 143, "INI"},
+    {4230 + 3 * 147, "INI"},
+    {4230 + 3 * 148, "INI"},
+    {4230 + 3 * 155, "INI"},
+    {4230 + 3 * 66, "INI"},
+    {4230 + 3 * 92, "INI"}};
+
+const std::unordered_map<std::string, char> ResistanceCaller::codonToAmino_ = {
+    {"ATT", 'I'}, {"ATC", 'I'}, {"ATA", 'I'}, {"CTT", 'L'}, {"CTC", 'L'}, {"CTA", 'L'},
+    {"CTG", 'L'}, {"TTA", 'L'}, {"TTG", 'L'}, {"GTT", 'V'}, {"GTC", 'V'}, {"GTA", 'V'},
+    {"GTG", 'V'}, {"TTT", 'F'}, {"TTC", 'F'}, {"ATG", 'M'}, {"TGT", 'C'}, {"TGC", 'C'},
+    {"GCT", 'A'}, {"GCC", 'A'}, {"GCA", 'A'}, {"GCG", 'A'}, {"GGT", 'G'}, {"GGC", 'G'},
+    {"GGA", 'G'}, {"GGG", 'G'}, {"CCT", 'P'}, {"CCC", 'P'}, {"CCA", 'P'}, {"CCG", 'P'},
+    {"ACT", 'T'}, {"ACC", 'T'}, {"ACA", 'T'}, {"ACG", 'T'}, {"TCT", 'S'}, {"TCC", 'S'},
+    {"TCA", 'S'}, {"TCG", 'S'}, {"AGT", 'S'}, {"AGC", 'S'}, {"TAT", 'Y'}, {"TAC", 'Y'},
+    {"TGG", 'W'}, {"CAA", 'Q'}, {"CAG", 'Q'}, {"AAT", 'N'}, {"AAC", 'N'}, {"CAT", 'H'},
+    {"CAC", 'H'}, {"GAA", 'E'}, {"GAG", 'E'}, {"GAT", 'D'}, {"GAC", 'D'}, {"AAA", 'K'},
+    {"AAG", 'K'}, {"CGT", 'R'}, {"CGC", 'R'}, {"CGA", 'R'}, {"CGG", 'R'}, {"AGA", 'R'},
+    {"AGG", 'R'}, {"TAA", 'X'}, {"TAG", 'X'}, {"TGA", 'X'}};
+
+const std::string ResistanceCaller::ref_ =
+    "TGGAAGGGCTAATTCACTCCCAACGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAG"
+    "AACTACACACCAGGGCCAGGGATCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGAGAAGTTAGA"
+    "AGAAGCCAACAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATGGAATGGATGACCCGGAGAGAGAAGTGTTAGAGT"
+    "GGAGGTTTGACAGCCGCCTAGCATTTCATCACATGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGC"
+    "TACAAGGGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATA"
+    "AGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTG"
+    "CTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAG"
+    "ACCCTTTTAGTCAGTGTGGAAAATCTCTAGCAGTGGCGCCCGAACAGGGACCTGAAAGCGAAAGGGAAACCAGAGGAGCTCTCTCG"
+    "ACGCAGGACTCGGCTTGCTGAAGCGCGCACGGCAAGAGGCGAGGGGCGGCGACTGGTGAGTACGCCAAAAATTTTGACTAGCGGAG"
+    "GCTAGAAGGAGAGAGATGGGTGCGAGAGCGTCAGTATTAAGCGGGGGAGAATTAGATCGATGGGAAAAAATTCGGTTAAGGCCAGG"
+    "GGGAAAGAAAAAATATAAATTAAAACATATAGTATGGGCAAGCAGGGAGCTAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAA"
+    "CATCAGAAGGCTGTAGACAAATACTGGGACAGCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAGATCATTATATAATACA"
+    "GTAGCAACCCTCTATTGTGTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGACAAGATAGAGGAAGAGCAAAACAA"
+    "AAGTAAGAAAAAAGCACAGCAAGCAGCAGCTGACACAGGACACAGCAATCAGGTCAGCCAAAATTACCCTATAGTGCAGAACATCC"
+    "AGGGGCAAATGGTACATCAGGCCATATCACCTAGAACTTTAAATGCATGGGTAAAAGTAGTAGAAGAGAAGGCTTTCAGCCCAGAA"
+    "GTGATACCCATGTTTTCAGCATTATCAGAAGGAGCCACCCCACAAGATTTAAACACCATGCTAAACACAGTGGGGGGACATCAAGC"
+    "AGCCATGCAAATGTTAAAAGAGACCATCAATGAGGAAGCTGCAGAATGGGATAGAGTGCATCCAGTGCATGCAGGGCCTATTGCAC"
+    "CAGGCCAGATGAGAGAACCAAGGGGAAGTGACATAGCAGGAACTACTAGTACCCTTCAGGAACAAATAGGATGGATGACAAATAAT"
+    "CCACCTATCCCAGTAGGAGAAATTTATAAAAGATGGATAATCCTGGGATTAAATAAAATAGTAAGAATGTATAGCCCTACCAGCAT"
+    "TCTGGACATAAGACAAGGACCAAAGGAACCCTTTAGAGACTATGTAGACCGGTTCTATAAAACTCTAAGAGCCGAGCAAGCTTCAC"
+    "AGGAGGTAAAAAATTGGATGACAGAAACCTTGTTGGTCCAAAATGCGAACCCAGATTGTAAGACTATTTTAAAAGCATTGGGACCA"
+    "GCGGCTACACTAGAAGAAATGATGACAGCATGTCAGGGAGTAGGAGGACCCGGCCATAAGGCAAGAGTTTTGGCTGAAGCAATGAG"
+    "CCAAGTAACAAATTCAGCTACCATAATGATGCAGAGAGGCAATTTTAGGAACCAAAGAAAGATTGTTAAGTGTTTCAATTGTGGCA"
+    "AAGAAGGGCACACAGCCAGAAATTGCAGGGCCCCTAGGAAAAAGGGCTGTTGGAAATGTGGAAAGGAAGGACACCAAATGAAAGAT"
+    "TGTACTGAGAGACAGGCTAATTTTTTAGGGAAGATCTGGCCTTCCTACAAGGGAAGGCCAGGGAATTTTCTTCAGAGCAGACCAGA"
+    "GCCAACAGCCCCACCAGAAGAGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGACAAGGAAC"
+    "TGTATCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAAAGATAGGGGGGCAACTAAAGGAAGCTCTAT"
+    "TAGATACAGGAGCAGATGATACAGTATTAGAAGAAATGAGTTTGCCAGGAAGATGGAAACCAAAAATGATAGGGGGAATTGGAGGT"
+    "TTTATCAAAGTAAGACAGTATGATCAGATACTCATAGAAATCTGTGGACATAAAGCTATAGGTACAGTATTAGTAGGACCTACACC"
+    "TGTCAACATAATTGGAAGAAATCTGTTGACTCAGATTGGTTGCACTTTAAATTTTCCCATTAGCCCTATTGAGACTGTACCAGTAA"
+    "AATTAAAGCCAGGAATGGATGGCCCAAAAGTTAAACAATGGCCATTGACAGAAGAAAAAATAAAAGCATTAGTAGAAATTTGTACA"
+    "GAGATGGAAAAGGAAGGGAAAATTTCAAAAATTGGGCCTGAAAATCCATACAATACTCCAGTATTTGCCATAAAGAAAAAAGACAG"
+    "TACTAAATGGAGAAAATTAGTAGATTTCAGAGAACTTAATAAGAGAACTCAAGACTTCTGGGAAGTTCAATTAGGAATACCACATC"
+    "CCGCAGGGTTAAAAAAGAAAAAATCAGTAACAGTACTGGATGTGGGTGATGCATATTTTTCAGTTCCCTTAGATGAAGACTTCAGG"
+    "AAGTATACTGCATTTACCATACCTAGTATAAACAATGAGACACCAGGGATTAGATATCAGTACAATGTGCTTCCACAGGGATGGAA"
+    "AGGATCACCAGCAATATTCCAAAGTAGCATGACAAAAATCTTAGAGCCTTTTAGAAAACAAAATCCAGACATAGTTATCTATCAAT"
+    "ACATGGATGATTTGTATGTAGGATCTGACTTAGAAATAGGGCAGCATAGAACAAAAATAGAGGAGCTGAGACAACATCTGTTGAGG"
+    "TGGGGACTTACCACACCAGACAAAAAACATCAGAAAGAACCTCCATTCCTTTGGATGGGTTATGAACTCCATCCTGATAAATGGAC"
+    "AGTACAGCCTATAGTGCTGCCAGAAAAAGACAGCTGGACTGTCAATGACATACAGAAGTTAGTGGGGAAATTGAATTGGGCAAGTC"
+    "AGATTTACCCAGGGATTAAAGTAAGGCAATTATGTAAACTCCTTAGAGGAACCAAAGCACTAACAGAAGTAATACCACTAACAGAA"
+    "GAAGCAGAGCTAGAACTGGCAGAAAACAGAGAGATTCTAAAAGAACCAGTACATGGAGTGTATTATGACCCATCAAAAGACTTAAT"
+    "AGCAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATG"
+    "CAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGG"
+    "GGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGATTCC"
+    "TGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCT"
+    "ATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTA"
+    "ACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAGAAGTAAACATAGTAACAGA"
+    "CTCACAATATGCATTAGGAATCATTCAAGCACAACCAGATCAAAGTGAATCAGAGTTAGTCAATCAAATAATAGAGCAGTTAATAA"
+    "AAAAGGAAAAGGTCTATCTGGCATGGGTACCAGCACACAAAGGAATTGGAGGAAATGAACAAGTAGATAAATTAGTCAGTGCTGGA"
+    "ATCAGGAAAGTACTATTTTTAGATGGAATAGATAAGGCCCAAGATGAACATGAGAAATATCACAGTAATTGGAGAGCAATGGCTAG"
+    "TGATTTTAACCTGCCACCTGTAGTAGCAAAAGAAATAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGAGAAGCCATGCATGGAC"
+    "AAGTAGACTGTAGTCCAGGAATATGGCAACTAGATTGTACACATTTAGAAGGAAAAGTTATCCTGGTAGCAGTTCATGTAGCCAGT"
+    "GGATATATAGAAGCAGAAGTTATTCCAGCAGAAACAGGGCAGGAAACAGCATATTTTCTTTTAAAATTAGCAGGAAGATGGCCAGT"
+    "AAAAACAATACATACTGACAATGGCAGCAATTTCACCGGTGCTACGGTTAGGGCCGCCTGTTGGTGGGCGGGAATCAAGCAGGAAT"
+    "TTGGAATTCCCTACAATCCCCAAAGTCAAGGAGTAGTAGAATCTATGAATAAAGAATTAAAGAAAATTATAGGACAGGTAAGAGAT"
+    "CAGGCTGAACATCTTAAGACAGCAGTACAAATGGCAGTATTCATCCACAATTTTAAAAGAAAAGGGGGGATTGGGGGGTACAGTGC"
+    "AGGGGAAAGAATAGTAGACATAATAGCAACAGACATACAAACTAAAGAATTACAAAAACAAATTACAAAAATTCAAAATTTTCGGG"
+    "TTTATTACAGGGACAGCAGAAATCCACTTTGGAAAGGACCAGCAAAGCTCCTCTGGAAAGGTGAAGGGGCAGTAGTAATACAAGAT"
+    "AATAGTGACATAAAAGTAGTGCCAAGAAGAAAAGCAAAGATCATTAGGGATTATGGAAAACAGATGGCAGGTGATGATTGTGTGGC"
+    "AAGTAGACAGGATGAGGATTAGAACATGGAAAAGTTTAGTAAAACACCATATGTATGTTTCAGGGAAAGCTAGGGGATGGTTTTAT"
+    "AGACATCACTATGAAAGCCCTCATCCAAGAATAAGTTCAGAAGTACACATCCCACTAGGGGATGCTAGATTGGTAATAACAACATA"
+    "TTGGGGTCTGCATACAGGAGAAAGAGACTGGCATTTGGGTCAGGGAGTCTCCATAGAATGGAGGAAAAAGAGATATAGCACACAAG"
+    "TAGACCCTGAACTAGCAGACCAACTAATTCATCTGTATTACTTTGACTGTTTTTCAGACTCTGCTATAAGAAAGGCCTTATTAGGA"
+    "CACATAGTTAGCCCTAGGTGTGAATATCAAGCAGGACATAACAAGGTAGGATCTCTACAATACTTGGCACTAGCAGCATTAATAAC"
+    "ACCAAAAAAGATAAAGCCACCTTTGCCTAGTGTTACGAAACTGACAGAGGATAGATGGAACAAGCCCCAGAAGACCAAGGGCCACA"
+    "GAGGGAGCCACACAATGAATGGACACTAGAGCTTTTAGAGGAGCTTAAGAATGAAGCTGTTAGACATTTTCCTAGGATTTGGCTCC"
+    "ATGGCTTAGGGCAACATATCTATGAAACTTATGGGGATACTTGGGCAGGAGTGGAAGCCATAATAAGAATTCTGCAACAACTGCTG"
+    "TTTATCCATTTTCAGAATTGGGTGTCGACATAGCAGAATAGGCGTTACTCGACAGAGGAGAGCAAGAAATGGAGCCAGTAGATCCT"
+    "AGACTAGAGCCCTGGAAGCATCCAGGAAGTCAGCCTAAAACTGCTTGTACCAATTGCTATTGTAAAAAGTGTTGCTTTCATTGCCA"
+    "AGTTTGTTTCATAACAAAAGCCTTAGGCATCTCCTATGGCAGGAAGAAGCGGAGACAGCGACGAAGAGCTCATCAGAACAGTCAGA"
+    "CTCATCAAGCTTCTCTATCAAAGCAGTAAGTAGTACATGTAACGCAACCTATACCAATAGTAGCAATAGTAGCATTAGTAGTAGCA"
+    "ATAATAATAGCAATAGTTGTGTGGTCCATAGTAATCATAGAATATAGGAAAATATTAAGACAAAGAAAAATAGACAGGTTAATTGA"
+    "TAGACTAATAGAAAGAGCAGAAGACAGTGGCAATGAGAGTGAAGGAGAAATATCAGCACTTGTGGAGATGGGGGTGGAGATGGGGC"
+    "ACCATGCTCCTTGGGATGTTGATGATCTGTAGTGCTACAGAAAAATTGTGGGTCACAGTCTATTATGGGGTACCTGTGTGGAAGGA"
+    "AGCAACCACCACTCTATTTTGTGCATCAGATGCTAAAGCATATGATACAGAGGTACATAATGTTTGGGCCACACATGCCTGTGTAC"
+    "CCACAGACCCCAACCCACAAGAAGTAGTATTGGTAAATGTGACAGAAAATTTTAACATGTGGAAAAATGACATGGTAGAACAGATG"
+    "CATGAGGATATAATCAGTTTATGGGATCAAAGCCTAAAGCCATGTGTAAAATTAACCCCACTCTGTGTTAGTTTAAAGTGCACTGA"
+    "TTTGAAGAATGATACTAATACCAATAGTAGTAGCGGGAGAATGATAATGGAGAAAGGAGAGATAAAAAACTGCTCTTTCAATATCA"
+    "GCACAAGCATAAGAGGTAAGGTGCAGAAAGAATATGCATTTTTTTATAAACTTGATATAATACCAATAGATAATGATACTACCAGC"
+    "TATAAGTTGACAAGTTGTAACACCTCAGTCATTACACAGGCCTGTCCAAAGGTATCCTTTGAGCCAATTCCCATACATTATTGTGC"
+    "CCCGGCTGGTTTTGCGATTCTAAAATGTAATAATAAGACGTTCAATGGAACAGGACCATGTACAAATGTCAGCACAGTACAATGTA"
+    "CACATGGAATTAGGCCAGTAGTATCAACTCAACTGCTGTTAAATGGCAGTCTAGCAGAAGAAGAGGTAGTAATTAGATCTGTCAAT"
+    "TTCACGGACAATGCTAAAACCATAATAGTACAGCTGAACACATCTGTAGAAATTAATTGTACAAGACCCAACAACAATACAAGAAA"
+    "AAGAATCCGTATCCAGAGAGGACCAGGGAGAGCATTTGTTACAATAGGAAAAATAGGAAATATGAGACAAGCACATTGTAACATTA"
+    "GTAGAGCAAAATGGAATAACACTTTAAAACAGATAGCTAGCAAATTAAGAGAACAATTTGGAAATAATAAAACAATAATCTTTAAG"
+    "CAATCCTCAGGAGGGGACCCAGAAATTGTAACGCACAGTTTTAATTGTGGAGGGGAATTTTTCTACTGTAATTCAACACAACTGTT"
+    "TAATAGTACTTGGTTTAATAGTACTTGGAGTACTGAAGGGTCAAATAACACTGAAGGAAGTGACACAATCACCCTCCCATGCAGAA"
+    "TAAAACAAATTATAAACATGTGGCAGAAAGTAGGAAAAGCAATGTATGCCCCTCCCATCAGTGGACAAATTAGATGTTCATCAAAT"
+    "ATTACAGGGCTGCTATTAACAAGAGATGGTGGTAATAGCAACAATGAGTCCGAGATCTTCAGACCTGGAGGAGGAGATATGAGGGA"
+    "CAATTGGAGAAGTGAATTATATAAATATAAAGTAGTAAAAATTGAACCATTAGGAGTAGCACCCACCAAGGCAAAGAGAAGAGTGG"
+    "TGCAGAGAGAAAAAAGAGCAGTGGGAATAGGAGCTTTGTTCCTTGGGTTCTTGGGAGCAGCAGGAAGCACTATGGGCGCAGCCTCA"
+    "ATGACGCTGACGGTACAGGCCAGACAATTATTGTCTGGTATAGTGCAGCAGCAGAACAATTTGCTGAGGGCTATTGAGGCGCAACA"
+    "GCATCTGTTGCAACTCACAGTCTGGGGCATCAAGCAGCTCCAGGCAAGAATCCTGGCTGTGGAAAGATACCTAAAGGATCAACAGC"
+    "TCCTGGGGATTTGGGGTTGCTCTGGAAAACTCATTTGCACCACTGCTGTGCCTTGGAATGCTAGTTGGAGTAATAAATCTCTGGAA"
+    "CAGATTTGGAATCACACGACCTGGATGGAGTGGGACAGAGAAATTAACAATTACACAAGCTTAATACACTCCTTAATTGAAGAATC"
+    "GCAAAACCAGCAAGAAAAGAATGAACAAGAATTATTGGAATTAGATAAATGGGCAAGTTTGTGGAATTGGTTTAACATAACAAATT"
+    "GGCTGTGGTATATAAAATTATTCATAATGATAGTAGGAGGCTTGGTAGGTTTAAGAATAGTTTTTGCTGTACTTTCTATAGTGAAT"
+    "AGAGTTAGGCAGGGATATTCACCATTATCGTTTCAGACCCACCTCCCAACCCCGAGGGGACCCGACAGGCCCGAAGGAATAGAAGA"
+    "AGAAGGTGGAGAGAGAGACAGAGACAGATCCATTCGATTAGTGAACGGATCCTTGGCACTTATCTGGGACGATCTGCGGAGCCTGT"
+    "GCCTCTTCAGCTACCACCGCTTGAGAGACTTACTCTTGATTGTAACGAGGATTGTGGAACTTCTGGGACGCAGGGGGTGGGAAGCC"
+    "CTCAAATATTGGTGGAATCTCCTACAGTATTGGAGTCAGGAACTAAAGAATAGTGCTGTTAGCTTGCTCAATGCCACAGCCATAGC"
+    "AGTAGCTGAGGGGACAGATAGGGTTATAGAAGTAGTACAAGGAGCTTGTAGAGCTATTCGCCACATACCTAGAAGAATAAGACAGG"
+    "GCTTGGAAAGGATTTTGCTATAAGATGGGTGGCAAGTGGTCAAAAAGTAGTGTGATTGGATGGCCTACTGTAAGGGAAAGAATGAG"
+    "ACGAGCTGAGCCAGCAGCAGATAGGGTGGGAGCAGCATCTCGAGACCTGGAAAAACATGGAGCAATCACAAGTAGCAATACAGCAG"
+    "CTACCAATGCTGCTTGTGCCTGGCTAGAAGCACAAGAGGAGGAGGAGGTGGGTTTTCCAGTCACACCTCAGGTACCTTTAAGACCA"
+    "ATGACTTACAAGGCAGCTGTAGATCTTAGCCACTTTTTAAAAGAAAAGGGGGGACTGGAAGGGCTAATTCACTCCCAAAGAAGACA"
+    "AGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGGTCAGATATC"
+    "CACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGATAAGATAGAAGAGGCCAATAAAGGAGAGAACACCAGCTTG"
+    "TTACACCCTGTGAGCCTGCATGGGATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCA"
+    "CGTGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGGGACTTTCCAG"
+    "GGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCT"
+    "CTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGC"
+    "TTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGC"
+    "A";
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/src/SimdAlignment.cpp b/src/SimdAlignment.cpp
new file mode 100644
index 0000000..c4e80b8
--- /dev/null
+++ b/src/SimdAlignment.cpp
@@ -0,0 +1,122 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <cassert>
+#include <fstream>
+#include <stdexcept>
+
+#include <ssw_cpp.h>
+
+#include <pbbam/Cigar.h>
+
+#include <pacbio/align/SimdAlignment.h>
+
+namespace PacBio {
+namespace Align {
+PariwiseAlignmentFasta SimdNeedleWunschAlignment(const std::string& target,
+                                                 const std::string& query)
+{
+    StripedSmithWaterman::Aligner aligner;
+    StripedSmithWaterman::Filter filter;
+    StripedSmithWaterman::Alignment alignment;
+    aligner.Align(query.c_str(), target.c_str(), target.size(), filter, &alignment);
+
+    size_t qryPos = 0;
+    size_t tgtPos = 0;
+
+    std::string refAlign;
+    std::string qryAlign;
+    std::string transcript;
+
+    for (int i = 0; i < alignment.ref_begin; ++i) {
+        refAlign += target.at(tgtPos++);
+        qryAlign += "-";
+        transcript += "P";
+    }
+    for (const auto& c : BAM::Cigar::FromStdString(alignment.cigar_string)) {
+        for (size_t i = 0; i < c.Length(); ++i) {
+            transcript += c.Char();
+
+            switch (c.Char()) {
+                case '=':
+                    assert(target.at(tgtPos) == query.at(qryPos));
+                case 'M':
+                case 'X':
+                    refAlign += target.at(tgtPos++);
+                    qryAlign += query.at(qryPos++);
+                    break;
+                case 'D':
+                    refAlign += target.at(tgtPos++);
+                    qryAlign += "-";
+                    break;
+                case 'I':
+                case 'S':
+                    refAlign += "-";
+                    qryAlign += query.at(qryPos++);
+                    break;
+                case 'H':
+                    throw std::runtime_error("H");
+                default:
+                    throw std::runtime_error("unknown");
+                    break;
+            }
+        }
+    }
+
+    while (tgtPos < target.size()) {
+        refAlign += target.at(tgtPos++);
+        qryAlign += "-";
+        transcript += "P";
+    }
+
+    PariwiseAlignmentFasta result;
+    result.Target = std::move(refAlign);
+    result.Query = std::move(qryAlign);
+    result.Transcript = std::move(transcript);
+
+    assert(refAlign.size() == qryAlign.size());
+
+    // std::ofstream out("out.msa");
+    // out << ">ref" << std::endl
+    //     << refAlign << std::endl
+    //     << ">target" << std::endl
+    //     << qryAlign << std::endl;
+    // out.flush();
+    return result;
+}
+}
+}  // namespace PacBio::Align
diff --git a/src/TargetConfig.cpp b/src/TargetConfig.cpp
new file mode 100644
index 0000000..996447d
--- /dev/null
+++ b/src/TargetConfig.cpp
@@ -0,0 +1,166 @@
+// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <exception>
+#include <fstream>
+#include <iostream>
+#include <streambuf>
+#include <string>
+
+#include <pacbio/io/Utility.h>
+#include <pacbio/juliet/TargetConfig.h>
+
+namespace PacBio {
+namespace Juliet {
+JSON::Json DRM::ToJson() const
+{
+    JSON::Json root;
+    root["name"] = name;
+    root["positions"] = positions;
+    return root;
+}
+
+TargetGene::TargetGene(const int begin, const int end, const std::string& name,
+                       const std::vector<DRM>& drms)
+    : begin(begin), end(end), name(name), drms(drms)
+{
+}
+
+JSON::Json TargetGene::ToJson() const
+{
+    JSON::Json root;
+    root["begin"] = begin;
+    root["end"] = end;
+    root["name"] = name;
+    std::vector<JSON::Json> drmJson;
+    for (const auto& d : drms)
+        drmJson.emplace_back(d.ToJson());
+    root["drms"] = drmJson;
+    return root;
+}
+
+JSON::Json TargetGene::ToJson(const std::vector<TargetGene>& genes)
+{
+    JSON::Json root;
+    std::vector<JSON::Json> genesJson;
+    for (const auto& g : genes)
+        genesJson.emplace_back(g.ToJson());
+    root["genes"] = genesJson;
+    return root;
+}
+
+TargetConfig::TargetConfig(const std::string& input)
+{
+    const auto inputString = DetermineConfigInput(input);
+    if (!inputString.empty()) {
+        const auto inputJson = JSON::Json::parse(inputString);
+        this->targetGenes = TargetConfig::TargetGenesFromJson(inputJson);
+        this->referenceSequence = TargetConfig::ReferenceSequenceFromJson(inputJson);
+    }
+}
+
+std::string TargetConfig::DetermineConfigInput(const std::string& input)
+{
+    if (input.size() == 0) return "";
+
+    std::string output;
+    if (input.at(0) == '<' && input.at(input.size() - 1) == '>') {
+        const std::string key = input.substr(1, input.size() - 2);
+        if (predefinedConfigs_.find(key) == predefinedConfigs_.end())
+            throw std::runtime_error("Predefined Target Config key " + key + " is undefined");
+        output = predefinedConfigs_.at(key);
+    } else if (input.at(0) == '{') {
+        output = input;
+    } else if (IO::FileExists(input)) {
+        std::ifstream t(input);
+        output = std::string((std::istreambuf_iterator<char>(t)), std::istreambuf_iterator<char>());
+    }
+
+    if (output.empty())
+        std::cerr
+            << "Warning: Empty target config -c, specified region will be treated as coding region"
+            << std::endl;
+    return output;
+}
+
+std::string TargetConfig::ReferenceSequenceFromJson(const JSON::Json& root)
+{
+    if (root.empty() || root.find("referenceSequence") == root.cend() ||
+        root["referenceSequence"].empty())
+        return "";
+    else
+        return root["referenceSequence"];
+}
+std::vector<TargetGene> TargetConfig::TargetGenesFromJson(const JSON::Json& root)
+{
+    std::vector<TargetGene> genes;
+    if (root.empty() || root.find("genes") == root.cend() || root["genes"].empty()) return genes;
+    for (const auto& jGene : root["genes"]) {
+        TargetGene g;
+        if (jGene.find("name") == jGene.cend()) throw std::runtime_error("Missing name in gene.");
+        g.name = jGene["name"];
+        if (jGene.find("begin") == jGene.cend()) throw std::runtime_error("Missing begin in gene.");
+        g.begin = jGene["begin"];
+        if (jGene.find("end") == jGene.cend()) throw std::runtime_error("Missing end in gene.");
+        g.end = jGene["end"];
+        std::vector<DRM> drms;
+        if (jGene.find("drms") != jGene.cend()) {
+            for (const auto& jDrm : jGene["drms"]) {
+                DRM drm;
+                if (jDrm.find("name") == jDrm.cend())
+                    throw std::runtime_error("Missing name in drm in gene " + g.name);
+                drm.name = jDrm["name"];
+                if (jDrm.find("positions") == jDrm.cend())
+                    throw std::runtime_error("Missing positions in drm in gene " + g.name);
+                if (jDrm["positions"].empty())
+                    throw std::runtime_error("Empty positions in drm in gene " + g.name);
+                for (const int p : jDrm["positions"])
+                    drm.positions.emplace_back(p);
+                drms.emplace_back(std::move(drm));
+            }
+        }
+        g.drms = std::move(drms);
+        genes.emplace_back(std::move(g));
+    }
+    return genes;
+}
+
+std::unordered_map<std::string, std::string> TargetConfig::predefinedConfigs_ = {
+    {"HIV",
+     R"({"genes":[{"begin":2253,"drms":[{"name":"PI","positions":[24,32,46,47,50,54,76,82,84,88,90]},{"name":"PI S","positions":[23,24,30,32,46,47,48,50,53,54,73,76,82,83,84,85,88,90]}],"end":2550,"name":"Protease"},{"begin":2550,"drms":[{"name":"NNRTI","positions":[100,101,103,106,138,179,181,190,190,227,230]},{"name":"NNRTI S","positions":[65,67,69,70,74,75,77,115,116,141,151,184,210,215,219]},{"name":"NRTI","positions":[100,101,103,106,179,181,188,190,225,230]},{"name":"NRTI S","posit [...]
+}
+}  // ::PacBio::Juliet
\ No newline at end of file
diff --git a/src/Tests.cpp b/src/Tests.cpp
new file mode 100644
index 0000000..b94c602
--- /dev/null
+++ b/src/Tests.cpp
@@ -0,0 +1,126 @@
+// Copyright (c) 2011-2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <algorithm>
+#include <array>
+#include <cassert>
+#include <map>
+#include <numeric>
+#include <string>
+
+#include <pacbio/statistics/Tests.h>
+
+namespace PacBio {
+namespace Statistics {
+std::map<std::string, double> Tests::FisherCCS(const std::array<int, 5>& observed,
+                                               const std::map<std::string, int> insertions)
+{
+    int argMax = 0;
+    double sum = 0;
+    const auto pml = CalculatePml(observed, &argMax, &sum);
+
+    std::map<std::string, double> results;
+    for (const auto& kv : insertions) {
+        const double p = Fisher::fisher_exact_tiss(kv.second + 1, sum, 0.0084 / 4.0 * sum, sum);
+        if (p < alpha) results.insert({kv.first, p});
+    }
+
+    return results;
+}
+
+Data::FisherResult Tests::FisherCCS(const std::array<int, 5>& observed)
+{
+    int argMax = 0;
+    double sum = 0;
+    const auto pml = CalculatePml(observed, &argMax, &sum);
+    const auto pMatch = CalculatePriors(argMax);
+
+    auto fisherCCS = [&observed, &pMatch, &pml, &sum](int i) {
+        constexpr double bonferroni = 3200 * 4;
+        double result =
+            Fisher::fisher_exact_tiss((pml[i] * sum), (sum), (pMatch[i] * sum), (sum)) * bonferroni;
+        if (result > 1) return 1.0;
+        return result;
+    };
+
+    Data::FisherResult fr;
+    fr.pValues = {{fisherCCS(0), fisherCCS(1), fisherCCS(2), fisherCCS(3), fisherCCS(4)}};
+    for (int i = 0; i < 5; ++i) {
+        if (fr.pValues.at(i) < alpha && observed.at(i) > 1) {
+            if (i != argMax) fr.hit = true;
+            fr.mask[i] = 1;
+        }
+        // else if (i == argMax)
+        //     fr.mask[i] = 1;
+        else
+            fr.mask[i] = 0;
+    }
+    fr.argMax = argMax;
+    return fr;
+}
+
+std::array<double, 5> Tests::CalculatePml(const std::array<int, 5>& observed, int* argMax,
+                                          double* sum)
+{
+    std::array<double, 5> pml;
+    std::copy_n(observed.cbegin(), 5, pml.begin());
+
+    // +1 each entry
+    std::for_each(pml.begin(), pml.end(), [](double& p) { ++p; });
+
+    *argMax = std::distance(pml.cbegin(), std::max_element(pml.cbegin(), pml.cend()));
+    *sum = std::accumulate(pml.cbegin(), pml.cend(), 0.0);
+
+    // normalize
+    std::for_each(pml.begin(), pml.end(), [&sum](double& p) { p /= (*sum); });
+    return pml;
+}
+
+std::array<double, 5> Tests::CalculatePriors(const int argMax)
+{
+    assert(argMax >= 0 && argMax <= 5);
+
+    std::array<double, 5> pMatch{{0.0005, 0.0005, 0.0005, 0.0005, 0.0029}};
+    pMatch[argMax] = 0.9872;
+    double pMatchSum = pMatch[0] + pMatch[1] + pMatch[2] + pMatch[3] + pMatch[4];
+    for (auto& p : pMatch)
+        p /= pMatchSum;
+
+    return pMatch;
+}
+}
+}  // ::PacBio::Statistics
\ No newline at end of file
diff --git a/src/Timer.cpp b/src/Timer.cpp
index f4e2d06..f30bdba 100644
--- a/src/Timer.cpp
+++ b/src/Timer.cpp
@@ -33,9 +33,10 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Lance Hepler, Armin Töpfer
 
 #include <chrono>
+#include <sstream>
 
 #include <pacbio/util/Timer.h>
 
@@ -55,6 +56,29 @@ float Timer::ElapsedMilliseconds() const
 
 float Timer::ElapsedSeconds() const { return ElapsedMilliseconds() / 1000; }
 
+std::string Timer::ElapsedTime() const
+{
+    auto tock = steady_clock::now();
+    auto t = std::chrono::duration_cast<std::chrono::nanoseconds>(tock - tick).count();
+
+    auto d = t / 10000 / 1000 / 1000 / 60 / 60 / 24;
+    auto h = (t / 1000 / 1000 / 1000 / 60 / 60) % 24;
+    auto m = (t / 1000 / 1000 / 1000 / 60) % 60;
+    auto s = (t / 1000 / 1000 / 1000) % 60;
+    auto ms = (t / 1000 / 1000) % 1000;
+    auto us = (t / 1000) % 1000;
+    auto ns = t % 1000;
+    std::stringstream ss;
+    if (d > 0) ss << d << "d ";
+    if (h > 0) ss << h << "h ";
+    if (m > 0) ss << m << "m ";
+    if (s > 0) ss << s << "s ";
+    if (ms > 0) ss << ms << "ms ";
+    if (us > 0) ss << us << "us ";
+    if (ns > 0) ss << ns << "ns ";
+    return ss.str();
+}
+
 void Timer::Restart() { tick = steady_clock::now(); }
 
 }  // namespace Util
diff --git a/src/Utility.cpp b/src/Utility.cpp
index 7475653..f0d35e3 100644
--- a/src/Utility.cpp
+++ b/src/Utility.cpp
@@ -90,6 +90,23 @@ string FileExtension(const string& path)
     return suffix;
 }
 
+string FilePrefix(const string& path)
+{
+    size_t fileStart = path.find_last_of("/");
+
+    if (fileStart == string::npos) fileStart = -1;
+
+    // increment beyond the '/'
+    ++fileStart;
+
+    size_t extStart = path.substr(fileStart, path.length() - fileStart).find_first_of(".");
+
+    if (extStart == string::npos) return "";
+
+    auto suffix = path.substr(fileStart, extStart);
+    return suffix;
+}
+
 void FlattenFofn(vector<string>& res, const string& file)
 {
     using boost::algorithm::iends_with;
diff --git a/src/main/cleric.cpp b/src/main/cleric.cpp
new file mode 100644
index 0000000..a7dc122
--- /dev/null
+++ b/src/main/cleric.cpp
@@ -0,0 +1,141 @@
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Armin Töpfer
+
+#include <exception>
+#include <iostream>
+#include <stdexcept>
+#include <string>
+#include <vector>
+
+#include <pbcopper/cli/CLI.h>
+
+#include <pbbam/BamReader.h>
+#include <pbbam/FastaReader.h>
+
+#include <pacbio/io/Utility.h>
+#include <pacbio/realign/Cleric.h>
+#include <pacbio/realign/ClericSettings.h>
+
+namespace {
+using namespace PacBio::Realign;
+
+static void ParseInputFiles(const std::vector<std::string>& inputs, std::string* bamPath,
+                            std::string* fromReference, std::string* fromReferenceName,
+                            std::string* toReference, std::string* toReferenceName)
+{
+    using namespace PacBio::BAM;
+    std::vector<std::string> fastaPaths;
+    for (const auto& i : inputs) {
+        try {
+            BamReader reader(i);
+            if (!bamPath->empty()) throw std::runtime_error("Only one BAM input is allowed!");
+            *bamPath = i;
+            if (reader.Header().Sequences().empty())
+                throw std::runtime_error("Could not find reference sequence name");
+            *fromReferenceName = reader.Header().Sequences().begin()->Name();
+        } catch (...) {
+            // If this is trigerred, the input file is not a BAM file.
+            fastaPaths.push_back(i);
+        }
+    }
+
+    for (const auto& fasta : fastaPaths) {
+        FastaReader msaReader(fasta);
+
+        FastaSequence f;
+        while (msaReader.GetNext(f)) {
+            if (f.Name() == *fromReferenceName) {
+                if (fromReference->empty()) {
+                    *fromReference = f.Bases();
+                    std::transform(fromReference->begin(), fromReference->end(),
+                                   fromReference->begin(), ::toupper);
+                } else
+                    throw std::runtime_error("Multiple original references provided!");
+            } else if (toReference->empty()) {
+                *toReference = f.Bases();
+                std::transform(toReference->begin(), toReference->end(), toReference->begin(),
+                               ::toupper);
+                *toReferenceName = f.Name();
+            } else {
+                throw std::runtime_error("Multiple target references provided!");
+            }
+        }
+    }
+}
+
+static int Runner(const PacBio::CLI::Results& options)
+{
+    // Check args size, as pbcopper does not enforce the correct number
+    if (options.PositionalArguments().empty()) {
+        std::cerr << "ERROR: Please provide BAM input, see --help" << std::endl;
+        return EXIT_FAILURE;
+    }
+    if (options.PositionalArguments().size() >= 4) {
+        std::cerr
+            << "ERROR: Please provide _one_ BAM input and maximal _two_ FASTA files, see --help"
+            << std::endl;
+        return EXIT_FAILURE;
+    }
+
+    // Parse options
+    ClericSettings settings(options);
+
+    std::string bamPath;
+    std::string fromReference;
+    std::string fromReferenceName;
+    std::string toReference;
+    std::string toReferenceName;
+    ParseInputFiles(settings.InputFiles, &bamPath, &fromReference, &fromReferenceName, &toReference,
+                    &toReferenceName);
+
+    std::string output;
+    if (settings.OutputPrefix.empty())
+        output = PacBio::IO::FilePrefix(bamPath) + "_cleric.bam";
+    else
+        output = settings.OutputPrefix + ".bam";
+
+    Cleric cleric(bamPath, output, fromReference, fromReferenceName, toReference, toReferenceName);
+
+    return EXIT_SUCCESS;
+}
+};
+
+// Entry point
+int main(int argc, char* argv[])
+{
+    return PacBio::CLI::Run(argc, argv, ClericSettings::CreateCLI(), &Runner);
+}
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/src/main/fuse.cpp
similarity index 55%
copy from include/pacbio/io/Utility.h
copy to src/main/fuse.cpp
index 3f86739..a3dac95 100644
--- a/include/pacbio/io/Utility.h
+++ b/src/main/fuse.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,53 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
-#pragma once
-
-#include <memory>
+#include <exception>
+#include <fstream>
+#include <iostream>
 #include <string>
 #include <vector>
 
-#include <pbbam/DataSet.h>
-
-namespace PacBio {
-namespace IO {
+#include <pbcopper/cli/CLI.h>
 
-std::string AbsolutePath(const std::string& path);
+#include <pacbio/io/Utility.h>
+#include <pacbio/realign/Fuse.h>
+#include <pacbio/realign/FuseSettings.h>
 
-bool FileExists(const std::string& path);
+namespace {
+using namespace PacBio::Realign;
 
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+static int Runner(const PacBio::CLI::Results& options)
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+    // Check args size, as pbcopper does not enforce the correct number
+    if (options.PositionalArguments().empty()) {
+        std::cerr << "ERROR: Please provide BAM input, see --help" << std::endl;
+        return EXIT_FAILURE;
+    }
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+    // Parse options
+    FuseSettings settings(options);
+    // if (settings.OutputPrefix)
+    for (const auto& input : options.PositionalArguments()) {
+        Fuse fuse(input);
+        std::string outputFileName = PacBio::IO::FilePrefix(input) + ".cons";
+        if (!settings.OutputPrefix.empty()) {
+            std::string infix;
+            if (settings.OutputPrefix.back() != '/') infix = '_';
+            outputFileName = settings.OutputPrefix + infix + outputFileName;
+        }
+        std::ofstream outputFile(outputFileName);
+        outputFile << ">CONSENSUS" << std::endl;
+        outputFile << fuse.ConsensusSequence() << std::endl;
+    }
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
-
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+    return EXIT_SUCCESS;
+}
+};
 
-}  // namespace IO
-}  // namespace PacBio
+// Entry point
+int main(int argc, char* argv[])
+{
+    return PacBio::CLI::Run(argc, argv, FuseSettings::CreateCLI(), &Runner);
+}
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/src/main/juliet.cpp
similarity index 66%
copy from include/pacbio/io/Utility.h
copy to src/main/juliet.cpp
index 3f86739..d4099db 100644
--- a/include/pacbio/io/Utility.h
+++ b/src/main/juliet.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2016, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,40 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
+// Author: Armin Töpfer
 
-#pragma once
-
-#include <memory>
+#include <exception>
+#include <iostream>
 #include <string>
 #include <vector>
 
-#include <pbbam/DataSet.h>
-
-namespace PacBio {
-namespace IO {
+#include <pbcopper/cli/CLI.h>
 
-std::string AbsolutePath(const std::string& path);
+#include <pacbio/juliet/JulietSettings.h>
+#include <pacbio/juliet/JulietWorkflow.h>
 
-bool FileExists(const std::string& path);
+namespace {
+using namespace PacBio::Juliet;
 
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+static int Runner(const PacBio::CLI::Results& options)
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
+    // Check args size, as pbcopper does not enforce the correct number
+    if (options.PositionalArguments().empty()) {
+        std::cerr << "ERROR: Please provide BAM input, see --help" << std::endl;
+        return EXIT_FAILURE;
+    }
 
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+    // Parse options
+    JulietSettings settings(options);
+    JulietWorkflow workflow;
+    workflow.Run(settings);
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
-
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+    return EXIT_SUCCESS;
+}
+};
 
-}  // namespace IO
-}  // namespace PacBio
+// Entry point
+int main(int argc, char* argv[])
+{
+    return PacBio::CLI::Run(argc, argv, JulietSettings::CreateCLI(), &Runner);
+}
\ No newline at end of file
diff --git a/include/pacbio/io/Utility.h b/src/models/CounterWeight.h
similarity index 56%
copy from include/pacbio/io/Utility.h
copy to src/models/CounterWeight.h
index 3f86739..75d9df4 100644
--- a/include/pacbio/io/Utility.h
+++ b/src/models/CounterWeight.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2015, Pacific Biosciences of California, Inc.
+// Copyright (c) 2011-2017, Pacific Biosciences of California, Inc.
 //
 // All rights reserved.
 //
@@ -33,41 +33,42 @@
 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 // SUCH DAMAGE.
 
-// Author: Lance Hepler
-
 #pragma once
 
-#include <memory>
-#include <string>
-#include <vector>
+#include <cmath>
+#include <functional>
 
-#include <pbbam/DataSet.h>
+#include <pacbio/consensus/ModelConfig.h>
 
 namespace PacBio {
-namespace IO {
-
-std::string AbsolutePath(const std::string& path);
-
-bool FileExists(const std::string& path);
+namespace Consensus {
+namespace {
 
-std::string FileExtension(const std::string& path);
-
-struct SnrInfo
+inline double CounterWeight(std::function<double(size_t, MoveType)>&& lgPrTransition,
+                            std::function<double(size_t, MoveType)>&& lgPrEmission,
+                            const size_t nContexts)
 {
-    const float A;
-    const float C;
-    const float G;
-    const float T;
-
-    SnrInfo(float a, float c, float g, float t) : A(a), C(c), G(g), T(t) {}
-    // comes in TGAC from the instrument, usually
-    SnrInfo(float* snr) : SnrInfo(snr[2], snr[3], snr[1], snr[0]) {}
-    float Min() const { return std::min(std::min(A, C), std::min(G, T)); }
-};
+    double meanPrEm = 0.0;
+    for (size_t ctx = 0; ctx < nContexts; ++ctx) {
+        const double pr_M = lgPrTransition(ctx, MoveType::MATCH);
+        const double pr_B = lgPrTransition(ctx, MoveType::BRANCH);
+        const double pr_S = lgPrTransition(ctx, MoveType::STICK);
+        const double pr_D = lgPrTransition(ctx, MoveType::DELETION);
 
-std::vector<std::string> FlattenFofn(const std::vector<std::string>& files);
+        const double lgPr_EM = lgPrEmission(ctx, MoveType::MATCH);
+        const double lgPr_EB = lgPrEmission(ctx, MoveType::BRANCH);
+        const double lgPr_ES = lgPrEmission(ctx, MoveType::STICK);
+        const double lgPr_ED = 0.0;  // nothing to emit
 
-bool ValidBaseFeatures(const PacBio::BAM::DataSet& ds);
+        const double E_MD = lgPr_EM * pr_M / (pr_M + pr_D) + lgPr_ED * pr_D / (pr_M + pr_D);
+        const double E_BS = lgPr_EB * pr_B / (pr_B + pr_S) + lgPr_ES * pr_S / (pr_B + pr_S);
+        const double E_I = E_BS * (pr_B + pr_S) / (pr_M + pr_D);
 
-}  // namespace IO
-}  // namespace PacBio
+        meanPrEm += std::exp(E_I + E_MD);
+    }
+    meanPrEm /= nContexts;
+    return 1.0 / meanPrEm;
+}
+}
+}
+}
diff --git a/src/models/MarginalModelForm.cpp b/src/models/MarginalModelForm.cpp
index 896a20c..633ec6e 100644
--- a/src/models/MarginalModelForm.cpp
+++ b/src/models/MarginalModelForm.cpp
@@ -48,6 +48,7 @@
 #include "../ModelFactory.h"
 #include "../ModelFormFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -75,14 +76,13 @@ public:
 
 private:
     const MarginalModelCreator* params_;
-    double counterWeight_;
 };
 
 class MarginalRecursor : public Recursor<MarginalRecursor>
 {
 public:
     MarginalRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                     double scoreDiff, const MarginalModelCreator* params, double counterWeight);
+                     double scoreDiff, double counterWeight, const MarginalModelCreator* params);
 
     static std::vector<uint8_t> EncodeRead(const MappedRead& read);
     double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
@@ -111,22 +111,34 @@ public:
 private:
     double emissionPmf_[3][CONTEXT_NUMBER][OUTCOME_NUMBER];
     double transitionPmf_[CONTEXT_NUMBER][4];
-    double counterWeight_;
 };
 
 REGISTER_MODELFORM_IMPL(MarginalModelCreator);
 
 MarginalModel::MarginalModel(const MarginalModelCreator* params, const SNR& snr) : params_{params}
 {
-    counterWeight_ = params_->counterWeight_;
 }
 
 std::unique_ptr<AbstractRecursor> MarginalModel::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) {
+            return params_->transitionPmf_[ctx][static_cast<uint8_t>(m)];
+        },
+        [this](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < OUTCOME_NUMBER; ++o) {
+                const double p = params_->emissionPmf_[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        CONTEXT_NUMBER);
+
     return std::unique_ptr<AbstractRecursor>(
         new MarginalRecursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff,
-                             params_, counterWeight_));
+                             counterWeight, params_));
 }
 
 std::vector<TemplatePosition> MarginalModel::Populate(const std::string& tpl) const
@@ -177,8 +189,8 @@ double MarginalModel::ExpectedLLForEmission(const MoveType move, const uint8_t p
 }
 
 MarginalRecursor::MarginalRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                                   double scoreDiff, const MarginalModelCreator* params,
-                                   double counterWeight)
+                                   double scoreDiff, double counterWeight,
+                                   const MarginalModelCreator* params)
     : Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff)
     , params_{params}
     , counterWeight_{counterWeight}
@@ -219,7 +231,6 @@ MarginalModelCreator::MarginalModelCreator(const boost::property_tree::ptree& pt
         ReadMatrix<3, CONTEXT_NUMBER, OUTCOME_NUMBER>(emissionPmf_,
                                                       pt.get_child("EmissionParameters"));
         ReadMatrix<CONTEXT_NUMBER, 4>(transitionPmf_, pt.get_child("TransitionParameters"));
-        counterWeight_ = pt.get<double>("CounterWeight");
     } catch (std::invalid_argument& e) {
         throw MalformedModelFile();
     } catch (boost::property_tree::ptree_error) {
diff --git a/src/models/P6C4NoCovModel.cpp b/src/models/P6C4NoCovModel.cpp
index 3ae9287..f9e4a2f 100644
--- a/src/models/P6C4NoCovModel.cpp
+++ b/src/models/P6C4NoCovModel.cpp
@@ -43,6 +43,7 @@
 
 #include "../ModelFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -51,7 +52,7 @@ namespace Consensus {
 namespace {
 
 constexpr double kEps = 0.00505052456472967;
-constexpr double kCounterWeight = 1.894736842105264607;
+constexpr double kInvEps = 1.0 - kEps;
 
 class P6C4NoCovModel : public ModelConfig
 {
@@ -68,6 +69,7 @@ public:
 
 private:
     SNR snr_;
+    double ctxTrans_[4][2][4];
 };
 
 REGISTER_MODEL_IMPL(P6C4NoCovModel);
@@ -77,10 +79,14 @@ class P6C4NoCovRecursor : public Recursor<P6C4NoCovRecursor>
 {
 public:
     P6C4NoCovRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                      double scoreDiff);
+                      double scoreDiff, double counterWeight);
     static inline std::vector<uint8_t> EncodeRead(const MappedRead& read);
-    static inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr);
+    inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
     virtual double UndoCounterWeights(size_t nEmissions) const;
+
+private:
+    double counterWeight_;
+    double nLgCounterWeight_;
 };
 
 double P6C4NoCovParams[4][2][3][4] = {
@@ -127,6 +133,29 @@ double P6C4NoCovParams[4][2][3][4] = {
 P6C4NoCovModel::P6C4NoCovModel(const SNR& snr)
     : snr_(ClampSNR(snr, SNR(0, 0, 0, 0), SNR(20, 19, 20, 20)))
 {
+    for (size_t bp = 0; bp < 4; ++bp) {
+        for (const bool hp : {false, true}) {
+            const auto& params = P6C4NoCovParams[bp][hp];
+            const double snr1 = snr_[bp], snr2 = snr1 * snr1, snr3 = snr2 * snr1;
+            double sum = 1.0;
+
+            // re-index ctxTrans_ into MBSD from BDMS order
+            //                         0123      0123
+            //                                   1302 <-- mapping
+            const uint8_t mapping[4] = {1, 3, 0, 2};
+            ctxTrans_[bp][hp][mapping[0]] = 1.0;
+            for (size_t j = 0; j < 3; ++j) {
+                double xb =
+                    params[j][0] + params[j][1] * snr1 + params[j][2] * snr2 + params[j][3] * snr3;
+                xb = std::exp(xb);
+                ctxTrans_[bp][hp][mapping[j + 1]] = xb;
+                sum += xb;
+            }
+
+            for (size_t j = 0; j < 4; ++j)
+                ctxTrans_[bp][hp][j] /= sum;
+        }
+    }
 }
 
 std::vector<TemplatePosition> P6C4NoCovModel::Populate(const std::string& tpl) const
@@ -142,28 +171,13 @@ std::vector<TemplatePosition> P6C4NoCovModel::Populate(const std::string& tpl) c
         const uint8_t curr = detail::TranslationTable[static_cast<uint8_t>(tpl[i])];
         if (curr > 3) throw std::invalid_argument("invalid character in sequence!");
         const bool hp = tpl[i - 1] == tpl[i];  // NA -> 0, AA -> 1
-        const auto params = P6C4NoCovParams[curr][hp];
-        const double snr = snr_[curr], snr2 = snr * snr, snr3 = snr2 * snr;
-        double tprobs[3];
-        double sum = 1.0;
-
-        for (size_t j = 0; j < 3; ++j) {
-            double xb =
-                params[j][0] + snr * params[j][1] + snr2 * params[j][2] + snr3 * params[j][3];
-            xb = std::exp(xb);
-            tprobs[j] = xb;
-            sum += xb;
-        }
-
-        for (size_t j = 0; j < 3; ++j)
-            tprobs[j] /= sum;
-
+        const auto& params = ctxTrans_[curr][hp];
         result.emplace_back(TemplatePosition{
             tpl[i - 1], prev,
-            tprobs[1],  // match
-            1.0 / sum,  // branch
-            tprobs[2],  // stick
-            tprobs[0]   // deletion
+            params[0],  // match
+            params[1],  // branch
+            params[2],  // stick
+            params[3]   // deletion
         });
 
         prev = curr;
@@ -177,8 +191,25 @@ std::vector<TemplatePosition> P6C4NoCovModel::Populate(const std::string& tpl) c
 std::unique_ptr<AbstractRecursor> P6C4NoCovModel::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
-    return std::unique_ptr<AbstractRecursor>(
-        new P6C4NoCovRecursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff));
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) {
+            return ctxTrans_[ctx >> 1][ctx & 1][static_cast<uint8_t>(m)];
+        },
+        [](size_t, MoveType m) {
+            switch (m) {
+                case MoveType::MATCH:
+                    return kInvEps * std::log(kInvEps) + kEps * std::log(kEps / 3.0);
+                case MoveType::STICK:
+                    return -std::log(3.0);
+                default:
+                    break;
+            }
+            return 0.0;
+        },
+        8);
+
+    return std::unique_ptr<AbstractRecursor>(new P6C4NoCovRecursor(
+        std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff, counterWeight));
 }
 
 double P6C4NoCovModel::ExpectedLLForEmission(const MoveType move, const uint8_t prev,
@@ -186,7 +217,7 @@ double P6C4NoCovModel::ExpectedLLForEmission(const MoveType move, const uint8_t
 {
     const double lgThird = -std::log(3.0);
     if (move == MoveType::MATCH) {
-        constexpr double probMatch = 1.0 - kEps;
+        constexpr double probMatch = kInvEps;
         constexpr double probMismatch = kEps;
         const double lgMatch = std::log(probMatch);
         const double lgMismatch = lgThird + std::log(probMismatch);
@@ -206,9 +237,11 @@ double P6C4NoCovModel::ExpectedLLForEmission(const MoveType move, const uint8_t
 }
 
 P6C4NoCovRecursor::P6C4NoCovRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                                     double scoreDiff)
+                                     double scoreDiff, double counterWeight)
     : Recursor<P6C4NoCovRecursor>(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr,
                                   scoreDiff)
+    , counterWeight_{counterWeight}
+    , nLgCounterWeight_{-std::log(counterWeight_)}
 {
 }
 
@@ -226,24 +259,24 @@ std::vector<uint8_t> P6C4NoCovRecursor::EncodeRead(const MappedRead& read)
 }
 
 double P6C4NoCovRecursor::EmissionPr(MoveType move, const uint8_t emission, const uint8_t prev,
-                                     const uint8_t curr)
+                                     const uint8_t curr) const
 {
     assert(move != MoveType::DELETION);
 
     // probability of a mismatch
     constexpr double tbl[3][2] = {
         // 0 (match), 1 (mismatch)
-        {1.0 - kEps, kEps / 3.0},  // MATCH
-        {1.0, 0.0},                // BRANCH
-        {0.0, 1.0 / 3.0}           // STICK
+        {kInvEps, kEps / 3.0},  // MATCH
+        {1.0, 0.0},             // BRANCH
+        {0.0, 1.0 / 3.0}        // STICK
     };
 
-    return tbl[static_cast<uint8_t>(move)][curr != emission] * kCounterWeight;
+    return tbl[static_cast<uint8_t>(move)][curr != emission] * counterWeight_;
 }
 
 double P6C4NoCovRecursor::UndoCounterWeights(const size_t nEmissions) const
 {
-    return -std::log(kCounterWeight) * nEmissions;
+    return nLgCounterWeight_ * nEmissions;
 }
 
 }  // namespace anonymous
diff --git a/src/models/PwSnrAModelForm.cpp b/src/models/PwSnrAModelForm.cpp
index 3d6c73d..e6192bc 100644
--- a/src/models/PwSnrAModelForm.cpp
+++ b/src/models/PwSnrAModelForm.cpp
@@ -48,6 +48,7 @@
 #include "../ModelFactory.h"
 #include "../ModelFormFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -87,14 +88,13 @@ private:
     SNR snr_;
     double ctxTrans_[CONTEXT_NUMBER][4];
     double cachedEmissionExpectations_[CONTEXT_NUMBER][3][2];
-    double counterWeight_;
 };
 
 class PwSnrARecursor : public Recursor<PwSnrARecursor>
 {
 public:
     PwSnrARecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff,
-                   const PwSnrAModelCreator* params, double counterWeight);
+                   double counterWeight, const PwSnrAModelCreator* params);
 
     static std::vector<uint8_t> EncodeRead(const MappedRead& read);
     double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
@@ -124,7 +124,6 @@ private:
     double snrRanges_[2];
     double emissionPmf_[3][CONTEXT_NUMBER][OUTCOME_NUMBER];
     double transitionParams_[CONTEXT_NUMBER][3][4];
-    double counterWeight_;
 };
 
 REGISTER_MODELFORM_IMPL(PwSnrAModelCreator);
@@ -171,16 +170,26 @@ PwSnrAModel::PwSnrAModel(const PwSnrAModelCreator* params, const SNR& snr)
                 cachedEmissionExpectations_[ctx][move][moment] =
                     CalculateExpectedLLForEmission(move, ctx, moment);
     }
-
-    counterWeight_ = params_->counterWeight_;
 }
 
 std::unique_ptr<AbstractRecursor> PwSnrAModel::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) { return ctxTrans_[ctx][static_cast<uint8_t>(m)]; },
+        [this](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < OUTCOME_NUMBER; ++o) {
+                const double p = params_->emissionPmf_[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        CONTEXT_NUMBER);
+
     return std::unique_ptr<AbstractRecursor>(
         new PwSnrARecursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff,
-                           params_, counterWeight_));
+                           counterWeight, params_));
 }
 
 std::vector<TemplatePosition> PwSnrAModel::Populate(const std::string& tpl) const
@@ -223,8 +232,8 @@ double PwSnrAModel::ExpectedLLForEmission(const MoveType move, const uint8_t pre
 }
 
 PwSnrARecursor::PwSnrARecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                               double scoreDiff, const PwSnrAModelCreator* params,
-                               double counterWeight)
+                               double scoreDiff, double counterWeight,
+                               const PwSnrAModelCreator* params)
     : Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff)
     , params_{params}
     , counterWeight_{counterWeight}
@@ -270,7 +279,6 @@ PwSnrAModelCreator::PwSnrAModelCreator(const boost::property_tree::ptree& pt)
         ReadMatrix<3, CONTEXT_NUMBER, OUTCOME_NUMBER>(emissionPmf_,
                                                       pt.get_child("EmissionParameters"));
         ReadMatrix<CONTEXT_NUMBER, 3, 4>(transitionParams_, pt.get_child("TransitionParameters"));
-        counterWeight_ = pt.get<double>("CounterWeight");
     } catch (std::invalid_argument& e) {
         throw MalformedModelFile();
     } catch (boost::property_tree::ptree_error) {
diff --git a/src/models/PwSnrModelForm.cpp b/src/models/PwSnrModelForm.cpp
index 4b5d470..9bf84ca 100644
--- a/src/models/PwSnrModelForm.cpp
+++ b/src/models/PwSnrModelForm.cpp
@@ -48,6 +48,7 @@
 #include "../ModelFactory.h"
 #include "../ModelFormFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -87,14 +88,13 @@ private:
     SNR snr_;
     double ctxTrans_[CONTEXT_NUMBER][4];
     double cachedEmissionExpectations_[CONTEXT_NUMBER][3][2];
-    double counterWeight_;
 };
 
 class PwSnrRecursor : public Recursor<PwSnrRecursor>
 {
 public:
     PwSnrRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff,
-                  const PwSnrModelCreator* params, double counterWeight);
+                  double counterWeight, const PwSnrModelCreator* params);
 
     static std::vector<uint8_t> EncodeRead(const MappedRead& read);
     double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
@@ -124,7 +124,6 @@ private:
     double snrRanges_[4][2];
     double emissionPmf_[3][CONTEXT_NUMBER][OUTCOME_NUMBER];
     double transitionParams_[CONTEXT_NUMBER][3][4];
-    double counterWeight_;
 };
 
 REGISTER_MODELFORM_IMPL(PwSnrModelCreator);
@@ -172,16 +171,26 @@ PwSnrModel::PwSnrModel(const PwSnrModelCreator* params, const SNR& snr) : params
                 cachedEmissionExpectations_[ctx][move][moment] =
                     CalculateExpectedLLForEmission(move, ctx, moment);
     }
-
-    counterWeight_ = params_->counterWeight_;
 }
 
 std::unique_ptr<AbstractRecursor> PwSnrModel::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) { return ctxTrans_[ctx][static_cast<uint8_t>(m)]; },
+        [this](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < OUTCOME_NUMBER; ++o) {
+                const double p = params_->emissionPmf_[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        CONTEXT_NUMBER);
+
     return std::unique_ptr<AbstractRecursor>(
         new PwSnrRecursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff,
-                          params_, counterWeight_));
+                          counterWeight, params_));
 }
 
 std::vector<TemplatePosition> PwSnrModel::Populate(const std::string& tpl) const
@@ -224,8 +233,8 @@ double PwSnrModel::ExpectedLLForEmission(const MoveType move, const uint8_t prev
 }
 
 PwSnrRecursor::PwSnrRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                             double scoreDiff, const PwSnrModelCreator* params,
-                             double counterWeight)
+                             double scoreDiff, double counterWeight,
+                             const PwSnrModelCreator* params)
     : Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff)
     , params_{params}
     , counterWeight_{counterWeight}
@@ -271,7 +280,6 @@ PwSnrModelCreator::PwSnrModelCreator(const boost::property_tree::ptree& pt)
         ReadMatrix<3, CONTEXT_NUMBER, OUTCOME_NUMBER>(emissionPmf_,
                                                       pt.get_child("EmissionParameters"));
         ReadMatrix<CONTEXT_NUMBER, 3, 4>(transitionParams_, pt.get_child("TransitionParameters"));
-        counterWeight_ = pt.get<double>("CounterWeight");
     } catch (std::invalid_argument& e) {
         throw MalformedModelFile();
     } catch (boost::property_tree::ptree_error) {
diff --git a/src/models/S_P1C1Beta_Model.cpp b/src/models/S_P1C1Beta_Model.cpp
index f453665..b07c212 100644
--- a/src/models/S_P1C1Beta_Model.cpp
+++ b/src/models/S_P1C1Beta_Model.cpp
@@ -43,6 +43,7 @@
 
 #include "../ModelFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -73,10 +74,14 @@ class S_P1C1Beta_Recursor : public Recursor<S_P1C1Beta_Recursor>
 {
 public:
     S_P1C1Beta_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                        double scoreDiff);
+                        double scoreDiff, double counterWeight);
     static inline std::vector<uint8_t> EncodeRead(const MappedRead& read);
-    static inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr);
+    inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
     virtual double UndoCounterWeights(size_t nEmissions) const;
+
+private:
+    double counterWeight_;
+    double nLgCounterWeight_;
 };
 
 constexpr double emissionPmf[3][8][4] = {
@@ -159,8 +164,20 @@ std::vector<TemplatePosition> S_P1C1Beta_Model::Populate(const std::string& tpl)
 std::unique_ptr<AbstractRecursor> S_P1C1Beta_Model::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
+    const double counterWeight = CounterWeight(
+        [](size_t ctx, MoveType m) { return transProbs[ctx][static_cast<uint8_t>(m)]; },
+        [](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < 4; ++o) {
+                const double p = emissionPmf[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        8);
+
     return std::unique_ptr<AbstractRecursor>(new S_P1C1Beta_Recursor(
-        std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff));
+        std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff, counterWeight));
 }
 
 double S_P1C1Beta_Model::ExpectedLLForEmission(const MoveType move, const uint8_t prev,
@@ -181,9 +198,12 @@ double S_P1C1Beta_Model::ExpectedLLForEmission(const MoveType move, const uint8_
 }
 
 S_P1C1Beta_Recursor::S_P1C1Beta_Recursor(std::unique_ptr<AbstractTemplate>&& tpl,
-                                         const MappedRead& mr, double scoreDiff)
+                                         const MappedRead& mr, double scoreDiff,
+                                         double counterWeight)
     : Recursor<S_P1C1Beta_Recursor>(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr,
                                     scoreDiff)
+    , counterWeight_{counterWeight}
+    , nLgCounterWeight_{-std::log(counterWeight_)}
 {
 }
 
@@ -201,16 +221,19 @@ std::vector<uint8_t> S_P1C1Beta_Recursor::EncodeRead(const MappedRead& read)
 }
 
 double S_P1C1Beta_Recursor::EmissionPr(MoveType move, const uint8_t emission, const uint8_t prev,
-                                       const uint8_t curr)
+                                       const uint8_t curr) const
 {
     assert(move != MoveType::DELETION);
     const uint8_t hpAdd = prev == curr ? 0 : 4;
     // Which row do we want?
     const uint8_t row = curr + hpAdd;
-    return emissionPmf[static_cast<uint8_t>(move)][row][emission];
+    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * counterWeight_;
 }
 
-double S_P1C1Beta_Recursor::UndoCounterWeights(const size_t nEmissions) const { return 0; }
+double S_P1C1Beta_Recursor::UndoCounterWeights(const size_t nEmissions) const
+{
+    return nLgCounterWeight_ * nEmissions;
+}
 }  // namespace anonymous
 }  // namespace Consensus
 }  // namespace PacBio
diff --git a/src/models/S_P1C1v1_Model.cpp b/src/models/S_P1C1v1_Model.cpp
index 7c8d3bc..40ea2da 100644
--- a/src/models/S_P1C1v1_Model.cpp
+++ b/src/models/S_P1C1v1_Model.cpp
@@ -43,6 +43,7 @@
 
 #include "../ModelFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -50,7 +51,6 @@ namespace PacBio {
 namespace Consensus {
 namespace {
 
-constexpr double kCounterWeight = 15.0;
 constexpr size_t OUTCOME_NUMBER = 12;
 constexpr size_t CONTEXT_NUMBER = 16;
 
@@ -80,10 +80,14 @@ class S_P1C1v1_Recursor : public Recursor<S_P1C1v1_Recursor>
 {
 public:
     S_P1C1v1_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                      double scoreDiff);
+                      double scoreDiff, double counterWeight);
     static inline std::vector<uint8_t> EncodeRead(const MappedRead& read);
-    static inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr);
+    inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
     virtual double UndoCounterWeights(size_t nEmissions) const;
+
+private:
+    double counterWeight_;
+    double nLgCounterWeight_;
 };
 
 constexpr double emissionPmf[3][CONTEXT_NUMBER][OUTCOME_NUMBER] = {
@@ -310,8 +314,20 @@ S_P1C1v1_Model::S_P1C1v1_Model(const SNR& snr) : snr_(snr)
 std::unique_ptr<AbstractRecursor> S_P1C1v1_Model::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
-    return std::unique_ptr<AbstractRecursor>(
-        new S_P1C1v1_Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff));
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) { return ctxTrans_[ctx][static_cast<uint8_t>(m)]; },
+        [](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < OUTCOME_NUMBER; ++o) {
+                const double p = emissionPmf[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        CONTEXT_NUMBER);
+
+    return std::unique_ptr<AbstractRecursor>(new S_P1C1v1_Recursor(
+        std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff, counterWeight));
 }
 
 std::vector<TemplatePosition> S_P1C1v1_Model::Populate(const std::string& tpl) const
@@ -354,9 +370,11 @@ double S_P1C1v1_Model::ExpectedLLForEmission(const MoveType move, const uint8_t
 }
 
 S_P1C1v1_Recursor::S_P1C1v1_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                                     double scoreDiff)
+                                     double scoreDiff, double counterWeight)
     : Recursor<S_P1C1v1_Recursor>(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr,
                                   scoreDiff)
+    , counterWeight_{counterWeight}
+    , nLgCounterWeight_{-std::log(counterWeight_)}
 {
 }
 
@@ -379,16 +397,17 @@ std::vector<uint8_t> S_P1C1v1_Recursor::EncodeRead(const MappedRead& read)
     return result;
 }
 
-double S_P1C1v1_Recursor::EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr)
+double S_P1C1v1_Recursor::EmissionPr(MoveType move, uint8_t emission, uint8_t prev,
+                                     uint8_t curr) const
 {
     assert(move != MoveType::DELETION);
     const auto row = (prev << 2) | curr;
-    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * kCounterWeight;
+    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * counterWeight_;
 }
 
 double S_P1C1v1_Recursor::UndoCounterWeights(const size_t nEmissions) const
 {
-    return -std::log(kCounterWeight) * nEmissions;
+    return nLgCounterWeight_ * nEmissions;
 }
 }  // namespace anonymous
 }  // namespace Consensus
diff --git a/src/models/S_P1C1v2_Model.cpp b/src/models/S_P1C1v2_Model.cpp
index 58f08ee..9f5c570 100644
--- a/src/models/S_P1C1v2_Model.cpp
+++ b/src/models/S_P1C1v2_Model.cpp
@@ -45,6 +45,7 @@
 
 #include "../ModelFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -58,16 +59,18 @@ inline T clip(const T val, const T range[2])
     return std::max(range[0], std::min(val, range[1]));
 }
 
-constexpr double kCounterWeight = 20.0;
-constexpr size_t nOutcomes = 12;
-constexpr size_t nContexts = 16;
+constexpr size_t OUTCOME_NUMBER = 12;
+constexpr size_t CONTEXT_NUMBER = 16;
 
 class S_P1C1v2_Model : public ModelConfig
 {
     REGISTER_MODEL(S_P1C1v2_Model);
 
 public:
-    static std::set<std::string> Names() { return {"S/P1-C1.2::PwSnr", "S/P1-C1.3::PwSnr"}; }
+    static std::set<std::string> Names()
+    {
+        return {"S/P1-C1.2::PwSnr", "S/P1-C1.3::PwSnr", "S/P2-C2::PwSnr"};
+    }
     S_P1C1v2_Model(const SNR& snr);
     std::unique_ptr<AbstractRecursor> CreateRecursor(std::unique_ptr<AbstractTemplate>&& tpl,
                                                      const MappedRead& mr, double scoreDiff) const;
@@ -77,8 +80,8 @@ public:
 
 private:
     SNR snr_;
-    double ctxTrans_[nContexts][4];
-    double cachedEmissionExpectations_[nContexts][3][2];
+    double ctxTrans_[CONTEXT_NUMBER][4];
+    double cachedEmissionExpectations_[CONTEXT_NUMBER][3][2];
 };
 
 REGISTER_MODEL_IMPL(S_P1C1v2_Model);
@@ -88,10 +91,14 @@ class S_P1C1v2_Recursor : public Recursor<S_P1C1v2_Recursor>
 {
 public:
     S_P1C1v2_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                      double scoreDiff);
+                      double scoreDiff, double counterWeight);
     static inline std::vector<uint8_t> EncodeRead(const MappedRead& read);
-    static inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr);
+    inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
     virtual double UndoCounterWeights(size_t nEmissions) const;
+
+private:
+    double counterWeight_;
+    double nLgCounterWeight_;
 };
 
 constexpr double snrRanges[4][2] = {{4.000641, 9.799212},    // A
@@ -99,7 +106,7 @@ constexpr double snrRanges[4][2] = {{4.000641, 9.799212},    // A
                                     {4.000119, 9.744069},    // G
                                     {5.751278, 14.595276}};  // T
 
-constexpr double emissionPmf[3][nContexts][nOutcomes] = {
+constexpr double emissionPmf[3][CONTEXT_NUMBER][OUTCOME_NUMBER] = {
     {// matchPmf
      {0.050560033, 0.00144763859, 0.000163177865, 2.0867935e-05, 0.0726032734, 0.000842439402,
       0.000271423794, 8.43974963e-06, 0.869290866, 0.00413508802, 0.000521750699, 0.000118837204},
@@ -200,7 +207,7 @@ constexpr double emissionPmf[3][nContexts][nOutcomes] = {
      {0.148349765, 0.0127413602, 0.22312407, 4.96955324e-05, 0.0595806675, 0.00463335009,
       0.177668167, 4.83714586e-05, 0.0574131588, 0.0412555016, 0.274858141, 4.85075474e-05}}};
 
-constexpr double transProbs[nContexts][3][4] = {
+constexpr double transProbs[CONTEXT_NUMBER][3][4] = {
     {// AA
      {5.85956362, -4.41463293, 0.683309462, -0.0346718671},
      {7.06499623, -4.40259797, 0.607137416, -0.027878395},
@@ -270,7 +277,7 @@ inline double CalculateExpectedLLForEmission(const size_t move, const uint8_t ro
                                              const size_t moment)
 {
     double expectedLL = 0;
-    for (size_t i = 0; i < nOutcomes; i++) {
+    for (size_t i = 0; i < OUTCOME_NUMBER; i++) {
         double curProb = emissionPmf[move][row][i];
         double lgCurProb = std::log(curProb);
         if (moment == static_cast<uint8_t>(MomentType::FIRST))
@@ -283,7 +290,7 @@ inline double CalculateExpectedLLForEmission(const size_t move, const uint8_t ro
 
 S_P1C1v2_Model::S_P1C1v2_Model(const SNR& snr) : snr_(snr)
 {
-    for (size_t ctx = 0; ctx < nContexts; ++ctx) {
+    for (size_t ctx = 0; ctx < CONTEXT_NUMBER; ++ctx) {
         const uint8_t bp = ctx & 3;  // (equivalent to % 4)
         const double snr1 = clip(snr_[bp], snrRanges[bp]), snr2 = snr1 * snr1, snr3 = snr2 * snr1;
         double sum = 1.0;
@@ -311,8 +318,20 @@ S_P1C1v2_Model::S_P1C1v2_Model(const SNR& snr) : snr_(snr)
 std::unique_ptr<AbstractRecursor> S_P1C1v2_Model::CreateRecursor(
     std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
 {
-    return std::unique_ptr<AbstractRecursor>(
-        new S_P1C1v2_Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff));
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) { return ctxTrans_[ctx][static_cast<uint8_t>(m)]; },
+        [](size_t ctx, MoveType m) {
+            double r = 0.0;
+            for (size_t o = 0; o < OUTCOME_NUMBER; ++o) {
+                const double p = emissionPmf[static_cast<uint8_t>(m)][ctx][o];
+                if (p > 0.0) r += p * std::log(p);
+            }
+            return r;
+        },
+        CONTEXT_NUMBER);
+
+    return std::unique_ptr<AbstractRecursor>(new S_P1C1v2_Recursor(
+        std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff, counterWeight));
 }
 
 std::vector<TemplatePosition> S_P1C1v2_Model::Populate(const std::string& tpl) const
@@ -355,9 +374,11 @@ double S_P1C1v2_Model::ExpectedLLForEmission(const MoveType move, const uint8_t
 }
 
 S_P1C1v2_Recursor::S_P1C1v2_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                                     double scoreDiff)
+                                     double scoreDiff, double counterWeight)
     : Recursor<S_P1C1v2_Recursor>(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr,
                                   scoreDiff)
+    , counterWeight_{counterWeight}
+    , nLgCounterWeight_{-std::log(counterWeight_)}
 {
 }
 
@@ -380,16 +401,17 @@ std::vector<uint8_t> S_P1C1v2_Recursor::EncodeRead(const MappedRead& read)
     return result;
 }
 
-double S_P1C1v2_Recursor::EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr)
+double S_P1C1v2_Recursor::EmissionPr(MoveType move, uint8_t emission, uint8_t prev,
+                                     uint8_t curr) const
 {
     assert(move != MoveType::DELETION);
     const auto row = (prev << 2) | curr;
-    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * kCounterWeight;
+    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * counterWeight_;
 }
 
 double S_P1C1v2_Recursor::UndoCounterWeights(const size_t nEmissions) const
 {
-    return -std::log(kCounterWeight) * nEmissions;
+    return nLgCounterWeight_ * nEmissions;
 }
 }  // namespace anonymous
 }  // namespace Consensus
diff --git a/src/models/S_P2C2_Model.cpp b/src/models/S_P2C2_Model.cpp
deleted file mode 100644
index 9472269..0000000
--- a/src/models/S_P2C2_Model.cpp
+++ /dev/null
@@ -1,395 +0,0 @@
-// Copyright (c) 2014-2016, Pacific Biosciences of California, Inc.
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted (subject to the limitations in the
-// disclaimer below) provided that the following conditions are met:
-//
-//  * Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-//
-//  * Redistributions in binary form must reproduce the above
-//    copyright notice, this list of conditions and the following
-//    disclaimer in the documentation and/or other materials provided
-//    with the distribution.
-//
-//  * Neither the name of Pacific Biosciences nor the names of its
-//    contributors may be used to endorse or promote products derived
-//    from this software without specific prior written permission.
-//
-// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
-// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
-// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-
-// Author: Lance Hepler
-
-#include <cassert>
-#include <cmath>
-#include <memory>
-#include <stdexcept>
-
-#include <pacbio/consensus/ModelConfig.h>
-#include <pacbio/data/Read.h>
-
-#include "../ModelFactory.h"
-#include "../Recursor.h"
-
-using namespace PacBio::Data;
-
-namespace PacBio {
-namespace Consensus {
-namespace {
-
-template <typename T>
-inline T clip(const T val, const T range[2])
-{
-    return std::max(range[0], std::min(val, range[1]));
-}
-
-constexpr double kCounterWeight = 3.0;
-constexpr size_t nOutcomes = 12;
-constexpr size_t nContexts = 16;
-
-class S_P2C2_Model : public ModelConfig
-{
-    REGISTER_MODEL(S_P2C2_Model);
-
-public:
-    static std::set<std::string> Names() { return {"S/P2-C2::PwSnr"}; }
-    S_P2C2_Model(const SNR& snr);
-    std::unique_ptr<AbstractRecursor> CreateRecursor(std::unique_ptr<AbstractTemplate>&& tpl,
-                                                     const MappedRead& mr, double scoreDiff) const;
-    std::vector<TemplatePosition> Populate(const std::string& tpl) const;
-    double ExpectedLLForEmission(MoveType move, uint8_t prev, uint8_t curr,
-                                 MomentType moment) const;
-
-private:
-    SNR snr_;
-    double ctxTrans_[nContexts][4];
-    double cachedEmissionExpectations_[nContexts][3][2];
-};
-
-REGISTER_MODEL_IMPL(S_P2C2_Model);
-
-// TODO(lhepler) comments regarding the CRTP
-class S_P2C2_Recursor : public Recursor<S_P2C2_Recursor>
-{
-public:
-    S_P2C2_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                    double scoreDiff);
-    static inline std::vector<uint8_t> EncodeRead(const MappedRead& read);
-    static inline double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr);
-    virtual double UndoCounterWeights(size_t nEmissions) const;
-};
-
-constexpr double snrRanges[4][2] = {{4.06761408, 7.87333488},   // A
-                                    {7.56100464, 14.9044018},   // C
-                                    {4.05258036, 6.67833996},   // G
-                                    {6.47991323, 10.7843523}};  // T
-
-constexpr double emissionPmf[3][nContexts][nOutcomes] = {
-    {// matchPmf
-     {0.00735664387, 0.00190428659, 0.000128987185, 3.19609285e-05, 0.0579789127, 0.00159365177,
-      0.000377851288, 2.64641792e-05, 0.925861388, 0.0039544046, 0.000740333577, 4.51157354e-05},
-     {0.00268702382, 0.0103554239, 5.5569919e-05, 0.00010710572, 0.0119429479, 0.0349107323,
-      0.000173873688, 3.71404194e-05, 0.0132184981, 0.925935393, 0.000163937702, 0.000412353133},
-     {0.000303779953, 5.76150405e-05, 0.00682147837, 0.00396954594, 0.000590520182, 1.49898804e-05,
-      0.0623840757, 0.00479826006, 0.000162992201, 0.000111189159, 0.896219743, 0.0245658107},
-     {0.000142620524, 3.85177333e-05, 0.00440064256, 0.018046601, 0.000210517258, 2.23325708e-05,
-      0.0272865144, 0.0538911959, 0.000157354862, 0.000143746285, 0.0491787167, 0.84648124},
-     {0.00733096773, 0.00166007937, 0.000121497496, 0.000116125734, 0.0573233988, 0.00126886069,
-      0.00071151983, 7.74436926e-05, 0.927257837, 0.0023603384, 0.00153974443, 0.000232186399},
-     {0.00219335118, 0.0112686045, 4.01328525e-05, 5.02885136e-05, 0.0117893856, 0.0371141169,
-      1.68691479e-05, 1.56068136e-05, 0.0116461848, 0.925851525, 1.25205575e-05, 1.41414695e-06},
-     {0.000117348076, 1.75083299e-05, 0.00297146156, 0.0016269759, 0.000296647296, 4.87166628e-05,
-      0.0284358458, 0.002344226, 0.000568544223, 0.000237602686, 0.942157699, 0.021177424},
-     {9.37972006e-05, 6.24310526e-05, 0.00526664739, 0.0207263945, 0.00012215642, 2.11772913e-05,
-      0.0320582675, 0.06180119, 0.000243487269, 0.000476247908, 0.0530240115, 0.826104192},
-     {0.00314264389, 0.00082820948, 9.08246005e-05, 9.38915756e-05, 0.028554939, 0.000783143672,
-      0.000364350553, 2.37054476e-05, 0.961214998, 0.00421586002, 0.000391376658, 0.000296057041},
-     {0.00119090385, 0.00593803619, 2.03588382e-05, 4.41352391e-05, 0.00628544188, 0.0204138621,
-      0.000138312951, 6.76020532e-05, 0.00866986949, 0.956464996, 0.000533431456, 0.000233049758},
-     {6.43734294e-05, 1.22650033e-05, 0.00210011572, 0.00131543919, 9.48512735e-05, 9.02245873e-06,
-      0.0243938729, 0.00215317529, 0.00018372826, 3.35949921e-05, 0.950122398, 0.0195171634},
-     {3.66710321e-05, 4.51849068e-05, 0.0024483006, 0.010397222, 8.29270369e-05, 1.71244431e-05,
-      0.0166213186, 0.0346020058, 8.05756611e-05, 0.000443816688, 0.0317772895, 0.903447564},
-     {0.00584782932, 0.00152030367, 8.92185665e-05, 8.75578495e-05, 0.0450024718, 0.00128621735,
-      0.000488191126, 3.73830825e-05, 0.940618603, 0.00388969117, 0.00110426833, 2.82644734e-05},
-     {0.00124169992, 0.00586665604, 3.58345575e-05, 7.76586763e-05, 0.00564348936, 0.0178975167,
-      0.000131182094, 2.75294579e-05, 0.00733345492, 0.961559728, 0.000111068097, 7.41824771e-05},
-     {5.36955022e-05, 3.60866503e-05, 0.00270197625, 0.00158018444, 8.86444887e-05, 7.11501847e-06,
-      0.0271717889, 0.00206535023, 0.000463746178, 0.000180875439, 0.946297025, 0.0193535123},
-     {4.54423247e-05, 1.30264171e-05, 0.00201775615, 0.00868651464, 2.93835524e-05, 8.6504974e-06,
-      0.0146074997, 0.0295302164, 1.74359077e-05, 6.74859902e-06, 0.0306931623, 0.914344164}},
-    {// branchPmf
-     {0.13965274, 0.000214059166, 0.000214059166, 0.000214059166, 0.258968176, 0.000214059166,
-      0.000214059166, 0.000214059166, 0.599666611, 0.000214059166, 0.000214059166, 0},
-     {0.000190616771, 0.0678223351, 0.000190616771, 0.000190616771, 0.000190616771, 0.100087597,
-      0.000190616771, 0.000190616771, 0.000190616771, 0.830565134, 0.000190616771, 0},
-     {0.000101396092, 0.000101396092, 0.0616730324, 0.000101396092, 0.000101396092, 0.000101396092,
-      0.143805821, 0.000101396092, 0.000101396092, 0.000101396092, 0.793709977, 0},
-     {0.000303994885, 0.000303994885, 0.000303994885, 0.1284746, 0.000303994885, 0.000303994885,
-      0.000303994885, 0.141454447, 0.000303994885, 0.000303994885, 0.000303994885, 0.727334999},
-     {0.0433312739, 3.22994963e-05, 3.22994963e-05, 3.22994963e-05, 0.117471222, 3.22994963e-05,
-      3.22994963e-05, 3.22994963e-05, 0.838939108, 3.22994963e-05, 3.22994963e-05, 0},
-     {4.12209605e-05, 0.0329945236, 4.12209605e-05, 4.12209605e-05, 4.12209605e-05, 0.0452292927,
-      4.12209605e-05, 4.12209605e-05, 4.12209605e-05, 0.921446416, 4.12209605e-05, 0},
-     {5.6318833e-05, 5.6318833e-05, 0.0532155899, 5.6318833e-05, 5.6318833e-05, 5.6318833e-05,
-      0.12387295, 5.6318833e-05, 5.6318833e-05, 5.6318833e-05, 0.822460909, 0},
-     {0.000171851328, 0.000171851328, 0.000171851328, 0.0769974228, 0.000171851328, 0.000171851328,
-      0.000171851328, 0.115058917, 0.000171851328, 0.000171851328, 0.000171851328, 0.806396998},
-     {0.0289415541, 3.57312452e-05, 3.57312452e-05, 3.57312452e-05, 0.0863096576, 3.57312452e-05,
-      3.57312452e-05, 3.57312452e-05, 0.884462938, 3.57312452e-05, 3.57312452e-05, 0},
-     {7.76665226e-05, 0.0487889535, 7.76665226e-05, 7.76665226e-05, 7.76665226e-05, 0.0563094047,
-      7.76665226e-05, 7.76665226e-05, 7.76665226e-05, 0.89428031, 7.76665226e-05, 0},
-     {0.000224675996, 0.000224675996, 0.11442169, 0.000224675996, 0.000224675996, 0.000224675996,
-      0.177555734, 0.000224675996, 0.000224675996, 0.000224675996, 0.706225168, 0},
-     {0.000147262818, 0.000147262818, 0.000147262818, 0.0548667631, 0.000147262818, 0.000147262818,
-      0.000147262818, 0.0766653324, 0.000147262818, 0.000147262818, 0.000147262818, 0.867142539},
-     {0.0251062443, 3.11750569e-05, 3.11750569e-05, 3.11750569e-05, 0.0860636051, 3.11750569e-05,
-      3.11750569e-05, 3.11750569e-05, 0.88858075, 3.11750569e-05, 3.11750569e-05, 0},
-     {5.64847834e-05, 0.0293039817, 5.64847834e-05, 5.64847834e-05, 5.64847834e-05, 0.0459491268,
-      5.64847834e-05, 5.64847834e-05, 5.64847834e-05, 0.924295013, 5.64847834e-05, 0},
-     {5.20954226e-05, 5.20954226e-05, 0.0339074593, 5.20954226e-05, 5.20954226e-05, 5.20954226e-05,
-      0.103213362, 5.20954226e-05, 5.20954226e-05, 5.20954226e-05, 0.862462415, 0},
-     {2.41719133e-05, 2.41719133e-05, 2.41719133e-05, 0.0373123704, 2.41719133e-05, 2.41719133e-05,
-      2.41719133e-05, 0.0666923249, 2.41719133e-05, 2.41719133e-05, 2.41719133e-05, 0.895777757}},
-    {// stickPmf
-     {0.000146474028, 0.0297946523, 0.0803446626, 0.0323153575, 0.000146474028, 0.0181368779,
-      0.159977298, 0.0152271765, 0.000146474028, 0.244223284, 0.299539822, 0.120001447},
-     {0.0754353435, 0.000106711295, 0.108178173, 0.05166508, 0.0659944961, 0.000106711295,
-      0.235061774, 0.0369961862, 0.0285965147, 0.000106711295, 0.241613261, 0.156139038},
-     {0.150889801, 0.0424857824, 0.000318026612, 0.147445837, 0.0393052032, 0.0282810617,
-      0.000318026612, 0.0807560198, 0.00326633483, 0.214809655, 0.000318026612, 0.291806225},
-     {0.140090388, 0.0466498235, 0.0955223418, 0.000146946243, 0.100971439, 0.0170277817,
-      0.173755469, 0.000146946243, 0.00152457994, 0.141450628, 0.282713657, 0},
-     {0.000119247588, 0.0383163304, 0.11255615, 0.0436285288, 0.000119247588, 0.0192856198,
-      0.175758018, 0.020358817, 0.000119247588, 0.197235316, 0.288470104, 0.104033374},
-     {0.0468282051, 3.20346125e-05, 0.0825016476, 0.0378754242, 0.0868836623, 3.20346125e-05,
-      0.146909879, 0.0191351973, 0.260577625, 3.20346125e-05, 0.213141376, 0.10605088},
-     {0.146293011, 0.0331663512, 0.000105430841, 0.0501755794, 0.207187242, 0.0102551561,
-      0.000105430841, 0.027888217, 0.283407964, 0.0599407043, 0.000105430841, 0.181369481},
-     {0.125236617, 0.0361508505, 0.0591068896, 0.000121340743, 0.165565282, 0.00791956686,
-      0.150064084, 0.000121340743, 0.202982991, 0.0283175644, 0.224413472, 0},
-     {0.000210016244, 0.0414240647, 0.101760633, 0.0428484744, 0.000210016244, 0.0179312948,
-      0.161526364, 0.0189973372, 0.000210016244, 0.240930978, 0.173671163, 0.200279644},
-     {0.0495830034, 4.61487199e-05, 0.151014753, 0.067951325, 0.0907268765, 4.61487199e-05,
-      0.315461425, 0.0277696796, 0.128849485, 4.61487199e-05, 0.0567220636, 0.111782943},
-     {0.11555575, 0.0292950248, 0.00014832042, 0.0456759293, 0.15337244, 0.00761339039,
-      0.00014832042, 0.0203902102, 0.249082062, 0.122098355, 0.00014832042, 0.256471877},
-     {0.147130835, 0.0327619952, 0.0756043295, 0.000188145734, 0.212444944, 0.0101329647,
-      0.114642199, 0.000188145734, 0.294425221, 0.107175814, 0.00530540568, 0},
-     {8.22405627e-05, 0.0221237714, 0.037137767, 0.0162121049, 8.22405627e-05, 0.0187609213,
-      0.080696449, 0.0269716446, 8.22405627e-05, 0.248406873, 0.205991108, 0.343452639},
-     {0.049159614, 5.43832178e-05, 0.0514031038, 0.0203847824, 0.0855463843, 5.43832178e-05,
-      0.0980144614, 0.0239136025, 0.168927456, 5.43832178e-05, 0.158422773, 0.344064673},
-     {0.137668134, 0.0267105699, 0.000142351166, 0.0441201525, 0.19166368, 0.0114882132,
-      0.000142351166, 0.0202277277, 0.273478098, 0.129199413, 0.000142351166, 0.165016958},
-     {0.0443720703, 0.011998886, 0.0370775788, 3.30887484e-05, 0.0768170894, 0.00839411198,
-      0.110338914, 3.30887484e-05, 0.22919549, 0.235978299, 0.245761384, 0}}};
-
-constexpr double transProbs[nContexts][3][4] = {
-    {// AA
-     {-7.36174689, 1.61101289, -0.268464948, 0.0143320448},
-     {-3.22220388, 0.496986063, -0.181868245, 0.0125555841},
-     {2.63396482, -1.49671632, 0.145790372, -0.00463126882}},
-    {// AC
-     {-4.29124266, 0.474781729, -0.0691005634, 0.0024944116},
-     {-5.8759345, 0.769176344, -0.0794793302, 0.0026603066},
-     {-2.52278775, -0.0673361054, -0.00420963573, 0.000173101656}},
-    {// AG
-     {1.44776405, -1.89806596, 0.230489754, -0.00788373432},
-     {3.62328388, -3.16155741, 0.380413687, -0.0139731804},
-     {-2.4113731, 1.5617699, -0.464222808, 0.0330184761}},
-    {// AT
-     {-1.52188949, -0.619888164, 0.0344820232, -0.000466695436},
-     {7.25871708, -2.89355725, 0.226545422, -0.00503769654},
-     {1.80689962, -0.775311988, 0.00287885444, 0.00212630128}},
-    {// CA
-     {-1.58612186, -0.153996667, -0.019362539, 0.00340134003},
-     {-5.44435394, 1.26703171, -0.267105283, 0.0166778421},
-     {2.91356449, -1.87150825, 0.226540613, -0.010786308}},
-    {// CC
-     {2.73738367, -1.52165103, 0.134485954, -0.00364414263},
-     {-1.96380465, -0.0304224195, -0.00741383211, 0.000655817377},
-     {-5.65275902, 0.8554781, -0.0747563725, 0.00213841659}},
-    {// CG
-     {6.82408162, -5.00340617, 0.843280331, -0.0477216713},
-     {0.922836644, -1.39570517, 0.0615167062, 0.00625866765},
-     {-7.49471908, 4.08850937, -0.931670394, 0.06135184}},
-    {// CT
-     {-2.03471379, -0.183049895, -0.0161448893, 0.00147588228},
-     {-0.39397695, -0.497506148, -0.0025279351, 0.00199848358},
-     {-3.14511306, 0.866929002, -0.161209014, 0.00724003881}},
-    {// GA
-     {-4.03613088, 0.951183897, -0.1707077, 0.00951914769},
-     {-2.73727929, -0.0846264685, -0.0762702838, 0.00765998521},
-     {-0.0115161507, -0.676772845, 0.0186902046, 0.00114061014}},
-    {// GC
-     {-4.0450919, 0.19441825, -0.0196572463, 0.000545513282},
-     {-0.590738944, -0.563607207, 0.0397364279, -0.000835263676},
-     {-0.650606525, -0.793978644, 0.0672391429, -0.0019742867}},
-    {// GG
-     {-7.1216888, 0.704299447, -0.00675682556, -0.00429905236},
-     {4.0135083, -2.99745283, 0.330100699, -0.00866415885},
-     {-2.95159941, 1.52304256, -0.417790358, 0.0301178899}},
-    {// GT
-     {-5.71687526, 1.02827154, -0.128832359, 0.00416099843},
-     {-6.35542589, 1.25709282, -0.1917998, 0.00889679996},
-     {-1.20027791, 0.152425947, -0.0921121841, 0.00518033583}},
-    {// TA
-     {-1.75233077, -0.0165381386, -0.0154477996, 0.00191469353},
-     {-3.79457085, 0.695703623, -0.170024823, 0.0125082712},
-     {2.14044448, -1.41498734, 0.116355694, -0.00281465688}},
-    {// TC
-     {-1.89375385, -0.103804215, -0.00397067386, 0.000435442231},
-     {-4.05701629, 0.431318996, -0.0460802272, 0.0014783096},
-     {-4.07119813, 0.0340792867, 0.00636890829, -0.000665968456}},
-    {// TG
-     {7.14617037, -5.07757031, 0.837708073, -0.0452627753},
-     {1.69236944, -2.28936276, 0.274337077, -0.00888968456},
-     {-4.60392728, 2.15828049, -0.515604387, 0.0324594302}},
-    {// TT
-     {-2.82895825, -0.159891687, 0.0556441946, -0.00321555705},
-     {2.92995068, -1.83116699, 0.202125712, -0.00725218663},
-     {0.981168958, -0.682236621, 0.0147684255, 0.00146373056}}};
-
-inline double CalculateExpectedLLForEmission(const size_t move, const uint8_t row,
-                                             const size_t moment)
-{
-    double expectedLL = 0;
-    for (size_t i = 0; i < nOutcomes; i++) {
-        double curProb = emissionPmf[move][row][i];
-        double lgCurProb = std::log(curProb);
-        if (moment == static_cast<uint8_t>(MomentType::FIRST))
-            expectedLL += curProb * lgCurProb;
-        else if (moment == static_cast<uint8_t>(MomentType::SECOND))
-            expectedLL += curProb * (lgCurProb * lgCurProb);
-    }
-    return expectedLL;
-}
-
-S_P2C2_Model::S_P2C2_Model(const SNR& snr) : snr_(snr)
-{
-    for (size_t ctx = 0; ctx < nContexts; ++ctx) {
-        const uint8_t bp = ctx & 3;  // (equivalent to % 4)
-        const double snr1 = clip(snr_[bp], snrRanges[bp]), snr2 = snr1 * snr1, snr3 = snr2 * snr1;
-        double sum = 1.0;
-
-        // cached transitions
-        ctxTrans_[ctx][0] = 1.0;
-        for (size_t j = 0; j < 3; ++j) {
-            double xb = transProbs[ctx][j][0] + snr1 * transProbs[ctx][j][1] +
-                        snr2 * transProbs[ctx][j][2] + snr3 * transProbs[ctx][j][3];
-            xb = std::exp(xb);
-            ctxTrans_[ctx][j + 1] = xb;
-            sum += xb;
-        }
-        for (size_t j = 0; j < 4; ++j)
-            ctxTrans_[ctx][j] /= sum;
-
-        // cached expectations
-        for (size_t move = 0; move < 3; ++move)
-            for (size_t moment = 0; moment < 2; ++moment)
-                cachedEmissionExpectations_[ctx][move][moment] =
-                    CalculateExpectedLLForEmission(move, ctx, moment);
-    }
-}
-
-std::unique_ptr<AbstractRecursor> S_P2C2_Model::CreateRecursor(
-    std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff) const
-{
-    return std::unique_ptr<AbstractRecursor>(
-        new S_P2C2_Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff));
-}
-
-std::vector<TemplatePosition> S_P2C2_Model::Populate(const std::string& tpl) const
-{
-    std::vector<TemplatePosition> result;
-
-    if (tpl.empty()) return result;
-
-    result.reserve(tpl.size());
-
-    // calculate transition probabilities
-    uint8_t prev = detail::TranslationTable[static_cast<uint8_t>(tpl[0])];
-    if (prev > 3) throw std::invalid_argument("invalid character in template!");
-
-    for (size_t i = 1; i < tpl.size(); ++i) {
-        const uint8_t curr = detail::TranslationTable[static_cast<uint8_t>(tpl[i])];
-        if (curr > 3) throw std::invalid_argument("invalid character in template!");
-        const auto row = (prev << 2) | curr;
-        const auto params = ctxTrans_[row];
-        result.emplace_back(TemplatePosition{
-            tpl[i - 1], prev,
-            params[0],  // match
-            params[1],  // branch
-            params[2],  // stick
-            params[3]   // deletion
-        });
-        prev = curr;
-    }
-    result.emplace_back(TemplatePosition{tpl.back(), prev, 1.0, 0.0, 0.0, 0.0});
-
-    return result;
-}
-
-double S_P2C2_Model::ExpectedLLForEmission(const MoveType move, const uint8_t prev,
-                                           const uint8_t curr, const MomentType moment) const
-{
-    const size_t row = (prev << 2) | curr;
-    return cachedEmissionExpectations_[row][static_cast<uint8_t>(move)]
-                                      [static_cast<uint8_t>(moment)];
-}
-
-S_P2C2_Recursor::S_P2C2_Recursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                                 double scoreDiff)
-    : Recursor<S_P2C2_Recursor>(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff)
-{
-}
-
-std::vector<uint8_t> S_P2C2_Recursor::EncodeRead(const MappedRead& read)
-{
-    std::vector<uint8_t> result;
-
-    result.reserve(read.Length());
-
-    for (size_t i = 0; i < read.Length(); ++i) {
-        if (read.PulseWidth[i] < 1U) throw std::runtime_error("invalid PulseWidth in read!");
-        const uint8_t pw = std::min(2, read.PulseWidth[i] - 1);
-        const uint8_t bp = detail::TranslationTable[static_cast<uint8_t>(read.Seq[i])];
-        if (bp > 3) throw std::invalid_argument("invalid character in read!");
-        const uint8_t em = (pw << 2) | bp;
-        if (em > 11) throw std::runtime_error("read encoding error!");
-        result.emplace_back(em);
-    }
-
-    return result;
-}
-
-double S_P2C2_Recursor::EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr)
-{
-    assert(move != MoveType::DELETION);
-    const auto row = (prev << 2) | curr;
-    return emissionPmf[static_cast<uint8_t>(move)][row][emission] * kCounterWeight;
-}
-
-double S_P2C2_Recursor::UndoCounterWeights(const size_t nEmissions) const
-{
-    return -std::log(kCounterWeight) * nEmissions;
-}
-}  // namespace anonymous
-}  // namespace Consensus
-}  // namespace PacBio
diff --git a/src/models/SnrModelForm.cpp b/src/models/SnrModelForm.cpp
index 2475fa6..7bc8935 100644
--- a/src/models/SnrModelForm.cpp
+++ b/src/models/SnrModelForm.cpp
@@ -48,6 +48,7 @@
 #include "../ModelFactory.h"
 #include "../ModelFormFactory.h"
 #include "../Recursor.h"
+#include "CounterWeight.h"
 
 using namespace PacBio::Data;
 
@@ -82,14 +83,13 @@ private:
     const SnrModelCreator* params_;
     SNR snr_;
     double ctxTrans_[CONTEXT_NUMBER][4];
-    double counterWeight_;
 };
 
 class SnrRecursor : public Recursor<SnrRecursor>
 {
 public:
     SnrRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr, double scoreDiff,
-                const SnrModelCreator* params, double counterWeight);
+                double counterWeight, const SnrModelCreator* params);
 
     static std::vector<uint8_t> EncodeRead(const MappedRead& read);
     double EmissionPr(MoveType move, uint8_t emission, uint8_t prev, uint8_t curr) const;
@@ -120,7 +120,6 @@ private:
     double emissionPmf_[3][2];
     double transitionParams_[CONTEXT_NUMBER][3][4];
     double substitutionRate_;
-    double counterWeight_;
 };
 
 REGISTER_MODELFORM_IMPL(SnrModelCreator);
@@ -147,17 +146,32 @@ SnrModel::SnrModel(const SnrModelCreator* params, const SNR& snr) : params_{para
         for (size_t j = 0; j < 4; ++j)
             ctxTrans_[ctx][j] /= sum;
     }
-
-    counterWeight_ = params_->counterWeight_;
 }
 
 std::unique_ptr<AbstractRecursor> SnrModel::CreateRecursor(std::unique_ptr<AbstractTemplate>&& tpl,
                                                            const MappedRead& mr,
                                                            double scoreDiff) const
 {
+    const double counterWeight = CounterWeight(
+        [this](size_t ctx, MoveType m) { return ctxTrans_[ctx][static_cast<uint8_t>(m)]; },
+        [this](size_t ctx, MoveType m) {
+            const double kEps = params_->substitutionRate_;
+            const double kInvEps = 1.0 - kEps;
+            switch (m) {
+                case MoveType::MATCH:
+                    return kInvEps * std::log(kInvEps) + kEps * std::log(kEps / 3.0);
+                case MoveType::STICK:
+                    return -std::log(3.0);
+                default:
+                    break;
+            }
+            return 0.0;
+        },
+        CONTEXT_NUMBER);
+
     return std::unique_ptr<AbstractRecursor>(
         new SnrRecursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff,
-                        params_, counterWeight_));
+                        counterWeight, params_));
 }
 
 std::vector<TemplatePosition> SnrModel::Populate(const std::string& tpl) const
@@ -216,7 +230,7 @@ double SnrModel::ExpectedLLForEmission(const MoveType move, const uint8_t prev,
 }
 
 SnrRecursor::SnrRecursor(std::unique_ptr<AbstractTemplate>&& tpl, const MappedRead& mr,
-                         double scoreDiff, const SnrModelCreator* params, double counterWeight)
+                         double scoreDiff, double counterWeight, const SnrModelCreator* params)
     : Recursor(std::forward<std::unique_ptr<AbstractTemplate>>(tpl), mr, scoreDiff)
     , params_{params}
     , counterWeight_{counterWeight}
@@ -259,7 +273,6 @@ SnrModelCreator::SnrModelCreator(const boost::property_tree::ptree& pt)
         substitutionRate_ = pt.get<double>("SubstitutionRate");
         emissionPmf_[0][0] = 1.0 - substitutionRate_;
         emissionPmf_[0][1] = substitutionRate_ / 3.0;
-        counterWeight_ = pt.get<double>("CounterWeight");
     } catch (std::invalid_argument& e) {
         throw MalformedModelFile();
     } catch (boost::property_tree::ptree_error) {
diff --git a/src/poa/PoaGraphImpl.cpp b/src/poa/PoaGraphImpl.cpp
index 1a1e906..795d3e8 100644
--- a/src/poa/PoaGraphImpl.cpp
+++ b/src/poa/PoaGraphImpl.cpp
@@ -427,6 +427,21 @@ void PoaGraphImpl::CommitAdd(PoaAlignmentMatrix* mat_, std::vector<Vertex>* read
     repCheck();
 }
 
+struct VertexComparator
+{
+    VertexComparator(const BoostGraph& g) : g_(g) {}
+    // Use exsiting indices to provide a stable memory-agnostic ordering
+    bool operator()(VD v1, VD v2) const
+    {
+        const int vi1 = get(vertex_index, g_, v1);
+        const int vi2 = get(vertex_index, g_, v2);
+        return (vi1 < vi2);
+    }
+
+private:
+    const BoostGraph& g_;
+};
+
 void PoaGraphImpl::PruneGraph(const int minCoverage)
 {
     // We have to use an iterator since we're modifying the graph as we go
@@ -440,13 +455,24 @@ void PoaGraphImpl::PruneGraph(const int minCoverage)
         }
     }
 
-    // Re-index all vertices to the range [0, num_vertices(g_)]
+    // This is a workaround for the non-deterministic order of iteration
+    // from BGL's vertices, which like edges also appear to be ordered
+    // by memory address (see: http://stackoverflow.com/questions/30968690/)
+
+    // We can't use topological sort here, since having a vertex index greater
+    // than num_vertices(g_) causes a crash. Instead we sort the vertices by
+    // their existing index.  This should still be very fast, as the underlying
+    // collection should be mostly sorted already.
+    vector<VD> sortedVertices;
+    BGL_FORALL_VERTICES(v, g_, BoostGraph) sortedVertices.push_back(v);
+    std::sort(sortedVertices.begin(), sortedVertices.end(), VertexComparator(g_));
+
+    // Finally, re-index all vertices to the range [0, num_vertices(g_)]
     graph_traits<BoostGraph>::vertices_size_type current_index = 0;
     index_map_t index_map = get(vertex_index, g_);
-    // clang-format off
-    BGL_FORALL_VERTICES(v, g_, BoostGraph)
+    for (const VD& v : sortedVertices) {
         index_map[v] = current_index++;
-    // clang-format on
+    }
 }
 
 size_t PoaGraphImpl::NumReads() const { return numReads_; }
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 9816257..c3a7766 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -52,9 +52,9 @@ if(${ROOT_PROJECT_NAME} STREQUAL "UNANIMITY")
     add_custom_target(check
         COMMAND ${UNY_RootDir}/tools/check-formatting --all
         COMMAND test_unanimity --gtest_output=xml:${CMAKE_BINARY_DIR}/uny-unit.xml
-        COMMAND __PBTEST_CCS_EXE=${CMAKE_BINARY_DIR}/ccs ${UNY_RootDir}/scripts/cram --xunit-file=${CMAKE_BINARY_DIR}/uny-cram.xml ${UNY_TestsDir}/cram/*.t
+        COMMAND __PBTEST_CCS_EXE=${CMAKE_BINARY_DIR}/ccs __PBTEST_JULIET_EXE=${CMAKE_BINARY_DIR}/juliet __PBTEST_FUSE_EXE=${CMAKE_BINARY_DIR}/fuse ${UNY_RootDir}/scripts/cram --xunit-file=${CMAKE_BINARY_DIR}/uny-cram.xml ${UNY_TestsDir}/cram/*.t
         COMMAND __PBTEST_CCS_EXE=${CMAKE_BINARY_DIR}/ccs ${UNY_TestsDir}/python/test_tool_contract.py
-        DEPENDS ccs
+        DEPENDS ccs juliet fuse
         WORKING_DIRECTORY ${UNY_RootDir})
 endif()
 
diff --git a/tests/cram/100zmws.t b/tests/cram/100zmws.t
index da19f58..6a8cbf4 100644
--- a/tests/cram/100zmws.t
+++ b/tests/cram/100zmws.t
@@ -1,21 +1,17 @@
 
 Test ccs on 100 zmws from the lexogen-SIRV dataset
 
-  $ $__PBTEST_CCS_EXE --logLevel=DEBUG --minZScore -100 --maxDropFraction 0.8 $TESTDIR/../data/100zmws.bam test.fq
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- main -|- [0-9,a-f,x]+|| -|- Found consensus models for: (P6-C4, S/P1-C1) (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- main -|- [0-9,a-f,x]+|| -|- Using consensus models for: (P6-C4) (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/413/9570_12297, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/429/4100_6514, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/6103_8488, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/33592_34506, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/0_2116, ALPHA/BETA MISMATCH (re)
+  $ $__PBTEST_CCS_EXE --minZScore -100 --maxDropFraction 0.8 $TESTDIR/../data/100zmws.bam test.fq
+  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- ERROR      -|- ConsensusQVs -|- [0-9,a-f,x]+|| -|- In Polish::ConsensusQVs(ai): negative inf in mutation testing: 'm150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/23243_25347' (re)
+
   $ grep -c ^@ test.fq
   100
+
   $ cat test.fq
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/170/ccs np:i:10 rq:f:0.999803
   AAGCAGTGGTATCAACGCAGAGTACGGGAAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTT [...]
   +
-  x~~~~~~l~~~~~u~~~~~~~~~~~\~~I~~~n~~m~i~m~~~~pp~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qn~~~~~~~~~~n~~~n~~{8~m{xR~V~~q~W~n~~~~Z~~~~k~~|j~[~~h~~~~o~o~~v~I~~~~~k~~t~^~~_~m~~~q~~~~~h~~~j~~~~~nwsR~~~~~~l<~m~~~o~M~~S~~~~~~~~~j~~~~~g~~~~~u~o[~~O~~~~hn~ms~rl~~~~r~_m~H~~~~~W~~~~r~~op~~o~\~~~~~\~~g~e~p~~a~~~~~~~~f~~~~~~~{~g~j~q{a~~]~~~~a~~~~~wy~~\~~~~q~~~~~y~~~o~~~sqc~y~~K~~~~~o~~~~~~~~V~|n~~g~~~y~~~~~~~t~|~~p~o~~~~b~~~~~~z~~~V~~~~{~~~~oYY~~~~u~~a~{~z~~~w~l~~~~~~~~~{~~~~~~x~~~~e~~e~~~~u~~O~~}~~~k~~ [...]
+  x~~~~~~l~~~~~u~~~~~~~~~~~\~~I~~~n~~m~i~m~~~~pp~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qn~~~~~~~~~~n~~~n~~{8~m{xR~V~~q~W~n~~~~Z~~~~k~~|j~[~~h~~~~o~o~~v~I~~~~~k~~t~^~~_~m~~~q~~~~~h~~~j~~~~~nwsR~~~~~~l<~m~~~o~M~~S~~~~~~~~~j~~~~~g~~~~~u~o[~~O~~~~hn~ms~rl~~~~r~_m~H~~~~~W~~~~r~~op~~o~\~~~~~\~~g~e~p~~a~~~~~~~~f~~~~~~~{~g~j~q{a~~]~~~~a~~~~~wy~~\~~~~q~~~~~y~~~o~~~sqc~y~~K~~~~~o~~~~~~~~V~|n~~g~~~y~~~~~~~t~|~~p~o~~~~b~~~~~~z~~~V~~~~{~~~~oYY~~~~u~~a~{~z~~~w~l~~~~~~~~~{~~~~~~x~~~~e~~e~~~~u~~O~~}~~~k~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/230/ccs np:i:12 rq:f:0.999378
   AAGCAGTGGTATCAACGCAGAGTACGGGGATCCATTTTGGAGGGGTGGGGATTTGTTCAATGAATGAGGCAATAAACCACCGCAACCTCTGTAATTGACGAGAAACTTGTATAAGGTCATCAAAAAGAATAGATGAACATAAAGATTGAATACGGCTGGGTGAGGTTAATTCAGATTTCCCAAATTATGTAGATGAAAAGATGGTAAGTTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGGCGGTATATTGGTAAATGACGATCCTTGACTTAGTTTTTTACATCGAACGGTTGCAAATCCTAGCATACTTGATATTAATAGTAGATACTGAAATATATCTGAGTATATCAAGGGAAATCGAGATGTAACAATAAGTCGAGGAAATTAAGGTCAATTTAGTGCTTATCATAGAAATAACTACTTAAG [...]
   +
@@ -23,171 +19,171 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/301/ccs np:i:12 rq:f:0.999668
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGAAGTTCAATAACTTCGATGGTTACGTTGTCCTTAGTAACTGGGTTAATGACCTAATGACTGTCTCCCTATACGTCAAAATACTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATCTTCTTTAAGCTAACGATTAGGTTGTCCATTAGGTAACAATCACGGATAATAAGTGGCAGGACTACGTCAAGCAGGTAAACCCGCAAGGGCATAGTGTGCAAGTCCTTACTCAACCGTTTCGTTACGTTTTGCTTGGACACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTT [...]
   +
-  K~r~~Xhc~}~~|y~~ft~y~~~~|&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~g~}~~~~~tw~~g~p~~~~j~~~]~b~ee~V~~~N~~~~g~xxza~~c}~_~~~~~{~f~~~}~~~|~P9~~~~~~~~e~~~~~Z~~~qt~~e~v~j~~~~~~~~~~~ww~~R~~xe~~r~~k~~~|n~}~g~v~~~~y~~~u~zd~~~~~~~n~ttf~~m~~~~~~~~~}~~~~~u~k~|~v~~~~pR~~q~vw~zvJnZ~O~H~~oj~~b~~~s~z~~~~~~Vj~~~~r~~]~~W~~gz~~f~~Y~{~~~|kc~o~~~r~~~~~~_O~^~~X~~~tx~|~zG~~~z~{~j~~~~~h~~P~z~~~~~~~~~z~{|~~~yI~~~~K~~P~~I~~~~`~~~~~~|~~~~~~n~~~~~~~~~~~~~~~Vn~s~y~~~~~~\~~~~~~~j~~~~~~~~~g~~l,~~~~~~~}~|~~_~~~~qs~~ [...]
+  K~r~~Whc~}~~|y~~ft~y~~~~|&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~g~}~~~~~tw~~g~p~~~~i~~~\~b~ee~V~~~N~~~~g~xxza~~b}~^~~~~~z~f~~~}~~~|~P9~~~~~~~~d~~~~~Z~~~qs~~e~v~i~~~~~~~~~~~ww~~Q~~xe~~r~~j~~~{n~}~g~v~~~~y~~~t~zd~~~~~~~m~tte~~m~~~~~~~~~}~~~~~t~k~|~u~~~~pR~~q~vv~zvJmZ~O~G~~oj~~b~~~r~z~~~~~~Vj~~~~r~~]~~W~~fz~~f~~X~{~~~|kc~o~~~r~~~~~~_N~^~~X~~~tx~|~yG~~~z~{~j~~~~~g~~P~z~~~~~~~~~z~{{~~~yI~~~~K~~P~~I~~~~`~~~~~~|~~~~~~m~~~~~~~~~~~~~~~Vm~s~y~~~~~~\~~~~~~~j~~~~~~~~~g~~l,~~~~~~~|~|~~_~~~~qs~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/322/ccs np:i:16 rq:f:0.99988
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~r~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~S~~~~~~~~i~~Y~~~~~~~~~~~~~~~~~~~~~~~~W~~g~~~~~~~v~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~C~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~|~~~~~~f~~~~~~~~~~k~~~~O~~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~r~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~S~~~~~~~~i~~Y~~~~~~~~~~~~~~~~~~~~~~~~W~~g~~~~~~~v~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~C~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~|~~~~~~f~~~~~~~~~~k~~~~O~~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/335/ccs np:i:18 rq:f:0.999746
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAA [...]
   +
-  ~~~~~~~l~~~~~~~~~~~~~~~~~Q~~~~y~~~~~~~|~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~}~~~~s~~~~~~~~~g~~~~~~~~~m~~}~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b~~~~~~~~~~~~~~~~~~~~~~kw~~~~~~~~~~~~y~~y~~`~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~j~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~j~~~~~~g~~~~~~~~~~~~~~r~~~~~ [...]
+  ~~~~~~~j~~~~~~~~~~~~~~~~~O~~~~w~~~~~~~y~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~{~~~~p~~~~~~~~~e~~~~~~~~~j~~{~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~~~~~~it~}~~~~~~~~~~w~~w~~^~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~O~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~|~h~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~}~~p~~~}~~h~~~~~~f~~~~~~~~~~~~~~p~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/413/ccs np:i:12 rq:f:0.999906
   AAGCAGTGGTATCAACGCAGAGTACGGGGATTGGATTAAAAAAGTTGTAGTAAACCACAACGAAGTTAGGTAGCTGGTAAGGTTATAGATGCGTTCTGTCGTTGTAGTCCCAATGAACATAGTATGGTTTCGCATAGTAACTGACCTAAAAGACCGCCACATAGTGAAAATACTTAAAACGCAAGTTTCATAGGATTAAGTGGTAGAGGCTATAGAAAATGATATCATAACTATAACGAATATAACAGCAAATTAAAATGCACTGGAAGTGGAAAATTTCAGCAAGAGAGTCGAAGTCGTCATAGATTAGCATGGACGAAAGAAAAGTCGCAAAGATCGGAAATCAAGACGCAAAACAAAACGGAGAAGTTCAAATCGAACTCGTAGAACATATCGCTGGAACATATTAAACTCTTGGTATCGCTCAGTTACAAAAGGAGACACGTAGACACGAAAGAAACTGGAACAACAGACATATTTGTGGATAATG [...]
   +
   ~~~~~~~b~~~~~~~sxw~~~b~~~T~~~~~~p~~~~D~~~~~~h~~~~t~\~~_~~u~~~~~~tx~~~~~~~~~q~~~~u~~~~~~~~~~~~~~~~~~~~q~~~d~~Y~~~~~~|~X~~~~^x~r~~~~~xy}~~~~]~~~r~m~~R~~~~~o~~X~}~zw~~~uX~~~~~~~~^~~~u~~~~~~~~~~~~v~~~~~~~~r~~~~~a~~~~~~z^~~~~~~~~~~~~~~~~~~o~~~z~~~~~~~~~~|~~~~]~~~~~~~~~x~~~~~p~c~~~o~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~~~~~e~~~~~~~~~~~~u~~~~~~b~~~~~~~~~~v~~e~~~~b~~~~~~~|~~~z~~`~~~~zA~~~~O~~~~~~~~~~~~~~p~~~~~~~~~l~~~~~~~h~~~~~~c~~~~i~~}t~~~q~~~~|~~~~~~~~~~~S~~~Y~~~~~~~~S~~~~~~~~~~_~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs np:i:10 rq:f:0.998932
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs np:i:10 rq:f:0.998942
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTTT [...]
   +
-  I~~}~~tX~~~~jf~|~k~|~~O~q'~~~~~~~~~~~~~~~~~~~~~~~~~idrv~c{mjY~h~~we}~dF~b~~i~@~x~~T~~~~~~m~~~tT~~~m~K~~I~`x~n~Y~~o~]~~~m~Y~~X~&~[[~~~q~~~l'~~~Z~ifN~dH~~~~~E~~~~~t~{~T~~~X~M~~i~z~~~m~~~d~}~z|k~~~MeH~~l~~Q~~~~~~~~;~wa~V~~@~~j~J~~~qq\~~~n~~~~~d~|~U~~~~~W~~y~T~ym~F~~~}c~j~^~~}~~~~pNV~Y~ob[~kV~~^q@~~~~~]~sX%Mk~~~%~oAmW[~zp~pdf~~:VYsW@}~~~f~~e}~~~k~l~n~n~i~f~L~\~~~~~~{O~~Z~S~~k~~~~~~~}~~~~X~~itbX~QU~wS~~j~j~~f~f|h~ukpii~b`g~~tphY~j~~bTp~~~~t~~k~~p~o~rn~~~s_~^~~ImU~rk~~_~i~~~^~n\h~f~qnoi]rE~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/420/ccs np:i:20 rq:f:0.999865
+  I~~}~~tX~~~~jf~|~k~|~~O~q'~~~~~~~~~~~~~~~~~~~~~~~~~idrv~c{mjY~h~~we}~eF~b~~i~@~x~~T~~~~~~m~~~tT~~~m~K~~I~`x~n~Y~~o~]~~~m~Y~~X~&~[[~~~q~~~l'~~~Z~igN~dH~~~~~E~~~~~t~{~T~~~Y~M~~i~{~~~m~~~d~}~z}k~~~MeH~~l~~Q~~~~~~~~;~wa~V~~@~~j~K~~~qq\~~~n~~~~~d~|~U~~~~~X~~y~U~ym~F~~~}c~j~^~~}~~~~pNV~Y~ob[~kV~~^q@~~~~~]~sX%Mk~~~%~oAmW[~zp~pdf~~:WYsWA}~~~f~~e}~~~k~l~n~n~i~f~L~\~~~~~~{O~~Z~S~~k~~~~~~~}~~~~X~~itbX~QU~wS~~j~j~~f~f|h~ukpii~b`g~~tphY~j~~cTp~~~~t~~k~~p~o~rn~~~s_~^~~ImU~rk~~_~i~~~^~n\h~f~qnoi^rE~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/420/ccs np:i:19 rq:f:0.999784
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~r~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~w~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/428/ccs np:i:16 rq:f:0.999492
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~g~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~o~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~o~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/428/ccs np:i:15 rq:f:0.999615
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  i~~d~~~b~~~[~}~~Vizw~~~~~M~~~~e~b~~~~~}F~~t~~v~D~~i~~~~zi~~s~r~~~H~~~~~~~~~~2~~~~~~~~f~r~o~~~~i~~~~~u~~u~~~~~~~~~~~b~~uuuz~~~U~~~~~~k~~~~~~s~~~~~~~~y~~m~~~~|r~~~~~~~~~~~~~x~~w~z~~~~~~~}~~uj~~j~~~z~~~\~~~~~~~~~~~~~X~~c~]~9~~~g~~~~~~~~~~~rj~~~~uv]~~~~~~~~~~~~~~~m~v~~~v~~~~~~~R~V~~akn~~w~~w^~~~~~~~~z~\~~~n~~~~~~~~~}~~~~~~~~b~~~~h~~~~Y~~~~~l~~y~~~~~~~~~~~ym~~~~~~}~~~}~~i}~~~~~p~x~~~~~~~~~~~t~~~~w~~nr~~~k~~~~~~z~~~v~~~~~uW~w~~~~~~~~~w~~{~~hW~^~~c~c~H~W}~~~~x~w~~r~~~~~p~~~j~|~~~~y~~M~~~m~~~~ [...]
+  w~~Z~|~Y~~~Q~r~~N_pow~~~vU~~~~\~k~~~~~t@~~o~~j~;~~]~~{xq`~~j~g~}~?~~~~~~~~~~*~~~~~~~{\~f~g~{~~_~~~~~m~~l~w~~~~~~~~~Z~~lljq~~~M~~~~~~c~~~~~~k~~~~~~~~n~{b~z~~tg~~~~~~~~~~~~~n~~l~ou~~~~~~u~~me~~e~~~p~~~T~z~~~~~~~~~~~S~~^~m~7~~~e~~~~~~~~~~~mf~~~~nn[~~~~~~~~~~~y~~~hzs~~~q~~~~~~~K~a~~Ybf~~o~~pX~}}~~~~~qyV~~~k~~~~~~~~~x~~}z~~~~l~~~~c~~~~c~~}~~d~~r~~~~~~~~~}~~i~~~~~~y~~zw~~ay~~~~~g~r~~x~{wvx~~~p~~~~r~~dm~~}h~~~~~}t~~~n~~~~~kR~~~~~~~~~~~o~~u~~bO~X~~p~a~A~dy~~~~t~q~~n~~~~~j~|~c~ty~~~s~~U~~~n~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/429/ccs np:i:10 rq:f:0.9993
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAAT [...]
   +
-  n~~}~~~d~~~~`r~ww~~on~~~~X~~~~~v~~~~dN~~~lP~s~~~p~ps~~q~m~~b~u~~q~~v~~~a~~w~~mV~~v~V~~~~~~u~~c~~~~~~~Q~q~E~~~~o~u:~~~~~~O~~a~~~~~~{s~s~~~~sP~~~r~~~c~~~a~~L~~~~~~~sp~w~~~w~~~d~~~~~~~f~~~~~F~~~~a~~~~qoS~~o~Q~~~~~~~_~f~~~u~~/~~~~~~a~o~7~~~~nO~~~r~~~u~~~~~~~u~~~~p~~~l~~p~q~p~u~~~}}~~fP~~v~~~f~~~~~~W~~v~~~l~7~~~~~w~=~]~q~~~{p~~~~~~c~~va~t~~~a~~~~~p~~~j~~^~~u~f~~~Q~~~m~r~~~~N~~~~~|Gqtlazr~{~d~~~~~t~~~^~~~~~p~u~W~~~~a~~Nm~~~~~~~~~z~Q~q~~~~~~~H~~~~tr~~xc~~psu~e~~r~~s~~~~v~g~y~~~~q~~~~~~~crbv~~ [...]
+  n~~}~~~d~~~~`r~ww~~on~~~~X~~~~~v~~~~dN~~~lP~s~~~p~ps~~q~m~~b~u~~q~~v~~~a~~w~~mV~~v~V~~~~~~u~~c~~~~~~~Q~q~E~~~~o~u:~~~~~~O~~a~~~~~~{s~s~~~~sP~~~r~~~c~~~a~~L~~~~~~~sp~w~~~w~~~d~~~~~~~f~~~~~F~~~~a~~~~qoS~~o~Q~~~~~~~_~f~~~u~~/~~~~~~a~o~7~~~~nO~~~r~~~u~~~~~~~u~~~~p~~~l~~p~q~p~u~~~}}~~fP~~v~~~f~~~~~~W~~v~~~l~7~~~~~w~=~]~q~~~{p~~~~~~c~~va~t~~~a~~~~~p~~~j~~^~~u~f~~~Q~~~m~r~~~~N~~~~~|Gqtlazr~{~d~~~~~t~~~^~~~~~p~u~W~~~~a~~Nm~~~~~~~~~z~Q~q~~~~~~~H~~~~tr~~xc~~psu~e~~r~~s~~~~v~g~y~~~~q~~~~~~~crbv~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/456/ccs np:i:17 rq:f:0.999773
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGCG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~D~~~~~~~~~~\~~~~~y~~~~~~~~~~~S~~~~~~~~~~~~~~~r~~~~~~~~~~~~i~~~~m~~~~~~~~~~~~\~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~y~~~~~~`~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~W~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~f~~~~h~~~~~~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~D~~~~~~~~~~\~~~~~y~~~~~~~~~~~S~~~~~~~~~~~~~~~r~~~~~~~~~~~~i~~~~m~~~~~~~~~~~~\~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~y~~~~~~`~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~W~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~f~~~~h~~~~~~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/578/ccs np:i:10 rq:f:0.999474
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  _~~~~~~l~~~w~_~flU~~~_~~n9~~~~~ifn~{tM~|~ry~~~~r~H~~~~v~~a~~E~~~~d~[m~~e~~^~~~~~~Z~V~~X~j~nm~~q~~l~B~~V~~[~~`~~~~~z~{R~~~~s~h~~b~^~~~`~~~~[~d~~~~c~|g]zP|yQQ~y~\>~~~Y~~X~~l~~h~Y~~~~~V~~Z~~~G~~~~k~l~k}p~~e~~~B~,}j~k~~j~~J~~Y~[nRj~~N~~~~Z~|Q~~~~U~~-~~~Udizxh~g~~~~~~R~~~jU~|~~~Y~~~Y~~g~~~j}{x~g~~~VY~~~}nUj~~}M~~l~W~~~x~q~~~H~}?~~~qg~~q~~~l~~}Yy~~G~~eSkk~~S~?~{m~~~~I~~~}VU~~jeM~~~~k~|njT~j~~l{ehZ~~n~~T~p@~R~f~~~~zTm~G~~~}~~~~s~~~~~or~~~k~~U\~~j~~~~~f~~n~{~~-~~~~~~{P~~~~u~~~~a~~~~m~~~~~~~|~k [...]
+  _~~~~~~l~~~w~_~fkU~~~_~~n9~~~~~ifn~{tM~|~ry~~~~r~H~~~~v~~a~~E~~~~d~[m~~e~~^~~~~~~Z~V~~X~j~nm~~q~~l~B~~V~~Z~~`~~~~~z~{R~~~~s~h~~b~^~~~`~~~~[~d~~~~c~|g]zP|yQQ~y~[>~~~Y~~X~~l~~h~Y~~~~~V~~Z~~~G~~~~k~l~k}p~~e~~~B~,}j~k~~j~~J~~Y~[nRj~~N~~~~Z~|Q~~~~U~~-~~~Udizxh~g~~~~~~R~~~jU~|~~~Y~~~Y~~g~~~j}{x~g~~~VY~~~}nUj~~}M~~l~W~~~x~q~~~H~}?~~~qg~~q~~~l~~}Yy~~G~~eSkk~~S~?~{m~~~~I~~~}VU~~jeM~~~~k~|njT~j~~l{ehZ~~n~~T~p@~R~f~~~~zTm~G~~~}~~~~s~~~~~or~~~k~~U\~~j~~~~~f~~n~{~~-~~~~~~{P~~~~u~~~~a~~~~m~~~~~~~|~k [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/603/ccs np:i:12 rq:f:0.999868
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATG [...]
   +
-  ~~~~~~~~~~~~~\~~~~k~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~a~~~~i~~~~r~~{~~~~~~~~~~~~~~h~~~~~~~~~j~~~~~~~~~~|~~~d~~~~~~~~~~~~~~~~~~y~~~a~~~~x~~~~~e~~e~~~~~~~~~~~~y~~~g~~z~~~d~~~~}~~~~~~~~~~~~~~~~o~~~z~~~~~~~~y~~~~~~~~~~~r~~~~|~~m~~~u~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~\~~~~~~~~s~x~~~~m~~~~~~~~~~~~~~~~v~~~~~~m~~~~~\~v~~~w~~~~~~~~ve~~~~~~~~~rs~~~~~~~~~~~T~~~~~~~u~~k~~~~i~~~~~~~}~~~~~v~~r~~~~~~~~~~~~{~~~~~~~~~~~`~~~w~~~J~~~~~~z~~m~~~~~~~~x~~{~`~~x~~~~~Q~~~~~~~p~~yb~~z~~Y~~u~c~~~~~~~~~~{~w~~~~~~~~q [...]
+  ~~~~~~~~~~~~~\~~~~k~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~a~~~~i~~~~r~~{~~~~~~~~~~~~~~h~~~~~~~~~j~~~~~~~~~~{~~~d~~~~~~~~~~~~~~~~~~y~~~a~~~~x~~~~~e~~e~~~~~~~~~~~~y~~~g~~z~~~c~~~~}~~~~~~~~~~~~~~~~o~~~z~~~~~~~~y~~~~~~~~~~~r~~~~|~~m~~~u~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~\~~~~~~~~s~x~~~~l~~~~~~~~~~~~~~~~v~~~~~~m~~~~~\~v~~~w~~~~~~~~ve~~~~~~~~~rs~~~~~~~~~~~T~~~~~~~u~~k~~~~i~~~~~~~}~~~~~v~~r~~~~~~~~~~~~{~~~~~~~~~~~`~~~w~~~J~~~~~~z~~m~~~~~~~~x~~{~`~~x~~~~~Q~~~~~~~p~~yb~~z~~Y~~u~c~~~~~~~~~~{~w~~~~~~~~q [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/624/ccs np:i:14 rq:f:0.999806
   TGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAG [...]
   +
-  ~^~~~~~~~~~~wh~~~~~b~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~u~~~~~~~~~~g~~~~~~~~s~~~~~~~~p~~~~~~~~~~~~~~~~~~~~p~~~~~x~~~h~~~~~~~~~~~~~U~~~~~~~~~~~~~r~~~~~~~~~t~~~~~~~~~~~~~m~~~~~~o~~~k~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~_~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~w~~l~~~~~~~~~~s~~~~~~~b~~~~~z~~~~~~~~~~~~~~~Q~~~~~~v~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~z~~~~~~~~~~~~~x~~~~~~n~~~~t~~~~{~~~~k~~~~~~~~~Z~~~~~~~~~~~m~~n~~r~~~~~~~~~~~ [...]
+  ~^~~~~~~~~~~wh~~~~~b~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~u~~~~~~~~~~g~~~~~~~~s~~~~~~~~p~~~~~~~~~~~~~~~~~~~~p~~~~~x~~~h~~~~~~~~~~~~~U~~~~~~~~~~~~~r~~~~~~~~~t~~~~~~~~~~~~~m~~~~~~o~~~k~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~_~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~w~~l~~~~~~~~~~s~~~~~~~b~~~~~z~~~~~~~~~~~~~~~Q~~~~~~v~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~z~~~~~~~~~~~~~x~~~~~~n~~~~t~~~~{~~~~k~~~~~~~~~Z~~~~~~~~~~~m~~n~~r~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/657/ccs np:i:18 rq:f:0.999147
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y{~~h~~~~~~~~T~~~~~~~~~k~~~~~~~~~~~~~~~q~~w~~~~~~~~~~~~~~~~~~~~H~~~~~~~~u~~~~~~~L~~~~~~~~~~~T~~~~~~~~~~~~~~~~~s~~~~k~~~~~T~~~~z~~~~~~~~z~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ux~~~~~~|~~~~v~e~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~u~~~~~x~~k~~~~m~~~~~~~~~~~~~~`~~M~~~~~~~~~~P~~~~y~~~~~~~x~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~v~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y{~~h~~~~~~~~T~~~~~~~~~k~~~~~~~~~~~~~~~q~~w~~~~~~~~~~~~~~~~~~~~H~~~~~~~~u~~~~~~~L~~~~~~~~~~~T~~~~~~~~~~~~~~~~~s~~~~k~~~~~T~~~~z~~~~~~~~z~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~tx~~~~~~|~~~~v~e~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~u~~~~~x~~k~~~~m~~~~~~~~~~~~~~`~~M~~~~~~~~~~P~~~~y~~~~~~~x~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~v~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/692/ccs np:i:14 rq:f:0.999458
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTATCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  h~~v~o~D~~~~~~~~~~~~~~~~x5~~~~l~g~k~~~~u~~v~~~~}~~~~l~G~~d~~~~~l~~h~~~y~|q~s~~~~~~~~~~~~~~_~~~~|c~~}Y~~~~F~~~~~~~~~{m~~~~~~~~~y~m~d~~~~~~~~~~m~~~q~m~~m~I~~~~~e~~j~ievqf~a~r~~~}~~~~~~~t~m~~~~~~~~~~a~~~~~W~~~~{~~~~~~~~~~~m~xh~~~z~~p~~n~~o~~~~~~~~~~m~~Wk~}~~r~~~~~n~~~J~~~T~{s~~~~n~~:~~~~~m~~v~~~~~j~~~o~~_~f~~z~~~~Q~wpi|~~~~~r~~o~u~~~~~b~~H~~[~~~s~~{~~~~~j~~~~u~i~~~d~~~~}~~~u~}~m~~~x~c~~~g~u~~y~m~p~T~~J~~~~~~~~}~~~~~~~a~~mk~~~~~_~~u~o~\~~~p~~~~~~~P~E~~~~~~~}p~q|~~~s~k~~~~~~~~~~~~~~i~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs np:i:18 rq:f:0.999647
+  h~~v~o~D~~~~~~~~~~~~~~~~x5~~~~l~g~k~~~~u~~v~~~~}~~~~l~G~~d~~~~~l~~h~~~y~|q~s~~~~~~~~~~~~~~_~~~~|c~~}Y~~~~F~~~~~~~~~{m~~~~~~~~~y~m~d~~~~~~~~~~m~~~q~m~~m~I~~~~~e~~j~hevqf~a~r~~~}~~~~~~~t~m~~~~~~~~~~a~~~~~W~~~~{~~~~~~~~~~~m~xh~~~z~~p~~n~~o~~~~~~~~~~m~~Wk~}~~r~~~~~n~~~J~~~T~{s~~~~n~~:~~~~~m~~v~~~~~j~~~o~~_~f~~z~~~~Q~wpi|~~~~~r~~o~u~~~~~b~~H~~[~~~s~~{~~~~~j~~~~u~i~~~d~~~~}~~~u~}~m~~~x~c~~~g~u~~y~m~p~T~~J~~~~~~~~}~~~~~~~a~~mk~~~~~_~~u~o~\~~~p~~~~~~~P~E~~~~~~~}p~q|~~~s~k~~~~~~~~~~~~~~i~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs np:i:18 rq:f:0.999655
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  ~~~u~~~o~~~~~~~h~~~~~~~~~F~~~~~~m~~~~~~~~~~~~~~m~~F~~~~~~~~~~~~~~U~~~~~~~~~~C~~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~X~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~X~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b~~~~~~~~~~~~U~~~~~~~~~~~~~~[~~~~a~~~~~~~~m~~~~~~~~~~~~X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~h~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~|~~~~~~~~ [...]
+  ~~~x~~~q~~~~~~~j~~~~~~~~~I~~~~~~o~~~~~~~~~~~~~~p~~I~~~~~~~~~~~~~~X~~~~~~~~~~F~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~Z~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~Z~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~d~~~~~~~~~~~~W~~~~~~~~~~~~~~]~~~~c~~~~~~~~o~~~~~~~~~~~~[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/734/ccs np:i:25 rq:f:0.99968
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACTG [...]
   +
-  ~~~~~~~d~~~~~~~~~~~~~~~~~c~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]~~~~~~~~~~K~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~n~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/820/ccs np:i:20 rq:f:0.999826
+  ~~~~~~~e~~~~~~~~~~~~~~~~~d~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~L~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~~n~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/820/ccs np:i:20 rq:f:0.99989
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs np:i:13 rq:f:0.999284
+  ~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~W~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs np:i:13 rq:f:0.999494
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  (W]Kc3SR~}~~gE~fjiiDaW~~h2~~~~~~~V~Ejp~x~tb~[~~h~H~~~~~f~~~p0~~Tp{~~X~Xq~~6~~r~W~ZnN~~ITv~nV~:s^~_~]~@at~U~zY~~wWrWX_XW~~|TVP~~~mF~~|h~}n~M~Pp2T~j~j~kfZ}]~@~4~VC~~yP{~e~Flp~U~M~~~~~S~l:~~x9qd~m`~P~|Hw1tD~U~~~?~^~h_o^{ry~~R~~hbF~~=~~~~rj~N~~~|;~b~~Xnw9xa{cn}b~~~~|X~Xijq~{{eQ>~~~mt~:~~~}VmrfC~~jfR~v~~nZWr~~K~~kd@~J at e~[~j~L~kU~~~\M~~~~\~li~tWp[M3w~~j^~~~?~^H~hVu~~8~~~q~]~~~L2~~X~~~~uep~b~k~~x~~~~~~~^~~h~W~d~`~Qw~q~[~~~r|~Dzt~~r[~S~~~~R~~s|~~i~~~F~X~~mZg~~[~~~~~~rH~~~dG~}t~Y~v~~r~MI~em~~~s [...]
+  (W]Kc3SR~}~~gE~fjiiDaW~~h2~~~~~~~V~Ejp~x~tb~[~~h~H~~~~~f~~~p0~~Tp{~~X~Xq~~6~~r~W~ZnN~~ITv~nV~:s^~_~]~@at~T~zY~~vWrWX^XV~~|TVP~~~mF~~|h~}n~M~Pp2T~j~j~kfZ}]~@~4~VC~~yP{~e~Flp~U~M~~~~~S~l:~~x9qd~m`~P~|Hw1tD~U~~~?~^~h^o^zry~~R~~hbF~~=~~~~rj~N~~~{;~b~~Xnw9xa{cn}b~~~~{X~Xijq~{{eQ>~~~lt~:~~~}VmrfB~~jfR~v~~mZWr~~K~~kd@~J at e~[~j~L~kU~~~[M~~~~\~li~tWp[M3w~~j^~~~?~^H~hVu~~8~~~q~]~~~L2~~[~~~~wgs~d~m~~z~~~~~~~`~~j~Z~f~c~Tz~t~]~~~t~~F|w~~t]~U~~~~T~~v~~~k~~~H~Z~~p\j~~^~~~~~~tK~~~gI~~w~\~x~~t~OK~ho~~~u [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/873/ccs np:i:26 rq:f:0.999769
   AAGCAGTGGTATCAACGCAGAGTACGGGAATCCGAAATCGAGATGGAGAGAAAGTTTGACTAAACTTTGTTACAGTATTTTTGAAGGCAATCAACCTGGAACTTTGGATTTCATCAAGTAAACACCCATATTTAGCGAAAATGCAAGCTAACTGCGAACTAACAAGGTAACTCTTTTTCGATTTCAAAATATGGTCAGTAGCAATATGTTAAGTGATCCATTTTGGAGGGGTGGGGATTTGTTCAATGAATGAGGCAATAAACCACCGCAACCTCTGTAATTGACGAGAAACTTGTATAAGGTCATCAAAAAGAATAGATGAACATAAAGATTGAATACGGCTGGGTGAGGTTAATTCAGATTTCCCAAATTATGTAGATGAAAAGATGGTAAGTTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/938/ccs np:i:13 rq:f:0.999697
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATT [...]
   +
   z|w~~~~I~~~~~d~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~klVL~~~~~~~~~t~~~~~r~~~h~~]~~~~q~u~~v~z~o~~~D~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~b~P~~R~~~~~~}~~~~~~~}~~~~c~~~~~~~{~~`~~~~~~bst`~~~]~U~~~~~|~~~~~~}~{Q~~~oK~r~~~WW~~~~ow~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~G~~~z~~~~~~~~~~~~~~~L~~~~~u~uw~~~~~~~~~{~M~~~~~~~~x~~~j~~`~~~~~e~\D~~~~~~~~~~~~~~~~~k~~zn~Y~~~~~~~yk~~\~~~~~j~~~~~~~~~~~~~u~~e~~~~~~~~~~~~~~~~~~h~~~~~d~~~~~~~~~P~~}~~v~~}~s~~~~~~~~~~~~~~~~~~~}}~J~~~~~~A~~~~~~|~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs np:i:23 rq:f:0.999169
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs np:i:22 rq:f:0.998805
   AAGCAGTGGTATCAACGCAGAGTACGGGATCGTGGCCCAGTCAGTGGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTACAGATGCGGTTTATTGGATTGGTTACAAC [...]
   +
-  ~~~T~~~~~~~~~f~~~y~~~~~~~'~~~~~~~l~h~~~~~~~~~~~~~~~~~~~~~e~~~t~~~z~~~~~~~~~~~~~q~~~g~~~~~~~~~~q~~~~~~~~~~~C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~q~~~~~~p~~~~~j~~~~p~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~0~~~s~~[~~~~~~~~~~~b~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e{~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~t~~~~~~~~f~~~~~~~~~~~~|~~~~~~~~~~~~~~~i~~~~~~~~~~~~s~~~~~~~~~~~~_~~~~~~ [...]
+  ~~~K~~~~~~~~~Z~z|p~~~~~}~$~~~~~~~_~e~~~~~~~~~~~~~~~~~~~~~X~~~l~~~~~~~~~~~~~~~~~v~~~d~~~~~~~~~~n~~~~~~~~~~~<~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~s~~~~~~y~~~~~i~~~~o~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~4~~~w~~f~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ov~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~`~~~~~~~~~~~~t~~~~~~~~~~~~~~~l~~~~~~~~~~~~n~~~~~~~~~~~~a~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1091/ccs np:i:12 rq:f:0.999764
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTT [...]
   +
   ~~~~~~~Y~~~~~{~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~l~~~~~T~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~l~~~~~~~~~~~\~~^~~~~~~~~~~~~P~~~~~~~~~~~~~~~M~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~?~~~~~~~~~~~~~~~~~~~~~c~~~~~S~~R~~~~~~~~~~m~~~~~^~~~~y~~~~Z~~~~~~~~z~~~~~~~~~~~~~~~~~~Z~~~~S~~~~~~~~~a~~~~d~~~~~~~~~~~~~}~v~~~~n~~~~~~~~~~~~~~~~~~~~}~~~w~~~~~~~~~~~~i~{~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~X~~R~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~|~~~~~~~Z~~~~~~~~~~~k~~~~~~~i~~~~~~~~~~~~~~~~~{~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1092/ccs np:i:21 rq:f:0.999645
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1092/ccs np:i:21 rq:f:0.999583
   AAGCAGTGGTATCAACGCAGAGTACGGGGATCGTGGCCCAGTCAGTGGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTACAGATGCGGTTTATTGGATTGGTTACAA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~~~~*~~~~~~~~~~~~c~~~~~~~~p~~Y~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~g~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~~~~~x~w~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs np:i:10 rq:f:0.999505
+  ~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~~~~*~~~~~~~~~~~~c~~~~~~~~p~~Y~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~g~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~O~~~~~~~~~~~~~~~~~~~~~~~x~w~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs np:i:10 rq:f:0.999579
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTACCCTCTCTTGATTTTTTACCTATCAATAAACTTACCATCTTTTCATCTACATAATTTGGGAAATCTGAATTAACCTCACCCAGCCGTATTCAATCTTTATGTTCATCTATTCTTTTTGATGACCTTATACAAGTTTCTCGTCAATTACAGAGGTTGCGGTGGTTTATTGCCTCATTCATTGAACAAATCCCCACCCCTCCAAAATGGATCACTTAACATATTGCTACTGACCATATTTTGAAATCGAAAAAGAGTTACCTTGTTAGTTCGCAGTTAGCTTGCATTTTCGCTAAATATGGGTGTTTACTTGATGAAATCCAAAGTTCCAGGTTGATTGCCTTCAAAAATACTGTAACAAAGTTTAGTCAAACTTTCTCTCCATCTCGATTTCGGATTGTGATGAATATGAAACGTTAAATTGTGATTTTTTCATTTTC [...]
   +
-  ~~q~~~~4~h~~~b~~ro~~~~~s~$~~~~~~~~~~~~~~~~~~~~~~~~~~~Q~~~~~jn~~~8~~~~~tf~ky~Zz~~a~~~p~i;~wzhO~~~~~~~~~p~Y{~W~~Z~~_~~~i~~Z~~~j~?~fj~\~~w~p~~~~x~~h~z_8~~~~~y~gtFa~~~~~D~~~~~|~~~v~m~~~~t~~xU~~Rx~~~ww~}~~~~z~u~~~wxq~~o~f~~_~~JW~g_~{~l|~~wm~uY~~~K~~~~E~~~~X~_~~~~M~gj~~~t~q~tm~~~~~xr~~~Z~u~~s~P~~~r_~~`~wA~~~~~~~s~~>~_~sx~~x@~~`oW^~~~x~g~~~~;~~~z{x~`~~~~~K~~~dF~~~dd~~~qzf~~v^~^~~~=~Y~~f~h~y~m~~`~c~~P~~~~is~~d~w~\?~~ww~~~z~~h~~ym~~~~~~l~~~~~qu~H~~~t~~r~r~^~~~u~~~~va~~~~y~\~~S~~~w~6~~~~~~~^~~~~ [...]
+  ~~r~~~~5~j~~~d~~tq~~~~~u~%~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~~lp~~~:~~~~~vh~m{~\|~~c~~~r~k=~y|jQ~~~~~~~~~q~Z|~X~~\~~a~~~k~~\~~~l~@~hl~^~~y~r~~~~z~~i~|`:~~~~~{~ivHc~~~~~F~~~~~}~~~x~o~~~~v~~zV~~Tz~~~yy~~~~~~|~w~~~xzr~~q~h~~a~~LY~ha~|~n}~~yo~v[~~~M~~~~G~~~~Z~a~~~~O~ik~~~v~s~vn~~~~~zt~~~\~w~~u~R~~~ta~~b~xB~~~~~~~u~~@~a~uy~~zB~~bqY`~~~y~h~~~~=~~~||z~b~~~~~M~~~fH~~~ff~~~s|h~~x_~`~~~=~X~~f~h~y~m~~_~c~~P~~~~is~~d~w~\>~~vw~~~z~~h~~xm~~~~~~l~~~~~qu~G~~~t~~r~r~]~~~u~~~~va~~~~y~\~~S~~~w~6~~~~~~~^~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1199/ccs np:i:20 rq:f:0.999746
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACTG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~g~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~K~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~M~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1216/ccs np:i:23 rq:f:0.999443
+  ~~~~~~~~~~~~~~~~~~~~~~~~~f~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~J~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~x~~X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~M~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1216/ccs np:i:23 rq:f:0.999494
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAAT [...]
   +
-  ~~~~~~~~~~~~~\~~~~~~~~~~~>~~~~~~~.~~~~~~~~~~~~x~z~~~~~~~~h~~l~l~~~~~~~~~x~~~~~~~~~C~~~~~~~~~~~~~U~~~~~l~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~t~~~c~~j_~~X~~~~~~~~~~~y~~~~~~~~~v~~m~~~L~~~~~~~~~~~~~~~~|~~~~~~u~~~~~~~~~~~~~~~~~{~~_~~~x~~~~~~t~~~~~~~y~~~~~~~~~~~~~~a~~~l~~~~~~q~~~~~~~~~~~~~~~~n~~~~[~~~~4x~~w~~~~~~~~~~~~I~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~w~~~~~O~~~~~~~~~~x~~~~~~~~~~\~~~~~~~~~~~~~~n~y~~~~~~~~i~~~~|~~~~n~g~~]~~~~~~~~~~~~~~~~n~~m~~~j~~~~~~~~~~~~~~~~~~~~~I~t~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1226/ccs np:i:11 rq:f:0.998655
+  ~~~~~~~~~~~~~_~~~~~~~~~~~A~~~~~~~1~~~~~~~~~~~~{~}~~~~~~~~k~~p~o~~~~~~~~~{~~~~~~~~~G~~~~~~~~~~~~~Y~~~~~p~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~x~~~g~~mc~~[~~~~~~~~~~~}~~~~~~~~~z~~p~~~P~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~c~~~|~~~~~~w~~~~~~~|~~~~~~~~~~~~~~d~~~o~~~~~~u~~~~~~~~~~~~~~~~q~~~~_~~~~8|~~{~~~~~~~~~~~~L~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~{~~~~~R~~~~~~~~~~{~~~~~~~~~~`~~~~~~~~~~~~~~r~}~~~~~~~~l~~~~~~~~~r~j~~a~~~~~~~~~~~~~~~~r~~q~~~m~~~~~~~~~~~~~~~~~~~~~L~w~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1226/ccs np:i:11 rq:f:0.99889
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACAC [...]
   +
-  2`$Z(8[Q~~~~~3~h~{~~i~r~^%~~~~~~~~~~~~~~~~~~~~~~~~~oE;jq~}zpi~f~~km~il~T~q~rWXFz~t~~~t_~~d`({ngey~d~T~nm`zT~~~\~ua~~gJk~~~~.GB~~ogm_~t~Pg.Xtsd{~~g~U~o^~~~R~uk;F~zl~ppxwXWnU~Z~~~io~[~db~~rM{N~*~^~lG~|o]~~MJ~~Ko~t~J~w~ez~ag^jE~~~|~Y~~s~M~~gSn~{~tm~n~~~~e~v^o|qczr~_~~~~[q~z`~~~ia~~n~~S~L~l~t~m~~~soX~l~i~~~p~>~_~J~Z~~~j~~v~~~[~~X~uG~c|~kJVsrV}~glg6L:glVVzf~NP~~zU~~Rg~~{r}D]h~q\esb~w|j~gVMll~u~~]etCqtU~}~@|H~~I~~~~z^~~`\xgL~wt}~~~p~X~|b~f~~~l~qr~~~~~~i~~_~~H~~~~~[v~~~~~x|~e~s~vm~pO~S~m~`rrn [...]
+  2`$Z(8[Q~~~~~3~h~{~~i~r~^%~~~~~~~~~~~~~~~~~~~~~~~~~oE;jq~}zpi~f~~km~il~T~q~rWXFz~t~~~t_~~d`({ngey~d~T~nm`zT~~~\~ua~~gJk~~~~.GB~~ogm_~t~Pg.Xtsd{~~g~U~o^~~~R~uk;F~zl~ppxwXWnU~Z~~~io~[~db~~rM{N~*~^~lG~|o]~~MJ~~Ko~t~J~w~ez~ag^jE~~~|~Y~~s~M~~gSn~{~tm~n~~~~e~v^o|qczr~_~~~~[q~z`~~~ia~~n~~S~L~l~t~m~~~soX~l~i~~~p~>~_~J~Z~~~j~~v~~~[~~X~uG~c|~kJVsrV}~hlg6L:glYZ~j~RT~~~Y~~Uk~~~v~Hak~u`hwf~{~n~jZQpp~y~~aixGuxX~~~C~L~~M~~~~}b~~d_{kP~{x~~~~t~[~~e~j~~~p~tv~~~~~~m~~c~~L~~~~~^z~~~~~|~~h~w~yq~tS~V~q~dvvr [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1234/ccs np:i:10 rq:f:0.999644
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATCGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATGGTTCG [...]
   +
-  {~~~~~~j~~~~~y~~b~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~k~|?~~~~m~~~~p~~~~~~~~~~~~l~~jp~}~~~d~~~~~~m~u~^~~~N~~~~~u~~~~~H~~}~~~A~~~h~~~~~~~~crc~~m~~~~y~|~o~~~~~~~W~~_~~~~~~~~S~~~~~~~^~~t~j~~~e~~~~~~~~~~~~t~~~~~Z~~~~~l~~~~R~~u~~~~~~~~~~~~~~~~~~~~~~N~~~~u~~g~~~~~~i~~o~~m~~~~q~i~~~~~~x~~~~~~~~~p~~~x~~~~~~~~~~~~~~~~~~~~~~~~g~~~~~~~~~~~~~~~~~~~~~le~~~~~~~n~~n~~~~?~~~~~~~~~~~~~j~~R~~~~~~~~~~~~~j~~~p~~~~z~k~~~~~q~u~~~~~~~~~S~~~}~~~~~~~~~s~~m~~~~~Z~~S~~~~r~~kn~~~~~V~zJ~~~~~~^~}~~~~~w~~~~~~~~n~z~~~ [...]
+  {~~~~~~j~~~~~y~~b~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~k~|?~~~~m~~~~p~~~~~~~~~~~~l~~jp~}~~~d~~~~~~m~u~^~~~N~~~~~u~~~~~H~~}~~~A~~~h~~~~~~~~crc~~l~~~~y~|~o~~~~~~~W~~_~~~~~~~~S~~~~~~~^~~t~j~~~e~~~~~~~~~~~~t~~~~~Z~~~~~l~~~~R~~u~~~~~~~~~~~~~~~~~~~~~~N~~~~u~~g~~~~~~i~~o~~m~~~~q~i~~~~~~x~~~~~~~~~p~~~x~~~~~~~~~~~~~~~~~~~~~~~~g~~~~~~~~~~~~~~~~~~~~~le~~~~~~~n~~n~~~~?~~~~~~~~~~~~~j~~R~~~~~~~~~~~~~j~~~p~~~~z~k~~~~~q~u~~~~~~~~~S~~~}~~~~~~~~~s~~m~~~~~Z~~S~~~~r~~kn~~~~~V~zJ~~~~~~^~}~~~~~w~~~~~~~~n~z~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1241/ccs np:i:17 rq:f:0.999516
   AAGCAGTGGTATCAACGCAGAGTACGGGACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACTAGTCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCCTACCGTAGAGGGGGACGGTAGTCTGTGGGAAATCTACCCTAGTGAAGAAAGGTAAGAGAATGTCTGAACATTACCTGTAGACGAAGGTACTCTCAGAACAACTACTCTCACATACGGAAAGGTTTGGGTCCTTGGTCAAAGGACTTTACTGACTCTGCAGACGATGAATATCTGAACCAACACTACTATCAAAGATGTTCGACTAGACCTCTCGTGGTAGGGCCTGGAAGTCAAAAGACTTCTCTATGGGTACTAGGTAGGTAGTTAGAGTACGGTCCCTG [...]
   +
-  k~u~p~r|~~~~~w~u~_~~~~~~~L~~~k~~~~~~V~~~~~~~~~r~~~~~~}~~~~~~~~zn~~~~~~k~~~~~~~~~~~~~:~~~~~~~~~~~~~~zM~~~~~~~u~x~~|~~~}~~~~~~~~~~~~~p~~~~~~~~~x~q~~~~~~~~U~~~~s~E~~~~~v~~k~~~~~~~~~~y~~~~~~\~~|~~~~~~~~~~~~~~~}~X~~~~~~~~~~,~~~~~~~~~~~~~~~~n~~r~~~~~~]~~~~~~~|~~h~~~~~n~~x~~~~~~~~~f~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~w~k~~~~c~~f~~~z~~~~~~~j~~q~~~x~~~z~~~~~~~||~~~ja~~~~~~~~~~~~~VwK~~~~_~~~k~~h~~~~~~j~~~~~~~~~p~~~~~~~|~~~h~~~~}V~~~~~w@~~~~~~~~~~~~~~X~~~~~~~~~~s~~~~~~~~j~~~~~~~~j~~~4 [...]
+  k~u~p~r|~~~~~w~u~_~~~~~~~L~~~k~~~~~~V~~~~~~~~~r~~~~~~}~~~~~~~~zn~~~~~~k~~~~~~~~~~~~~:~~~~~~~~~~~~~~zM~~~~~~~u~x~~|~~~}~~~~~~~~~~~~~p~~~~~~~~~x~q~~~~~~~~U~~~~s~E~~~~~v~~k~~~~~~~~~~y~~~~~~\~~|~~~~~~~~~~~~~~~}~X~~~~~~~~~~,~~~~~~~~~~~~~~~~n~~r~~~~~~]~~~~~~~|~~h~~~~~n~~x~~~~~~~~~f~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~w~k~~~~c~~f~~~z~~~~~~~j~~q~~~x~~~z~~~~~~~||~~~ja~~~~~~~~~~~~~VwK~~~~_~~~k~~h~~~~~~j~~~~~~~~~p~~~~~~~|~~~h~~~~}V~~~~~w@~~~~~~~~~~~~~~X~~~~~~~~~~s~~~~~~~~j~~~~~~~~j~~~4 [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1250/ccs np:i:10 rq:f:0.999746
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  x~|h~~|T~r]~L=~dcc~yx}~~}C~~~fd~byh~zAKj~v|~e~Y~|~~_~g@~\~~~vug~F~~c~T~w~~q`~O~~~~~~~~e~i~v\~|ypp~u~*~|yy~j}k~~~z:~~~~ae~cg~x~dh~}f}~h`zxax~~u~Rx~wu~~}E~n}|z{g~h~}~~4~~~~~z~fU~zyT~~R~~_~~~c~dx4~~~~S~~~~c~~~s~~~b~~~~~~~~~J~~~~e~~~~t~Z~E~~~~~E~~~vo~~~~[~~~~~~~~~~p~i~F~:~~~~|~~~c~X~~nill~~X~~v~~q^~~~~i~b~~e~~~~o~~~~o~~~q~~~~~~z~ok~~~~~~SwY~e~~h~~~b~~~~zcz~r~~~~~~~~|q~R~~~~~a~^~~I~~_~~q~p~~~~~~~~~~~~~k~X~~~~~Z~~~r~h~~~r~~r~~q~p^~~m~~[~~~~i~~~to~~~|~[~n~~~~~m~~~f~~~~~~~~~-~~~~~~ja~~~r~~~P~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs np:i:19 rq:f:0.999331
+  x~|h~~{S~r]~L=~ccc~yw}~~}C~~~ed~byh~zAKj~v{~e~Y~|~~_~f@~\~~~vug~F~~c~T~w~~p`~O~~~~~~~~d~i~u\~|yoo~u~*~|yx~j}k~~~z:~~~~ad~cg~x~dh~}f}~h`zwax~~u~Rw}wu~~}E~n}|z{g~h~}~}4~~~~~z~fU~zyT~~Q~~_~~~c~dw4~~~~S~~~~c~~~s~~~b~~~~~~~~~J~~~~d~~~~s~Z~E~~~~~E~~~vo~~~~[~~~~~~~~~~p~i~F~:~~~~|~~~c~X~~nikl~~X~~v~~q^~~~~i~b~~e~~~}o~~~~o~~~q~~~~~~z~ok~~~~~~SwY~e~~h~~~b~~~~zcy~r~~~~~~~~|q~R~~~~~a~^~~I~~_~~q~o~~~~~~~~~~~~~k~X~~~~~Z~~~r~h~~~r~~r~~q~p^~~m~~[~~~~i~~~to~~~|~[~n~~~~~l~~~f~~~~~~~~~-~~~~~~ja~~~q~~~O~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs np:i:19 rq:f:0.999327
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTATAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~*~~~~~~~~~~~~~~~~~~~~~~~~~w;1H.~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~u~~~~~s~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~t~~y~~~~~~~~z~~~~~~~~~m~~~~~~t~~M~~~~~~~~~~~~~~~~~~~~~~~~u~~y~~~v~~~~~~m~~~~~~~~~~v~~~z~~~~~~~~~~~~~~~~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~]~~~~~~~~m~~~~~~~~~~~~~~}~~~~~~~~~~B~~~~U~~~~p~~~~d~~~~~~~~~~~v~~~~~]~~~~~~~q~~~~~~~~~~~~~} [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1378/ccs np:i:10 rq:f:0.999726
+  ~~~~~~~~~~~~~~~~~~~~~~~~~*~~~~~~~~~~~~~~~~~~~~~~~~~w;0H.~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~u~~~~~s~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~t~~y~~~~~~~~z~~~~~~~~~l~~~~~~t~~M~~~~~~~~~~~~~~~~~~~~~~~~u~~y~~~v~~~~~~m~~~~~~~~~~v~~~z~~~~~~~~~~~~~~~~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~]~~~~~~~~l~~~~~~~~~~~~~~}~~~~~~~~~~A~~~~U~~~~p~~~~d~~~~~~~~~~~v~~~~~]~~~~~~~q~~~~~~~~~~~~~} [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1378/ccs np:i:10 rq:f:0.999635
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATGTTA [...]
   +
-  ~~~mP~~s~~~~sb~~y~~~~~j~xQ~~~~~~tk~~~re~~a~~~~~U~~q~~~s~~~~~P~~Yv~~y~x~~~~7~~~~[~~~j~~~~jf~~~~~~~d~~~R~~~~o~~i~~~~~~~~~~~v~x~~~~~s~~~~~s~~~~~~~q~z~~t~W~~~~~~~]q~~~~~~~~~j~~~~^~~t~~~~xf~~~ms~~w~~^e~~~~`~~~~~~~`~W~~qq~~R~~~~u~~~GmH~~~~~r~~~~~e~v~b~s~~~~~~~~`~~ms~~tf_~~~d~t~w~~~~t~wv~~~~\~c~tsA~~~~~~~~y~~r~~~~?~q~o~~~~q~~~~~~T~~p`~~~~~W~~~}~~j~y~~y~~x~~\~~~f~~~A~d~~~~d~~~[s~~~u~~j~~~~J~~~t~x~~~R~~~~}~~X~V~~~~s~~~h~~~~~~~~~~~}~_~~~~~~~F~~~~~~~~q{~~~~~~]~~h~~~S~~~~~~~~~~~~Y~~~~~i~~~~~~~~H~n [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1407/ccs np:i:9 rq:f:0.998965
+  ~~~jL~~p~~|~p^~~u~~~~~f~tN~~~~~~pg~~~ob~~]~|~~|R~~m~{~o|~~~~L~~Vs~~u~u~~~~3~~~~X~~~g~~~~gb~~~~~~~`~|~N~~~~k~~e~~~~~~~~~~~r~t~~~~~o~~~~~p~~~~~~~n~w~~p~S~~~~~z~Ym~~}z~~~~~f~~~~[~~q~~~~tc~~~ip~~t~~Za~~~~\~~~~~~~\~S~~nn~~N~~~~r~~|CiD~~~~~n~~~~~a~r~^{p~~~~~~~~]~~io~~qb[~~~a~q~s~~~~p~ss~~~~X~`~po=~~~~~~~~u~~n~~~~<~n~k~~~~m~~~~~~P~~l\~~~~~T~~~y~~f~v~~v~~u~~X~~~c~~~>~a~~~~`~~~Wp{~~q~~f~~~~F~~~q~t~~~O~~}~z~|U~R~~~~o~~~d~~~~~~~~~~~y~[~~~~~~|B~~~~~~~~nw~~~~~~Y~~e~~~O~~~~~~~~~~~~V~~~|~f~~~~z~~~D~k [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1407/ccs np:i:9 rq:f:0.998786
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGGAAACATTAAATCAAAGAAGTTTATCAACCAATTAGTACAGTGGCATGTTAAGTAAAACAGAAAGAACGCCAAGTGGCAACAAATGACGTAATTATTTAAGCAAAAAGCGTAAACGCTTACAAAGGCTATTTAAATATCAGTAAATCGTTGGAAATTGGGTATGTGCTGCCTTCATACGCAAAAATGGATGCGACAGAAACGAGTTGTATGGCCTCCACTACGCTCGCCTGCCGCGGACCCTAAACGACAGTCGTTTGCCCAACTACGGCTACGGCATCGCTCAGAACTTCGGGTCTTGGCCCACCTTTCTGACGCCTAGTCAACGTGCGTCGCCTCAGTCTTGGACAAAAAGAAGAAATATCAATTGCAAAAATAACTATAGGTACTTCTTTGAAGAAACCA [...]
   +
-  ~~~~~w~h~wc~QU~~~~~zxz{~~J~~~z~~~~~{}h~~~~T~~d~~jW~~[~~s_r~~b~~~l~~~~~B~~~~~[m_~~~~~X~I~R~~~K\~P~~~~J~~~~~lm~~n~xi~o~n~{~~p~~n~j~i~~~hY~~i~X~O~~~~~RV~~lr~q~K~r~~~k~pk~~W~~~~~r~~|~o~l[~~Y~~oL~~~~~qilb~~]~qj~~~V~~c~1ylo~~[w~w~zjue`f~~~~~i~Z~J~~U^2~~vy~h~hl~zL~e~xb~~q{h@~~~~~O~{i~hfz|~wW~~q\ulh~~vz~Y~\~~@~vj~td{^mbh]~~?_~xs^~uG~~~I~~fgl;fao]d\~~{B~~u~b~wkI~jvaNe~~v~bxwl~{~w~}U~}G~~xhs~B~U~~~D~Qv~uxcsvwe~~rerfa~y\~?{{y~~M~peF_vJL~c~~{3~~~~ul~g\~~~rv{d{4~aeA~~~~yv~iyv~vU~wcgh~~D~~}Y~~_~~S~@ [...]
+  ~~~~~w~h~wc~QU~~~~~zxz{~~J~~~z~~~~~{}h~~~~T~~d~~jW~~[~~s_r~~b~~~l~~~~~B~~~~~[m_~~~~~X~I~R~~~K\~P~~~~J~~~~~lm~~n~xi~o~n~{~~p~~n~j~i~~~hY~~i~X~O~~~~~RV~~lr~q~K~r~~~k~pk~~W~~~~~r~~|~o~l[~~Y~~oL~~~~~qilb~~]~qj~~~V~~c~1ylo~~[w~w~zjue`f~~~~~i~Z~J~~U^2~~vy~h~hl~zL~e~xb~~q{h@~~~~~O~{i~hfz|~wW~~q\ulh~~vz~Y~\~~@~vj~td{^mbh]~~?_~xs^~uG~~~I~~fgl;fao]d\~~{B~~u~b~wkI~jvaNe~~v~bxwl~{~w~}U~}G~~xhs~B~U~~~D~Qv~uxcsvwe~~rerfa~y\~?{{y~~M~peF_vJL~c~~{3~~~~ul~g\~~~quzcz3~`d@~~~~xu~hxu~vT~wcfg~}C~~|X~}^~~R~? [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1426/ccs np:i:13 rq:f:0.999505
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATTACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAA [...]
   +
-  |~~O{~hf~~~~~Z~~~N~|~x~~~5~~~fp~~K~~~~~~~~v~~~{~b~~e~~~~~T~~{Q,~r~~~~_}~l~~~~~h~~~^~~~~~~w~~~~~~o~~~~~~~~U~~~~t~~~@~~~~~k~~~~~~~u~~hk~l~~~~t~x~~~X~~s~~~~~~~~n{t~~~~~~~~~~o~~[~~~I~~~{~~~|~~~~\~~~g~~~~~~r~~~~~~~~~,~~~~~~fyB~~~r~~~~~~~V~W~a~AH~~~~~~~Yf~~~o~~~lt~~~t~~~~~~c~~v~~~~q~~~~~~~~W~~~qd~~~~~{~~~~~~~~N}k~~~~B~~w~j~^~~~~~}~~~~~~~~|z~~~~~~~L~~}~~~~~~~|~r~~~w~~~~~b~~~~z~~~~~~R~~~~~~~~~~~~~~z~~~{~:~~~~r~~\~~~~~~o~~~~j~~~~~~~~~u~~y~~vv~~s~~~y~~~~~~~~~~t~~Yz~~~~~~t~~~~}~~[~~~s~~]v~~~~~~~~ [...]
+  |~~O{~hf~~~~~Z~~~N~|~x~~~5~~~fp~~K~~~~~~~~v~~~{~b~~e~~~~~T~~{Q,~r~~~~_}~l~~~~~h~~~^~~~~~~w~~~~~~o~~~~~~~~U~~~~t~~~@~~~~~k~~~~~~~u~~hk~l~~~~t~x~~~X~~s~~~~~~~~n{t~~~~~~~~~~o~~[~~~I~~~{~~~|~~~~\~~~g~~~~~~r~~~~~~~~~,~~~~~~fyB~~~r~~~~~~~V~W~a~AH~~~~~~~Yf~~~o~~~lt~~~t~~~~~~c~~v~~~~q~~~~~~~~W~~~qd~~~~~{~~~~~~~~N}k~~~~B~~w~j~^~~~~~}~~~~~~~~|z~~~~~~~L~~}~~~~~~~|~r~~~w~~~~~b~~~~z~~~~~~R~~~~~~~~~~~~~~z~~~{~:~~~~r~~\~~~~~~o~~~~j~~~~~~~~~u~~y~~vv~~s~~~y~~~~~~~~~~t~~Yz~~~~~~t~~~~}~~[~~~s~~]v~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1446/ccs np:i:13 rq:f:0.999412
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  ~~~~~~~A~~~~y^~~~~xd~~~kzR~~~TL~~~E~~~W~~~t~~g~n~Y~~<~~~~~]~~e~~~P~wb~r~z~u~~~~~~~~j~]~~|Q{P~~~V~~~~J~~~~~tm}~Sq~d~~er~~~~~t~X~~~~~~~ijsB~~~k~xj~~~4~~~~{b~~d~e~~|~~}~d~~zk~~q~{~oI~i~~~]P~~Wl~e~~V~~~~l~~~~~~s~v{\~f~~~|~a~~~~|~^~p~}~j{d~~~~~6~ylg~mb~~~~ur~l~~~~fuJxj]z\~Z~~H~eoiO~~R~~vqf8~~e~v~T{g~~~J~~f~A~~~zk~zn~wy~d~X~|x~~~~~e~~[~~L~l5~~D~~iX~~]~x~xi\~y~|u~U~~~X~ypzx~~~~~~~S~~z~xN~O~M~~~~~~o~~~~\~<~~~~~~~~}{~~~{~~k~~~h~~~~cJ~~v~~~@~~~v~~w~~~~s~S~~~~x~~e~e~~~v~d~~~~~~f~m~~~~g~~q~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs np:i:9 rq:f:0.999135
+  ~~~~~~~A~~~~y^~~~~xd~~~kzR~~~TL~~~E~~~W~~~t~~g~n~Y~~<~~~~~]~~e~~~P~wb~r~z~u~~~~~~~~j~]~~|Q{P~~~V~~~~J~~~~~tm}~Sq~d~~er~~~~~t~X~~~~~~~ijsB~~~k~xj~~~4~~~~{b~~d~e~~|~~}~d~~zk~~q~{~oI~i~~~]P~~Wl~e~~V~~~~l~~~~~~s~v{\~f~~~|~a~~~~|~^~p~}~j{d~~~~~6~ylg~mb~~~~ur~l~~~~fuJxj]z\~Z~~H~eoiO~~R~~vqf8~~e~v~T{g~~~J~~f~A~~~zk~zn~wy~d~X~|x~~~~~e~~[~~L~l5~~D~~iX~~]~x~xi[~y~|u~U~~~X~ypzx~~~~~~~S~~z~xN~O~M~~~~~~o~~~~\~<~~~~~~~~}{~~~{~~k~~~h~~~~cJ~~v~~~@~~~v~~w~~~~s~S~~~~x~~e~e~~~v~d~~~~~~f~m~~~~g~~q~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs np:i:9 rq:f:0.999301
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTGCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTTTA [...]
   +
-  X~sY~~{X~~j~~[~k~k~~eg~~u'~~~~~~~~~~~~~~~~~~~~~~~~yf~`y^w~~~~~]~~o~~q~\~Tq~vyc~~~~m~m~~~~h~~~~l~~~~~X~~l~~~~~~i~pY~m~|y|~e~Xj~W~~h~jbjx]wwVa{W~~~P~bn~~u~t&~~~~~~~~[~h~~dH~W~~k~~~~~{~~~e~~~~o~~n~~~DqRA~r?~~~~~h~~`~~i~m~~Z~Xk~A~~~~~Y~~n~s~~|yn~r|&~~~~~C~~QjX~TRlH~~~~p~l~O~~~~}z~~>J~b~j|>~wA~w~~\~~l|xa{k~m~~~~l~~}~|c~~~~~|x~~l~r~~=~~~~~x~}xafrg~{nniw~C~~jl~h~~h~zz^V~~D~d~~~~m\=l}haX`~~B~~~~~r~~}~~S~~~~n~~7~k~~~~~g|i~~~~~~~~l~~~~~_Jq~~~~~~~f~~~~~x~Z~~~uP~j~~~]c~b^~~~~n~~~~^vq~wt~s_~~~~t~~g [...]
+  Y~tZ~~|Y~~k~~\~l~l~~fh~~v'~~~~~~~~~~~~~~~~~~~~~~~~zg~az_x~~~~~^~~p~~r~]~Ur~wzd~~~~n~n~~~~i~~~~m~~~~~Y~~m~~~~~~j~qZ~n~}z}~f~Yk~X~~i~kcky^xxWb|X~~~Q~co~~v~u'~~~~~~~~\~i~~eI~X~~l~~~~~|~~~f~~~~p~~o~~~ErSB~s@~~~~~i~~`~~j~n~~Z~Yl~B~~~~~Z~~o~t~~}zo~s}&~~~~~D~~RkY~USmI~~~~q~m~P~~~~~{~~?K~c~k}?~xB~x~~]~~m}yb|l~n~~~~m~~~~}d~~~~~|y~~m~s~~>~~~~~y~~ybgsh~|oojx~D~~km~i~~h~{{_W~~E~e~~~~n]>m~ibYa~~C~~~~~s~~~~~T~~~~o~~8~l~~~~~h}j~~~~~~~~m~~~~~`Kr~~~~~~~g~~~~~y~[~~~vQ~k~~~^d~c_~~~~o~~~~_wr~xu~t`~~~~u~~h [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1454/ccs np:i:19 rq:f:0.999761
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCA [...]
   +
   ~~~[~~~~~~~~~~~~~~~~~~~~~d~~~~~~~sv~~~~~~~6~~~~~~p~~l~~~~~^~~y~~~~~~~~~~~~~~~~~~~~~~~m~~~~~[~~~}~~~~C~~~~~~~~~~l~~s~~~~~~~~~~|~~~~~~~~~~~~~~~~s~~~~X~~~~~~~~q~~~~~~~~~r~~~~~~2~~~~t~f~~~~~~~~~~~~~`~~~~~~~~~~~~~~~~~d~~~~~a~~~~~~L~p~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~s~~~~~~f~~b~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~n~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~~~~~~}~~~~~|~~~W~~~j~~~~~~~~~~e~~~~~w~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1470/ccs np:i:16 rq:f:0.999804
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1470/ccs np:i:16 rq:f:0.999796
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~t~~~~~~~~~~~~D~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~3~~~~n~~~~~~~~~~~~~~~~~~~r~~~~~y~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~g~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~y~~~~~~~~~]~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~t~~~~~~~~~~~~D~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~3~~~~n~~~~~~~~~~~~~~~~~~~r~~~~~y~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~g~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~y~~~~~~~~~]~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1511/ccs np:i:18 rq:f:0.999715
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTATAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTA [...]
   +
-  ~~~~~~~t~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~z~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~b~~~~~~~~C~~~~~~l~~~~~~~~~~~~~~~~~~~z~tJ~~~~^~~~~~~~~~}~~~k~~~~~~]~~m~~~~~~~~~~~~~|~~~~~~~~~~{~~n~~~~~~~~~~|~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~s~~~~~~~~z~~~~~~~~~^~P~~~~~~~~~~~Xv~~~h~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~z~~~~~~~~~~~~~~~~~~~S~}~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~a~~~~~~~~~~s~~~~~~~~~~v~~~~M~~~~~~~~~g~~~~~~~x~~~~~~~~~D~~~~~~~~~~~~~o~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs np:i:19 rq:f:0.999939
+  ~~~~~~~t~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~z~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~b~~~~~~~~C~~~~~~l~~~~~~~~~~~~~~~~~~~z~tJ~~~~^~~~~~~~~~}~~~k~~~~~~\~~m~~~~~~~~~~~~~|~~~~~~~~~~{~~n~~~~~~~~~~|~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~r~~~~~~~~z~~~~~~~~~^~P~~~~~~~~~~~Xv~~~h~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~z~~~~~~~~~~~~~~~~~~~S~}~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~a~~~~~~~~~~s~~~~~~~~~~v~~~~M~~~~~~~~~g~~~~~~~x~~~~~~~~~D~~~~~~~~~~~~~o~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs np:i:19 rq:f:0.999923
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~R~~~~~~~~H~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs np:i:12 rq:f:0.999659
+  ~~~~~~~~~~~~~~~~~~~~~~~~~*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q~~~~~~~~G~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs np:i:12 rq:f:0.999634
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTAT [...]
   +
-  u~~y~~~o~~~~~w~~qu~p~~rY~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}wO~f|~~~~\~~~~~~~`~~~g~~l~~~x~~~~vt~~~~w]nS~q~b~~~~w~~~~~|q~~c~~cu~z~>~~~`~y~~~x~{O~i~~~~~~c~~^~~~~~~~\~r~w:~~xm~~~e~~x~~~~s~ox~~~~~~~Q~~mr~d~~~~r~~u~~~~o[~QPz~~~f~~xw~~~~~an~~~~w~~~{~|~yu~~~~~~~S~z~C~v~~~~~j~~~?~~~~~G~a~~~p~T~wi~~~z~~~~[~~~~~~q~os~o\~~~~z_~i~~v~~~~~N~~~m~yo~~~v~McxV~~~~~q~~~~~wc\i~~R~~{v~N~~K~~~gg~~~V~~t~~e~~j\q~.~~w~~{~{~Q~~[~j~~~e~{wx~~~~~c~~~~~d~~~~~~~~~~|wv~~f~~q~R~~[~_~l~~~~~~~~~t_wry~R~~t~R]D~~~~~u~m~c~~n [...]
+  r~~w~~~l~~~~~u~~or~n~~oW~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zuL~dy~~~~Z~~~~~~~^~~~e~~j~~~u~~~~tq~|~~uZlP~o~_~~~~u~~~~~zn~~a~~`s~w~<~~~^~w~~~v~yM~f~~~~~~a~~\~~~~~~~Y~p~u7~~vk~~~c~~u~~~~q~mv~~~~~~~O~~kp~a~~~~p~~s~~~~lX~NMx~~~d~~vu~~~~~^l~~~~t~~~x~z~ws~~~~~~~Q~x~A~s~~~~~g~~~=~~~~~E~_~~~n~Q~ug~~~w~~~~Y~~~~~~n~mq~lZ~~~~x]~g~~t~~~~~K~~~j~wm~~~t~KavT~~~~~o~~~~~taYf~~P~~xs~K~~I~~~de~~~T~~r~~b~~gZn~,~~u~~y~y~N~~X~h~~~c~xuv~~~~~a~~~~~a~~~~~~~~~~zts~~d~~o~P~~Y~]~j~~~~~~}~~r\uov~P~~r~P[A~~~~~r~k~a~~k [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1608/ccs np:i:19 rq:f:0.999663
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACATA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~E~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~;~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~F~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~;~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1630/ccs np:i:12 rq:f:0.999673
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
@@ -195,203 +191,203 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1649/ccs np:i:11 rq:f:0.999385
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCA [...]
   +
-  t~lnb~~6~~~~ng~~oT~os~~~xLn~~~N~~~n~~~|~~~U~~~~l~F~~H~~~{dW~~]~~sR~~v~Z~v~~~zr~~~r~~~O~~~y~h~~th~~j~J~~~~~~~q~~c~~d~~x~r~~sk~g~~o~~~~~~~p~~tD~~~~~~J~~~~~t~~\~x\~v~pu~`~`k~a~V~vwvz~i~~~~~tnp~y\~~D~~~~~~|}c~qk~~~{~B~~~`[e~~~~~~h~@~p~k~U~m~~jE~~~e~~h~~~~~k~o~~~~p~l~|~~f~~~~k~~~X~~m~x~~o~~~~j~C~~~~j~~~~~~~~~~i~w~~W~~~X~~r~~~~h~~|pho~~M~fz~~r~~p~k~~~h~~~pc~~l~~~qt~~~~~~~~n~~~Vv~~~~f~`~[~~~~~~t~m~\~~~{~A~~=~~~i~~~~~y^}y|~~~~~~^~uO~~~~~b~~~p5_~~~~q~~{p~~~~n~~~~~k~c}A~~~_~bz~y~~o~~[~~{~~K~~g~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs np:i:15 rq:f:0.999468
+  t~lnb~~6~~~~ng~~oU~os~~~xLn~~~N~~~n~~~|~~~U~~~~l~F~~H~~~{dW~~]~~sR~~v~[~v~~~zr~~~r~~~O~~~y~h~~th~~j~J~~~~~~~q~~c~~d~~x~r~~sk~g~~o~~~~~~~p~~tD~~~~~~J~~~~~t~~\~x\~v~pu~`~`k~a~V~vwvz~i~~~~~tnp~y\~~D~~~~~~|}c~qk~~~{~B~~~`[e~~~~~~h~@~p~k~U~m~~jE~~~e~~h~~~~~k~o~~~~p~l~|~~f~~~~k~~~X~~m~x~~o~~~~j~C~~~~j~~~~~~~~~~i~w~~W~~~X~~r~~~~h~~|pho~~M~fz~~r~~p~k~~~h~~~pc~~l~~~qt~~~~~~~~n~~~Vv~~~~e~`~[~~~~~~t~m~\~~~{~A~~=~~~i~~~~~y^}y|~~~~~~^~uO~~~~~b~~~p5_~~~~q~~{p~~~~n~~~~~k~c}A~~~_~bz~y~~n~~[~~{~~K~~g~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs np:i:15 rq:f:0.999392
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  r~~~~~gk~~~~~p~~~~~~~~~~~k~~~~~~o~~~~~~t~~p~~e~~~~s~~~~~~~~|~~~m~N~~~j}~~~~~I~~~~~~~~~~~~~~y~~w~~Y,~m~~~~y~~r~~~~~~\~~~~~j~~~i~~w~~~|~~~~~~P~~~~~e~~~~vz~f~~~L~~~~}M~~~~~~~~~~~~x4~~~~~~~~~~i~~b~~~~~~m~q~~~~~~~~~~~~Z~~|~t~a~~~V~~~E~~z~~~~~~~~~~~~c~~~~~~o~~~~~~~~~~g~~~~~~~~~~~u~~~~w~~~}~~~~~~~~~~~~~~~{~~~w~{~~~~m~~i~~~~~~~~~~~~~~~~q~d~~~~~}~~~~~~~~~]~~~~~u~~k~~~}~~~~~p~~~~~]~~~b~~~~~~~~~~~i~~~~e~~i~~u~g~~~~~~J~~~~~~~~~~f~q~~~~~~~~~~~~N~~~~~{~~~~}~~~~~~~~~n~d~~~~~~~~p~_~~~~~~m~X~~l~~~o~]~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs np:i:12 rq:f:0.999781
+  l~{~~~ae~~~~~j~~~~~~~~~~~e~~~~~~i~~~~~~n~~j~~_~y~~m~~~~~~~~v~z~g~K~~~fy~~~~~G~~~~~~~~~~~~~~v~~t~~W)~j~~~~v~~o~~~~~~Y~~~~~g~~~f~~t~~~y~~~~~~N~~~~~b~~{~sw~c~~~I~~~~zJ~~~~~~~~~~~~v2~~~~~~~~~~f~~_~~~~~~j~o~~~~~~~~~~~~W~~y~q~^~~~T~~~C~~w~~~~~{~~~~~~`~~~~~~m~~~~~~~~~~d~~|~~~~~~~~r~~~~t~~~{~~~~~~~~~~~~~~~x~~~t~x~~~~j~~f~~~~~~~~~~~~~~~~o~a~~~~~z~~~~~~~~~Z~~~~~r~~h~~~z~~~~~n~~~~~Z~~~`~~~~~~~~~~~f~~~~b~~f}~r~d~~~~~~G~~~~~}~~~~c~n~~~~~~~~~~~~K~~~~~x~~~~z~~~~~~~~~k~a~~}~~~~~m~\~~~~~~j~U~~i~~~l~[~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs np:i:12 rq:f:0.999836
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  ~~~~~~~q~~~~~~~~~~oi~`~~~R~~~~~~~~~[~O~~~~~~~~~~~k~~~~~~~~~~[~~~~u~~}~~r~~Y~~~~~~k~w~~}~~~~@~~~}~P~y~~m~~U~~X~~~~~~~~9~~~~~~@~~~~b~~k|~~~~l~v~~~~~~~~~~~~~~q~~~~V~~~{~~y~~f~~r~^~~~~~i~~l~~~K~~~~{~o{X~h~~`~~~~~g~~~~]~~~~j~~m~~_~~~~X~~~~{~~T~~~~Z~~W~~~~p~p~~~~m~~~nWh~l~Z~~o~~~*~~~~~~c~~~n~n~~k~~~~~~~~~~~y~~~M~~~~f~~~~~~~~~i~~[~~~~{~~~~~~~~~~6~~~j~~~~~~~~w~Wc~r~~~~e~~~~~u~~~nx~~c~~~~~~|~Q~~~~~~~~~~~~_~~l~Y~s~~~~m~~~[~~~~~~~~~~~~~~~z~~~v~Y~~~~l~~~~}o~~~r{~~_~~~~~~~V~~~~g~~~~~~~~~K~~~~~~~s~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1800/ccs np:i:16 rq:f:0.999483
+  ~~~~~~~p~~~~~~~~~~ni~`~~~Q~~~~~~~~~Z~O~~~~~~~~~~~j~~~~~~~~~~[~~~~t~~}~~q~~X~~~~~~j~w~~}~~~~@~~~}~P~x~~l~~U~~W~~~~~~~~9~~~~~~@~~~~a~~k|~~~~k~v~~~~~~~~~~~~~~p~~~~U~~~{~~y~~f~~q~^~~~~~h~~l~~~K~~~~z~n{X~g~~`~~~~~f~}~~]~~~~j~~m~~_~~~~X~~~~z~~T~~~~Z~~W~~~~p~o}~~~l~~~mWg~k~Z~~o~~~*~~~~~~c~~~m~n~~k~~~~~~~~~~~y~~~M~~~~e~~~~~~~~~h~~[~~~~{~~~~~~~~~~5~~~i~~~~~~~~w~Wc~r~~~~e~~~~~t~~~nx~~c~~~~~~|~Q~~~~~~~~~~~~_~~l~Y~s~~~~m~~~[~~~~~~~~~~~~~~~z~~~v~Y~~~~l~~~~}o~~~r{~~_~~~~~~~V~~~~g~~~~~~~~~K~~~~~~~r~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1800/ccs np:i:16 rq:f:0.999451
   AAGCAGTGGTATCAACGCAGAGTACGGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACA [...]
   +
-  ~~~~~u~[~~~~~t~~~qy~~o~~~.~~~z`~?~jm~ug~~~u^~`b~~~f~F~~X~~~~}~}~~r~~z~~~p~~~s{~b~~i~R~~~~}~~~~~~~{~~~~D~~~]~~~~I~~w~~~~~|A~~~~q~S~~y~~n~~~eh~~~~~~~~o~~~~~~n~~~~~~~~k~~~~g~v~~n~~~yc~~{~~~~~J~~~~~z~~~|~a~~w~H~~~{~~~K~c~~~k~~R~~~z~~~~~~-~~~~~~n~~~Z~~~txx~~~~~b~d~~Z~~~S~~fp_~~~a~x~{~\~lv~U<~~~~~zZ~~~@~~Y~~~~~~~~~|~z~~~q~~g~~~W~~}~~~=~~~~~j~~~N~~~~}B\~~~~vy~c~~;~~hY~~~l~~~|~~\~sx~z~~~a~d~~~~~c~~~~~e~~~m~~|~~~~~~N~~~~w~~c~~~~~~~~~~x~`~~~~~~~~vS~~~~v~~~df~m~dA~X~~C~~~k~~z~~~~~E~rrx~~~~~~~y~f~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1860/ccs np:i:28 rq:f:0.999702
+  ~~~~~u~[~~~~~t~~~qz~~p~~~.~~~z`~?~jm~uh~~~v^~`b~~~f~G~~X~~~~}~}~~r~~z~~~p~~~s|~b~~i~R~~~~}~~~~~~~{~~~~D~~~]~~~~I~~w~~~~~|A~~~~q~T~~y~~o~~~fi~~~~~~~~p~~~~~~n~~~~~~~~k~~~~g~v~~n~~~zc~~{~~~~~K~~~~~{~~~|~b~~x~H~~~{~~~K~d~~~l~~R~~~z~~~~~~-~~~~~~n~~~Z~~~txx~~~~~a~d~~Z~~~S~~fp_~~~a~x~{~\~lv~U<~~~~~zZ~~~@~~Y~~~~~~~~~|~y~~~q~~g~~~W~~}~~~=~~~~~j~~~N~~~~}B\~~~~vy~c~~;~~hX~~~l~~~|~~\~sx~z~~~a~c~~~~~c~~~~~e~~~m~~|~~~~~~N~~~~v~~c~~~~~~~~~~x~`~~~~~~~~vS~~~~v~~~df~m~dA~X~~C~~~k~~z~~~~~E~rrx~~~~~~~y~f~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1860/ccs np:i:28 rq:f:0.999678
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACAT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~b~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~b~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1902/ccs np:i:9 rq:f:0.999074
   AAGCAGTGGTATCAACGCAGAGTACGGGGTAAGTTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGGCGGTATATTGGTAAATGACGATCCTTGACTTAGTTTTTTACATCGAACGGTTGCAAATCCTAGCATACTTGATATTAATAGTAGATACTGAAATATATCTGAGTATATCAAGGGAAATCGAGATGTAACAATAAGTCGAGGAAATTAAGGTCAATTTAGTGCTTATCATAGAAATAACTACTTAAGCCCTTAACGAACTAACTCAAATTAACGAGGTAGAGGTTATTCTGAATTGTACGAACGTAGTCGAAGTTTGTTACCAAGGGTAAAGCCAAAACAAAACGATTTGACAAGAGAATCTATTCCATGTAGTAGTGCGTTTGTACGACGTTCTATTCGATGTAAATCATTAGGACGAGGG [...]
   +
   ~~k~~~}1~ubWYd~~~k~c~greh(~~~xx~~J~~~x~}yr~h~~4~~~~~~~y~|bn~V~~~n~BI~~ec~i\~~Tb~~t~y~B~~~~s`~~~~~x~Wi_~~~~u~~~~~g~|~~~~[~}d~^~~W~gE~_~~~M~]~~\~~{5~~u~~`~~~~~~k~~o@~~~~~v~~~~~}~th~]~pqF~~nr~~~r`~~xon~~~s~I~q~~~~~~r~n~~~~e~~~~~~~l~nRnm~~~~~_~T~~d~~~~>wo~}~~m~~~~lm~~~r~~H~J~~X~e~r~p~~~q~~~~~~~~~~~~~~~~`~~~Z~~~~qn~Y~~W~~~~9~~t~~r~Z~~~~P~~p~n~~~~G~~~t~]~Q~wf~~~~^~~~p~~~~_~~~~~q~Xii~tY~~cU~~m~t~D~~Zi~~~n~S~~~~R~~~~lj?~~~~~}~r|~Q~~~~~q~n~~~w~kakeo~~~~P~~~}f~Y}~~~~~~~e~~~~~~~d~~~~~u~~q~~~~~R~| [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs np:i:27 rq:f:0.999884
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs np:i:27 rq:f:0.999963
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCTTGATAT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs np:i:17 rq:f:0.999487
+  ~~~~~~~~~~~~~~~~~~~~~~~~~/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs np:i:17 rq:f:0.999426
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  ~~~~~~~k~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~}~p~~K~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~s~~~d~~~~=~~~~~~~~~j~~~~~p~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~J~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~y~~~b~_~~~~~~~~~~~~~k~~~~~~~~~~~~u~~~~~~~~y~~~~~d~f~~~~~~~~~~~~~~w~~~{~~~~~~~~~~~~~~s~~~~~~~~s~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~]~~~~~}~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~k~~t~~~~~_~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~~v~~~~~v~~~~~~<~~~|~~~~~~~~~F~~~~~~~~~~~j~~~~~~~~~}~~~io~~o~~t~~~~x~~ [...]
+  ~~~~~~~k~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~}~p~~K~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~s~~~d~~~~<~~~~~~~~~j~~~~~o~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~J~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~y~~~b~_~~~~~~~~~~~~~k~~~~~~~~~~~~u~~~~~~~~y~~~~~d~f~~~~~~~~~~~~~~w~~~{~~~~~~~~~~~~~~r~~~~~~~~r~~~~~~~~~~~~o~~~~~~~~~~~}~~~~~~~~~~~~~\~~~~~|~~X~~~~~~~~~~~~~~~}~~~~~~~~~~Y~~~~~~~~~j~~s~~~~~^~~~~~~~~~~~~~~~~~O~~~~~~~~~~~~~~~~~~~~u~~~~~u~~~~~~;~~~{~~~~~~~~~E~~~~~~~~~~~i~~~~~~~~~|~~~hn~~n~~s~~~~w~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1960/ccs np:i:12 rq:f:0.999478
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTTAGTTGAAATAGTTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACA [...]
   +
-  j~~~~~~z~{~~k`~~~~Gu~yRS~G~~~~~T~f~~~k~~~~L~x1s~lfpH~y0~@dl~~~~}J~~~~t~~~~b~~~b~~~~F~~~tvt~~~m~ta~~~~~~f~_~~~~a~~d~~~~~zp~~~~~~~a~~~~k~~~~~x~~~~~~v{~~~~~~R~~~~x~~cT~~~~~~q~~'~~~~~T~~~~~~~~*~~~~~~~~~~~~o~~~~K~~~~~~~~~n~~yg~~\~~~~w~~~~~N~~~~~x~~~~~y~~~~~~~~~~~_~~~~~~l~l~~e~~~c~~~~~~~ng~~~~~~~~~~~~~H~~~~u~~o|~~~~~~~~~o~~~~\w[~~~~~~5~~vb~~~~Z.~~~~~~~~q~~~y~q~~D~~~.~~~~~E~~~~`~~~~~~~~~~r~~~s~b~~~j~~|~~~~~~e~~~o~_~~~~_~~~{~kxi~~~~~~~v~~~~~~~~zd~~~~~}a~uu~~~~~~S~~O~~~~~~~~~q~~}~~~y~~~z~~~|~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1991/ccs np:i:16 rq:f:0.999913
+  j~~~~~~z~{~~k`~~~~Gu~yRS~G~~~~~T~f~~~k~~~~L~x1s~lfpH~y0~@dl~~~~}I~~~~t~~~~b~~~b~~~~F~~~tvt~~~m~ta~~~~~~f~_~~~~a~~d~~~~~zp~~~~~~~a~~~~k~~~~~x~~~~~~v{~~~~~~R~~~~x~~cT~~~~~~q~~'~~~~~T~~~~~~~~*~~~~~~~~~~~~o~~~~K~~~~~~~~~n~~yg~~\~~~~w~~~~~N~~~~~x~~~~~y~~~~~~~~~~~_~~~~~~l~l~~e~~~c~~~~~~~ng~~~~~~~~~~~~~H~~~~u~~o|~~~~~~~~~o~~~~\w[~~~~~~5~~vb~~~~Z.~~~~~~~~q~~~y~q~~D~~~.~~~~~E~~~~_~~~~~~~~~~r~~~s~b~~~j~~|~~~~~~e~~~o~^~~~~_~~~{~kxi~~~~~~~v~~~~~~~~zd~~~~~}a~uu~~~~~~S~~O~~~~~~~~~q~~}~~~y~~~z~~~|~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1991/ccs np:i:16 rq:f:0.999896
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATTATG [...]
   +
-  ~~~~~~~N~~~~~~~~~~~~~~~~~*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~{v~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~Y~k~e~~~~~~~~~~~~~~~~~~~x~~j~~~]~~~r~~~~~~~~~~~~~~~~~~x~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~f~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs np:i:10 rq:f:0.999415
+  ~~~~~~~M~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~yt~~~~~~~~~~~~~~~[~~~~~~~~~~|~~~~~~~~~~W~i~c~~~~~~~~~~~~~~~~~~~w~~h~~~[~~~p~~~~~~~~~~~~~~~~~~v~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~d~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs np:i:10 rq:f:0.999321
   AAGCAGTGGTATCAACGCAGAGTACGGGGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCCTGAGACTATATCATACAAAATTGACCCAAATAATAAACTCGTTCCAATAGTTGAAGTGTTGATTAACACATTGAGACAAGTTGTCCGTACTTTAATCATCAAAGTTTTGGACTGACCTATAAATGAAATATTCGCGTTGTCTTCAGTTTAAGAAGTGATATTATTTTCGGTTTCAAGCCTATGTGGAGAGATACAGGAAATAGGTAAACTATAACTAATATAAATATACGCAGACGAAGCCTGTTAACTTTACCAAATCCAAATAGCGGGAGAC [...]
   +
-  r~~~~~~`~~~~~~~~~s~~~~~~~d~~~~m~~~~d~~~~~~~~v~~~~~~~~ji~~~~~~q~e~2~~r~~~Y~~~~~~~~~~~~~~~h~~~~U~~~~~|~~~~~~~\~~~~~~|~~_~~~~~~r~~~P~~~~~G~~~~~~~~v~~~k~~~~~~~~_~~~~~~~y~~~ov~~~y~h~v~~~j~~~~~~~m~~~~~~~a~~~~~~~u~u~~~~~U~~~~~~~~~j~~~~~~~~M~~~~~~~`~~f~~~~~ce~~q~~~~~`~~~~~~b~|\~~~lt~~~}~_~~~~~t~~~~~~j~p~~f~~~~~~~R~~~~~~~Z~q~~~F~~~o~~~~~~j~~~~W~~~~k~~~p~~v~~~U~~~~U~~~~W~~p~~j~~p~~~~n~~@~~~~|~h~~~s~~~~~k~~~f~|G~w~~~n~`~A~~~~~~~U~~~|~~~~~~~~~~~{~~~~~~~s~~~~~~~~~o~~[^~~~~s~~~~~p~~~z~l~~~~~~P~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2012/ccs np:i:11 rq:f:0.999049
+  q~~~~~~`~~~~~~~~~r~~~~~~~c~~~~l~~~~c~~~~~~~~u~~~~~~~~ih~~~~~~p~d~1~~q~~~X~~~~~~~~~~~~~~~g~~~~T~~~~~{~~~~~~~[~~~~~~{~~^~~~~~~q~~~O~~~~~F~~~~~~~~u~~~j~~~~~~~~^~~~~~~~x~~~nu~~~x~g~v~~~i~}~~~~~l~~~~~~~`~~~~~~~t~t~~~~~T~~~~~~~~~i~~~~~~~~L~~~~~~~_~~e~~~~~cd~~p~~~~~_~~~~~~a~{[~~~ks~~~|~^~~~~~s~~~~~~i~o~~e~}~~~~~Q~~~~~~~Y~p~~~E~~~o~~~~~~i~~~~V~~~~k~~~o~~u~~~T~~~~T~~~~V~~o~~i~~o~~~~n~~?~~~~{~h~~~r~~~~~j~~~f~{F~v~~~m~`~@~~~~}~~T~~~|~~~~~~~~~~~{~~~~~~~r~~~~~~}~~n~~Z]~~~~s~~~~~o~~~y~k~~~~~~O~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2012/ccs np:i:11 rq:f:0.999047
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAA [...]
   +
-  a~~p~~~q~~~~~k~~~mg~~~~i~C~~~~~~\~]~~~lg~~n{r@~n~`~~I~~~|u^~~[~~uK~~L~d~,~~`dgIi~~i~~P~~~~yG~~zh~~~~S~~~~~~~~~~e~~x~yy~~~~~~~x~a~~~~~~~~\~~~x~z~~~~N~~~~~w~~u~zv~~~~~~w~b~~~~v~~~~~~u~~~~~~|~[~~~~D~~~~~~~~{~~~~~~w~C~~~}~l~~~~~~F~~~x~T~V~~v~~f~~~~d~s~~~~~e~c~~~~tn~e~~~y~~~~Q~~yq~ue~~~~~r~`~u~T~~~~y~~~~~~~~~~u~P~tQ~~xc~~~~up~i~n~~~~~cs~uy~j(~o~P~~oa~~~~e~~h~~~~~~~~~v~y~r~~~w~~~~~b~_~u~~~~~~~~~~a~~~b~X~~_~~~~~~|~~~~~~s~x~~~~n~sb~~~~~x~~}~w~~zd~u~~~~~zo~e~~~~~r~~~O~~~\~~~~v~~g~~i~~~~zn~~x~r~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs np:i:24 rq:f:0.999763
+  a~~p~~~q~~~~~k~~~mg~~~~i~C~~~~~~\~]~~~lg~~n{r@~n~`~~I~~~|u^~~[~~uK~~L~d~,~~`dgIi~~i~~P~~~~yG~~zh~~~~S~~~~~~~~~~e~~x~yy~~~~~~~x~a~~~~~~~~\~~~x~z~~~~N~~~~~w~~u~zv~~~~~~w~b~~~~v~~~~~~u~~~~~~|~[~~~~D~~~~~~~~{~~~~~~w~C~~~}~l~~~~~~F~~~x~T~V~~v~~f~~~~d~s~~~~~e~c~~~~tn~e~~~y~~~~Q~~yq~ue~~~~~r~`~u~T~~~~y~~~~~~~~~~u~P~tQ~~xc~~~~up~i~n~~~~~cs~uy~j(~o~P~~oa~~~~e~~h~~~~~~~~~v~y~r~~~w~~~~~b~_~u~~~~~~~~~~a~~~b~X~~_~~~~~~|~~~~~~s~x~~~~n~sb~~~~~x~~}~w~~zd~u~~~~~zo~e~~~~~r~~~O~~~\~~~~v~~g~~i~~~~zn~~x~r~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs np:i:24 rq:f:0.999702
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCT [...]
   +
-  W~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs np:i:10 rq:f:0.999633
+  V~~~~~~~~~~~~~~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs np:i:10 rq:f:0.99957
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGACCGAAGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAA [...]
   +
-  ~~~~~~~u~~~~|m~~~bzp~~~~~@~~~~~~S~~~~~f~~~~~~~~~~~~}~|~~p~W~~z~z~~~~iO~~~~~~~e~~~~~d~~~~~~r~Z~~Z~m~fg~~~~~h~w~}f~~x~}s~~~z~~ssP~~~~~xS~~~~f~~eN~y~~Q~t~~~~x~~~~~z~Vkc~~~~S~~~x~~\~~[~~[~M~~~y~\~vc~~~l~~~~T~_~~~eg~i~~~A~u~~~~~~x~~}~~v~~{~u~~@~~~~~~hd~~~~>~~osnwby~u~xws~~~}~{r~~~~x~i~~w?~~~~~~`~~~}~~~~r~}a\t~{~i~~D~~~^~~~~S~~~~jl~h~v~~U~~~ec~~~~~~z|~^:~~~V~~~\z~~~t~~~~m~~~~W~~~}~q~~~~j~~Up~~{~d`~Y~w}~y~~~~~~~N~~g~i~L~e~fq~q~>~~sd}~~~~~z~w~~c~~~_~~~w~~t~~{v~n~~~~~~wW~~~~~~uX~~~~~~~~~}~~~uw~ [...]
+  ~~~~~~~x~~~~~q~~~f}t~~~~~C~~~~~~V~~~~~i~~~~~~~~~~~~~~~~~q~V~~x~x~~~~gN~~~~~~~c~~~~~c~~~~~~p~X~~Y~l~de~~~~~f~v~{e~~w~{q~|~x~~qqO~~~~~vQ~~~~d~~cL~x~~P~r~~~~w~~~~~x~Tib~~~~R~~~v~~Z~~Y~~Y~K~~~x~Z~ta~~~j~~~~R~]~~~cf~h~~~?~s~~~~}~v~~{~~t~~z~s~~?~~~~~~gc~~~~=~~nrlv`w~s~wuq~~~{~zp~~~~v~g~~u>~~~~~~_~~~{~~}~p~|`[r~y~g~~B~~~\~~~~Q~~~~ij~f~t~~T~~~ca~~~~~~xz}]9~~~U~~~[x~~~s~~~~l~~|~U~~~|~p~~~~h~~To~~z~c^~X~v{~x~~~~}~~M~~e~h~J~c~ep~o~=~~rc|~~~~~y~u~~a~~~]~~~u~~r~~yt~m~~~~~~uV~~~|~|sW~~~~~~~~~{~~~tv~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2126/ccs np:i:23 rq:f:0.999895
   AAGCAGTGGTATCAACGCAGAGTACGGGAGACCAGTAGTTGGGTCAGAAATTAGACGTGGTTTAGTCTGGTTACCGTGGAAAGAATAGCTGAACTCAAAGAAGCCGACAAAGATAAACAAAGAAGAAACGGTTAATACGATTGAGGAGAAATATTCAATCCAACGGCAACTATTAACGTTTCAACTAGAATCTACGTTTCATACGCGGATTCCACATCCGTTCTTGCAATTAAAGAAACGATGTAGAAAACGCTTTGGTTGGCGACAACTTGGGCGGCAAAATAATTATGGTAGGTAATTGAAGTAGCGTTAAAACGCAAAAAGAAGGAAGCACGGATCACTGCAAAAAGGACTACTCAATAATGGTTTCTAAAGTCATTATGCTGGTGCTCCCTATGGCGGTGGTCAGTACTGTAACTAAAGATGGATTACGGCACTTGTAGAGCACGTATCAGACCCAGCTTTGAAAGAAGGCTGAGTTCGGTTCGGG [...]
   +
-  0~~~~~~~~~~~~~~~w~~~~~~~~e~~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~v~~~~~w~~~~~~~~~~~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~y~~~m~~~~~~~~~~~~~~~~~~t~~~~~~~~~~p~~~~b~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~c~~~m~~~~~~~~~~m~~~~~y]~~j~~~~~{~~~~~~~~]~~~h~~w~~~~~~~~~~}~~~z~~~~~~~~~~~~~~~~~O~~~~~tj~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~|~~y~~~~~~`~~~~i~~~~~~~~t~~~~~p~~~~~y~~{~~a~~v~~~~~~~~C~~~u~~~~~f~~~~~~d~o~r~~~~~~~~~~~~~~~x~~~p~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~U~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs np:i:14 rq:f:0.999337
+  0~~~~~~~~~~~~~~~w~~~~~~~~e~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~v~~~~~w~~~~~~~~~~~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~y~~~m~~~~~~~~~~~~~~~~~~t~~~~~~~~~~p~~~~b~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~c~~~m~~~~~~~~~~m~~~~~y]~~j~~~~~{~~~~~~~~]~~~h~~w~~~~~~~~~~|~~~z~~~~~~~~~~~~~~~~~O~~~~~tj~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~|~~y~~~~~~`~~~~i~~~~~~~~t~~~~~p~~~~~y~~{~~a~~v~~~~~~~~C~~~u~~~~~f~~~~~~d~o~r~~~~~~~~~~~~~~~x~~~o~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~U~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs np:i:14 rq:f:0.999046
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTAATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATG [...]
   +
-  ~~~~~~~~~~}~~_~~~o~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~R~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~f~~~~~~~~~~~~~~~~~~~~~~~~~~yq~~~~~~~~y~~~~y~~~~~z~~~~~~~et~~~~~~~~~~~~~~~~~g~~~~~~~d~~~~~~~~~~~~j~~~~~~~~~~~~~~i~x~~;~~~o~~~~~~~~~~~~~z~~~~m~~~~~~~~~~~g~~~~~~~~~~~~~~~>~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~y~~~~~q~~~~~yt~~~~~~~~~~~~~~~\~~~~~~~f~~~~~~~b~~~~(~~~~~~~~~j~~~~~~~~~}~~~~~~f~~~~~m~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c~~~vy~~~~~~l~~~~~X~~x~~~~~~p~~~~~x~h~~~~~~j~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2225/ccs np:i:12 rq:f:0.999347
+  ~~~~~~~~~~z~~\~~~m~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~P~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~d~~~~~~~~~~~~~~~~~~~~~~~~~~wo}~~~~~~~w~~~~w~~~~~x~~~}~~~cr~~~~~~~~~~~~~~~~~d~~~~~~~b~~~~~~~~}~~~h~~~~~~~~~~~~~~f~u~~9~~~l~~~~~~~~~~~~~w~~~~k~~~~~~~~~~~e~~~~~|~~~~~~~~~<~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~f~~~w~~~~~n~~~~~wr~~~~~~~~~~~~~~~Y~~~~~~~c~~~~~~~`~~~~&~~~~~~~~~h~~~~~~~~~z~~~~~~d~~~~~k~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~tw~~~~~~j~~~~~V~~v~~~~~~m~~~~~u~e~~~~~~h~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2225/ccs np:i:12 rq:f:0.999356
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  ~~~~~~~|~~~~n~~~~o~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~|~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~~~~~~~~x~~~~~s~~o~w~~~~~~~~a~~~~~~~~~~~c~~~~n~q~~~M~~~~Z~esw~~~~~~a~~~~~~~~~~~~~s~~~~~~~~_~~~~~~~~~~~~~~~~~~~~~~~~~R~~P~~~~~~~~~~~~~i~~r~~~~~~~s~~Z~~~M~~~n~~k~J~}~m~~~~?~~~~~~~~~~~~~~~~~~~~~k~~c~~~~~s~~~~~~~u~x~~~~w~~~~~~y~m~~~~~v~e~~~{~~~~u~~tj~x~~~~~~~~~~~~~~o~f~~\~~~~~c~~~e~~~~~~i~n~~{m~~~~~~~~v~~~~wc~~~~~~~~s~~~h~~~~~~~~e~g~~~~~~y~~yc~~~~\~~~~_~~~~~~w~~~~~~~~c~~~~~~H~~~~~~Vb~~U~~~~~~~~~ [...]
+  ~~~~~~~{~~~~m~~~~o~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~`~~~~~~{~~~~~~~~~~~~~g~~~~~~~~~~~~~~~~~~~~~~~w~~~~~r~~n~v~~~~~~~~`~~~~~~~~~~~b~~~~m~q~~~M~~~~Z~esv~~~~~~`~~~~~~~~~~~~~r~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~Q~~P~~~~~~~~~~~~~h~~q~~~~~~~s~~Z~~~L~~~n~~k~I~|~l~~~~>~~~~~~~~~~~~~~~~~~~~~k~~c~~~~~s~~~~~~~u~x~~~~w~~~~~~y~l~~~~~v~e~~~{~~~~u~~ti~x~~~~~~~~~~~~~~o~f~~\~~~~~c~~~e~~~~~~i~n~~{m~~~~~~~~v~~~~vc~~~~~~~~s~~~h~~~~~~~~e~g~~~~~~y~~yc~~~~\~~~~_~~~~~~w~~~~~~~~c~~~~~~H~~~~~~Vb~~U~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2255/ccs np:i:29 rq:f:0.999957
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAAT [...]
   +
-  ~~~~~~~~~~~~~R~~~~~~~~~~~x~~~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs np:i:14 rq:f:0.999842
+  ~~~~~~~~~~~~~P~~~~~~~~~~~v~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~k~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~g~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs np:i:14 rq:f:0.999804
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACG [...]
   +
-  ~~~~~~~{~~~~~^~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~n~~~~~~~]~~~~~~~~~~~y~~~~~~~~~~~i~~~~~o~~p~~~~~~|~~~~~~~~~~k~~o~c~~~~~~~~{~~k~~i~~~v~~~~~~~~1~~~~~~~n~x~p~Q~N~~\~~~~~~~~~~~~~~~~~~~~~~~~w~~\~~~~~~~~g~~O~~~~~~~~~h~~~~~U~~~pp~~~~~~~~F~~t~~o~~tpX~~~~Y~~~~l~~~o~~~~~~~~~~~p~~~p~~S~~~{L~~~~~~~~~Y~~~~e~~~~~~~~~~~~~~sd~Q~~O~~~~~~~~puz~~~~~~~~~~~~~k~~~~~~~s~~~~c~Y~~~~~~~~~~~~~~~s~~~~~~~~~~~w~~~~m~~[~~~~~~~~~}~~~~~~~~~~~~~~zu~~~~r~~~p~~~~~~~j~n~~Q~s~~~~Q~~n~~j~l~~~~~~~~~h~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs np:i:7 rq:f:0.999077
+  |~~~~~~y~~~~~\~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~l~~~~~~~[~~~~~~~~~~~w~~~~~~~~~~~g~~~~~m~~n~~~~~~z~~~~~~~~~~i~~m~b~~}~~|~~y~~i~~g~~~t~~~~~~~~/~~~~~~~l~v~n~O~L~~Z~~~~~~~~~}~~~~~~~~~}~~~~u~~Z~~~~~}~~e~|M~~~~~~~~~g~~~~~S~~~nn~~~~~~~~D~~r~~m~~rnV~~~~W~~~~j~~~m~~~~~~~~~~~o~~~n~~R~~~yJ~~~~~~~~~W~~~~c~~|~~~~~~~~~~~qb~P~~M~~~~~~~~nsx~~~~~~~~~~~~~i~~~~~~}q~~~~a~X~~~~~~~~~~~~~~~r~~~~~~~~~~~u~~~~l~~Y~~~~~~~~~|~~~~~~~~~~~~~~xs~~~~p~~~n~~~~~~~h~l~~O~q~~~~O~~l~~i~j~~~~~~~~~f~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs np:i:7 rq:f:0.998949
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACAC [...]
   +
-  q~m\~of[~~kjl4o`ptqpob~Zc$~~~~~~~}|~~~~okn{~~}ot~~~}}tgWhW~[~pns~O~q_~~~[~Bbc~~mFl[s\i~lt~N~mkX}i_L~n~\qro_~tp_~uP~~>r^~p@[p~p~qq^On~o~^~q~~t]~~~rl;~~^~r^?~brG~~rR~tu~~rH~b~B~~~]nn\~s9~~`]dmoU~]~q5~~qa~~pn~[raoa}VokWl~~~pqo(~tt_qO~ts~\~i}ksjzrnt~h~te~`~}]nI~q~v~a~~sm^o^r@~zjaL~~]~tp~c~~rM~shvyts\~~sp~tjor_~K~o~m~qruo~n}tj~qm^~~taJflrnn~kR~~okz8cY~~XZ~r~4\~_}Y~~a~~spB\oZ[~pdrud~rl~~mqZRm~L~~oYlU~~U~~~ln\~~c~~sttS~~mk~s[~pfV~Mq_tR~~Y~YolqQ~lmJ~[\k~I~~s~rE~~~|clpF]o~\t~ua~tnVQ~tp~O~o~~t~r [...]
+  q~m\~of[~~kjl4o`ptqpob~Zc$~~~~~~~}|~~~~okn{~~wot~~~||rgWgW~Z~omr~N~p^~~~Z~Bab~~lEk[r\h~ks~N~lkW|i^K~n~[pqn_~sp^~tP~~>q]~o at Zo~o~pp^Om~n~]~p~~s\~~~qk:~~]~q]>~aqF~~qQ~st~~qG~b~A~~~\mn[~r9~~_]cloU~\~p4~~pa~~om~Zran`|UnjVk~~~pqn(~ss^pN~ss~[~h|jrjyqns~g~sd~_~|\mI~p~v~a~~sm]o^q@~yi`L~~]~so~b~~qL~sguysr[~~so~sioq^~J~o~l~pqtn~m}sj~pl]~~s`Iflqmm~jQ~~ojy7cX~~WY~q~4[~^|X~~a~~soA\nZZ~ocqtc~qk~~lpYRl~L~~nXkU~~T~~~km[~~b~~rtsR~~mk~rZ~peV~Mp_sR~~Y~XnlpP~llI~[\j~H~~r~qD~~~{bloE\o~[s~t`~smUP}so~O~o~~s~q [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2305/ccs np:i:22 rq:f:0.999665
   AAGCAGTGGTATCAACGCAGAGTACGGGACGGTCGTACTAAAATCAGCTACGCGATCGCCGACTTAGAAGGCTGAGATGGAGAAACTTGTCTACTGGCAGACCTCACTATCTTTTAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTT [...]
   +
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~z~~~~~~~~~~~~~~~~~~~~~~l~~s~~~~~~}~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2319/ccs np:i:21 rq:f:0.999835
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2319/ccs np:i:21 rq:f:0.999796
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~O~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~jl~~~~~~~~v~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b~~~~~l~~~~~~~~~~~~~~_~~~~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~e~~~~~~~~~~~~~~~~~~~~~b~~~~~^~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs np:i:11 rq:f:0.999423
+  ~~~~~~~~~~~~~~~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~R~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~N~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~jk~~~~~~~~u~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~a~~~~~k~~~~~~~~~~~~~~^~~~~~~~~j~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~e~~~~~~~~~~~~~~~~~~~~~a~~~~~]~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs np:i:11 rq:f:0.999238
   AAGCAGTGGTATCAACGCAGAGTACGGGGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCCTGAGACTATATCATACAAAATTGAC [...]
   +
-  ~~~~t~~Z~~~o~t~~~~~~~~~~~O~~~^~h~~~~~w~d~~~~l~}~q~I~T~~~~~y~~t~g~~y~>~~~~~~C~~~~~~~y~~~~e~~~~~{~W}~~~~~~~~~~~w~~~~~~~~~~~~~ar~^~n~}sw|K~~~~~H~~~~~~~~~~~~[~~~~~^~~~f~~~I~~~~g~~x~s~~t~~e~l~~f~~}~~~R~}tvY~~X~xV{~J~~~~~e~~~~N~~~q~~c~z~z~~~~o~~~f~j~~~~~~~~M~~~~~~~~~~~~~~~~~u~~~~f~~|~f~~~~R~u~~t~~~~~~~~~~~~z~~~~~~{~~~~p~~S~~~h~~~~~kn~v|k~~~~s~~~~W~~~~~h~U~~y~~x~~~~~~~~~~~~~~~~~~}~]~~~~~b~~~~~j~~~~~~e~~~~~~~~e~~|~~~n~~~~~~~~~~~}~~~~~~~~~~~~~~~m~~~~~X~~~mp~~n~~~g{~~k~~~~~l~~~~~o~~~q~j`~~~~~v~S [...]
+  z~~}p~~V~~~k~p~}~}~~~~~~~K~~~Z~d~~~~~s~`~~~~h~y~m~E~P~~~~~u~~p~d~~u~:~~~~~~?~~~~~~~u~~~~a~~~~~w~Sy~~~~~~~|~~}s~~~~~~~~~~~~{]n~Z~k~yosxG|~~{}D~~~~~~~~~~~~W~}~~~Z~~~b~~{E~~~~c~~t~o~~p~~a~h~~b~~y|z~N~yprU~~T~tRw~F~~~~~a~~~~J~~|m~~_~v~v~~~{k~~~b~f~~~~~~~~I~~~~~~~~~~~~~~~~~q~~~~b~~y~b~~~~N~q~~q~}~~~~~~~~~~v~~~~~~x~~~~l~~O~~~d~~~~zgj~rxg~~~~o~~~~S~~~~~d~Q~~u~~t~~~~~~~~~z~~~~~~~~y~Y~~~~~^~~~~~f~~~~~~a~~z~~~~~a~~x~~~j~~~~~~~~~~~y~~~~~~~~~~|~~~~i~~~~~T~~~il~~j~z~cw~~g~~~~~h~~~~~k~~~m~f\~~~~~r~O [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2334/ccs np:i:21 rq:f:0.999733
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  ~~~~~~~~~~~~~m~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~}~~~~~~~g~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs np:i:16 rq:f:0.999453
+  ~~~~~~~~~~~~~l~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~}~~~~~~~g~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~~~~~d~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs np:i:16 rq:f:0.999211
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTAGCATAGCAACTGTTCTGAATGTGATATTCGGTCAGGCCACGTTGACACTTACCAAAGCAAGACAGAAGGAAGTTGACGGGACAATAGGGAAGATTGGCAAAGGGATTTAAACATAGTCCAGTTCGCGTGGTGAATGACAGATTGCTACTGTTACCATTGGCGATACTACGTTGGCGACTTTACTTGCCTCGGTAGCGACAGAACAAGTGTCGTCTACGCAACGAACAACCAGCGTGTTAGCTGCAATGTCCCCTGTAGAAGACCCTCTTCTTTCTCTTCTGAATGATGTAGCTGTGGATAGAGCGTCTCCCACGTTAGGGTCTAGCAACCCTCCGGTGGTGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTC [...]
   +
-  ~~~~~~~j~~|~~x~~~~~~~~~}~p~~~~E~~~~~~~~~~~~~~2~~~~|~~~~~~~~_~(;~~~~~~~~~~~~~~~~~~~~~s~L~~~~X~~~~~~l~s~y~~~~Sknd~~j~Y~~~h~~~~~~~~w~~~~~F~~~i~~\~~K~~~~~x~~~j~|~~~e~~~~~~~k~~~z~d~x~~~~~~?~~~~|~~~~~~~~~~~z~~~~~~~~~~~~~~~c~~~~~~~~~`~~~~~~~~~~~~~~~~d~~~~~~m~~~~~V~~~~~~~~s~~~}~l~~'c~~~~~~f~~~~~~~|~~~~y~~~~]~~j~~~~~~~~~~^~~~~~k~~x~~~~s~~~~~~~~~~~~[~~~~~~~~a~~~~~~~~~~m~~}z~x~~d~~~~~~~~U~~~~~~~~~~~~s~~~g~~bu|~~w~P~~~~~~~~~~~P~~~~~~~~x~p~~~~~~~~~~~~~v~~~b~~~~~~~~~~`~~~x~~~xxa~~i~~~~~|~~~~~~ThU~Y~ [...]
+  ~~~~~~~j~~|~~x~~~~~~~~~}~p~~~~E~~~~~~~~~~~~~~2~~~~|~~~~~~~~_~(;~~~~~~~~~~~~~~~~~~~~~r~L~~~~X~~~~~~l~s~y~~~~Sknc~~j~Y~~~g~~~~~~~~w~~~~~F~~~h~~\~~K~~~~~x~~~j~|~~~d~~~~~~~k~~~z~d~x~~~~~~?~~~~|~~~~~~~~~~~z~~~~~~~~~~~~~~~c~~}~~~~~~^~~~~~~~~~~~~~~~~b~~~}~~k~~~~~S~|~~~~~~q~~~{~i~~%a~~~~~~c~~~~}~~z~~~~w~~~~Z~~g~~~~~~~~~~\~~~~~i~~v~~~~p~~~~~~~~~~~~X~~~~~~~~_~~~~~~~~~~k~~zx~u~~b~~~~~~~~S~~~~~~~~~~~~p~~~e~~_sz~~t~M~~~~~~~~~~~N~~~|~~~~v~n~~~~~~~~~~~~~s~~~_~~~~~~~~~~^~~~v~~~vv_~~f~~~~~z~~~~~~QfS~W~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2409/ccs np:i:12 rq:f:0.999732
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGTTCC [...]
   +
-  t~~~~~~}~~~~~~~}~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~w~~~~z~~~~~~~~~~~~~~~~~~~i~~~~~o~~~~~~~~~~~x~~Y~~~~~~~U~~~~W~~~~~~~~~~`~~~~~~c~~~~~~~~~~~~f~~f~~~~w~~~~~~~m~~~{~S~~~~~~b~~Q~~~~w~~~~~~~~y~~~~~~~~l}Y~~W~~~z~~~~~~_~\~~~~~~~~x~~~p~~~~{~~~~~~~~~~~~W~~y~~i~~~~~h~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~m~~~~k~~~x~~~~~~~~~~~~~~~~~~q~~e~~~~~~~~~Q~~~~~~|~J~~~o~~~~~~~~~~~~~~x~~~~l~h~`~~~~~~~~~~}~~~z~~~~~~o~~~b~~~~)~~~~~~~~~~z~~~~~~~~~~~z~~~~~I~~~~p~~|~~~~~~~~~~~~~~~~~~ [...]
+  t~~~~~~}~~~~~~~}~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~w~~~~z~~~~~~~~~~~~~~~~~~~i~~~~~o~~~~~~~~~~~x~~Y~~~~~~~U~~~~W~~~~~~~~~~`~~~~~~c~~~~~~~~~~~~f~~f~~~~w~~~~~~~m~~~{~S~~~~~~b~~Q~~~~w~~~~~~~~y~~~~~~~~l}Y~~W~~~z~~~~~~_~\~~~~~~~~x~~~o~~~~{~~~~~~~~~~~~W~~y~~i~~~~~h~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~m~~~~k~~~x~~~~~~~~~~~~~~~~~~q~~e~~~~~~~~~Q~~~~~~|~J~~~o~~~~~~~~~~~~~~x~~~~l~h~`~~~~~~~~~~}~~~z~~~~~~o~~~b~~~~)~~~~~~~~~~z~~~~~~~~~~~z~~~~~I~~~~p~~|~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2417/ccs np:i:12 rq:f:0.999393
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  ~~~~w~~~~~f~~[~~~~~N~~~~~b~~~~c~~~~~~ve~~~~~q~~~~~~n~[~~b~~~~~Y~{~~~~^~r~~mo~U~~~~m~~~~~~~~R~~~~~~~~c~~~z~~~o~~~~~~~~~~~~~t~~~~~~~~~~~Y~~~u~~m~~~~~~~~~A~~~~~x~~~~~~~S~~~~~~|~~~f~w~~~~~L~~~n~~~F~~~~q~~~~~~~~~~~~Q~~~y~~~~~H~~~~e~~k~~~~~9~~~~~i~~~~~~~}~~~~~~r~~y~~l~~~w~M~~~~~~~~m~~}~~~~~~~~~~q~~~p~~~~y~y~~n~~~~z~~~~c~~~~~~~b~~|~~r~~~~~r~~~~l~~u~~~|~~~~~~x~~~~~~~~d~~~~H~~~~~~~|~~~~~d~~~_~~~~~~~y~~~~~~x~o~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~x~y~~f~~~~~~~~~~~~~~~~H~~~~~~~~~~~~~~~]~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/ccs np:i:13 rq:f:0.99859
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATT [...]
+  ~~~~w~~~~~e~~[~~~~~N~~~~~b~~~~c~~~~~~ve~~~~~q~~~~~~n~[~~b~~~~~Y~{~~~~^~r~~mo~U~~~~l~~~~~~~~R~~~~~~~~b~~~z~~~o~~~~~~~~~~~~~t~~~~~~~~~~~Y~~~u~~l~~~~~~~~~A~~~~~x~~~~~~~S~~~~~~|~~~f~w~~~~~L~~~n~~~F~~~~p~~~~~~~~~~~~Q~~~y~~~~~G~~~~e~~k~~~~~9~~~~~i~~~~~~~}~~~~~~r~~y~~l~~~w~M~~~~~~~~m~~|~~~~~~~~~~q~~~p~~~~y~y~~n~~~~z~~~~c~~~~~~~b~~|~~r~~~~~r~~~~l~~u~~~|~~~~~~x~~~~~~~~d~~~~H~~~~~~~|~~~~~d~~~_~~~~~~~x~~~~~~x~o~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~x~y~~f~~~~~~~~~~~~~~~~H~~~~~~~~~~~~~~~]~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/ccs np:i:14 rq:f:0.998667
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATTAT [...]
   +
-  }~Cgp{tf~~rz~q~~~~~a~|~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~ulfX~w~k\q~jo$zy~~Umq~|xm~~9~~t~Y~~~~j~q~~~zfj~z~c~~t~~r~ts|fc~sC~_]Y~`mR~~~H~`~k~~f~6~K~|SlC]n~~O~~~w~~~w~^~{_|~IRH{~m~~~l~2~g~~Klc~wp~ze~~{~uf~~~~^~~b~~~~~vl~y~~~cz~y~q}~f~~~z~~w~~u~~|~y~gl~~l~~p~0~~pb{~~~~juy~G~w~~~f~o~_\_~h~djXi~fq~y~~~S~~~sy~Ky~t~p\~~~~~lcl~~P{t~~bz~~vG~n,~~~o~~~r~~~Z~_Y~pg~~~t~~f~m~Ps~~a~~r~~~o~~~~k~~~LdX~~~~~~x~Vi~^Ae~~k~~~~u~~~b~~~w~~~~~k~~X~~$~~~u~n~w~2ew~~~`k~~u~~~|r~W~~~~~~q~}~~~~~~d~Y~~{~~HM~~~~~~d~hp~sw~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs np:i:17 rq:f:0.999748
+  ~~Mp|~~p~~}~~{~~~~~l~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~|ok]~~~\Si}i_%~~~\_y~~mw~~D~~{~_~~~~u~v~~~~ne~~~Z~s~~~g~~~~sj~~O~jdd~eu[~~~O{a~w~~n~?~B~z^tOjk~~O~~~~~~~~~b~~e~~T\T~~u~~~ut+~k~~M`[~oj}{c~~pq}\~~~~e~~b~~~~~~s~p~~~lu~~~|~wn~~~w~~~~~~~~~~~~rs~~u~~n~6~~xk~~~q~lst~P~o~~~b~z~hVk~l~dbMq~p|}~~~~G~~~w}~Sr~}~z`~~}~~uuh~~V~~~~[{~~}Q~t4~~~y~~~{~~~d~iZ~hs~~~m~~p~n~Ij~~d~~{~~~m~~~~`~~~BmO~~~~~~~~Jr~eF\~~c~~~~~~~~m~~~~~~~~~w~~N~~+~~~os~~~-v~~~~hu~~~~~~~~~`~~~~~~}~~~~~~~~k~X~~|~~GF~~~~~~b~oi~~|~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs np:i:17 rq:f:0.999684
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  j~~~~~~|~~~~~~~~~~~~~~~~~\~~~~~~v~~~~~~~~~~~~~~~~~~~~~]~~a~~~~~z~~w~~~~~~w~f~~~~~~~~~~~~~~t~~t~~X~~~~~~~~H~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[~~~~~~~~~~K~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~[~~~~~h~~E~~~~~~~~~~~~~~~~~~~~s~~r~~~~~{~~~~~~~~|~~~~~y~q~~~~~~~~~~~~L~~~~~~~~~~~y~~e~~~~~~~~t~r~~~~~~~p~~~~t~~k~~~~|~~~~~~~~~~~~~~~u~~~~~~~~x~~~~~~s~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~[~~~~~~~~~d~~~~~~p~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~b~~~v~~~~~~~e~K~~~~~~~~~~~~~~~~~~~~~g~q~~~~~~~~~~~~~~~~ [...]
+  j~~~~~~|~~~~~~~~~~~~~~~~~\~~~~~~u~~~~~~~~~~~~~~~~~~~~~]~~`~~~~~y~~w~~~~~~v~f~~~~~~~~~~~~~~s~~s~~X~~~~~~~~H~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[~~~~~~~~~~J~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~Z~~~~~h~~D~~~~~~~~~~~~~~~~~~~~r~~q~~~~~{~~~~~~~~|~~~~~x~q~~~~~~~~~~~~L~~~~~~~~~~~x~~e~~~~~~~~t~q~~~~~~~p~~~~s~~j~~~~{~~~~~~~~~~~~~~~t~~~~~~~~x~~~~~~s~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~[~~~~~~~~~d~~~~~~p~~~~~~]~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~b~~~v~~~~~~~d~K~~~~~~~~~~~~~~~~~~~~~g~p~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2472/ccs np:i:11 rq:f:0.999706
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGG [...]
   +
-  ~~~~~~~W~~~}lE~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\~~t~~~~p~Z~~~~~~~~~~~~~~~}~~~~~~~~~~~~]~~~~~~~z~~~~~~~~~~~~~~^~~~~~~~~~q~~~~~x~~~q~m~~~~~r~~~~~k~~~~~~Z~~~~~~~~~p~~~~~un~p~~~~~~~~~~~~~Zo~~n~Z~~k~~~o~~~b~~~~~~~b~Z~r~~~~~~]~~~~~r~~~~e~~~~~~~~k~~~~~~~~~~~~p~~~~~}~~~~~~~~b~~~~~~~~~~q~~~~~r~~~~~~~~~~~~~~~~oO~~~t~~~~~~]~~~~~~~~\~~~~~~U~~~~~~~~~~~r~e~~k~~~~~~~~~^~~|~~~~~~~~~~~~~~~~~~~~~~~~~YZ~~~~~O~~l~n~p~~~~u~~~~~v~~~~~~o~~x~~h~m~l~~`~~~~~~~~~~~~j~~R~~~~~M~~~~q~~~q~~o~~~~~~~~~~[~~~~ [...]
+  ~~~~~~~W~~~}lE~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\~~t~~~~p~Z~~~~~~~~~~~~~~~}~~~~~~~~~~~~]~~~~~~~z~~~~~~~~~~~~~~^~~~~~~~~~q~~~~~x~~~q~m~~~~~r~~~~~k~~~~~~Z~~~~~~~~~p~~~~~un~p~~~~~~~~~~~~~Zo~~n~Z~~k~~~o~~~b~~~~~~~b~Z~r~~~~~~]~~~~~r~~~~e~~~~~~~~k~~~~~~~~~~~~p~~~~~}~~~~~~~~b~~~~~~~~~~q~~~~~r~~~~~~~~~~~~~~~~oO~~~t~~~~~~]~~~~~~~~\~~~~~~U~~~~~~~~~~~r~e~~k~~~~~~~~~^~~|~~~~~~~~~~~~~~~~~~~~~~~~~YZ~~~~~O~~l~n~p~~~~u~~~~~v~~~~~~o~~x~~h~m~l~~`~~~~~~~~~~~~j~~R~~~~~M~~~~q~~~q~~o~~~~~~~~~~[~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2614/ccs np:i:12 rq:f:0.999667
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGA [...]
   +
-  ~~~~~~~k~~~~O~~ts~~o~~tjr'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~g~~~ah{~~hg~k[~l~~~~~~~~~~~~m~~s~~~~~~X~~Yk~~~r~~w~~~_~~~o~~~~r~~n~~o~~~U~~q[~~~~~Y~~oq~~~x~~r~~~}{n~~~~~g~X~~@~~~~~~~~W~~~~~~~~~~~~s~~pU~~~~z~~~Sr~oS~~k~~~~s~~~[~~yqx~~y~~t\~}}p~~~~~u~~o~~~~~n~~~~~~~~~p~~~~~~~f~~Z~uo~~~x~~~~~~d~r~~~~~~~~fp~s~~z~~{~~V~~~~~j~p~q~~h|mI~~~~~t~s~~~~l~c~wv~n~~X~~~~y~^k~~X~~~t=~~~~~~~~~l~r~G~~h~~~~~~~~~~~~~X~~~W~Z~~U~j~~r|~\~m~~~~~~~~sj~~pe~~s~~~t~~Y~~~~~~~~X~~~~~t~g~~~l~~~~~]~~<~[~e~~Y~W~~~d~x~~~~~k~ [...]
+  ~~~~~~~k~~~~O~~ts~~o~~tjr'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~g~~~ah{~~hg~k[~l~~~~~~~~~~~~m~~s~~~~~~X~~Yk~~~r~~w~~~_~~~o~~~~r~~n~~o~~~U~~q[~~~~~Y~~oq~~~x~~r~~~}{n~~~~~g~X~~@~~~~~~~~W~~~~~~~~~~~~s~~pU~~~~z~~~Sr~oS~~k~~~~s~~~[~~yqx~~y~~t\~}}p~~~~~u~~o~~~~~n~~~~~~~~~p~~~~~~~f~~Z~uo~~~x~~~~~~d~r~~~~~~~~fp~s~~z~~{~~V~~~~~j~p~q~~h|mI~~~~~t~s~~~~l~c~wv~n~~X~~~~y~^k~~X~~~t=~~~~~~~~~l~r~G~~h~~~~~~~~~~~~~X~~~W~Z~~U~j~~r|~\~m~~~~~~~~sj~~pe~~s~~~t~~Y~~~~~~~~X~~~~~t~g~~~l~~~~~]~~<~[~e~~Y~W~~~d~x~~~~~k~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2616/ccs np:i:12 rq:f:0.999335
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCAC [...]
   +
-  ~~~~~~~~~~~~p`~~~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~u~~u~^~~~~~~~~~~~y~~~pz~~~~~~}~~~~~q~~O~~~~~~v~~~~n~~~~~r~~~~[~~~~~~~~~~do~~d~~~X~~~~~~~vV~~~~~~~t~y~~ro~K~~y~~~~~~~~~n~~~~~~~~~~~~~zl~~r~~~~~~~~~~~~~~~~Y~~~~G~~~~tn~~~~m~~~~~~~~q~~~~~^~~~~x~~~~W~~~~q~~~~~~~~~~~~~~~~~~~e~~^~~~~t~~y~~~~~~~~~~~}~~~~~~~~~~~~~~~v~~~~.~~~~~~~~~~~~y~~~~~~~y~~~{~d~~~~o~~`~~a~c~~~~~~~~~~~~~~~c~~~~~~~~~~~f~~~~p~~i~~~x~~~c~n~z}rZ~y~~}~c~~~~~yV~`wn~_~~J~t~va~g~4P~E~~ztm~g`~~k~C~~~~xy~~~~~~~~~s [...]
+  ~~~~~~~~~~~~p`~~~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~u~~u~^~~~~~~~~~~~y~~~pz~~~~~~}~~~~~q~~O~~~~~~v~~~~n~~~~~r~~~~[~~~~~~~~~~do~~d~~~X~~~~~~~vV~~~~~~~t~y~~ro~K~~y~~~~~~~~~n~~~~~~~~~~~~~zl~~r~~~~~~~~~~~~~~~~Y~~~~G~~~~tn~~~~m~~~~~~~~q~~~~~^~~~~x~~~~W~~~~q~~~~~~~~~~~~~~~~~~~e~~^~~~~t~~y~~~~~~~~~~~}~~~~~~~~~~~~~~~v~~~~.~~~~~~~~~~~~y~~~~~~~y~~~{~d~~~~o~~`~~a~c~~~~~~~~~~~~~~~c~~~~~~~~~~~f~~~~p~~i~~~x~~~c~n~z}rZ~y~~}~c~~~~~yV~`wn~_~~J~t~va~g~4P~E~~ztm~g`~~k~C~~~~xy~~~~~~~~~s [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2628/ccs np:i:26 rq:f:0.999813
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGTT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~X~~~~~i~~~~~~~~~~~~~~~6~~~~~~~~~~~~~i~~~~~~~~f~~~~~~~~~~~~~~~~~~~~~~~{~r~~L~~~~~~~~~~~~~~~~~~~~~~~~l~~r~~~^~~|~~~i~|~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~^~~:~~~~~~~~~~~~~~~~~~~~~~~~K~}~~~~~~~b~~~~~~~~~~~~c~~~~~~~~~~~~~~~~|~~~~v~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~{~~~~~~~~~~~~~~o~~~~~~~_~~~~~~}~~~~~~~~~~~~~~~Z~~~~O~~~~l~~~~~~~~~~~c~~~~~F~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~X~~~~~i~~~~~~~~~~~~~~~6~~~~~~~~~~~~~i~~~~~~~~f~~~~~~~~~~~~~~~~~~~~~~~{~r~~L~~~~~~~~~~~~~~~~~~~~~~~~l~~r~~~^~~|~~~i~|~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~^~~:~~~~~~~~~~~~~~~~~~~~~~~~K~}~~~~~~~b~~~~~~~~~~~~c~~~~~~~~~~~~~~~~|~~~~v~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~{~~~~~~~~~~~~~~o~~~~~~~_~~~~~~}~~~~~~~~~~~~~~~Z~~~~O~~~~l~~~~~~~~~~~c~~~~~F~~~~~~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2648/ccs np:i:18 rq:f:0.999804
   AAGCAGTGGTATCAACGCAGAGTACGGGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGGTCTTCTAGCGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGT [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~s~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~~~~~~z~~~|~~~~~~~l~~~~~~~P~~q~~~~~~~~~~~~~~~~~g~~~~~~~~~~~~~M~~~]~~~~y~~~~~~~~~~~~~~~~~~~~z~~y~~~~~~~~~~~~~~~~~~b~~~~u~~~~~~_~~~~z~~~~~~n~~~~~~o~~~~~~~~~~~~~~6~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~Q~~~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~V~~~~c~~~~~~~i~~b~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs np:i:12 rq:f:0.999393
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~s~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~V~~~~~~~~~~~~~~~~z~~~|~~~~~~~l~~~~~~~P~~q~~~~~~~~~~~~~~~~~g~~~~~~~~~~~~~M~~~]~~~~y~~~~~~~~~~~~~~~~~~~~z~~y~~~~~~~~~~~~~~~~~~b~~~~u~~~~~~_~~~~z~~~~~~n~~~~~~o~~~~~~~~~~~~~~6~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~Q~~~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~V~~~~c~~~~~~~i~~b~~~~~k~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs np:i:12 rq:f:0.99957
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  ~~~~~~~>~~~~~c~~~~~~~~~~~m~~~~~~t~~~~~~Y~~e~~~~y~~^~~q~~i~~W~~~~yj~~~~~~~~~~V~~~~~~~~~~|~~~T~~~~~~~~~~~~~P~~~~~~~~~w~~~~~s~~~[~~W~j~~~~~~~~~~~~~~~~~~~~~~}~~~m~~~~~~~~~{n~~~~~~~~q~~~~~~{~~~o~~~~~~Y~~~~~~~~~~~~~~~~~d~~z~~~b~~~~~~~~~~Q~~~~~~~~c~~~A~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~u~k~~~~~~~~~~~~~~~~~~~~~~~~~~~~~V~~~~~~~d~~~~~`~~~~8~~~~rZ~~~~o~~~~~~~~~~K~~e~~~G~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~p~~h`~~~~~~w~~~~~~~~~uV~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~v~~~]~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs np:i:10 rq:f:0.999539
+  ~~w~~~~:~~~~~e~~~~~~~~t~~e~~~{~~w~~~~~~f~~m~~~~o~~l~~y~~t~~a~~~~mc~~~~~~~~~~M~~~~~~~~~~r~~~L~~~~~~{~x~~~~Z~~~~~~~}~p~~~~~~~~~Y~~w~a~~~~~~y~{~~~~~~~~~~~v~s~~~e~~~~~~~~xqv~~~~~~~~h~~z~~~t~~~h~~{~~~L~x~~~~~~~x~~~~~~~l~~u~~~]~~~~~~~~~~S~~~~~y~~i~~~M~~~~~~~~~~~~~~~~~x~~~j~~~u~~~~~~~~~~q~u~~~~~~~~~~~~z~~~~~~~~~~~~~~~~^~~~~~~~fz~~~~m~~~~Q~~~~~M~~~~~~~~~~~~~~~c~~s~~~X~~~~~~~~~~~~~~|~~~~~~~~~~~~u~~~~~~~~c~~^X~~~~~~o~~~~~~~~~~P~~~~~~~~~~~~~x~~~~~~w~~~~~~~~~~~~~~v~x~~v~~~~~~~z~~~~~~~~s~~m~~~S~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs np:i:10 rq:f:0.999611
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  w~nr}ZdG~~~~pa~~o~~\~^Ri~?~~~~~|~~~~~~~w~y~~~~~r~O~~~~~Z~q~~Q~~~~M~~p~pw~jP~~m~~~s~j~~k~{~~_~~~gs]zo~EW~~k~o]~~~~~~~~S~~~~plF~~~sM~~~n~~v~b~o~p~~p~~~~~~~rTo~~~uZ~~~\~~m~vt~~s~U~~c~~t~pM~~~d~h~~]~nm~spr~p~~~w~m~~~t[~~~v~~kk~~knn~jG~~~~~~wc~~l~r~~~~~~u{ag}T~ob~~~~~m~o|Y~~n~`~O~~|Dt~\~~~~~sm~o~~~~o~~}~~~A~~~L~~~iH~~~~~q~~~a~~O~~~~_~~o~~x~w~~V~~~N~~l~~n~}`~n~~[~~k~H~~~~~c~~~pp~r[~~~~~vZ~h~v~w~~~~~~~~S~~V~~~s~\~ss~}~R~~~~{d~~~~~trgqo~q~q~~q3~eZ~~~~|a~~]~N~~S~~~~~~u%~~qu~~jo~~~o~~}~p~~~~~~~i [...]
+  w~mq|YcG~~~~o`~~n~~[~]Rh~>~~~~~{~~~~~~~v~x~~~~~r~O~~~~~Y~p~~P~~~~L~~o~pw~jO~~l~~~s~j~~k~z~~_~~~gs]yn~EV~~j~n\~~~~~~~~R~~~~plE~~~sM~}~n~~v~a~n~p~~p~~~~~~~rTo~~~uY~~~\~~l~us~~r~T~~b~~s~pL~~~c~g~~\~ml~soq~p~~~v~m~~~tZ~~~u~~jk~~knn~iF~~~~~~wb~~k~q~~~~~~uzaf|T~ob~~~~~l~o{Y~~m~_~O~~|Dt~[~~~~~rl~o~~~~n~~|~~~A~~~K~~~hG~~~~~q~~~`~~O~~~~^~~o~~w~v~~U~~~M~~k~~m~}_~n~~Z~~j~G~~~~~b~~~oo~r[~~~~~uY~g~u~v~~}~~}~~R~~V~~~r~[~rs~}~R~~~~{c~~~~~tqgqo~p~p~~p2~eZ~~~~|`~~\~M~~R~~~~~~t%~~pt~~jn~~~o~~|~o~~~~~}~i [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2771/ccs np:i:11 rq:f:0.999033
   AAGCAGTGGTATCAACGCAGAGTACGGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  q~Vd~}~c~~h~~`~~}~q?~o~Yo<~~~~~S~w~P~~~Y~a~~~~~~k~U~~A~~~~~t~~~~~z{~~>~x~~~~~~~{~~~~~~e~~~~~Z~~~E~~~~N~~~~~~q~~~~~~~~~~~~~~x~vl~~~~~~~~~~X~~~~~~~v~~M~~~~~~~~~~~~~~~~~~p~~pq~~]~~~~v~i~~Ur~~~G~~Z~~Z~~~~~~~~~~~t~~~~~/~~y}im~~~~~~T~~~~~~~X~vs~~S~~~~~~u~~~~gx~e~~~~~~~~~1~~~w~~~~~~f~~~b~~~~~n~~~~~~l~\~~~n~~~~T~~~v~~~~~~~`i~~~~~~~~~~x~~~~~Y~~_~~~~~~~~~~~~~~~~~~~~~~i~~~a~~~~c~~~~~~~B~~~~|D~~~x~x~~~~r~~~p~t0~~~~zut~^~~~~~~~A~~{k~~~~~E~~~~~~g~~~~~~~~~~~F~Z~~~~~~~~|~{x~i~x~~~|~g~~~~~~~~~~o~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs np:i:11 rq:f:0.999401
+  q~Vd~}~c~~h~~`~~}~q?~o~Yo<~~~~~S~w~P~~~Y~a~~~~~~k~U~~A~~~~~t~~~~~y{~~>~x~~~~~~~{~~~~~~e~~~~~Z~~~E~~~~N~~~~~~q~~~~~~~~~~~~~~x~vl~~~~~~~~~~X~~~~~~~v~~M~~~~~~~~~~~~~~~~~~p~~pq~~]~~~~v~i~~Ur~~~G~~Z~~Z~~~~~~~~~~~t~~~~~/~~y}im~~~~~~T~~~~~~~X~vs~~S~~~~~~u~~~~gx~e~~~~~~~~~1~~~w~~~~~~f~~~b~~~~~n~~~~~~l~\~~~n~~~~T~~~v~~~~~~~`i~~~~~~~~~~x~~~~~Y~~_~~~~~~~~~~~~~~~~~~~~~~i~~~a~~~~c~~~~~~~B~~~~|D~~~x~x~~~~r~~~p~t0~~~~zut~^~~~~~~~A~~{k~~~~~E~~~~~~g~~~~~~~~~~~F~Z~~~~~~~~|~{x~i~x~~~|~g~~~~~~~~~~o~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs np:i:11 rq:f:0.999174
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAAT [...]
   +
-  3~~h~})[~p~~~_~~~~jy~~~o~A~~~~~~~F~~~~~~~y~~f~b}B~~J~~l~~j~v~~j~~f~~~~~~M~~~~~X~~~?~~~~~~k~~~~~~i~~~pr~~~]~~r~m~~~g~~~|~~~~~~o~~~~~~~~.~~~v~~~~~~V~~u~~~~~~~~~~q~xj~~~n~~~l~~a~}~P~~~g~~~p~sw~e~~~u~~~~b~4~~~wX~~~~~~~~~~jx~~~_f~~~~~~~~~i~~~~s~wep~~~~~~~~~^~~n~~~~w~~~~~~m~kG~~~~~~~Rp~~~~V~]s~6~Q4e~i~~b~~~~~~~~W{~~s~~~~~uj~~~~~bw\~~~~~~~\~~~l~p~~~~~o~~~~~~~~iv~~i~~~~~~q~~~YQ~~~~~u~]~~~~~~~~~~x=P~o~<~l~~~~q~~~~r~~~tz~9~~{~~~~r~~v~o~~myq~y~}O~~~o~~:~~~mq{~~~~~~j~~x~~i~y~~~`~{~|~x~~~q~rM~~u~~~ [...]
+  3~~h~})Z~p~~~^~~~~jy~~~n~A~~~~~~~F~~~~~~~y~~f~b}B~~J~~k~~j~v~~j~~e~~~~~~M~~~~~X~~~?~~~~}~h~~~~~~f~~~np~~~Z~~o~j~|~d~~~z~~~~~~m~~~~~~~~,~~~s~~~~~~S~~r~~~~~~~~~~o~ug~~~k~~~i~~_~z~N~~~e~~~n~qu~c~~~s~~~~_~1~~~tU|~~~~~~~~~gv|~~\d~~~~~~~~~f~~~~q~ubm~~~~~~~~~\~~l~~~~t~~~~~~k~iE~~~~~~~Pm~~~~S~Zq|4~N1c~g~~_~~~~|~~~Tx~~q~~~~~sg~~~~~_tY~~~~~~~Z~~~j~n~~~~~l~~~~~~~~fs~{f~~~~~~n~~~WN~~~~~s~[~~~~~~~~~~u:M~m~:~j~~~~o~~~~p~~~rx~7~~y~~~~p~~s~m~~kvn~w~{L~~~m~~8~~~kox~~~~~~h~~u~~g~v~~~]~x~z~v~~~n~pJ~~r~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2774/ccs np:i:22 rq:f:0.999941
   AAGCAGTGGTATCAACGCAGAGTACGGGAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTTCCTTGTATGGGTGGAACCCAACCCGCCGGTGAGGGTGAGTTACGGTCGGCGGTCATATGTGGGTATGACGGGTATGACGTCATAAAT [...]
   +
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs np:i:12 rq:f:0.999144
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCAC [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs np:i:10 rq:f:0.999372
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCA [...]
   +
-  ~~}~~~~`~~~~bW~d~y~x~~~~h%~~~~~~~~~~~~~~~~~~~~~~~~~~~~*~~~~~~~~~~~o~~~vt~~xrzc~~~~~t~N~~~~~~t~~~~q~z~|~~e~~~~i~p~~~H~~c~~}~~~j~~~~p~~{P~o~~~~N~~~~_i~~~~~t~{e~~~W~~~~~~~v8~~~~~u~~~j~~wx~S~~]~~~~~{~~pH~~~~~^~~~~z~~vE~~m~~~~x{~~n~~p~~~~H~h\~L~~~~hd~~d~e~~~~~~~~[~~s~~d~~e~l~~stQ~~~hl~~~v~~~~xW~x~z~Q~~~k~~`~~~~]~~d~s~~s~[~_r~[~~l~i|~~v~qj~o~c~k~w){~~~~~|~]~m~^~o~~~~~X~~}I~m~~u~ncvk~u5~_~~gt~n~~~~~n~~~a~~~~~R~~L~~^~~s~Z~~M~c~s~s|~~~~~~~~~~~~f~m~~q~g~_~~~~zb~~R~r~~>~~~}b~em~~]G~jY~~K~I~~qzd~f [...]
+  ~~|{~~~Z~~~~ci~g|h~h~~~~h%~~~~~~~~~~~~~~~~~~~~~~~~~~~x'sw~~~~~~~~~zw|~pgu~~hb~W~~{~~d~\~~{~~~f~~{~c~i~{~~[~~y~[~iq|~E~wW~~p~s~^~~q~b~~{@}d~~~~X~~}~Qlv~|~zb~vT~~{Q~~{~~|~g:~~~~~g~~~h~~hu~F~~R~~|~~v~~ZA~~~ux[~{~~vq~xH~ye~~~~{i~}\~~e~q~vF~f]~J~~~obd~~cvb~~~|{~y~T~~e~~X~~g~d~}ucE~~~Y~~x~k~~~~kBuk~o~H~~~_~~T~~~eP}~f~mv~w~L~bm~X~~\~fs~wz~gi~h}]~e~y*t~~~~~}rZlh~\~g|~}~~Q~~hK~Z~~g~^_i[~p/~X|~d\tc~~~~~c~y~b~~{~|K~~@n~[~~h~S~~S~]~nxnp}vm~~|~x~y~z[~c~}cxc~q~~z~tc~~P~jr~D~~yoa~]h~~^;xYO~~\~<~ssub~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2802/ccs np:i:27 rq:f:0.999848
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~f~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2877/ccs np:i:22 rq:f:0.999657
+  ~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~U~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~f~~~~~~~~~~~~~~~~~~~~\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2877/ccs np:i:22 rq:f:0.999804
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGCG [...]
   +
-  ~~~~~~~~~~~~~h~~~~~~~~~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~B~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~x~~~~~N~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~U~~~~~~~~~~~~~~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs np:i:21 rq:f:0.999944
+  ~~~~~~~~~~~~~k~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~E~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~{~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~X~~~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs np:i:21 rq:f:0.99993
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTG [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~d~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~J~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs np:i:11 rq:f:0.999514
+  ~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~~~~~~~c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~I~~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs np:i:11 rq:f:0.999511
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAAT [...]
   +
-  ~~~a~~`p~~~~dp~~~u~~~w~~|=~~~X~a~~x~}S~~kke~`v~~t}~M~~U~|A~z~v~nF~~~r`~o~lu~~~a~~~~m~~~~~~wu~s~ms\~r~\~r~X~~~~G~~i~~~~~oI~~~~r~M~}~^~f~~\~r~~~~~~p~a~rb~~c_~~~s\~~~r~l~b~u{~yS~~g|k|YS~~~~o@~~]~~~~~~~~N~~~~U~~~sh~~NoH~~~j~~Y~~~ts~~~p~3~~~~~`~~~~~~~~r\]o~aqi|z~e~~~~Q~~}~^~~~q~}~w~^yoa~~w~tkx~~m~~_a~~b~~~~~o~~~i~~~{~l~~rV~vo~~~~~~N~~vq~~~~cT~~}~~pm~b~~~p~`~~T~~~_~~~[~n~~~tp~~~s~~[w~~~~~~~mI~~~~o~~~~~~~~~r~~]~8~~~rR~~iq~|~x~~~~~~~o~t~~~x~~wY~~~~w~\~~b~~~~~la~~o~~~]~u~t~~~~c~~rm~~x[~|~~mto~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs np:i:12 rq:f:0.999256
+  ~~~a~~`p~~~~dp~~~u~~~w~~|=~~~X~a~~x~}S~~kke~`v~~t}~M~~U~|@~z~v~nF~~~r`~o~lu~~~a~~~~m~~~~~~wu~s~ms\~r~\~q~X~~~~G~~i~~~~~oI~~~~r~M~}~^~f~~\~r~~~~~~p~a~rb~~c_~~~s\~~~r~l~b~u{~yS~~g|k|YS~~~~o@~~]~~~~~~~~N~~~~U~~~sh~~NoH~~~j~~Y~~~ts~~~p~3~~~~~`~~~~~~~~r\]o~aqi|z~e~~~~Q~~}~^~~~q~}~w~^yoa~~w~tkx~~m~~_a~~b~~~~~o~~~i~~~{~l~~rV~vo~~~~~~N~~vq~~~~cT~~}~~pm~b~~~p~`~~T~~~_~~~[~n~~~tp~~~s~~[w~~~~~~~mI~~~~o~~~~~~~~~r~~]~8~~~rR~~iq~|~x~~~~~~~o~t~~~x~~wY~~~~w~\~~b~~~~~la~~o~~~]~u~t~~~~c~~rm~~x[~|~~mto~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs np:i:12 rq:f:0.999209
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCTTGATA [...]
   +
-  ~~~~~~~B~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~n~~~~~~~~~x~~s~~~~~~}~~z~~~~~~~~~~~~~~u~~~~h~t~~~~~~T~~~v~~~~`~~~~~~~~sk~~~~~~]~~~~~~r~~~`~~M~y~~~~~|~~~~~~~}~~~~O~~~i~~~k~x~{~~l~~~~~V~~~G~~}~T~A~d~o~Z~~~~F~~a~I~~~~~{~~~c~~V~~~~~~f~~~~~~~K~~~~{~~jy~~~~l~~~~~~~_uc~~b~~~f~~~~~~~~t~m~~~}~~~~~~~~~~~`~~~~~_~~~~o~~~g~~[~~~Z~~~~Y~~y~~O~~~Y~~k~~~~i}e~~k~{~~~~~~~~|~~~~v~~~~Nn~~~~r~~~U~~~~~y~~~~~~~~~y~T~~zj~~~~~~i%T~+~~~z~~~~~z~~~~~~W~~R~luB~a~{~L~~p~}~~~~~~~~~~o~~~~~~~~~~v~~g~~~~o~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs np:i:16 rq:f:0.999754
+  ~~~~~~~B~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~n~~~~~~~~~x~~r~~~~~~}~~z~~~~~~~~~~~~~~u~~~~h~t~~~~~~T~~~v~~~~`~~~~~~~~sk~~~~~~]~~~~~~r~~~`~~M~y~~~~~|~~~~~~~}~~~~N~~~i~~~k~x~{~~l~~~~~V~~~G~~}~T~A~d~o~Z~~~~F~~a~I~~~~~{~~~c~~V~~~~~~f~~~~~~~K~~~~{~~jy~~~~l~~~~~~~_uc~~b~~~f~~~~~~~~t~m~~~}~~~~~~~~~~~`~~~~~_~~~~o~~~g~~[~~~Z~~~~Y~~y~~O~~~Y~~k~~~~i}e~~k~{~~~~~~~~|~~~~v~~~~Nn~~~~q~~~U~~~~~y~~~~~~~~~y~T~~zj~~~~~~i%T~+~~~z~~~~~z~~~~~~W~~R~luB~a~{~L~~p~}~~~~~~~~~~o~~~~~~~~~~v~~g~~~~o~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs np:i:16 rq:f:0.999705
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAAT [...]
   +
-  ~~~cqjoa~~~~~w~~~~~~~~~~~U~~~~~h~~~~~p~~~~m~~~~~~~~H~~_~~~~~~~~~{~~~\~~~~~~u~~~~~~~|~~~~~~s~x~~~~~~~~+~y~_~~~~_~~~~~x~~y~~~~~~~~~~~~~h~~~~`~~~~~~~~I~{~~~~^~~~~~~z~~~~~~~~~~xk~~~~x~~g~~~~~d~~i~n~~w~~~m~~q~W~~~g~~~@~h~~~T~~J~~~~~~~~~~J~~~~~k~~~x~X~d~~~~~~~m~s~~q~~~_~~p~U~~~i~~~~~~~~{~~~~~~~~~o~}~a~~u~~~~~~~~~~~~~~~s~~~~~~[~~y~~~g~~~{~~~~~X~~~~o~~~s~~~~~~~~c~~~J~~~[~u~~~~x~~m~~x~~~~k~~y}~c~~~t~~~~~~~~~~r~~o~+~~~~^~~~~~~~~~~~~~~~t~x~a~~~~~W~~~~~~u~j~~~~~~~W~~Z~~~~~~~vvnk~~~~~a~~~~~~~~~~~~~ [...]
+  ~~~bqin`~~~~~v~~~~~~~~~~~T~~~~~h~~~~~p~~~~m~~~~~~~~H~~^~~~~~~~~~{~~~[~~~~~~u~~~~~~~|~~~~~~s~x~~~~~~~~*~y~^~~~~^~~~~~x~~x~~~~~~~~~~~~~h~~~~_~~~~~~~~H~z~~~~]~~~~~~y~~~~~~~~~~wj~~~~x~~f~~~~~d~~h~n~~v~~~l~~q~V~~~f~~~@~h~~~S~~I~~~~~~~~~~J~~~~~j~~~w~X~c~~~~~~~m~r~~p~~~^~~p~U~~~i~~~~~~~~z~~~~~~~~~n~|~a~~u~~~~~~~~~~~~~~~r~~~~~~[~~x~~~f~~~z~~~~~W~~~~n~~~r~~~~~~~~b~~~J~~~[~t~~~~w~~m~~w~~~~k~~x}~c~~~s~~~~~~~~~~r~~n~+~~~~]~~~~~~~~~~~~~~~t~w~a~~~~~V~~~~~~u~j~~~~~~~W~~Z~~~~~~~uumk~~~~~`~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2951/ccs np:i:10 rq:f:0.999786
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
   {~~~~~~U~~~~{Y~~~~{wov}~~L~~~|~~~~~~qp~~~|x~~~~x~[~~~~~~~S~uh~~~~W~rw~~z~~\~~x~~~h~c~~y~}~~n~~~~~Z~`~LC~~[~hg~~~~~~~~W~~~x~~n~~~~}~~~v~k~~h~e~~~~~~~~~{}~~~T~n~vW~~~{~~k~~]~~g~Z~~~~~v~}M~~f=~~~~z~z~~~{{~\~~~v~y~~~~}~~~~}~~x~~~~~~~J~~~~x~}V~~~~u~~~~~h~~u~~~vqt~~~~iv~~~~h~~~s\e~~{~~~@~~x~~~{~W~~~ud~~~~}~e~~hU~~x~S~~~~~z~~~W~|E~~~}g~~v~~~|y~~k~~~m~~~}~p~~r~~~~}~~u~j~~~~um~~r~eu;_~~~~~~v~a~rn~fzy~z~~~a~~h~r~w~w~f~~~~^~~~~~~~~~~~~g~~v~b~X~~~[~~b~~~~~t~~~~g~~Y~~~~~~~F~~~~|~}~~S~~~s=~~~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs np:i:13 rq:f:0.99964
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs np:i:13 rq:f:0.999639
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACG [...]
   +
-  ~~~~~~~y~~~~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~E,?i~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~~~~~~r~~~w~r~~N~?~~x~~~~~~~~~~~e~~~~~~~~~~~~/~~~~~~~~~~~~~~~n~~e~~~~~~~~~~~~~~~~~~~x~~~~s~~L~~~~~~~~~~~~~~~~M~~~~`~~~~~q~~~~g~~~~~~~~^~~~~~H~~~~~~~~~=~~~~~~~~~~~~~~~~~~~~~~~~~~qf~~~~~~~~~~~~~~l~~~~x~~~~~~~~~~~~~~~~~~~~<~~~~~~~~~~~~~~~~~~~~r~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~o~~~~~z~~~~~~~~~~~~~~~~~~~~~~|_~~~~~~~~~~~~~~~~~~t~~~~~{~~~~~~~~~~~~~~N~~~~o~~~~~~~y~~~~~~~~~c~~~~~~~ [...]
+  ~~~~~~~y~~~~~~~~~~~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~E,?i~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~~~~~~~~r~~~w~r~~N~?~~x~~~~~~~~~~~e~~~~~~~~~~~~/~~~~~~~~~~~~~~~n~~e~~~~~~~~~~~~~~~~~~~x~~~~s~~L~~~~~~~~~~~~~~~~M~~~~`~~~~~q~~~~g~~~~~~~~^~~~~~H~~~~~~~~~=~~~~~~~~~~~~~~~~~~~~~~~~~~qf~~~~~~~~~~~~~~m~~~~w~~~~~~~~~~~~~~~~~~~~;~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~r~~~~~~~~~~~~~~~~~~~~~n~~~~~y~~~~~~~~~~~~~~~~~~~~~~{]~~~~~~~~~~~~~~~~~~s~~~~~z~~~~~~~~~~~~~~M~~~~m~~~~~~~w~~~~~~~~~a~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2993/ccs np:i:13 rq:f:0.999271
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCG [...]
   +
-  {~~igXgg~}{ey~~~~}~~~~~~{'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~W~~~~~F~~~~~~~x~~~~~~n~k~~p~~~~~~s~~~~~~~~~u[~~S~~~~~~~~~j~h~~~~~~~u~~q~~~~~~~~~~~~~~g~~~s~~~~~~~~'~~~~~~~~~x~~~~~C~~k~~~~~iuf~f~~~u~~~~~~~~~~'~z]~~~~K}~~s~~o~e~~v~nw~S~~~z~~~~~o~~~~k~~~~X~~~~~O~~KR(~c~~+~~~~t~~~b~~~m~~~~~~~y~~~r~~R~~x~y~~~w~~z~~~~Xr~h~~~~~~~uo~~~~o~v~~~~M~~~~~l~{~~~W]~}~~~~~f~~~`~~~~r{N}~~~~_~M~~~~~~~~~~r^~~~z~~~~oq~~~~yS~~~yv~~q~J~~~jpin~~~~~p~~~~~~~X~q~~~t~~jp~H~~t~~~~{~~~a~~~~~~TB~~q~~z~<~~q~x~u~~N~~~ [...]
+  {~~igXgg~}{ey~~~~}~~~~~~{'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~W~~~~~F~~~~~~~x~~~~~~n~k~~p~~~~~~r~~~~~~~~~u[~~S~~~~~~~~~j~h~~~~~~~u~~q~~~~~~~~~~~~~~g~~~s~~~~~~~~'~~~~~~~~~x~~~~~C~~k~~~~~huf~f~~~u~~~~~~~~~~'~z]~~~~K}~~s~~o~e~~v~nw~S~~~z~~~~~o~~~~k~~~~X~~~~~O~~KR(~c~~+~~~~t~~~b~~~m~~~~~~~y~~~r~~R~~x~y~~~w~~z~~~~Xr~h~~~~~~~uo~~~~o~v~~~~M~~~~~l~{~~~W]~}~~~~~f~~~`~~~~q{N}~~~~_~L~~~~~~~~~~r^~~~z~~~~oq~~~~yS~~~yv~~q~J~~~jpin~~~~~p~~~~~~~X~q~~~t~~jp~H~~t~~~~{~~~a~~~~~~TA~~q~~z~<~~q~x~u~~N~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3023/ccs np:i:12 rq:f:0.999683
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATGTTA [...]
   +
-  0~~w~~~^~~~~~k~|grnxgw~l~6~~~~~~~O~~~~^~~~~e~~~o~~n~~~pz~~~~q~~~~~u~~us~~~]~~toN~~~~~K\~~c~~~~~~~Z~|~L~~~~\~~`~~~~~sZ~~t~q~~~~~r~o~~~tq~~~~~~~x`~~~~~~R~~~~{~~v|~~~~~~y~~b~~~~y~~f~~~~~G~~~~~~~k~~yi~~~~V~~~|~~~b~_~~~R~~D~~tS~~i~D~9~~~~~p~~~~~~~~~~~~~P~~l~~~e~~~`~~~pB~~~u~f~{~h~~|~k~~~~~~{~~~~b~~~~~~~~n~~~y~~~i~d~~~~~al~~d~~~]~~~P~~~~~d~~~~~~m~~~~~s~~g~g~~~~~~~t~r~~~~p~~~~~~~~~~~~~~~~p~~~~~}~~~}~~~~g~~~~8~~~~e~~~O~~~~~~K~~~~\~h~w~~~~xR~~~~~~~~~~~|~{~~g~~k~~vr~~~e~m~~~~~wh~~~~~k~q[w~~~~r~g [...]
+  0~~w~~~^~~~~~k~|grnxgw~l~6~~~~~~~O~~~~^~~~~e~~~o~~n~~~pz~~~~q~~~~~u~~us~~~]~~soM~~~~~K\~~c~~~~~~~Z~|~L~~~~\~~`~~~~~sZ~~t~q~~~~~r~o~~~tq~~~~~~~x`~~~~~~R~~~~{~~v|~~~~~~y~~b~~~~y~~f~~~~~G~~~~~~~k~~yi~~~~V~~~|~~~b~_~~~R~~D~~tS~~i~D~9~~~~~p~~~~~~~~~~~~~P~~l~~~e~~~`~~~pB~~~u~f~{~h~~|~k~~~~~~{~~~~b~~~~~~~~n~~~y~~~i~d~~~~~al~~d~~~]~~~P~~~~~d~~~~~~m~~~~~s~~g~g~~~~~~~t~r~~~~p~~~~~~~~~~~~~~~~p~~~~~}~~~}~~~~g~~~~8~~~~e~~~O~~~~~~K~~~~\~h~w~~~~xR~~~~~~~~~~~|~{~~g~~k~~vr~~~e~m~~~~~wh~~~~~k~q[w~~~~r~g [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/ccs np:i:22 rq:f:0.999619
   AAGCAGTGGTATCAACGCAGAGTACGGGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACTAGTCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCCTACCGTAGAGGGGGGACGGTAGTCTGTGGGAAATCTACCCTAGTGAAGAAAGGTAAGAGA [...]
   +
@@ -399,16 +395,16 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3116/ccs np:i:14 rq:f:0.999312
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAAGCACTAACGTGGTCATCAGACTGGTCTGCGCTATAATCTACGCAATAGAGGCACCAGCGGTCGTTGAAGCC [...]
   +
-  ~~~~~~~b~~~~~~~~~~~~~~~~~M~~~~~~~~~~~j~~~i~~~~~~~~c~~~~~~~~~~~~~~:~~~~~{~~~f~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~N~~~~~~~~~~~~~~~~~t~~~~~~~~~~~|W~~u~~~~~~~~~~~~~~~~~~~~~a~~~~~~9~~~~~s~~~~X~~~y~c~~t~~~X~~~~~~~~~~~~~~~~~~~~~q~~~~~~~}~w~~~~f~~~~~~~~~~~~~~~~~~~~~~~t~~~~J~~p~~~~~~~~~~~~~R~u~~p~~|~~f~~~~~~~~y~~~~~~~~~~~~~j~~~{~~~~~~~~~~~g~~~~~~~~~~~y~~~~y~~~g~~~e~~~~~~b~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~x~U~~~~~~~~~~~~~~~z~~~~u~~~~~~~~~~~~~~~~~~~~~~~u~~~~x~~~Y~~~~~z~~~s~~~~~~~~~_~~\~~n~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3119/ccs np:i:12 rq:f:0.999811
+  ~~~~~~~b~~~~~~~~~~~~~~~~~L~~~~~~~~~~~j~~~i~~~~~~~~c~~~~~~~~~~~~~~:~~~~~{~~~f~~~~~~~~~~~~~k~~~~~~~~~~~~~~~~~M~~~~~~~~~~~~~~~~~t~~~~~~~~~~~|V~~u~~~~~~~~~~~~~~~~~~~~~a~~~~~~9~~~~~s~~~~X~~~y~c~~t~~~X~~~~~~~~~~~~~~~~~~~~~q~~~~~~~}~v~~~~f~~~~~~~~~~~~~~~~~~~~~~~t~~~~J~~p~~~~~~~~~~~~~R~u~~o~~|~~f~~~~~~~~y~~~~~~~~~~~~~j~~~{~~~~~~~~~~~g~~~~~~~~~~~y~~~~y~~~g~~~e~~~~~~b~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~Z~~~~~~~~~x~U~~~~~~~~~~~~~~~z~~~~u~~~~~~~~~~~~~~~~~~~~~~~u~~~~x~~~Y~~~~~z~~~r~~~~~~~~~_~~\~~m~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3119/ccs np:i:12 rq:f:0.999632
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  \~Og~{~n~~~~~\~~~~~}}~~{~G~~~~Jw~~~ffm~~~~~~~~~\~T~~~~~~~z~~W~~}~e~~z~~~~~Y~~~~jvy~^~~{~l~~o~~~~~c~w~~M~~v~~y~|~~dr~~e~~~~~~g~~~}~~~~}~~~~C~]~U~~h~~~~~~~}~v~_~w\~~~h~~w~~c~~h~G~~~~~x~Z\~~~Y~WqmZ~t~w~opiY~|~~~k~~~l~~~~~M~~l~~~~g~~N~~~~n~~D~~~mv~N~~r~~XLpoJ~~u~~~~~n~~xoa~Z~y~X~~~~~~T~~~{~~~~{~~~~E~}y~~~T~~~X~~~~2~~~|~l~~~h~fV~~~~c~~v~vE~~~~]~~~[~~_yh~~~[~fg~y~zx~[~~s~~k~~~~R~N]~O~}g~h~~~~~~~~~~fo~~\~~Y~~~t~G~~~{~~N~~~~~~~~_|~~~~~i~~~}~~~d~~X~~~~~~~~~~~~~<~~~w~w~U~~~vt~~~~~~~~~~~~~~~o~~n~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3147/ccs np:i:13 rq:f:0.999238
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTT [...]
+  \~Og~{~n~~~~~\~~~~~~~~~{~G~~~~Jw~~~gfm~~~~~~~~~]~U~~~~~~~z~~W~~}~e~~z~~~~~Y~~~~jvy~^~~{~l~~o~~~~~c~w~~N~~v~~y~|~~ds~~e~~~~~~g~~~}~~~~~~~~~C~]~U~~h~~~~~~~}~v~_~w]~~~h~~w~~c~~h~G~~~~~x~Z\~~~Y~WqmZ~t~w~opiZ~}~~~k~~~l~~~~~M~~l~~~~g~~N~~~~n~~E~~~mv~N~~r~~YLpoJ~~u~~~~~n~~xpa~Z~y~X~~~~~~T~~~{~~~~|~~~~E~}y~~~T~~~Y~~~~2~~~|~l~~~h~fV~~~~c~~v~wE~~~~]~~~[~~_yh~~~\~fg~y~zx~[~~s~~k~~~~R~N]~O~~g~i~~~~~~~~~~go~~\~~Y~~~t~G~~~|~~N~~~~~~~~_|~~~~~i~~~}~~~d~~X~~~~~~~~~~~~~=~~~w~w~U~~~vt~~~~~~~~~~~~~~~p~~n~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3147/ccs np:i:13 rq:f:0.999197
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTT [...]
   +
-  ~~~~w~~[~~~~t~~qp~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~_\~u~~~~~~~~~c~~~u~k~f~~~~~~k~~~~e~~~~~~n~~~}7~~~w~/~uk~~~~~~j~~}~]~~~m~c~sm~&~m~~~}~~x~}~~f~~~g~~~~~~|~M~~~~~~~y~m~~~y~;~|A~~t~~x~~~l~~~~~~~~~~~}~z-e\~~~~t~~vk~~[~~~~o~u~~J~~~~~k~~~~~~~r~,xv~X~~~~~P~~w~_~~q~c~~~~~~~~7~~~~~~~~~m~j~~~P~~[~~~~p~~~~~~~~~9~bc~K~~|~~{~~~~~v~~Im~z~hB~~~~~~~~z~~~u~}cw~~~f~~~b~s~~Z~Vh|u~~M~\~~q~~~~x~cpR~ryG~~z~zy~~~~zZ~~~~W~~U~|~t~R~Xho~~|~y~z~Vz~~~~~f|~~~jw~{q~~g~g~~e~~{~a~U~~~tf~~P~~_~T~~~|i~a~i`~hvT~k~l~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3151/ccs np:i:21 rq:f:0.999945
+  ~~~~w~~[~~~~t~~qp~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~_\~u~~~~~~~~~c~~~u~k~f~~~~~~k~~~~e~~~~~~n~~~}7~~~w~/~uk~~~~~~j~~}~]~~~m~c~sm~&~m~~~}~~x~}~~f~~~g~~~~~~|~M~~~~~~~y~m~~~y~;~|A~~t~~x~~~l~~~~~~~~~~~}~z-e\~~~~t~~vk~~[~~~~o~u~~J~~~~~k~~~~~~~r~,xv~X~~~~~P~~w~_~~q~c~~~~~~~~7~~~~~~~~~m~j~~~P~~[~~~~p~~~~~~~~~9~bc~K~~|~~{~~~~~v~~Im~z~hB~~~~~~~~z~~~u~}cw~~~f~~~b~s~~Z~Vh|u~~M~\~~q~~~~x~cpR~ryG~~z~zy~~~~zY~~~~W~~U~|~t~R~Xho~~|~y~z~Vz~~~~~f|~~~jw~{q~~g~g~~e~~{~a~U~~~tf~~P~~_~T~~~|i~a~i`~hvT~k~i~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3151/ccs np:i:21 rq:f:0.999972
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a~~~~~~~~~~~~~~~~~~~~x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s~~~~~~~~~~~~~~~~~~~v~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
diff --git a/tests/cram/100zmws_byStrand.t b/tests/cram/100zmws_byStrand.t
index 456f8ed..72cb11e 100644
--- a/tests/cram/100zmws_byStrand.t
+++ b/tests/cram/100zmws_byStrand.t
@@ -1,14 +1,7 @@
 
 Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
 
-  $ $__PBTEST_CCS_EXE --logLevel=DEBUG --minZScore -100 --maxDropFraction 0.8 --byStrand $TESTDIR/../data/100zmws.bam test.fq
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- main -|- [0-9,a-f,x]+|| -|- Found consensus models for: (P6-C4, S/P1-C1) (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- main -|- [0-9,a-f,x]+|| -|- Using consensus models for: (P6-C4) (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- Consensus -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/413/9570_12297, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/429/4100_6514, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/6103_8488, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/33592_34506, ALPHA/BETA MISMATCH (re)
-  >|> \d{8} \d{2}:\d{2}:\d{2}\.\d{3} -|- DEBUG      -|- operator() -|- [0-9,a-f,x]+|| -|- Skipping read m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/0_2116, ALPHA/BETA MISMATCH (re)
+  $ $__PBTEST_CCS_EXE --minZScore -100 --maxDropFraction 0.8 --byStrand $TESTDIR/../data/100zmws.bam test.fq
 
   $ grep -c ^+$ test.fq
   200
@@ -30,30 +23,30 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   AAAGCAGTGGTATCAACGCAGAGTACGGGGATCCATTTTGGAGGGTGGGGATTTGTTCAATGAATGAGGCAATAAACCACCGCAACCTCTGTAATTGACGAGAAACTTGTATAAGTCATCAAAAAGAATAGATGAACATAAAGATTGAATACGGCTGGGTGAGGTTAATTCAGATTTCCCAAATTATGTAGATGAAAAGATGGTAAGTTTATTGATAGGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGGCGGTATATTGGTAAATGACGATCCTTGACTTAGTTTTTTACATCGAACGGGTTGCAAATCCTAGCATACTTGATATTAATAGTAGATACTGAAATATATCTGAGTATATCAAGGAAATCGAGATGTAACAATAAGTCGAGGAAATTAAGGTCAATTTAGTGCTTATCATAGAAATAACTACTTAAG [...]
   +
   'tQQhs=R at qfqRfVwgOhl'f=Qrh6~~~vSXzp56[UAzX*vs?3b~~tMbjNVZT]MeQ`qgMb>~ibrM>uvM}sWbMc;qUvfgYLT_xVvOwhDE)@TcgUk<e^fds*PQq__%ttn<<PsTj+1OP`s_qh[uuRo-XQasTsh?kRf:~~hPb?rXvcuSphtOo2q\,orAwgEpjRNfrOqMN<s^ZNvf/~gguO<eSkXvLqRn%~QS/VWdhVfhMc7N1Q2DkRUwfAu_OQsPI[SMdlgTtWYCWaQGjM^9V=^UO:UHVlhmCnp_Xg2~WlOcoSc9CjU13=dL-iNngo4_7Q]TltS-tg<pMPUDW;uhBt_;,guvvqjN[NU;P`Z%~[@hQh.xldCsfrOdXdWRPnN]HVTY`n7n+en)VFTh`@KmVh`WrScWOaNhthqXhNH$~Zruhg<nOEaOJVrheu>euCh\AY<~NsvDzgu?uhhdsKW^sPe*bSpsIIpG\@=bvh_STS\aNgNVN [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/301/ccs/fwd np:i:6 rq:f:0.993374
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/301/ccs/fwd np:i:6 rq:f:0.994115
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGAAGTTCAATAACTTCGATGGTTACGTTGTCCTTAGTAACTGGGTTAATGACCTAATGACTGTCTCCCTATACGTCAAAATACTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATCTTCTTTAAGCTAACGATTAGGTTGTCCATTAGGTAACAATCACGGATAAATAAGTGGCAGGACTACGTCAAGCAGGTAAACCCGCAAGGGCATAGTGTGCAAGTCCTTACTCAACCGTTTCGTTACGTTTTGCTTGGACACTTTCCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCT [...]
   +
-  2aHMOF:;yKObCAmR2TaYbYfhY$]dd]`ktz{{{zume`_`cfea_bhhluz{zjdDOP at aKWzYEyLWzZV|DYb]M{U{hZZDzD[3SEl&BcAnLK1FMSpC^`CNG`d>:V[hZe[\@dC|~c;cgTWdZ3ydcc_VeZVaWdQX7||oAPwTDT4QE_YKxZGzYS_R at LU^-W`VBKXIrPGc:cXDZX_.\D\]OpIM[\FsCMXePIXQX3Z;>AvVKqiUxERJJgDU^V|QK~@pZaJrfG{84Y]KwZJ[5N$J7Q*H'F[dU^YeL{VRMsLUZ:U[a.CwZZhK}M5rI6\rZJX|,j<5ccOY_UNYZH|Z[<]G{bFX$;pHzW:[qUHUaRYW)<?CWWTf<aLUgYM}|)daZ[g[fgYPV~ZQBCfU]X1zyn`:gR1r\5v}fZ9}~~xge^RhX}ZM97<D<YfZhVKQXdQU-;QTwK~E{gIu0zz[X|Lp?{tSAQYBcV0]\B%uXZ]6XT1L>meK|[fYD> [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/301/ccs/rev np:i:6 rq:f:0.995666
+  2aHMOF:;yKObCAmR2TaYbYfhY$]dd]`ktz{{{zume`_`cfea_bhhluz{zjdDOP at aKWzYEyLWzZV|DYb]M{U{hZZDzD[3SEl&BcAnLK1FMSpC^`CNG`d>:V[hZe[\@dC|~c;cgTWdZ3ydcc_VeZVaWdQX7||oAPwTDT4QE_YKxZGzYS_R at LU^-W`VBKXIrPGc:cXDZX_.\D\]OpIM[\FsCMXePIXQX3Z;>AvVKqiUxERJJgDU^V|QK~@pZaJrfG{84Y]KwZJ[5N$J7Q*H'F[dU^YeL{VRMsLUZ:U[a.CwZZhK}M5rI6\rZJX|,j<5ccOY_UNYZH|Z[<]G{bFX$;pHzW:[qUHUaRYW)<?CWWTf<aLUgYM}|)daZ[g[fgYPV~ZQBCfU]X1zyn`:gR1r\5v}fZ9}~~xge^RhX}ZM97<D<YfZhVKQXdQU-;QTwK~E{gIu0zz[X|Lp?{tSAQYBcV0]\B%uXZ]6XT1L>meK|[fYD> [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/301/ccs/rev np:i:6 rq:f:0.995521
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGAAGTTCAATAACTTCGATGGTTACGTTGTCCTTAGTAACTGGGTTAATGACCTAATGACTGTCTCCCTATACGTCCAAAATACTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATCTTCTTTAAGCTAACGATTAGGTTGTCCATTAGGTAACAATCACGGATAATAAGTGGCAGGACTACGTCAAGCAGGTAAACCCGCAAGGGCATAGTGTGCAAGTCCTTACTCAACCGTTTCGTTACGTTTTGCTTGGACACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTT [...]
   +
-  :F8W[+%*ZTSTZVlZVA`AcYRdD%cZeryzzzzzyukcXKEDGQdkd``e[PMSdie[QX>nZKeZC{SRzVTvQ?aN:f7vd[YE_XQKz5wbDb5zYh=~qXzEe8VM;xOFdJ&VEITLZeC~{]cNJYG],V']gSRdZQH0cZb[ZDr^qPCZ]0rcZE{ZVyZU|[Y}[XKZb8pWCDz[K}dDfffD7SFf[cSyQV}QVdRArY8PSW}YRY\c;WDTX?mzW}Z[hX}ZW]Y}fJ|GiCeL~fXzY4l\=B>@VaIICEwMeLdS=%NF7EYfFvOYQd[KEIHbXEfIz_F`e:[C-QOy=vcDJ8YIUG?+XHcTQJaX}f[cT2y7yR?h]S>B_KXD@{~_DWD\;sd[fZ>rXXaCU\ZfMYeT]Ad[Zf[fB/ki]>2]I at a\5z~lc?mg=5Xa?Lj[jaqV~t\~UTTqS\oSr[NJLa;iO~^~mMv>~{c`~R~J{|dcP~_mdR~xK+~aM]pdLl]NwA5ZOrTNN~ [...]
+  :F8V[+$)ZSSTZVlZUA`AcYQdD%cZeqyyyyyyyukbWKEDGQckd``e[PLSdie[QX>nZKeZC{RRzVTvQ?aN:f7vd[YE_XQJz4wbDb5zYh=~qWzEd8VM;wOFdJ&VEITKZeC~z]cNJXF]+V']fSRdZQG/bZb[ZDr^qPBY]0qcZE{ZVyZU|ZX}[XKYb8pWCDz[J}dDeffD6SFf[cSyQV}QVdR at rY8OSW}YQX[c;WDTX?mzW}Z[hX}ZW]X}eJ|GiCeL~eXyX4l\<B>@UaIIBEwMeLdS=%NF7EXeFvNYQd[KEIHbWEeHz_F_e9[C-QOy=vcDJ8YHUG>+XHbTQJaX|e[cT2x7yR>h]R>B_KWD?{}_DWD\;sd[fZ=rXXaBT\ZfMYeT]Ac[ZfZfA.ki\>1]I@`\5z~lc?mg=4Xa?Lj[iaqU~s\~UTTqS[nSr[NJL`;iN~^~lMv>~{b`~R~J{|dcP~_mdR~xK+~`M]pdLl\NwA5ZOrTNN~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/322/ccs/fwd np:i:8 rq:f:0.998736
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  N~qx~v~M~~\~t?~np`~s~rkos&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ql\Zp~k~~u`~nu~mrq~v~u~vQyO~lZ~lu~at~vu~_~o~pi[skinYmuN~~b~m]`~_p}Ou^~~t~q~w~q~Y6~~L}\~u~toS~~c~a~~qP~quk~uR~~~mho~sp~ru~a~u~v~N~~V~~~o^~_eY~o~u~`~,~K~~b~u~Q~~5~~~~omv~q~i\p:~smp~w~~q~C~~G~~|V~~r8~VZ~M~sIqS~~tB~~u_~~~~^~]~q~~u~f~dqg~J?~iN~oP~p]~a~ovt^~~p~Q~~qz[r~su~\sc~utC~~~L~Y~tq~v~P~~t`~L~l^~c~~Q~uPoF~~M~cH~w~t~n<~t~~r~9xd~~vL~~v~`~s~[~~_~^S~~t~J~Z~(~cb_~^~<~kltM~G~~~p~su~~uW~~yy<wm~{C~{l|Y~Rick}kX~wiV~H~aj<~~~tW~kX~|W|zhxljaYc [...]
+  N~qx~v~M~~\~t?~np`~s~rkos&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ql\Zp~k~~u`~nu~mrq~v~u~vQyO~lZ~lu~at~vu~_~o~pi[skinYmuN~~b~m]`~_p}Ou^~~t~q~w~q~Y6~~L}\~u~toS~~c~a~~qP~quk~uR~~~mho~sp~ru~a~u~v~N~~V~~~o^~_eY~o~u~`~,~K~~b~u~Q~~5~~~~omv~q~i\p:~smp~w~~q~C~~G~~|V~~r8~VZ~M~sIqS~~tB~~u_~~~~^~]~q~~u~f~dqg~J?~iN~oP~p]~a~ovt^~~p~Q~~qz[r~su~\sc~utC~~~L~Y~tq~v~P~~t`~L~l^~c~~Q~uPoF~~M~cH~w~t~n<~t~~r~9xd~~vL~~v~`~s~[~~_~^S~~t~J~Z~(~cb_~^~<~kltM~G~~~p~su~~uW~~yy<wm~{C~{l|Y~Rick}kX~wiV~H~aj<~~~tW~kX~|W|zhxljaYc [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/322/ccs/rev np:i:8 rq:f:0.998264
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  m~tr~<i^~~n~vg~t_cqp~tp~u&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}z_~N~r~~v\~kso~uuoZ>J{sa~a~q[~~tipolo_psrp~vrqq~s^oz\c~~\~lpsY~vrs~a~~_~qVooa[~9~[G~Lvt~v~6~~]~O~YrO~tvb~uW~~~u{rt~rk~u~T~\~p~]~.C~~~p^~so_~q~s~P~I~`~~u~a~9~o/~~~SJ~oo~~~w~R~sr~rt~~[~5~~@~~lN}~v`~~b~c~s`tp~~uP~~vo~~~~_~jv~~fA~_ntua~t&~FF~pT~t`~]~qtuY~~i~s~~]~uvjnu~reL~ttF~~tQ~P~a7~sla~qt[~^~p_~b~~s~p\~_~~T~~<{~^rqup~wugI[`~8~~\`~~ujt~K~N~nb~qX~~si]~r~O~~vc~b~N~^|u^~@~~~u~vu~~r5~~q~2~~~VH~~v~M~~u~u~pl~~q^~a~p_;~~~~f~v`~U\~[st]sr~] [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/335/ccs/fwd np:i:9 rq:f:0.998654
+  m~tr~<i^~~n~vg~t_cqp~tp~u&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}z^~N~r~~v\~kso~uuoZ>J{s`~a~q[~~tipolo_psrp~vrqq~s^oz\c~~\~lpsY~vrs~a~~_~qVooa[~9~[G~Lvt~v~6~~]~O~YrO~tvb~uW~~~u{rt~rk~u~T~\~p~]~.C~~~p^~so_~q~s~P~I~`~~u~a~9~o/~~~SJ~oo~~~w~R~sr~rt~~[~5~~@~~lN}~v`~~b~c~s`tp~~uP~~vo~~~~_~jv~~fA~_ntua~t&~FF~pT~t`~]~qtuY~~i~s~~]~uvjnu~reL~ttF~~tQ~P~a7~sla~qtZ~^~p_~b~~s~p\~_~~T~~<{~^rqup~wugI[`~8~~\`~~ujt~K~N~nb~qX~~si]~r~O~~vc~b~N~^|u^~@~~~u~vu~~r5~~q~2~~~VH~~v~M~~u~u~pl~~q^~a~p_;~~~~f~v`~U\~[st]sr~] [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/335/ccs/fwd np:i:9 rq:f:0.998712
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAAGTCGAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATA [...]
   +
-  p~oZ~t|:~u}|p.ulthWnf_wOk-~~~\i~p~N~~pQ~~palrN~~|mr[~vTdE~Xiy`}qMPips|H]~tlg~L~x~kHzbz~[~IzGP|Z~~^~d'jEg~B~q~pYgkkTx{Uzrpj~kgyZqc5Y[gmHj{P~~mzrGqJUC{h~]~\~qsniC~\l~toYmooa~wgrbw`Yt[I~s}Y[~t~oajzp~opuiN~~~x5wKrYi~pyXpcrpt~pzf^~lZDR\T~YZ~rYezchB~fR~sM~|mX~_~eoV~kO~~trkzS~~rXF:nzYahM~~~prh~~ppP~~_~ckSTh0~~~idScloukVU~gRuS3h~loT~bJnl~rZ\~iqDk~~t~p}tp~}jT~h~t\~nUOftf~zN~}MUpOXh~Hz`~~otZJ~~~s~kpP~~iXQR~a\~rltptqv_G~Q~\PznN~c_cLxpp.~~u~qt~tg~qe~j[~Ni~qjX{sX~fL~{~]frG~]n[~k>~y~~v~P~yzk[eaX~uz\ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/335/ccs/rev np:i:9 rq:f:0.997822
+  p~oZ~t|:~u}|p.ulthWnf_wOk-~~~\i~p~N~~pQ~~palrN~~|mr[~vTdE~Xiy`}qMPips|H]~tlg~L~x~kHzbz~[~IzGP|Z~~^~d'jEg~B~q~pYgkkTx{Uzrpj~kgyZqc5Y[gmHj{P~~mzrGqJUC{h~]~\~qsniC~\l~toYmooa~wgrbw`Yt[I~s}Y[~t~oajzp~opuiN~~~x5wKrYi~pyXpcrpt~pzf^~lZDR\T~YZ~rYezchB~fR~sM~|mX~_~eoV~kO~~trkzS~~rXF:n{YahM~~~qsh~~ppQ~~`~dkTUi1~~~idTcloukWU~hRvS4i~mpU~cJnm~sZ\~jrDl~~t~p~tq~~kU~i~t]~nVOfug~{O~}NUpOYh~I{a~~otZJ~~~t~lpP~~jYQS~a\~sluptqw`H~R~\Q{nN~d`dMypq/~~u~rt~th~re~k[~Oj~rjY{sX~fL~|~]gsH~^n[~l>~z~~w~P~yzk\ebY~v{\ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/335/ccs/rev np:i:9 rq:f:0.997391
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAA [...]
   +
-  W~pcZ=HSego~u^~vsv~_~r~~uF~~~g1~T\SlWCDt~|j}rD~~~u\^ljq~`~[~~ribjR}f1hKM~[uAl=hWftK~s}em~[Zs8~O~oL~~~[Igj\~^VZZdtra~TO~~p<~pi~m{svtL4~j^b]~~\|mQ~N~f~n~]~k~s9F;l~FO~.Ge{TA7bC_]uagr~]u~p?Zk~qp[Wijq~t[ge[~l~fN~_~vi~`~apoowpDf<`M~ibHFVL~__~rvcygtX~~H~h3qbWk~I~{]^~\W~~_~qi?~~}a{pHwqqBQ~~~xkN}~`nY~};~fK~}y@~~~]}~ro[fwt]~fO~~v]~|ua~~~mW~m_[~iMU~~gWFp|mwmg^_~~~cE~x_vj\]~lJ~~^N~mrh~W>+k[SlsB~~~mj_qC~tgr~d~r[~r~IrntbWi~]~`]o[c~\i{[V]pp~on_ii_k~[k~uZ~`=m]blroH~fG~M|C=\C~ouX~l=~~~q_S[~n~[UJs:~|iX~ [...]
+  T~n`X;FQbel}s\~spt~]~p~~sC~~~d/~RZQjUAAr~zh{oB~~~sZ\jhn~]~Y~{of`gO{d.fHK|Yr>j;fUdqI~qzcj~YXp6~M~mJ~|~YGehY~\TXXarp_~RM~~m:~ng|kxptrJ2~h\_[~~YzkO~K~d~l~[~i~q7D9j~DM~,EcyR>5`A][s^ep~[r~m=Xi~nnYUfho~qYdbY~j|dK~]|tg~^|_nmlunBd:^K~f_FDTJ~]]~otawerV~}F~f0o`Uh~G~x[\~YU~~]|og=~~z_xnFuoo at O~~~viL{}^kW~z9~dI~{w>~~|[z|plYduq[~dM~~s[~zs_~~}jU~k]Y~gKS~~eUDnzjtje\]~~~aC~v]tgZ[~jH~~\K~kpe~U;)iYQjp@~~~kh]nA~rep~b~pY~p~Fpkr`Tg~[~^ZmY`~ZgxXT[nn~ll]fg\i~Xh~sX~];k[_iplF~cE~KzA:ZA~msU~j;~~~o]QY~l}XSGq8~ygV~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/413/ccs/fwd np:i:7 rq:f:0.997698
   AAGCAGTGGTATCAACGCAGAGTACGGGGATTGGATTAAAAAAGTTGTAGTAAACCACAACGAAGTTAGGTAGCTGGTAAGGTTATAGATGCGTTCTGTCGTTGTAGTCCCAATGAACATAGTATGGTTTCGCATAGTAACTGACCTAAAAGACCGCCACATAGTGAAAATACTTAAAACGCAAGTTTCATAGGATTAAGTGGTAGAGGCTATAGAAAATGATATCATAACTATAACGAATATAACAGCAAATTAAAATGCACTGGAAGTGGAAAATTTCAGCAAGAGAGTCGAAGTCGTCATAGATTAGCATGGACGAAAGAAAAGTCGCAAAGATCGGAAATCAAGACGCAAAACAAAACGGAGAAGTTCAAATCGAACTCGTAGAACATATCGCTGGAACATATTAAACTCTTGGTATCGCTCAGTTACAAAAGGAGACACGTAGACACGAAAGAAACTGGAACAACAGACATATTTGTGGATAATG [...]
   +
@@ -61,63 +54,63 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/413/ccs/rev np:i:5 rq:f:0.99754
   AAGCAGTGGTATCAACGCAGAGTACGGGGATTGGATTAAAAAAGTTGTAGTAAACCACAACGAAGTTAGGTAGCTGGTAAGGTTATAGATGCGTTCTGTCGTTGTAGTCCCAATGAACATAGTATGGTTTCGCATAGTAACTGACCTAAAAGACCGCCACATAGTGAAAATACTTAAAACGCAAGTTTCATAGGATTAAGTGGTAGAGGCTATAGAAAATGATATCATAACTATAACGAATATAACAGCAAATTAAAATGCACTGGAAGTGGAAAATTTCAGCAAGAGAGTCGAAGTCGTCATAGATTAGCATGGACGAAAGAAAAGTCGCAAAGATCGGAAATCAAGACGCAAAACAAAACGGAGAAGTTCAAATCGAAACTCGTAGAACATATCGCTGGAACATATTAAACTCTTGGTATCGCTCAGTTACAAAAGGAGACACGTAGACACGAAAGAAACTGGAACAACAGACATATTTGTGGATAAT [...]
   +
-  V}TelFO+hD[eeZ|c?ccQ`@a]a+izol=K5ecUt5yzzzkT$<Bbo@`CyyCsmMazc?_w?>ro-idqUdN2NLax9oKgULUNa^@^OPiYRGPcT9jAMERR:ik\Xa>WkPmKTQ3E];fE_dY)CIJWBK2wQbU]@fN(mfT>OQtPOkd_U:\BT>C^^gK[^AZDyyxRJXc~XN}~p{^~L~w^~beZCJ~BgJl;~QPyU^FE~~~hD{mcUU|of~f\[dg{mEO~YrVVul`WmP~~[lT~~~p^q~qpO~n~]m>~4{~SBl~^h\WC~ZcZ]V^q]m~Mon^oq~kGVvJnR]YhYL~~q]>psWU~~~]Yo^oCnlYvom*~O~~VUj~HxAZpF~~dBG~~~pK~{Ec{[Z~jG~gAUZ+~qnhU1KVE`gcon~op]XTK~l~Y|jx^~R~~pokMa-~X{ol2<Tn~^V~aAL~~~M~y^|W`n\C{[qY|o]O~yC;|~ooL~V~@k~p|HzYvf~/~RFeM~~on~o [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs/fwd np:i:5 rq:f:0.992468
+  V}TelFO+hD[ee[|c at ccQ`@a]a+izol=K5ecUt5yzzzkT$<Bbo@`CyyCsmMazc?_w?>ro-idqUdN2NLax9oKgULUNa^@^OPiYRGPcT9jAMERR:ik\Xa>WkPmKTQ3E];fE_dY)CIJWBK2wQbU]@fN(mfT>OQtPOkd_U:\BT>C^^gK[^AZDyyxRJXc~XN}~p{^~L~w^~beZCJ~BgJl;~QPyU^FE~~~hD{mcUU|of~f\[dg{mEO~YrVVul`WmP~~[lT~~~p^q~qpO~n~]m>~4{~SBl~^h\WC~ZcZ]V^q]m~Mon^oq~kGVvJnR]YhYL~~q]>psWU~~~]Yo^oCnlYvom*~O~~VUj~HxAZpF~~dBG~~~pK~{Ec{[Z~jG~gAUZ+~qnhU1KVE`gcon~op]XTK~l~Y|jx^~R~~pokMa-~X{ol2<Tn~^V~aAL~~~M~y^|W`n\C{[qY|o]O~yC;|~ooL~V~@k~p|HzYvf~/~RFeM~~on~o [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs/fwd np:i:5 rq:f:0.992508
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGATACTACGAGGACGTCACCCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTATACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTAACGGTGGTAATTTCGCACACTTCGCACGTTTA [...]
   +
-  RpUIAQ?EkSYT64PJR7AMMNB/0$MZhmmmjaYUTUW`jmmmmmmmldV:55/E4T1>LEBMXG<YOE%SBCNXMUAIBNY.UMZP[WDqWMQ,F[APY5TUFdCIO;X0OQ=m4b^[PY2mS:K1VNmP[T\SY<%YL5]Q71REB[BS^T+mmlXGATLX2N\N+^.jlGo^P\B9\[S:9?TGS>]NX>I?mPDmP8oomSPNpS-VB at kMmM,NMf7kVNM@?FMS:Mm^UN:iMF>TkP^[Ap`MECoS:R,mn\P77;\<qk]TNZ]U]NoCq^[CpE<o]@M9hfP^UP^P[F//NLe.gREW>BkPT[N9OPT.JF_P<fQeL-XW at N[P];i:S^U^[@]BR%d>lYTXUPR7OYBc)hjS^[P[^[^WOZSVHnf:\N<cDS^[*ZJR[@mSGm:Z:\P]UQMj>9DNZNGOAmU[^O7S^NpUO1O>oR7TO^[Hp[PT=m<ok)RL5T\GnC;kEK`N>M>;@HAkPUOE:S:mlC [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs/rev np:i:5 rq:f:0.993554
+  RpUIAQ?EkSYT64PJR7AMMNB/0$MZhmmmjaYUTUW`jmmmmmmmldV:55/E4T1>LEBMXG<YOE%SBCNXMUAIBNY.UMZP[WDqWMQ,F[APY5TUFdCIO;X0OQ=m4b^[PY2mS:K1VNmP[T\SY<%YL5]Q71REB[BS^T+mmlXGATLX2N\N+^.jlGo^P\B9\[S:9?TGS>]NX>I?mPDmP8oomSPNpS-VB at kMmM,NMf7kVNM@?FMS:Mm^UN:iMF>TkP^[Ap`MECoS:R,mn\P77;\<qk]TNZ]U]NoCq^[CpE<o]@M9hfP^UP^P[F//NLe.gREW>BkPT[N9OPT.JF_P<fQeL-XW at N[P];i:S^U^[@]BR%d>lYTXUPR7OYBc)hjS^[P[^[^WOZSVHnf:\N<cDS^[*ZJR[@mSGm:Z:\P]UQMj>9DNZNGOAmU[^O7S^NpUO1O>oR7TO^[Hp[PT=m<ok)RL5T\GnC;kEK`N>M>;@HAkPUOE:S:mlC [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/418/ccs/rev np:i:5 rq:f:0.99358
   AGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGATACTACGAGGACGTCACCACTGAGGGTCTCCGACATGGACACCTAGTCCCGGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTTAACCTACCACCCATAAAACTGCTCTAAACAATTAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTT [...]
   +
-  XNU^PU5nY]ESJYLPTZP^O/[T$kkgYORQ?319CMPT]ZST^hkkkkPPUD\PFTM/ZDq^PICRDFfDSY:W&aZYTDGoP^PRZCq]SDGq[\:X/ll%g?@LZT^EmPRoGfDW>TDkP=l4p;+RM]=>FO3)QYT?B7P2M1(W^OEN3ThdPWTNKPBW[UNn?Ta?e=OD\U[^[DrWYQJMhTW08+gSEqR8Thn^UQn8/lVBR)WMKkP=_4Rf[CR:mmOUL`FNQIiPZ3nbTDX74FL\3TESN8aQ`OIhPYBjSATO\H>,6+B7B3(=AO7ON at A)ZQPKDM.CF/$RHNQg*Z%4-AI<ICL0KB.,/4)&1Q^PSHWGPDRDQnSL1D1\GfD\Gd?n[P^QPG9d[8m?aS9WFS[DVDCMDN\0h[M94<R.%9=27D9[7VN at VKCNCF/<9=iCHDNDFJ:9 at 6NN4>>NQOQFJQBR]?E<98GdQ\@Cy5ceQDAq6Ff\EoCfwXBU6A1J3mA;AED@,g [...]
+  XNU^PU5oY]ESJYLPTZP^O/[T$kkgZORQ?419CMPT]ZSU^hkkkkPPUE\PFTM/ZDq^QICRDFfDSY:W&aZYTEGoP^QRZDq^SDGq[\:X0ll%g?@LZT^EmPRoGfEW>TDkP=l4p<+RM]=>FO3)QZT?B7P2M1(W^OEN3ThdPWTNKPBW[UNn?Tb?e=OD\U[^[DsWZQJMhTW08+gSEqR8Thn^UQn8/lVCR)WMKkP=_4Rf[CR;mmPUL`FNQIiPZ3nbTDX74FL\3TFSN8aQ`OIhPYBjSATO\H>,6+B7B3(=AO7ON at A)ZQPKEM/CF/$RHNQg*Z%4-AI<ICL0LB.,/4)&1Q^PTHWGPDREQnSL1D1\GfE\Gd?n[P^QQG9d[8m?aS9WFS[DVDCMDN]0h[M95=R.%9=27D9[7VN at VKCOCF/<9=jCHDNDFJ:9 at 6NN5>>NQOQFKQCR]?E<:8GeQ\@Cy5ceQDAq6Fg\EoCfwXBU6A1J3mA;AED@,g [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/420/ccs/fwd np:i:10 rq:f:0.999173
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAAAGTAATGCCTCTACGTCAGTCGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAG [...]
   +
-  ~~~\~~~w~~~~pk~~~p~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~j_~~X~~~~_~~~]~~~~~~~~s~{~e-i~~~~~~~]~~m~~~~{~~~q~~~~~~~w~~b~~~~~~~~j~n~~~~~~F~~~tk~~}~m~~~~~Q~~~~w~~~X~~~`~~G~~~n~~~~n~ub~l~~~_~[~~P~~~su~~~:~Xp~~y~h~y~~~~~~_~~E~~~~~n~~~~~d~&~~~~~~~~~~[~~;~~~Y~~~u~{o~~~~~~t~~ic~~~~~~~~h~u~f~~~~~~~gc~~g~~`~~r~lx~u~~~~u~~~~~~~~~~~~s~~~Ts~s~Y~~j4~~~~i~]~[~~~~~[~~j~y~sf~pl~v~~a~~~~~~v~cj~~~~t~l~j~~~S~~~~_~}~w~~~~~c~~vnK~|~O~~~~~r~y~~~g_~S~~~~q|o~~~G~~~~L~~~~c~~~~X~]~~u~~O~~~g~u~~{X~~~~m~xh~~[~~jn{o~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/420/ccs/rev np:i:10 rq:f:0.999056
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGC [...]
+  ~~~\~~~w~~~~pk~~~p~~~~~~~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~j_~~X~~~~_~~~]~~~~~~~~s~{~e-i~~~~~~~]~~m~~~~{~~~q~~~~~~~w~~b~~~~~~~~j~n~~~~~~F~~~tk~~}~m~~~~~Q~~~~w~~~X~~~`~~G~~~n~~~~n~ub~l~~~_~[~~P~~~su~~~:~Xp~~y~h~y~~~~~~_~~E~~~~~n~~~~~d~&~~~~~~~~~~[~~;~~~Y~~~u~{o~~~~~~t~~ic~~~~~~~~h~u~f~~~~~~~gc~~g~~`~~r~lx~u~~~~u~~~~~~~~~~~~s~~~Ts~s~Y~~j4~~~~i~]~[~~~~~[~~j~y~sf~pl~v~~a~~~~~~v~cj~~~~t~l~j~~~S~~~~_~}~w~~~~~c~~vnK~|~O~~~~~r~y~~~g_~S~~~~q|o~~~G~~~~L~~~~c~~~~X~]~~u~~O~~~g~u~~{X~~~~m~xh~~[~~jn{o~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/420/ccs/rev np:i:9 rq:f:0.998245
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAG [...]
   +
-  d~]s~w~\~s~~~j~~uh~B~_~~~&~~~~~~~~~~~~~~~dY^v~~~~~~~~~~~i^~t`~~qwg~z~z~~~h~~~~w~~~~]~y~~e~pq~~~~~o~t~y~~~~~~~o~~~o~~p~~o~W|~~~~D~~Uv@~~W`~~M~~e~L~~~~~A~~~~\~~~R~~|~~~7~~~~c~~~~~~~~v~r~~~y~~I~~~~v~~~Y~~~~~W~~~L~i~~r~\~~D~~~~r~oq~q~r~t~~q~~~~~t~T~~\~~~[~~~l~~v~m~u~~y~~~W~~ox~j~~z~P~~b}~~~~~~~~~;~~r~~|~~[~[~~uj\iQq~~~~I~|or~m~~~y~~sG~~~x~a~ZO~~~w~q~o~{~~j~n~~m~~h~h~~S~~~~~~~n~u~z~~~~v~f~uef~~B~~~u~f~~s~np~~~~h~L~e~~~b~~~^~E~G~~\~~~~~~~~~qUw~~~D~~~~:~~^~J~~~~~~m~~~~\~x~sjS~~~~g~mz~~z~s~~y~ [...]
+  P~Jhwn~U~g~}~s~vk]~9tU~~~$~~~~~~~~~~~~~~xYIJXu~~~~~~~~~~~[\~i`~~{~k~x~r~}~s~~~~lx}z~V~o~~[~dh~~v~~ex|~p~t~~~~sf~~~i~~i~~ewb~~~~~S~~h~S~~dl~~S~~l~@~}|~~=~~}~W~~yJ~zr|~~<~~~~W~w~~~~~~r~h}~~u~~A~~~~l~~~N~~~}~P~{~I~b~~h~T~~=~~~~i|fe~e~i~l~xerw~~~j~K~~Y~~~S~~{b~~q~d~j{~o~~~O~~fk~_~~p~G~~mr{~~~y~~~~D~~h~}r~~U~e~uj`Qadg~~~~@~qvgxc}~uo~~j@~~~o~W~QX~~~p~h~i~r~~b~g~~d~~a~`~~K~~{~~~~c~k~o~~}~n~h~~Z[~~8~~~k~Z~~j~eg~~~~[~W~Z~~{X~~~Vo9~S~~f~~~~||~~~kO~~|~B~~~~3~|T~B~~zs~~}s~~~U~n~gaM~~~~]~do~~r~h~~| [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/428/ccs/fwd np:i:8 rq:f:0.995934
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAA [...]
   +
-  a}XAQY^6c^c5O at pNCB]Eg[`eB?~jj[F~7~xfceIC~kR~sIqE~Y5~vFT>:ga at oC~Ii?Wn|^l_^boN&geftLI\FC;{C~KMQ}iEebjqjT~oJdK~jJgFSN\hJ~|]9?Lsi]<~rQVNuJ~b]g]PCd}`K`\w^I~`+zRgi:Odc^qcL~\h_X]d9hQ7\RRg|LI[mQ~Sb8zdKQN\?jdc/NHaZ_`WJqbgZ^:nX9~Zb-~~k[meaMp^_~`EXK8R]W~LH>kql^bRIfkjfQJWT?BN~i_H~~bq^b^Y~7}a8T>bg8X^O%PNFaY\U`SZJ:~hqE`Gtm[d<oaP~i>X_MWJ^~aPJCnh]M8po\_]?~iQ~Yjf`daPLV~bG~fZm\`Lo~\RXJ%ChbsgJh_G|cAXSJ?W[c_FLabNDoYLPheK at ks^dqbL~`hGM[RXRO.~^wi^gdgoSYORSH~OZ%pF4_a3d@~GPTE~bgXOtJljM~[Wc\N~Ur=fPCi]_Gkn5v~[^u [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/428/ccs/rev np:i:8 rq:f:0.99215
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAAC [...]
+  a}XAQY^6c^c5O at pNCB]Eg[`eB?~jj[F~7~xfceIC~kR~sIqE~Y5~vFT>:ga at oC~Ii?Wn|^l_^boN&geftLI\FC;{C~KMQ}iEebjqjT~oJdK~jJgFSN\hJ~|]9?Lsi]<~rQVNuJ~b]g]PCd}`K`\w^I~`+zRgi:Odc^qcL~\h_X]d9hQ7\RRg|LI[mQ~Sb8zdKQN\?jdc/NHaZ_`WJqbgZ^:nX9~Zb-~~k[meaMp^_~`EXK8R]W~LH>kql^bRIfkjfQJWT?BN~i_H~~bq^b^Y~7}a8T>bg8X^O%PNFaY\U`SZJ:~hqE`Gtm[d<oaP~i>X_MWJ^~aPJCnh]M8po\_]?~iQ~Yjf`daPLV~bG~fZm\`Lo~\RXJ%ChbsgJh_G|cAXSJ?W[c_FLabNDoYLPheK at ks^dqbL~`hGM[RXRO.~^wi^gdgoSYORSH~OZ%pF4_a3d@~GPTE~bgXOtJljM~[Wc\N~Ur=fPCi]_Gkn5v~[^u [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/428/ccs/rev np:i:7 rq:f:0.993569
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGGAAATTGGGGTTTGCGCCGCCTTCAGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTT [...]
   +
-  '[:DN8XC~piHbY~b4F;B:XnV^'r~fcAoEs~gXqU%l~ApuP~)nVXRi}_N]Pf_S~DC^](ceh^I\d[Kn-ccekbLcbKgP}En2`VE~[cdXA~dLPCza\`ajYdr:~]:]XO~o\:~n[SVuC~\OoN[M~~^c_Wn\=[E6aO~hcC~g`bG\~is]QOmF~a`UIN~n^aWqIri4F~q<~rL\fGeNoZTWOJTbfJnLJ>~jKs%V.zWI-tp]G~bH~VgVHDw`QJJO,v~jb^pcnRohQ]bmO_IVqb>~~\__^a)jHAMFJ8QbR`gJK_lbW^ip][@XCmmHIA20=`^QmYJevjJWbf_&~Zq`FQfb]3~~JY\C~mH~b<ffp^qbO^8<ydU~dYHhjD at e^hOmN;X^(XR~\`iLV`KXS\O~hXGTbWCCdfZ>DTLe6BKpJLN\`eJWGKk8pVIfA*HeFIZ\EiY4Xu=tXRnC6%d&X}VXaJ~LVQE{Eg[_C~KMN_L^p[WR~g9|m[.{_ [...]
+  3`G:ZB\=tf^>XS|X,;1:1PeKU/aueY7a=fxdQgV&^q@=rhDs1bKHK`sVETG]VKrD2TY&Y[^WVFSZSGc,ZZ\dZV]YB^Dq=e:_M;xR\YP9n]CYJm]TY\`Q\f2z\1TMFveS2mdPJOg:vTEdEPI||VZVN`SD]=AdH|^[9t^WW?Rv`gUJUcO{YUT>Dt`VZPfDdc, at so6ydER]@\FeTLRVBLY`BeYD9r]Fl4R,mU[,ueVQ{[HrRaZC=jYEFCG1hygZVf[cIe_IUZgJXFggZ9{zTVWVZ/zY;B>B/IhJX^@DYa[MU`fUQ7P>`cDGU885XVK`RAWg`AOZ]X.vSgWADYZV=zsBRREwcAvW3T]fVgZHhC8qbP{ZT at x\?F]V_KfR4OY&SVL|RX`DNWBPJUKzdSTO[P9=W[S;MRY^C<Ec=CFTX\WQ=E^ByQD\<:YaTAPT9\T/Of5dP^gDH'aa2RtSNYFxIa`AqC_UZ=sD at FUEVfROJs_Ayy [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/429/ccs/fwd np:i:5 rq:f:0.993094
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAAACAGCAATAATTGTAGAAGGTAGCAATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGAC [...]
   +
-  H|_GO;,R}fcL+C`AJV`[P`ePWA|||V|QoO`^a=amKH*y`WgfXbfR}fR{Pe`DwA`aR{fgaW`FzV`OT:HofA\@eyffffWaU4tL[[gff)`0D5~|efGfJ&wwYUM_VFxdG^WzagfaW}R}ff`B,d`ecDN^\H~af`P_9}eOVgfUIG|`fJWA`fa6~]K`Y}aE~|a_a$xx`adJdfadJe2|H;C:pfrUPed6|<t`bR~c3fjgVW|Jb<M/YDXePO|}dAdW|HU`fWfaa?MVe`E{eaJTf^hQ}fMP~W}abbbHAzVacR`agWK~ae6~vTjWbMJ0Zbc`dA^4_7jP]fcFR|fW}^IIznAFyVfbY at zfaa`fOhN:U_3w^@NO||U:vc]O{RmUQ`9~eafTQ'?^OEO8O_N<~f`YOVea`;L``eWcXW{:ljm`=emIDz_NUPeagfae>yDz]\VRSR2__vO?8W|_2jF6@`e:~e at vaWKzW_Aea\aT|TaY}faY}_OK>D [...]
+  H|_GO;,R}fcL+C`AJV`[P`ePWA|||V|QoO`^a=amKH*y`WgfXbfR}fR{Pe`DwA`aR{fgaW`FzV`OT:HofA\@eyffffWaU4tL[[gff)`0D5~|efGfJ&wwYUM_VFxdG^WzagfaW}R}ff`B,d`ecDN^\H~af`P_9}eOVgfUIG|`fJWA`fa6~]K`Y}aE~|a_a$xx`adJdfadJe2|H;C:pfrUPed6|<t`bR~c3fjgVW|Jb<M/YDXePO|}dAdW|HU`fWfaa?MVe`E{eaJTf^hQ}fMP~W}abbbHAzVacR`agWK~ae6~vTjWbMJ0Zbc`dA^4_7jP]fcFR|fW}^IIznAFyVfbY at zfaa`fOhN:U_3w^@NO||U:vc]O{RmUQ`9~eafTQ'?^OEO8O_N<~f`YOVea`;L``eWcXW{:ljm`=emIDz_NUPeagfae>yDz]\VRSR2__vO?8W|_2jF6@`e:~e at vaWKzW_Aea\aT|TaY}faY}_OK>D [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/429/ccs/rev np:i:5 rq:f:0.991542
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATG [...]
   +
-  FiMW[NY3oY[[WOmWNWX4?K[[R0MZWMkCpZNV&2dgXBFU4U[X:B+AdZ>f5TM?lVYB at jO0IPM<kT8YWT+R`VM7lfWXXV?LVOm[KSIWIGiJi0OeY[JmM/laV[NU+i.+iMlN[Z;1O/OFYNWZXA at QPXN<fJQ%GK2c5/UDYVKId8BXNWMBL8kkZNNmLA``DUKEhhNY8YZMQH,6UkUZ7mmkVZ[[Jm?nmZApY'jjUMf8WPZ*jjjh?$edMLOHONWN[W[N[W[WYKJk[ZAkO3@@N+VBkHS><?:?0RS5XT>'1>OmN[Amk<jUF at R)hN[KSUM*iHkBL[[V?m at NmNZ:WjV<k?XDLAmkAVX,ITLQ)IKlNWZ8kkU8llY=R<jV[Y6iYN[ZMBS7>=L[Z=WIlDYOV?YOZDZX=VR.S=\<lmm[;[<'JiIYRPCLDT:O5XLlLPWY[S2ll`QV[BS:NlN[T5OHm[IlB>Hc1NV@(S8NkWM9SZNNmMU9U?JnY6 [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/456/ccs/fwd np:i:8 rq:f:0.999066
+  FiMW[NY3oY[[WOmWNWX4?K[[R0MZWMkCpZNV&2dgXBFU4U[X:B+AdZ>f5TM?lVYB at jO0IPM<kT8YWT+R`VM7lfWXXV?LVOm[KSIWIGiJi0OeY[JmM/laV[NU+i.+iMlN[Z;1O/OFYNWZXA at QPXN<fJQ%GK2c5/UDYVKId8BXNWMBL8kkZNNmLA``DUKEhhNY8YZMQH,6UkUZ7mmkVZ[[Jm?nmZApY'jjUMf8WPZ*jjjh?$edMLOHONWN[W[N[W[WYKJk[ZAkO3@@N+VBkHS><?:?0RS5XT>'1>OmN[Amk<jUF at R)hN[KSUM*iHkBL[[V?m at NmNZ:WjV<k?XDLAmkAVX,ITLQ)IKlNWZ8kkU8llY=R<jV[Y6iYN[ZMBS7>=L[Z=WIlDYOV?YOZDZX=VR.S=\<lmm[;[<'JiIYRPCLDT:O5XLlLPWY[S2ll`QV[BS:NlN[T5OHm[IlB>Hc1NU@(S8NkWM9SZNNmMU9U?JnY6 [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/456/ccs/fwd np:i:8 rq:f:0.999065
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGC [...]
   +
-  ~~~zplzR~bk^BdsH}c[~~~~sy%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_[~~h~ybq~{|~@~~~~m_~ay/~~t~~r`Wxx~~~}~h~ZV~XW~lw~pv~a~~\\~m~j~8~~~~UfcV8~N~~]uF?mjPi~e4~~f~4~~l]~lxK~ue]~~m7~;qv~um~_[~v8~~]GI~~~xx{~~2~Zb6~~_~Y~~J~~~R~`|{a~xER|e~dO~zvd~wi~n_~~l~ck}~P~lH~~~]N~lK~r~~~YxSL~~zs~l;~~~wk~E~~~w~D~~N~~~x~L~~~g~~i~~chVdI~~A~tQ~~|~U~~y\~~{~za~ln~~~~zg~MX~d~~;~yd~~O~P~[aje~kh~~~~~~pz~xp~]~~~X~j~~~Y~~V~~e~O~W~O~q~wqU~~v~h~~f~~~~_~jzyX@~~~cE~fm~~~~n~~~~~~m~R~~~~mG~~wo~~|~~F~~n~~~~~~~~i~d~x~~n~~x~[~~~~~r~&n~~ [...]
+  ~~~zplzR~bk^BdsH}c[~~~~sy%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_[~~h~ybq~{|~@~~~~m_~ay/~~t~~r`Wxx~~~}~h~ZV~XW~lw~pv~a~~\\~m~j~8~~~~UfcV8~N~~]uF?mjPi~e4~~f~4~~l]~lxK~ue]~~m7~;qv~um~_[~v8~~]GI~~~xx{~~2~Zb6~~_~Y~~J~~~R~`|{a~xER|e~dO~zvd~wi~n_~~l~ck}~P~lH~~~]N~lK~r~~~YxSL~~zs~l;~~~wk~E~~~w~D~~N~~~x~L~~~g~~i~~chVdI~~A~tQ~~|~U~~y\~~{~za~ln~~~~zg~MX~d~~;~yd~~O~P~[aje~kh~~~~~~pz~xp~]~~~X~j~~~Y~~V~~e~O~W~O~q~wqU~~v~h~~f~~~~_~jzyX@~~~cE~fm~~~~n~~~~~~m~R~~~~mG~~wo~~|~~F~~n~~~~~~~~i~d~x~~n~~x~[~~~~~r~&n~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/456/ccs/rev np:i:9 rq:f:0.998884
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGCG [...]
   +
   FvU~~vWX~ns~~i~~xkhk>ZjG{%~~~~~~~~~~~~~~~~~~~~~~~~~~~{GE~~i~ey|fv`~?~~~~~m~i~V~~uwekZuzE~~{~SK~P]~oS~vrc}~rb~~~[~uB`i-~~~~s~bs]~-~lU`~O~~~m~~R~{x~;~~~~cw~R~~sj~z~\~z~sp~d~~R~~O~~~nC~~~~cvm~;m~rG~~f~2JXR|~p_~l~~~m_bb~{Yze~c~l}k_~kT~~^eKk]~~~zW~~~}R~~Q~~}^~hr~`~~~l~~G~~~~b}<~~~~~:~lV~~qdS8~~~n~~R~lduSuk~~8~}T~~|~]~~iu~obZhf{p@~~rref~~1~x^jm~~Uwsk~D~jT3]~uO~~O~lgn_za@~;~{Te~~xY~k~~Rv~~o`~`~^~_~~Nh~zk~,~hB~{xsg~roZVE~~~eD~t~~~Dni~xDdO~iqH~yvctu~m~/~`vzwK~~~c~~\~sh~U~^~ipSZ~~p]d~~\YfL~|LrlY [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/578/ccs/fwd np:i:5 rq:f:0.989093
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/578/ccs/fwd np:i:5 rq:f:0.989296
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACCGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTTAGGTGCAATCCCCATTCGGGACGGACCACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTGTAGAAAACAATCTAACATAACTATGA [...]
   +
-  Rw\Qc\cMudc at P2pMGOP[^WbcN6askPb\2PeZ;4YVQMDi[ccLm5ba`^ZN_ at r^8u{ZOEsbMuPEsbFvvcc\_ at u=sl2vM[@Cb[P[cNb2fPI_pB{\Bv^]Z]Zc\Ftts\:ZHv]8OI\_QOpQW\?<BNc]cQ`/V;D&GO):f?]$*+dd].cAEfICcPEf7lkU?@EfI?ffR,MBWIFfIXIRIQT;JPU4O()PV4AY<WR.[MD4_XQI5421KcgXGK<1fSGHEfB6fXHP4:AM=IF8CbBQUIBLHRG;VQIRI at fhV5WUAQeV<CLKeEfXH:,fQXTFQCcNO7llRX1N`cHV=eIXEfI4ONOO<kW:INXRIWR@'UH.dcU;F8bV2c>R at ANIG[5YWPHE*Rc@:1dQJb?QKIR6WEbEBO3?)OKJfXEff%`LLf<kBaRA)AL<WOIRXXRW9WNIRV4;cLf<jV32beFhW at HBDfV4MBGG)PdQXUK1PS_IA]XIXAcIV at KfI9MXQB [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/578/ccs/rev np:i:5 rq:f:0.993311
+  Rw\Qc\cMudc at P2pMGOP[^WbcN6askPb\2PeZ;4YVQMDi[ccLm5ba`^ZN_ at r^8u{ZOEsbMuPEsbFvvcc\_ at u=sl2vM[@Cb[P[cNb2fPI_pB{\Bv^]Z]Zc\Ftts\:ZHv]8OI\_QOpQW\?<BNc]cQ`/V;D&GO):f?]$*+dd].cAEfICcPEf7lkU?@EfI?ffR,MBWIFfIXIRIQT;JPU4O()PV4AY<WR.[MD4_XQI5421KcgXGK<1fSGHEfB6fXHP4:AM=IF8CbBQUIBLHRG;VQIRI at fhV5WUAQeV<CLKeEfXH:,fQXTFQCcNO7llRX1N`cHV=eIXEfI4ONOO<kW:INXRIWR@'UH.dcU;F8bV2c>R at ANIG[5YWPHE*Rc@:1dQJb?QKIR6WEbEBO3?)OKJfXEff%`LLf<kBaRA)AL<WOIRXXRW9WNIRV4;cLf<jV32beFhW at HBDfV4MBGG)PdQXUK1PS_IA]XIXAcIV at KfI9MXQB [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/578/ccs/rev np:i:5 rq:f:0.99331
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACA [...]
   +
-  .OIRTGG:YQJVQIW:F(UJY)H>A&]^^UI-T at UBZ9\CTFTuQccBS4rrbZ=TrB\C.S:NZDs)ID}[?]_8{wK]Na;r:T:Hh>POKlPAHD?^1qY.rq:oO:o^\Qb?F8-frrb[M:ajKY6e]Y2wZQb=q at Y?QL4]Y2CUKUKJ8>Mj[6qahMtb4vWIls- at Bitdcb2xZ3vkM=sbc\DsDHCLHO_ at iPa/g'm3[SVtPNP;IX0`&<+>US;VWUa/nV:rbc[2w`C`[PBIIK[<ZQKvcQc[2uZPD;IJ\PX9v|bEacEr``P[NMYB^cZ<NoOOJG'ET[O6si;L1bdg(KRi[Y%uT*cbW?LoMUtM[;VFL9Ld[:|O18ETrbBN%[[Cs[Tp3rpaV3EslKL<jPUtMaNF9>^EsYKMSJRsX at mb%hAAl)eIpVtQZMM\,xxWLbbO[[cR\Rc\UvUuOwbC(UFDtccQcB{c\RQuY3aOTQccQ5sbN?Rkb[N2bZcbCsXVVbR^\b [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/603/ccs/fwd np:i:6 rq:f:0.997492
+  .OIRTGG9YQJVQIW:F(UJY)H>A&]^^UI-T at UBZ9\CTFTtQccBS4rrbZ=TrB\C.S:NZDs)ID}[?]_8{wK]Na;r:T:Hh>POKlPAHD?^1qY.rq:oO:o^\Qb?F8-frrb[M:ajKY6e]Y2wZQb=q at Y?QL4]Y2CUKUKJ8>Mj[6qahMtb4vWIls- at Bitdcb2xZ3vkM=sbc\DsDHCLHO_ at iPa/g'm3[SVtPNP;IX0`&<+>US;VWUa/nV:rbc[2w`C`[PBIIK[<ZQKvcQc[2uZOD;IJ\PX9v|bEacEr``P[NMYB^cZ<NoOOJG'ET[O6si;L1bdg(KRi[Y%uT*cbW?LoMUtM[;VFL9Ld[:|O18ETrbBN%[[Cs[Tp3rpaV3EslKL<jPUtMaNF9>^EsYKMSJRsX at mb%hAAl)eIpVtQZMM\,xxWLbbO[[cR\Rc\UvUuOwbC(UFDtccQcB{c\RQuY3aOSQccQ5sbN?Rkb[N2bZcbCsXVVbR^\b [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/603/ccs/fwd np:i:6 rq:f:0.997485
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTGTTTAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATGGT [...]
   +
-  _~a[Q`jR~hRfD5oE^A%Y__Pf\%~~~~~~~~~~~~~~~~~~~~~~~tj>~Z7mAUcAxyui?pYH~?jvshst]tjYkq2~occ~Q~ukK~~kgtvlgd~R~pg6~~~ltd~\Q~sQ~~S~pfK~~f>~jPo0b~^fs>veL~~kv`~bLN]MSev^|MRiR~ufP~e^tW~~vtglvfM~clU~ve=~~pUc~ltvgvgL~~vtugsmof[B~svlM~uK~~dF~rveTsL~nfulgvgu\d=~~~iX|se~rR,WRU~h[vdb~:WqcpDRhjL~c[~]frGqfd~j]apa~uR~uT~r2~NrfuP~ktTdIq]5Bd~NXdltgq,LZc~Ojfk^fva>rt~ub~lPlWQ~~]kK~~~~\sk<pT~ksG~uT~gve]fvtdb^`VT~e~[~K~]T~?~~j>~Rw0ppdTb~UqeDuaie~glq1`i2r4~v[~SrUeZ~~d[\cr=sBLE~kgu]L~~Y~L~kqjN~W~wkR~=|{rlqOXsY~U [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/603/ccs/rev np:i:6 rq:f:0.994991
+  _~a[Q`jR~hRfD5oE^A%Y__Pf\%~~~~~~~~~~~~~~~~~~~~~~~tj>~Z7mAUcAxyui?pYH~?jvshst]tjYkq2~occ~Q~ukK~~kgtvlgd~R~pg6~~~ltd~\Q~sQ~~S~pfK~~f>~jPo0b~^fs>veL~~kv`~bLN]MSev^|MRiR~ufP~e^tW~~vtglvfM~clU~ve=~~pUc~ltvgvgL~~vtugsmof[B~svlM~uK~~dF~rveTsL~nfulgvgu\d=~~~iX|se~rR,WRU~h[vdb~:WqcpDRhjL~c[~]frGqfd~j]apa~uR~uT~r2~NrfuP~ktTdIq]5Bd~NXdltgq,LZc~Ojfk^fva>rt~ub~lPlWQ~~]kK~~~~\sk<pT~ksG~uT~gve]fvtdb^`VT~e~[~K~]T~?~~j>~Rw0ppdTb~UqeDuaie~glq1`i2r4~v[~SrUeZ~~d[\cr=sBLE~kgu]L~~Y~L~kqjN~W~wkR~=|{rlqOXsY~U [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/603/ccs/rev np:i:6 rq:f:0.994989
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGGTAAGTGCTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAG [...]
   +
-  \sEHhYO:vhjh`H~_F_j]j\fV`$Z`hq|~vledlw|sidelw~~~~wjelb\N~zK~`]`>~s8C>|jR~Z~eK^KfPe[OT[?yaBE}[~fK@~~\ajfF_G~FjO`H~~~]iH~iX~jO~~R~ha5hi`A~}ahiH~h]_G~D3gf\g\~ah`Q_\5dHq;zZH~g`4~_igE~~gia]haS~aZUuQIH~`<FFaQhQ_Q]?d|fe`Ke\fFRQ~jfFC~|8fhaM~chb\RY~;^Q[ahahja9~vaWUtiG~iaQ~]TwFU~`2{_]jahD~z\Lz\NnjbhhR`Vh-ZadV~_7pPE~PL~Ig_QH~[h]ajhja%\aafJ[iaUgHOGz[Q_^gHO^1~~~f\~\Aga9~~i]<~~~~jhibdJ{[QP~P>w]f`jahjahj`FP~IsNtG~iR~$|yDGZ~R~<vG at Y3SEO`H~fCC^[YOh]W^Y%ri;<m\R[`5yY at dahS~fN>aV5Od.ca=M8VPi]\~R~h\HyR~~fFg\ [...]
+  \sEHhYO:vhjh`H~_F_j]j\fV`$Z`hq|~vledlw|sidelw~~~~wjelb\N~zK~`]`>~s8C>|jR~Z~eK^KfPe[OT[?yaBE}[~fK@~~\ajfF_G~FjO`H~~~]iH~iX~jO~~R~ha5hi`A~}ahiH~h]_G~D3gf\g\~ah`Q_\5dHq;zZH~g`4~_igE~~gia]haS~aZUuQIH~`<FFaQhQ_Q]?d|fe`Ke\fFRQ~jfFC~|8fhaM~chb\RY~;^Q[ahahja9~vaWUtiG~iaQ~]TwFU~`2{_]jahD~z\Lz\NnjbhhR`Vh-ZadV~_7pPE~PL~Ig_QH~[h]ajhja%\aafJ[iaUgHOGz[Q_^gHO^1~~~f[~\Aga9~~i]<~~~~jhibdJ{[QP~P>w]f`jahjahj`FP~IsNtG~iR~$|yDGZ~R~<vG at Y3SEO`H~fCC^[YOh]W^Y%ri;<m\R[`5yY at dahS~fN>aV5Od.ca=M8VPi]\~R~h\HyR~~fFg\ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/624/ccs/fwd np:i:7 rq:f:0.997543
   GGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAG [...]
   +
@@ -125,63 +118,63 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/624/ccs/rev np:i:7 rq:f:0.997786
   TGGTATCAACGCAGGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCA [...]
   +
-  =Xdfq}yd~^nHO0x~^~~z+~~~yG~h~~~s~{M~~f~~W~1~K@~~qwtM~se~b~fyF~j~uqmws~c<~~~~vDfsM~`~biR~~C~q}qf[~~utT~~Ttk1Bu~K~~~{~W~jx0~jzyd~Y~j[Iu<%~UZdTh~t[~sZ~`~~{Y~~z~rH~~uKxs~Z~{~l8N~~r{x~L~`gK~~R~~m~~]~ziq~szq~{~]}y\M~~e~~sO~~~f~}]y~{w~C~{qd~rY~qdM~~~`DgwQ~z~cq{~~vGKSxL~~q~{pvT~@~~{~?~~|~k\xs_u{vSbMomc~}sV~[~~y\`~ZI~~jxtz~aM~Ziz^~~cpH~~~nx<~kJ~y~}lvq]yJnd;~yP~qIB~~z~~s~M~^sfNmmb~cZpdilkgpoT~iqe[~o6K~_\A~~~~~r;~~~cqzhnpdM~h~tpsgH{]nfoi\~ioQ~W~]}]V~pt}/~gcnH~]~tU~JmN)j~@iSGfn^mg6~|W~~po~o[ce\Mj~ [...]
+  =Xdfq}yd~^nHO0x~^~~z+~~~yG~h~~~s~{M~~f~~W~1~K@~~qwtM~se~b~fyF~j~uqmws~c<~~~~vDfsM~`~biR~~C~q}qf[~~utT~~Ttk1Bu~K~~~{~W~jx0~jzyd~Y~j[Iu<%~UZdTh~t[~sZ~`~~{X~~z~rH~~uKxs~Z~{~l8N~~r{x~L~`gK~~R~~m~~]~ziq~szq~{~]}y\M~~e~~sO~~~f~}]y~{w~C~{qd~rY~qdM~~~`DgwQ~z~cq{~~vGKSxL~~q~{pvT~@~~{~?~~|~k\xs_u{vSbMomc~}sV~[~~y\`~ZI~~jxtz~aM~Ziz^~~cpH~~~nx<~kJ~y~}lvq]yJnd;~yP~qIB~~z~~s~M~^sfNmmb~cZpdilkgpoT~iqe[~o6K~_\A~~~~~r;~~~cqzhnpdM~h~tpsgH{]nfoi\~ioQ~W~]}]V~pt}/~gcnH~]~tU~JmN)j~@iSGfn^mg6~|W~~po~o[ce\Mj~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/657/ccs/fwd np:i:9 rq:f:0.997792
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGC [...]
   +
-  y~nMmxrI~~i~_i~by^Yx~ysG_&~|{~~~~~~~~~~~~~yjdiuz~~~~~ykb~~7~Ik}~Om~>~~|~_x~`rMzv^~yb~{ah~~xrU`~HUm|RivJvk_~M~~ZJ~{~W|%~~~~N_tiH~G~~ay]&~~L[~LZu[c~F~~~mwULY~~_W~_l;CGVm~``~aP~q1~~~~S~~z~y~~lMnB\K~|Z~d~w?~~yy~Y~iC{\D`hOcNl~y~M`M]~\Wj~u~;ac~j~e4~~~~`~~M~M{m|CnER}s^k~`L~~~~J~I~~qLnS~~Xy~jZ~.~}hKH~fc~l_x_nC~~k}XY~x\~O~~[k~aCkVF~rW~~e`9Rs_s~Mx~*~UMz~W~H~NLoHz`Z~~b~^v`\~wX~E~~{K~g~wmH~lI|{b~a~w~d~]smxI~w]~B~q>~]nhY~]fZ_/s~~F9~~WxkuzJ~nf~y~^z<~}S]xh|t~`~qa~_Yw~`s~Lorsc~?~~~yayl~~y~Y~~`z~a~?N~M [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/657/ccs/rev np:i:9 rq:f:0.997433
+  y~nMmxrI~~i~_i~by^Yx~ysG_&~|{~~~~~~~~~~~~~yjdiuz~~~~~ykb~~7~Ik}~Om~>~~|~_x~`rMzv^~yb~{ah~~xrU`~HUm|RivJvk_~M~~ZJ~{~W|%~~~~N_tiH~G~~ay]&~~L[~LZu[c~F~~~mwULY~~_W~_l;CGVm~``~aP~q1~~~~S~~z~y~~lMnB\K~|Z~d~w?~~yy~Y~iC{\D`hOcNl~y~M`M]~\Wj~u~;ac~j~e4~~~~`~~M~M{m|CnER}s^k~`L~~~~J~I~~qLnS~~Xy~jZ~.~}hKH~fc~l_x_nC~~k}XY~x\~O~~[k~aCkVF~rW~~e`9Rs_s~Mx~*~UMz~W~H~NLoHz`Z~~b~^v`\~wX~E~~{K~g~wmH~lI|{b~a~w~d~]smxI~w]~B~q>~]nhY~]fZ_/s~~F9~~WxkuzJ~nf~y~^z<~}S]xh|t~`~qa~_Yw~`s~Lorsc~?~~~yayl~~y~Y~~`z~a~?N~M [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/657/ccs/rev np:i:9 rq:f:0.997418
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGC [...]
   +
-  y~`vy_k?~~~}K^~w^tkUWYv~x&~~~~~~~{z~~~|ytmjga]`hy~zx~~o=9~~R~x~w~x7s(w~~okT{QR+~~sSNOh>cQw~N~t3~u;wdi{[ubvv at T~y~d~m1VvD~~~~`yauN~Y~~c_pIu~d\~hj~`v~+Hlzm_~q^z~`m~O~T|MV~~S,~wY~~>~~~fEut~l_qUXM~sw]~~a~0~}b~v_S~b~lvD~xO~x`wauHk9f^T~sW~~R~wMi~t~bB~~~~_~~v~v|_~xMPG~~x\~dO~~~~M~2~uqkfY_~]~~{aj,zu~_~~?~~u`^s`~~d~x[~{qmO~~wS~]w~xh~M]~~~]xi~yZ~bIc;~~wM~N~\pZmWc~wReaQ~ZL^`pIM~G~x~L~^eLtQ~sC~~sY-l:c>~Rvu:Wi`u~,t60~Lu^l~y~|KBz~~za~~sp~oIO~~e~N~x~L~~~yaw~~~N~c\\qFy~ub~b^~bZ~`~~@^s8q~e^g:~jc`si~~J~d [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/692/ccs/fwd np:i:7 rq:f:0.994789
+  y~`vy_k?~~~}K^~v^tkUWYv~x&~~~~~~~{z~~~|ytmjga]`hy~zx~~o=9~~R~x~w~x7s(w~~okT{PR+~~sSNOg>cQw~N~t3~u;wdi{Zubvv at T~y~c~l1VvD~~~~`yauN~X~~c_pIu~d\~hj~`v~+Hlzm_~q^z~`m~O~T|MV~~S,~wY~~>~~~fEut~l_qUXM~sw]~~a~0~}b~v^S~b~lvD~xO~x`wauHk9f^T~sW~~R~wMi~t~bB~~~~_~~v~v|_~xLPG~~x\~dO~~~~M~2~uqkfX_~]~~{aj+zu~_~~?~~u`^s`~~d~x[~{qmO~~wS~]w~xh~M]~~~]xi~yZ~bIc;~~wM~N~\pZmWc~vReaQ~ZL^`pIM~G~x~L~^eLtQ~sC~~sY-l:c>~Rvu:Wi`u~,t60~Lu^l~y~{KBz~~za~~sp~oIO~~e~N~x~L~~~y`w~~~N~c\\qFy~ub~b^~bZ~`~~@^s8q~e^g:~jc`si~~J~d [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/692/ccs/fwd np:i:7 rq:f:0.994784
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTATCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCAACACATCACTGAGAAGTTATGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  axePjYg at reRWNNkNeMjcj_Z\=&@fihJgEoOVtih@~aHagcgdfNWt:~+or<uutiM=liNp`]XuOCb;]FnMhZ1idgcQRQGvvhbQIb^:9eW?W,Z]lm`ZgbfKRaU^dNUuhQVQQXFme<b at dTdLiLvv`RxIvU at Z'drn\[QVMQe)LLI9a:`On<a:O[cUdYuUpGYgLRJfELZM0rujUW(m8_K^Mc=ISJ]VX:9PQM)_Q;fcAsTT_b at ea;USmhcGsSwd*Vk;ghQthdhjSwOc at quhB]GIM^]OTpA5x_MidIwj4mHkL`@]]d at tdPrJte9ceWM;iKR(WqWgee0beQd@~haZMDt^-WD:csd at niUuefdi@~VthDdBupd4tY?hElScTR9PKmdNSdAsTcJrOOhfh=tJb9fd.~sl\RKYsOc`PNedb.eMMPsgJsh8~dJkPf)urE?Zb;TMBT&b.,mssrP]aLNb:;cH8Ft9NHE>O``hhdhdfS7xdObPZd [...]
+  axePjYg at reRWNNkNeMjcj_Z\=&@fihJgEoOVtih@~aHagcgdfNWt:~+or<uutiM=liNp`]XuOCb;]FnMhZ1idgcQRQGvvhbQIb^:9eW?W,Z]lm`ZgbfKRaU^dNUuhQVQQXFme<b at dTdLiLvv`RxIvU at Z'drn\[QVMQe)LLI9a:`On<a:O[cUdYuUpGYgLRJfELZM0rujUW(m8_K^Mc=ISJ]VX:9PQM)_Q;fcAsTT_b at ea;USmhcGsSwd*Vk;ghQthdhjSwOc at quhB]GIM^]OTpA5x_MidIwj4mHkL`@]]d at tdPrJte9ceWM;iKR(WqWgee0beQd@~haZMDt^-WD:csd at niUuefdi@~VthDdBupd4tY?hElScTR9PKmdNSdAsTcJrOOhfh=tJb9fd.~sl\RKYsOc`PNedb.eMMPsgJsh8~dJkPf)urE?Zb;TMBT&b.,mssrP]aLNb:;cH8Ft9NHE>O``hhdhdfS7xdObPZd [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/692/ccs/rev np:i:7 rq:f:0.995648
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTATCCGCGAGTGTCAACCGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
   )\FGI+K&aW_^\OjYD]^HKH`_Z.eQDEBA;Z>H[__UoMPKjLf;ScHuRb$bAS_qgdMvf;tLK at rNFsSvUsdhidhOfOdTd9~~fDL;Qad9ttdd5vwwraNeMeQ<yhMhdYvdTEd<d@~jcRaNefcB at htc>bCgNN]9uvupS6_]9aa4KINHIk8fcgdToLiKJo<]GrgdhcUc5NiFiuiVu7gsVvQcdiicgacJVLNlKf<eeKhJOtd;Hf;kjdhYwaKVg;ucO6tbgjA~eLiN<|/E+nmf3pUJWIDc;~M(phdgM=rtSwFYcMKtqM>iI0a=otbNcUb6qM?bFbNX=QcKd?hTiiNjb5t[,qrBnZgH|gGlLSLDJlIgg=~9oaJNbbaeXoTLAeeh?ttdFKCs^L>X=YX4YPVGc<cL9U]qvgeVuONSgdiNjAplA<~hVu_FX^:Q at U.tttRvjdhidiSu8uuuudh>RCVXb;cg+VSfdSLdjNiWNYJjh at zeb]XLf- [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs/fwd np:i:9 rq:f:0.997096
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs/fwd np:i:9 rq:f:0.997022
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  v~|KTskS~~y~`OvMPLi}h{}{d4~~m^U~B~~~}maX~~<~~w~Z~h0~~cc{@~}P~|~]UE~~~bf{c~~~'~~~PN~~bQ~i~h~h~mL~i~a~g~sJxP~xUxA~~^~J~~~OuB~~\(n~~Nd~7~yL~N~9FryQ|X~{z~xm{cyy_Xz~\gtz~krvbk~^s_~bj*~~O_g~W~zvCzmNz~~~~~~c~~~|bimb~igL}I~uJ~h}2~~{T~`cc~dWyjm]|N~y|~zcIl~~b~~b~~~la~\|y_bz~\N~}[}d~Q|~A~|afO~fOs~~T~Tp]yx}~~~8~zyK~Y~nbif~OY~~~b}aeMV|{~PC{~b}.~~}uee~~g~cu~y~i~M\~~M~~g~c~c~~b~~~|M|hk~bkzJ~~aYd~~~~SqL~~~`~~~~i~~}@z~wnCgU~~d_~a~~~~P~b~~e~~~~~9|~~=~f^\~2~~e~ez]{xz~d~cd~O~~g~y~j`?~~~h{QL~_jMwgO~~;i~e~h [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs/rev np:i:9 rq:f:0.997074
+  v~|KTskS~~y~`OvMPLi}h{}{d4~~m^U~B~~~}maX~~<~~w~Z~h0~~cc{@~}P~|~]UE~~~bf{c~~~'~~~PN~~bQ~i~h~h~mL~i~a~g~sJxP~xUxA~~^~J~~~OuB~~\(n~~Nd~7~yL~N~9FryQ|X~{z~xm{cyy_Xz~\gtz~krvbk~^s_~bj*~~O_g~W~zvCzmNz~~~~~~c~~~|bimb~igL}I~uJ~h}2~~{T~_bc~dWyjm]|N~y|~zcIl~~b~~b~~~la~\|y_bz~\N~|[}d}Q|~A~|afO~fOs~~T~Tp\yx}~~~7~zyK~Y~nbif~OY~~~b}aeMV|{~PC{~b}.~~}ued~~g~cu~y~i~M\~~M~~f~c}c~~b~~~|M|hk~akzJ~~aYd~~~~SqL~~~`~~~~i~~}@z~wnCgU~~d_~a~~~~P~b~~e~~~~~9|~~=~f]\~2~~d~ez]{xz~d~cd~O~~f~y~j_?~~~h{QL~_jMwgO~~;h~d~h [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/705/ccs/rev np:i:9 rq:f:0.997034
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  X~HL~<[:vd~wS[Y<Ze~_~N{~i3cgviZ~K~~u;hiE~~`t~gw3~w8v~_g`h~Oh~k~ey.^$ST~QhOb=-_df}b)zgo~RpMk%|vh~cxvwO~y`aT~~_~~vd~~F~~Wffh~mz8~~si\~h~dz}coYx~_~c~~b`vcX~C~~~U~~|~^U|`t6LMkU~~~bk\~~P|}~:~RJY~~p~~^z}9~~l`~a~`hi~_kfOQ~~M~~aFz~~yuU]~~~q~c~{Rf~~GTa~M~~{qOxi~~x~e:dQ~iM~gu[~~b~e]d`~f~~c`X~~g|]]z}|gj~wa}~`L~g~i~l~~}^Jx(SAw{|<cwfWzb~~8~B{aI~~~^Q@~b'~b~kWr\a|c~\-~{rzg`N|vMU~M~S~N~\j~bN~{byWa~ad~LRwbZpJeP[EzsRBk{~mY\Q~~~ia}g~ZOY~~~gxc>L~uqGFLY|RkBdGXT~zQ~|g~L~bg~>~[~sQ~~BM{}~P~]PK|Xhbi~{N~~|~~hf~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/734/ccs/fwd np:i:12 rq:f:0.998898
+  X~HL~<[:vd}wS[Y<Ze~_~N{~i3cgviZ~K~~u;hiD~~`t~gv3~w8v~_g`g~Oh~k~ey.^$SS~QhOb=-_df}b(zgn~RpMk%|vg~cxvwO~y`aT~~_~~vd~~F~~Wefh~mz8~~si\~g~dz}coYx~_~c~~b`vcX~C~~~U~~|~^U|`t6KMkU~~~bk\~~O|}~:~RJY~~p~~^y}9~~l`~a~`hi~^kfNP~~L~~aFz~~yuT]~~~q~c~{Rf~~GTa~M~~{qOxi~~x~e:dQ~hM~gu[~~b~e]d`~f~~c`W~~g|]]z}|fi~wa}~`K~g~i~l~~}^Ix(SAw{|;cvfWzb~~8~B{aI~~~]Q@~b'~b~kWr\a|c~\,~zrzg`M|vMT~M~S~N~\j~bN~{byWa~ad~LRwbZpJeP[EzsRBk{~mY\Q~~~ia}g~ZOY~~~gxc>L~uqGFLY|RkBdGXT~zQ~|f~L~bg~>~[~sQ~~BM{}~P~\PK|Xhbi~{N~~|~~hf~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/734/ccs/fwd np:i:12 rq:f:0.998868
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACTG [...]
   +
-  ~~|h~~~K~~p~]B~ekU~z~~~b\=~~~~gS~\yO~]a~p9IVW~~z~~k~~_h~<mY~~z~~BdI~G~zy^~z~e~~Rv~~~~~ek~~gF~~~~~o{_~~[~~~j|~~~Y~{~z~V}~~c~~~~L~cXdz~h~j~~~j~~S~ho~bDfT~i~~Hu~@~~~gq~p~~~7~hdb~]~~~N~~_~~f~a~b~~~VvV~~D~~T~~DW~tp~X~y~~M~VX~k~[~~w\~m~~W~~?i~R\~~k~~~TU~~~jx~~V]v~|@~~~o~NocT~Xf~~~~~X~~gz~z\~~u~z0bz~Vd~u~j~~i~TN~~~~~P~W~~~:\/{{n~|~~W~~~~n~~~|~t~MkU~i~~i~k_~bc~|~y~~R~~gRh at h~tq~~w}~vc~~~~~fQ~ojh~~5~~~~~|l~~~~~|b^~~~U~~S~~~~Y~~~i~~~~~_dm`~~gz~c3~~~~d~~~~~~nmb~~~E~d2~~a\gtI~W~~K~\q_k~t~~g~}~^~X~z [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/734/ccs/rev np:i:13 rq:f:0.997555
+  ~~|h~~~K~~p~]B~ekU~z~~~b\=~~~~gS~\yO~]a~p9IVW~~z~~k~~_h~<mX~~z~~BdI~G~zy^~z~e~~Rv~~~~~ek~~gF~~~~~o{_~~[~~~j|~~~Y~{~z~V}~~c~~~~L~cXdz~h~j~~~j~~S~ho~bCfT~i~~Hu~@~~~gq~p~~~7~hdb~]~~~N~~_~~f~a~b~~~VvV~~C~~T~~DW~tp~X~y~~M~VX~k~[~~v\~m~~W~~?i~R\~~j~~~TU~~~jx~~V]v~|@~~~n~NncT~Xf~~~~~X~~gz~z\~~u~z0bz~Vd~u~j~~i~TN~~~~~P~W~~~9\/{{n~|~~W~~~~n~~~|~t~MkT~i~~h~k^~ac~{~x~~R~~fQh at h~tq~}w|~vc~~~~~fQ~ojh~~5~~~~~{l~~~~~|b^~~~U~~S~~~~Y~~~i~~~~~_dm`~~gz~c3~~~~d~~~~~~nmb~~~D~d2~~a\gtI~W~~K~\q_j~s~~g~}~^~X~y [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/734/ccs/rev np:i:13 rq:f:0.997666
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACTG [...]
   +
-  ~~Y~~g~:~n~~~x~}fg~V~^~~|(~UUtW~~~gD~~A~~~|~y~k\~b~~cZpi~~j~~dsjqjm~~sj~P~@Y^X~~l~`hq2~qp~EI`e~i~~~t~ih~hqzF~dc~g~~k\~g~~L~it~O~~~~n~RcMH^Pg_nX4~Q~~pZqKpzfr~g>q~Gvk~~F~D5~~S~~5~~Ne~V\~~iq{{)~~~h~xF~Zah:~~~dR~~~~mj~~-~~~tgtC~~lk~|j~~j~~t~~Q~~~s~~bj~~~Nl~Uf~~|c^~~{VpX~_~~~hk~~2ON~~j~qRj~mQ~~z8D2TX}<[=pmyM[+4JhU`tWZ~|~~yd~[i~P~R{f~ygs~ZoPd~A}~~QxZ~~d~~UmtP~~W}~Ni~~~~uz~B~_~cy~wP~~~YHSy|Txi~c?~~~~d}x~~~Ia)hX~~~ktYin~da~~X~~~&Z~~}N~~a~~g~z6~txx~~Z~`:cCs~~M~~~9%wjI~x~zXR~~b~~`t~~Pmbl~O~~~~_E [...]
+  ~~Z~~h~;~o~~~y~}gh~W~_~~})~UVuX~~~hE~~B~~~}~z~l]~c~~d[qj~~k~~etkrkn~~tk~Q~AY^Y~~m~air3~rp~FJae~j~~~u~ji~hr{G~ed~h~~l]~h~~M~ju~P~~~~o~SdNI_Qh`oY5~R~~q[rLq{gs~g?r~Hwl~~G~E6~~T~~6~~Of~W]~~jr||*~~~i~yG~[bi;~~~eS~~~~nk~~.~~~uhuD~~ml~}k~~k~~u~~Q~~~s~~ck~~~Om~Vg~~}d^~~|WpY~`~~~hl~~3PO~~k~rSk~nR~~{9E3UY~=[>qnzN\,5JiUauW[~}~~ze~\j~P~S|g~ygs~ZoPd~A}~~QxZ~~d~~UmuP~~W}~Ni~~~~uz~B~_~cy~wP~~~YHSy}Txi~c?~~~~d}x~~~Ia)hX~~~ktYin~da~~X~~~&[~~}N~~a~~g~z6~txx~~Z~`:cCs~~M~~~9%wjI~x~zXS~~c~~`t~~Pmbl~P~~~~_E [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/820/ccs/fwd np:i:10 rq:f:0.999584
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
   ~~~kc~~U~~~~Y\~fzHv~~~~dmT~~~~~~x~ig~~~S~~gj~~~~~]@eH~^~~G~~~eiS~~v~y~P~G~~C~s~mv~]~~~~~~~k~~x~~P~~jb~~e~-~~~~~~~~~m~~~~wYt~~`}~~~}~~k~]~~~]ue~~~}~w~~~~S~~~~~a~^p~mj~n~~B~f~~pnl~~~v~~z~g~~Y~\~m~~~-~~~~~J~~t~m~]~~`~`~~v{o~|~e~~~~~T~~u~~n~~V~h~e~I~e~~][~K{~y~~zzrf~~~h~~{{~~~v|~[y~~`~~m~~6~~F~^k6~d~~{Ottz~Y~~h~^~Es~ghd~~~}o~s~~~~3~~~~e[~~L~~V~~~V~~c~~`~|N~z~qg~?~~sD~~[~~~y~~ekzG~~Sk{O~~~~~~v_~~Z~~~v^~;~~~~~jb~Wh~~k~|~8~~~y~~R~~I~~k~~~P~~~Z~~fo~n~3~3u`~~kq~~b~~m~lz|~~vZ~~j~~`~~~~~~O~~C~m~y [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/820/ccs/rev np:i:10 rq:f:0.999453
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/820/ccs/rev np:i:10 rq:f:0.999655
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  ~~n~~q~T~{~z~~~~p~~l~Z~~~4~~~~l~Z~~v~oLg~imi~m~pt~X~q~=~~]~~~~~u~~P~~D{~~h~~~n~~~w~~i~k~~~N~~~~i:~~~n~~x~>~~~~~n~J~~\~~m~~j~x~9qK[V~~~~mlv~~~[~~~I~~~n~gS~~r~qx~~~~~~~~~G~~JqQ~~k~m~jT~Q~T~~~~~z~~jtK~~~e~p~~y~~~~~P~z~~k~m~~o~~~~n~Z~~f~n~Y~~~~v~~m~~G~v~h~~~~O~~e~~D~~k[~~~@{tJc[t~P~~C~~~~Fy~~~~~~~Yq~~o^~~:`P~~~n~~~W~~}iv~~~~x~k~jj~~~6s~I~~M~~d~~yx~hu~nrX~|~m~~X~7zx~}~~bfs~~lOx~~K~~j~_q~nWVyNA}e~|~m~C~j:~~~~~~A~~Z~~~rGrs~~~Y~y~~xp~~u~k~_~~~w~z~~~~~{~I~~~~{~n~~y~~C}~K~x~~~m~vm~`UwY~Ng~~~r~^~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs/fwd np:i:7 rq:f:0.989463
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGAGCCTTTCGCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAAATCCCCATGTCGGGACGGACACGCGGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAGACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTA [...]
+  ~~o~~r~U~|~{~~~~q~~n~[~~~5~~~~m~[~~w~pNh~jnj~o~qv~Z~r~>~~^~~~~~v~~Q~~E|~~i~~~o~~~x~~j~l~~~O~~~~j;~~~o~~y~@~~~~~p~K~~]~~n~~k~y~:rM]W~~~~nnx~~~\~~~J~~~o~hT~~s~ry~~~~~~~~~H~~KrS~~m~n~lU~R~U~~~~~{~~kuL~~~f~q~~z~~~~~Q~|~~m~n~~p~~~~o~\~~g~o~Z~~~~w~~n~~I~x~j~~~~P~~f~~F~~m]~~~A|uKd\v~Q~~D~~~~Gz~~~~~~~Zs~~p`~~;aR~~~o~~~Y~~~kw~~~~y~l~kl~~~7t~J~~O~~e~~zy~iv~osY~}~n~~Z~9{z~~~~cgu~~mPy~~N~~m~bs~pZX|QC~g~~~o~E~l=~~~~~~D~~\~~~tJtu~~~\~|~~{r~~w~m~a~~~y~|~~~~~~~K~~~~}~q~~{~~F~~N~z~~~p~xo~cWz\~Qj~~~t~a~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs/fwd np:i:7 rq:f:0.991318
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGAGCCTTTCGCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAAATCCCCATGTCGGGACGGACACGCGGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAGACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTA [...]
   +
-  E\?-Q/6)-KeFJ4i8N9H>[QYKC-fXhOMQOKT.OR;MU@?f?^^DW:Xo`:QGZLV9&TL:JStc4c<CWE$fUZf?c(AA9rsO>MAa at DW-P@_AW at Y7@LZ8rS?aR\Q<DB8;7C[TLN6WWL3Bl`RGtRSe?m7O+1KL[9`SL0QEf0R5U=3`V6/<^C[*JWZ?]0o_T_hDvN(lZJ-'=IQEc9QNRJ)M0P*ePr/PQaMI`HQGD^f1XYON&PFG*P^ph[*XN1rpdQ at _KHb<NM&BbOMOPR-hSS`L+C<=PJTQN<9.c[PLD]+YqgR>PP:3^_PQAVQhI<ABSdR-rkPMCgOE:WNT:G:hJCcXX?/TZRk,\<7NF?IFA2[o_RNSq^3tT$BY:I<KM-_iSDR5WWQO?qSRVCUPO.?_L759RRSQseNgb6YUDYHq=H.^@ARLV9o]N:7QBYBXLM&=BFNL@?ohRFssAR[E(Q;kJN(JRO%bmSR]HR<RET:AN[Q\JVH]3&JM>H [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs/rev np:i:6 rq:f:0.985987
+  E\?-Q/6)-KeFJ4i8N9H>[QYKC-fXhOMQOKT.OR;MU@?f?^^DW:Xo`:QGZLV9&TL:JStc4c<CWE$fUZf?c(AA9rsO>MAa at DW-P@_AW at Y7@LZ8rS?aR\Q<DB8;7C[TLN6WWL3Bl`RGtRSe?m7O+1KL[9`SL0QEf0R5U=3`V6/<^C[*JWZ?]0o_T_hDvN(lZJ-'=IQEc9QNRJ)M0P*ePr/PQaMI`HQGD^f1XYON&PFG*P^ph[*XN1rpdQ at _KHb<NM&BbOMOPR-hSS`L+C<=PJTQN<9.c[PLD]+YqgR>PP:3^_PQAVQhI<ABSdR-rkPMCgOE:WNT:G:hJCcXX?/TZRk,\<7NF?IFA2[o_RNSq^3tT$BY:I<KM-_iSDR5WWQO?qSRVCUPO.?_L759RRSQseNgb6YUDYHq=H.^@ARLV9o]N:7QBYBXLM&=BFNL@?ohRFssAR[E(Q;kJN(JRO%bmSR]HR<RET:AN[Q\JVH]3&JM>H [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/822/ccs/rev np:i:6 rq:f:0.986584
   AGCAGTGGTATCAACGCAGAAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGCAGTCACAGCGCGACCAAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGGCGACCGATTCCAATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAACACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAAATCTAACATAAC [...]
   +
-  >.<@19)/QLB>3_O?RE+'+-MV?']YSQ]WS,L8<>[LPFCX=bWDW-`fJaP:.AIV.\W;GIZG1H=J\[&3Q9BQ:U at m87]1U/TN2W.D?H?o?b+;HR=SG4YU7(T)7G;@SOI*(;Wh\O&mbLA3L<W0K<8+52f>HQ]:;LL9C4g)FB=-a<Y(Q\AI>B4`7^5mu_PH0V>4PWM-iHN=<H8]R,VQ,H5sMFUc4t'LS=6,7KLA]VBs^:8HkO(j\k`KqT9gZQN'T=9Q^?BO<E<Z>@LMXFMRP;N=M:HOKNJ:+ at YS?QI0TSUL9>.91YX;62V,TcR;/;AN<sU<6:n6 at Sg-UP\3VB3=Pj>?]dJOQTQSdO9B--%<RN92Nmg.c,KM=9OOo,Xj[N[IgYV5)8XQ)ypjWGWKk7zGdYGX^eiUZKHscD]1`FmRP2WgFg8ynZYfV%BMPSFXf2U]Zb4aaBImj;V@`?b8ek at S>jQ;jqoWj9?'vu\G3VMCEa(tGVqDw$ [...]
+  >.<@19)/QLB>3_O?RE+'*-MV?']YSQ]WS,L8<>[LPFCX=bWDW-`fJaP:.AIV.\W;FIZG1H=J\[&3Q9BQ:U at l87]1U/TN2W.D?H?o?b+;HR=SG4YU7(T)6G;@SOI*(;Wh\O&mbLA3L<W0K<8+52f>HQ]:;LL9C4g)FB=-a<Y(Q\AI>B4`7^5mu_PH0V>4PWM-iHN=<G8]R,VQ,H5sMFUc4t'LS=6,7KLA]VBs^:8HkO(j\k`KqT9gYQN'T=9Q^?BO<E<Z>@LMXFMRP;N=M:HOKNJ:+ at YS?QI0TSUL9>.91YX;62V,TcR;/;AN<sU<6:n6 at Sg-UP\3VB3=Pj>?]dJOQTQSdO9B--%<RN92Nmg.c,KM=9OOo,Xj[O[IgYV5)8XT+|rlZIZNm9|Ig\I[`gkW]NKveG_3cIpTR5ZiHj;|p\[iY'DOSUIZi5W`\e6ccEKom=XCcAe:gmCVAmS>mtqZl<B)xw_I5XPEHc*vIXtFz& [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/873/ccs/fwd np:i:13 rq:f:0.999384
   AAGCAGTGGTATCAACGCAGAGTACGGGAATCCGAAATCGAGATGGAGAGAAAGTTTGACTAAACTTTGTTACAGTATTTTTGAAGGCAATCAACCTGGAACTTTGGATTTCATCAAGTAAACACCCATATTTAGCGAAAATGCAAGCTAACTGCGAACTAACAAGGTAACTCTTTTTCGATTTCAAAATATGGTCAGTAGCAATATGTTAAGTGATCCATTTTGGAGGGGTGGGGATTTGTTCAATGAATGAGGCAATAAACCACCGCAACCTCTGTAATTGACGAGAAACTTGTATAAGGTCATCAAAAAGAATAGATGAACATAAAGATTGAATACGGCTGGGTGAGGTTAATTCAGATTTCCCAAATTATGTAGATGAAAAGATGGTAAGTTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGG [...]
   +
   ~~~~~~~e~~~~~m~~~~~~~~~~~k~~~~~|~~N~~~~~~~~~y~~~~~P~~~f~~~~x~d~~~j~~X~~~r~~~jB~~~~~~~w~~~~~~r~V~~}~~~~n~~[~~s~~~p~~2~~~^~~}~^~~~~~e~~~~~~V~~~~~~r~~~~m~a~~~~~~~~(~~w~y~~Z~}~~D~~~~~~~c~~~.~~~~~~y~}in~~~~[b~~~~~~~k~~~~~~u~~B~~cE~~]~~~~E~~~~y~~~~~~~~~~o~~~~h~~o~~d~~}~~x~~~p~x~~|~~~m~~~~~~~~~B~~mz~}~~~~~v~~~~~~I~~~~~m~~~~{~~k~~~~h~~~~~~~~~~~~o~~~R~~~~~g~l~~~|~~~~~N~~d~~s~~~~~~~~~~~~~U~~~~~~X~~l~~S~~~~~~~~~a~sS~~~~~}~m~k~~~Y~~~~~~u~~~~~~q~~~~~~~~~~\~~~~~~~~~~~~~~~o~~~~~~~~~~z~~C~y~~~iY~~~~w~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/873/ccs/rev np:i:13 rq:f:0.99906
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/873/ccs/rev np:i:13 rq:f:0.999058
   AAGCAGTGGTATCAACGCAGAGTACGGGAATCCGAAATCGAGATGGAGAGAAAGTTTGACTAAACTTTGTTACAGTATTTTTGAAGGCAATCAACCTGGAACTTTGGATTTCATCAAGTAAACACCCATATTTAGCGAAAATGCAAGCTAACTGCGAACTAACAAGGTAACTCTTTTTCGATTTCAAAATATGGTCAGTAGCAATATGTTAAGTGATCCATTTTGGAGGGGTGGGGATTTGTTCAATGAATGAGGCAATAAACCACCGCAACCTCTGTAATTGACGAGAAACTTGTATAAGGTCATCAAAAAGAATAGATGAACATAAAGATTGAATACGGCTGGGTGAGGTTAATTCAGATTTCCCAAATTATGTAGATGAAAAGATGGTAAGTTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGG [...]
   +
-  K~~~~~~l~~~~~m~~~~~~~~~~~_~~~~~k~~t~~~~~~~~~j~~~~{|~~~q~~~~|jQ~~~i~~~W~~~~~~~8~~~~~r~~~~x~~~~~p~~~~~~~j~~~~~{~~~~~~~~r~(~~~~[~~~~~\~~~r~vu~~~~}~~~~~~~~~~~~~y~~~k~o~~e~~~~~~~^~~~~~~~V~~~Z~~~~~~}~~~~~~~~~t~~~~x~~~~~C~~~~~~E~~~s~~S~~~~=~~~~b~~~w~~~~~~~~~~~g~~~~~|~~~~~o~~~U~l~~~~~ar~~~~~~~~~N~~~~~~]~~x~~~~~~~~Q~~~~~~~~~~~~~~~~~~h~~~~v~~~~~~~~~~~m~~~~~}~}~{~f~~~~~P~~o~~f~~f~~~~~~~~~tc~~~~~~a~~~~~~~~~t~~~~~Y~~S~~~~~~~~~~~~~X~~~~~~K~~{~~vs~~~l~~o~~~b~~~~~v~~~r~~~~~u~~~~j~~~~~{~~~~~~z~~Y~~~~~~ [...]
+  K~~~~~~l~~~~~m~~~~~~~~~~~_~~~~~k~~t~~~~~~~~~j~~~~{|~~~q~~~~|jQ~~~i~~~W~~~~~~~7~~~~~r~~~~x~~~~~p~~~~~~~j~~~~~{~~~~~~~~r~(~~~~[~~~~~\~~~r~vu~~~~}~~~~~~~~~~~~~y~~~k~o~~e~~~~~~~^~~~~~~~V~~~Z~~~~~~}~~~~~~~~~t~~~~x~~~~~C~~~~~~E~~~s~~S~~~~=~~~~b~~~w~~~~~~~~~~~g~~~~~|~~~~~o~~~T~l~~~~~ar~~~~~~~~~N~~~~~~]~~x~~~~~~~~Q~~~~~~~~~~~~~~~~~~g~~~~v~~~~~~~~~~~m~~~~~}~}~{~f~~~~~P~~o~~f~~f~~~~~~~~~tc~~~~~~a~~~~~~~~~t~~~~~Y~~S~~~~~~~~~~~~~X~~~~~~K~~{~~vs~~~l~~o~~~b~~~~~v~~~r~~~~~u~~~~j~~~~~{~~~~~~z~~Y~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/938/ccs/fwd np:i:7 rq:f:0.995748
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATT [...]
   +
@@ -190,14 +183,14 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   ACAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAAGGTCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACAC [...]
   +
   L-S@`qemCqaZLhM~idir`Nfsrh$~~~~~~~~~~~ytv~~~vrt{~~~~xtw~~POVEwphgXeiO_7kKaYZRh=J=fM3hiegFiJgPGmKqZNO^;~frY~oEoe\~dHenSznc~hh`~gYL~~gD~dcTRO_YB~:q_,Z;VrrS~MF~~QfmH]X|_}i?xxgY~rSMyVIDEdrdg$;H*NfSSFa7XlZieLVMOpX~mlX9hjOW?XNjfOFQ~rhgTY=~hrW~n^lQfpR]uqYeW~q>|b:|C1;dQ~hntseaN~XdK|g`gT-tLkO~b~mQgb~hbiboQj6ttOf\B\D3_~QV~raNiAx&kPLPphX_P~gqEtYNilhhlKJIL~\hhh`~hllSffelf]R{Yc;YG~~Tz7pPI5\e1i~M?O5~~`q]f`~Qkj]d:6XH~ta~O~pQLiHdPOFQprW~thrf<x~~qRnghe9W_LWfOuOOgM~g`~Rvhrrhn^eFnreibPLn@~~_~na2~h~~~m:iN [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs/fwd np:i:11 rq:f:0.994946
-  AAGCAGTGGTATCAACGCAGAGTACGGGATCGTGGCCCAGTCAGTGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGTTGGTGCTCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATTCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTATCAGATGCGGTTTATTGGATTGGTTACAA [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs/fwd np:i:10 rq:f:0.993574
+  AAGCAGTGGTATCAACGCAGAGTACGGGATCGTGGCCCAGTCAGTGGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAAACCAGTGTGAAGTTGACGGACGCGCTAGTTTACAGATGCGGTTTATTGGATTGGTTACAAC [...]
   +
-  w~gB}bmSp>NkU7kN=q~m~auZK+mMoLdP~KiA{f[m~fva0&TY}ec\OXT{Aimt at dgg3A%Cot[,AEP[VwNub at Zj]7gmlg|n|D~UbycSn}U}_0Vi|~[u\oR~`^zfhsn~xy~vx~~fc at Ocv{~;v~dnqPpV}RwJoja[\~k~]^~~g~{dx/CSs4NbEy`~yDlO~X{w\d~jj+Z~cHTrzqE~b~e~i63TpeR~~TYZOj`7SzXNUB;NVq~kCzh88*JGjH2KRb_~V|=wSI<MCI0cV;G4;n&GK=0'0HHWE*B<WB^I_K\GY~vx_~~z~h~yg\~_s~PUvr~hh[~rxP~xCSNLt{O~<~ph<~n&GIYLrG8]~e}j@~U~lS~mAS\ukbZj6eu`p5OWObK{Kik]PChX>No~yi~pW/^nhdRb={``:m|dFvmzu~qf~kOtJcQ\$wTyMw~tw4O}F*Qgq=NqyR_jk{ncuL|yp&Kn\R?>c\p.~~}_~XoVdeVzF:[h[_ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs/rev np:i:12 rq:f:0.997156
+  m~^9qZbIZ3?`K,[D5h~e~YjO=(]<dAXGu?Z>woPdw]iZ*&FVRpZ[KCJLp5Y_g1Z`\?L)Lkt^3JESdO~S~iLVad;ott`~sxI~UWu_Z|~Y~M)^nu~UkSgN~\^zjfev~ro~ss~~rZ6J_~s~7{~^acGgLpImBacW^Q~n~cV~~q~tbp5Q\l8HcG~W~sBnK~MymT[~nl$QwiUPmsu?~j~g}n7:Yr\L~~MfSLe\3`uaIXOBGNeva;pg>J5?=Y;><OqYyN~4gTT1W at C+kT=](8b&B49:0.:?j68E7G8[VVHXS^~mmY~~t~^~stR~`i~J^ts~scc~{qZ~pFfI^ovR~=~~i<~>(HfJnA?i~b~vK~\~h[~pM[a~pmhxIstnt9YUOnJ~Y_qlW;pe6Ef~o^~X<$ZlsPm9ujfGh~^M}sro~w_~c^i?]M~%a>P~Cp~lp?VuK%_aiDPyoVfdstn\n@}PP+k][HC]Vu*~~w]~Z~`fsY~IBboX`s [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1034/ccs/rev np:i:12 rq:f:0.997175
   AAGCAGTGGTATCAACGCAGAGTACGGGGATCGTGGCCCAGTCAGTGGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTACAGATGCGGTTTATTGGATTGGTTACA [...]
   +
-  &=(3RZdW~o~{ZP~Vh)RdaetPS'~~]gekst at fJ~~kvo{~sz_~kr~~lj\~w~D~~~R~[RhoS~=uoD~^\uP~K~p[.~~bgc_TVnQ7r3aqVOsZh~}4~~o|mmhs\~mN~k~~~~~~~}n~yu~g[]io~W~~~~~}~~~~xd~~~~t~u~~g~~v~~u~m~o~~~~h~P~[~~Q~m~\~t~r~ksgwd~u~~e~b~j~~mT~~~f~~y{pi~~is~~<~rn~~~~~\~oS~~~h~~gi|~V~i~c~~k at rw~txvc~d~_yB~~~Y\~~h~j~~a~lg~rZ~hJ~ViNe~n~k~Rjk}|Z{ru~;~~W]b~~O~E~~~~K~H~*zzsnG~~_n~~X~b~qfv~B~l~Th~~~~~~x~~~mq~v~N~~{Qb~~`~pBe~~}~N~zG~~~~{of~AY~~~ir~~p~r~q~Y-~~~~rfC}b~O~~nzKlct~~s~ktxa|sUP`Qe~~pM~~~|~~k~~^l~f~~~n~[~~r~\~9]Sc~ [...]
+  &=(4SZdW~o~|ZP~Vi)RdaetPS'~~]gekst at gJ~~kvo{~sz_~ks~~lj\~w~E~~~R~[RhoS~=uoD~_\uP~K~p[/~~bgc_TVnQ7r4arVOsZh~}5~~o|mmhs\~mN~k~~~~~~~}n~yu~g\]io~W~~~~~}~~~~yd~~~~t~v~~g~~v~~u~m~o~~~~h~P~[~~Q~n~\~t~r~kshxe~u~~e~b~j~~mT~~~f~~y|pi~~is~~<~sn~~~~~]~pS~~~h~~gi|~V~i~c~~k at sw~uxvd~d~_yB~~~Y\~~h~j~~b~lg~s[~hJ~ViNe~o~k~Rjk~|[|ru~;~~W]b~~O~E~~~~K~H~*zztnH~~_o~~X~b~qfv~C~l~Th~~~~~~x~~~nq~v~N~~|Rb~~a~pBe~~}~N~zH~~~~{of~AY~~~ir~~p~r~q~Y-~~~~rgC}b~O~~ozLmdu~~s~ktxa}sUP`Qe~~pM~~~|~~k~~^l~f~~~o~[~~r~\~9]Sd~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1091/ccs/fwd np:i:6 rq:f:0.997974
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTT [...]
   +
@@ -205,43 +198,43 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1091/ccs/rev np:i:6 rq:f:0.998009
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGT [...]
   +
-  J}Y^a_`F~rsdmJ~ld?yaJhh}o%~s{~~~~~~tfYWat~~~|n]RONQcqYWd^ern]}k(fE~}ogo;]\~~\tg}D{on]\~g}RnsD~}mc[~u~gtR~~U~~nsn~]~fE~\~qaU|Xrcb~R~~b~o|;IQD9IXG:ll]C~ZGYj:lS1~~~~~nfA~V~tn>~P~~R~Hh]}]s{FG~bpnha~jvsWU~nD}R7ryw~om~S@~~^~b~oh~on~=xz~~n;~~7SV~\eo_~coJ{~gglC~uZ|H~Mkb.~uodk~:o`~~t~h|\f\m~]~t~]~~6~~~r>~~mtfV[mqD~mf~L~~Y~eX~og^lNpog]~b~o<~~~~xnyj?zosV~n`A`V{I~r~X~U{]d~eod[~r\~R~~gl]f|\yDzmaN{H~~ntpn~sg]}>~Q<`G~p?~gVkqn[dSf~YXpl^kson~g~rQlc]l~QlaU<~~jwe\|&~}~ogY~HxrkmD~mQ~tfy;~~VemaU|oV~WSXxmOH [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1092/ccs/fwd np:i:11 rq:f:0.998396
+  J}Y^a_`F~rsdmJ~ld?yaJhh}o%~s{~~~~~~tfYWat~~~|n]RONQcqYWd^ern]}k(fE~}ogo;]\~~\tg}D{on]\~g}RnsD~}mc[~u~gtR~~U~~nsn~]~fE~\~qaU|Xrcb~R~~b~o|;IQD9IXG:ll]C~ZGYj:lS1~~~~~nfA~V~tn>~P~~R~Hh]}]s{FG~bpnha~jvsWU~nD}R7ryw~om~S@~~^~b~oh~on~=xz~~n;~~7SV~\eo_~coJ{~gglC~uZ|H~Mkb.~uodk~:o`~~t~h|\f\m~]~t~]~~6~~~r>~~mtfV[mqE~mf~L~~Y~eX~og^lNpog]~b~o<~~~~xnyj?zosV~n`A`V{I~r~X~U{]d~eod[~r\~R~~gl]f|\yDzmaN{H~~ntpn~sg]}>~Q<`G~p?~gVkqn[dSf~YXpl^kson~g~rQlc]l~QlaU<~~jwe\|&~}~ogY~HxrkmD~mQ~tfy;~~VemaU|oV~WSXxmOH [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1092/ccs/fwd np:i:11 rq:f:0.998164
   AAGCAGTGGTATCAACGCAGAGTACGGGGATCGTGGCCCAGTCAGTGGATTACGTTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTAACAGATGCGGTTTATTGGATTGGTTACA [...]
   +
-  ~~_|~ms^~xrcd>~hxSo~|~~Nm,{~~v~r~~t~*~~h~~}~]da~c/~\`~f~~e:k^Ni~Y~gyo~~~~~~e,~ct`~]b<~]m~~~{jZ`^~~~{jj~~G~]M~~Osv~~~b~{[~wq~~}{s~}~~~qni_H~xuB~~~kOsua~}~c~~~UR~Y~v_~xV~z~Ra~~~~abj~]~~`~\~l~f~n~a~`G~t~|~~~_~~~h~~he~~HH~~ky~EjMf~~ZMp9d~`ovr2~]0~h|h~a~g~~~~[xC~~d^~i~h|aJ~7~~~A~~z_,~~]~j~~A~w~~tF~mh~~~r~~v~f~~Uh~UcmeS~~~az[~~pS~xQSm~iP`~H~hcf~~~q~ft~H~~QPv=~~mDp~xb{v~sudu|~~~~P~~ft~~~]~~~S~~zw~~r\~Gn~Wqipm^~]K[qoH>ys~L~iS~ms~inl~5~5b}~~L~}l~kz~~xPp~aI[a]v~~~8~~%eilt~~~cl~]~~~m~e~~W~b~3~\v] [...]
+  ~~_|~ms^~xrcd>~hxSo~|~~Nm,{~~v~r~~t~*~~h~~}~]da~c/~\`~f~~e:k^Ni~Y~gyo~~~~~~e,~ct`~]b<~]m~~~{jZ`^~~~{jj~~G~]M~~Osv~~~b~{[~wq~~}{s~}~~~qni_H~xuB~~~kNsua~}~c~~~UR~Y~v_~xV~z~Ra~~~~abj~]~~`~\~l~f~n~a~`G~t~|~~~_~~~h~~he~~HH~~ky~EjMf~~ZMp9d~`ovr2~]0~h|h~a~g~~~~[xC~~d^~i~h|aJ~7~~~A~~z_,~~]~j~~A~w~~tF~mh~~~r~~v~f~~Uh~UbmeS~~~`z[~~pR~wPSl~iP_~G~hbf~~~q~fs~G~~QOu=~~mDp~wbzv~sudu|~~~~P~~ft}~~]~~~R~~yw~~r\~Gn}Vpiom^~\J[qnH>yr~K~hR~ls~inl~4~4a}~~L~|l~jy~~wPo~`H[a]v~~~7~~$ehks~~~bk~]~~~m~d~~V~b~3~[u\ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1092/ccs/rev np:i:10 rq:f:0.998561
   AAGCAGTGGTATCAACGCAGAGTACGGGGATCGTGGCCCCAGTCAGTGGATTACGTGACCATGAGTCTGGCTGTTCTTGGTTCACCATTAGCTGTGGTGACAATAACGGGCATTGTGGCAACGATACGTCGTACTGCAAGTCCCACTGTAACTAAGACAATTCGGATTCGACCGATACTTGGTCTGGTTCGTTAACTTCGCGTACCTTCTGCTTTACCAGCAGGTCGTCAACGACGAGCCACCGTAACGAGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTATCTCATACGTGACCTCGTTGTTGACCTCGTTCTTCATCTGCACAGACTACAACGTTAGGACTACGGAACCAGTGTGAAGTTGACGGACGCGCTAGTTTACAGATGCGGTTTATTGGATTGGTTACAA [...]
   +
   N~_kweAR~y~}~~~u{u~u~|h~~8~~~~~~bg[~$~~x{uy~~y~c~}T~~~w%Q`X~N-DgT_s~L~Y~cP~~T~[yC~~~r~~v~~~~~nnY~hT~~r~^\~~N~~s~d~u|R~~h~tz}Q~~czza_~~eyvY~z}Q~~~~]d~U~~x~~Q{rF~a~mL~~y~~}~V~c~fz~w~D~~~~i~g~o^y~~~~l~x=bg|~s~y~~~h~N~~~o~~_~~]~d~~~~v~pa~~|~{D~~X~fw}~~O~u^zuM~l~~~c~f~~wqV~GhF~G~~~SG~~~~^~~k~~cr~_~|j~zX@~~s~v~R~~~tg~~~~j~f~d~~xg~bLuk~l~E~Z~~~C~~~[m~~~h~gpL~+ih~~U~{z6~y~~F~tvrg~o~y~|R~rt~v~f~i~hu~~j~~~\~~elqT~}~~w~~h~ozw~~S~~~~~~B~Z~q~~gdvi{~~Rs~xg~E~~~|~crw~g?~~~~~f~zT~_~T~~td~d~~N]7~e~e~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs/fwd np:i:5 rq:f:0.993046
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs/fwd np:i:5 rq:f:0.992966
   AAGCAGTGGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTACCCTCTCTTGATTTTTTACCTATCAATAAACTTACCATCTTTTCATCTACATAATTTGGGAAATCTGAATTAACCTCACCCAGCCGTATTCAATCTTTATGTTCATTCTATTCTTTTTGATGACCTTATACAAGTTTCTCGTCAATTACAGAGGTTGCGGTGGTTTATTGGCCTCATTCATTGAACAAATCCCCACCCCTCCAAAATGGATCACTTAACATATTGCTACTGACCATATTTTGAAATCGAAAAAGAGTTACCTTGTTAGTTCGCAGTTAGCTTGCATTTTCGCTAAATATGGGTGTTTACTTGATGAAATCCAAAGTTCCAGGTTGATTGCCTTCAAAAATACTGTAACAAAGTTTAGTCAAACTTTCTCTCCATCTCGATTTCGGATTGTGATGAATATGAAACGTTAAATTGTGATTTTTTCAT [...]
   +
-  TxGR`]i.wXP^hS8gS]S^]^]g8P$^djpoebcgmrsssssssssssssrkIH/anhRf9RmV]2vvvvmVB\`^e)L[bBosJIjF)[KL3D^a[S^jSj]T[PLq9iDBuqDociSj\.sWk9Q+QAF^=jqHYCt]g`[vR>u?Q6anMMZWhMB%,;e^UqS;uwwq[4g]^G{Us^jY<INZ,`T0RD[PS6fTUHS]]^PxZvGRLujLv;vO5Wt)HBqF<\P`04AL\6YP6e\_,[^iX4imhQ at x@vyyhNwZ7LYRHt?l:Ki^WW]QPGRY)ZGx^_OJvvqF8vuPR\%tn[Q[I\ZuH&A/WPTr^\FuQFRGEZv^\R7s\RH(shT>H<M4hkg_c0vah\%mTX,HZ\DUZ9afN4b7do]@cFzZ=r[v[IVw\3vItS<xxxxi^RbCe6L;7QkYHrlI\iTHxxRCuuSiSi at SZiQLNEGGvtSPuYVtDLE]i]=XTVW\;deQ]9Q8vp[u]gEG'jlZ\eQI? [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs/rev np:i:5 rq:f:0.992838
+  TxGR`]i.wXP^hS8gS]S^]^]g8P$^djpoebcgmrsssssssssssssrkIH/anhRf9RmV]2vvvvmVB\`^e)L[bBosJIjF)[KL3D^a[S^iSj]T[PLq9iDBuqDociSj\.sWk9Q+QAF^=jqHYBt]g`[vR>u?Q6anMMZWhMB%,;e^UqS;uwwq[4f]^G{Us^iY<INZ,`T0RD[PS6fTUHS]]^PxZvGRLujLv;vO5Vt)GBqF<\P`04AL\6YP6e\_,[^iX4imhQ at x@vyyhNwZ7LYRHt?l:Ki^WW]QPGRY)ZGx^_OJvvqF8vuPR\%tm[Q[I\ZuH&A/WPTr^\FuQFRGEZv^\R7s\RH(shT>H<M4hkg_c/uah\%mTX,HZ\DUZ9afN4a7do\@cFzZ=r[v[IVw\3vItS<xxxxi^RaBe6L;7QkYHrlI\iTHxxRBuuSiSi?SZhQLMEGGvtSPuYVtDLE]i\=XTVW\;deQ]8Q8vpZu]gEF'jlZ[eQI? [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1133/ccs/rev np:i:5 rq:f:0.992852
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTACCCTCTCTTGATTTTTTACCTATCAATAAACTTACCATCTTTTCATCTACATAATTTGGGAAATCTGAATTAACCTCACCCAGCCGTATTCAATCTTTATGTTCATCTATTCTTTTTGATGACCTTATACAAGTTTCTCGTCAATTACAGAGGTTGCGGTGGTTTATTGCCTCATTCATTGAACAAATCCCCACCCCTCCAAAATGGGATCACTTAACATATTGCTACTGACCATATTTTGAAATCGAAAAAGAGTTACCTGTTAGTTTCGCAGTTAGCTTGCATTTTCGCTAAATATGGGTGTTTACTTGATGAAATCCAAAGTTTCCAGGTTGATTGCCTTCAAAAATTACTGTAACAAAGTTTAGTCAAACTTTCTCTCCATCTCGATTTTCGGATTGTGATGAATATGAAACGTTAAATTTGTGATTTTTTCA [...]
   +
-  ]hKS]KT at a?Z?RKiR6=TI,=>\P$D>KSPLKMQVVVX]defffec[QKKX\4j`SR?R9gKU(gggfJ=Ea(;QSJeS;fSJD\D2N<>R+gfOH]TSRD<X*Of=SU9g\:fc87RKMPBbKT5MFEI-sXPQNwS]O>u\Kw\-%bVeYRM`FaIYWaInX+tusUNiLROOa0meD]YTr?:hXCG\S^EBqJqi]g=NEkOmQG at k^DxEwuKLbR8jADeLWY`LU<WtF?s_]@wvgM1ciQS9a=vra\%]/1RX[KMtS5ZCHDITSHCZ]^SiOqH5`'psmMHPE1Y<9`YF]QeS'ce:X.J9Sb<*@GY;?1:NrN:[PxS]i5vvv]S]^(M at IXQ1XKY*CgecY=WPY/AK\\IKo2Wl=+SB5FG9\1mCf5LPN\=s\3vvvo$79RPBDNPB'VB?Gsxg>\]BuuG7okV_VUMri]\\DQh.XYY\Dyh=hOX:F[QRR^hI;GtpVRPwBus)sYQXQh1wwwwu]h [...]
+  ]hKS]KT at a?Z?RKiR6=TI,=>\P$D?KSPLKMQVVVX]dffffed[QKKX\4j`SR?R9gKU(gggfJ=Ea(;QSKeS;fSJD\D2N<>R+gfOH]TSRD<X*Pf=SU9g\:fc87RKMPBbKT5MFEI-sXPQNwS]O>u\Kw\-%bVeYSM`FaIYWaInX+tusUOiLROOa0meD]YTr?:hXCG\S^EBqJqi]g=NEkOmQG at k^DxEwuKLbR8kADeLWY`LU<WtF?s_]@wvgM1ciQS9a=vra\%]/1RX[KMuS5ZCHDITSHCZ]^SiOqH5`'psmMHPE1Y<9`YF]QeS'ce:X.J9Sb<*@GY;?1:NrN:[QxS]i5vvv]S]^(M at IXQ1XKY*CgecY=WPY/AK\\IKo2Wl=,SB5FG9\1mCf5LPN\=s\3vvvo$79RPBDNQB'VB?Gsxg>\]BuuG7okV_VUMri]\\DQh.XYY\Dyh=hOY:F[QRR^hI;GtpVRPwBus)sYQXQh1wwwwu]h [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1199/ccs/fwd np:i:10 rq:f:0.999121
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACT [...]
   +
-  ~~~O~~~z~~~~R@~zv~~~~~~z~S~~~~/bdh~i~{x~~V<~p~~~~co}~v~s]~`~~~~Hk~e~n~i~v~b~~~~av~c|~~~S~~~V~~{~~]~j~sik~~n6~z~?c~~~~m~~jn~~~~y~^~Co~~~X~~aj]~~~jx~~kwkvd~~$~w|~~~~By~m}~~@~~zz~w~~~E~~i~~~~V~h~~~~w}x~}~~5~~zj~~~~h~~~z]~Jm~y~Q~~~m~~~~W~^~~~~Y~~~s~~~@~~~z{~~ng~~~U~~~~~~hy~p~~~~e~~Z~~r~~uD~~s~~Xw~~m{~{~x~~~{~W~~~z~~~@~~~~~m~~n~~~6xh~o{d~b~~x~~n~~yc~~~zS~~~A~U~y|~~L~~]~~v~~S~~yx~~c~~~~~~l~~~~~~:~~~~y~k~~~y~c~B~~~}~~P~~~~c~x|`~Y~~~oo~~~~~~ek;~~~~l~~~z~R~~Y~r~k~gx~~Lyc~~~F~~d~~~~}~L~~q~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1199/ccs/rev np:i:10 rq:f:0.998808
+  ~~~O~~~z~~~~R@~zv~~~~~~z~S~~~~/bdh~i~{x~~V<~p~~~~co}~v~s]~`~~~~Hk~e~n~i~v~b~~~~av~c|~~~S~~~V~~{~~]~j~sik~~n6~z~?c~~~~m~~jn~~~~y~^~Co~~~X~~aj]~~~jx~~kwkvd~~$~w|~~~~By~m}~~@~~zz~w~~~E~~i~~~~V~h~~~~w}x~}~~5~~zj~~~~h~~~z]~Jm~y~Q~~~m~~~~W~^~~~~Y~~~s~~~@~~~z{~~ng~~~U~~~~~~hy~p~~~~e~~Y~~r~~uD~~s~~Xw~~m{~{~x~~~{~W~~~z~~~@~~~~~m~~n~~~6xh~o{d~b~~x~~n~~yc~~~zS~~~A~U~y|~~L~~]~~v~~S~~yx~~c~~~~~~l~~~~~~:~~~~y~k~~~y~c~B~~~}~~P~~~~c~x|`~Y~~~oo~~~~~~ek;~~~~l~~~z~R~~Y~r~k~gx~~Lxc~~~F~~d~~~~}~L~~q~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1199/ccs/rev np:i:10 rq:f:0.998641
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAATCGGTAGTATCTGCAGTCAAGTCGTAGTCGTAGGTATGGCACTTGTCGTGCGTCTAGGACGCGTTGAAGCTATCTTATTGCCCGAAGGAGCCGAAAGTCTGGGACACGTCGTGGGACGTATCGTTAGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTTGAAAAAGTAATAGTGCAAATAAGAAAGTAAGACTGTATCGGAGACGACTTTTTAATAGTAGTAATTCTCGGTACAACTAAACCAGTAATTTCAGACACT [...]
   +
-  v~~aT|p]~z~hy|~lyM~;eyd~a3~~~xlwh~mN~~[~~z~~~~~~(|b~Xm~l~~Y~~ar~m~k~~s~~?~~~~y~~s~~m~_~w~~~]~~~~~~~~c~~~y~~~~ka~vr~~~~w]~_~~~[Y~T^~m~~t~~MRl~w~~~a~~~q~~J~~K~~~~~~~t~~r~~\~~~~~L~~~g~s`~~~~~~H~~}z~~Lu~x~K~~~~{v~U~~S~~P~~~~~~J~~~~u~wv~]]~o~~v~~~t~~iq~~~~1}n(|~tu_~~s`~w~~~~~~]~~~~`~~~~~_q~cs~~~o~3~Q~z8S~~~x~?~~~l~p]a~~~x~m~wl~~~d]U~~lj~v~~U~~~~~~~~~~~~~y~~~~~~i~~S~~q~~~~w~~~yt~~d~~~lqqk~u~7~cX@~~~k~~Y~~~slp~i~~~~~~Z~~~wl~y~l~x~~v~K~yq~~[~~4~~~~~~~~~i~y~~~p~~~~@~Y~~q~o~J~~N~~vqT~c~~~~n~~~~z [...]
+  u~~`S{o\~y~gy|~lxL~:eyc~`2~~~wlwh~lM~~Z~~y~~~~~~'|a~Xm~k~~X~~`q~l~k~~r~~>~~~~y~~r~~l~_~w~~~]~~~~~~~~b~~~y~~}~ja~uq~~~~v\~^~~~[X~T]~l~~t~}LQk~v~~~a~~~q~~J~~J~~~~~~~s~~q~~[~~~~~L~~~f~s_~~~~~~H~~|z~~Kt~x~K~~~~zu~T~~S~~O~~~~~~J~~~~t~vu~\]~o~~u~~~s~~hp~~~~1|m'|~su^~~s`~w~~~~~~]~~~~_~~~~~^p~bs~~~o~2~Q~z8R~~~x~>~~~k~o\`~~~w~m~vl~~~d\T~~ki~u~~T~~~~~~~~~~~~~y~~~~~~i~~R~~p~~~~v~~~xt~~c~~~kqpj~t~6~cW?~~~j~~Y~~~rko~i~~~~~~Y~~~vk~x~k~w~~u~J~xp~~Z~~3~~~~~~~~~i~y~~~o~~~~@~X~~p~n~J~~M~~uqS~c~~~~n~}~~y [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1216/ccs/fwd np:i:11 rq:f:0.995676
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACCGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCA [...]
   +
-  x~}hujte~~H'<&bYWfsS~T~~g<~pt`bnY,~~~~NKmP]eQD:`G`eN~{~v~A~]>_I~li~zlc^iI~~~gsF~zQL~~wQk~Kpybq`r$R[`lfe=~dH~x[qW}YaKueNrIU~~qtOerQ~T~FpK~yd=ZvJk~=3_i;w~r;Bm[c~Qm@]f~Z~f~h~B~~M~cX/~~~h~~Ki~]m~pvDpF~q`~zRC`y~Y~iF~~~p at WU}idB~~2Om8=Y)rBEr$~sccIdL\G^NFpZn;aVo~kj=~~~D~X~mklAxPHusfg^dZmx~i^PB~eaf?MevYFS~~Z~VNw>F]aks~~'~~m~m~c~~U~~m~6~o|~j~~8~~hXZijT~~~0~~^\n~~~B~ziGfW~~~m8k~g$@A]t>hB9~L~ch~Mt~ghj~}F~Hdg~p~~q}2vTx~R~W~UN}=sj*aBdkjd~W~s~~n~3n4~zJ~uj[~j~~~~qfWmm~~p~Q~~~~l0~OO@~l~b~W~UjP]o~qh~~mk [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1216/ccs/rev np:i:12 rq:f:0.997025
+  x~}hujte~~H'<&bYWfsS~T~~g<~pt`bnY,~~~~NKmP]eQD:`G`eN~{~v~A~]>_I~li~zlc^iI~~~gsF~zQL~~wQk~Kpybq`r$R[`lfe=~dH~x[qW}YaKueNrIU~~qtOerQ~T~FpK~yd=ZvJk~=3_i;w~r;Bm[c~Qm@]f~Z~f~h~B~~M~cX/~~~h~~Ki~]m~pvDpF~q`~zRC`y~Y~iF~~~p at WU}idB~~2Om8=Y)rBEr$~sccIdL\G^NFpZn;aVo~kj=~~~D~X~lklAxPHusfg^dZmx~i^PB~eaf?MevYFS~~Z~VNw>F]aks~~'~~m~m~c~~U~~m~6~o|~j~~8~~hXZijT~~~0~~^\n~~~B~ziGfW~~~m8k~g$@A]t>hB9~L~ch~Mt~ghj~}F~Hdg~p~~q}2vTx~R~W~UN}=sj*aBdkjd~W~s~~n~3n4~zJ~uj[~j~~~~qfWmm~~p~Q~~~~l0~OO@~l~b~W~UjP]o~qh~~mk [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1216/ccs/rev np:i:12 rq:f:0.997646
   AGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAACACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCA [...]
   +
-  %J~yftE~eS~~X|y[H~S^l~~~%sJ[vAZf%~~a\vTPvu~e~_d5xz\~M~LfH~~OPDz~gp~~Jr~F~~i~~b~~[*quuxYe~8}o^~m~U~~g~VQ~e|~T^~:~nxE~ieyiR~PlCe at H]X|~]YT~]1j~~:~gMM~~>~~gl~ZufeViZ~m~ZQl~GjU~}@xjO?~~~DkYfBH[_Il~]eW~Wo~k[6~~+G_Lvpop}okolS|~Z~XN`t~\~~Wqp~M~~q~j~i>Y~j~fVl~j~ko~VE~~~:LJb~~VQ~U^L~~~kocEbi]sdMwwdh>qxrh3XM~~?~~~Y~qosqt~[D~~w~|jT~~v~~_~k~lxZT~kh~~]~`m~kZfCiwh:qRw[>.~Y]^t~~~~qa~~~~jmpPCyD~`~m~~p~i~~ZzXI~Rgf~<~e~|X~~PxL~j~pA~K~}U~~~hpV~eoXhkp~|i[~xDzpZ0~[~~dJmmwYioW~iX~npxK:~Cre}{~U~_~ifRHIql^~BX[ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1226/ccs/fwd np:i:5 rq:f:0.986061
+  'N~|ixI~hW~~\~}_K~Wap~~~'wN^yD^j'~~e`zWSyy~h~cg8|}_~Q~PjK~~SSG}~ks~~Mu~I~~m~~f~~_-uxy|\i~;~rb~q~Y~~j~YU~h~~Xb~=~r|I~mi}mU~ToFiDLa[~~`]W~`4n~~>~kQQ~~B~~kp~]yiiZl^~p~]Tp~KmY~~D|nRB~~~Go\iFL_cLo~`iZ~Zr~o_:~~.JcOytss~rosoW~~^~[Rcw~`~~[ts~Q~~u~m~mA\~m~jYo~n~nr~ZH~~~>PMe~~ZT~YbO~~~osgIem`vhPzzgkBt{uk6\P~~B~~~\~usvtx~_G~~{~~nW~~z~~c~n~p{]W~nk~~`~dp~n^jFm{k=tV{^A1~\abw~~~~ue~~~~mptTF}H~c~p~~s~m~~^}[M~Vki~@~h~~[~~S{O~n~sE~N~~Y~~~ltY~is[kns~~l^~|H}t]3~_~~gNqq{\mr[~m\~qs|N=~Guh~~~X~`~kgSIJrm_~CY\ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1226/ccs/fwd np:i:5 rq:f:0.991432
   AACAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTCCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTAGATAACTGGCAAATCTTCACATTTACGCAAGACCATAGAATAGTCCATAAGCAACATATTGCCGCATCGACCAAATCATGGCTTTGCACCTCCCAACTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCCACTGTTGACCACTCAGCACGCAATCTGCAAGATACGCAGTAATGCTAAACCATACTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGCTA [...]
   +
-  J>(-2REpTOYP<NQQ at SO@OWE3$jZOTZWWWWZ^ZTQRTTROMKKMRO94C4HQK>7>8OO at 7N)@W9I8IN?:4IUL[HQQ>]2AJ1RNJ4QPQCK'=JFQ:ILK3G;<TUB*;V;CD$*X[ZNK4+B:D,7+QEIDOKB3B/^*=-PPQBT?0./@XIDWC77A052-I;A0 at H3G=U6,UJCE?+?G2YT=C-&;.3MD'/KJH<S;B*MLA<BFFB8;=SRZPO3YOPD%OTW>+9TEPR8ZIjPHCCd3<9K;7LOEDlYRW&LBP9RJEO4fVIYJ7O5WBPCR7SJO:I8QDO<T<N/PIZ4gJYKiNO;GUQTIQ0N[CnhKW8:NM,6%:/2FGC2)7-:@;%>=.N':LM8.S4,2:VQMXK;M;QL?%A at .R@2-M=(%04MKTT7<9(764.;C3B'M+80K>N>ZQ9(=8/D?IFRNGPT6X?+T-CTOBVV;PYQPUT9M?=CJ5ggg\PA?LOQR7:JK2ULPPFRHBE&FP/ [...]
+  J>(-2REpTOYP<NQQ at SO@OWE3$jZOTZWWWWZ^ZTQRTTROMKKMRO94C4HQK>7>8OO at 7N)@W9I8IN?:4IUL[HQQ>]2AJ1RNJ4QPQCK'=JFQ:ILK3G;<TUB*;V;CD$*X[ZNK4+B:D,7+QEIDOKB3B/^*=-PPQBT?0./@XIDWC77A052-I;A0 at H3G=U6,UJCE?+?G2YT=C-&;/3MD'/KJH<S;B*MLA<BFFB8;=SRZPO3YOPD%OTW>+9TEPR8ZIjPHCCd3<9K;7LOEDlYRW&LBP9RJEO4fVIYJ7O5WBPCR7SJO:I8QDO<T<N/PIZ4gJYKiNO;GUQTIQ0N[CnhKW8:NM,6%:/2FGC2)7-:@>'AA1R*>PQ<2V706=YUQ\O?Q?UOB'ED1VD61P at +(48QNXX;@=,;:82?F7F*Q.<3OARA^T=+A<3HCLJVRKTW:[C.W1FXSEZZ?S\UTXX=QCAGM9jkk_SDCPSTV;>NO5XPTTJVLFH)JT2 [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1226/ccs/rev np:i:6 rq:f:0.992886
   AACGCATGGTATCACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCAATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCCGTGTCAGACTATAGCGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTTGGTAATGCTTGTCTACATTGGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTAC [...]
   +
@@ -250,46 +243,46 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATCGACGACTCAAAATAAGAAAGGGAGTTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATGGT [...]
   +
   Z~HCe`l9^jQjAOnZ5Ee]T`ngO%ct~~~~~~~~~~}skks~~~~~~~g_G2NU0|p`_=mQAQ6~lg]NP;f`m^[@rDCDdG~m`B{b^Hfn_HY~V~GN?y~uZOY~h_~R2x^:[LWEZdY8ey]ah_~\UMByWMdx\nX~XcHl^`VLDw;g^7~iHT~[hm?~z_HW_g8A<LZ<xM\F~rU^K~_Qe_n_D~~nhn(cdam`l=~abF2~fT~~_P~fn_`nW~T]n_Hl_lPV1~|c_W~g^~IYFiJ3h`G~^_~``c2jD~~`X~_R~fHh<j]Kh3i`lX~nX~nJ~nQ~_h_fE~`lI\QkQ]6~p^kH_h`k<]gn_`fH^R[T\<~jhmN~^6~\G~~g`.~~~~ocNbHf`~`U>nj'}]jHf_nh_g_\D;~^~@~]~RJ~H~~`IeAwE~~^_K~`n\.~~__~_`k<]_Ql@~mH~[bHF.~~.ghfO\E~j9=~\_ifD~P/gLh_Q_FlKlg_K~@~~m`eIadQ~< [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1234/ccs/rev np:i:5 rq:f:0.994891
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1234/ccs/rev np:i:5 rq:f:0.994874
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATCGACGACTCAAAATAAGAAAGGGAGTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAGATGGTTCGTA [...]
   +
-  >uA6_]:=eRlU`K~^NXf_RJhnZ%Xiw~~~~~~~wlefny~~~xmfer_[dZSH0hlO]Q~nN~[~hn`nhnh^R]hN~PH1cWdg^A~{\\bN0\6~'ch`0~~j_k5~gAhd4feP~g_4lXD~~`hnX~\.FBb\@~~^aAfEcHf[_`h^~=~XIbP_`~`nf5~~fi_NTG\~I[N~eI5~~aXX~_nh`h`C~~fne`N[:Y;P~nh_A~S at w~`N~dL\_h[db[h``h_Qh_2UiWJ5|V*~k`_~`L~\J~\.^\]e`f<g}^Q~`Bre[Rc5^X~^R^J@~eN~f_~hN~Gkah_~_R\Jkhm`=~~_g`_nahn`nh_Hk`_n`d1Hix{QZpJT~|;LbgG$u~~jQl`nW~_iMhgN~_i^n`Ol_QjI\Q~G~O~H~nQ~D~|_[iQ~N~xIWV{_h`F~~V>aY\Rl`_eQ=}:EaGf_`O~~`hn`hN~`SQ~\FNl3zK<~I|]RD7gQ~h_X~H~~h_n_mU?oW~`_hm [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1241/ccs/fwd np:i:9 rq:f:0.994309
+  >uA6_]:=eRlU`K~^NXf_RJhnZ%Xiw~~~~~~~wlefny~~~xmfer_[dZSH0hlO]Q~nN~[~hn`nhnh^R]hN~PH1cWdg^A~{\\bN0\6~'ch`0~~j_k5~gAhd4feP~g_4lXD~~`hnX~\.FBb\@~~^aAfEcHf[_`h^~=~XIbP_`~`nf5~~fi_NTG\~I[N~eI5~~aXX~_nh`h`C~~fne`N[:Y;P~nh_A~S at w~`N~dL\_h[db[h``h_Qh_2UiWJ5|V*~k`_~`L~\J~\.^\]e`f<g}^Q~`Bre[Rc5^X~^R^J@~eN~f_~hN~Gkah_~_R\Jkhm`=~~_g`_nahn`nh_Hk`_n`d1Hix{QZpJT~|;LbgG$u~~jQl`nW~_iMhgN~_i^n`Ol_QjI\Q~G~O~H~nQ~D~|_[iQ~N~xIWV{_h`F~~V>aY\Rl`_eQ=}:EaGf_`O~~`hn`hN~_SQ~\FNl3zK<~I|]RD7gQ~h_X~H~~h_n_mU?oW~`_hm [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1241/ccs/fwd np:i:9 rq:f:0.994308
   AAGCAGTGGTATCAACGCAGAGTACGGGACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGTACAGCTGATGTGATCCTCTCTACTATCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCCTACCGTAGAGGGGGACGGTAGTCTGTGGGAAATCTACCCTAGTGAAGAAAGGTAAGAGAATGTCTGAACATTACCTGTAGACGAAGGTACTCTCAGAACAACTACTCTCACATACGGAAAGGTTTGGGTCCTTGGTCAAAGGACTTTACTGACTCTGCAGACGGATGAATATCTGAACCAACACTTACTATCAAAGATGTTCGACTAGACCTCTCGTGGTAGGGCCTGGAAGTCAAAAGACTTCTCTATGGTACTAGGTAGGTAGTTAAGTACGGTCCCTGGT [...]
   +
-  Ev_`UWQP~vx>EIjS[;RYshk~r1+V}N~hrWkb2ru}n]kQ{d<nVWnpbAhv_O~yWi7Dy~3mQg=~~x\~prlzVtF~<{jqg_fi~b|hKhIX(lZV\P^QaHg[ScUMI~isog}yDf`&H;wrlmai\X~R~Ow\ymrnZw8turtK`%UG[z|>ze`qanx~~~w|~:~~i\~r.|tY~pd~vY~{nzadywz\rR~~hT~ZhK;l'~~aktWSbxdc~Pknk-~nQ~~gihhDq~@X at bh0hI89\Ty]AdXNRTztft`{qa~?og~~[~knkUn~TiRpS~~lZR[gt~o]egHwb~rl]UeW~nfymdJ~H~~M~Q~p8zziU~Jx3Ne[B]H^~~K8~}jCxZstr[{_^~n~T%gp`eZ~bkyyym\~[\(pRWS*NO]lDRo;z~f\ofJ~j]Vn~jmUY~Md]ZTg/~{[IRsO~SL~P~SfJ3fvjjBZS~uxZv~x&ez~tOlCy_Q<j{~=WyY0j~~j9~|;~~^1~K [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1241/ccs/rev np:i:8 rq:f:0.991368
+  Ev_`UWQP~vx>EIjS[;RYshk~r1+V}N~hrWkb2ru}n]kQ{d<nVWnpbAhv_O~yUi7Dy~3mQg=~~x\~prlzVtE~<{jqg_fi~b{hKhIX(lZV\P^QaHg[ScUMI~isog}yDf`&H;wrlmai\X~R~Ow\ymrnZw8turtK`%UG[z|>ze`qanx~~~w|~:~~i\~r.|tY~pd~vY~{nzadywz\rR~~hT~ZhK;l'~~aktWSbxdc~Pknk-~nQ~~gihhDq~@X at bh0hI89\Ty]AdXNRTztft`{qa~?og~~[~knkUn~TiRpS~~lZR[gt~o]egHwb~rl]UeW~nfyldJ~H~~M~Q~p8zziU~Jx3Ne[B]H^~~K8~}jCxZrtr[{_^~n~T%gp`eZ~bkyyym\~[\(pRWS*NO]lDRo;z~f\ofI~j]Vn~jmUY~Md]ZTg/~{[IRsO~SL~P~SfJ3fvjjBZS~uxZv~x&ez~tOlCy_Q<j{~=WyY0j~~j9~|;~~^1~K [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1241/ccs/rev np:i:8 rq:f:0.991361
   AAGCAGTGGTATCAACGCAGAGTACGGGACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAACAGTATACGCAGGTACAGTGATGTGATCCTCTCTACTAGTCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCTACCGTAGAGGGGGGACGGTAGTCTGTGGGAAATCTACCCTAGTGAAGAAAGGTAAGAGAATGTCTGACATTACCTGTAGACGAAGGTACTCTCAGAACAACTACTCTCACATACGGAAAGGTTTGGGTCCTTGGTCAAAGGACTTTACTGACTCTGCAGACGATGAATATCTGAACAACACTACTATCAAAGATGTTCGACTAGACTCTCGTGGTAGGGCCTGGAAGTCAAAGACTTCTCTATGGGGTACTAGGTAGGTAGTTAGAGTACGGTCCCTGGGGT [...]
   +
-  G9.=<YC;dfglZIvCGEsjYfeeZ<~~l&svvsip0~iGFobY`[Wg~s~DdZ~~~M~|>DdIsf]gpf1~~VI|\eQ\SX[`%~~~n~s^w~b[\hAH}Ycmpb)eOS\Hm^dS~{RVevUUyrlB&.E6[Pbmg\lG~9~},mh^M~>h_VEJZ$It~y_MVi(PQih at H@\ci[@Fg^MoJO^ZDXIPcT[w[uxhIeld%J*h|M~iRwJy'XIlxffYVdMKo|[~r~5~~C~~~r~}9~~~z\~te~oA~~`~|N~[DPM~~`fbZ^7TYHz}]~~nh_[ioxNnP~GRiiXyn{IJ~DA~'JU]^Bi]K\d3NYFM8fs`~3~S5>KT8mFUTwZPIho4zn`Cqj_XcT^e7E8;?L]?HcufVWzgZD0jXbo)A~^oFgscOZcgK~~jIgC3eMf`b]^V_)^=>Qa`?~Pu<pwT~K,~d~W^L(ntUsTU|\gM_vj&7FosdN~vW~cBDpxsEH~teCgJRfVrOG~~d8ooq| [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1250/ccs/fwd np:i:5 rq:f:0.991787
+  G9.=<YC;dfglZIvCGEsjYfeeZ<~~l&svvsip/~iGFobY_[Wg~s~DdZ~~~M~|=DdIsf]gpf1~~VI{\eQ\SX[`%~~~n~s^w~b[\hAH}Ycmpb)eOS\Hm^dS~{RVevUTyrlB&.E6[Pbmg\lG~9~},mh^M~>h_VEJZ$It~y_MVi(PQih at H@\ci[@Fg^LoJO^ZDXIPcT[w[uxiIeld%J*h|M~iRwJy'XIlxffYVdMKo|[~r~5~~C~~~r~}:~~~z\~te~oA~~`~|N~[DPM~~`fbZ^7TYHz}]~~nh_[ioxNnP~GRiiXyn{IJ~DA~'JU]^Bi]K\d3NYFM8fs`~3~S5>KU8mFUTwZPIho4zn`Cqj_XcT^e7E8;?L^?HcufVWzgZD0jXbo)A~^oFgsdOZcgK~~jIgC3eMf`b]^V_)^=>Qa`?~Pu<pxT~K,~d~W^L(ntUsTU|\gM_vk&7FosdN~vW~cBDpxsEH~teCgJRfVrOG~~e8ooq| [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1250/ccs/fwd np:i:5 rq:f:0.991797
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAGTTTAAGAGCTTTTTGTTCTGCCAGACCGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  QnSLVS[4fU<[I6G4NHTN<R]UK.ghg[Ee?M8gQ42<@B at KHh1M@[UA\='d=fiUOJGi$fUP\Q6QHPSQ at P0F`igS\MS<ZFe:4JJNI>IMT/C42KV8RBjj\K7hgSV at DNH2^QiLSUZ<ZO8A>H;IdUOg6NLL9J\R>gK\S\I+X<RLPS*hhhbF>WP=NM[?k[8h[=jjhEb)M%NagJ%aMP\>lk\STLPFgiLVS]US[(ggR>jcIi@@AK(hhhXSMhIYB6XURA&RSQiL]OJ\UJ;VHODc/NLMGOWPVCQDJS:-/B at W'FKH\SZ4g[U]GiUS\?jZEI9QF?K?jAeLUS[@[RCNJFL\LS]U]P+P4d\CeUK2cO[L[>D]SULR@[UQhUST/gg7.J1hG]JCGN8dgSZ<T\SUMIIU;SZ2REf0VL?GR6ii[RF+QS at cS@fKS]K9h[GiUGj\UY&K2F8-TKOFJ1WAXS\HgAHRZRJQKR at KSUQ'hhLG at Y<JjSULSUX9im [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1250/ccs/rev np:i:5 rq:f:0.994948
+  QnSLVS[4fU<[I6G4NHTN<R]UK.ghg[Ee?M8gQ42<@B at KHh1M@[UA\='d=fiUOJGi$fUP\Q6QHPSQ at P0F`igS\MS<ZFe:4JJNI>IMT/C42KV8RBjj\K7hgSV at DNH2^QiLSUZ<ZO8A>H;IdUOg6NLL9J\R>gK\S\I+X<RLPS*hhhbF>WP=NM[?k[8h[=jjhEb)M%NagJ%aMP\>lk\STLPFgiLVS]US[(ggR>jcIi@@AK(hhhXSMhIYB6XURA&RSQiL]OJ\UJ;VHODc/NLMGOWPVCQDJS:-/B at W'FKH\SZ4g[U]GiUS\?jZEI9QF?K?jAeLUS[@[RCNJFL\LS]U]P+P4d\CeUK2cO[L[>D]SULR@[UQhUST/gg7.J1hG]JCGN8dgSZ<T\SUMIIU;SZ2REf0VL?GR6ii[RF+QS at cS@fKS]K9h[GiUGj\UY&K2F8-TKOFJ1WAXS\HgAHRZRJQKR at KSUQ'hhLG at Y<JjSULSUX9im [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1250/ccs/rev np:i:5 rq:f:0.994926
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATTGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGAT [...]
   +
-  HfJ=ZKB at X>BP&)eP6;ZL]LV]S3iW?+ at cDJQfJ.:OhU]R>\Al]V]4XK;h>jk\HE0SFgV)T?kJj[@Ae>iiifLVT]IE0e\IgNADSXFT(hhhPLVTLIihQK&ebZSB6e<>jHf96KDJDUO@?PFAdY:3=JSK]/AF)UCBJ at R]VM\QOL*dSWgb>M49[K>6fS:gSAgia?l]L.aNObQxxU\FykK at V^T:WZVPSKgTKHtatTFzyZvTb;[3xvieP+\`\_UNxORh^VLz]KQ`KgU7TB\%_*Sov]OLPJAa6[hU]9EuISXYNhS7FeKg`Cn.KFEaT]RWx^i`P{WqGfU_c^QWYFFv_^U[L*OLPRQsvE{i^QxwJV?FUl?f^S`_ONcH>_.lqiUaPj8uT&tSIzo?^Ti`UiOcZi^U`[xGgIix`^TDxw_?^[xUiOc]OcX?\GGvKGjf2f`faYxVe]Dw\hPiKpF\S_RxKufG5YV[Ui^SPR(nZ^^gFN7eUgGSi_ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs/fwd np:i:10 rq:f:0.997714
+  GfJ=ZKB at X>BP&)eP6;ZL]LV]S3iW?+?cDJPfJ-9OgU\R>\Al]V]4XK:g=jk\HE0RFgV)T?kJj[@Ae=iiifLVS\IE0e\IgMACSXFT(hhhPLVSLIihQK&ebZSB6e<>jHe96KDJDTO@?OFAdY:3=JSK\/AF)UCBJ?R\UM[QNL*cSWgb>M39ZK>6fS:gSAgia?k]K.`NObQwxU\FykK at U^T:WZUPSKgTKHt`tTFzyZvTb;[3xvieP+\_\_TMxORh]ULz\JP`KgT7TB\%_*Sov\NLPJAa5[hU\9EuISXXMhS7FeJg`Cn.KEEaT]RWw]i`P{WqFfT_c^QWYFFv_]TZL*OLPRQsvE{h]QxvJV?FUl?f]S`_ONcH>_.lqhTaPj8uT&tSHzo?^Ti`TiObYi]T`ZxGgIix`]TDxw_?^[xTiOb]ObX?\FFvKGjf1f_faYxUe\Dv\gPiKoF\S_RwKtfG4YU[Ti]SPR(nZ^]gFN7eTgGRi_ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs/fwd np:i:10 rq:f:0.997708
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGCTAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGT [...]
   +
-  N~e_zd~D~~j~JT~`r\zwituUL%~~~~~~~~~~~~~}{|~~~~~~~}|\R^y[puB~v]J~~_tzMw~`~xv_^o*^`NywsxNt~`t~v~cx\~]x~`whk[d~gI~he^~~`~T~[~gxxxwM~x~iP~lao-~b}^uV~~U~_~sxO~xbh~w:~w]Zt]~ZQz|\xL~y~M~?_iKuu~_YlMx:~e~tq]~d~O~~M~t~Q~~B~~~xvjw~zm_smAfX}zw_s}xfB~|L~ywH~pMc~}J~U~_aNQ~~uP~|iH\~hs@~m~nz`Sg[g<uc~J*~ke~tZ~`e~g~savQ~|r~V~}uDattax~A]C~\vR~~rD~*~vW~\~<~~`s~B~~<~_~~m~aY~W~~Mu~R~aQ`~Ya~Mu|w~@~e~~`X~yx|_{q~b~hvys,~~IvM~Xz7~tdu~e~c~~zwSq@~~~\yt[Tsb3k~]Md/poscU~~c\,~tUKT`^L~uL^|i~utI~~~~Vkx<~bK~~^|fJx~t~Go [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs/rev np:i:9 rq:f:0.997545
+  N~e_zd~D~~j~JT~`r\zwituUL%~~~~~~~~~~~~~}{|~~~~~~~}|\R^y[puB~v]J~~_tzMw~`~xv_^o*^`NywsxNt~`t~v~cx[~]x~`whk[d~gI~he^~~`~T~[~gxxxwM~x~iP~lao-~b}^uV~~U~_~sxO~xbh~w:~w]Zt]~ZQz|\xL~y~M~?_iKuu~_YlMx:~e~tp]~d~O~~M~t~Q~~B~~~xvjw~zm_smAfX}zw_s}xfB~|L~ywH~pMc~}J~U~_aNQ~~uP~|iH\~hs@~m~ny`Sg[g<uc~J*~ke~tZ~`e~g~savQ~|r~V~}uDattax~A]C~\vR~~rD~*~vW~\~<~~_s~B~~<~_~~m~aY~W~~Mu~R~aQ`~Xa~Mu|w~@~e~~_X~yx|_{q~b~hvys,~~IvM~Xz7~tdu~e~c~~zwSq@~~~\yt[Tsb3k~]Md/poscU~~c\,~tUKT`^L~uL^|i~utI~~~~Vkx<~bK~~^|fJx~t~Go [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1334/ccs/rev np:i:9 rq:f:0.997544
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTATAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTG [...]
   +
-  _~`ugXp7~yrybr~]LsrGo]d~t%~{~~~~~~~iUIEIYmy~~~~{z|~~yssgDrVZ~x~i_T~}uy~a[e2m]0nI~N~vv~|>|vPfuZ?aq}~}~}T~~g~u~q~~I~~Rjp|~~~~D~tc~h~|zCn~'~@}[~b~~w>~~W~E~peZ~~|V~NDu|yadyk~~~~~~g~b~~~V~~L~~~~m~|sa~V~Y_F~X~>~i~~QoD~c,~~~~[b=W~X~h~`~f~~^|}~g~D~mN~~~G~~j]~~C~[~nWpm~iKGnzSS~_jgg~3|~hyOyh~jeRovF~~c~e~~~7~v~ojdY~{M~ux~B~~d~~Oky}}~ma;{~}d~{~dk~}qg~ny:~b~~c~M~~a~~?~`~~E~~o~xkrqkn~|u~gsg~6~}~c~~i~~~`~H~iS|RS~~m~g~;~H~~N\~z~@~~~Rh~H~~~~~d~~~dS~~~~?~~~j<~n\~Y~~z_y~eY~~j3~gp~e5~~~~j~QV~~h~s~~g~~~VoW [...]
+  _~`ugXp7~yrybr~]LsrGo]d~t%~{~~~~~~~iUIEIYmy~~~~{z|~~yssgDrVZ~x~i_T~}uy~a[e2m]0nI~N~vv~|>|vPfuZ?aq}~}~}T~~g~u~q~~I~~Rjp|~~~~D~tc~h~|zCn~'~@}[~b~~w>~~W~E~peZ~~|V~NDu|yadyk~~~~~~g~b~~~V~~L~~~~m~|sa~V~Y_F~X~>~i~~QoD~c,~~~~[b=W~X~h~`~f~~^|}~g~D~mN~~~G~~j]~~C~[~nWpm~iKGnzSS~_jgg~3|~hyOyh~jeRovF~~c~e~~~7~v~ojdY~{M~ux~B~~d~~Oky}}~ma;{~}d~{~dk~}qg~ny:~b~~c~M~~a~~?~`~~E~~o~xkrqkn~|u~gsg~6~}~c~~i~~~`~H~iS{RS~~m~g~;~H~~N\~z~@~~~Rh~H~~~~~d~~~dS~~~~?~~~j<~n\~Y~~z_y~eY~~j3~gp~e5~~~~j~QV~~h~s~~g~~~VoW [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1378/ccs/fwd np:i:5 rq:f:0.996097
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATGTT [...]
   +
   UtXJ*VbLub\Z9<oQBS\Y\VGZS1rsr`Y^/ISo\`6sV>]ANSS1jbGq@\;IqT\`8qWGWTX=n>W\T\=vlTX9tfa\_FTW;*l`SQb\_3rGX(R\_\EZWFurSEXTKX_LkArA^EXKXLu`EXQ/]E`T\bYFhEZT1V-qqZT`@O==pSV[STWCW at ttZV-rWDiT[TX=srX_ at D^A`Y\:vkTa5sspNTa[Fb'nn`Gyb)ssZTVtWE;.%P_mXWIWp\T\LfBSXAOKOKIMP\X at rDYHp\T*5nRM:b<o@`YbYTr>VFSbYbTAsR4,VlUsT^Y`At5HYbTW,oEgEXb\TLubNuWZ2uB6=pRE`Y0wdYGZa at qYbTYNqBRF>hmTFuubKtDrS\bFx\Y_3HIN>VLM[bY_&o_ZY\T\Y`+kflJPFjFK~>~~~dF~~b4~cf_eTbmRcoT~L~co_mR]/~~~k^h`~dX~dh_dk,~c8^kZG~\M[TelMV~^b8~fcJ~IOWP^4{ocK~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1378/ccs/rev np:i:5 rq:f:0.994102
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1378/ccs/rev np:i:5 rq:f:0.994149
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTTAAACTAAAACATACAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGGTTCATCCAGTTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATGT [...]
   +
-  WuS at D8A1RFATWBc:PU_TLQAFB7i]iFLTW8xpO0GqS at D[XQBAZGDlSYTIuV^E6ZW0=JTHtXUUW[+gKS<t\C,P^LULEm7RWUFWHsLmBt_AAEqT<toXaT<QmFTt?kT\bTIfD[G`TYb[UDX\CRFoRDNXTFuubYVRV>?jSB at PYTbTFuubTMuTKulE^>ErnO+Qb\T\T*@;ssWF8iulYb\]&<mI/@8D)prrW=rSX*\;euvuaDiTaWF+nQU(ZA_T_XaYbT=q^1Fe_>ZGvb\GwVuT\SFR=pV>_Y\T+^W?m9]2qqNuY\`FLsZGQ\YS1pFcGQ\aRBoFUtPX=[\A at rXbYTCwvbSPZG\>IJ>ToTYb;vcN;Vo[/dK:cU`D7p`R)eWTbYTbW:SSSVBKE]9DA_TIXb\T\TZV,h1Zso`;wiTQWSFXbY=C`KGBN1T>5K6]A2svviX`=@+?kSTYT\HwbHgFU*pVTKQ^YUPrQ=?q^S+A>MSbYVu\T) [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1407/ccs/fwd np:i:5 rq:f:0.987528
-  AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGGAAACATTAAATCAAAGAAGTTTATCAACCAATTAGTACAGTGGCATGTTAAGTAAAACAGAAAGAACGCCAAGTGGCAACAAATGACGTAATTATTTAAGCAAAAAGCGTAAACGCTTACAAAGGCCTATTTAAATATCAGTAAATCGTTGGAAATTGGGGTATGTGCTGCCTTCATACGCAAAAATGGATGCGACAGAAACGAGTTGTATGGCCTCCCACTACGCTCGCCTGCCGCGGACCCTAAAACGACAGTCGTTTGCCCAACTACGGCTACCGGCATCGCTCAGAACTTCGGGTCTTGGCCCACCTTTCTGACGCCTAGTCAACGTGCGTCGCCTCAAGTCCTTGGACAAAAAGAAGAAATATCAATTGCAAAAATAACTATAGGTACTTCTTTGAA [...]
+  WuS at D8A1RFAUWCc:PU_TLQAFB7i]jFLTW8xpO0GqSAD[XQBAZGDlSYUIuV^E6ZW0=JTHtXUUW[+gKS<t\C,P^LULEm7RWUFWHtLmBt_AAEqT<uoXaT<QmFUu?kT\bTIfD[G`TYb[UDX\CRFoRDNXTFuubYWRV>?jSB at PYTbTFuubTMuUKumF^>ErnO+Qb\T\T*A;ssWF8iumYb\]&<mJ/@8D)qrrW=rSX*];fuvubDjTaWF,nQU)ZA_T_XaYbT=r^1Fe_>ZGvb\GwVuT\SFR=pV>_Y\T+^W?m9]2qqNuY\`FLsZGQ\YS1pFcGQ\aRBoFUtPX=[\A at rXbYTCwvbTPZG\>IK>ToTYb;vcN;Vo[/dK:cV`D7p`R)eXTbYTbW:SSSVBKE]9DA_TIXb\T\UZV,i2Zso`;wjTQWSFXbY>C`KGBN1T>5K6]A2svviX`=@+ at lSTYT\HwbHhFU*pVTKQ^YUQrQ=?q^S+A>MSbYVu\T) [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1407/ccs/fwd np:i:5 rq:f:0.986358
+  AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGGAAACATTAAATCAAAGAAGTTTATCAACCAATTAGTACAGTGGCATGTTAAGTAAAACAGAAAGAACGCCAAGTGGCAACAAATGACGTAATTATTTAAGCAAAAAGCGTAAACGCTTACAAAGGCCTATTTAAATATCAGTAAATCGTTGGAAATTGGGGTATGTGCTGCCTTCATACGCAAAAATGGATGCGACAGAAACGAGTTGTATGGCCTCCCACTACGCTCGCCTGCCGCGGACCCTAAAACGACAGTCGTTTGCCCAACTACGGCTACCGGCATCGCTCAGAACTTCGGGTCTTGGCCCACCTTTCTGACGCCTAGTCAACGTGCGTCGCCTCAAGTCCTTGGACAAAAAGAAGAAATATCAATTGCAAAAATAACTATAGGTACTTCTTTGAA [...]
   +
-  QlRNXNPFlV+T8<g<QNYRZQYYN5MbeLRYRNXCL;jXXR4cNMVXO([O3hSJFnYNMlRYFmYNRN5kkhRYL;4bNUMR0M5V.RQLCLk7iiXM*hgQIP<Dj[.VL6L at i8fIiYRYUJW<WFkNT'9Kg:g;V'hhgMPH<`RL at U8Q@j;iRYD[5LhM7OcXRYMNMJNJeC6^hJNRK6MFOaP7IKCkM%K9LiTF.eI=P0^N->j]=LQOGQ:>OQEikYNRMl5J6LX1O$ff??AU<U<LVN(35\I+CWDH70ZhigU-CG<P69BIN,AiU/2A?;TQRDV3H7OT&???5I;4L/;7<BXW==^KEBJ<(OGH$?I59;6$K;F.M?^hQ'ILCG.S?95G8=.$ABOL>EHLJMLCQJhHMgN?mmSNIO3e9eMQ(R-GNGBK;D0=dM<H<9BSIRW<MQAMR;JM9-LRY%:=fFkTI(g\QRKEQM8TTYSXN:]8ZN61gkjeW?K<WDYYG]SFN=jM:hkR>h [...]
+  QlRNXNPFlV+T8<g<QNYRZQYYN5MbeLRYRNXCL;jXXR4cNMVXO([O3hSJFnYNMlRYFmYNRN5kkhRYL;4bNUMR0M5V.RQLCLk7iiXM*hgQIP<Dj[.VL6L at i8fIiYRYUJW<WFkNT'9Kg:g;V'hhgMPH<`RL at U8Q@j;iRYD[5LhM7OcXRYMNMJNJeC6^hJNRK6MFOaP7IKCkM%K9LiTF.eI=P0^N->j]=LQOGQ:>OQEikYNRMl5J6LX1O$ff??AU<U<LVN(35\I+CWDH70ZhigU-CG<P69BIN,AiU/2A?;TQRDV3H7OT&???5I;4L/;7<BXW==^KEBJ<(OGH$?I59;6$K;F.M?^hQ'ILCG.S?95G8=.$ABOL>EHLJMLCQJhHMgN?mmSNIO3e9eMQ(R-GNGBK;D0=dM<H<9BSIRW<MQAMR;JM9-LRY%:=fFkTI(g\QRKEQL7TTXSWM9\7YM50fjjdV>J;VCXYF\SEM<iM9hjQ=g [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1407/ccs/rev np:i:4 rq:f:0.990503
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGGAAACATTAAATCAAAGAAGTTTATCAACCAATTAGTACAGTGGCATGTTAAGTAAAACAGAAAGAACGCCAAGTGGCAACAAATGACGTAATTATTTAAGCAAAAAGCGTAAACGCTTACAAAGGCTATTTAAATATCAGTAAATCGTTGGAAATTGGGTATGTGCTGCCTTCATACGCAAAAATGGATGCGACAGAAACGAGTTGTATGGCCTCCACTACGCTCGCCTGCCGCGGACCCTAAACGACAGTCGTTTGCCCAACTACGGCTACGGCATCGCTCAGAACTTCGGGTCTTGGCCCACCTTTCTGACGCCTAGTCAACGTGCGTCGCCTCAGTCTTGGACAAAAAGAAGAAATATCAATTTGCAAAAATAACTATAGGTACTTCTTTGAAGAAACC [...]
   +
@@ -297,111 +290,111 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1426/ccs/fwd np:i:6 rq:f:0.994023
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATTGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTATCGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCA [...]
   +
-  I~dFW_eQgTVlZL~XcWX`fKah\(~iNJaZk2fj~i at MhXV~TWH_;Rd5lJa at QBm\9G&NEDLlJX(SPH~~nYP6~TTFewU[]~EN_QbTjGSUb[fBhJ2}dNzS~gW4jdTeMI~mlaYen>]F:LdJLm`UWhR~TY3~~NmgMQP(F_coeYOgHndhDc>1W'MQb'eQfROQb>bEYzLk[^B_h\~OZ;~~s[fl\jS%O[`BR<?/HdYA~bcRGdZM[,W.B+)JMCS>cVQ at eZkP^kfHD~jnBlM{>WfWPfMofcWOXVEGicWY@\<T`Av~nbXR~eR~W<c_(QMSZN~c)~fPY+a?ojUb7WsP~ncwdylIu[W[H`saa[VM~co^P~W]Krx\F~rxlXUX{~b-NYawclpC~^oV`v[sDZagnm@~Z^B~5ohcuI~Y,\D~QpZG~JxYCg_pUO\vMl>XVKZH=N~w<~~a;wW[@i at PM=[S~T2<S~~Xf]<GNy_H^~Z~a|2gn0^~Ud~mc` [...]
+  I~dFW_eQgTVlZL~XcWX`fKah\(~iNJaZk2fj~i at MhXV~TWH_;Rd5lJa at QBm\9G&NEDLlJX(SPH~~nYP6~TTFewU[]~EN_QbTjGSUb[fBhJ2}dNzS~gW4jdTeMI~mlaYen>]F:LdJLm`UWhR~TY3~~NmgMQP(F_coeYOgHndhDc>1W'MQb'eQfROQb>bEYzLk[^B_h\~OZ;~~s[fl\jS%O[`BR<?/HdYA~bcRGdZM[,W.B+)JMCS>cVQ at eZkP^kfHD~jnBlM{>WfWPfMofcWOXVEGicWY@\<T`Av~nbXR~eR~W<c_(QMSZN~c)~fPY+a?ojUb7WsP~ncwdylIu[W[H`saa[VM~co^P~W]Krx\F~rxlXUX{~b-NYawclpC~^oV`v[sDZagnm@~Z^B~5ohcuI~Y,\D~QpZG~JxYCg_pUO\vMl>XVKZH=N~w<~~a;wW[@i at PM=[S~T2<S~~Xf]<GNy_H^~Z~a|2gn0^~Ud~mc` [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1426/ccs/rev np:i:7 rq:f:0.993881
   AAGCAGTTGGTATCAACGCCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATTACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGATAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCA [...]
   +
-  37K*FK%27<N>MY0sZQ*ZR>FFJc\/|tZ=/@m-s;4Wb[ma7~U~ThH~hQ~TQ^S3^bY5/kQTfUkZKP+^mmaPPoU]3MwleL~T~ZcWc\It~[fZM~YDHCMO at qhc.eYQYVBb^`AFSe8l]P?L at JeZd>oG~XFFk~?|bUTK<hf$9A'Uf\mffS7bFR~~V~iWDnroH~cZ^|eKp1idEC~eWnWLH~~nb[lNVk.]TdWacK[3TjTR~~FkeWP*eLcTa8@~fahn[b)GS`e at U;:EQ~PRS~T~h`Q*sEEm~m[BNgbW}\ia4lgc1EngNZfI~kLwPkmmTT:KWx<9z?I~aR at y~dXkGkIzZWlfk2R~lOkd8G5dHNuiUPXmFkG~`L=]mUkj/IQxVd[fojDe0~Nu_LeZTbgcUXZ1f\b@?'dMNcK~`Qb(VWcIqQghH~hnJQLy@\WcXOidZ8wh:nzf_~f[lXh[gm[?uWHGP~mFRUJrM}bV[x%yU]_VlN8~XEyAMI [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1446/ccs/fwd np:i:7 rq:f:0.992319
+  37K*FK%27<N>MY0sZQ*ZR>FFJc\/|tZ=/@m-s;4Wb[ma7~U~ThH~hQ~TQ^S3^bY5/kQTfUkZKP+^mmaPPoU]3MwleL~T~ZcWc\It~[fZM~YDHCMO at qhc.eYQYVBb^`AFSe8l]P?L at JeZd>oG~XFFk~?|bUTK<hf$9A'Uf\mffS7bFR~~V~iWDnroH~cZ^|eKp1idEC~eWnWLH~~nb[lNVk.]TdWacK[3TjTR~~FkeWP*eLcTa8@~fahn[b)GS`e at U;:EQ~PRS~T~h`Q*sEEm~m[BNgbW}\ia4lgc1EngNZfI~kLwPkmmTT:KWx<9z?I~aR at y~dXkGkIzZWlfk2R~lOkd8G5dHNuiUPXmFkG~`L=]mUkj/IQxVd[fojDe0~Nu_LeZTbgcUXZ1f\b@?'dMNcK~`Qb(VWcIqQghH~hnJQLy@\WcXOidZ8wh:nzf_~f[lXh[gm[?uWHGP~mFRUJrM}bV[x%yU]_VlN8~XEyAMI [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1446/ccs/fwd np:i:7 rq:f:0.992312
   AAGCAGTGGTATCAACGCAGAGTACGGGGCCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAACCAACCGAAAGAAGGAACGATCAACACTTATATAGTGTCCTGTCGGCCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  f{`Xnb`7SNehD8xXXNQNcJf.?6ipo(YHf_]'^YS4f`fTbVJeDq6bkB^hkZG/\KDPWQ%SZL;f:`KjQH?OI7NZYZd at BYREO5Z]F=jkZf5W`RaUGMLbGMlR_gFVmckaKCWLZfHhR]eBIW?~lEM^K/JKW0RP\M<>bSEd-UUBaFIjKpVZSN_QbC^K,eKmfX'@`MJMCVmR7Q_[MMWJU<B`RL=\\\IroH_P at hM[aKYGFUlOdD1DnXVkP)kUPRXSIrfW^3EoDbh^SIQ/1;6J*N?VV=X=OO&OT/[^FO72L;fB`%PN?h_R&DCD$OMOG^H5TAWUGf=LAJ]\_O`9i\>:M+`(Ub0,YUB?idVj_h_R9_L]BIe at bsd-YL5PJ~n]bjVb at X`Qd](jOaJ~bedjnIxRiN5@'hhhskSQeCJhSUSbg1ypfQ~RVeS+vMErYK0cihK~dUJQWfIk9njhoYi]Rb8hZcZnR~knYX_/ObXUceMjSG~iXRUdVV [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1446/ccs/rev np:i:6 rq:f:0.985458
+  f{`Xnb`7SNehD8xXXNQNcJf.?6ipo(YHf_]'^YS4f`fTbVJeDq6bkB^hkZG/\KDPWQ%SZL;f:`KjQH?OI7NZYZd at BYREO5Z]F=jkZf5W`RaUGMLbGMlR_gFVmckaKCWLZfHhR]eBIW?~lEM^K/JKW0RP\M<>bSEd-UUBaFIjKpVZSN_QbC^K,eKmfX'@`MJMCVmR7Q_[MMWJU<B`RL=\\\IroH_P at hM[aKYGFUlOdD1DnXVkP)kUPRXSIrfW^3EoDbh^SIQ/1;6I*N?VV=X=OO&OT/[^FO72L;fB`%PN?h_R&DCD$OMOG^H5TAWUGf=LAJ]\_O`9i\>:M+`(Ub0,YUB?idVj_h_R9_L]BIe at bsd-YL5PJ~n]bjVb at X`Qd](jOaJ~bedjnIxRiN5@'hhhskSQeCJhSUSbg1ypfQ~RVeS+vMErYK0cihK~dUJQWfIk9njhoYi]Rb8hZcZnR~knYX_/ObXUceMjSG~iXRUdVV [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1446/ccs/rev np:i:6 rq:f:0.985367
   AAGGTGGTATCAACGCAGAGTACGGGGCTGTCCGCGAGTGTCAACCGGGTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAAACAGCCTTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACT [...]
   +
-  :/)/.-iEFISAqOMLF7(/IOF*Qg]F%>E0[CBC1>F@=B+V+K*a2)iTW[HulCc_RRuDFW9mB]E^_S[AbNH0^.wUK.L;ZnX:urY[2Q]pm_NAQZ.AN2N]@<mYIC[RG-PaY\VNIHB>&VFN?\N\S\b%skZm`BnX at sYQu[\RP]6p`A5GFAvYQD>f=s^FT1KJ.?T.:T;uvi]>_ZaYaN@^X<%Z:la[<W at q\KVFV2e:ROD87BJXRpR/tE<7V<8pMXM^MpE_mRVDC8LKDKO_7hU/HD<B5p]:c\CAJFlp>gNXUMETcQ=pkEpCoEVN>EM?sZC5>m>XHM^N[PMMxa=aZ$nZ7<`W:saI/IJ(Y:A:8:mM;[@t4`m_LfIXHC]WQ_`YM$[TJUW=In$H-2XPN^c_DcOcQHP8uuuq^VLW[R`cYILcIut^8y^P_1>e[R\Ra0lnaKiKB]^VdI_0jgUd at OK4PMTNC=H4hJX6RLXA-W7AL;]WKrbW\@NUZc [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs/fwd np:i:5 rq:f:0.990199
+  :/)/.-iEFISAqOMLF7(/IOF*Qg]F%>E0[CBC1>F@=B+V+K*a2)iTW[HulCc_RRuDFW9mB]E^_R[AbNH0^.wUK.L;ZnX:urY[2Q]pm_NAQZ.AN2N]@;mYIC[RG-PaY\VNIHB>&VFN?\N\S\b%skZm`BnX at sYQu[\RP]6p`A5GFAvYQD>f=s^FT1KJ.?T.:T;uvi\>_ZaYaN@^X<%Z:laZ<W at q\KVFV2e:ROD87BJXRpR/tE<7V<8pMXM^MpE_mRVDC8LKDKO_7hU/HD<B5p]:c\CAJFlp>gNXULETcQ=pkEpCoEVN>EM?sZC5>m>XHM^N[PMMxa=aZ$nZ7<`W:saI/IJ(Y:A:8:mM;[@t4_m_LfIXHC]WQ_`YM$[TJUW=In$H-2XPN^c_DcOcQHP8uuuq^VLV[R`cYILcIut^8y^P_1>e[R\Ra0lnaKiKB]^VdI_0jgUd at OK4PMTNC=H4hJX6RLXA-W7AL;]WKrbW\@NUZc [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs/fwd np:i:5 rq:f:0.991288
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTGCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTTCCCGGTCTACTATCCATCGTTCATGTTCCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCCCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACAATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGTTT [...]
   +
-  TqXMYXa:m_C\K;eNXLCWYSKYM$hiiiiiihg^UQPTV[ZVYbhheUHIL_;F81bSCQRGjV8LbMY>d,JcWCIeJLbCtWCLXbKlYLC at ocYXb4t\JlCLcJS?oG<Z5j]KIN at lXH_5nZQkMBNM@`XK,H;jcL.I at DP9=XH%SQSW]MXWlKk^4(W>9b[GjaN`JJaYT?pW[JXUj6A[JUf&97_F*al_YMBlWBjX>XWlL9a6Ga5Jhe>K4UhWL=j_SFDVS?3dLaC?iW6F2V>IR(jjjWB^@`EmmbYSBMT3;[<XHC'Q('7A\.XXM\OMcMa8UMMkMllMmW4[MXcMXcMXCtVlM&hjgXWVKDF(5O3.FXbVHE5W\CBnVjSRYTJXRgJ.W6bkW`C;)-]RB;6:PM6eQMSM,YVXbYMllXY5m_8QLcMcM`ALBn]JcMcMa5CXXY`@JA_MmXMYL;TiKCWb:HhKMW9iMjlYMHobJlHIMMllMXJ.KW9DWLXLCLXHJL [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs/rev np:i:4 rq:f:0.989633
+  TqXMYXa:m_C\K;eNXLCWYSKYM$hiiiiiihg^UQPTV[ZVYbhheUHIL_;F81bSCQRGjV8LbMY>d,JcWCIeJLbCtWCLXbKlYLC at ocYXb4t\JlCLcJS?oG<Z5j]KIN at lXH_5nZQkMBNM@`XK,H;jcL.I at DP9=XH%SQSW]MXWlKk^4(W>9b[GjaN`JJaYT?pW[JXUj6A[JUf&97_F*al_YMBlWBjX>XWlL9a6Ga5Jhe>K4UhWL=j_SFDVS?3dLaC?iW6F2V>IR(jjjWB^@`EmmbYSBMT3;[<XHC'Q('7A\.XXM\OMcMa8UMMkMllMmW4[MXcMXcMXCtVlM&hjgXWVKDF(5O3.FXbVHE5W\CBnVjSRYTJXRgJ.W6bkW`C;)-]RB;6:PM6eQMSM,YVXbYMllXY5m_8QLcMcM`ALBn]JcMcMa5CXXY`@JA_MmXMYL;TiKCWb:HhKMW9iMjlYMHobJlHIMMllMXJ.KW9DWLXLCLXHJL [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1448/ccs/rev np:i:4 rq:f:0.990433
   AGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTGCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGGCTCTCTGCAATCTCTCTCAAGATGCCGTAAGCACTTTCAGTAGGACGAATTTACGGTTGGTAATTTCGCACACTTCGCACGTT [...]
   +
-  +/-:C9?hWHVV,h>J@[J-5 at JG$=63 at FLVZ\b^SMIJR[YYahhKI<?F at GVYcXMb7YbXLDEN?PHEK at V8ZUVCGZ8`XcU>QbXcHcAFKYBncBscXYXcKgJ?jJlAFTGEM$E>X<NG4N>A8?=73,=G<`iX<j=JCaMYM(jjjjj]WK'd>cCS%&0fk?pSXSZIVTSGOaSR7KjVbXLAU,\N&JNK\XGiL<ka2D8jVBjC5>.dhh`XFgE8VVkCJP at Z>H1n^SC_'NI;DFb6*;7TW`LCjLC*llV^KMWK-.gFiCY6cA+Q<TTIPe at AF5-?PRkXRh>TMJhFGFVLCUD6VJFZ<kW2kllk`C`XSPR=TiV7-49M$GSVHHV3)Y5NF;(&9W7hLlkNWLDDB\VWKGKa-TPXYXVjTF>U&MdKcKlR$R at BNOAVTGQ,QWWYVOHUXVlN`cB$QUP\hWcj[F||cmT6i3hk]?8V<yzj1Bo$6Erca{@{{bT4iF\_QrH(YYcVL| [...]
+  ,0.:C9 at hWHWW-i>KA[K.6AKH$=64AGMVZ\b^TMJKR[ZZbhhLI<@GAHVZcYNc7ZcYLDFO?PIFK at W9[VWCHZ8aYcU?RcYcHcAGKZCocCtcYZYcKhJ?jJlAFTHEN%F?X=NH5O?B9@=83,>H=aiX=k=KDaNZM(kkkkk]XL'e>dDT%'1fl?qTYS[JWTTGOaTR8LjWcXMAU-\N&JNK]YHjM=lb3E8jWBjD5>/ehhaYGhF8WVlCJQ@[?I1n_SC`'OJ<DGc7*;8UWaMCkMC+llW_LMXL./hFjCZ7cA,R=TTJPeAAF6- at PSlYSi>UMKhFGFWMDVE7VKF[<kW3llll`CaXSQS=UiW8-5:M$GTWHHW3)Z6NG<(':X8iLllNWLEEB\VXKGLa-UQXZYVjTG?V&NeLcLmR%R at BOPBWTHQ,RXXZVPHVYVlO`cB%RVP]hWcj[F|}dnU7j4hk^@9W=y{k1Cp%6Frda{A||bT5jG]_QsH)YYdVM} [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1454/ccs/fwd np:i:10 rq:f:0.997969
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACC [...]
   +
-  }~bO~exL~t~\]W~cccdbgHVlo<tfxwT~a_J~Pa_~dc*yvbu~Z~B~L-zc`m`F~vL~]e`pxb~G~J~^dr^yc]Orb`B~~ceX4w~uN~~h{*uv{~~b~bKp9~{Y{fb~x{XbeuS~v]u_Tw~qsGpp~O~S|crdE~~vsTW]qV~uV~v~RWnBP\dY\~/~``aV~M~aysxudSgla~~B~~}t`u`yn~ew~vU`x3}`]Km-lzaoR_M~D~f~[~h~w]~f7~vbOldP~wqN~]~L~~a{qgevqvqZbsf|N~be_~yD~_~~dk~yuP~Cx~xxP~uV8^]`f~O]r^~Nh~~sL~maxRX~`~txcactsf~PQb;Sv~bMUg;ES~yrxL~\@w~tcrxnbcA~dsPpc~\oYc~>a~K~R~|pbaww~d\Hr^ia{Hp~W~Wnv~bo~sKcl?s~ed~_r[~d`~a{cOM~x`qYs}gp}/{ruoa_v`C~~hdgT~dg=~~~A~b=LbY<Ql|1~~tygP~~[^ [...]
+  }~bO~exL~t~\]W~cccdbgHVlo<tfxwT~a_J~Pa_~dc*yvbu~Z~B~L-zc`m`F~vL~]e`pxb~G~J~^dr^yc]Orb`B~~ceX4w~uN~~h{*uv{~~b~bKp9~{Y{fb~x{XbeuS~v]u_Tw~qsGpp~O~S|crdE~~vsTW]qV~uV~v~RWnBP\dY\~/~``aV~M~aysxudSgla~~B~~}t`u`yn~ew~vU`x3}`]Km-lzaoR_M~D~f~[~h~w]~f7~vbOldP~wqN~]~L~~a{qgevqvqZbsf|N~be_~yD~_~~dk~yuP~Cx~xxP~uV8^]`f~O]r^~Nh~~sL~maxRX~`~txcactsf~PQb;Sv~bMUg;ES~yrxL~\@w~tcrxnbcA~dsPpc~\oYc~>a~K~R~|pbaww~d\Hr^ia{Hp~W~Wnv~bo~sKcl?s~ed~_r[~d`~a{cOM~x`qYs}gp}/{ruoa_v`C~~hdgT~dg=~~~A~b=LbY<Ql|1~~tygP~~[^ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1454/ccs/rev np:i:9 rq:f:0.997749
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACC [...]
   +
-  @~d.O]cR~s`dgb~gweZhcYckaGz~~hu~m5L~[QV]_u>BWb~S~F{~S~~~tf9~[F~b]a~hV~@~`~blVYsWy]qquM{{au_H~sbP~~^q8~~~ybta`wRTzu;oN`~~togl~K}zcyb_k\P]X~~^P~Azluy4~~~~yas?<gPH3Vr\f~Q~uFFUK&waYP?~/}~bba~we[daje>~~~v`~`ycQsSvguyeR~~dZb:~[jaoz%~NY~roOzQ~QT}c<nuu~awQ~~dwpP~DsuYOOOsS~vRB~~uN]~|x6pnU`asbtEzNqOnG}~|wQ~uSszQ~VxeU~h~bF~pV\~yTspe~Rt~bw~qa^dowtsdZt{bzApYcaHdkT<|tC~r~a~f~Ssi~oi<w^scRtuzrDc\~h~xc~e}dyacH~~eq~G~{@ob`>]Mcxf|pwrRpmdw~qbsOA~~]ow]~bQssygbD~]~fcHrUt~[tpr^IH~_P;~~qKlXdrvyd\~yQ~xds]G~~H~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1470/ccs/fwd np:i:8 rq:f:0.999267
+  @~d.O]cR~s`dgb~gweZhcYckaGz~~hu~m5L~[QV]_u>BWb~S~F{~S~~~tf9~[F~b]a~hV~@~`~blVYsWy]qquM{{au_H~sbP~~^q8~~~ybta`wRTzu;oN`~~togl~K}zcyb_k\P]X~~^P~Azluy4~~~~yas?<gPH3Vr\f~Q~uFFUK&waYP?~/}~bba~we[daje>~~~v`~`ycQsSvguyeR~~dZb:~[jaoz%~NY~roOzQ~QT}c<nuu~awQ~~dwpP~DsuYOOOsS~vRB~~uN]~|x6pnU`asbtEzNqOnG}~|wQ~uSszQ~VxeU~h~bF~pV\~yTspe~Rt~bw~qa^dowtsdZt{bzApYcaHdkT<|tC~r~a~f~Ssi~oi<w^scRtuzrDc\~h~xc~e}dyacH~~eq~G~{@ob`>]Mcxf|pwrRpmdw~qbsOA~~]ow]~bQssygbD~]~fcHrUt~[tpr^IH~_P;~~qKlXdrvyd\~yQ~xds]G~~H~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1470/ccs/fwd np:i:8 rq:f:0.998974
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACG [...]
   +
-  f~kz~wrP~s[ucf~{hd~xHy~~z%~~~~~~~~~~~~~~~~~~~~~~~~~~VOukp~S]~~_vFf~sdz~|~a~Gu~|~e~~cqc~|~|~~h~wbvb~~~}~K~~e~~O~x~Q~{q~Q~~~|~buxf~T~~x~zu|~|~zP~xD~~{h~~|~uy~z:~~~~~{{f~d~oMt~S~~R~~e~ui~~~S~~~vyr~x~~xt~bc~s8~~~sdd~{b~~Q~c~y(~lvn~H~~~~i/~~yw_~~yOt~|~K~~o~WQ~~dtb~ez|V~~~zP~{~P~~o~y\pyqa~g~~~`~q+~~s~H~~{~|v~|~ClRT{L~~M~zw~{|~ez~||d~u~eB~~~z]p~~a]y~d~ux~f~~S~~~g~v~uzu||zR~sc{9~~u~2wt~qqoyu{~-~meynA~~zqsW~~{ub~~U~y~yl]vtKN~~z~{~e~x>~yrqxcc~B~g{~yO~~e~|~~E~~t{zN~g~~~dR~~@~mc~h~~cdxtxusu~{{|~x{ [...]
+  f~kz~wrP~s[ucf~{hd~xHy~~z%~~~~~~~~~~~~~~~~~~~~~~~~~~VOukp~S]~~_vFf~sdz~|~a~Gu~|~e~~cqc~|~|~~h~wbvb~~~}~K~~e~~O~x~Q~{q~Q~~~|~buxf~T~~x~zu|~|~zP~xD~~{h~~|~uy~z:~~~~~{{f~d~oMt~S~~R~~e~ui~~~S~~~vyr~x~~xt~bc~s9~~~sdd~{b~~Q~c~y(~mvn~H~~~~i/~~yw_~~yOt~|~K~~o~WQ~~dtb~ez|V~~~zQ~{~P~~o~y\pyqa~g~~~`~q+~~s~H~~{~|v~|~ClRT{L~~M~zw~||~ez~||d~u~eB~~~z]p~~a]y~d~ux~f~~S~~~g~v~uzu||zR~sc{9~~u~2wt~qqoyu{~-~meynA~~zqsW~~{ub~~U~y~yl]vtKN~~{~{~e~x>~yrqxcc~B~g{~yO~~e~|~~E~~t{zN~g~~~dR~~@~mc~h~~cdxtxusu~{{|~x{ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1470/ccs/rev np:i:8 rq:f:0.997737
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGGACGAATTTACGGTGGTAATTTCGCCACACTTCGC [...]
   +
-  n~vx~{pQ~~~~|h~|ze~L~zu~{$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~l~|~~{k~[~~_`]z~c~ny~{~W~y{uf~dpuj~W~t}sb~Iqb~[~~F~u{t{~e~{w~d~s~}~e~z?~Y~~N~z~drxcx0~wQ~~zb~~z_~{)zy,~~~~~nyS~Q~lzL~G~~Q~exG~e~~ug~{VtxN~z~Hv_~wR~fG~~~~df~eR~~f~c~x9~yo~6~~~~{S~~z|y~~eyR~e~H~~uu~H~~z~d~|y{<~~cOt~{t9~~s~|~~dsi~h~~~R~~O~~~^T~~cOxzczcu~|t~]~~u~^]~u\ryc]z|e~c~zB~~~~~f~~e~}~b~cMfj~~?~~~f~@~~O~zycS~~T~V~~|~Yx~~~u~zry~'~~}|~{c~~`~~X~~ysg~~V~wptsc~||h~~{ou{{d{d~|~sczz_u~ze~tQ~~`~Ss~(~tsw;8gU~~rx=~FZp~x~T~~^P=~~z~{S~zzd [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1511/ccs/fwd np:i:9 rq:f:0.997416
+  m~vx~{pQ~~~~|h~|ze~L~zu~{$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~l~|~~{k~[~~_`]z~c~ny~{~W~y{uf~cpti~W~t}sb~Hqb~[~~F~u{t{~e~{w~d~r~}~e~z?~Y~~N~z~drxcx0~wQ~~zb~~z_~{)zy,~~~~~nyS~Q~lzK~F~~Q~exG~e~~ug~{VtxN~z~Hv_~wR~fG~~~~df~eR~~f~c~x9~xo~6~~~~{S~~z|y~~eyR~e~H~~uu~H~~z~d~|y{<~~cOt~{t9~~s~|~~dsi~h~~~R~~O~~~]T~~cNxzczcu~|t~\~~u~^]~u\ryc]z{e~b~zB~~~~~f~~e~}~b~cMfj~~?~~~f~@~~O~zycR~~T~V~~|~Yx~~~u~zry~'~~}|~{c~~`~~X~~ysf~~V~wptsc~||h~~{ouz{d{d~{~sczz_u~ze~sQ~~`~Ss~(~ssw;8gU~~rx<~FZp~x~T~~^P<~~z~{S~zzc [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1511/ccs/fwd np:i:9 rq:f:0.997405
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTATAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACCAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAG [...]
   +
-  o~io|imE~uKklk~d7>=e~ivil$~~xz~~~~~~~~~~~~~~~~~~~~zx|~~~~~zytM~~f[e~sU at zukudfaf?uiwoR~C~lY~viwhcpffviv_~kvnhwgj}vmN~uW~|UkimpLf~J~jYyphLwYwyB|aL~c~r~\qJ~~`~>~~c6ySYP(I;o~~kwg~oNxGm<J~oaYdGvM3~~~tI~s~P~P~s~]~ky0~iWab~G~~E~~~~Zrq~~oHO[P~Dzsur|ngz,~ME|x~M~~g[~~a~d~XK[Q~~q?_CA:pcKrS~e~k{|DrVXojJ~^J~~`tV]~wJ~g~}]kV~oVv5yvd~RbqodeP<`AzbnDpm`9vbnTNxSmKtdlZ~Z~\I~<~_c|`CvC~{:~vS~n_VXsh~`h~ne&s6n~c]~~\~d~l~O~knqgT~~KZT~dn0~mF~X{K~6U@\~D~~~nimXmvp>~{s70~tbi9~u[tQ~~pY]\oI~~_T{l~nl@~~~uQ~^_~qK~bJU] [...]
+  o~io|imE~uKklk~d7>=e~ivil$~~xz~~~~~~~~~~~~~~~~~~~~zx|~~~~~zytM~~f[e~sU at zuludfaf?uiwoR~C~lY~viwhcpffviv_~kvnhwgj}vmN~uW~|UkimpMf~J~jYyphLxYwyB|aL~c~r~\qJ~~`~>~~c6ySYP(I;o~~kwg~oNxGm<J~oaYdGvM3~~~tI~s~P~P~s~]~ky0~iWab~G~~E~~~~Zrq~~oHO[P~Dzsur|ngz,~ME|x~M~~g[~~a~d~XK[Q~~q?_CA:pcKrS~e~k{|DrVXojJ~^J~~`tV]~wJ~g~}]kV~oVv5yvd~RbqodeP<ZAzbnDpm`9vbnTNxSmKtdlZ~Z~\I~<~_c|`CvC~{:~vS~n_VXsh~`h~ne&s6n~c]~~\~d~l~O~knqgT~~KZT~dn0~mF~X{K~6U@\~D~~~nilXmvp>~{s7/~tbi9~u[tQ~~pY]\oI~~_T{l~ml@~~~uQ~]_~qK~bJU] [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1511/ccs/rev np:i:9 rq:f:0.998244
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTATAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  K~kzwhFO~y~~|_~dgittd{}~s&n{~~tcY_t~~~~~~~~~~~~~~~~~~~~{~+~Odd~}mf~~{~zz~~wsU~wY~d~{`~i~~NbjhT|~~`~xxN2sRj~ntM~pf~~|ujrtvi~Z~e;d_~e~~v~Q~~n~G~[zj~8~~p~e~ix/~b`\ykR~u~six~~z~~u{d~_Vg^MQH8~~~p/~ux`~P~g~@{Uw\p~ssqo7ZwI~~|xPZZ\b|uGTJeazYhc`iX~F~~9v~kT~qIRs~<~Y|\dm`~<}@~~ha~}q|M{n~~h~o~z~UUZpcG|rGcUG~];~W~~e~O~q1gG{}zpe}~{zdnuM~erH~~~g~`~~b~evg~~`]~d~~c~W~~d~cc~E~~K~~Oi~~l~oL~{~q|RP~[~~cQ~~f~jso~g~~~~~R~~U~L~^~<~uj<~X~G~q~E^~P~~~z~kXpds2~}y}>~~~~Z~}]i7~TwPw~~P~}df~^~ei&~||~h~lQ~~d~~FQzz~thr [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs/fwd np:i:9 rq:f:0.998832
+  J~kzwgFO~x~~|_~dgittd{}~s&n{~~scY_s~~~~~~~~~~~~~~~~~~~~{~+~Odd~}mf~~{~zz~~wsU~wY~d~{`~i~~NbjhT|~~`~xxM2sRj~ntM~pf~~|ujrtvi~Z~d;d_~e~~v~Q~~n~F~[zj~8~~p~e~ix/~b`\ykR~u~six~~y~~u{c~_Vg^MQH8~~~p/~ux`~P~f~@{Tw\p~ssqn7ZwI~~|xPZZ\b|tFTJe`zYhc`hX~F~~9v~kT~qIRs~<~Y|\dm`~<}@~~ha~}q|L{n~~h~o~z~UUYpcF|qGcUG~];~W~~e~O~q1gGz}zpe}~{zdmuM~erH~~~g~`~~a~evf~~`]~d~~c~W~~d~cc~E~~K~~Oi~~l~oL~{~q|RP~[~~cQ~~f~jso~g~~~~~R~~U~L~^~<~uj<~X~G~q~E^~P~~~y~kXpds2~}y}>~~~~Z~}]i7~TwPw~~P~|df~^~ei&~||~h~lQ~~d~~FQzz~thr [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs/fwd np:i:9 rq:f:0.998887
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  ~~~ue~~b~~{~`U~ts`z~|~~~r&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~khuz~~R~y~^~~q~`_qo]~~u7q~Y~fP~~~~7~~Kt~~~F~r~Eh~y~{~b~~~s~crt~~W~X~r~~~e~~a~~~y^~~RyN~~fc~T~~g~X~~u6~~bX~~T~~~v~shqs~~]r(~~~DrZ~~.~~~lU~v~P~<~j~q~N~l~y]~~~b~~D~~~~ue~~~~|~|B~~~~~a~~~~S~xB~~~?~~uo~gc~~~x~xw~~oZ~~~[~~~~T~~~~~~~tK~d~O~oa~~h~~E~ur~i~~w~u~~s~c~~j_su~w~~hVdxh~]~~~`~k~~l~v~Z~~w~~b~~]~r~yb~u_~n~~c~~~~f~[~wz~x~~~~.~Yy~vZ~}~~v|~~d~kx{~W~~]~Z~u~G~~~_~w~q~~x~q~T~~z^~~gM~~Y~~e{8~~~~c~~c~R~~w~x~~s~{tM~g~~sS~~~~Z~~c~~^~~df~y~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs/rev np:i:10 rq:f:0.999439
+  ~~~ue~~b~~{~`U~ts`z~|~~~r&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~khuz~~R~y~^~~q~`_qo]~~u7q~Y~fP~~~~7~~Kt~~~F~r~Eh~y~{~b~~~s~crt~~W~X~r~~~e~~a~~~y^~~RyN~~fc~T~~g~X~~u6~~bX~~T~~~v~shqs~~]r(~~~DrZ~~.~~~lU~v~P~<~j~q~N~l~y]~~~b~~D~~~~ue~~~~|~|B~~~~~a~~~~S~xB~~~?~~uo~gc~~~x~xw~~oZ~~~[~~~~T~~~~~~~tK~d~O~oa~~h~~E~ur~i~~w~u~~s~c~~j_su~w~~hVdxh~]~~~`~k~~l~u~Z~~w~~b~~]~r~yb~u_~n~~c~~~~f~[~wz~x~~~~.~Yy~vZ~}~~v|~~d~kx{~W~~]~Z~u~G~~~_~w~q~~x~q~T~~z^~~gM~~Y~~e{8~~~~c~~c~R~~w~x~~s~{tM~g~~sS~~~~Z~~c~~^~~df~y~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1512/ccs/rev np:i:10 rq:f:0.999433
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  <pettx~R~vPs~~~~y~~v~t{~~&~rtw~}}~~~~~~~~~~~~~~~~~~~~~~okv~x~~~}wj~~~~~~`~~~g}~b~^~~w~~i~~=x~u{ayb~~~~y~t^~z~V~~K~~y~}~~zv~\~~{~y~~u^~~F~~u~D|c~~~'~vu~^~ctp~~~~~tL~~~~~~~~~~~~{L~t~~~o~z:~~~u~~~~r~~~`~S~s~P~z~~q~V~~M~~~~v~f~~}~x}t~`v~~~j~f~h~~l~~~E~~~O~~`~c~pv~~~~r]~~u~~~~|s~x~~{~y~~~~xw~~<~mZ~tb~~I~u~|~y{~~x~~~|b~vw~~x~~us~~zA~~~b~_~vl~~~`~~~{~v~}v~_~~x~~\~R~~K~~d~~~~l~~~~d~b}t~M~~th~~b~~~i~a~~b~aZ~~\~^~i~G~~w_~q~b~~~zT}P~~z~~\t~~zg~~~~T~~~~]~~c~s~~~~~~ya~~~I~~~qk+zZVmo~wp~~b~~~~s~~~bv [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs/fwd np:i:6 rq:f:0.991358
+  ;odssv~Q~uOr~~~~x~~u~sz~~&}qsu}{|~~~~~~~~~~~~~~~~~~~~~~nju~w~~~|vi~~~~~~_~~~f|~a~]~~v~~h~~<w~tz`xa~~~~x~s]~y~U~~J~~w~{~~yu~[~~y~x~~t]~~E~~t~C{b~~|'~ut~]~bso~~~~~sK~~~~~~~~~}~~zK~s~~~n~y9~~~t~~~~q~~~_~R~q~O~y~~p~U~~L~~~~u~e~~|~w|s~_u~~~h~e~g~~k~~~C~~~N~~_~b~ou~~~~q\~~t~~~~{r~v~~z~x~~~~wv~~:~lY~sa~~H~t~{~xz~~w~~~{a~uv~~w~~tr~~x@~~~a~^~uk~~~_~~~z~u~|u~^~~w~~[~Q~~J~~c}~~~k~~~~c~a|s~L~~sg~~a~~~h~`~~a~`Y~~[~]~h~F~~u^~p~a~~~yS|O~~y~}[s~~xf~~~~S~~~~\~~b~r~~~}~~x`~~~H~~~pi+yYUln~vo~~a~~~~q~~~au [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs/fwd np:i:6 rq:f:0.991332
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCCAACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGACAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATAACTTATTTGACTTTGATGTTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATTGTTTTTTACA [...]
   +
-  Rz[RbIfJaA\SK;TL?OGULZc7P$ZVQSadYY]chnrrssssssssssssssssrZY6u$ACZ\AHB{Wu]Ybd1qQf at mRKvvfRXvRaQ?qF`N;,$M?XTB3WN`a[Sv`UZ`Cce<6D=8P>J0a`ZCgFQ`];ZN6]H_rfRIB:_N?UmZRaNQBgMY=.raJBfJYBtc=YeYLNFR5OaX`_[RAdcVNV2qP[QAJYK_MHC6GM'%@LSW at rI=YM[TTI3BXKY_:X_XC]c_FE|bXvRWt8ydZCtR_LKQ[VwbY.\ZfbZ2rKvXv7C0V;1qYb>]VNV<ZrVNXcALUA^ACsVK^:<uGkWFPaRfZHvZbDh7DsLY=[)2=>VXEZR6l[T^A<?$PZd.YcZOL/n[3\JN%*7EeM;rYB`QAuqU35Q'nSM;BKC]Dd5tgTkKx_RAxeF;_[O]_4YKYbRA_rvb[fR[LUTXRbQAlMVP3rP5oMmN]aRbRbfbeA'IYTt<q^J]0DA4hVgudNPL [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs/rev np:i:6 rq:f:0.993243
+  Rz[RbIfJaA\SK;TL?OGULZc7P$ZVQSadYY]chnqrssssssssssssssssrZY6u$ACZ\AHB{Wu]Ybd1qQf at mRKvvfRXvRaQ?qF`N;,$M?XTB3WN`a[Sv`UZ`Ccd<6D=8P>J0a`ZCgFQ`\;ZN6]H_rfRIB:_N?UmZRaNQBgMY=.raJBfJYBtc=YeYLNFR5OaX`_[RAdcVNV2qP[QAJYK_MHC6GM'%@LSW at rI=YM[TTI3AXKX_:X_XC]c_FE|bXvRWt8ydZCtR_LKQ[VwbY.\ZfbZ2rKvXv7C0V;1qYb>]VNV<ZrVNXcALUA^ACsVK^:<uGkWFPaRfZHvZbDh7DsLY<[)2=>VXEZR6l[T^A<?$PZc.YcZOL/n[3[JN%*7EdM;rYB`QAuqU35Q'nSM;BKB]Cd5tgTkKx_RAxeF:_[O]_4YKYbRA_rvb[fR[LUTXRbQAlMVP3rP5oMmN]aRbRbfbeA'IYTt<q^J]0DA4hVgudMPL [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1549/ccs/rev np:i:6 rq:f:0.992851
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTAT [...]
   +
-  CgRHSSNEcKQd]Yw^SGd<*L0BE%clbVPOX\bltvvumc]ZZ_hruvvtk_[enD><sg]SO\c<uUxfTOJO_TE7q[BwwbGRd]OGTnOzh]SGEq>cNvfPd=NN__T<LYcHwSFDHZb0V\P>vU\gO\SN:uAvv`Zhb<r\:vbO\gXX;sFv[-trOLXPRDrH[R^TcF`;eZ^bXgT\.zs7EROWYFWOwTKO[V`Z5UMOQWOgGxg]@[dSw\OMxdTh]ThTYv9eTPzhRW[OS<h7Q&rGGfeh]T0q[S3uRMfS7S7`;Q at Q:S]OuTd\Of]g?wjNaLOPZ;SVN:cIWFaEg=mXQ\bT]P5QKJ^cLuhU[QFS[4uM[RXXfTheh\@W:JOFuKAG`Aws9pVdhLSw^<_sTh]9tH6K`S2p[bgbYOYM=dn&34XbTCR7RCOQZ^IK_`PhZBauq[SLSU[OA?EKYFZZ;RAt\G^2q at Kf]h\P:UPTZJ9E=7XfJib at +hm\^OHVBX0]d> [...]
+  AePEQPKC`INb[Vu[QEb:(J. at C$`j_SMLUZ_jrssrka[XX\fpsssqi]XblB<9qdZPLZ`9sSvdRLHM]RC4oY?uu_DPbZMDRlLwf[QECn;`LtcNa;KK]\Q:JVaEtQDBFX`.SZN<tRYdLZQL8r?tt]Xf`:pZ7t`LYdVU8pDtY+rpLJVNOApFYP[RaD]9bW[`VdRZ,xp5COMUWDUMuRIMXS^W2SJLOUMeEveZ=YaQuYMKvbRf[RfRVt7cRNxfPUYMQ:f4O%pDDdbf[R.oXQ1sPKdQ4P5^9O=N8Q[MrRbZLd[e=thL_ILNX9QTL8`GTC_Be:jVNZ`R[N3NHG[aJsfSXNCPY2rKYOVVdRfbfY=T8GMCrI?E^?up7nSbfJQt\:]pQf[7rF4I^Q0nY`e_WLVJ:bk%02U`RAP5PALOX[FI]^NfX at _roYPJQSYL?<CIWDXX9O>rYE[0o=Id[eYM8RNQXH7C;5VcGg_>)fkZ\LFT at V.[a< [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1608/ccs/fwd np:i:10 rq:f:0.998309
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACATA [...]
   +
-  ~~~V~~~s~~~~~\~~~Eh~~~~ip-~~~~~tnh~~Z~~Q~~~~~~~~J~r~s~X~~n~~~T~p~~~~K~~v~~~~r~-~~~~~]~~~f~~~q|~_~~~~i~R~~h~qd~~~~np~W~~~c~~~~~t~i~qp~~}~~~~~J~~~~`~r~~~^~~H~~n~j~fY~~~~~XwY~~~q~P~~O~~~3~~~Y~~~r~~~~~~~~n~~~~~r]~~~~r~[~~~~~~~~U~]~~~P~~~~~{o^~T~[qvh~l~~~o~~q~{~U~~~~~~~~~~~lq~~b~~~~~{l@~~~~^~q~d~~~^~~~~~~~~o~~~r~~~~Q~~~~~~h~kq~~rr~~[~~~~r~~~~pT~~~~~~o$~~~~Xe~mr~r~t~~~~~g~~~v~~~r~~~~~~n~u~~~q~d~~r~sj~q&[^G~~p~d~_~~^~~~~ikK~~~v~~H~~~~~~l~~~~~~qi~~~i~~D~~~~~W~~D~a~~~o~~~~~~~R~~f~~5~~~ps~s~x}~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1608/ccs/rev np:i:9 rq:f:0.998802
+  ~~~V~~~s~~~~~\~~~Eh~~~~ip-~~~~~tnh~~Z~~Q~~~~~~~~J~r~s~X~~n~~~T~p~~~~K~~v~~~~r~-~~~~~]~~~f~~~q|~_~~~~i~R~~h~qd~~~~np~W~~~c~~~~~t~i~qp~~}~~~~~J~~~~`~r~~~^~~H~~n~j~fY~~~~~XwY~~~q~P~~O~~~3~~~Y~~~r~~~~~~~~n~~~~~r]~~~~r~[~~~~~~~~U~]~~~P~~~~~{o^~T~[qvh~l~~~o~~q~{~U~~~~~~~~~~~lq~~b~~~~~{l@~~~~^~q~d~~~^~~~~~~~~o~~~r~~~~Q~~~~~~h~kq~~rr~~[~~~~r~~~~pT~~~~~~o$~~~~Xe~mr~r~t~~~~~g~~~v~~~r~~~~~~n~u~~~q~d~~r~sj~q&[^G~~p~d~_~~^~~~~ikK~~~v~~H~~~~~~l~~~~~~qi~~~i~~D~~~~~W~~D~a~~~o~~~~~~~R~~f~~5~~~ps~s~x}~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1608/ccs/rev np:i:9 rq:f:0.998902
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACATAT [...]
   +
-  x~os~~uk~V~~~a~~U~~Y~~'M~$~hV~~~~~~~~~~J~~~~~~~~~~Z~~~o~~`~~~~zG~~~~r~~-~~v~~~F~~~~~`~i~-~~j~a~l~o~~~~g~~~r~~~~r~~G~\~~~k~~~~lG~~ll~~~~~r~~{4~{or~~L~~qC~~u~~Zy~~~~~~~~~n~r~~~q~U~~r~~{V~~~k~~p~~ro~Y~yra~~l~~[C~~~t~h~~~~~r~~V~~p~~~j~~~~qnqn~s~~r~s~~~~~p~~~{~~Y~~~~~~~~~k~~k~~p~~~t~~~\~~~`l~~s~~~~c~~~qh~~~qh~~m~~~mW~~~~wnu~jn~~o\~m~8~~g\~~~~s;~~p[~q~m~~~~~p~~~~Yj~~~k~j~~I~o~~~q~~r~~~~ol~C~~~q~m`~y[~st~~~~Y~~~~Y~~h~~~~_hn~~oW~~H~~~~w~u~j~~~o~n~~~|~m*~~~j~~~~~G~~~Q~~~T~~p\~~o~~]~~~~r~r~~~~~` [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1630/ccs/fwd np:i:6 rq:f:0.994006
+  y~pt~~vk~V~~~b~~V~~Z~~(N~%~iW~~~~~~~~~~K~~~~~~~~~~[~~~p~~a~~~~{H~~~~s~~-~~w~~~F~~~~~`~i~-~~j~a~l~o~~~~g~~~r~~~~r~~G~\~~~k~~~~lG~~ll~~~~~r~~{4~{or~~L~~qC~~u~~Zy~~~~~~~~~n~r~~~q~U~~r~~{V~~~k~~p~~ro~Y~yra~~l~~[C~~~t~h~~~~~r~~V~~p~~~j~~~~qnqn~s~~r~s~~~~~p~~~{~~Y~~~~~~~~~k~~k~~p~~~t~~~\~~~`l~~s~~~~c~~~qh~~~qh~~m~~~mW~~~~wnu~jn~~o\~m~8~~g\~~~~s;~~p[~q~m~~~~~p~~~~Yj~~~k~j~~I~o~~~q~~r~~~~ol~C~~~q~m`~y[~st~~~~Y~~~~Y~~h~~~~_hn~~oW~~H~~~~w~u~j~~~o~n~~~|~m*~~~j~~~~~G~~~Q~~~T~~p\~~o~~]~~~~r~r~~~~~` [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1630/ccs/fwd np:i:6 rq:f:0.994005
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCTCTCTACT [...]
   +
-  d~SDjivY~rmp0:sOOXkjbj[UT5|~~ujNF{U\~j\8~i?bgeuluZ[~Jx6sU2w~[KR0$?B|LBDjXT~9^I~EikW at jvltVdQ~~l_f;~~D=~~Pk*~~dLCQQhRY\~lljGXprAfZjoTi\EgVgrhOWBiq`E}DqkfP*~~yhdTsYU{YDeGliZ~?QlfVGSKSje~Jjb~gIpWvYjTs=raPYX?fM'D_UCsXkXpbUjW~loXrUjhB+rpVgvZ~qWj`~miYmZ~rWHa>OrB~ahtK@{ukB~~kSb?il;WD[~j=~z1bLQ~~JzLuDb=rwi1}jSh>utYliQ>IxWkXS}<`jakkr>rG{Z_WWG~`<~v<\rc<~tN~gWklI{b~l[x;~~e;cQAH@~imoRYuD~}E[gIyYiQ~hiMaX*~jvllj+~~|~h?M~VRVoFsluMxvpC}aJ~i5a6_vUo=~~vJ~qWXbWrFgBo|~yVclrRRJ)`TmY|t_M]PXvlluj\dQb-R=UVYTYv [...]
+  d~SDjivY~rmp0:sOOXkjbj[UT5|~~ujNF{U\~j\8~i?bgeuluZ[~Jx6sU2w~[KR0$?B|LBDjXT~9^I~EikW at jvltVdQ~~l_f;~~D=~~Pk*~~dLCQQhRY\~lljGXprAfZjoTi\EgVgrhOWBiq`E}DqkfP*~~yhdTsYU{YDeGliZ~?QlfVGSKSje~Jjb~gIpWvYjTs=raPYX?fM'D_UCsXkXpbUjW~loXrUjhB+rpVgvZ~qWj`~miYmZ~rWHa>OrB~ahtK@{ukB~~kSb?il;WD[~j=~z1bLQ~~JzLuDb=rwi1}jSh>utYliQ>IxWkXS}<`jakkr>rG{Z_WWG~`<~v<\rc<~tN~gWklI{b~l[x;~~e;cQAH@~imoRYuD~}E[gIyYiQ~hiMaX*~jvllj+~~|~h?M~VRVoFsluMxvpC}aJ~i5a6_vUo=~~vJ~qWXbWrFgBo|~yVclrRRJ)`TmY|t_M]PXvlluj\dQb-R=UVYTYv [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1630/ccs/rev np:i:6 rq:f:0.9942
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACCGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTC [...]
   +
-  PgCSoZb5~h\gT`}C4JE8T3P\T%d[?AUoHyUZ~YV4fZlZvYRQZjJ~DP0XM.OqlhkL~j=}qZa~gF~Ube~gdVjvYhERti2~~PF%EBgdh:~~ju?vbhbtWmZtTD~A?lO]tUtVLVc8XjltTWXZPT<[xtF~;~Xtj3u~~qgb~j=~e^~TsYR~JySsld~YtWW~F_;~bcli at ivYV7~~uYmHc|c~[sVf9 at tYiIuY]oP`rcjBk0VxJTUVB47bQ3unUJjGyk^U~lbVBirXArK~kY@{vsHucXUEhf)~q,~[UmFFpcKtN~eZS~h?Pwf:~W~|'TWnVk`~Tn_JaQNn`r2TUUXfb.Sf<~v>}~?~~mVbkR~FkDKZo1&aK\2~nW[~uj[E~nYVtkgJ~~gt at RlNC//- at K/b[~YVYr1*t~~a\j\~lZvgbPQiAowUG~gLh^@}~[~ZlH~~jF~?it;^h+o:pk|~kuUc[gpRXiu=~liTsZkiIrUS0PN_NeNeVi [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1649/ccs/fwd np:i:6 rq:f:0.99168
-  AAGCAGTGGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAAAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTTAGGTGTGTCGGAGGGCAGAAACC [...]
+  OgCSoZb5~h\gT`}C4JE8T3P\T%d[?AUoHyUZ~YV4fZlZvYRQZjJ~DP0XM.OqlhkL~j=}qZa~gF~Ube~gdVjvYhERti2~~PF%EBgdh:~~ju?vbhbtWmZtTD~A?lO]tUtVLVc8XjltTWXZPT<[xtF~;~Xtj3u~~qgb~j=~e^~TsYR~JySsld~YtWW~F_;~bcli at ivYV7~~uYmHc|c~[sVf9 at tYiIuY]oP`rcjBk0VxJTUVB47bQ3unUJjGyk^U~lbVBirXArK~kY@{vsHucXUEhf)~q,~[UmFFpcKtN~eZS~h?Pwf:~W~|'TWnVk`~Tn_JaQNn`r2TUUXfb.Sf<~v>}~?~~mVbkR~FkDKZo1&aK\2~nW[~uj[E~nYVtkgJ~~gt at RlNC//- at K/b[~YVYr1*t~~a\j\~lZvgbPQiAowUG~gLh^@}~[~ZlH~~jF~?it;^h+o:pk|~kuUc[gpRXiu=~liTsZkiIrUS0PN_NeNeVi [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1649/ccs/fwd np:i:6 rq:f:0.991695
+  AAGCAGTGGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAAAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTTAGGTGTGTCGGAGGGCAGAAACC [...]
   +
-  UgF4G\g-jkg\f8'KII3FUGXJZC7K`\G4g\c=v\IVL]c1aJJS9YCSK=ii_4('IaNi\^8_JWh.qKSGFQ9XPf^gWL/jRFX]Eif8DXcI\-qwuZIWL]\IPk\^\H>h7PR=EOLiI3ZH^gZJ[JBD1+SFMYN`1NXXW]3>G*G10<>7=`Nd6ZeHZOiI^H at hOgRYIVPZ6dJSf\0j\VI>>?:)YOHGI_g[7haKF5 at R\\P\gOe at jYV=\>gH:aU$]nXfJ^:ugI`E;MD\jgZIXGHi\g:dP\\Pmg\+s[PmHhYGNigXIe3qbiW<]YISMH^LM]9uRHX%eY57`b6gYK\7cdF^g^gI$\[[iIHgj\K:_^I8hXSA=o^>bGP49GhH^Xk^gOifE0>O]WW3gKfKi\IhGP9ZFd5x^>,c4bm7ZI\I\gI\HhI/[Ni\NEeW02Z+r]PI`MjO7386QZG2Nhe59O9DROi\^g]EkNV%fg]]OifMgMfIPk\Gka4 at XDiU0e [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1649/ccs/rev np:i:5 rq:f:0.992485
+  UgF4G\g-jkg\f8'KII3FUGXJZC7K`\G4g\c=v\IVL]c1aJJS9YCSK=ii_4('IaNi\^8_JWh.qKSGFQ9XPf^gWL/jRFX]Eif8DXcI\-qwuZIWL]\IPk\^\H>h7PR=EOLiI3ZH^gZJ[JBD1+SFMYN`1NXXW]3>G*G10<>7=`Nd6ZeHZOiI^H at hOgRYIVPZ6dJSf\0j\VI>>?:)YOHGI_g[7haKF5 at R\\P\gOe at jYV=\>gH:aU$]nXfJ^:ugI`E;MD\jgZIXGHi\g:dP\\Pmg\+s[PmHhYGNigXIe3qbiW<]YISMH^LM]9uRHX%eY57`b6gYK\7cdF^g^gI$\[[iIHgj\K:_^I8gXSA=o^>bGP49GhH^Xk^gOifE0>O]WW3gKfKi\IhGP9ZFd5x^>,c4bm7ZI\I\gI\HhI/[Ni\NEeW02Z+r]PI`MjO7386QZG2Nhe59O9DROi\^g]EkNV%fg]]OifMgMfIPk\Gka4 at XDiU0e [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1649/ccs/rev np:i:5 rq:f:0.992475
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGATGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTTAGAAGGTCAACATGGAGTAGGTGTTTAGGTTGTGTCGGAGGGCAGAA [...]
   +
-  *K8F<GM1RH<ET7OTGB`4MFMfU0DYn\:cCB<^I\FXHOEG\[i at A&si,Vghe^Qi`0 at N7:I\@hNiHh]fGYFGF519Z5dghBHCG5\AhhBI9kk]L]IM4fY-lb(^U[i\eCIBF'Y]g\GXKIfEjcL:uMaHY[7ji\KXWi^[i]JkYW6Yf2WK1I:V'GN:OUh3i\f^fF4\\P(JN/gggbLL\7\e6CeZ62Z,hh_;G4_^AG at C9a$c3JHY8PFXh6DgiI&[ZJKdIRSfOiHLc\eELEZ4ICNi\HJ7Y[INig=uKggIZi][=Q22^YPNa[^g\^\[iIPj?h4Ejj]3h\^\ILi>mC,61D4E\Mi)?OTEQN5YPjI[*[cEP>RILgg\^\^\^IKeI\3RCcGUgDiJ4E-M&Q<ZY\Y[ZHH at hcKKc0XG5kW]eA*Y^dU16b?OqObYMnOs<Esc]La5wcgl&@[\N[m(hgfAvfq<@zoMbr<[9F(Gnq2|(TL`Ob`>fd5~~hjP&t [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs/fwd np:i:8 rq:f:0.994343
+  *L8F<GM1RH<ET7OTGB`5MGMfU0DYn]:cCB<^I\FXHOEG\[i at A&si,Vghe^Qi`0 at N7:I\@hNiHh]fGYFGF519[5dghBHCG5\AhhBI9kk]L]IM4fY-lb(^U[i\eCIBF'Y]g\GXKIfEjcL:uMaHY[7ji\KXWi^[i]JkYW6Yf2WK1I:V'GN:OUh3i\f^fF4\\P(JN/gggbLL\7\e6CeZ62Z,hh_;G4_^AG at C9a$c3JHY8PFXh6DgiI&[ZJKdIRSfOiHLc\eELEZ4ICNi\HJ7Y[INig=uKggIZi][=Q22^YPNa[^g\^\[iIPj?h4Ejj]3h\^\ILi>mC,61D4E\Mi)?OTEQN5YPjI[*[cEP>RILgg\^\^\^IKeI\3RCcGUgDiJ4E,M&Q<ZY\Y[ZHH at hcKKc0XG5kW]eA*Y^dU16b?OqObYMnOs;Esc]La5wcgl&@[\N[m(hgfAvfq<@zoMbr<[9F(Gnq2|(TL`Ob`>fd5~~hjP&t [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs/fwd np:i:8 rq:f:0.994267
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTAATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACT [...]
   +
-  mxPKr3NBoNfbi,qRUnzW~Xdir7jl~sU}@zyLX`]A~kCyuS|6~h-t_UXSZrXIvRs0a.LKhS4RsVic6~~~~q=z\W{I[UQC~JHaTL1pe7~eW^]{fRQFdWsf?~~xlJ;hU`:kkdqG}[pTXNd]7csSnS6_HTqU/wFzyV<ygPb1/TadThWeGyrcT?&cvWsKzJ~dWAxu>coUZ5U8iH<8UnTvWgXc]U=ytSt<XHzzyBvKV$sae>^Sw[UNyRR|VsAq^d`WN1azVvsWreRZ5a]BO||Xz[UXFbRq_haX`2[fcTW[C^Z^dWcTSKfbxLxJ~{sU2QC6qo[nHg7jbzDb^F{_EVAM`kPY4_M-:\gQxaBNnFzWXtEFfrVK||pLITWIxPc:mRRF^cn^oUfVbwDHu]Yk&POBtdVJv|w^SW%zzfnSMaPU85eSudseXexcW@^B2v?cTL2x`NOH~YFOOrDb^Hd;ucIa8LXqGyQsTNURLTVIsgFt_qUz0M [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs/rev np:i:7 rq:f:0.996883
+  mxPKr3NBoNfbi,qRUnzW~Xdir7jl~sU}@zyLX`]A~kCyuS|6~h-t_UXSZrXIvRs0a.LKhS4RsVic6~~~~q=z\W{I[UQC~JHaTL1pe7~eW^]{fRQFdWsf?~~xlJ;hU`:kkdqG}[pTXNd]7csSnS6_HTqU/wFzyV<ygPb1/TadThWeGyrcT?&cvWsKzJ~dWAxu>coUZ5U8iH<8UnTvWgXc]U=ytSt<XHzzyBvKV$sae>^Sw[UNyRR|VsAq^d`WN1azVvsWreRZ5a]BO||Xz[UXFbRq_haX`2[fcTW[C^Z^dWcTSKfbxLxJ~{sU2QC6qo[nHg7jbzDb^F{_EVAM`kPY4_M-:\gQxaBNnFzWXtEFfrVK||pLITWIxPc:mRRF^cn^oUfVbwDHu]Yk&POBtdVJv|w^SW%zzfnSMaPU85eSudseXexcW@^B2v?cTL2x`NOH~YFOOrDb^Hd;ucIa8LXqGyQsTNURLTVIsgFt_qUz0M [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1688/ccs/rev np:i:7 rq:f:0.995887
   AAAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACT [...]
   +
-  )~Sf`Jh:J~xopbZ~aUMrzC_fscB~~Y at YyPe~sjaaS~~J~k3~Z~qA~~~c~Q~~T~O~^rAE9X8ioXRW}4~~~~_jZKY]L~juWx_>~|4;_WxK]o;~X>~p]}c~>r~na~P~lXF~~47?`Alb_q]y:~~|_iP~gJTBb~AZC\1ae^km?~Vq[BpdbvQN]U1~~\K\~f~~}F~gE~~|ymhV\Kgof`hY_o~w`k<neJ~XR:~~[5KXeF~`^~jn`~Q~ob~QJB~~pO{x`]VFULl_FUUSmY^T~~~oLh^>~Hpd0J<MlVnq~_v_v`k[}ikoQ~~^M~A~oa~PrTSsq^^jOnPP{_lLg~pM~D~~rd]^]vW~bf_Yp;_`U]Q=n~FoTjSeh]le=W.|x at D]li=~~_nM}r~~ojA~~~b`ba8I?1X=|~X~mgI~~jH`HookwRq?~~_v}`j\^~~y=~~^alj~vo^V~\vm`u}a[E~J]?V~km}LJ~/~{~b`s9y0~lGSc^:~N~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs/fwd np:i:6 rq:f:0.997228
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACCGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGA [...]
+  $yM`ZDb4D~rij\Tz[OGlt=Y`m]<~~S:SsJ_|md[[M~xE~e-~T~k;~~{]~K~}NyI~Xl>?4T4flUOTz1~~~~\gWHVZI~gsTu\<~y29]TvIZm9~U;~m[z`~;o~k^~M~iUC~~15<^?i_\nZw7~~z\gM~eHR at _|>W at Y/^c[hj<~SnX?mb_sNKZR/~}ZHY~c~~{C~dB~~zwkfSYHdlc^eW\l}t]h9lbH~VP7~~X2HUbC~^[}hl]~N~l_~NH?~~mLxu]ZSDRIj\DRRPjV[Q~~~lJe[;~Enb-G9JjSln~]s\s]iXzgilN~~[J~>~m_}NoQQpn[[hLkNMx\iId~mK{A~~oa[[[tT~_d\Vm8\]RZN:k|DmQgPceZib:T,zv=AZig;~~]lJ{o}~lh>~~|_]`_6F<.U:y~V~jdF~~gE]ElmhtOn<~~]tz]gY\~~v:~|\^ig~tl[S~Ytj^r{^YC~GZ<S~ij{JG~,~y~`]p7v-~jEP`[8~K~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs/fwd np:i:6 rq:f:0.997919
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACCGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGA [...]
   +
-  d~g^ohqV~oWW[E{_g[A4A?mo]7MxnZ[^[ZT'\,ngo^]~coYU~D~~YocW}L~Z*~lg^M}YL~]HoQ:mijSboO~P~zL~a~f;~a\IW-~C~]?~p3~Z6nUTOUdDN$slvDE\g.~wo]B~WZVz^gYJs8UDfmLl\ZU[NGem9v@`K9|~`JqiOh\8~oHm9~mYnYU~FCioa6teQHUhQT&J`,cQ4iOm_~=~@PS)}fpfM~oHjZ@[K~Q;c{tcEiL1neh\BjfGWZfFR`Q=b^eJtgVA(HFnFdHfqdYQX*gZSZ\hF~~T9X8J~C~o^eN~cjo\QR~~f6zye_?s~~[XL~^oC~\<~xcgL~p^~Zqg^pf+~~]J~~pgY[~rU~UAnVLZKh@~sU]oV~~mRN~fUshoh^gKxAy]pfIeP~n_t?5~~%YZ~HuG~`1Veo=~~FMAhbX[Yg^gjZM~`~J|.\U~~DzWWfT<rm_gMz\>~~~gpdG<gloIMrj^oM~]ooL~[pWWaa [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs/rev np:i:6 rq:f:0.994821
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAAACAGCGTTATTATTTGGAAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAAACTATGAC [...]
+  d~g^ohqV~oWW[E{_g[A4A?mo]7MxnZ[^[ZT'\,ngo^\~coYU~D~~YocW}L~Z*~lg^M}YL~]HoQ:mijSboO~P~zL~a~f;~a\IW-~C~]?~p3~Z6nUTOUdDN$tmwNF^i/~xp^C~X[X{_hZLt9VEgnNm][W\OHfn:wAbL:~~aKsjQi]9~pIn;~nZoZV~HDjpb7ugSIWiRU'La-dR5kPn`~>~AQT*~gqhO~pIk[B\L~R<d|udGjM3pfi]CkgHY\gHSaR?c_gKuhWB)IGoGeIgreZRY+h[U[]iG~~U:Y9K~D~p_fO~dkq]RS~~h7{zf`@t~~]YM~_pD~]=~ydhM~r_~[ri_qg,~~^K~~riZ\~sV~VBoWM[LiA~tV^pW~~nSO~gVuipi_iLyBz^qgJfQ~o`u at 7~~%Z[~IvH~a2Wfp>~~GNBicY\Zh_ik[N~a~K~/]V~~F{XYgU=sn`hN{]?~~~hqeH=hnpJNsk_qN~^pqM~\qXXbb [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1757/ccs/rev np:i:6 rq:f:0.994762
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAAACAGCGTTATTATTTGGAAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAAACTATGA [...]
   +
-  f|V^eGO<x_^d^Xz^V]OO]BLL\9ext^dObHbV]CY=b_VxUOd,PHz|dNTXzL|fH|yVY1rKDwEK-d@~uMMTd=xFqtAd:P>(rS^UdEzTv^NzwCwVCxeeUcPbU:yyycFA4isdZAYa2Gi^UcBqBq?Pd\M\LU^UZ at MMzEy]9{hd?cMAw^Nzo8l8vyde_)a^A{|]>yde^F{YZ\@\UcOlVaP at O{fe^XzTD>=WaF{M@\Xzd?zzzeV{]/`>6Z9lY1^G@[?a,aU^UExeVe^EvGR3?X,ZT[$rb\J[>xyeV^WXzI~d]@OxVe_VOFbsU8yxTOGyzsGbUvXcG~];yyo at Oha>jUQTFJD-]p\>~vAQGWzdCg%C_=x\NTEv{e]e at yyb=KwT.gbc?ESNq&g]ZHS]USaaOeeJuaDa%oONzVyU]eUd?~~]Mc8Sc]eU]UcFNp<YLqL[F{kI~dc?J7wcZ-Ld]BtaU<X]U:yxu[.vMX\Vy]bN%tGGbeb at aG [...]
+  e{U]eFN;x_^d]Wz]U]OO\AKK[8ews]dNbHaU]CY<b^UxTNd,PGz|cMSWzL|eG|yUY0rJCvEJ,d?~uLMSd<wFps at c9P='qR]UdDzSv]NzwBvUBwddTcPbT9xxxcE at 3irdY@Xa1Fh]UcBqAp>Od\L[LU]UY at MMyDx\9{hc>cLAw]Nzn8l7vydd^)`]A{{]>xcd]EzYY[@\UcOlU`P at Nzed]WzTD==WaEzL@\Wzd>zzzeVz]/`=5Y9lY1^F at Z?`+aT]UDxdUd]EvFQ3?X,YR\$Yad\I[=wxdU]VWzI~d\@OxUd^UNFasT8xwSNFyzrFbTvWbF}];yyo at Og`>iTPTFJD,]p\=~u at QGVydCg%C_=x\NTEv{e]e at yyb=KwT.gbc?ESNq&g]ZHS]URaaOeeJuaDa%oONzVyU]eUd?~~]Mb8Sc]eU]UcFNp<YLqL[F{kI~dc?J7wcZ-Ld]BtaU<X]U:yxu[.vMX\Vy]bN%tGGbeb at a [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1800/ccs/fwd np:i:8 rq:f:0.9959
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATAAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAAT [...]
   +
-  x|]c~LbMyaZK`M~_]H^.uD`wZ)olZAcBs_OM`2lib87bN5\y[FY3jUCrhYTYvHiPEn{MTOTGuXRMKX9_L^WYanZh\fVUYgyYEi\|U'\C`=ee^i5rQS^|]zV]Dh^VsCT2GvD]_CxHjV;t]e^CTXTHcVwWzW8{}{]a|^W-d:StFZD{W5{|oXQxXY|z[aV$ptV\SkXNGBILauZL;ahlKq]m4b2[\^Cw_Mq{lMRtV][v%@3/Wle6gawOqLxDZGz]zUhBqVcT2dRI;lnO8 at TX]EyUJV;3HC9[9UpI_V_]0UJk1]bHcKZQX`_VhV^KUVlCjeW^lKC^XY]QU.sdWW_9sQE0g<3DB&RVPYEV[V\k>jPS=xlV&>=tLfTGQ at VY]SL??M4RdOWL>wVgNjDtX[LkWXF)CUKa7kgdyE}[.Q^VaXb`X]zT^9tNgXYY]wN+x}}wWWHvUWuZvFDZ<kwCZZX=BZDTGlZV+aSSO_rWKqW^UdZ3NW [...]
+  x|]c~LbMyaZK`M~_]H^.uD`wZ)olZAcBs_OM`2lib87bN5\y[FY3jUCrhYTYvHiPEn{MTOTGuXRMKX9_L^WYanZh\fVUYgyYEi\|U'\C`=ee^i5rQS^|]zV]Dh^VsCT2GvD]_CxHjV;t]e^CTXTHcVwWzW8{}{]a|^W-d:StFZD{W5{|oXQxXY|z[aV$ptV\SkXNGBILauZL;ahlKq]m4b2[\^Cw_Mq{lMRtV][v%@3/Wle6gawOqLxDZGz]zUhBqVcT2dRI;lnO8 at TX]EyUJV;3HC9[9UpI_V_]0UJk1]bHcKZQX`_VhV^KUVlCjeW^lKC^XY]QU.sdWW_9sQE0g<3DB&RVPYEV[V\k>jPS=xlV&>=tLfTGQ at VY]SL??M4RdOWL>wVgNjDtX[LkWXF)CUKa7kgdyE}[.Q^VaXb`X]zT^9tNgXZY]wN+x}}wWWHvUWuZvFDZ<kwCZZX=BZDTGlZV+aSSO_rWKqW^UdZ3NW [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1800/ccs/rev np:i:8 rq:f:0.994058
   AAGCAGTGGTATCAACGCAGAGTACGGGGGTTGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAAATATACGCAATGATATCCAACCCTACCGAAACAGCATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAGACGGTCCACCCTCAACGCTATGAACGTTAGTTGA [...]
   +
@@ -409,11 +402,11 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1860/ccs/fwd np:i:14 rq:f:0.997719
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACAT [...]
   +
-  ~~~~~~~~~~~~xw~~~~~~~~~~~=~~~~~~~~~~~~s~L~~~~s~~~\~~~~~|~~q~~~~~f~~{~a~~~~~~~b~q~~~{~Y~~`g~~~~~~^~~c~z~p~~~f~u~~~~~~~~~~dl~l~~~}~^~~~~~~~s~~~s~~~v~~y~~~W~~d~~~~~~~~~~~~u~edz~~Q~r~~D~~~2~~~~~~~~~q~j~~c~P~b~~~f<~~~x~~J~p~~q~Z~~Mi~~fh~~~~Q~~~~A~~p~J~b|~~~~~R~~~s~~~~~~~~x~~:}zoB~~_~~dZnX~~~q~~~_~~~M~~~~~~~~~~l(~~~~~[~~j~~`~~~~~~~~~~z~~~~~~~~~uc~~~~~~~z~~~g~^~~y~~~~w~~~~~~~~~~~~y~W~~~~\~e~~~G~c~~~}~i~r9xY[n~~h~~W~~}~~~~~~)~~ny~~J~w~~~~l~~~~~lrI~~~=~w@~~at~~~~r~]~~pv~q~~qy~o~~d~[Xg?Fnx~d~v~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1860/ccs/rev np:i:14 rq:f:0.997517
+  ~~~~~~~~~~~~xw~~~~~~~~~~~=~~~~~~~~~~~~s~L~~~~s~~~\~~~~~|~~q~~~~~f~~{~a~~~~~~~b~q~~~{~Y~~`g~~~~~~^~~c~z~p~~~f~u~~~~~~~~~~dl~l~~~}~^~~~~~~~s~~~s~~~v~~y~~~W~~d~~~~~~~~~~~~u~edz~~Q~r~~D~~~2~~~~~~~~~q~j~~c~P~b~~~f<~~~w~~J~p~~q~Z~~Mi~~fh~~~~Q~~~~A~~p~J~b|~~~~~R~~~s~~~~~~~~x~~:}zoB~~_~~dZnX~~~q~~~_~~~M~~~~~~~~~~l(~~~~~[~~j~~`~~~~~~~~~~z~~~~~~~~~uc~~~~~~~z~~~g~^~~y~~~~w~~~~~~~~~~~~y~W~~~~\~e~~~G~c~~~}~i~r9xY[n~~h~~W~~}~~~~~~)~~ny~~J~w~~~~l~~~~~lrI~~~=~w@~~at~~~~r~]~~pv~q~~qy~o~~d~[Xg?Fnx~d~v~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1860/ccs/rev np:i:14 rq:f:0.997512
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGGACTATGGGACTAGTCGTCTTCGGTCTTACAAATGTTGCAATGCCCTGTGAGCTACTTATGAAACATGAATGGTCGGTCTTGTGGTCGCTTTTGTCGAAATCACCGAAGTGCGTATAATTGATGAACGAGTCGAAGTCGAAGTTGTTCAACAAGAGAGTTAGGTAGTGCCGCTTGAAAAAGTAATAGTGCAAATAAGAAAAAGAAGCGAAACGGCATTCGTTTAACAAAACGTCACAT [...]
   +
-  0v{~~~~[~~~~~~~~~~~~~}~~~&~~~~~~~~~~~f~~9~~~~~~~~~~~~j~[~~~~~~~~B~~~~~~~~~~~~~~K~~~~~~~z~C~~~~~~~~~~~~~x~~~~y~~x~~}~~P~~~w~~~~B]~~~g~~~~~~~W~d~~e~~~e~~sp~~o~~t~~y~~~m~c~E~~~_~~wi~~~~~~Y~~~~~~z~~~~~d~~dL~~q~t~H~~~~v~~~~~~~~~~~~]~d~t~~w~~z~~~n~~~~~~~~~~Z~~~a~~2~~~~~~M~~{~~o~~W~~~~~~~~~~~w~~i~~~Zvq~~~n~m~~~~~~o~~}x^~~~~~~~W~O~~~S~~~|~`~B~~~~~[~~~a~~_n~~~~~~~y~~V~I~nC~~~~t~\~~}~~~r~N~~~~~~~~R~~hw~c~~~~~~~~f~~~wz~~`~~~S~f~~p~Y~gX~~~~b~~~~~hbA~~~~~~~bM~~~~v~~~sk~~~~I~~~l~~aa~~~~~L~~~~h~~~~~~ [...]
+  0vz~~~~[~~~~~~~~~~~~~}~~~&~~~~~~~~~~~f~~9~~~~~~~~~~~~j~[~~~~~~~~B~~~~~~~~~~~~~~K~~~~~~~z~C~~~~~~~~~~~~~x~~~~y~~w~~}~~P~~~w~~~~B]~~~g~~~~~~~W~d~~e~~~e~~sp~~o~~t~~y~~~m~c~E~~~_~~wi~~~~~~Y~~~~~~z~~~~~c~~dL~~q~t~H~~~~v~~~~~~~~~~~~]~d~t~~w~~z~~~n~~~~~~~~~~Z~~~a~~1~~~~~~L~~{~~o~~V~~~~~~~~~~~w~~i~~~Zvq~~~n~m~~~~~~o~~}x^~~~~~~~W~O~~~S~~~|~`~B~~~~~[~~~a~~_n~~~~~~~y~~V~I~nB~~~~t~\~~}~~~r~M~~~~~~~~R~~hw~b~~~~~~~~e~~~wy~~`~~~S~f~~p~Y~gX~~~~b~~~~~hbA~~~~~~~bM~~~~v~~~sj~~~~I~~~k~~aa~~~~~K~~~~h~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1902/ccs/fwd np:i:5 rq:f:0.991167
   AAGCAGTGGTATCAACGCAGAGTACGGGGTAAGTTTATTGATAGGTAAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGGCGGTATATTGGTAAATGACGATCCTTGACTTAGTTTTTTTACATCGAACGGTTGCAAATCCTAGCATACTTGATATTAATAGTAGATACTGAAATATATCTGAGTATATCAAGGGAAATCGAGATGTAACAATAAGTCGAGGAAATTAAGGTCAATTTAGTGCTTATCATAGAAATAACTACTTAAGCCCTTAAACGAACTAACTCAAATTAACGAGGTAGAGGTTATTCTGAATTGTACGAACGTAGTCGAAGTTTGTTACCAAGGGTAAAGCCAAAACAAAACGATTTTGACAAGAGAATCTATTCCATGTAGTAGTGCGTTTGTACGACGTTCTATTCGATGTAAATCATTAGGACG [...]
   +
@@ -421,367 +414,367 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1902/ccs/rev np:i:4 rq:f:0.990026
   AAGCAGTGTATCAACGCAGAGTACGGGGGTAAGTTATTGATAGGTAAAAAATCAAGAGAGGGTAATAAAGAAGAAAGAATAATCAAAAGATAGAGCATGCAAACATTACATGGTAGTATTGTTATAGGCGGTATATTGGTAAATGGACGATCCTTGACTTAGTTTTTTACATCGAACGGTTGCAATCCTAGCATACTTGATATTAATAGTAGATACTGAAATATATCTGAGTATATCAAGGGAAATCGAGATGTAACAATAAGTCGAGGAAATTAAGGTCAATTTAGTGCTTATCATAGAAATAACTACTTAAGCCCTTAACGAACTAACTCAAATTAACGAGGTAGAGGTTATTCTGAATTGTACGAACGTAGTCGAAGTTTGTTACCAAGGGTAAAGCCAAAACAAAACGATTTGACAAGAGAATCTATTCCATGTAGTAGTGCGTTTGTACGACGTTCTATTCGATGTAAATCATTAGGACGAGGGT [...]
   +
-  I]=JWOB&I4 at 92[MG:S8IN?C8$GOcDEJlQ.eUKROUESCP[)klgSMZPJfM)8N:NdZIQ,(WY7FZQ4iV'FePKl[P*ReXPSESRURN?XP:6hkOVNkWPW[EjE:RTVKiM;XP[U5VN3a+^c^&nL|c8UrQ'LJW\agM~UbYaXAkVA.^peb]]TIdYXM[WKt1sYX-v5KlfaD0NO_JE_W\>D7WCyOa\g_D\P`XPZ;zyO`aUKTcB/AR`fafYTg4wwJ{|gV+DAPKW`?xXQf5 at yYNXY^'Z%oc.jBsKv:WT|OzzaGQZYWzbdY`P`\D}|a>yTN`XOZ/yX,e]JtT|XEOeYe/xWRX1gQGlSzXY[&nNHEF;_?u/>oU[\?pWyXP`Y\?nXVT7BSSAMeEAubK6[`Ly??&VO&Gjz\J|Az|vY/vtbXCHJh]\aYSzF_Z,adUUWJXJ}`QHM138GEOZYW=`tX\IU,YU\FsUdaFvXYMPWd>{pPYaK{aNzaYVX4Y5, [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs/fwd np:i:13 rq:f:0.998296
+  I]=JWOB&I4 at 92[MG:S8IN?C8$GOcDEJlQ.eUKROUESCP[)klgSMZPJfM)8N:NdZIQ,(WY7FZQ4iV'FePKl[P*ReXPSESRURN?XP:6hkOVNkWPW[EjE:RTVKiM;XP[U5VN3a+^c^&nL|c8UrQ'LJW\agM~UbYaXAkVA.^peb]]TIdYXM[WKt1sYX-v5KlfaD0NO_JE_W\>D7WCyOa\g_D\P`XPZ;zyO`aUKTcB/AR`fafYTg4wwJ{|gV+DAPKW`?xXQf5 at yYNXY^'Z%oc.jBsKv:WT|OzzaGQZYWzbdY`P`\D}|a>yTN`XOZ/yX,e]JtT|XEOeYe/xWRX1gQGlSzXY[&nNHEF;_?u/>oU[\?pWyXP`Y\?nXVT7BSSAMeEAubK6[`Ly??&VO&Gjz\J|Az|vY/vtbXCHJh]\aYSzF_Z,adUUWJXJ}`QHM138GEOZYW=`tX\IU,YU\FsUdaFvXYMPWd>{pPYaK{aNzaYVX4Y5, [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs/fwd np:i:13 rq:f:0.998195
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATTCTCGATTTCCCTTGATAT [...]
   +
-  ~~~~~~~d~~~~~~~~`}v~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~{sl~Q~q~~~nr~~~~~~~r~~~~|~~~~Z~~~~f~_~~~ylfw~~~~~_~h~~~~~~f~t~>~~~~\~~~~~~Znx`~~~~~~Z~~~h~~~~s~e~~~~m~~[~~O~~~~~~~n~~~~|~~q~~k~W~@~~~~~~~~e~W~~q2~~~~r~~~g~~~S~{O~i~~i~~~so~~~e~~S~~Q~~~w~~R~qIikn~q~~~~~~~~N~~~~a~~~~~~~d~j~~Ip~~~t~~~~~~~~~v~~~~~~~F~a%{X~|~~~~~L~~~~[~~~\~~\~~\Y~~~~s~~\~BJ~~~~~~~]R}O~}~~k_~y~^~~~~~o|~~w~b~~~~~>~~xv~~c~g~~y~~~~~~Q~~~q~z~S~~~z~u~~~~~'~~Q~~~~~~~~~s~n~~u~h~~~~~dd~~~Q~f~~~~~~~~~~~~~~qa~~~b$o~~~~~q~~[~~~~~lz~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs/rev np:i:14 rq:f:0.999025
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCTTGATAT [...]
+  ~~~~~~~d~~~~~~~~`}v~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~{sl~Q~q~~~nr~~~~~~~r~~~~|~~~~Z~~~~f~_~~~ylfw~~~~~_~h~~~~~~f~t~>~~~~\~~~~~~Znx`~~~~~~Z~~~h~~~~s~e~~~~m~~[~~O~~~~~~~n~~~~|~~q~~k~W~@~~~~~~~~e~W~~q2~~~~r~~~g~~~S~{O~i~~i~~~so~~~e~~S~~Q~~~w~~R~qIikn~q~~~~~~~~N~~~~a~~~~~~~d~j~~Ip~~~t~~~~~~~~~v~~~~~~~G~a%{X~|~~~~~L~~~~[~~~]~~\~~\Y~~~~s~~\~BJ~~~~~~~]R}O~}~~k_~y~^~~~~~o|~~w~b~~~~~>~~xv~~c~g~~y~~~~~~Q~~~q~z~S~~~z~u~~~~~'~~Q~~~~~~~~~s~n~~u~h~~~~~dd~~~Q~f~~~~~~~~~~~~~~qa~~~b$o~~~~~q~~[~~~~~lz~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1945/ccs/rev np:i:14 rq:f:0.999584
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCTTGATA [...]
   +
-  4~{~~~~z~~~~~~~~~~~~~~~~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~x~y~~s~~~~~pS~~J~~~s~~h~~{~u~~Mwd~h{~~~~~q_~~W~1~~~~~ob~~ps~~~~a~~~~v~`~~L~~s~~~a~~~p~~~~Z~n~~~~~|br~ke~~~~~~e/pl~~r~~et~s~~~j~~~~~k~z~~9~~~f~~f~~~s~QnW~~~~~~`~~n~~~~~~~~}~cb~n8~~~~hme~rfe~~~b~~~~~~~ln~Z~~{~~i~~~_~~g~~~~d~~q~~~~s~~h~`~~~~~q~~~~y~~~~t~~~~hK~~~zW~~~b~~a~~~q~~d~}~~~~~y~~~z~~~~c_~~~V~qsT~a~~~~~~~t~s~~a~~~~~i~~~~s~~~i~~~~~~~~~~~~~~~~~a~~u~~~~~e~~~~~d~~~~~x~~~~~~~~~~x~~~~~~7~~~~~T~~V~~~~~~~~~l~~~~~u~~~~~~~f~~\~~j~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs/fwd np:i:9 rq:f:0.998231
+  9~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p~}~~~~x~~~~~uX~~P~~~x~~m~~~~{~~S}j~n~~~~~~wd~~]~7~~~~~tg~~uy~~~~g~~~~|~e~~R~~y~~~g~~~v~~~~_~s~~~~~~gw~pj~~~~~~k4ur~~w~~jz~x~~~o~~~~~q~~~~>~~~l~~l~~~y~Vt]~~~~~~e~~t~~~~~~~~~~ih~t>~~~~msk~xlk~~~h~~~~~~~qt~`~~~~~n~~~e~~m~~~~i~~w~~~~x~~n~f~~~~~w~~~~~~~~~z~~~~nP~~~~\~~~h~~f~~~w~~i~~~~~~~~~~~~~~~~id~~~\~vyZ~f~~~~~~~y~y~~f~~~~~o~~~~y~~~n~~~~~~~~~~~~~~~~~f~~z~~~~~k~~~~~j~~~~~}~~~~~~~~~~~~~~~~~=~~~~~Z~~[~~~~~~~~~q~~~~~z~~~~~~~l~~a~~p~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs/fwd np:i:9 rq:f:0.997785
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTAACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCT [...]
   +
-  c~zJVQmW~~X~QI~h~ghxozrAfM~~~lh~e~fS~}~B~~e}mxFz~gX~@~[~~=~~ySiL~~^~hwL~gh~R~h~fyximq~i~m~U~~~~kf~~g=~}a].x~~wl|l}}_c~~~vVh~\V{~R~X~~ekPt~mh~b~~~c~h~zT}7zaaq~cSQM{FZ~clwW~Q~{mcg~{hcO~i~h~~g~Mqj~~~I~~~V~<~qX~g}i|~YUX~d|ig~}~eUppcsQ~~{x~h~~>\_~ZkX~f~yhd~h~~d~Tg~X`x|OE~~kb~~|~i~Wh~oZ~~i~}X~{F~X{gkQ~~}B~~c~[~~j~{^gl~T~ie~ffin}z~~~2~~i~[I~lG~~G~~~F~x]~~m}mP~i~Xe~Z~~U8~}e\e{m}w<~j~:~pc~{2~~z^~y}~l^W~~~~|x4~~~s[iw~ceh~hu|pMg|~R~wR~~C~~q~s}?~oUHheNe~c~R~)~~~PMxtmw~P=u`t`~~s^pGb~]9Xvq`yuN~n`wLf [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs/rev np:i:8 rq:f:0.995017
+  c~zJVQmW~~X~QI~h~ghxozrAfM~~~lh~e~fS~}~B~~e}mxFz~gX~@~[~~=~~ySiL~~^~hwL~gh~R~h~fyximq~i~m~U~~~~kf~~g=~}a].x~~wl|l}}_c~~~vVh~\V{~R~X~~ekPt~mh~b~~~c~h~zT}7zaaq~cSQM{FZ~clwW~Q~{mcg~{hcO~i~h~~g~Mqj~~~I~~~V~<~qX~g}i|~YUX~d|ig~}~eUppcsQ~~{x~h~~>\_~ZkX~f~yhd~h~~d~Tg~X`x|OE~~ja~~{~h~Vg~nY~~h}|W~zE~WzfjP~~|A~~b~Z~~i~z]fk~S}hd~eehm|y~~~1~~h~ZH~kF~~F~~~E~w\~|l|lO~h~Wd~Y~~T7~|d[dzl|v;~i~9~ob}z1~~y]~x|}k]V~~~~{w3~~~rZhv~bdg~gt{oLf{~Q~vQ~~B~~p~r|>~nTGfdMd~b~Q~(~~~OLwskv~O<t_s_~~q]oFa~[8Wup_xtL~m_vKe [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1948/ccs/rev np:i:8 rq:f:0.994982
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTA [...]
   +
-  Y~I^~`_5x<sito~o[FfIa]`~n+ihc^[y:~sPmXt(QQs<S<q>^\g~^~6~d/o~~}vC~fG~i[ZxR99WrR~\MLaoWcF7t[Bo~~b^+~~oH~{ct0|~~~~[W]B,Ii}Kz;i~wkX8ZQ>~v_v_`reX{L~~}K~XkY~d3ujkJZCTZazpS~ZfMN_Ig_ht\~\hUMf at cEoqqq]CBaI)Ntqs-o4~~o~u~bYZ\yT;)g`L}^Ohdv\OVC}Ks`oG~s[~8naE/~$tdn`J~puF at kxQNv9~rVPYkR>Q=G`M/X<ic5Ul^|9DZTNYk~q\]~|\]qj/~NsknPkOdi~KfgErTI[?UL[NVL~u_\o@~h4~~_r~aa~xU~__MoOxJhKI~X~~}BZ]puc~obv~tbE~uul9N~g,B\I7f<k^~_]FkY<~xx~xnWaf]RagN-iNnkEE|h=kjPvo>wC]&ggRbFhfih\Wj>~{i|ifFgr at YNS]_GoWqTBWjUHP87;0PJHgCSSMB] [...]
+  Y~I^~`_5w<sitp~o[FfIa]`~n+ihc^[y:~sPmXt(QQs<S<r>^\h~^~6~d/o~~}vC~fG~i[ZxR99WrR~\LLaoWcF7t[Bo~~b^+~~oH~{bt0|~~~~[W]B,Ii}Kz;i~wkX8ZQ>~v_v_`reX{L~~}K~XkY~d3ujkJZCTZazpS~ZfMN_Ig_ht\~\hUMf at cEoqpq]CBaI(Ntqs-o4~~o~u~bYZ\yT;)g`L}^Ohdv\OVC}Ks`oG~s[~8naE/~$tdn`J~puF at kxQNv9~rVPYkR>Q=G`M/X<ic5Ul^|9DZTNYk~q\]~|\]qj.~NsknPkOdi~KfgErTI[?UL[NVL~u_[o@~h4~~_r~aa~xU~__MoOxJhKI~X~~}BZ]puc~obv~tbE~uul9N~g,B\I7f<k^~_]FkY<~xx~xnWaf]RagN-iNnkEE|h=kjPvo>wC]&ggRbFhfih\Wj>~{i|ieFgr at YNS]_GoWqTAWjUHP87;0PJHgCSSMB] [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1960/ccs/fwd np:i:6 rq:f:0.994341
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTTAGTTGAAATAGTTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCATATAAGTCGAAGCATTTCAAATGGTTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACA [...]
   +
-  I{[Xa`mKhJKRE'y\`\N]cJM&HClnpYuLhb`hcQ~~hfOo]1`BEGdM~R at pZIABe\`KLcQh_BQC^ZI_GeIm9WI&ML5J+F;Z^IERR6SRacK{8lDnqQF at bGBUy^fJ[GmbOi]~^QMCS}Q~kQ_[)gQk]QbCA}_P^O_E~~g_jQ[7Zp`mhV^^^Y.QJVLQ'DFHz[\KE at s~~`m^6N]i^c?}~^m%u_Z\fmdM}=g\lQ~i,~~i'Z~aj[P)gfcWRP~sEHQDpYZaeA^_[GcGf`Y~hmP~9]kA~gk=~DdYMY`HH|F\MEj`jGK~`e+}I~[La9QfceIfZ_G~M~Q_j6T>diX~\b<}fFHyZ;hD:|djejCh_R\^CjHZK-xaE$|{eO|%|]^gf7s^Ymh`h^_MWGJ^FN8jgNI_W;^jGfd]R]l^^~5j~xhG~d]F~_i6dj^Rf`fN~^~`m^mfH:t~~\D9H~F3}_h^`fJ}_/kZJG~]`^kQb`G~]_H~:]J~`gafXU [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1960/ccs/rev np:i:6 rq:f:0.993141
+  I{[Xa`mKhJKRE'y\`\N]cJM&HClnpYuLhb`hcQ~~hfOo]1`BEGdM~R at pZIABe\`KLcQh_BQC^ZI_GeIm9WI&ML5J+F;Z^IERR6SRacK{8lDnqQF at bGBUy^fJ[GmbOi]~^QMCS}Q~kQ_[)gQk]QbCA}_P^O_E~~g_jQ[7Zp`mhV^^^Y.QJVLQ'DFHz[\KE at s~~`m^6N]i^c?}~^m%u_Z\fmdM}=g\lQ~i,~~i'Z~aj[P)gfcWRP~sEHQDpYZaeA^_[GcGf`Y~hmP~9]kA~gk=~DdYMY`HH|F\MEj`jGK~`e+}I~[La9QfceIfZ_G~M~Q_j6T>diX~\b<}fFHyZ;hD:|djejCh_R\^CjHZK-xaE$|{eO|%|]^gf7s^Ymh`h^_MWGJ^FN8jgNI_W;^jGfd]R]l^^~5j~xhG~d]F~_i6dj^Rf`fN~^~`m^mfH:t~~\D9H~F3}_h^`fJ}_/kZJG~]`^kQb`G~]_H~:]J~`gafXU [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1960/ccs/rev np:i:6 rq:f:0.99314
   AAGCAGTGGTATCAACGCAAGAGTACGGGGTTGGTTGTATTTATCCCGCTACGTGGTGGGTAATGAACATGGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCACCTCAACGCTATGAACGTTAGTT [...]
   +
-  8YWMC]RO|RkfGTa_WF(?A.R'OZ&fkZSf,}$AB^l5~ufV'4<@%4`IC/4HO(3M%8>JNf~hjX%s_`gQSce}Y:bjv:~~ReJ~r]vZ]e`cHrBL[]oq[~O~:s~p]3l^:~wV`a?JqOSy`~f1thSz;hi\OipViDBwrRJ~gxfpZ/~~nh0rZS,nR]CtRb4oS*s~]^@te\~~q`e;~~frQv\NbJ\O~~i[+~kMHThPQrNHW/7X?7WmrM:M>H]u7dc^fqGy~xkxMxbhgXcq_V\X9mNKepB=sSZqEmWWFkLpVbRLG at lje`e\Vk`^~@WL~wZ{;QkWLd>sg]`fboCYUL7IE at yHP\NO)_cXR)uRpE4Fqa^TWPTc2[hNL`Jcp7v~h.kz\OeGsgq at I{vdPm at uaNe<X`[MV>}rsCSdaMJhebN5E at D2m;x~|k0r`JQ at -0TV4QMeOcI{NmMVimkS:~~~~je:lObzhxYei%p@{ekW~jhg>AkaT~iN'zTfQ~ [...]
+  8YWMC]RO|RkfGTa_WF(?A.R'OZ&fkZSf,}$AB^l5~ufV'4<@%4`IC/4HO(3M%8>JNf~hjX%s_`gQSce}Y:bjv:~~ReJ~r]vZ]e`cHrBL[]oq[~O~:s~p]3l^:~wV`a?JqOSy`~f1thSz;hi\OipViDBwrRJ~gxfpZ/~~nh0rZS,nR]CtRb4oS*s~]^@te\~~q`e;~~frQv\NbJ\O~~i[+~kMHThPQrNHW/7X?7WmrM:M>H]u7dc^fqGy~xkxMxbggXcq_V\X9mNKepB=sSZqEmWWFkLpVbRLG at lje`e\Vk`^~@WL~wZ{;QkWLd>sg]`fboCYUL7IE at yGO\NO)_cXR)uRpE4Fqa^TWPTc2[hNL`Jcp7v~h.kz\OeGsgq at I{vdPm at uaNe<X`[MV>}rsCSdaMJhebN5E at D2m;x~|k0r`JQ at -0TV4QMeNcI{NmMVimkS:~~~~je:lObzhxYei%p@{ekW~jhg>AkaT~iN'zTfQ~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1991/ccs/fwd np:i:8 rq:f:0.997902
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATTAT [...]
   +
-  ~~}gyz~2~~_~t<~{{t1{~z~`w&~~~~~~~~~~~~~~~~~~~~~~~~~85lTI~lbtv~c~i~u}t~R~h~c~e9~~wce~IBYN~k~C`d9P~}~H~mdg|O~~~z~)~rpY~}wO~xpF~~eT~|f^~G5jQ~6~~~|lpS~|Y~~gh~}~T~R~fA~jN$~~~xL~my~~~~Oq~~~~t~E|~K~~lf{Q~||\B~Co~|~Wd~eq[~t~~n~pzdy~`~vUHC~~x}|^wW~~u~T~rd~|f~e~~~c~{u~msgt~Xxb~~~sv-~f~y~_~O`{z~~~NpsSw=~~~~|oO{}a~ze~u}~~T~[~~eylc~~g~e^h~~T~t~ztosJK~~udx>~|t~u}~~~~~<~~~{~K~~h~~~~~r~Gb~~}u|X~~~~~~w~~~FPt_|~A~~R~n~s|X~v}dXe|~~B~pQ~~Y~~~\{rfyz~~~~~}_~z~|g~}x~j~|~~|uft~v~~|~zv~\~~M~~~@~~~~~ox~Kp~~x~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1991/ccs/rev np:i:8 rq:f:0.999132
+  ~~}gyz~2~~_~t<~{{t1{~z~`w&~~~~~~~~~~~~~~~~~~~~~~~~~85lTI~lbtv~c~i~u}t~R~h~c~e9~~wce~IBYN~k~C`d9P~}~H~mdg|O~~~z~)~rpY~}wO~xpF~~eT~|f^~G5jQ~6~~~|lpS~|Y~~gh~}~T~R~fA~jN$~~~xL~my~~~~Oq~~~~t~E|~K~~lf{Q~||\B~Co~|~Wd~eq[~t~~n~pzdy~`~vUHC~~x}|^wW~~u~T~rd~|f~e~~~c~{u~msgt~Xxb~~~sv-~f~y~_~O`{z~~~NpsSw=~~~~|oO{}a~ze~u}~~T~[~~eylc~~g~e^h~~T~t~ztosJK~~udx>~|t~u}~~~~~<~~~{~K~~h~~~~~r~Gb~~}u|X~~~~~~w~~~FPt_|~A~~R~n~s|X~v}dXe|~~B~pQ~~Y~~~\{rfyz~~~~~}_~z~|g~}x~j~|~~|uft~v~~|~zv~\~~M~~~@~~~~~ox~Kp~~x~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1991/ccs/rev np:i:8 rq:f:0.998997
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGTTTTTTACACTTATTAT [...]
   +
-  _~ov~uz=~i~~^n~uqF|_~q|~u'~~~~~~~~~~~~~~~~~~~~~~~~~~~yt_a~~vhhv~Q~^q:Ym~o~w~Q~uL~~lul~w~vo~[~}e_cG~G~b~~~~_n~k~tlc~~^~]tJ~_~1~g^`~u\~~\E|;~P~t(q~lO~u^~~t_~uk`~E~qJ~~p^~~]G~huu~tku~th\h~~i`s<j~~t^G~r^~d~~~~v}Orksh\~uu~[~~u_t~i~q~N~~u~u_~uo~~}l_~~Z~u[~c~kbo~w~~~vu[~~_n~u~iqJ~FwY~i~ktvm~ngvj~w~R~~tvsglvt\~mb~~w~|[~R~~tu~uxjU~Z~a~ic~~uw~t^sInP]_to~[zk~vuv~u~k~iLtiD~~[~~l~vK~~P~~^~vU~~v~ktl~uk~~^~v~F~~I~m~TrY~ksuka]h~d~k_~uJ~~~}njt`p_x]t~u\~uuu[~uJvR~u~it~w~j~Rrw~u^~V~~p~q`0~~~~~~u~lb~~6~~g [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs/fwd np:i:5 rq:f:0.991195
+  ]~nt~sx<~h~}]l~spDz]~pz~t&~~~~~~~~~~~~~~~~~~~~~~~~~~~wr]_~~ufft}O~\o9Wk}m~u~O~tJ~~jsk~u~tm~Y~{c^aE~E|`~~~~]l~i~sjb~~\~\rH~]~/~f]^~sZ~}ZDz9~N~r&p~jM~s\~~r]~si^~D~pH~~n\~}[E~fss~sis}sgZf~}g^q;h~~r\F~q\}b~~~~t{MpiqfZ~ss~Y~~s]s~g~o~L~~t~s]~sm~~{j]~~X~sY~a~i`m~u}~~tsY~~]m~s}gpH~EuW~g~irtk~mfth~u~Q~~stqejtsZ~k`~~u~zY~P~~ss~sviT~X~_~ga~~tu~s]qGmN[]rm~Zxi~ttt~t~i~gKrhB~~Z~~j~tI~~O~~]~tS~~t~irk~si~}]~t~D~~G~k~SpW~irsi_\g~b~i]~tH~~~{mhr^n^w\r~s[~sstY~sItQ~s}gr}u|h|Ppu~s]~T~~n~o^.~~~~~~t~j`~~5~~f [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs/fwd np:i:5 rq:f:0.991191
   AAGCAGTGGTATCAACGCAGAGTACGGGGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCCTGAGACTATATCATACAAAATTGACCCAAATAATTAACTCGTTCCAATAGTTGAAGTGTTGATTAACACATTGAGACAAGTTGTCCGTACTTTAATCATCAAAGTTTTGGACTGACCTATAAATGAAATATTCGCGTTGTCTTCAGTTTAAGAAGTGATATTATTTTCGGTTTCAAGCCTATGTGGAGAGATACAGGAAATAGGTAAACTATAACTAATATAAATATACGCAGACGAAGCCTGTTAACTTTACCAAATCCAAATAGCGGGAGACA [...]
   +
-  W~e]henC~hbp\H~\_MZcRcnOE=~~~pCucWd6hVbkK~7TIdMhheZEHEG_mFcpeU`4Y3zRA~fW6xcd]lMX~[YY_H8>J]>ch>~sZ=VIXPm\EkZFjwcmcaR`JI`WfV_nFdTt-cu_[c/c_^epUn__`~OI~\ep]KjeA~`P~PLc;NW;,%VdOX0>3eJk9ZLbR\gYIBI6BbheL~~~[>ne`~Md?X_n)rmWcheh[Z=UHNYVMJC(B`cWddR9~\@~~oX~'$$zBn]e[g>oKmhLcBPQ/vPlMVB`VU~7|ZQ\fM~O;AH\+LL_~ELL~emIUCzXCw_\eV[F~nM1w_sA~f\i]^-`[\_2~bUc3~f_'Ta2]]a5}HQXVu]Mc6b~Sd_0xaUcglgYnR=VYq\QwF~jF2/MM~nQUcnCud;cSRl:XO1f0z[OfQ~_8nmYUeiFk]pK~nK^LycoeSMCL[idhZMRsd<~lLHzJ~]R~lXL~>~oOJm:97jbcE6i`GR]CL [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs/rev np:i:5 rq:f:0.993312
-  AAGCAGTGGTATCAACGCAGAGTACGGGGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTGACGATCCCTGAGACTATATCATACAAAATTGACCCAAATAATAAACTCGTTCCAATAGTTGAAGTGTTGATTAACACATTGAGACAAGTTGTCCGTACTTTAATCATCAAAGTTTTGGACTGACCTATAAATGAAATATTCGCGTTGTCTCAGTTTAAGAAGTGATATTATTTCGGTTTCAAGCCTATGTGGAGAGATACAGGAAATAGGTAAACTATAACTAATATAAATATACGCAGACGAAGCCTGTTAACTTTACCAAATCCAAATAGCGGGAGACACTA [...]
+  W~e]henC~hbp\H~\_MZcRcnOE=~~~pCucWd6hVbkK~7TIdMhheZEHEG_mFcpeU`4Y3zRA~fW6xcd]lMX~[YY_H8>J]>ch>~sZ=VIXPm\EkZFjwcmcaR`JI`WfV_nFdTt-cu_[c/c_^epUn__`~OI~\ep]KjeA~`P~PLc;NW;,%VdOX0>3eJk9ZLbR\gYIBI6BbheL~~~[>ne`~Md?X_n)rmWcheh[Z=UHNYVMJC(B`cWddR9~\@~~oX~'$$zBn]e[g>oKmhLcBPQ/vPlMVB`VU~7|ZQ\fM~O;AH\+LL_~ELL~emIUCzXCw_\eV[F~nM1w_sA~f\i]^-`[\_2~bUc3~f_'Ta2]]a5}HQXVu]Mc6b~Sd_0xaUcglgYnR=VYq\QwF~jF1/MM~nQUcnCud;cSRl:XO1f0z[OfQ~_8nmYUeiFk]pK~nK^LycoeSMCL[idhZMRsd<~lLHzJ~]R~lXL~>~oOJm:97jbcE6i`GR]CL [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/1999/ccs/rev np:i:5 rq:f:0.993087
+  AAGCAGTGGTATCAACGCAGAGTACGGGGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTGACGATCCCTGAGACTATATCATACAAAATTGACCCAAATAATAAACTCGTTCCAATAGTTGAAGTGTTGATTAACACATTGAGACAAGTTGTCCGTACTTTAATCATCAAAGTTTTGGACTGACCTATAAATGAAATATTCGCGTTGTCTCAGTTTAAGAAGTGATATTATTTCGGTTTCAAGCCTATGTGGAGAGATACAGGAAATAGGTAAACTATAACTAATATAAATATACGCAGACGAAGCCTGTTAACTTTACCAAATCCAAATAGCGGGAGACACTA [...]
   +
-  <aOGW[]-lfnQd`~MXFEP^Ygj_:~|_aF^Z`X8ycj_U~KrM[Zgi`FahEAaNZ>GA;;>S%m)]adCyoQa:[a~]pcFcVl=no]m&|h8MhQ~X~`Z~S5cXIdEfJBj6uKne\RL~NrDz`g`U8xuQ[h]rT5MagAfJEdM[tg>~f?|hnQS|Wg^M~dcHiOyX~]gL~2i`hlLDc\pe[OR1XgwdnKP%Bme]nJI~~bT:VneaLeohephp_0[byX~]pEsWD{~e`}bC{~Lfe]KgC~a~hp[$DFNvJY@'CGdBEH_^peoG~XiYc\0YDLcAbR~[;md0qh\gddf&`G~yX5pSnN}SKg]pU~hhRE~qR[J~~feImdZ`\@J[ca&apX8[F=uY:GQ;YUQl5nd1jJ7EFAZzeb~WP|c:_EaCg8,ODdKi5kO~2~shp:\:2xsQGmhZaZZGb\TQDnuhphjcG[nFkMZL~EO}\/6qIg]@~~oQ}Q|lRQ~GZyfk\e*~rhSjepec@ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2012/ccs/fwd np:i:6 rq:f:0.993117
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCACCGGGTTTTACAAAGGAGAACTTCCAAACATCAAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTTAGGTGTGTCGGAGGGCAGAAACCA [...]
+  <aOGW[]-lfnQd`~MXFEP^Ygj_:~|_aF^Z`X8ycj_U~KrM[Zfi`FahEAaNZ>GA;;>S%m)]adCyoQa:[a~]pcFcVl=no]m&|h8MhQ~X~`Z~S5cXIdEfJBj6uKne\RL~NrDz`g`U8xuQ[h]rT5MagAfJEdM[tg>~f?|hnQS|Wg^M~dcHiOyX~]gL~2i`hlLDc\pe[OR1XgwdnKP%Bme]nJI~~bT:VneaLeohephp_0[byX~]pEsWD{~e`}bC{~Lfe]KgC~a~hp[$DFNvJY@'CGdBEH_^peoG~XiYc\0YDLcAbR~[;md0qh\gddf&`G~yX5pSnN}SKg]pU~hhRE~qR[J~~feImdZ`\@J[ca&apX8[F=uY:GQ;YUQl5nd1jJ7EFAZzeb~WP|c:_EaCg8,ODdKi5kO~2~shp:\:2xsQGmhZaZZGb\TQDnuhphjcG[nFkMZL~EO}\/6qIg]@~~oQ}Q|lRQ~GZyfk\e*~rhSjepec@ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2012/ccs/fwd np:i:6 rq:f:0.993399
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCACCGGGTTTTACAAAGGAGAACTTCCAAACATCAAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTTAGGTGTGTCGGAGGGCAGAAACCA [...]
   +
-  RqXQ[V^Kp\B\Q at jPUODVDU\EP2qq`QKqX\2oWQWDW\@Z8-CnCpl6op]F?/6OGo[W=nPRp?V1OTNBWO2BP^X\E\Cpp[^W9oh:DmlMD1BXpj[X[X[QKp[X[P>n][X^X^Kp^Q[QX]I7I?gp[Fp at pX[^'m[Y^[DZPNnQNqQ[XNqKp^X^TPEdQXNKQHn^[OE\XNEOQnF/chf[Q\Q\Q[XOEPX^Y2mmZXQ1e[X^X\7lNpXV&+`9<\X:jUXY$DCq^QZ[Ds<pp^[Q[V;\[^EoXOCJm^V at X.JoRp[W9lSWKp<ss\F4a[Q[^Q^ApXDsQp=?[kQHs^QZ?:l4P?NX^X\:9X<Oh8)j?Z2nU9=mZ^Y2oV6pXWLSQ]QXQp@\Kp\B:MlX[U=m6k=nTQ^Q^Q[X^2tgZ?n=qm?T<OLE\Q[Q^TFVMm@[Z\PJ[XDs^[X^Kp]@YQp[W=nGr^QMf8-XKp[VDYKp^X)onZUGl]X\@\Q1e[CqnQR-7[XCn9 [...]
+  RqXQ[V^Kp\B\Q at jPUODVDU\EP2qq`QKqX\2oWQWDW\@Z8-CnCpl6op]F?/6OGo[W=nPRp?V1OTNBWO2BP^X\E\Cpp[^W9oh:DmlMD1BXpj[X[X[QKp[X[P>n][X^X^Kp^Q[QX]I7I?gp[Fp at pX[^'m[Y^[DZPNnQNqQ[XNqKp^X^TPEdQXNKQHn^[OE\XNEOQnF/chf[Q\Q\Q[XOEPX^Y2mmZXQ1e[X^X\7lNpXV&+`9<\X:jUXY$DCq^QZ[Ds<pp^[Q[V;\[^EoXOCJm^V at X.JoRp[W9lSWKp<ss\F4a[Q[^Q^ApXDsQp=?[kQHs^QZ?:l4P?NX^X\:9X<Oh8)j?Z2nU9=mZ^Y2oV6pXWLSQ]QXQp@\Kp\B:MlX[U=m6k=nTQ^Q^Q[X^2tgZ?n=qm?T<OLE\Q[Q^TFVMm@[Z\PJ[XDs^[X^Kp]@YQp[W=nGr^QMf8-XKp[VDYKp^X)onZUGl]X\@\Q1e[CqnQR-7[XCn9 [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2012/ccs/rev np:i:5 rq:f:0.99375
   AAGCAGTGGTATCAACGCAGAGTACGGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGCTATCCTGAGGTGCCAGGTTAGAATAGGCCCTACCACATCTAAGCCTTTGAAACGGTCTGTTCCTCGTGTCAAGTTCTTTGTCCGCTTATACCGCCATCTCTCGTTGTGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAA [...]
   +
-  /YKA\QNEhUXLWKgWO?CLPO3ER$oooWXLW&VGRMT6CHLOBVKnKo>sT2nokSWEn]/OL?0TP(nOJn=nTA*>Z:XO.[Y.fSHLC/v|aC~~bj>~r^rjZjZjb;aXAMKX~gjZdZPB@&_jcZgjch0||hK~YsXjgE~~~~eH~aG~JH~`QXRh>>'VQYjK~cZcX~HkcjchaE_7`QDc)|||hRdbcKhZbCVY:f3~~]Fa=~P>B<-0uY}A_BnJsaH~YJ~~[TcZP~_bPgB~H~iIKE4RLdhaSigZc)zaDR~i<zEEeZYj%eK~9axgiR~P_Pdcg\~ZS~$wXY2~VH6^R][WJwS~PbZfYOJZ~ZJx^$NPUK?_SWEzgNhS~ZS~jfce`NbZF~YfHjRh^W{ZZXF}J~X~jcfbPbjYR at bWTD^:~~AqcjY<eLhbdZjZGhYfiPe<E<?|Ph[fM~g^^F~gDH}I`^X\~cdI;|hZggHffZ0xoe5cWVeW`bM~jD~~chDQ}~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs/fwd np:i:12 rq:f:0.999043
+  /YKA\QNEhUXLWKgWO?CLPO3ER$oooWXLW&VGRMT6CHLOBVKnKo>sT2nokSWEn]/OL?0TP(nOJn=nTA*>Z:XO.[Y.fSHLC/v|aC~~bj>~r^rjZjZjb;aXAMKX~gjZdZPB@&_jcZgjch0||hK~YsXjgE~~~~eH~aG~JH~`QXRh>>'VQYjK~cZcX~HkcjchaE_7`QDc)|||hRdbcKhZbCVY:f3~~]Fa=~P>B<-0uY}A_BnJsaH~YJ~~[TcZP~_bPgB~H~iIKE4RLdhaSigZc)zaDR~i<zEEeZYj%eK~9axgiR~P_Pdcg\~ZS~$wXY2~VH6^R][WJwS~PbZfYOJZ~ZJx^$NPUK?_SWEzgNhS~ZS~jfce`NbZF~YfHjRh^W{ZZXF}J~X~jcfbPbjYR at bWTD^:~~AqcjY<eLhbdZjZGhYfiPe<E<?|Ph[fM~g^^F~gDH}I`^X\~cdI;|hZggHffZ0xoe5cWVeW`bM~jD~~chDQ}~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs/fwd np:i:12 rq:f:0.998786
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGC [...]
   +
-  ~~~~~~~x~~~~~i~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~w~~~~~}~~{~~~|~~\~~G~~~~~~~~~~~~~~~~p~~~~~~~~~~_~~~t~~q~m~}~~~~~~~~~~~`~~{~V~y~~~T~~}~k~~uS~~{X~~?~~~/~a~{~~~~~/~~~d~j~~]~~~~}~~~w~~~~~u~m~o~~~~~~a~~h~~~~~G~~~~Y~~L~~~~~~~~~~P~~K~~~Q~~|~~~L~~~~~al~~~M~~wn]~u~n~~~~~~~~~~~w[~~C~~y~~~~~L~p~~y~u~~z~j~~~~|~~~~~~~~~~~c~~~l~~~~~~~~n~mtn~g~~n~m~~~~h~~w~~g~~S~~~~~yj~~~~~~`~i~~av~~~~~~~~f~~~u~q~~c~X~~~c~~~~~j~d~~~su~M~~~~~~O~~~T~~~~L~~~~S~~~~m~iis~~~W~~}z~9~~~K~~~~~~~f~~]~~p~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs/rev np:i:12 rq:f:0.999321
+  ~~~~~~~x~~~~~i~~~~~~~~~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l~~~~~~~~w~~~~~}~~{~~~|~~\~~G~~~~~~~~~~~~~~~~p~~~~~~~~~~_~~~t~~q~m~}~~~~~~~~~~~`~~{~V~y~~~T~~}~k~~uS~~{X~~?~~~/~a~{~~~~~/~~~d~j~~]~~~~}~~~w~~~~~u~m~o~~~~~~a~~i~~~~~G~~~~Z~~L~~~~~~~~~~P~~K~~~Q~~|~~~L~~~~~al~~~M~~wn]~u~n~~~~~~~~~~~w[~~C~~y~~~~~L~p~~y~u~~z~j~~~~|~~~~~~~~~~~c~~~l~~~~~~~~n~mtn~g~~n~m~~~~h~~w~~g~~S~~~~~yj~~~~~~`~i~~av~~~~~~~~f~~~u~q~~d~X~~~c~~~~~j~d~~~su~M~~~~~~O~~~T~~~~L~~~~T~~~~m~jis~~~W~~}z~9~~~K~~~~~~~f~~]~~p~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2091/ccs/rev np:i:12 rq:f:0.999211
   AGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTAAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTA [...]
   +
-  gq~~~~c~~~~~~~~~~~v~u~~~(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~U~~g~~~~yt~~~~~~ks~~g~~n~~~~~~~r~wW~~r~wxZ~~~~v~~r~~~]~~[~z~~~~~~~~n~~~~~~bx~x~G~~u~y~~~~~N~~o~T~~Y}~~~~~~Y~~~~~~~y~_~~~\~r~~{x~~P~~~j[~~~~~~~n~V~w~d~~~im~=~~T~~~~s~q~~w~n~m~k~~~~~~`~o~~m~~~\~~~y~~o~]~~u~l~~~|~~~~~~~~~~~~O~~t~n~~~~~~B~~m~~o~~S~~~~~~^~~y~~~~~~~~f~_~`~u~u~)~~~~~~~tQ~~~~~~~u~~~yi~X~~s~~YfL~~O~~o~~~~~~T~~~~~~{~>~~~M~~]~~~y~l~~~~~s~~l~{~x~p~~~v~~~\~s~o~~_~~~~~~j~~~c~~|~M~~~~a~~h~l~~n_~~~~~~~D~~~~~Z~~~q<~~]~~r~~~~_~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs/fwd np:i:5 rq:f:0.99522
+  fp~~~}b~~~~~~~~~~~u~t~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~f~~~~xs~~~~~~jr~~f~~m~~~~~~~q~vV~~q~vwY~~~~t~~p~~~\~~Z~y~~~~~~~~m~~~~~~aw}w~F~~s~x~~~~~L~~n~S~~X|~~~~~~X~~~~~~~x~]~~~[~q~~zw~~O~~~iZ~~~~~~~m~U~v~c~~~hl~<~~S~~~~s~p~~v~n~l~j~~~~~~_~n~~l~~~[~~~x~~n~]~~t~k~~~{~~~~~~~~~~~~N~~s~m~~~~~~A~~l~~n~~R~~~~~~]~~x~~~~~~~~e~_~_~t~t~(~~~~~~~sP~~~~~~~t~~~yh~W~~r~~XeK~~N~~o~~~~~~S~~~~~~z~=~~~L~~]~~~x~k~~~~~r~~k~z~w~o~~~u~~~[~r~n~~^~~~~~}i~~~b~~{~L~~~~`~~g~l~~m_~~~~~~~C~~~~~Y~~~q;~~\~~q~~~~^~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs/fwd np:i:5 rq:f:0.995215
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGACCGAAGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAA [...]
   +
-  _zVZgT^J~_RdYEsSTBNQ_TNPY*}~}r_b=\GWtVIPQeZgVZUYTPXHcAegH~<r`IeVXxWw;*utSZWzgH~ZXxg>~~gfULFY3ZN<aHvVMwVZWgJsGkDKYoKwVJwReVgT5S/owweY@?nSQY8yMD5xCTP9WHtPUeDeZfVZVZQ><fM[S9z~vKwgJ~U-\l6z<tlXaZDd at 8pwuFvK`T7a,MYUDUe<wUOEvJwPeYEkAeVTsKB~gVZCZ_0EXa`RWEAn~gY4nSP3NAATfVd at V=TvgVeEBiUSZVgVZVY2z^OTXf9yvdBYVKpJ~c/RK_Vb6XU1vvUDxxVg-zzcZfGW1dJ~[At_]VKwgKxUU?IVR at rwZ0F>Y)COST?eVKQ4_XEv2uuPIeGxygU<uU:YX=VX at 9r9iYgWZVWxgWxe1vvCeFvHYFvVIQRb5zsUQ:bOcYPUV<YW2oQrKbbUMWoJz_9VMExgZVWxD1jaeVd;@9ovpUXxgZfFvZ^HO= [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs/rev np:i:5 rq:f:0.991395
+  _zVZgT^J~_RdYEsSTBNQ_TNPY*}~}r_b=\GWtVIPQeZgVZUYTPXHcAegH~<r`IeVXxWw;*utSZWzgH~ZXxg>~~gfULFY3ZN<aHvVMwVZWgJsGkDKYoKwVJwReVgT5S/owweY@?nSQY8yMD5xCTP9WHtPUeDeZfVZVZQ><fM[S9z~vKwgJ~U-\l6z<tlXaZDd at 8pwuFvK`T7a,MYUDUe<wUOEvJwPeYEkAeVTsKB~gVZCZ_0EXa`RWEAn~gY4nSP3NAATfVd at V=TvgVeEBiUSZVgVZVY2z^OTXf9yvdBYVKpJ~c/RK_Vb6XU1vvUDxxVg-zzcZfGW1dJ~[At_]VKwgKxUU?IVR at rwZ0F>Y)COST?eUKQ4_XEv2uuPIeGxygU<uU:YX=VX at 9r9iYgWZVWxgWxe1vvCdFvHYFvVIQRb5zsUQ:bOcYPUV<YW2oQrKbbUMWoJz_9VMExgZVWwD1jaeVd;@9ovpTXxgZfFvZ^HO= [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2097/ccs/rev np:i:5 rq:f:0.9915
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGACGAAGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATA [...]
   +
-  ;bIKCIQJXdaPB at eVY@K>ZYVNU5_^km]Y)PUsU=aaTVRGVVx[bLHlZcaH]5XWP[CTsGrM=~oWFHtf=xVUxPD|qMfXYKn;Zd=U;D08`TFTX<mKnF.RXA]FHuKPC<VQ?1xx^PJO3rc_VLze at 8rUZf7|JaYZQShUgWUCO&LG~VuV9uetAfL1jNJV]Dl)gT[8\7_U1xyTE{ggV<pR`VW at 2bCnZg(8F0hePUYxVKXGwfJ[dEQQWP0cYeNIbC?bZSL*gI?`?V at D_>^X at UStfFWUEbOVKAN2TX=(nudVfa:nueZVWCsGY:R*BaDcSVX3eeY/~bX`2kecS%CuWfJ[U3sy?/7eKSZZgZRI/)Ia\V5vpJTVYxgKwKUfYxLWw?~{aTa?vuMXAoV/,IbETDGx at Q>5S>RImO4fH8iP:tC_%o>K/G]=H)UX>3aMO_VeEUZbOOYQ_3[<RI`oItPa?VH`DVZFER+LjqGP[S=wxqRVfeVaRrReMG [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2126/ccs/fwd np:i:11 rq:f:0.998079
+  @fNPHMVO]ifUGEj[^EPC_^[SZ:dcprb].UZxZBffX[WL[[}`gPMq_hfJ^5XWP[CTsGrM=~oWFHtf=xVUxPD|qMfXYKn;Zd=U;D08`TFTX<mKnF.RXA]FHuKPC<VQ?1xx^PJO3rc_VLze at 8rUZf8|JaYZQShUgWUCO&LG~VuV9uetAfL1jOJV]El)gT[8\7_U2xyTE{ggV<pR`VX at 2bCnZg(8F0hfPUYxVKXGwfJ[dEQQWP0dYeNIbC?bZSL*gI?`?V at D_>^X at UStfFWUEbOVKAN2TX=(nudVfa:nueZVWCsGY:R*CaDcSVX3eeY/~bX`2kecS%CuWfJ[U3sy?/7eKSZZgZRI/)Ia\V5vpJTVYxgKwKUfYxLWw?~{aTa?vuMXAoV/,IbETDGx at Q>5T>RImO4fH8iP:tC_&o>K/G]=H)UX>3aMO_VeEUZbOOYQ_3[<RI`oItPa?VH`DVZGER+LjqGP[S=wxqRVfeVaRsReMG [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2126/ccs/fwd np:i:11 rq:f:0.998071
   AAGCAGTGGTATCAACGCAGAGTACGGGAGACCAGTAGTTGGGTCAGAAATTAGACGTGGTTTAGTCTGGTTACCGTGGAAAGAATAGCTGAACTCAAAGAAGCCGACAAAGATAAACAAAGAAGAAACGGTTAATACGATTGAGGAGAAATATTCAATCCAACGGCAACTATTAACGTTCAACTAGAATCTACGTTTCATACGCGGATTCCACATCCGTTCTTGCAATTAAAGAAACGATGTAGAAAACGCTTTGGTTGGCGACAACTTGGGCGGCAAAATAATTATGGTAGGTAATTGAAGTAGCGTTAAAACGCAAAAAGAAGGAAGCACGGATCACTGCAAAAAGGACTACTCAATAATGGTTTCTAAAGTCATTATGCTGGTGCTCCCTATGGCGGTGGTCAGTACTGTAACTAAAGATGGATTACGGCACTTGTAGAGCACGTATCAGACCCAGCTTTGAAAGAAGGCTGAGTTCGGTTCGGGT [...]
   +
-  ~~t_~p|K~bytoc~lbnrr~s~sX<~~~nm?~vy~~vTz9z{np~xa~~^~~f~rrp^~I~~~nA\}N~k~~I~u~_~J~~tj~~~dnja}~n~_a~~xj~hJ~s~Zk~~ft}^~~[U~~tN~uE~~pQ~F~V~t~gl5W~m|W~~_S~~RnYuXb~sD~oWWZ~Ul~ftif~h~Td$zdX~dwhn^uzdp~dl=~~Z~]cgnj\~|gq(~|[~vG~_U~ic~qkk~d~4~mPQPwZXlw]`TS2g~~bWcV~~I~e~Z~cYrVu~lX~;~~^H~hC~~~yb~E~}tF{ruKzcx~a~Zq~dqteV=V~8j~~ikUK~~~yirwY~V~iSyjX~|{j|U^ThS~~~~X~~cfRghZg~qB}rF~J~~kuN~~]uA~_~jTjS at J{{kYvDl~wttU~lW~hE~ZRvne~j_Yt5~Xx>~~mvfM~~Y~xR:FQGAd~lx~Yx\j~mny}dCop~9u~~`hX~~Yg~~it~J~fho~df~gE~b~iB~~N [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2126/ccs/rev np:i:12 rq:f:0.99809
+  ~~t_~p|K~bytoc~lbnrr~s~sX<~~~nm?~vy~~vTz9z{np~xa~~^~~f~rrp^~I~~~nA\}N~k~~I~u~_~J~~tj~~~dnja}~n~_a~~xj~hJ~s~Zk~~ft}^~~[U~~tN~uE~~pQ~F~V~t~gl5W~m|W~~_S~~RnYuXb~sD~oWWZ~Ul~ftif~h~Td$zdX~dwhn^uzdp~dl=~~Z~]cgnj\~|gq(~|[~vG~_U~ic~qkk~d~3~mPQPwZXlw]`TS2g~~bWcV~~I~e~Z~cYrVu~kW~;~~^H~hC~~~yb~E~}tF{ruKzcx~a~Zq~dqteV=V~8j~~ikUK~~~yirwY~V~iSyjX~|{j|U^ThS~~~~X~~cfRghZg~qB}qF~J~~kuN~~]uA~_~jTjS at J{{kYvDl~wttU~lW~gE~ZRvne~j_Yt5~Xx>~~mvfM~~Y~xR:FQGAd~lw~Yx\j~mny}dCop~9u~~`hX~~Yg~~ht~J~fho~df~gE~b~iB~~N [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2126/ccs/rev np:i:12 rq:f:0.998078
   AGCAGTGGTATCAACGCAGAGTACGGGAGACCAGTAGTTGGGTCAGAAATTAGACGTGGTTTAGTCTGGTTACCGTGGAAAGAATAGCTGAACTCAAAGAAGCCGACAAAGATAAACAAAGAAGAAACGGTTAATACGATTGAGGAGAAATATTCAATCCAACGGCAACTATTAACGTTTCAACTAGAATCTACGTTTCATACGCGGATTCCACATCCGTTCTTGCAATTAAAGAAACGATGTAGAAAACGCTTTGGTTGGCGACAACTTGGGCGGCAAAATAATTATGGTAGGTAATTGAAGTAGCGTTAAAACGCAAAAAGAAGGAAGCACGGATCACTGCAAAAAGGACTACTCAATAATGGTTTCTAAAGTCATTATGCTGGTGCTCCCTATGGCGGTGGTCAGTACTGTAACTAAAGATGGATTACGGCACTTGTAGAGCACGTATCAGACCCAGCTTTGAAAGAAGGCTGAGTTCGGTTCGGGT [...]
   +
-  ohU^hfD~~~~]\~n6p~[K]v~uA}\vWx\~~`t\cd~A~~~p~]V~~S{Wjlfl~[~_~~llSVgO~K~kN~_~B~O~~lg~~{XgxXS~f~uW~~pm~kC~n]qG~~\y~G~~sD~~YU~WJ~~q=~`i`~unbp~t~^cT~dkC~~~Zp~Lk~~M~g~H*~r_qr~~l~^~voY~~s6~IIge[~zIv~CZ_~~rX~~qXaQ~~o~J~nti]`~a^}_Z~nun~vvP~ra<lwTUy~jWnV,~~yqV7(oyB~|~Tz8a^UF~jRpC~~hA~:L~~~~[~v~x~W~~WQ~~B~d~V`Uo~sm]hX~8|~~Z\@1Nre\kR~Ny`xm`ojGwV~b}a~E]Ep~~|L~gO~\h~dR~~[~~T~X~~p~3~~onIhf~~~pstL~~kx~M~~gzdER:A9e>~tFVn`jn~lx/~ekL~{SU~:Ytn~~RL~@{RjsL;Wlr\uprjppnVq_W?~~oad@{uaAuc[S~W~q~[WkE`FP}PuC4~~P [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs/fwd np:i:7 rq:f:0.995633
+  ohU^hfD~~~~]\~n6p~[K\v~uA}\vWx\~~`t\cd~A~~~p~]V~~S{Wjlfl~Z~_~~klSVgO~K~kN~_~B~O~~lg~~{XgxXS~f~uW~~pl~kC~n]qG~~\y~G~~rC~~YU~WJ~~q=~`i`~unbp~t~^cT~dkB~~~Zp~Lk~~M~g~H*~r_qq~~l~^~voY~~s6~IIge[~zIv~CZ_~~rX~~qXaQ~~o~J~nti]`~a^}_Z~nun~vvP~ra<lwSUy~jVnV,~~yqU7(oyB~|~Tz8a^UF~jRpC~~hA~:L~~~~[~u~x~W~~WQ~~B~d~V`Uo~sm]hX~8{~~Z\@1Nre\kR~Ny`xm`ojGwV~b}a~E]Ep~~|L~gO~\h~dR~~[~~T~X~~p~3~~onIhf~~~pstK~~kx~M~~gzdEQ:A9e=~tFVn`jn~lw/~dkL~{SU~:Ytn~~RL~@{RjsL;Wlr\uorjppnVq_W?~~oad@{uaAuc[S~W~q~[WkE`FP}PuB4~~P [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs/fwd np:i:7 rq:f:0.99559
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATTCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGA [...]
   +
-  p~y]httc~jM~\8zdfZ|xix~Nh$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``ZRw\@~~~yM~yZ~G~~zp~~h~mlx~X~j]Y~F~~yZ~~xVuj_YF~e~%lq@~~~rRc~~f~}I~~a~~lY~~sY~~mQb_~{niI~ra~cred~m|t{Oqn~Y~Xk^T~|j1qYul?~~htih^bNzaiJn(a7ys\gH~nnE\pa/|~|s|iyWzozH~h$c'T76~~u`6gn_gWwS~ycuodGc^PM<~~~mU~r`z at B7q_[~o=zbK~UPmfx)~~lN~S\~]hy]Y_b~jse]W~_S~\T~{]~hrcp.~jtR`VrmT]~~QxbjpNyqWTY~m]Wm[M[\0pTWpZhn?~nR~~snD~~~rDrXcsg~n]NlXN~Y<O:ZLDTx\ad&tWW~\~W~]U~Kh}VM~OZ1uoSb<~`IeNymgT~dl|djk)CZ~f1|j\hG9~~<+3/d{T~t]<`/bWm0~xIxO~gTi\~W~|nV~C~t]ms [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs/rev np:i:7 rq:f:0.996833
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTAATACATTGACCTAACTCACTACTACGCCTTGGTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTATGGTTGAGAACCTGTTAAATGAGATGG [...]
+  p~y]httc~jM~\8zdfZ|xix~Nh$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``ZRw\@~~~yM~yZ~G~~zp~~h~mlx~X~j]Y~F~~yZ~~xVuj_YF~e~%lq@~~~rRc~~f~}I~~a~~lY~~sY~~mQb_~{niI~ra~cred~m|t{Oqn~Y~Xk^T~|j1qYul?~~htih^bNzaiJn(a7ys\gH~nnE\pa/|~|s|iyWzozH~h$c'T76~~u`6gn_gWwS~ycuodGc^PM<~~~mU~r`z at B7q_[~o=zbK~UPmfx)~~lN~S\~]hy]Y_b~jse]W~_S~\T~{]~hrcp.~jtR`VrmT]~~QxbjpNyqWTY~m]Wm[M[\0pTWpZhn?~nR~~snD~~~rDrXbsg~n]NlXN~Y<O:ZLDTx\ad&tWW~\~W~]U~Kh}VM~OZ1uoSb<~`IeNymgT~dl{cik)CZ~f1|j\hG9~~<+3/d{S~s]<`/bWm0~xIxO~gTi\~W~|nV~C~t]ms [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2164/ccs/rev np:i:7 rq:f:0.995644
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTAATACATTGACCTAACTCACTACTACGCCTTGGTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTATGGTTGAGAACCTGTTAAATGAGATGG [...]
   +
-  X~\xjquU~PP9sH~\V6L>gp~~|&~~~~~~}tz~~~~~~~~~~~~~~~~~~rrkuqv3~~}tJ~YVg8~cydefJ[Ly`{f~~xZ~T~}mH~dGO2;Lj_~W~wtGqf~t~P~~i~~Y~~`~jtH~~vV~~xI0A}~{jZ~p9~~l}5~\;adLj^i+SRk)@;Azs~yjgU~~;}a:_r:~x_v~~{L~xQrK~r~[s{u1~}Kcx||WZUKZ~ui\V~~H~~uZ~~|vl_Zzyv{bW=kZev<~~aK8maU~~s9~ab~[a~{K~z]mvp7{~qr~j>~j{~oh{N~pPsjk~pf~[S~WU~c~{j[~i}Hswghm4~~jig0'Y`kwiLzZ]qdJ[Kx=~~qcZ~V:~~S~~Np;~~~oJoqLw~T~o|=~cv~{irhzR~wwi`kY~R~[~A~g~X~bkm~_iF~~roNw\hdi~~p\~vWubpS~~Z}Mu~r|rxM~~|~pxhN~NlR~lmKbOE+SOy^{dYj4~_~oGB~F~~yi=[ExS~ [...]
+  U~ZvhosS~NN6pF~YT4I<dm~~y$~~~~~~zrx~~~~~~~~~~~~~~~~~~poisos1~~{rH~WTd6~awbcdHXJw^xd~|vX~R~zjF~aEM09Ih\~T~trEnc~r~N~~f~~W~~^~hrF~~sT~~vG.?z|yhX~m6~~j{3~Y9_bIh\g)QPh'>9?wq~wgdS~~8{_8]p7~u]t~~yJ~vOpH~p~Yqys/~{HavzzUWSIX~sgZT~~F~~sX|~zti\Xwwtx`T;iXcs9~~_H5k^R~}q7~_`~Y_~yH~x[jtn4y~op~g<~hy|lfxL~nMqhi~nd~YQ~US~`~xgY~f{Equeek1~~hgd.%W^iugIxXZoaHYIv;~~o`X~S8~~Q~~Ln9~~~mHmoJu~Q~mz;~at~yfpfxP~uuf]hW~P~X~?~e~U~`ik~\gD~~olKtZfbg~~mZ~tUs_nQ}~X{Js~pzpvK~~y}nueL~LiO~jkI_LC)QMw\ybWh2~]~mD@~D~~wg;YCvQ~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2225/ccs/fwd np:i:6 rq:f:0.995244
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTTCGCAATGAAAAGAATATCCTTATAGACACGAAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCT [...]
   +
-  e~Uctj]J~xtsRN~UjTslshXZc%~~~~~~~~~~~~~~~~~~~~~~{y~~~~~plvFh_V~xgB~xevG[aH]slycJ~OtPXtslvdTjJUwlvTq^XAL9X`QbMX_^J^:_[lh\lX~Rj:^O_gJQZ`hI~~Wv:~JfYSAynL_?bhI<rfZB|[@|~zWTUleEjg[WK~bgXUK~l;~~cGGfGkN~X~bl?rX~R~jEL`kE^t8~r_uahblggfad1m]R[6ViQagB~z=~~U3Zf@>~M4^'a;7NOPZFV*dc_Z at wkhlL~X~hlb[gZLW`&e\YI~n<b]FcGO~:kdD\]~S at _Cee[h[`SZ]aKWFpU\5~~^;~Lp]Y{XQ6}RV]}LllM~P{^^~[P}Q{|F~|F{QeE_ at JuPChbh7jHIF5>u}Z;YfYoQ}e`g\>>jDR at fJ~8~t^K|F~O}`S`2zCu~l[h_4^e\Cz~PT7~~~hR~l_:Hx9WPDfb<v_4P~G~ka4~~~uX~T)eI/nfVQa[l [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2225/ccs/rev np:i:6 rq:f:0.996238
+  e~Uctj]J~xtsRN~UjTslshXZc%~~~~~~~~~~~~~~~~~~~~~~{y~~~~~plvFh_V~xgB~xevG[aH]slycJ~OtPXtslvdTjJUwlvTq^XAL9X`QbMX_^J^:_[lh\lX~Rj:^O_gJQZ`hI~~Wv:~JfYSAynL_?bhI<rfZB|[@|~zWTUleEjg[WK~bgXUK~l;~~cGGfGkN~X~bl?rX~R~jEL`kE^t8~r_uahblggfad1m]R[6ViQagB~z=~~U3Zf@>~M4^'a;7NOPZFV*dc`Z at wkhlL~X~hlb[gZLW`&e\YI~n<b]FcGO~:kdD\]~S at _Cee[h[`SZ]aKWFpU\5~~^;~Lp]Y{XQ6}RV]}LllM~P{^^~[P}Q{|F~|F{QeE_ at JuPChbh7jHIF5>u}Z;YfYoQ}e`g\>>jDR at fJ~8~t^K|F~O}`S`2zCu~l[h_4^e\Cz~PT7~~~hR~l_:Hx9WPDfb<v_4P~G~ka4~~~uX~T)eI/nfVQa[l [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2225/ccs/rev np:i:6 rq:f:0.996153
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTGTAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGGAAGGTTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATTCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAG [...]
   +
-  TwdmzetS~]wo<e~T_<sUvTXif$LZjx~~~~~wqoqvvrrw}~~~~~{gXM>53,NE<^th~sTZ~sjFvmetmyftk<~Nlgh~qSFgN^eKjNpQ~ftmc_kc`^j;~lE~]ahmxk]f~.~mKvctmsd]w;{{`~TqH]j_$~~iZ~2u'OQ[~yle~_@~vkSZkqufUkh[H~KDi]Z~sB~abkT~jXTwc~NHQ~U~U~thldq.~s8~~~~cyetrhwLlY~G at qETqwOsQ~s;~~T:xvjPyqZ~P~iN>f~rNFdb`a|lx]\~_xuZuewR\ieJ~l8~p_~[FefS~b~BPK<kga~TzGaxh]Gf0<uldrBMD~~~F~b~c;tfCToFc6PNrm[~Pyy]~c=m5v[7~~U~y*oltj+~Ro_bnSoE~xgA~fKsSvVvE~tTu;Eq~ktW~_rNq~N>~d~PznocT~E~UVTobffR=@_elyB~y~Q.pkKvY~_jsmea]~^PNvcp^c4yi\ydt%X~wF~[ktO [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2255/ccs/fwd np:i:14 rq:f:0.999159
+  TwdmzesR~]wo<d~T_;sUuTXif$LZjx~~~~~wqopvvrrw}~~~~~{gXM>43,NE<]sh~sTZ~sjFvletlyftk<~Mlfh~qSFgN^eKjMpQ~ftlc_jc`^j;~lE~]ahmxk]f~.~mKvctlsd]w:{{`~TpH]j^$~~iZ~2u&OQ[~yle~_@~vkSZjqufUkg[H~KDi\Z~sB~abkT~jXTwc~NHQ~U~U~shkcp-~s8~~~~cyesqhwKlY~G at qESqwNrQ~s:~~T:xvjPyqZ~P~iN>f~rNFdb`a{lx]\~^xuZuewR\idJ~l7~p^~[FefS~b~BPK;kfa~TzGaxh]Gf0<uldqBMD~~~F~b~c;tfCToFc6PMrm[~Pyy]~c=l5v[7~~U~y)oltj+~Ro_bnSoE~xgA~fKsRvVvE~tTu;Eq~ktW~_rNq~N>~d~PznncT~E~UVTobffQ=@_ekyB~y~Q-pkKvY~_jslea]~^ONvco^c4yi\yct%X~wF~[ktN [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2255/ccs/fwd np:i:14 rq:f:0.999157
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGCAAT [...]
   +
-  ~~u_~|~p~~~~U/~Xr~~u~i~~~B~~~~~~~C~~~uWrZ~~~Vqo~f~~c~uj~\Q~~pSK~~L~~{t\~R~~~v~]~vyU~~lrl~K~~~q~~g~~c~~~~~k~`:~e~~tL~~~~oB~~n~r~~d~sX^~p~~Gp~~`~~~=~~o{ly~~z~i{m~~~~~m~k~s~l~~i~~~L~~~z~Xyu~va~~~sWJ~~`~~tR~~~jq{~{~~u}~~~~YC~}_V~~T~~mvJ~^~~~~Ixwp_utbki_}fQov~iW~oo0|C~~~XY~jF~x[sndbRq~emoZ~e_`9s~~qaW~~Y~t~~~~~wuH~uh~}v~~NBt~~~bn~Q~{~l~~~\~esSo|jcz~m2ig~qCg_bTbyLU~~~~~|0~~~iB|J~WaR~~~~w~oi}~~}~z1~~}G~Y~mzmX~~{~S~\e]h~Y~{C~~iir~~e~]}~`jrtb~~K~~~y~~m~~kp~~mM~~syB~~Z~nm~t~~~~~j~]~~o~tX~k~~~~~~n [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2255/ccs/rev np:i:15 rq:f:0.998329
+  ~~u_~|~p~~~~U/~Xr~~u~i~~~B~~~~~~~C~~~uWrZ~~~Vqo~f~~c~uj~\Q~~pSK~~L~~{t\~R~~~v~]~vyU~~lrl~K~~~q~~g~~c~~~~~k~`:~e~~tK~~~~oB~~n~r~~d~sX^~p~~Gp~~_~~~=~~o{ly~~z~i{m~~~~~m~k~s~l~~i~~~L~~~z~Xyu~va~~~sWJ~~`~~tR~~~jq{~{~~u}~~~~YC~}_U~~T~~mvJ~^~~~~Ixwp_utbki_}fQov~iW~oo0|C~~~XY~jF~x[sndbRp~emoZ~e_`9s~~qaV~~Y~t~~~~~wuH~uh~}v~~NBt~~~bn~Q~{~l~~~\~esSo|jcz~m2ig~pBg_bSbyLU~~~~~|0~~~iB|J~WaQ~~~~w~oi}~~}~z1~~}G~Y~lzmX~~{~S~[e]h~Y~{C~~iir~~e~]}~`irtb~~K~~~y~~l~~kp~~mM~~syB~~Z~nm~t~~~~~j~]~~o~tX~k~~~~~~n [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2255/ccs/rev np:i:15 rq:f:0.998188
   AAGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCCAACTAAGGTTCGTCTTGAAGCAAT [...]
   +
-  U~z~ae~f~~~~~D~w~~~{~~~~{T~~~m~v~:~~~~~xo~a~~~~~d~~r~~~o~`~`r~;~v~{~~~~P~~~~~O~~{L~yldd~o~~~zc_]~~~wub~~~~\}~l~bzA~~zt~r~~~{uA~Z~w~{~8~~|~j~S~~YE~~_~~~~~|vyu|V~~~~~t{~gv&~ef~y~R~~~X~~kf~xY~~xu~_~~~~~iO~~~z~~w~~~~d}~~`~r~~~O~~>~d~xs~Z~~b]]~~k~~}~~~~~U~~~~~X~~qb~~~t~~h~wO~~~~~hvhg~~~mP~~~jG~~nyxe~~k~~e~y~~~{~~s@~~c~~~~~~p~~~~e~~~q~~j`~~ny~u~~xuln~lg~~~~~e~~~c~~V~y~p~~~_{v~~T~i~d~~~~~~^~~~~Se~hwQ~5~c~{K~~~a~~z~~L~g~~b~z~~vb~g~~WW~~~~d~af~~~t~~~~~~~ws~}~~~~^~~~~~)~ki~~~n~n~i~~~~u~~~r~~wY~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs/fwd np:i:7 rq:f:0.994484
+  S~y~_c~e~~~~~B~u~~~y~~~~yR~~~k~t~9~~~~~vm~_~~~}~b~~p~~~m~^~^p~9~t~y~~~~N~~~~~M~~yJ~wjbc~n~~~ya]\~~~vsa~~~~Z|~j~`y?~~xs~q~~~ys?~Y~u~y~6~~{~h~R~~WD~~]~~~~~{twszU~~~~~ry~et%~cd~w~P~~~V~~id~vW~~vs~]~~|~~gN~~~x~~u~}~~b{~~_~p~~~N~~<}b~vq~X~~`[[~~i~~{|~~~}S~~~~~V~~p`~~~r~~f~uM~~~~~fuff~~~kO~~~hE~~lxvd~~i~~c~x~~~y~~q>~~a~~~~~~n}~~~c~}~p~~h^~~lx~s~~vsjm~jf~~~|~c~~~`~~T~w~n~~~^yt~~R~g~b~~~~~~\~~~~Qc~fuO~3~b~yI~~~_~~x~~J~f~~a~y~~ua~f~~UV~~~~c~`d~~~s~~~~~~~vr~|~~~~]~~~~~(~jg~}~m~l~h~~~~t~~~q~~vW~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs/fwd np:i:7 rq:f:0.994486
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAAATTTACGGTGGTAATTTCGCACACTTCG [...]
   +
-  e~b]k^bS~gZeY9jW^Ll`X^MUY$W_kyyrmlnpaWSV`igiowuqqu}~~~|kgZcSd`/V@\^lP~i@(9IC>QMYdLkS~fHeK~bkVkfN~lYX7z`YWd@~~A~k]dG=H~KJ~N|fFWU:|^7L9~xSj]d[[Ca[BlV5bmDP~mbfmba^$~~~~~\]]E~O~MT).,_j6rb^dWZcX`L~jPZKDj[UILYtXGXC.~~oALLn_D~V)}PI}]CfJUo<~~~l\2{g_\M~ec]X~WRD~f4eVG~i3U(S^Za;|iy^6\[d?~}KjbmeaNAlN~`A<iX7]LVK0y~\fb]f]b3 at G@j1~WJiaM~]bdH``E_:|G{\2lq~fWejeZAEdY~[bfbfm8xfj;mOwXLWa]bN~a2u2ey_PfJjeZfWZf_kL~~]fX.oebflN~~P<=~c1jXb]f]hb\FaJEaFbYMZW~bjOJ3`hVwIYkH@~z^g^eg=h(CY)RRL~~lZ-}dRy`7yBrvPH[SYgHUo]` [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs/rev np:i:7 rq:f:0.996436
+  e~b]k^bS~gZeY9jW^Ll`X^MUY$W_kyyrmlnpaWSV`igiowuqqu}~~~|kgZcSd`/V@\^lP~i@(9IC>QMYdLkS~fHeK~bkVkfN~lYX7z`YWd@~~A~k]dG=H~KJ~N|fFWU:|^7L9~xSj]d[[Ca[BlV5bmDP~mbfmba^$~~~~~\]]E~O~MT).,_j6rb^dWZcX`L~jPZKDj[UILYtXGXC.~~oALLn_D~V)}PI}]CfJUo<~~~l\2{g_\M~ec]X~WRD~f4eVG~i3U(S^Za;|iy^6\[d?~}KjbmeaNAlN~`A<iX7]LVK0y~\fb]f]b3 at G@j1~WJiaM~]bdH``E_:|G{\2lq~fWejeZAEdY~[bfbfm8xfj;mOwXLWa]bN~a2u2ey_PfJjeZfWZf_kL~~]fX.oebflN~~P<=~c1jXb]f]hb\FaJEaFbYMZW~bjOJ3`hVwIYkH@~z^g^eg=h(CY)RRL~~lZ-}dRy`7yBrvPH[SYgHUo]` [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2286/ccs/rev np:i:7 rq:f:0.995951
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCAC [...]
   +
-  :RH at PCW;qnhncG~[_deZi\nhc%~tc_gmnmnniefmu{mQ at 8;IbxsiYST\LcRdfdne]Yf?}gd_nai@~gep^QO~i`PO}Ga`aYO~SbhR~nh^Y;~eP~fNWbhU~_N|U~YeNfQ~JWt>zdL~`:Z\XPNJ~MQy~bHf]^;E_n\+Wx~~jbDJdJ~C`,~CfO&O_KfQ_fiXT~fVa_XpaRW]M~_N~c at gs~h`T~VDdM?VWiMW~dX~>~~Q:KBjfI4D~kJbY~\f%umaXjg:~ua<Pq_c]=jfsIV~JWP~~nh]dm^YW~C~mhU~g;wcOQ=~~am_dncYG~cW~9~~U~\O~[NWc^Y`5Kx,^K5U[QZ\\HG7UUhTsaGB[egR~oiR~VQgXR?7F]~jR~'~[[TgefXekQO`_]H]{_ndX~n_l8CvvZhQlYK~`j_ncY^bXlncncT^XbX~PclQc^YY~JXia?kvXM]nhNqhd_X~Bqq_L>mZ<x^Tg>zj_^Nfchb4fD^ahK [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs/fwd np:i:4 rq:f:0.992462
+  8QF>NAV9olfmaE~Y]bcXhZmfa$~ra]ekllllgcdksykO>69HawqhWQRZJaPbeblc[Wd={eb]m_g>~ecn\OM~g^NM{E`^_WM~Q`fP~mf]W9~cN~eLUafS~]MzS~WcLdP~HUr<xbK~^8Y[WNLH~KOw~`Fd[\9C]m[*Uv~~i`BHcH|A^+|AdN%M]IeO^dgVS~dT_]Vn_PU\K~]L~a>er~f^R~TBcK=TUgKU~bV~<~~O8I at idH3B~iH`W}[e$sk`Vhe9~s_:No]a[;idqGT~HUN~~lf[bk]WU~A~kfS~e9uaMP;}~_k]blaWE~aV~7~~S~ZM~YLUa]W^3Iv*\I3SYOXZZFE5STfRq_E at YceQ~nhP~UOeVP=5D[~hP~&~YYSecdVciON^][F[y]lbV~m]j6AttXfOjWI~^h]laW\`VjlblaR\VaV~NajOa\WW~HVh_>itVK[mfLofb]V~Aoo]J<kX:v\Se<xh]\Ldbf`2eB\_fI [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs/fwd np:i:4 rq:f:0.992186
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGTGGTTTGCACTGTTGACCACCAGCAACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGC [...]
   +
-  S_GKVGB?[TFSL,ZRKRFJ[KR/B$PV_ddddb\WTSRNKJMRVXMIKPTLHNWU3M:T=fKCJZEcGJ\VU9X6O>YTEIEJSKLaGS\E\@@FLNQ2\IeFISD>cSV at mR6d_FSKfP.;NeJfFO7B at N;\EdFUYLMfV\I=4bU at dKQ1RAI4deJEXHFZTQ5ZFd>RSS;DU?lR/_F9=DJUEc;bP4EKJE`VKNfTR;V;R8CA*CU\UFJQ%_HI=I9dRK\EdBSAQREOVS[BFO=L7MH1F<ZKfS\FdVJD<IAF'^ZD8J4OUFGSJfFdVJ>cQADPRKKf\K>bKPEJH`>SJeOfVKSKfKVSVWGS<PVKC4=ISKM]G5bZNQZ7,2RBf^F9UGR%:L7V at _FFi\KR,D<H<NeVRJQ>XJAOUGJ<VKU:PUI:<9_P:VXTAMHf\CffK\SBf\F at TJ;cP<CTAH>D:eeEI:BSJ4aRF(SKQ=UDcVJWG8g[WQ:>O4<H\KSQQ>eRKL7QRJc1hR [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs/rev np:i:3 rq:f:0.977733
+  S_GKVGB?[TFSL,ZRKRFJ[KR/B$PV_ddddb\WTSRNKJMRUSMIKPSLGNWU2M:S=fJCJZEcGJ\VU9W6O>YTEIEJSKLaGS[E\@@FLNQ1\IeFISD>cRV at lR6d^FSJfP-;MeJfFO7B at N;\EdFUYLMeV\I=4aU at dKQ0R@I4deJEXHFZTQ5ZFd>RRS;DU?lR/_F9=DJUEc;bP4EKJE_VKNeTR;V;R8CA*CU[TEJQ%^HI=I8dRK\EdBSAQREOVS[BFO<L7MH1E<ZJfS\FdVJD<IAF'^ZD8J4OUFGSJfFdVJ=cQ at DPRKJf\K=bKPEJH`>SJeOeVKSJfKVSVWGS<PVKC4=ISKM]G4bZNQZ7,2QBe^F9UGR%9L7V at _EFh\KR,D;H<NeVRJQ>XIAOUFJ<VKU:PUI:<9_P:VWTAMHe\CfeK\SBf\F at TJ;cP<CSAH>D9eeEI:BSJ4aRF(RKP=UDcVJWG8gZWQ:>O4<H\KSPP>eRJK7QQIc0hR [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2295/ccs/rev np:i:3 rq:f:0.977706
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTCTGGCAGATTAGATACAGCTATAGGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATTCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTTGCACTCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGACGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTA [...]
   +
-  <XD.GB at 3FB@1A*5/DBF=4)MHB$K at KTND<:COTOE?@GOJB>AJNC>D:3E:<O>TBKIJ%SD5JPJBH-3&KPK'JI2 at 2=8:AK&MA>3M<-:YCU6 at 7BBXB;;VB<XX5PB4UA4ABUEWKBH.AVIK9]KPKH-<;KIN(YN>XH-/TAJ1DTH*MIBKPA3I)G&TOPBJ:>VB%SSIHA4 at 8,AUB$SSG9]OF=P%AG9FJ<G<)?AKPKF:&UKKBH4SBIG6[GBJ+9JB9AKEWBIK5WKBH.IDWCK9\NGJBFKI;YOF68\J4UBDU+TCH0VBHK?BE2TJIBXH:JH4A-TDW9O;GB6 at C8@5IA4>VWIJ')NG?A<M9*PKB:I<F:N=2AKBN39PGG8YK9\GIBKBG?-U;.FBBXIKPKBH?+GHO3XNF;P<XW:YKPKB4UJ>VWD8A1UUHKPI@=AJ2L-IBP6P?1T(=:G9N:GBN1,NF&WMIKB-POLGDDA3AHJ2 at HBBXBD+6LBEW;P;=J [...]
+  <XD.GB at 3FB@1A*5/DBF=4)MHB$K at KTND<:COTOE?@GOJB>AJNC>D:3E:<O>TBKIJ%SD5JPJBH-3&KPK'JI2 at 2=8:AK&MA>3M<-:YCU6 at 7BBXB;;VB<XX5PB4UA4ABUEWKBH.AVIK9]KPKH-<;KIN(YN>XH-/TAJ1DTH*MIBKPA3I)G&TOPBJ:>VB%SSIHA4 at 8,AUB$SSG9]OF=P%AG9FJ<G<)?AKPKF:&UKKBH4SBIG6[GBJ+9JB9AKEWBIK5WKBH.IDWCK9\NGJBFKI;YOF68\J4UBDU+TCH0VBHK?BE2SJIBXH:JH4A-TDW9O;GB6 at C8@5IA4>VWIJ')NG?A<M9*PKB:I<F:N=2AKBN39PGG8YK9\GHBKBG?-U;.FBBXIKPKBH?+GHO3XNF;P<XW:YKPKB4UJ>VWD8A1UUHKPI@=AJ2L-IBP6P?1T(=:G9N:GBN1,NF&WMIKB-POLGDDA3AHJ2 at HBBXBD+6LBEW;P;=J [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2305/ccs/fwd np:i:11 rq:f:0.999136
   AAGCAGTGGTATCAACGCAGAGTACGGGACGGTCGTACTAAAATCAGCTACGCGATCGCCGACTTAGAAGGCTGAGATGGAGAAACTTGTCTACTGGCAGACCTCACTATCTTTTAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTT [...]
   +
-  ~~]f~~~h~}~~[0|`~dg~{~~~gl~~~_e~~M~~xe~N~~~~Vd~e~cQ~a~c~g~Q~~wQ~~~~T~x~b~~s~u~|~w~T~wR~~~~^~~f~~~fy~sM~~bzX~r~]\~~~u[~a~i~~c~`la~~ch~_~|~w~~~~~x~d~]~~d~Tx~6~z\j|~Bd~ba~~_~~f~`~~U~~~~~~a~~Rk~~~~c~~c~~~P~~z~~q~~R~~~~~~~d~~~P~~~~d~~~~ip~qa~|~v~|~~~_~~~~~bVX~~~~~~U~xb~~~T`@eQ~Y~~~SG~~kd~w~~~ffnn~`~~3~~M~~wZo\o~~ToA|~~O[~J~~~Y~hd~~v~P~s~~[bZu~J~~`i{~n~pe~t~g~dE~vd~~~A~~~bZ~~~O~~o~~~~~_K~~s~~U~dP~~j~@~~G~~~`i~~~|~~Q~\~~F~~~~~~ev~~~~O~nb~~f~N~~a~~~~o~c~~~x~~p~am~y9~U~be~~~~*w~_~~~r~~b~~~~~w~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2305/ccs/rev np:i:11 rq:f:0.998752
+  ~~]f~~~h~}~~[0|`~dg~{~~~gl~~~_e~~M~~xe~N~~~~Vd~e~cQ~a~c~g~Q~~wQ~~~~T~x~b~~s~u~|~w~T~wR~~~~^~~f~~~fy~sM~~bzX~r~]\~~~u[~a~i~~c~`la~~ch~_~|~w~~~~~x~d~]~~d~Tx~6~z\j|~Bd~ba~~_~~f~`~~U~~~~~~a~~Rk~~~~c~~c~~~P~~z~~q~~R~~~~~~~d~~~P~~~~d~~~~ip~qa~|~v~|~~~_~~~~~bVX~~~~~~U~xb~~~T`@eQ~Y~~~SG~~kd~w~~~ffnn~`~~3~~M~~wZo\o~~ToA|~~O[~J~~~Y~hd~~v~P~s~~[bZu~J~~`i{~n~oe~t~g~dE~vd~~~A~~~bZ~~~O~~o~~~~~_K~~s~~U~dP~~j~@~~G~~~`i~~~|~~Q~\~~F~~~~~~ev~~~~O~nb~~f~N~~a~~~~o~c~~~x~~p~am~y9~U~be~~~~*v~_~~~r~~b~~~~~w~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2305/ccs/rev np:i:11 rq:f:0.998747
   AAGCAGTGGTATCAACGCAGAGTACGGGACGGTCGTACTAAAATCAGCTACGCGATCGCCGACTTAGAAGGCTGAGATGGAGAAACTTGTCTACTGGCAGACCTCACTATCTTTTAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTT [...]
   +
-  n~^~~QX<|o~`{~~~_y~_~M~~~A~~|tEsm~_n~~n<~~~juxVu~~z_~^~~x\s~M~~^~yWw~L~~Y]~^~~@~~[3~~~k~N[~m~~~L~xr(ss~~o~~m~m~N~~~~L~~~L~s~~~^n~R~8~~1-dq[3J~~L~~n}_~~o~~Mv~~~|Gk~~~x>~~W~LfQz<~~_V~{^~M~~e|~e~Zc~~~~~]~~NV~~~~mt~ZJ~W<~~R~~~Z~~G~G~~lMZ~~~~5~~~J~~]{~B~[\~`x~~^~~`~~^~~~_~x~~~Y~l~j~t~~m~OJwNaU<Fu~~M~f~~v~N~b~~~\o~_~~Kz\~~~_MQ+~~YYm-kv~O~p~~~~_j~Vu^Y~K~~L~~N~m~~it~-soa~s[oP~~~~Gl5~~}_~~e~~N~~b[~c~~MzP~~v~N~~A~~~@~n~_H~~Q~rG~~m~N~~~o~~~~~i~~r~~6~~~]y~0~~~~oR~~~Y~~~i~~~~~~_~d~l5~z?>Eu;~~~~]^~~ [...]
+  m~]~~QW<{o~_z~~~^x~^~M}~~@~~|sErl~^m~~m<~~~juxVt~~y^~^~~w[r~M~~]~xVw~K}~X]~]~~?~~[2~~~j~NZ}m~~~K~wr(sr~~o~~m~l~M~~~~L~~~K~r~~~]m~R~7~~1-dq[3J~~L~~n}_~~o~~Mv~~~|Gk~~~x>~~W~LfQz<~~_V~{^~M~~e|~e~Zc~~~~~]~~NV~~~~mt~ZJ~W<~~R~~~Z~~G~G~~lMZ~~~~5~~~J~~]{~B~[\~`x~~^~~`~~^~~~_~x~~~Y~l~j~t~~m~OJwNaU<Fu~~M~f~~v~N~b~~~\o~_~~Kz\~~~^MQ+~~YYm-kv~O~p~~~~_j~Vu^Y~K~~L~~N~m~~it~-soa~sZoP~~~~Gl5~~}_~~e~~N~~b[~c~~MzP~~v~N~~A~~~@~n~_H~~Q~rG~~m~N~~~o~~~~~i~~r~~6~~~]y~0~~~~oR~~~Y~~~i~~~~~~_~d~l5~z?>Eu;~~~~]^~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2319/ccs/fwd np:i:11 rq:f:0.9989
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTA [...]
   +
-  ~~~~~~~a~~a~~f~|ge~{~}~u~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}z_~zys~~}u~~~~~~}~d~}~~@~q~vb~~S~||~vd~gxz~~~~z_ty~y{|~~f~~}~~~~~f~c~d~cy~;~}~~V~~f~t~g~O~J~~u~Q~~fa~]~O~}F~~~{~~~Dq~~~~t~}~y~f~~,~~~~h~~zu~b~q~e~c~h~~~vdvG~~>~~~~{v|~~~~{~v~}~~uzx\{HUzxK~~~Z~~~h~rc~a~~T~~~~gU~~}s~~~~u~f~~a~|Z~~~{<~~J~~`~|M~~h~r~c~|R~~i~`~~Xsrfj'zya~~q~~}U~~~a~N~gY~~~`~~~g~<~mb~h~~v~`G~I~}W~~V~~~w~ze~~~~}{%~ld~~~>~~{~~~x~M~~h~I0|~hzd~x~B~~jz~l~g~~~|e~[~~~~~t~u{|W~~e~H~~~~U~b|~]~\}YO~~f~~~1~~~~~F~~~oK~ch~~g~~~~{~~r [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2319/ccs/rev np:i:10 rq:f:0.998476
+  ~~~~~~~a~~a~~f~|ge~{~}~u~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}z_~zys~~}u~~~~~~}~d~}~~@~q~vb~~S~||~vd~gxz~~~~z_ty~y{|~~f~~}~~~~~f~c~d~cy~;~}~~V~~f~t~g~O~J~~u~Q~~fa~]~O~}F~~~{~~~Dq~~~~t~}~y~f~~,~~~~h~~zu~b~q~e~c~h~~~vdvG~~>~~~~{v|~~~~{~v~}~~uzx\{HUzxK~~~Z~~~h~rc~a~~T~~~~gU~~}s~~~~u~f~~a~|Z~~~{<~~J~~`~|M~~h~r~c~|R~~i~`~~Xsrfj'}ya~~q~~}U~~~a~N~gY~~~`~~~g~<~mb~h~~v~`G~I~}W~~V~~~w~ze~~~~}{%~ld~~~>~~{~~~x~M~~h~I0|~hzd~x~C~~jz~l~g~~~|e~[~~~~~t~u{|W~~e~H~~~~U~b|~]~\}YO~~f~~~1~~~~~F~~~oK~ch~~g~~~~{~~r [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2319/ccs/rev np:i:10 rq:f:0.998365
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  O~VSb~~a~t~u}|~~~Q~x{~C_z&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}y~~\b~~{G~~{~y{_~fxy~~e~W~hz~~o~|tg}~~~~U~}~~~~~~~~}g~~w~~~~a~z~W~c~~f~~w|~~~~c~~g~h~~~`~%~LxR~={a~~fV~~V~~~{~wS~~~~}wb~uo~oc~~D~~~}g~}~g|S~~~d~\~q~u{J~~[~~>~~~~K~~~wE~~rc~~~xmx~~~{U~~T~~~K~~gh~~U~^~}~~|~~}W~~fw~~x~a~{{~t~}~~~~~{~|W~~S~~x~~h~j~~hwr~vS~{~uw~~~)q~~~~y~i~B~~~Z~{~~u~}Qe~~{B~S~^h~y~{t~|c~f~~G~~K~~~~~{x~~wy~~c~e~~RO~~g~~~o~b~g~t}O~~g~g~o~J~~~`~|~v~\vyc~G~~~~~}z~~d4~~fy/~~~sjh~}~U~~|sf~~w~xfR~T~~~,~~~~x~QT~~X~~}Ku}_~}| [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs/fwd np:i:5 rq:f:0.992602
+  N~URa~~a~s~t|{~}~P~wz~B^y&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|x~~[a~~zF~~z~xz^~fwx~}d~V~gy~~n~{sf|~~~~T~|~}~~}~~~|f~~v~~~}`~y~V~b~~f~~v{~~~~b~~f~h~~~_~$~KwQ~<{`~~eU~~U~~~z~vR~~~~|va~un}nb~~C~~~|g~|~f{R~~~c~[~q~tzI~~Z~~=~~~~J~~~vD~~qb~~~wlw~~~zT~~S~~~K~~fg~~T~]~|~}{~~|V~~ev~~w~`~zz~s~|~~~~~z~{V~~R~~w~}g~i~~gvq~uR~z~tv~~~(p~~~}x~h~A~~~Y~z~~t~|Pd~~zA~R~]g~x~zs~{b~e~~G~~J~~~~~zw~}vx~~b~d~~QN~~f}}~n~a~f~s|N~~f~f~n~I~~~_~{~u~[uxb~F~~~}~|y~~c4~~ex.~~~rig~|~T~~{re~~v~weQ~S~~~+~~~~w~PS~~W~~|Jt}^~|{ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs/fwd np:i:5 rq:f:0.992596
   AAGCAGTGGTATCAACGCAGAGTACGGGGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCCTGAGACTATATCATACAAAATT [...]
   +
-  c~YLTIh?~krh]PxOZdYV[Xmsf4~wh6u?k~\ZrJ~RlYeWL~[~Fc;c9y~~qXUfqGkGsPTj+^ZakaZj)o`dXmgZI~~dPB~~mh_V^&J~M|eYYiYTmMZTZWK{EF~bVaXC9?WHsPlZkN[UYIefX/~p`pbDipkp[jCsWL|j7{u_H~ZE'ksn::ii at hE_g>IFTBAr`IPEdWVf)K'.@;no%W?E3Yf7~~~oZCoWm[FwUW0bGYlafY]krY[_YsI~BuwwQYlZk9~iP\XciNhj`~f]~WnG~g`lL~\Zm6~xfZ'tW]oYR~T|UrZkIhUcB;.2SNFX<ZM^LEdm4_]]I|~l^aX:sTSLYqgTG~nV]6~ZGXlQm1ycQmHE}~YnUVmXECdPqfZmb~G~Fs~lfY4t^SYh.dZsUj[7vfYSMMqaEjs=iVqgSzZI^N~e]erT~V~ZlP~\~ogQRXPDAMZsW<`pZ8+^Z5|DO\CDUE{~lZlX[b`G]FeNhVk6;_IZYe [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs/rev np:i:6 rq:f:0.994298
+  c~YLTIh?~krh]PxOZdYV[Xmsf4~wh6u?k~\ZrJ~RlYeWL~[~Fc;c9y~~qXUfqGkGsPTj+^ZakaZj)o`dXmgZI~~dPB~~mh_V^&J~M|eYYiYTmMZTZWK{EF~bVaXC9?WHsPlZkN[UYIefX/~p`pbDipkp[jCsWL|j7{u_H~ZE'ksn::ii at hE_g>IFTBAr`IPEdWVf)K'.@;no%W?E3Yf7~~~oZCoWm[FwUW0bGYlafY]krY[_YsI~BuwwQYlZk9~iP\XciNhj`~f]~WnG~g`lL~\Zm6~xfZ'tW]oYR~T|UrZkIhUcB;.2SNFX<ZM^LEdm4_]]I|~l^aX:sTSLYqgTG~nV]6~ZGXlQm1ycQmHE}~YnUVmXECdPqfZmb~G~Fs~lfY4t^SYh.dZsUj[7vfYSMMqaEjs=iVqgSzZI^N~e]erT~V~ZlP~\~ogQRXPDAMZsW<`pZ8+^Z5|DO\CDUE{~lZlX[b`G]FeNhVk6;_IZYe [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2333/ccs/rev np:i:6 rq:f:0.992344
   AAGCAGTGGTATCAACGCAGAGTACGGGGAATTTAGAGGCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATTGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCCTGAGACTATATCATACAAAATTGA [...]
   +
-  4VXVAZQ<EC=(UDjSX>c^M^XeV9vr^Iq)X_cJ`Ln-XcN?rChLU/[50?d\MENMNZAJZD\HLPSaXV>`Y_^?T`LwwkVDslLOLEVSRw[uVa`aGKdU>]RXMdcNiLTJRRHTL7T at DA-HE3UGQQ=K9`defWegaOd^P9V<VvkEww_?sa[<[RTcKthRiMY^V[_26:NF>b^:KIPFfkgXAH]WqYIDR*^WF6:R)\UVH)xaJbA]*=:DBLbMG4aYM>rEvo\SOYNC5acVf`UUUrXXvWIt^QOuSdd;r`D<BvuU`VtBakGbBfUe_PbP^jfVXvkV`fVk`f`LmV?sdV;u]KU83TlCJ@^fkeLwe`e=vud^O8dEoUEs_Svv_U`fk``EWSfV_?SV+X(_LLOJNvvk`kYv]XYvbEURFgVXviA]dMiW_)UtJPVGoUeVeJyXv]PWvNwd9RV`UJdV`f`5vvdVffUNhD`,YWkB~oRM;5bViaXJPT8<TUDivtNx`e [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2334/ccs/fwd np:i:10 rq:f:0.999086
+  0RTR=VM8A?9%Q at fOT:_ZIZTaR5rnZEm&U[_F\Hj)T_J;n?dHQ,W1-;`XIAJIJW=FV at XDHLO]TR:\U[Z;P\HssgR at ohHKHARONsWqR]\]CGaQ:YNTI`_JeHPFNNDPH3P<@=)DA/QCNM9G5\`abSac]K`ZL5R8RrgAss[;o]W8WNP_GpdNeIUZRW\/26KB:^Z6GELBbgcT=DYSmUE at N'ZSB26N&XQRD&t]F^=Y&96@>H^IC0]UI:oArkYPKUJ?2]_Rb\QQQnTTrSEpZMKqO``7n\@8>rqQ\Rp?]gC^>bQa[L^MZfbRTrgR\bRg\b\HiR;o`R7qYGQ40Ph?F<ZbgaHsa\a9sq`ZK4`AkQAo[Orr[Q\bg\\ASObR[;PR(T&[HHKFJrrg\gUrYTUr^BQNBdRTre=Y`IeT[&QpFLRCkQaRaFuTrYLSrJs`5NR\QF`R\b\1rr`RbbQJd@\)USg>~kNI71^Re]TFLP48PQ at espJt\a [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2334/ccs/fwd np:i:10 rq:f:0.999059
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  |~~S~~~W~zktb-~e~v~r~o|WvH~~~~h~~zV~~gb~~~|fi~i~i~~P~J]~P~~fn~o~c~W~if~d~~aX~2~~~~~{chk~j~~x~y~m~~~w7~~~~xN|i~~ax1~~~~io~dh~E~l~~{~{~uv~zpa~zN~`ov~~Rj~V~k|~zv~~~~~~~+~~~~~~~~swA~H~~m~|F~~~k~~~0~~~?1~~~~l~~~~~|~o~~j~~rq~wQ~~~p7~jW~A~o}I~~~~p|~~~rQ~}~ew~h~<w~~~s[i~~w\~J~u~y~{~~_~~gn~Rwm~el~}^~~SF~~~oO~p~~Vo`guZ~Pk~V~k~}~~~~~~~~hR~~~vwU~~~~H~~i~^|V~~~g|~i~n~|~E~~z~^a~N~~~~~_~o~eY~~9~~~|~L~~~Tcf~hn{W~V~?~~~|~;~~~~{}~~}y~~m~}~~gt~~g~hm~~~~J~ykUg~a~\iK~_~~~m~k~j~}bZvqj{{p~U~~~yj~~~~~~z~~~Y~~ [...]
+  |~~S~~~W~zktb-~e~v~r~o|WvH~~~~h~~zV~~gb~~~|fi~i~i~~P~J]~P~~fn~o~c~W~if~d~~aX~2~~~~~{chk~j~~x~y~m~~~w7~~~~xN|i~~ax1~~~~io~dh~E~l~~{~{~uv~zpa~zN~`ov~~Rj~V~k|~zv~~~~~~~+~~~~~~~~swA~H~~m~|F~~~k~~~0~~~?1~~~~k~~~}~{~n~~i~~qp~vP~~~o6~iV~@}n|H~~~~o{~}~qP~|~dv~g~;v~~~rYh~~v[~I~t~x~z~~^~}fm~Qvl~ck~|]~~RE~~}nN~o}~Un_ftY~Oj~U~j~|~~~~~~~~gQ~~}uvT~~~~G~~g~]{U~~~f{~h~m}{~D~~y~]`~M~~~~~^~n~dX~~8~~~{}K~~~Sbe~gmzV~U~>~~~{~:~~~~z|~~|x~}l~|~~fs~~f~gl~}~~I~xjTf~`~[hJ~^~~~l~j~i~|aYupizzo~T~~~xi~~~~~~y~~~X~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2334/ccs/rev np:i:11 rq:f:0.999183
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCCC [...]
   +
-  V~vn~biR~m`~~a~~~o~y~c~~~C~~~oO~~|_~hoJ~~~}~d~[~~x}m~~~~N~~|i~;~j~~~~M~|~~mT~I~~~yR|~~x~N~~{~~y~~x`~\~~~z~]w]~~U~^~~dypX~~_~k~~z~~yC~o~~~iX~~y~ky~z~~~|{~~mf~m~~yy~~|3~~~~~ykz~~~~m~~y~~V~~~R~uf5~~~~R~~h~_~~~i~~~L~~c~x~~d~X~~~y?~~f~w~skL~~|~a9~~~tj~yz~~xt~u~w~~~@D~y~U~L~~~~|oz~T~~~mygSu~~z~~d~yh_~~~~K~~{n_~~~~~~~|hl~~~p~|~nquk~~o~~~|~~p`tbd~~b~~s6~~X~F[j~M~~x~h~X~ao~9~~~c~i~h~~j~}W~~zXf~vbjn~~~~g`l~P~D~~~mg[~~~z~k~|~|~~f~t{~~m~~f~~a~~~~w~zo~(~lzlYS~q~{~z~^~yi~~}~}~~}~|>~~~~~~jo~|~~{yo^~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs/fwd np:i:8 rq:f:0.995075
-  AAGCAGTGGTATCAACGCAGAGTACGGGGTGGTAGCATAGCAACTGTTCTGAATGTGATATTCGGGTCAGGCCACGTTGACACTTACCAAAGCAAAGACAGAAGGAAGTTGACGGGACAATAGGGAAGATTGGCAAAGGGGATTTAAACATAGTCCAGTTCGCGTGGTGAATGACAGATTGCTACTGTTACCATTGGCGATACTAACGTTGGCGACTTTACTTGCCTCGGTAGCGACAGAACAAGTGTCGTCTACGCAACGAACAACCAGCCGTGTTAGCTGCAATGTCCCCTGTAGAAGACCCTCTTCTTTCTCTTCTGAATGATGTAGCTGTGGATAGAGCGTCTCCCACGTTAGGGTCTAGCAACCCTCCGGTGGTGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGG [...]
+  U~um~ahQ~l_~~`~~}n~w~b~~~A~~~nN~~{^~gnI~~~|~c~Z~~w|l~~}~M~~|i~;~j~~~~M~|~~mT~I~~~yR|~~x~N~~{~~y~~x`~\~~~z~]w]~~U~^~~dypX~~_~k~~z~~yC~o~~~iX~~y~ky~z~~~|{~~mf~m~~yy~~|3~~~~~ykz~~~~m~~y~~V~~~R~uf5~~~~R~~h~_~~~i~~~L~~c~x~~d~X~~~y?~~f~w~skL~~|~a9~~~tj~yz~~xt~u~w~~~@D~y~U~L~~~~|oz~T~~~mygSu~~z~~d~yh_~~~~K~~{n_~~~~~~~|hl~~~p~|~nquk~~o~~~|~~p`tbd~~b~~s6~~X~F[j~M~~x~h~X~ao~9~~~c~i~h~~j~}W~~zXf~vbjn~~~~g`l~P~D~~~mg[~~~z~k~|~|~~f~t{~~m~~f~~a~~~~w~zo~(~lzlYS~q~{~z~^~yi~~}~}~~}~|>~~~~~~jo~|~~{yo^~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs/fwd np:i:8 rq:f:0.993299
+  AAGCAGTGGTATCAACGCAGAGTACGGGGTGGTAGCATAGCAACTGTTCTGAATGTGATATTCGGGTCAGGCCACGTTGACACTTACCAAAGCAAAGACAGAAGGAAGTTGACGGGACAATAGGGAAGATTGGCAAAGGGGATTTAAACATAGTCCAGTTCGCGTGGTGAATGACAGATTGCTACTGTTACCATTGGCGATACTAACGTTGGCGACTTTACTTGCCTCGGTAGCGACAGAACAAGTGTCGTCTACGCAACGAACAACCAGCCGTGTTAGCTGCAATGTCCCCTGTAGAAGACCCTCTTCTTTCTCTTCTGAATGATGTAGCTGTGGATAGAGCGTCTCCCACGTTAGGGTCTAGCAACCCTCCGGTGGTGTGTGGTTTCGGTTCGCTTGGTTGGGTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGG [...]
   +
-  s~fpVr|d~fEWN^~ZuYftQt}7nM~~xN2q~g_nMz~vlZ~\~t8~mhs2~bpRsi~ig~,1~~~r~b~I~sdT5~lflgmT{iYj4~~vq%~tugr}pE~M~C~qj~J6A;XmW\:~|g4p~i~\N^r9~Z@|~${~nzKwd:~Y*asvanL~}q6~SpnDHa~}X_~uZ~lxFaA~0TwQl}w(y~Rf:V~_~G]f~bUy'porn~a~``[qR~~Rg0htQ~~tg~z6rpavqNaY~\@wv~[{+gReiemIZI~q_1~Za{X~wt(`_~Kn~;IG'Ys]~x1b0~~~xHizIX~wvE~z[gD~K;wvffEQB\|]H~e_EO;V`op~db;~d~~ti_[w{:p0~~~rb_~jJ~~~u~ganG~O~qg[~Q~~*~~nOT{R{5~~nL~W~\xeU~>~J~C~~cRG~r=j:sR>~_qk|Z~s8~rmO~ySvGN8oO~tp~lE~j~JS>}Qr.~^yfcqb{_w.~^IU~~|K],R~Kxbp~R9~HP[b~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs/rev np:i:8 rq:f:0.994039
+  s~fpVr|d~fEWN^~ZuYftQt}7nM~~xN2q~g_nMz~vlZ~\~t8~mhs2~bpRsi~ig~,1~~~r~b~I~sdT5~lflgmT{iYj4~~vq%~tugr}pE~M~C~qj~J6A;XmW\:~|g4p~i~\N^r9~Z@|~${~nzKwd:~Y*asvanL~}q6~SpnDHa~}X_~uZ~lxFaA~0TwQl}w(y~Rf:V~_~G]f~bUy'porn~a~``UoN~|Qf0hrO~~re~x4pn_snK^V~Y=us~Yy)ePcgbkGXF~o]/~W^yU~ur'^]|Il~9GE&WqZ~u/_-~~}vFgxGV~usB{xXeB~H8tsddCN at Zz[F~c]CL9S]mm~b_9~b~}qf\Yux8n-~~}o`]~hH~~~r~d_lE~M}ndX~O~|(~}kMQyPy3~~lJ~T~ZucS~<~H~A~~`PD~p;g8qP<~]oizX~p5~pjM~wPtDK6lM~rn~iB~g~HP<{Op,~\wd`o`y]t+~[GS~~zI[*P~Iv_m~O7~FNY`| [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2359/ccs/rev np:i:8 rq:f:0.993974
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGTAGCATAGCAACTGTTTCTGAATGTGATATTTCGGTCAGGCCACGTTGACACTTACCAAAGCAAGACAGAAGGAAGTTGACGGGACAATAGGGAAGATTGGCAAAGGGATTTAAACATAGTCCAGTTCGCGTGGTGAATGACAGATTGCTACTGTTACCATTGGCGATACTACGTTGGCGACTTTACTTGCCTCGGTAGCGACAGAACAAGTGTCGTCTACGCAACGAACAACCAGCGTGTTAGCTTGCAATGTCCCCTGTAGAAGACCCTCTTCTTTCTCTTCTGAATGATGTAGCTGTGGATAGAGCGTCTCCCACGTTAGGGTCTAGCAACCCTCGGTGGTGTGTGGTTTCGGTTCGCTTGGTTGGGTTGCCCAATTTCCAGTACCGAAGAGGTAATTGCAACTTCAATTGCTTAGTTGACGTGACCTTTCGGGTGTCATGGACTACCGACGGTAT [...]
   +
-  @~k`~oE(~cX\W8~f^dkVeeNfDCk~nxV8GgkneKYbEw_wY(uphq5j~inbXyy}*~*$Ll;\~G~a~yqmD~ovcg`d~~5{9te9FYk6VGZ^HGG~Wvg_c+VE-nh4F at i&K3~dX~RfG~C~vX~zA~}f0~PC~mC|~gi>MnW>U~J^U\>JrLNf~N2v>xT\C~hay~p<d8yh`~bZ~X~g[pR~tT~rTF~N~XTUAV~~nIT~C.SSG\~IKZusyw~nG~dh~mhmvZlaW7}tEI]~uZF~F]~d~}_uIca0~QY`%-0rl~vpgH~~~zXH`TP~<vT~~{u6~uQ~~_wbO~roZ2D;nk_SuH)mcpaX~x1vZqXnfjrSD~~rZ[7~s7u~_t]~lwm~*~<8-G~T-fC`T(4Xz@~fMXvJ~]H_LzU~2TD}k%HOPy~\~<~~W~~\D|S~g8v^TBc^\~U{]^n~s_~``}Dy^vO~yDV~`aZZzkrb~7~lY<zjfM<VZgDf?lec9uOzXJ~X*1 [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2409/ccs/fwd np:i:6 rq:f:0.996988
+  @~k`~oE(~cX\V8~f^dkVeeNfDCk~nxV8GgkneKYbEw_wY'uphp5j~inbXyy}*~*$Kl;\~F~a~yqmD~ovcf`d~~5{9se9EYj5UGZ^HGG~Wvg_b+VD-nh4F at i&K3~dX~RfG~C~vX~zA~}f0~PC~mC|~gh>MnW>U~J^U\>JrLNe~N2v>xT\C~hay~p<d8yh`~bZ~X~g[oR~tT~rTF~N~WTUAV~~nHT~C.SSG\~IKZusyw~nG~dh~mhmvZlaW7}tEI]~uYF~E]~d~}_uIca0~QY`%-0rl~vpgH~~~zXH_TP~<uT~~{u6~uQ~~_wbO~roZ2D;nk_SuH)mcpaX~x1vZqXnfjrSC~~rZ[7~s7u~_t]~lvm~)~<8-G~T,fC`T(4Xz@~fMXvJ~]H_LzU~2TD}k%HOPy~\~<~~W~~\D|S~g7v^TBb^\~Uz]^n~s_~``}Dy]vO~yDV~`aZZzkrb~7~lY<zjfM<VZgDf?lec9uOzXJ~X*1 [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2409/ccs/fwd np:i:6 rq:f:0.996913
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGTTCCG [...]
   +
-  f~lOnVw[~yry^=|`VdihMmsXY$~~`A7Jh~zsrx~~~~{vvux~~~~~~~rl[vV6~yeyqeZs`Z[tNZ~;~`R}ynwLR^>kwVvPuRxdnrel[uf`~q\~rnb\YRx]rWxoUYmyewVwqP~~<~T~ikdu.~~_~\~ynU~oO_~m?~x{^Mal[dsja_P|ly`aP~xA~|~`]qbyL~^~WsKnHj7xqOwlyR~w5~~~cNqmx[xqnySzk]YwexXSW5~\-~~[P~~ec|[P~FzcnaBqxm@~~k9tunvU~i~rysiiKCbj'~bP~~<~kK~bG~N~x`nc~Vg~O~xlWaWuNe]ULT~`m&~v1/~_~ia~`x>~pae~S~yP|K~pR~Z6^K~r?~~dpryetbP~dsZS[Ab7~~ZDmoiUNjar[qMNjQCr~QF3~ctA~~lU};~[~vEk]{G~}^KSS5Yrb=~~bZ&www~MtkMVOg[IUcshU~qdHyKzxl+~~~c;tBA~ZQ~serlOwrl`gW~Nxh [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2409/ccs/rev np:i:6 rq:f:0.993475
+  f~lOnVw[~yry^=|`VdihMmsXY$~~`A7Jh~zsrx~~~~{vvux~~~~~~~rl[vV6~yeyqeZs`Z[tNZ~;~`R}ynwLR^>kwVvPuRxdnrel[uf`~q\~rnb\YRx]rWxoUYmyewVwqP~~<~T~ikdu.~~_~\~ynU~oO_~m?~x{^Mal[dsja_P{ly`aP~xA~|~`]qbyL~^~WsKnHj7xqOwlyR~w5~~~cNqmx[xqnySzk]YwexXSW5~\-~~[P~~ec|[P~FzcnaBqxm@~~k9tunvU~i~rysiiKCbj'~bP~~<~kK~bG~N~x`nc~Vg~O~xlWaWuNe]ULT~`m&~v1/~_~ia~`x>~pae~S~yP{K~pR~Z6^K~r?~~dpryetaP~dsZS[Ab7~~ZDmoiUNjar[qMNjQCr~QF3~ctA~~lU};~[~vEk]{G~}^KSS5Yrb=~~bZ&www~MtkMVOg[IUcshU~qdHyKzxl+~~~c;tBA~ZQ~serlOwrl`gW~Nxh [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2409/ccs/rev np:i:6 rq:f:0.993329
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGGTGCCACAAGTTTTCTCTTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGTT [...]
   +
-  .IJ]VTZBr__onf~>al``a:=Wj%~~~~~~~{yz}~~|~~~xsty~~~~~~~dbYS^VoAgh[g_pVwernV~bt>e~YLCkep[Li]SKudYg`PS`^jh?~wQsnfg.`gi]b9oj_m=oh]`[wI~q=~W~ezkBH~~W~'k>LY[~_lh~b8~~kdch+tznsyhV]~ekkn7rCD~~~g;~k[Z~Q~7kRuT~=xDkhWf1{a6gy~wKqemq]vdZG~]\xrnpb:H-~~F~~t6xmk`~\0~7~leni~reN~~dX~qypG~MrxrwOuoylNR~U8~^M~cW{jBxc~nde`~xQ~g~X7tnerlOFsSQ~Ub4~~~KfA~a+~j[[zEjN~[~[Z~C~rOujS~G~~H~~[~uDhBg$ji[vMB[r4~qRL~~c_YyU~NqvbvbV~~nzZ{(~=~vcM{LsKyiYHP~O~q[lyb[s\dE~~gx+~~~~SLYpOuH~xm[mze?~znS~X~n8/y~~cW~d\~z\~rnqFgryVqeS~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2417/ccs/fwd np:i:6 rq:f:0.996579
+  -IJ]VTZBr^_onf~>al``a:=Wj%~~~~~~~{yy}~~|~~~xstx~~~~~~~dbYS^VoAghZg_pVwernU~bt>e~XKCkeoZLi]SKudXg`PS`^jh?~wQsmef.`fi]b9ni_m=oh]`ZwI~p=~W~eykAH~~W~'k>LYZ~_kh~b8~~kcbh+tynsxhV]~ejkm7rCD~~~g;~j[Z~Q~7kRuT~=wDkhVf1{a6fy~wJqelp\vdZG~][xqnpb:G,~~F~~t6xmk_~\0~6~leni~rdN~~cW~pypF~MrxqwOuoxlNR~U8~^M~cW{jAxc~mde`~xQ~g~W7tnerlOEsSQ~Ub4~~~Kf@~a+~j[[zDjN~Z~[Z~C~rOtjR~G~~G~~[~uCgBg$ji[uMB[r4~qRL~~b_YyU~NpvbvbV~~nyZ{(~=~ucM{LrJyiYHP~O~q[lyb[s\dE~~fx+~~~~SLYpOuH~wl[lye?~ynS~X~n8/y~~cW~d\~y\~rnqFgrxVqeS~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2417/ccs/fwd np:i:6 rq:f:0.996571
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGAGTCCAACAAGTTTGTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGATCC [...]
   +
-  `{d\6biRqbYU\:|bVaDW\PmXTDty~hAgVb^~d;-fqhX`M~6u?elBQ7>d at ukYRWEsOqS_hEqGndCNj:r^\^Mf\XaXN~n%FENgJhTiAv~a<U\S at ssm_P~~qngKsKBlEhFQI^VG_S9r_HX>eJ?jJWRX_Pg_'~`UdkLAeLkUQK<ovss_CIegl9f@~jWmj+ly[M[jN-qspI>}cPYL~~ofq_lMvG_,coqfl&~uPGGup at ybYed4pt]_O[vepfO~keZdfXtMPbA)/cM~dZEx4]rlKfndU@~Q7ngdlE~o`~Z5|_QA~l[nQ~H\`Jt~eg8wcXk0~U~eoge-]dAV\RhWIdj-kdEd:~lU~iOG~~neoeHycW\aUVW5~dgpI~t at foR~P~d`~fR~teoZ\Ze[Z~JT^OmM~Cy6~~mcOU~~mPmV~bq_~pN{Pef]N~mO~Z?~RkgMmfmdR~[H^mItO~b)BgHwdS?LAOWnOaXc4|~i;BRP^yf]edES2~ [...]
+  `{d\6biRqbYU\:|bVaDW\PmXTDty~hAgVb^~d;-fqhX`M~6u?elBQ7>d at ukYRWEsOqS_hEqGndCNj:r^\^Mf\XaXN~n%FENgJhTiAv~a<U\S at ssm_P~~qngKsKBlEhFQI^VG_S9r_HX>eJ?jJWRX_Pg_'~`UdkLAeLkUQK<ovss_CIegl9f@~jWmj+ly[M[jN-qspI>}cPYL~~ofq_lMvG_,coqfl&~uPGGup at ybYed4pt]_O[vepfO~keZdfXtMPbA)/cM~dZEx4]rlKfndU@~Q7ngdlE~o`~Z5|_QA~l[nQ~H\`Jt~eg8wcXk0~U~eoge-]dAV\RhWIdj-kdEd:~lU~iOG~~neoeHycW\aUVW5~dgpI~t at foR~P~d`~fR~teoZ\Ze[Z~JT^OmM~Cy6~~mcOU~~mPmV~bq_~pN{Pef]N~mO~Z?~RkgMmfmdR~[H^mItO~b)BgHwdS?LAOWnOaXc4|~i;BRP^yf]edES2~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2417/ccs/rev np:i:6 rq:f:0.996522
   AAGCAGTGGTATCAACGCAGGAGTACGGGGTGGAGAAGCAAATACTTGGATACCGAATTTAGAGGCCATAGGTTATGGAAAAAGTCAGTGGATTAGATAGTAAAAGTCGAAATCTTTATATTCGGTTCGATGTACTACGTTATTCGCGACTGTTCTGTCATGATAGTTTTTTATATAGTCCTAATAAAAGGAGTTTTTAAAGTAAATGACATTTCAGTAGTAAAAGTTTAAGAGCTTTTTGTTCTGCCAGACGTTCTGATAGTTGAGGAAAACGTGTGGTCAGCTAATAACTTGTGGTATGGAGTAAACGAACATCCAACAGTATGTACAATCGTATGAGAAAGGACAAATCTGAAGACGATATTAGAGGGGAGTCCAACAAGTTTGTTGATGATTCACGTAAGGAAATCGAAATGTAAGATTATTCGTCAATGGAGGTATAAGACAACACACCAAGTAATTATACGCGACGAGTTTTCATGTTGACGAT [...]
   +
-  @dLFIDMBcI.MBAx[ZFb*eVUfd\;~~oCDycZCcX[+xu9a[EzK}bPb@^EC|;t_KV]*SM~da\:zFx^K<t;z~~Y at d\bDMJzK6xb[a9afq;~~s_kfdE~~ZeO~~oqnN~bR~`~feol_lifqofOPzmO~eeePmfqe<~dVaiMl\eoqod6~scf{iSmegNDO~pI~i@~ulAvj_&ophpNq~YqT~~oOmfi&i~dnSqnepC~~~a2y[K~cobf'XnuaY.~cXcL~k9kfdUucCcnqpe?fMUSv0~~sed[`kNPqfoegqZo[^~g]rbnP~PnWHvQ]qE~~fd>udTRNy_~fmPnVXd[Vc9~XeepgKaoeQ~nA~VeR~~qbSIK~doe^RZlO~kfk%~~mn_eNtL~e_~N5|jP1^]O`ajV~Omfbk_~U~@~~qfdB~wYdZ]~OmV~o`~feqf_~SS~lRm[l[]~RQcN~eieiB~K~d^`~_~nXmfefeofend5~~~ekf_`~eofdnq [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/ccs/fwd np:i:7 rq:f:0.989186
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCACTGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGGAATGGTTTTTTACACTTA [...]
+  @dLFIDMBbI.MBAx[ZFb*eVUfd\;~~oCDycZCcX[+xu9a[EzK}bPb@^EC|;t_KV]*SM~da\:zFx^K<t;z~~Y at d\bDMJzK6xb[a9afq;~~s_kfdE~~ZeO~~oqnN~bR~`~feol_lifqofOPzmO~eeePmfqd<~dVaiMl\eoqod6~scf{iSmegNDO~pI~i@~ulAvj_&ophpNq~YqT~~oOmfi&i~dnSqnepC~~~a2y[K~cobf'XnuaY.~cXcL~k9kfdUucCcnqpe?fMUSv0~~sed[`kNPqfoegqZo[^~g]rbnP~PnWHvQ]qE~~fd>udTRNy_~fmPnVXd[Vc9~XeepgKaoeQ~nA~VeR~~qbSIK~doe^RZlO~kfk%~~mn_eNtL~e_~N5|jP1^]O`ajV~Omfbk_~U~@~~qfdB~wYdZ]~OmV~o`~feqf_~SS~lRm[l[]~RQcN~eieiB~K~d^`~_~nXmfefeofend5~~~ekf_`~eofdnq [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/ccs/fwd np:i:8 rq:f:0.989356
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAACACTGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGACTATAGCGGGACGTTCGACATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCCAGCACGCAATCGCAAGATACGCAGTAATGCTAAACCATACTTATTTGACTTTGATGTTCCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTGGCTACACATATGCTGTTGGAATGGTTTTTTACACTTATTAT [...]
   +
-  X|-T_U[&W]8TA9XJ^W>^RGa^W$dPTTZbedgntmd^[VPPV`k_JAA at 53.6X`QX`D^Fe$`;HZOaTzUJG=X*l_MR<PO_X at q;]QRW69MP_AfMWBQGuV3:79kaOjG at O\<Q'EdN)c]UM`WF_7I4WW(=<(YMzY8~jZQ_ZcHpDiAE>YCDWJhO~j`db2NDffYHgpkYLE@@voKIEeVYU)`?Wo`^Y]H2W8O[b+M[X`hLQMvb[Ky`Z]M\k]PxPFFD}oJcNCbB~d?5<RoRV4ITb3REz`dBK at f<,QO;/DNJJ~?9FNMA?)YDGRm<FSESJD][``sL):nODIRbW6HMg]5s8-dS]NRffsg<~t?Y45\?FiakVljVr<OYQW^<ozM~tmQnLgVQR:eIF/j\RpgfAY'HanQ,9krK~|SyOb_\F~k`=fkQZ8;]j:U?*dR[HNRfMi<TLUON79:TZQK~]anT~f~ojmMw]rhaa~xVn&pON~(*C2[tqnp`S`YKh^ [...]
+  b~7]kbh2lhD_QCiSiaJh^Rlob$vafdhqutv{~~wpljdadit{hVPI83633ZiSLcF`JL%o at aWS[~^@PP^5pZX[E`Uk_JsBcSYT:/KHbDtIMKPDo`;DG at wkG`NAQbBK*=YB1\S\OT^NS0Q3Y6(D&dHn^8riQZW`WMxAfJC7eMHjRlF~hTk]6JF_gQC^ldc?E6<xhDPOgST\J7TwYgbeT:b.^Va(EjTelUJH~iYC~fdOTW[KEzZQPI~mNsV:_H~p@?JViG`6TK`<Z<wa_ at CKc7&NL=<JH?S~IEAY\J84kTLVuD>\>Q>HjcTikB:/xOKO`jX.O[ed?p>'dN]H[Sexq1~~Ib>7Y7QtltPfs_lELSH^\2kqV~nmOtJvQGdJm?O'gZZycoMj2XlrX20olD~rS~WsjeA~tiDXp[N.Ffo-Y?$rXR:TdTc4[UVSU:@BYWVW~c^{Z~p}cd]Umdnrhj~rOR({U~36X,g~vvwhQ]`Gx]VtLl [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2436/ccs/rev np:i:6 rq:f:0.982503
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGCCACGTCTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCTAAGACCATAGAATAGTCCTAAAGCAACATTTGCCGCATCGACCCAAATCATGGCTTTGCACTCCAACTTTGCTCTGAATCGTGTCAGAACGTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAATTGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCCGAGCACAACGCTTCTTGGCTACACATATGCTGCTTGGGAATGTTTT [...]
   +
   E=1.1B7:OVZG]Q[[T^^&9V\b^%l]ce^a__acglhb^[Z[^cnxyyyyvn\YYNxJWB>'DSN(82mYK'->+HNF]G05eH\>[VJUJtTyc]D\+H^?V?jQ)`HFQ?XPBKEF58M>>+rD;/>hW at +&R>L\@K%6:2Y;,P.>=a:/abQF[_fOm;TN;W[;E2/_D?x\W*?*WEaV(G=$5]IC?V=_S,USAa]ZbOpZ(MGSc_PY\BV\>1><0S+QG*fT?KnB>bX9XR<[JXBKbbB_ZCb3RTIRM_Y\M[W>AB5UKoV\DKPaC<,[Nd;<07FBPXJQ^]<vvVKFV0RR=q?8WGKHD7T<db-S<VXMH[=<4XU8n[CF_CO-=xMFWLEfQCEYY>4<2RCO+SOP;7HSEYN;I?NV\7aRA1</p_EEbYDu[1*1B\Ze>zgOdDaJD<veZ[NVZfcF^H>VY(`ahB?NLT-&;FS]`EP`Y;ZTbG2]&V;1DJFF^9^6NV]M$2E<]SETHP6MHL [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs/fwd np:i:8 rq:f:0.994616
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs/fwd np:i:8 rq:f:0.994617
   AGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  AUkzWwO~`B]{o~dDb~ktlkxjFu~~i[~L~hD~KNKvegd{fujuRS~_~H~z7~~~~WK}z>}~Dj~Ub~3~=iTlemiPnP]~t?~iQR16kseVatXl3hbvY>NGVEQP~ii~Ts~`~koWwQ~Tp~lPfprnP~~qR~P~bt`=~~w~dZ}[U|s_~skdhXQuZiTUmb~]\|R~Zon:gXbk[]Z?|tr]~HyS+T_elMj^[^N8uaIZQingc%l`WqQi`fO|lZs?l@`]~PtSXYuCklR~seo~OmDC%rrVGmjP^\cnK~qCphep[J{eQz.b]bO~c[IgxR|HISCWZ]rS~mbDM}akxT~-gIVPy[^aVI~}I~kTk~n@~gTn\nTz]z^~[R~B~~yTb9Qr]~fbln^f5Yrl_`^~jO(~>S]k2P~]Z^E]?jKPSolS~sb[]t[dhA~VKArkq~_My~M~bV>~~dI~lp~WfPE~$~~~~r~dS<\LBaoYQpC~sqQpYbqediP~nT~n\hsp~\ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs/rev np:i:9 rq:f:0.998753
+  AUkzWwO~`B]{o~dDb~ktlkxjFu~~i[~L~hD~KNKvegd{fujuRS~_~H~z7~~~~WK}z>}~Dj~Ub~3~=iTlemiPnP]~t?~iQR16kseVatXl3hbvY>NGVEQP~ii~Ts~`~koWwQ~Tp~lPfprnP~~qR~P~bt`=~~w~dZ}[U|s_~skdhXQuZiTUmb~]\|R~Zon:gXbk[]Z?|ts]~HyS+T_elMj^[^N8uaIZQingc%l`WqQi`fO|lZs?l@`]~PtSXYuCklR~seo~OmDC%rrVGmjP^\cnK~qCphep[J{eQz.b]cO~c[IgxR|HISCWZ]rS~mbDM}akxT~-gIVPy[^aVI~}I~kTk~nA~gTn\nTz]z^~[S~B~~yTb9Qr]~fbln^f5Yrl_`^~jO(~>S]k2P~]Z^E]?jKPSolS~sb[]t[dhA~VKArkq~_My~M~bV>~~dI~lp~WfPE~$~~~~r~dS<\LBaoYQpC~sqQpYbqediP~nT~n\hsp~\ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2451/ccs/rev np:i:9 rq:f:0.998117
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACT [...]
   +
-  Yrohtt[R~jesW_~WtEFiT_vmQ9~sYAZkJ|eF~tpV~pfac_~sreG~R|9ouIi~~pfIxuT~nfI~c8lGs\~fote[sxs\j~P~mFz\Ef|fH~v_Z3~~~ymlBiZe^~nKkM]zqQjGGVT~yiqf`~peW.p~mM~\~uij/~~~zp>vcNGe6YRZ__~^~^ofZ~]m]c~^{R~nR_XfRiv~?~~rU~B~Y=~eoRntcncttoa`~u~kwkrmI=Y[rpO~rf[b~^bB~_y^fBlRo~_~on~ra~~uL~~o`~\^~`~fQyoF~~gqvS~~G~__dpM~~tH~~^~I~g?oVdc;~dYa`~oxptqtrt~F~~rYeV~~J~hPV~tV~sX~t]rpT~\ur_~a~~qI~nPIV~q`hXdoHy~iiKS~~a`~qlq~rC~v~vqv6~~~~rcm~^miuf~]pK~nl=~~_~sD~~`ycp@~{cPj~emldoBz3wy}em]jnnqe_Ql`~skWY9e;@koswur~V~serg~qi~ [...]
+  WplerrYP~hcqU\~UqCCgR]tkO6~qV?WiHzbD~qnS~nc_a\|qpbE~Py6lrGf~~mdGvsR}lcG~`5jDqZ~dmqbYqupZh~N~kDxZCdzcE~t]X0~~~wjj at fXb\~lIiKZwnNgDDSR~wgnc^~ncT,m~kK~Y~sgg-~~~xn<taKEb4WOW]\~[~\ldW~[k[a~\yP~kP\VcPft~<~~pS~@~V:~blPkq`kaqrm_^~s~ithpkG;WXpnM~pdX`~[`@~\w\c at jOl~]~mk~p_~~sJ~~m^~Z[~]~cNwlC~~ensP~~D~\]bnJ~~rF~~\~G~e=mSba9~aW_^~lunqorpq~C~~oWbS~~H~fNS~qT~qV~q[onR~Yro]~_~~oG~lNGT~o]fVamEw~ffIP~~^^~ojo~pA~t~tns3~~~~paj~\kgsd~ZmH~li;~~\~pB~|^w`n>~xaNg~bkibl at w1twzcj[hlkoc]Oj^~piTV7b9>imqusp~T~pcod~ng~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2472/ccs/fwd np:i:5 rq:f:0.996916
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCCAGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTAAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTAGTCGCGAGCACAACGCTTCTTG [...]
   +
-  ^~c[8ak+}OOP-2z[L]gcgcoc^%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~B@~]I~o_oP`1Mbga~gcgkRR^c^^2YK^R`_bF~nYNJjf\co^j.g^}8agoW~^oR~^>~~T]_~EKZ1x_~g]L\F~aP:gcTN]4~lQal8fkF~_]C}ZgV~~c>M3EenKVA=mKldo]QnR~^V~~a4%Km=~W~^3~pb=nna4~m\KkKm%e[acGlQneL[8~~f_bM~_a80kOkOLngY;ZQ`~_cga~g^_0^\~^gKchceH`Q`7~mgcP~g_~HT{N~obF~\Qng_ca~gbF~boeJK~S~`~B}`LXJb`U]mR^dE~~`;`j2[aG~bO~c[oaBn6i~IHbIkd^~IM=c9Jlgc]P]aIFpQFa]F~aQneHa_gcn&}nnaHl=~p=tRGSC\~:E~~aMZV~~cgia8~G1PV>\CjJqj:~V~ocO~oc_mKWfd&`Tbg^?~jV;ao\JF`Qb^g^In^aHXe2Z~S [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2472/ccs/rev np:i:6 rq:f:0.995796
+  ^~c[8ak+}OOP-2z[L]gcgcoc^%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~B@~]I~o_oP`1Mbga~gcgkRR^c^^2YK^R`_bF~nYNJjf\co^j.g^}8agoW~^oR~^>~~T]_~EKZ1x_~g]L\F~aP:gcTN]4~lQal8fkF~_]C}ZgV~~c>M3EenKVA=mKldo]QnR~^V~~a4%Km=~W~^3~pb=nna4~m\KkKm%e[acGlQneL[8~~f_bM~_a80kOkOLngY;ZQ`~_cga~g^_0^\~^gKchceH`Q`7~mgcP~g_~HT{N~obF~\Qng_ca~gbF~boeJK~S~`~B}`LXJb`U]mR^dE~~`;`j2[aG~bO~c[oaBn6i~IHbIkd^~IM=c9Jlgc]P]aIFpQFa]F~aQneHa_gcn&}nnaHl=~p=tRGSC\~:E~~aMZV~~cgia8~G1PV>\CjJqj:~V~ocO~oc_mKWfd&`Tbg^?~jV;ao\JF`Qb^g^In^aHXe2Z~S [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2472/ccs/rev np:i:6 rq:f:0.995793
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGGCAATCTGGCAGATTAGATACAGCTATAGAGCGAATCACCACGTCTCCTTAGATAACTGGCAAATCTTCACAATTACGCAAGACCATAGAATAGTCCTAAGCAACATTTGCCGCATCGACCAAATCATGGCTTTGCACTCCAACTTTGCCTGAATCGTGTCAGGACTATAGCGGGACGTTCGACCATACTACTCATTCGATTACGCATTCACCTGACGAGAATAGCCATTCTTCCTGAACATACGTTAGAAGTAGTTGGTTAATGCTTGTCTACATTTGAGTGCGAAGCCACTAGGTTTGCACTGTTGACCACCAGCACGCAATCGCAAGATACGCAGTTAATGCTAAACCATACTTATTTGACTTTGATGTTCTATCACTGGGTTAATGCCTGCTGCTACCTGACTTTTTAGTCGCGAGCACAACGCTTCT [...]
   +
-  ;i_bo^QNoeSN`4}Y\Km_n[Pob$~~~vaOFFSg|~~ujcadlw~~~~~~shdmD=~aL~fce?wKm_oX~mHmgoco_^`lNl_o^bJXqOJi+he]^QbbO~Tkj\Pd_~]KM~bA~jM_Qd^oca~X~ocMc]w1jS~ogd^^~hl_gS~gL~]`8~aoD~{^S~^cogc]UR~F~~PbnQI~cKz\UHmcgRl%~I?~~^S~U^N~Qc_g_cco(mmKeoeT[cE~~oc_F~b_oS~nQncgi]QboX~c_oOpgaHaoW~KmS~Q]oa at NZL~fX]S~oW~a4cR~Q\M~bl;k^HIno_VrGbcF'tLx5~^~QZ^4~[QaQnco5jh]o\7Da^_~HQ~ocgjMyB~_C^Tag^F~]mB~mS~o_coc_ca~gc_cS~_lgoc_cn_3na~g_bP3~~Q}=;>UJzoC~dFR`@~~^eQ]W~cgofKjKeC~kF~`~fHQ{Q]cg\4_KNi`^mI%kv~ji1Pb]L[j.Jmca~c_bE~JF [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2614/ccs/fwd np:i:6 rq:f:0.993983
-  AAGCAGTGGTATCCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATTCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAG [...]
+  :i^bo^QNoeSN`4}Y\Km_n[Pob$~~~vaOFFSg|~~ujcadkw~~~~~~shdmC=~aL~fce?wJm_oX~mHmgoco_^`lNl_o^bJXqOJi+he]^QbbO~Tkj\Pd_~]KM~bA~jM_Qd^oca~X~ocMb]w1jS~ogd^^~hl_gS~gL~]`8~aoC~{^S~^cogc]UR~F~~PbnQI~cKz\UHmcgRl%~I?~~]S~U^N~Qc_g_cco(mmKeoeT[cE~~oc_F~b_oS~nQncgi]QboX~c_oOpgaHaoW~KmS~Q]oa at NZL~fX]S~oW~a4cR~Q\M~bl;k^GIno_VrGbcF'tLx5~^~QZ^4~[QaQnco5jh]o\7Da^_~HQ~ocgjMyB~_C^Tag^F~]mB~mS~o_coc_ca~gc_cS~_lgoc_cm_3na~g_bP3~~Q}=;>UJzoC~dFR`@~~^eQ]W~cgoeKjKeC~kF~`~eHQ{Q]cg\4_KNi`^mI%kv~ji1Pb]LZj.Jmca~c_bE~IF [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2614/ccs/fwd np:i:6 rq:f:0.993948
+  AAGCAGTGGTATCCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATTCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGAG [...]
   +
-  byWQRQMHwNRb+^T_=DOjWhV4BM$gkf]YalrssssssssssssssssssssON5iLUNN_`QW at oT4^=_[dQR`S\X`Wc=vcQVtYvcV?uoQ;Rc>QWuYvZP/rwOBgTviWwiEb`BwcP5mP=KpuQbSJ__ at OS`QJvvWcBgJJM_JSPc8a2uQ%V_QBlPQK6DGciQWMLSuRSBhJN3qpbSCrVi%?N]K'qrbhbOMVcWa3]cVTMvgItvQHv?bQWcVxb>dWOMNLgRCvvtVFpiTvCQJrQVsW5rOFsOBRPcLvpSVtMFXhPc?IOS\T7ObUvN1bcUv^4mOAPb8sWRXQfLRN*sqOIOF\A^OOfDtD\AFB9YP=vwt]RbB;q`.lqiV%e\Yjjj]iQf2sVi at xdG]L`RiP_ZPdiQW5uQqE`2qe1r>ndCGs>^ItsOVTvWcQCupDSuQWdiQVTMHxeYvXcVQKvrQ_\>bEzciEyUPNf0sX+73pVRU9j at _dVCt5^ZLURV [...]
+  byWQRQMHwNRb+^T_=DOjWhV4BM$gkf]YalrssssssssssssssssssssON5iLUNN_`QW at oT4^=_[dQR`S\X`Wc=vcQVtYvcV?uoQ;Rc>QWuYvZP/rwOBgTviWwiEb`BwcP5mP=KpuQbSJ__ at OS`QJvvWcBgJJM_JSPc8a2uQ%V_QBlPQK6DGciQWMLSuRSBhJN3qpbSCrVi%?N]K'qrbhbOMVcWa3]cVTMvgItvQHv?bQWcVxb>dWOMNLgRCvvtVFpiTvCQJrQVsW5rOFsOBRPcLvpSVtMFXhPc?IOS\T7ObUvN1bcUv^4mOAPb8sWRXQfLRN*sqOIOF\A^OOfDtD\AFB9YP=vwt]RbB;q`.lqiV%e\Yjjj]iQf2sVi at xdG]L`RiP_ZPdiQW5uQqE`2qe1r>ndCGs>^ItsOVTvWcQCupDSuQWdiQVTMHxeYvXcVQKvrQ_\>bEzciEyUPNf0sX+73pVRU9j at _dVCt5^ZLURV [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2614/ccs/rev np:i:6 rq:f:0.993526
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCAACGCAAATGCCACCAATACATATGTGTCCTCTTAATGTTTGCATGCTTAATCTTTTGATTATTATTTCCTCTTTCTTTCTATTACTAACTTTGTAACTCTCGCTAACCGAATCAACATAAATACGTCAACGAATCAAATGTTGATCTCAAATATCTGTGTCCATGAAATTTCGGATCGTAATCTGCTCTACTTTTGTTATTACAACAAGAACTTCGACTAAAGAACGGACTATCTTGTCTAATAATAATGGCACTAAGTGCATACTTTCTCGACTACATTGACGACTCAAAATAAGAAAGGGAGTTTTTATACATTGACCTAACTCACTACTACGCCTTGGTTACCTTTGAACCTTTCGTTGTCAAAGTTCGTACGATGGTAAGTGCTTTCTACTCCTACCGCTATTTGGTTGAGAACCTGTTAAATGA [...]
   +
   NLSWbQUDx\XhXMwXQW;9SO[IC%mssssssmc\]bjqssssssrjb^_^\^fd\ZZXStQP49=kJ2DI7GsOa`dXaU_XQTPhFvOCUsKyhP:RR(PTKIBTq?oST6gRbMJWsc.PLHPp=bPP2`oU0[TQYb0kFP7NoWLt^<_TaTRBfVQV>PpH^O?dNUWvTYTB_oZcWRiXTvXPGf`C<spYNTpQcTUjT4r8*beWe>QPhIyb=;Ip]NvjD5e_<@OiEvfXeLAhSYMW<vwhQYvcXvNVUeVTtPRuU6]GNcXiLwtQTuX?[%UidhXDkNPBL:aeMYh at qL?`WdVTRW;P:T`=K@@brVfXO`S<cVKFN?bWQeWiV-uuufEo=2^I:yqL<;m^STbRbWbHP=6)D=BsViU9VUcV>aUPDuET4`EKdEvM]qQVh:]@trVQYvO]CG`QM3CU=hcV?be2GgKmNOQV-pWRhcWiCaT_EqBQgMLpZ/X'51aOA`8ehLBqIvtTP[ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2616/ccs/fwd np:i:6 rq:f:0.994841
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2616/ccs/fwd np:i:6 rq:f:0.994842
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACG [...]
   +
-  f~Zer_rN~rnhIGJH^dq]E^r\d%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ldrrr^dbPO^rM~ZN^n6YR~YJj\rP~[drU~_kIDpP~l^mR~Y^YdD~r?xmdl^NGNCOxPiTmOpL~^R~?~~Izdq_pInIQ~cH~~b?~q_q\\r_7~~~~yd^OsP~qQ`}4~g8~rerYcoZpSkrrf^^fd\X[Ta<8g[B~~~nMN~^O~hQtb~e'edQ~O~~~kN6~{ZMBxr_ea~IpF~~frrF~~OpM~K_O*~~f_*f`rT~~lq`oT[hRmU~p]7kZ7p~nYU~~fs^OjYkGVDZ}Rg}YnZb~_]nb^`d^F|Sue:~~~~`a\ROc^pLnJVaSgfLc]cLbHxRVc.YUEvN7V-_[UeOXNeeff[fT^Hlw[gYOd_Ue`H:iUQ=vd7wILEX[fV[TsXWLAdZfZKpUOcV[UN4sUYNZHyiEeVd:Hl:V->O?saOAB[e6x[4s2xj[UA6WOYUvJUI_A? [...]
+  f~Zer_rN~rnhIGJH^dq]E^r\d%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ldrrr^dbPO^rM~ZN^n6YR~YJj\rP~[drU~_kIDpP~l^mR~Y^YdD~r?xmdl^NGNCOxPiTmOpL~^R~?~~Izdq_pInIQ~cH~~b?~q_q\\r_7~~~~yd^OsP~qQ`}4~g8~rerYcoZpSkrrf^^fd\X[Ta<8g[B~~~nMN~^O~hQtb~e'edQ~O~~~kN6~{ZMBxr_ea~IpF~~frrF~~OpM~K_O*~~f_*f`rT~~lq`oT[hRmU~p]7kZ7p~nYU~~fs^OjYkGVDZ}Rg}YnZb~_]nb^`d^F|Sue:~~~~`a\ROc^pLnJVaSgfLc]cLbHxRVc.YUEvN7V-_[UeOXNeeff[fT^Hlw[gYOd_Ue`H:iUQ=vd7wILEX[fV[TsXWLAdZfZKpUOcV[UN4sUYNZHyiEeVd:Hl:V->O?saOAB[e6x[4s2xj[UA6WOYUvJUI_A? [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2616/ccs/rev np:i:6 rq:f:0.993526
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAATGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCA [...]
   +
   e~P^qNZQ~XpnH:~Z__n`l_Ul`%~~}rsw|~~~zupf_^gw~~~~|vmbagq~~`^pqZo^pkGJmTwYHcr`o-~Q[rerR~];\ExepHWoU~mZYLnNYaYFwv%}pr_r^YN~eb~:fWX[h<~`]~:~x_~HVKYaY<?q]=vg]:pN[\oNZ9;{~~no^aFeJlNC-d7X\QxJZDh_rrq<~qr`eO~^aIQRs_U~_>p]pr_L~e>~rN~a~^A}]Q~*~~~^WHO|~f_L~rf_P~_hI~~^\k:mlTXM~e_d4yesL)~bqR~~rs`Uperb~N~\qN~YG~~nr<~='`\p^pO~^a~HkkL~dO~^er_fr\fP~K~^5|~~plfl^t^qN~^T_bgrN~\qP{=~pbgb]b<dkL~W~~blp`qpXYp_rer<~w`n_a~W]Wa9~xerN~rS~_PTPUa.L9]9GG:A at MMQ[0UNYUYLCs,?@S7q:'C?I^:oNR)+Z(_cLTLS%JlfYx2_UT[WeW`REtU[UO [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2628/ccs/fwd np:i:12 rq:f:0.99528
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2628/ccs/fwd np:i:12 rq:f:0.995312
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTAACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGTT [...]
   +
-  ~~~=|~~n~~v~XV~^~]t~q~~vY'~~~~~~~zstz~~~~~~~~~~~~~~~keIQ~~k~~jI~~Ic\N~k&~~~bj~\~^D~~~~N~~`~~~~f~b~Z~~_~v~_p`z~~~~XhEHl[w^j_~>|~:~Wx_Z~~_~D~qda~J~~g~uuyyG~fM_~~4~d[LlR~g[~AnZt.Hhl:W=~bH~~gQV_K~?}p~~~j~Yau~qP~Ys]~~2y~~l]]|{X~h~p<|i~xxMw`~f*~`:5~~c[PO~yL:PKvO~CZw~aY~~nU~_^0.VliDu&~Q)l8wQgXJ~},~i`~ab~Zm]4vc~dd~2|]qgT{W=YaaRZcG~D~~n'~As~Y~2c4~~>g~G~~A~hommy4b~\}}Ce^Va{t^~\\~^~XmaHlIt~NG~~msSnl~U~b~f~I~~N\Bah~0p`|`~RLK~o`~L~(}~~Kv~_c~~i~|5]'x~~E~~~qN~~H~\iMId_Ph|f~~Y>~~~lZl~J|}?ybWZ~^yrz{~v~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2628/ccs/rev np:i:14 rq:f:0.996931
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
+  ~~~=|~~n~~v~XV~^~]t~q~~vY'~~~~~~~zstz~~~~~~~~~~~~~~~keIQ~~k~~jI~~Ic\N~k&~~~bj~\~^D~~~~N~~`~~~~f~b~Z~~_~v~_p`z~~~~XhEHl[w^j_~>|~:~Wx_Z~~_~D~qda~J~~g~uuyyG~fM_~~4~d[LlR~g[~AnZt.Hhl:W=~aH~~gQV_K~?}p~~~j~Yau~qP~Ys]~~2y~~l]]|{X~h~p<|i~xxMw`~f*~`:5~~c[PO}yL:PKvO~CZw~aY~~nU~_^0.VliDu&~Q)l8wQgXJ~},~i`~ab~Zm]4vc~dd~2|]qgT{W=YaaRZcG~D~~n'~As~Y~2c4~~>g~G~~A~hommy4b~\}}Ce^Va{t^~\\~^~XmaHlIt~NG~~msSnl~U~b~f~I~~N\Bah~0p`|`~RLK~o`~L~(}~~Kv~_c~~h~|5]'x~~E~~~qN~~G~\iMId_Ph|f~~Y>~~~lZl~J|}?ybWZ~^yrz{~v~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2628/ccs/rev np:i:14 rq:f:0.996596
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  =k`~|]f7sb~^ic~~c~~a~f~~~%~~~~~xfkx~~~~~~~~~~~~wkjs~rns:nbO]u^;`|\s]~~aS~~^aq7~T~~~~z`y~aw~Ak3s~~~~~c~~]~~~H~~H~~N|Z~~~{TKSfa~a~~q`ty?~~U~4~I{~g2~~yZLtR^~~~p~~b'~~~f~~}~~f~zU]m4v~^n~~?~~~lp~f^s~~~X[=~b~3oYj=Cb5hM.ZgxjG~)9y3Y>wp~Ma{t~`}9}d~~Mz~S&oYFHBx~V~X~~Y|v~^VGzqUw~Z~~z~i~~r{N~lu~^otd5~|0[Ec~uA~w~XsVBmdd~s[s;~eE.vuFs~~v~~K?}~~[~WwKM~uWPr at nQokoxl~F~~:~}.PF~h+xCv\NdZbHQ`t~e~m}Ia~~`}|ZzY~L~G~~Hk_R~~~~~~`~`~wRO~]c4}hbbXpaVeMr~9~~lPFy~~~X~~~d*HYId?~f~E~~_r~~~'~~~~uT)~~~~g~^s~~~~~~~U~v~Eb [...]
+  =k`~|]f7sb~^ic~~d~~a~f~~~%~~~~~xfkx~~~~~~~~~~~~wkjs~rns:obO]u^;`|\s]~~aS~~^aq8~T~~~~z`y~aw~Ak3s~~~~~c~~]~~~H~~H~~N|Z~~~{TKSfa~a~~q`ty?~~U~4~I{~g2~~yZLtR^~~~p~~b'~~~f~~}~~f~zU]m4v~^n~~?~~~lp~f^s~~~X[=~b~3oYj=Cb5hM.ZgxjG~)9y3Y>wp~Ma{t~`}9}d~~Mz~S&oYFHBx~V~X~~Y|v~^VGzqUw~Z~~z~i~~r{N~lu~^otd5~|0[Ed~vA~w~XsVBmdd~s[s;~eE.vuFs~~v~~K?}~~[~WwKM~uWPr at nQpkoxl~F~~:~}.PF~h+xCv\NdZcHQ`t~e~m}Ia~~`~|ZzY~L~G~~Hk`R~~~~~~`~`~wRO~]c4}hbbXpaVeMr~:~~lPFy~~~X~~~d*HYId?~f~E~~_r~~~'~~~~uT)~~~~g~^s~~~~~~~U~v~Eb [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2648/ccs/fwd np:i:9 rq:f:0.998685
   AAGCAGTGGTATCAACGCAGAGTACGGGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGGTCTTCTAGCGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCT [...]
   +
-  ~~x{utnb~~t~ue~snr~w~[UqyF~~zvv~w~cw$~~~~~~~~~~~yx~~~~~~~~~~~~~~~~~~~~{{a~~dm~x~tufv~N~N~~|tm~:~~~~gr~xZF~~LiLw~u`j~qv~~]~bp~~S~~y`~|~X~~l@~n~K~7~~~~_t]GH~Y~~uo^E~~bn~u[~st~J~~~stbvE~~^b~v~P~wwu{YL~w9~~@~~~tK~~~ngtl}E~ivV~~`~S~~P~XsK~P~mZjispluugQ~v~dlwo~}^~~P~x__~b~t3~~~~O~~G~uj2~|w{Y~~dg~eKq~~~a~:~~w`~T~qP~~[x~/~~~dO~o`~~vc^m_~~u~|`~~f~E~~sI~t{pxq~rU~~[`sQ~zs~whf9{vIs~Jg%~;B9db~{a~~u]^jwe~t]~T~~~O~Op^~W~~C~~zoc~c~O~_~~KO~oRoE~~O~xuu_~uIUD,m~~KA~~|~n~r<gsW~CkqX;~~xe`S~~~I~q|u|c~~fp~w_ [...]
+  ~~x{utnb~~t~ue~snr~w~[UqyF~~zvv~w~cw$~~~~~~~~~~~yx~~~~~~~~~~~~~~~~~~~~{{a~~dm~x~tufv~N~N~~|tm~:~~~~gr~xZF~~LiLw~u`j~qv~~]~bp~~S~~y`~|~X~~l@~n~K~7~~~~_t]GH~Y~~uo^E~~bn~u[~st~J~~~stbvE~~^b~v~P~wwu{YL~w9~~@~~~tK~~~ngtl}E~ivV~~`~S~~P~XsK~P~mZjispluugQ~v~dlwo~}^~~P~x_^~b~t3~~~~O~~G~uj2~|w{Y~~dg~eKq~~~a~:~~w`~T~qP~~[x~/~~~dO~o`~~vc^m_~~u~|`~~f~E~~rI~t{pxq~rU~~[`sQ~zs~whf9{vIs~Jg%~;B9db~{a~~u]^jwe~t]~T~~~O~Op^~W~~C~~yoc~c~O~_~~KO~oRoE~~O~xuu_~uIUD,m~~KA~~|~n~r<gsW~CkqX;~~xe`S~~~I~q|u|c~~fp~w_ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2648/ccs/rev np:i:9 rq:f:0.998161
   AAGCAGTGGTATCAACGCAGAGTACGGGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGGTCTTCTAGCGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGT [...]
   +
-  J~}unyoN~~~Luh~w|xsb~ysmrH~_<}a~tW{s%~~~~wx~~~~zd[at~~~~~~~~~~~~~~~~{tW~~uT~u~~ys|~p~J~~Iho~1~~~~xu~w~X~~u^zrovas~qz`~P~mG~uZ~{pb~`~c~~~c~~op~@~~~~yekw_~F~~cxuU~~g0~`Q~{h~C~}kzH~r,mU3_~{~`~xIgElX~wc~~H~~~~X~~~~y}m})~fn'~~J~F~~P~k\\~c~Oc~r^HgH`tK~q-h_nt5~mN~~ds]`j~]~bO~~~~G~~c~v~Npw{`@~~wo~v@~~~sZn.~~~uuC~~N~~~rtD~~~b~~d~~w|x~^~op~uY~~w~X~~u_~xJ~v_~zJ~~~euU~uY~qlL8~~tepu~S~zue^~vb~~|~w|v`~slzV~~~^~}Z8~c~~W~~utR~d~S~a~laB~cq~Y~~`~u~rd~w~~{?~~~hB~oosqveN~l-~uu`\-~vqr{c~u~Y~~`pH^~~rZ~tL~bc [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs/fwd np:i:6 rq:f:0.996071
-  AAGCAGTGGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCA [...]
+  J~}unyoN~~~Luh~w|xsb~ysmrH~_<}a~tW{s%~~~~wx~~~~zd[at~~~~~~~~~~~~~~~~{tW~~uT~u~~ys|~p~J~~Iho~1~~~~xu~w~X~~t^zrovas~qz`~P~mG~uZ~{pb~`~c~~~c~~op~@~~~~yekw_~F~~cxuU~~g0~`Q~{h~C~}kzH~r,mU3_~{~`~xIgElX~wc~~H~~~~X~~~~y}m})~fn'~~J~F~~P~k\\~c~Oc~r^HgH`tK~q-g_nt5~mN~~ds]`j~]~bO~~~~G~~c~v~Npw{`@~~wo~v@~~~sZn.~~~uuC~~N~~~rtD~~~b~~d~~w|x~^~op~uY~~w~X~~u_~xJ~v_~zJ~~~euU~uY~qlL8~~tepu~S~zue^~vb~~|~w|v`~slzV~~~^~}Z8~c~~W~~utR~d~S~a~laB~cq~Y~~`~u~rd~w~~{?~~~hB~oosqveN~l-~uu`\-~vqr{c~u~Y~~`pH^~~rZ~tL~bc [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs/fwd np:i:6 rq:f:0.994508
+  AAGCAGTGGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGAACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCA [...]
   +
-  \~lhtkm(~_^\jR3rOSNNXc]ZEfH~~o;c~6~~vkxb>~~Gy~S~J~]7}b.]RMjb&aTR~L%5S~~htkhktw8~~~~hiEf`~S~hZ4~hQxir1qH~^Rs2~Ua~WkR<sN~~pOQ:{o:GxkKZP~OmUbuQuJ~~khkO~ka~jT~N|ZVL~zRrjT~swR*hvO~Qrkv?~Z=PWhAjZd?~oCtsgKojfRvj]jfQEJfguRi5w~AwXi9~~~9^xkS~h%uijVafI~ZHzSa'uqpVkpOn[u^ScHYFU[~xiT~uh,bkgJzUzodn?s0cZwkcE_rf\s`vtjTxw^K~f~^hjQ~i9~~uLB7/1DPWlO0rfOQ%~~FEJH at U`Jm>H[XH[ZD;n=&~\KuASC|zM`ZSCR~fltgaXQ~m`]djWfrtjAyZRg\xai5dp':~~]rskK~~BHaN]qf80~a~wiuTq]mcStTT~gdO~H~vtxY~Z[Z\ni^hY~G~wY~WkUhU~g~kvSQucfW~\K~~e> [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs/rev np:i:6 rq:f:0.997742
+  \~a^hae,~rhhl\5~]a\O`g^PO]@~~k1Z~B~~kal^J~}N~{I~>~`D~Z4\`Ol[)aZ~G,L,n~f^ha^agj0~~~k]^9\W}I~^M,zeO~ag&f@~RHh<~O[~QfH1eH~~h^lO~iH<~~k^G~Lg_[iHi@~~`^aG~`S~`I~R~c[C~gHf`I~giH1^lW|Hdaj7~G3FTu:gNY9pa?x~]?c\YHjaha\G9@^al^`=~p<fL_4~~xDSlaI|[%{^QW[B~eDu`^3~~|^ahIihlh^^^jR]R~l_N~~a$X]a^V~Pxh^e;}:[QjaY8Ud\QbMihaO~jS?t\~R]`G~_@~~iH9 at 947`al\>~j_`8~uLEY4]eN|]SigV`h^G~I<~jX~^aS~~^lh`RN~\ak^UGN~`YR]`K[jh`=~hJ]]~ak(lk(83~~Pjh`C~~LZa[Sf^J*yW~k_kalhdXIgIO~a^\~A~jhlO~_lhXp_R]Ol@~jP~L`L^J~]~aiJ]k_aN~PC~~[5 [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2673/ccs/rev np:i:6 rq:f:0.997664
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTAAATGTCGGGAAATTGGGTTTGCGCCGCCTTCAGGGGCAGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTA [...]
   +
-  Cr6ipPKD}ZQfeQ~jQXYQoKEukF~~~kU~Q~~]U]j<~~?~~RwI~nH~~fTfE|eX~b~kxD~y~kwQSgxt=~}}~khvSR~Jl\kB~vZ~htw_Orue<@~rZyo]glsIr~xltY~mj+yn-f;oW~ONhRX[~~hhQd~R^~iN~ArYR5~~irca~t/Jfg^g~j]eGR~~hkh~J~qSP~~\~~e/p8sltT\gjRvlygZjiM~~Y~xhI~~~g~ahg~kR~QvgbY~\<~PS:~~~jgGibvLtTdh[qjE~^i<~~gvSOiP~X~^h^W~\Rt[fltkskdsf1shUw]vZ~b~xlhf~Q?~~WehkvTc~eL]Qqqjf:uutcM:m_T~Rs^q\g]jV~eG~[;~if'tuisxg_[~g`qlt;W~sjxkbVhtwRY~tikO~eES~^dG~~]qxh=~~wlik]tR]G~U~jc]f]u[SdYPX~Oib~X~GsGT~j]uP~drSC~Y~sF~]qikf~>~dHbjYReF~uJ~~i@~i]w [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs/fwd np:i:5 rq:f:0.993119
+  Cr6ipPKD}ZQfeQ~jQXXQoKEukF~~~kU~Q~~]U]j<~~?~~RwI~nH~~fTfE|eW~b~kxD~y~kwQSgxt=~}}~khvSR~Jl\kB~vZ~htw_Orud<?~rZyo]glsIr~xktY~mj+yn-f;oW~ONhRX[~~ghQd~R^~hN~ArYR5~~irca~t/Jfg^g~j]eGR~~hkg~J~qSP~~\~~e/o8sltT\gjRvkygZjiM~~Y~xhI~~~g~ahg~kR~QvgbX~\<~OR:~~~jgGibvLtTdhZqjE~]i<~~gvROiP~X~]g]W~\Rt[fktkskdsf1shUw]vY~b~xkhf~Q?~~WehkvTb~dL]Qqqjf:tttcM:m^T~Qs^q\g\jU~eG~[;~if&ttisxg^[~g`qkt;W~sjxkbVhtwRX~thkO~eES~^cG~~]qxh=~~wkhj]tR]G~U~jc]f]u[SdYOW~Oib~X~GsGT~j]uP~drSC~Y~rF~]qhkf~>~dHbjYReF~uJ~~i@~i]v [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs/fwd np:i:5 rq:f:0.994462
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACCTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTGGTAGAGGTCGTTTCTTTTGTAGAAACAATCTAACATAACTATGACAC [...]
   +
-  PsRRC@[&j]\\N,oSUP\YZB\.J*<fC3WFZTaZTOuZZ?MSW\UHp<vqSXWCRSo\?wtYTUu[Ko>LpD2qm_\XFEp=sZ at iNnYFpUN><4-=TR;h\CZYFr\]USRaY9ts[D=A8kW[TLuaTLrRBZGvHQ0W^7 at S[UJ/RW1Bq?mT?uvQ0l at EqTGusLm1t?/[EKp=9os`8e[\Q/E:.M?7>DDZWVHmFw\^;*lXaZTtEGRZ<5;nF/etfXPUT at hQFPLn\T\SW<O4TX+H7Cq\ZaTKq=TPY_BSYTBssZ4M=E8lX[XP?8mJqGSYGtTR_SW,qqV)sjXa8vviTaNnNULuT at kXkX6r_OuVAU>_ZLttS6rr_YT at uaLsNIN;EKMo4ts[T\LttZADXXMrFZXOB0k7WT\ZTTPr\PsU+oTLuLqEa=rW<SP_6rpSX=>W`QFR=WFR=pTtGtY<)h29UXSAHkD<X*sYS6Xi_RY\X(eM9JbD<^OuNSFMmT^DYXFSY= [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs/rev np:i:5 rq:f:0.994779
+  PsRRC@[&j]\\N,oSUP\YZB\.J*<fC3WFZTaZTOuZZ?MSW\UHp<vqSXWCRSo\?wtYTUu[Ko>LpD2qm_\XFEp=sZ at iNnYFpUN><4-=TR;h\CZYFr\]USRaY9ts[D=A8kW[TLuaTLrRBZGvHQ0W^7 at S[UJ/RW1Bq?mT?uvQ0l at EqTGusLm1t?/[EKp=9os`8e[\Q/E:.M?7>DDZWVHmFw\^;*lXaZTtEGRZ<5;nF/etfXPUT at hQFPLn\T\SW<O4TX+H7Cq\ZaTKq=TPY_BSYTBssZ4M=E8lX[XP?8mJqGSYGtTR_SW,qqV)sjXa8vviTaNnNULuT at kXkX6r_OuVAU>_ZLttS6rr_YT at uaLsNIN;EKMo4ts[T\LttZADXXMrFZXOB0k7WT\ZTTPr\PsU+oTLuLqEa=rW<SP_6rpSX=>W`QFR=WFR=pTtGtY<)h29UXSAHkD<X*sYS6Xi_RY\X(eM9JbD<^OuNSFMmT^DYXFSY= [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2729/ccs/rev np:i:5 rq:f:0.994212
   AAGCAGTGGTATCAACGCAGAGTTACGGGGCATACTGCAAGACTTGTAGGCCATGAATTACCCGCTTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACCAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGAC [...]
   +
-  Hp:AU:*Bp\`FBMtW;RG'IB,[aY1uuqR[RaYASZMa>_ZPvU]aFJ'l]FR.p>aZ0W_UZ+sa\DfMLGG;fG/CLaGkHvsMuMXS:WRTJV4`Uu/<1sl1C78oEZQYTFS8rgX\UL/pe3@%l>SCqZU_;jFvaU]ZaXGRZUX<EGsTtB9lZfMuaFdCLtrHvBs`QVaFsT4jteHM.VS0lRaZUZUaMuUUB,2ka]ZOQ:A=KmGErGPZTtE5stt]MnD2lTGXGtGXaYSOLH0FKZT>t`U]XBNSI*MWLF(H-YPIX]\<t^GRZUUu2f]ZUIrMGFSM6kVTEuuQ*%TokOGC\XE5rX-ssZPJs[AoOQUZWM*ppT9nY.QY<n=5c@^YA^V6J4DW^Y_6Yn[@CU;/oZaUZUDZQsC[>XUB[`C[`EnQ+eSsLs at q=X\JO=YoZU`FRFYaUX<C at Ss>rKpER:rXBoC_QY:uSB4'[Z9vvbN]`<)]V^ZSrGSSSqB]]Pp=Z`MWkL [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2771/ccs/fwd np:i:6 rq:f:0.990652
+  Go:@U:*Bo\_EBLsV;QF&IA+[aY0uupQ[RaXASZL`>^ZOuT\aEJ&l\EQ.p=aY0W^TY*ra[CfLKGF;fG.CL`GjGusLtLXR:VRTJU3_Tt/;0rk0B77nDYQYSFS8qfX[TK.oe2?$k>SBpYU_;iEv`T\Y`WFQYTX<DGrStB9kZeLuaFcBKtrGuAs`PUaFrT4jteGL-VR/kQ`YTZTaLuTUA+1ka\YOP:A=KmFErGPZTtE5sts]LmD1lTGWFtGW`YRNLG0EJYT>s`T\XBMRI*LVLF(H-XPHW\[;s]FQZTTt1e\ZTIqLGESL6jUSDutP)%SojNFC[XD5qW,srZPIs[@nNPTZWL*ppS9mX-PY<n=4b@]Y@]U6I4DW^Y^6Xm[?BT;.oY`TZTDYPrCZ>XTB[_C[_EmP+dRrLs?p<X[JN=XnYT_ERFXaTX<B at Ss=rJoER9qWAoB_QX9tSA3'[Y8vvaN\_<(\V^YSrGSSSqB\\Op<Z_LVkK [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2771/ccs/fwd np:i:6 rq:f:0.990658
   AAGCAGTGGTATCAACGCAGAGTACGGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAAACAGCCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCCAGGTACAGCTGATGTGATCCT [...]
   +
-  Gu6,Lag@~b?2R6eV_ZRcgdnJR*`_rYQ&x^S0QX at 6[7iFDILmEv6a2'MgJ1VBsgOY:KBMX6~?qW~WYFY;al\L5N8Z_cdZ5dRA*LbZb)lrigVHJWQSNbXRG1*WVb^U`TS~o^g]bmN\eC~qXKSSdLeo:~scjcJw]LY45h]gdUlM]AF9__=~]]ZX~Q~cP[JZ`?:Q*[Y+ZU`^A_Z^FRKAOXHVP%we',N0<J0C^Xc1QEd_QL|8~\J~dBg_amFa?~VYJ*M~/~yod[QcmL$h`RaMikaj`M.R~gL~~]][?khGY;K5J/rnLJkkS|D~cGJOnW1fWIY0qgnd\F[hEZ<lfboW;g],qaN~~oN~oT}]gdgL~OjeSvF~iJ:ld[T9cFV at LED1ddM>MP'XROM9f5L6P7;TAQ1R3..-]@0HK]WYejZodnB~~nR~gPgJ%csVfUgBuyjLie]ejTc6y/jLL_\^^bEg?-9(LHEhi:.E76PV\MKeIOl3kB [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2771/ccs/rev np:i:5 rq:f:0.993396
+  Gu6,Lag@~b?2R6eV_ZRcgdnJR*`_rYQ&x^S0QX at 6[7iFDILmEv6a2'MgJ1VBsgOY:KBMX6~?qW~WYFY;al\L5N8Z_cdZ5dRA*LbZb)lrigVHJWQSNbXRG1*WVb^U`TS~o^g]bmN\eC~qXKSSdLeo:~scjcJw]LY45h]gdUlM]AF9__=~]]ZX~Q~cP[JZ`?:Q*[Y+ZU`^A_Z^FRKAOXHVP%we',N0<J0C^Xc1QEd_QL|8~\J~dBg_amFa?~VYJ*M~/~yod[QcmL$h`RaMikaj`M.R~gL~~]][?khGY;K5J/rnLJkkS|D~cGJOnW1fWIY0qgnd\F[hEZ<lfboW;g],qaN~~oN~oT}]gdgL~OjeSvF~iJ:ld[T9cFV at LED1ddM>MP'XROM9f5L6P7;TAQ1R3..-]@0HK]WYejZodnB~~nR~gPgJ%csVfUgBuyjLie]ejTc6y/jLL_\^^bEg?-9(LHEhi:.E76PV\MKeIOl3kB [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2771/ccs/rev np:i:5 rq:f:0.993395
   AAGCAGTGGTATCAACGCAGGAGTACGGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCCACTTCGATCTGTAAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTC [...]
   +
-  KZA<P=@CqUIXXKtXG[[9VO2C-;$2Om`RK^:KBpZWCQKic^nS~Gz?~~<\~~yWN~vT~zPMsS*kJ~M~o|smads^]xlH~~s at b5~yj<~qh[D~~~~abHbzjJ`lOrmV~VYOCVC:SV[p_N\fGd5~yzU~PbKgm2~~~j]g~nUsnl~o|fV~D~XKYc{B~lbk?j:`C(9sGa*mnP~z=~}qyX^V^Zx_Szoblv1{ccN_LuschfG%ngazM{[~Aw:Jnb1ttOZ[PV|RWk^J~D~rm`QqbZ`2vzxEeCSL=ZYU~o3~zladL~uZzj~XdNuue7nfS~0ne[M^YUOtns)Kp\SmZugk^r]~pLm`?~~E~~N~~s\~Zf~gyQz]~b~|V~D~|yI~zox@~yblxn\P~~nzPIzmh^~di|sxW~`[`vc$s~~qkq?EI)LzrYrfo%v^0<;~Ve~qC~sLkdX9~tnZ~VTU_UQ0~9~~~~n|gpZT`ngotO~r{ozQl\f|sfqd3p]~mi [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs/fwd np:i:6 rq:f:0.994156
-  AGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCCTGGATGCAATTGTGCTCGCCATTTCAACTTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGC [...]
+  JZA<P=@CqUHXXKtXG[[9VO2C-;$2Om`RK^:KBpZWCQKic^nS~Gz?~~<\~~yWN~vT~zPMsS*kJ~M~o|smads^]xlH~~s?b5~yj<~qh[D~~~~abHbzjJ_lOrmV~VYOCVC:SU[p_N\eGd5~yzU~PbKgm2~~~j]g~nUsnk~o|fV~D~XKYc{B~lbk?j9`C(9sGa*mnP~z=~}pyX^V^Zw_Szoblv1{ccN_LuschfG%ngazM{[~Aw:Jnb1ttOZ[PV|RWk^J~D~rm`QqbZ`2vzxEeCSL=ZYU~o3~zladL~uZzj~XdNuue7nfS~0ne[M^YUOtns)Kp\SmZugk^r]~pLm`?~~E~~N~~s\~Zf~gyQz]~b~|V~D~|yI~zox@~yblxn\P~~nzPIzmh^~di|sxW~`[`vc$s~~qkq?EI)LzrYrfo%v^0<;~Ve~qC~sLkdX9~tnZ~VTU_UQ0~9~~~~n|gpZT`ngotO~r{ozQl\f|sfqd3p]~mi [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs/fwd np:i:6 rq:f:0.991694
+  AGCAGTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCCTGGATGCAATTGTGCTCGCCATTTCAACTTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAAGC [...]
   +
-  .JYcL?>gfedL0rW_S2C_]d7K4||yX]Mf4r]_Q@]aUSdEz?69p83\ELcf at e:TJ7yaFadeHR\Cw}OX`5rbS+aVRXN^6YHViXPL~|\YI?[C.DID8<N^V2^aZS\F{Ph^C_i>kWQ[`-ixj`ZG~S~j`0~KA|~aib\cXi_;_[ah[hafE`F~O,WJZ;nra>bb].]YXy[MVaK~gZ~JX+s`rBEZXfQhgZaVIB;R~f2@`z_QW\XWxB_<JN<\'89Q]BcBeTEd1M[0LnhN>jX|cVJ?SH0x|fC^R8,AfGdQ)^=BQ+Z_BHCQNnY7jU`f9N_i[BxaK~aS_UI0|}YhIDQ<HYIhYQ`J~QV4OEd`jh`:~ha[Y~ajR~j`@~s]NVUIrtM,GYhQ`eF_.o7YhahQeX^KK&WES<nOdjhjR~[ifE~`gEP|2gsiR~b_]WVfY|Jh_5`E\E^JGdXOG}Y-ea[f5V9OU~`TLHInJh_HfF}Zf5zQ~Z~E^NZXy83aWY [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs/rev np:i:5 rq:f:0.992486
-  AAGCAGTTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGCTCGCCACAGCGGTGGCATATGTCCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGTGTGTTATAGTTTACGCTAGTCCAATCTGTATCGTGGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAA [...]
+  .JYcL?>gfedL0rW_S2C_]d7K4||yX]Mf4r]_Q@]aUSdEz?69p83\ELcf at e:TJ7yaFadeHR\Cw}OX`5rbS+`VRVL\4WETgVNJ}zZVG=XA,AGB69L\T0\_WQZDyNf\A]f<iTOY^+fvh^WE{Q~h^-}I?z|_f_ZaUf\9]X_eXf_dC]D~M*UHX9lp_<_`[,[WUvYJT^I~eX}HV)q^o at CXUdOfeX_TG@9P~d0>^x]OTZVUv@]:HL9Z&67NZ at a@bQCb/KX.JlfL<hVzaTH=PE.vyd@\P6*?dDbO'\:@O)X]@FAOLlV5hS^d6L]gX at v_H~_P\SG.z{WeFBO:FWGfWO^H~OS2LCb^he^8|f_XW}_gP~g^>|pZLTSGprJ*EWfO^cD]+m5Wf_fObU\HI$UCQ:lMbgegP~XgcC|^eCNy/dpfO|`][UTdVzHf\3^CYB[HEaVME{W+c^Yd3S7MS}^RIFGkHf]FdDzXc3xO~X|C\LXVw51_UW [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2772/ccs/rev np:i:5 rq:f:0.992066
+  AAGCAGTTGGTATCAACGCAGAGTACGGGGCGATGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGCTCGCCACAGCGGTGGCATATGTCCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGTGTGTTATAGTTTACGCTAGTCCAATCTGTATCGTGGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAATTGTGCTCGCCATTTCAACTAGTGCAGTTGCTAAAGTGCCAACTAAGGTTCGTCTTGAA [...]
   +
-  @^T2:U8L6X+XXcRyeZd[WEKZZe._<ChZcR*L0;fdIRD;VCcDS-wj8L[ANZLH]glUb_0oef`eD+vyhPeEsWg5}qnUIhUj]f[gZ/vQI8J`zbO~`M~PyBQEm`KJ[ThlWUM[l_tTm^h7~}\=`~KuPVG~~>~u]T`HJKi^WM>*[GR.<b[Cm`U~S_2~yoJXT[5H<A[,[bZKKfN\9e+xtjP4BKETBV_\]7I]MtdNEm}]YUZfJpB~jfnW{pNXjMgphZgcZOY``Y~VnYzM~ribQtL9v^LgS`lHPy]Zb0[&EXNNt:I=FR8]YKmQilgpQl'BEh]K~jNvUI:zdQO^MG6nbsqj``3yjMYgLk^krLUsI`iIcJO8BI@,'DeXnQ?wrfO+UQND]IvQ~XeZ[TYndWT6cPmKZ$?>oGET at XM`PNr]bQM~Ft_K^]eS<MR>mBeUZ2MOUnT%LaXH~^BQXMY=bUPlQZi at sRNcIB~THZRLsKlClTaoW:~[:~ [...]
+  @^T2:U8L6X+XXcRyeZd[WEKZZe._<ChZcR*L0;fdHRD;VCcDS-wj8L[ANZLH]glUb_0oef`eD+vyhPeEsWg5}qnUIhUj]f[gZ/vQI8J`zbO~`M~PyBQEm`KJ[ThlWUM[l_tTm^h7~}\=`~KuPVG~~>~u]T`HJKi^WL>*[GR.<b[Cm`U~S_2~yoJXT[5H<A[,[bZKKfN\9e+xtjP4BKETBV_\]7I]MtdNEm}]YUZfJpB~jfnW{pNXjMgphZgcZOY``Y~VnYzM~ribQtL9v^LgS`lHPy]Zb0[&EXNNt:I=FR8]YKmQilgpQl'BEh]K~jNvUI:zdQO^MG6nbsqj``3yjMYgLk^krLUsI`iIcJO8BHA,'DeXnQ?wriO+XQNF^IxQ~Ze[[TYndWT7cPmKZ$?>nGDT at XO`PNr]bQM~Ft_K^]eT<MR>mBeUZ2MOUnT%LaXH~`BQXM\=bUPmQZjAsROcIB~SH[RLsKqClTaoW:~[:~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2774/ccs/fwd np:i:11 rq:f:0.998209
   AAGCAGTGGTATCAACGCAGAGTACGGGAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTTCCTTGTATGGGTGGAACCCAACCCGCCGGTGAGGGTGAGTTACGGTCGGCGGTCATATGTGGGTATGACGGGTATGACGTCATAAAT [...]
   +
-  ~~~~~~~i~~~~~g~_Zi~~~~~z~q~~~~~t~n~~}~~~d~~~l~~~~~|~~~~~r~~~~~~X~m{~a~~~~~~~m~~b~~f~~~~~~S|~R~~~~m~~yh~~~~^~~~~x~~~~b~~Y~~V~~{~~N~~~~~jz~~~~^~~~~x~~~WO~m~p~u~_~_x|ss~e~~~~r~X~~~~~~~t|~~~j~~~~c~~~o~v~i~i~W~~Fl~C~jJ~~~\~~~~~4~~~~~t~~~|r~i~~~~~w~r~f~~~~_~~\~~v~~~y~~&~~~o~~{~~~t~~Q~~~qT~~~v|~j~~~~msc~~e~~_~tQ~~x~Z~~o~c~~S~~~b~}t~X~~4~~%~~~~d~~~~s~~s~~~~^~~^~~~~m~]~~~~~~q~~f~~~~X~~[~~}~Q~~f~~~w~m>~~~~~Q~a-~~~~~~~S~~~c~o~\~~j~<~~~^~h~~~~f~~~~\~~~~ss~~~g~~k~~_~~~~~~]~~b~~~~~K~~~~~|m~~~q[~V~~~ [...]
+  ~~~~~~~i~~~~~g~_Zi~~~~~z~q~~~~~t~n~~}~~~d~~~l~~~~~|~~~~~r~~~~~~X~m{~a~~~~~~~m~~b~~f~~~~~~S|~R~~~~m~~yh~~~~^~~~~x~~~~b~~Y~~V~~{~~N~~~~~jz~~~~^~~~~x~~~WO~m~p~u~_~_x|ss~e~~~~r~X~~~~~~~t|~~~j~~~~c~~~o~v~i~i~W~~Fl~C~jJ~~~\~~~~~4~~~~~t~~~|r~i~~~~~w~r~f~~~~_~~\~~v~~~y~~&~~~o~~{~~~t~~Q~~~qT~~~v|~j~~~~msc~~e~~_~tQ~~x~Z~~o~c~~S~~~b~}t~X~~4~~%~~~~d~~~~s~~s~~~~^~~^~~~~m~]~~~~~~q~~f~~~~X~~[~~}~Q~~f~~~w~m>~~~~~Q~a-~~~~~~~S~~~c~o~\~~j~<~~~^~h~~~~f~~~~\~~~~ss~~~g~~k~~_~~~~~~]~~b~~~~~K~~~~~|m~~~q[~V~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2774/ccs/rev np:i:11 rq:f:0.998888
   AAGCAGTGGTATCAACGCAGAGTACGGGAGGAAGGTCACGAAGCGGCTGGAGTGATGGCTAGTCTCAGCCACTGTCAACGGGAAGCGCGACGTTTATGGTCAATATAAACTAGCAGTTTAATCCGTATGGCGATCTTAGCGGATGTTACAGGATGGAGAAGATGACAAAGTAGAAGCTAGACAACTATATCAAATCGTTGTGTGGTCTTAAACCGACACAGTAGCATTCATCGTTGGATGTGGAAGGTCACAGCCTCGTTGGAGGAGATACTACGGTCCCGCTTTTCGTGGGTGACAAAGGTCGCAAAGGTTTCCTTAGGGAGGTCGTTTCCCGGATCTTTATCTACATCTCCTGGGTGAAGGGGATGATCTTTCTCTACATGTCCTGGGTGGAGGGGAGTTTCCTTGTATGGGTGGAACCCAACCCGCCGGTGAGGGTGAGTTACGGTCGGCGGTCATATGTGGGTATGACGGGTATGACGTCATAAAT [...]
   +
-  j~~~~~|s~~~~~B~~~o~g}~~~~P~~~z~g~o~~~~qdV~~~A~~u_~~~~f~~[~{~~zf~y~~~Y~~~~|}~x~~X~~T~~~h~i~~yS~~s~u~u~x~~~~]~~~~~~~~~]~~~~~~~w]~|g~~y~~~G~uw~R~~P~@~~~~4~~jc~~~\~~~y~~~?~~w~~~w~~~y~~~~E~~~~~~~ki~~~~}x~~Ot>f~~~y~?~~s~~~p~~~~~~~~~E~~~~~~E~C~~~~~h~i~r~~~~~~c}~~~~}~c~~d~~;|g~~~~rv~}[~~~{R~~~~~~H~~~~~~W~~a~~}v~p~~g~o~~o~|~~U~~~`~~~}X~~b~~t~~~~H~~~R~~~~~~~w~~~P~~~~~~H~~~~~~~~~u~~~~~~~~~~~~~~~Y~~~s~~G~~~t~R~~n~c~~~~~`~~~T~w~V~~~~8~~w_~p~}~~,~~~~~~s~~~y~k~s~~s~~~~~~|~~X~~h~|}~~A~~&~~~~~~~~~~n~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs/fwd np:i:6 rq:f:0.990738
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACCACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGAATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCA [...]
+  j~~~~~|s~~~~~B~~~o~g}~~~~P~~~z~g~o~~~~qdV~~~A~~u_~~~~f~~[~{~~zf~y~~~Y~~~~|}~x~~X~~T~~~h~i~~yS~~s~u~u~x~~~~]~~~~~~~~~]~~~~~~~w^~|g~~y~~~G~uw~R~~P~@~~~~4~~jc~~~\~~~y~~~?~~w~~~w~~~z~~~~E~~~~~~~ki~~~~}x~~Pt>f~~~y~?~~s~~~p~~~~~~~~~E~~~~~~E~C~~~~~h~i~r~~~~~~c}~~~~}~c~~d~~;|g~~~~rv~}[~~~{R~~~~~~H~~~~~~W~~a~~}v~p~~g~o~~o~|~~U~~~`~~~}X~~b~~t~~~~H~~~R~~~~~~~w~~~P~~~~~~H~~~~~~~~~u~~~~~~~~~~~~~~~Y~~~s~~G~~~t~R~~n~c~~~~~`~~~T~w~V~~~~8~~w_~p~}~~,~~~~~~s~~~y~k~s~~s~~~~~~|~~X~~h~|}~~A~~&~~~~~~~~~~n~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs/fwd np:i:5 rq:f:0.989691
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACCACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGAATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGC [...]
   +
-  VvSPn]aL~pnnQJ\+b>iOkgmk>$pwxxxxxxxxxxxxxxxxxvrntwvnkd'ljrxxxxxxvS=lknMJleALKE`[QeoRj.LDPqecVfnQkCxNaBhkRo_Ob>qTVep:~nTjdDTKf>feAb<lmR,n_?nc_v1~eYS<BdpfpeOvL;mkP0dicqn`oP*jXRUF>e^zV|R?NY/uwSxmReTMnkY1e;QNd;vQlfS^xNEsPKqxmXQZof4wmE~^tQC[=E_;vy[DNNrrLOJwWdQSyelHtt?nXKys=RB~dO]7rpxdKwajMxl[fd,XTflIm6~om>oZ)vhHNMPb>ofSqQn7rOLoUxxJwO^qMbm?dm>d?~ZqR5unxhVYPJC\CkGr=dpepmD{lS&XiofnfReMwU2s at mmb[ZQlomphOhbmOyrQPN.rmMVj7wwOlE~i=TC\DNE[cLIE[QkNYPoQUrJjlPOO_D{dQhO?qmQnfpi2iQNdX`AhsXJ+RTAvm8t4ePQfPe [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs/rev np:i:6 rq:f:0.984912
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTCTTACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTAAGTTCGTCGTCGCCTTCTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGGACATATACAGATTTCTCAATGGTATTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTC [...]
+  RsYJd]e at tdb^KG[7Y7_Ea\\\7$aiiiiiiiiiiiiiiiiiiid__fi`XZZ%]]dkkkkkkk]Jc`bB=`[:CO>bPJ\dKc2ZMJe[WNZbJ_>fE`K^]K`SHW:bHK[e1|\L^W>`E[9W[7R=^aI1cU6m\Sh3|dS^77Ze\e[FjE4^\K%O^YebOcF-^iXOB7[RmNoJ7JQ,fgKlbK_MFc`N-YFGGZ2jJa[GUlG=dIEek^bKRa\(bb?|ShJ6J7:T2jmF8GGeeBHCjd\KEl[`Bhd8cbCli6G>uZHS0cak[TlX]Fj^N[[7VH\`@^2sdb:_R/i]<AE at R7d\LeJb/hIJeNlkAjEUeFXb8Za7[;vOdL,g_jULO8@<P<dBf7Yc[eb?k`L&TM_b\b\K[DkJ0b9]]XNOJadadYH]XbEmeJIF$^DK`?kkE`?}`JK=Q=B>PXE at McKaHeKeJKd@_`FHEREl[K^H5d]Kc\ea8fMIZNZ7\`MC%FH9ibAh-X at J\J [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2786/ccs/rev np:i:5 rq:f:0.98505
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTTTTTTTTTTTTTCTTACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCATGCTTGTGGGCTAGGGCACCGCGTTTTGGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTAAGTTCGTCGTCGCCTTCTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCCAAAGACATATACAGATTTCTCAATGGTATTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACAC [...]
   +
-  \mL[aJJ5NHAN2.[ZK\cJ^KbdK(b[UOUVQNNS_edaWMHIR]_^ZE;<$7DHIR[[VVRNM*)4J][WGP=x^[H=CVAV`RZJ_>PM[^NiLSZW4$Na\^Jf>K@],d80paZ[?]MWITkOp[PZKLiKJi>jiLeDIA>E at 8D_PFmm[3ydIDEEHG)[NT^QX<FV4ZUUDU=[F,TIP`WPLa88KaIXFCb\]0=+8C%[UZ7GKXUGCfICa\JaA\V'SS9V1SLYYD&WBDR,DJ\L]F]3dcT;S.PSJdIQKE8'L4'&A^CHJ]_N`HaH5?AQ<V0JN[TDX\]B0TQHF1N)4GE=.@=-66N>%PR7KJ*LSG at Q.)7.3Ob[LDC>ECZ:[H5^98E.cZG/J1ED/B*42:IM&F?F;$594BG<VZ7VIV3g^L]KF]@$IKO,W9K:]Y0VCLQ\LBIOV`WTVSGJHM//DPBCDAY;`>WLSC?C%C.93-]MP:)=6'LI37G8,BF4\7GE=55F0FD.R2 [...]
+  Z`DRYDU8YRFT97^QDRYDZEXYP$XNKBGOUTRSZ]]]YOIFEIT\]]YG>>(8ENNPZ^WQRKFL%+?RRRN at Z:mZRCB;WF[YRWDZ8RXRWF`EYRT>(UYRU?\BGBW4a;,gXRSAYF`EN_E`UEPAD_CJ`@aaK_;U=BAK?=^R=a`Q+iXCO:@;B)^___[QEK_7UXREK;OK(KLRWYQBV.5YWUN?JWRVBC/EM+gQ;FH\XQ8^BL`YFT8MM1ZPC\8YQ_W<-XHAH%?DRI_?X2keN>R2RaRYDNEN1)K?=%9N_A>F__WYDXF0AH[7\@VF`Y>__T9)^^PB2K69?=<:D@&6.PB.YQCBP0URD=L)+>%5O[UI<O?<IQ:]QCWCAN2\R=6?(DB,A%5)8DR%=<<;6+)+5=9ON<WDY8__QWRI_C'BCL'UBY6^T*RAJQVQABRN_WRWP at GBQ/FDN<=O?OD^9QAL==K'B/.=-LPI53=--N@;7B/-IK<X0DEA:9P4RO [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2802/ccs/fwd np:i:14 rq:f:0.998759
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  ~~~~~~~~~~l~~~~~n~~~~~~k~K~~~r~~~~]~~r~~~~~~t~~b~8~{_~~~m,n~~~~~~o~v~~C~z~v~~o~~~~~~~{~~~~~~~~~_~~~~7~~~~~~~~~s~~~~~~~~~~~~~~{~~r~~~~~p~~~~~~~~~~~~;~~~~~q~~r~~|~~~~{~~~~~~~~s~r~a~~y~~y~g~~u~~~~~B~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~}?~e~`~~~Z~~~~u~n~~v~~j~a~~~~~~~~~l~~~~~~~~~~b~~~V~~~~~{~~;~~~v~Q~~~Z~~~~k~~r~~~~i~~~~~~~~~~~~~~~+~~~~r~~~O~~m~~~L~~~~m~~~X~~~~~~Q~~~j~l~~~~~~~~y~c~~a~~W~~~~~~~~~~X~~~~~~>~~~~~m~~~~~~y~~~\~~~~~~~~~<~~~~~~V~~~a~~_}~~~P~%|~~ac~~~g~s?hqn~~~ys~~~~~j~~~~}~X~~~~~~~~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2802/ccs/rev np:i:13 rq:f:0.999331
+  ~~~~~~~~~~l~~~~~n~~~~~~k~K~~~r~~~~]~~r~~~~~~t~~b~8~{_~~~m,n~~~~~~o~v~~C~z~v~~o~~~~~~~{~~~~~~~~~_~~~~7~~~~~~~~~s~~~~~~~~~~~~~~{~~r~~~~~p~~~~~~~~~~~~;~~~~~q~~r~~|~~~~{~~~~~~~~s~r~a~~y~~y~g~~u~~~~~B~~~~~~~~~~~~~~~~~~~~~~p~~~~~~~~~~~~}?~e~`~~~Z~~~~u~n~~v~~j~a~~~~~~~~~l~~~~~~~~~~b~~~V~~~~~{~~;~~~v~Q~~~Z~~~~k~~r~~~~i~~~~~~~~~~~~~~~+~~~~r~~~O~~m~~~L~~~~m~~~X~~~~~~Q~~~j~l~~~~~~~~y~c~~a~~W~~~~~~~~~~X~~~~~~>~~~~~m~~~~~~y~~~\~~~~~~~~~<~~~~~~V~~~a~~_}~~~P~%|~~ac~~~g~s?hqn~~~ys~~~~~j~~~~}~X~~~~~~~~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2802/ccs/rev np:i:13 rq:f:0.999486
   AAGCAGTGGTATCAACGCAGAGTACGGGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTGTGAGGCGCAAGGTACATGCTCTTACCCCACTCTCAGCACGTAGGGAGCGGAGTGTGGAAGACCAACAAGCCCGTCGCCTCTACCAAATACAGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTAC [...]
   +
-  ~~~~~|~Y~~~~~~~~s~~~~~~~|7~~~~x~Y~|~~~q~ub]~~~~~~J~~h~~~~~~~~\~~y~~~~~~~~~~~~~~z~P~~~P~~~~~p~~~]~~~~?~~~~~~~~~~a~~|~~~~~~~~}~t~~~~~~~~~~d~~~r~~~l~~g~~~~~~~~~~~~~~~~~~^~~~~~~Q~~~~~~_~~~~~~~~~~~~~v~~~~~~~~~~j~~~z~~(~~~e~5~~t~~~c~~~g~~~~~~~~k~~~{o~}~~~~~~~~~~~~~~~~~~s~~~T~~Gpq~~Z~~W~~~~~~~~~~~~~~~~~~~~~Y~s~~~~~~~~~~~~~~~~~~~Q~d~~~~~~~L~~p~~~~~~~~~~~~~~~~~o~~V~w~~~~~~~~l~~~~~~~~~~~~x~~~~~~wS~h~~~~~~~mR~~~~~~~~~~~~~~~~~~~Lm~~~~~K~~~~p~t~~~~v~~~~~~~~[~~~~~~~}~~~~~~~o~u~~~x~~~~~~~~~~~~~~~~~~~ [...]
+  ~~~~~}~Y~~~~~~~~t~~~~~~~}7~~~~x~Z~}~~~r~ub^~~~~~~K~~h~~~~~~~~\~~y~~~~~~~~~~~~~~{~P~~~Q~~~~~q~~~]~~~~?~~~~~~~~~~b~~}~~~~~~~~}~u~~~~~~~~~~e~~~s~~~l~~h~~~~~~~~~~~~~~~~~~^~~~~~~Q~~~~~~`~~~~~~~~~~~~~w~~~~~~~~~~k~~~z~~0~~~d~4~~s~~~a~~~f~~~~~~~~i~~~zn~|~~~~~~~~~~~~~~~~~~r~~~S~~Fop~~Y~~V~~~~~~~~~~~~~~~~~~~~~X~r~~~}~~~~~~~~~~~~~~~P~c~~~~~~~K~~n~~~~~~~~~~~~~~~~~m~~U~u~~~~~~~~k~~~~~~~~~~~~v~~~~}~vR~f~~~~~~~lQ~~~~~~~~~~~~~~~~~~~Ll~~~~~K~~~~p~t~~~~v~~~~~~~~[~~~~~~~}~~~~~~~o~u~~~x~~~~~~~~~~~~~~~~~~~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2877/ccs/fwd np:i:11 rq:f:0.998386
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTGCGTAACTATCTTAAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGCGC [...]
   +
-  ~~x~~~~U~~m~s_~~~p~~~k~~`%~~~~~~~~~~~~~~~~~~~~~~~~~k_qr~q~q~s~~;r%~~~~blf~~yG~uAXK~j~~~~~~~~^~~j~~r~~~v|R~5~~~p~~~~~S~~~~Is~rQo7q~~~~9~~~~~~`~~t~W~~~psnmU~~vt~~~n~s~~~~e~qo~~O~~~mL~~~~~{~se~r~s~~m~r~~=~~~u~q~o{~^]R~~t~n~x~~~qr~~M~~w~~~w~q~~E~~~~u~~|~w~~~s~~X~~s~~~M~~~~N~Q~~f<tC|~B~~~~q%~~~b~~f~r~{u~[~{j~qw~~~~;~~~C~nt~~u~~f~~Xg~w~~~~p~~\~~~x~~[Q~+dve~ln~~~K~~~r~~O~P~~~b~e~~~`~pe~~}~r~r~|~k~~wk~~~~`~~q~xh~w~~~~qH~~~~Y~~z~~~~Q~~~~~~~~Z~~~~~n~~~~~~~~~W~~~~~~E~~~~u~~~~~~T~~~~b~~~~~~~~g~VO~ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2877/ccs/rev np:i:11 rq:f:0.999268
+  ~~x~~~~U~~m~s_~~~p~~~k~~`%~~~~~~~~~~~~~~~~~~~~~~~~~k_qr~q~q~s~~;r%~~~~blf~~yG~uAXK~j~~~~~~~~^~~j~~r~~~v|R~5~~~p~~~~~S~~~~Is~rQo7q~~~~9~~~~~~`~~t~W~~~psnmU~~vt~~~n~s~~~~e~qo~~O~~~mL~~~~~{~se~r~s~~m~r~~=~~~u~q~o{~^]R~~t~n~x~~~qr~~M~~w~~~w~q~~E~~~~u~~|~w~~~s~~X~~s~~~M~~~~N~Q~~f<tC|~B~~~~q%~~~b~~f~r~{u~[~{j~qw~~~~;~~~C~nt~~u~~f~~Xg~w~~~~p~~\~~~x~~[Q~+dve~ln~~~K~~~r~~O~P~~~b~e~~~`~pe~~}~r~r~|~k~~wk~~~~`~~q~xh~w~~~~qH~~~~Y~~z~~~~Q~~~~~~~~Z~~~~~n~~~~~~~~~W~~~~~~E~~~~u~~~~~~T~~~~b~~~~~~~~g~VO~ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2877/ccs/rev np:i:11 rq:f:0.999591
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGCGTAACTATCTTAAAAACTTCTAAACTGCTGCTTAGTAGGCAATAATCGACTAAATCCATAATTTTTGCGACCAAACGCAAACTTCAAGAATTTTAGACTTTGAAGACCGCATCGGCAAACCCCATTTTAGATACCACTTTAATTTCCAGTTAATCTACGACGCAAGTCACTTCTTTGTCGTTAAGTTTTATTTAACTGTCGCAAACAACAAAATGGTTTTCTAAATTTACTAAAACCAGGACGCACCTAACTTTCTAAACAAGCACAAGTTTAGCTTCTTCGTAAACGTCACCGCGAACTTTGACGCAAGAATTTTCCATGACCATTTCTGGTTGGTTAGCCGAATTTGGCAGTTCATGTTTTTCCACATAGCCATTGACTCCCACGAATAGGTCTCTTTCTTCTTGTTCCATGCGAATGTAAACGATTAGGC [...]
   +
-  M~~~~~~[~~~~~*~rt~~{~w~~~'~~~~~~~~~~~~~~~~~~~~~~~~~~~~xsUjq>~~~~~~^~C~~~~~)~~rk~~{bf>]B>i~~~j~i~s~~|~~~~~~~~h~~oq~~~~~D~~~~h}K~b~b~~~sZ6~~~u~~V~~~~I~~~~~~~Q~~q~~~~O~nt~~~\~K_~~Z~~~~G~~~_Tp\ka~~hp~~w~T~~e~~~h~~~~~W~x~~~~xv~Z~~~~{~~J~~rb~~N~n~~V~~~~]~~r~vmSx~VLbp~~w~wX~~~sj~)~~~nch~~I~~~~xQ~~~u~~]~~c~g~X~~h~sd~~\~T~~a{~~v~~u~~S~~~u~p~~N~~~]S~~{~~~~s~r~}[~~c~~~~|}}~~ul~P~~~a~~~a~O~~J~~`r[~`~`~>~~~u~q{~K~x:~~~~K~~~H~8~~~~r~~s~v~~x~~q~e~~va~~~~~t~~~^~~no~G~~~r~cW~qK~L~~Uq]h~~~~~X~~pU~s~~;~l [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs/fwd np:i:11 rq:f:0.999473
+  P~~~~~~^~~~~~-~uw~~~~z~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~{vXmtA~~~~~~a~F~~~~~+~~un~~~eiA`EAl~~~m~l~v~~~~~~~~~~~k~~rt~~~~~G~~~~k~N~e~e~~~v]9~~~x~~Y~~~~L~~~~~~~T~~t~~~~R~qw~~~_~Nb~~]~~~~J~~~bWs_nd~~ks~~z~W~~h~~~k~~~~~Z~{~~~~{y~]~~~~~~~M~~ue~~Q~q~~Y~~~~`~~u~ypV{~YOes~~z~z[~~~vm~,~~~qek~~L~~~~{T~~~x~~`~~f~j~[~~k~vg~~_~V~~d~~~y~~x~~V~~~x~s~~Q~~~`V~~~~~~~v~u~~^~~f~~~~~~~~~xo~S~~~d~~~d~R~~M~~cu^~c~c~A~~~x~t~~N~{=~~~~N~~~K~;~~~~u~~v~y~~{~~t~h~~yd~~~~~w~~~a~~qr~J~~~u~fZ~tN~O~~Xt_k~~~~~[~~sW~v~~>~o [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs/fwd np:i:11 rq:f:0.999491
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGTGT [...]
   +
-  ~~g~~~~f~~_~~~~`~~~~~x~y~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~M~~~|~~{w~~c~z~d~z~~Z_g~Y~~H~~~~aw~L~~~~f~}~~~`~~~~w~~~x~v~t~~~~H~u~~~~u~v~~~vg~~R~_t{~~~b~~g~v~z~c~~~^~wY~~~~~~~`~~v~sq~z~s~q~~Y~~~mz~~~W~j~~~a~I~z~~~~~~3~sN~~~~~~~~~~~~~p~~~~~~~~~~U~~D~~~j~~~~~~k~z~~e~@~~~\~~~q~~~~t~l~s~~~~~~~~n~se~~Q~~u~~a~0~~~q~t~~q~~~x~~~xz~~~Z~~{d~~~c~@~~l~t~l~~b`~u~~f~v~~~~uQ~C~~]~~~~~~L~~W~e~v~~M~L~~rb~~~ty~~~h~~~~~T~~~vb~~~\~~~~~q~?~~Z~t~\~~~~v~~v~~a~~~uB~~~~c~~\~]~~~~w~~~~~xg~a~~~L~~~~R~c^~~L~~~~~~~~~~~r [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs/rev np:i:10 rq:f:0.999298
+  ~~g~~~~f~~_~~~~`~~~~~x~y~%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~M~~~|~~{w~~c~z~d~z~~Z_g~Y~~H~~~~aw~L~~~~f~}~~~`~~~~w~~~x~v~t~~~~H~u~~~~u~v~~~vg~~R~_t{~~~b~~g~v~z~c~~~^~wY~~~~~~~`~~v~sq~z~s~q~~Y~~~mz~~~W~j~~~a~I~z~~~~~~3~sN~~~~~~~~~~~~~p~~~~~~~~~~U~~D~~~j~~~~~~k~z~~e~@~~~\~~~q~~~~t~l~s~~~~~~~~n~se~~Q~~u~~a~0~~~q~t~~q~~~x~~~xz~~~Z~~{d~~~c~@~~l~t~l~~b`~u~~f~v~~~~uQ~C~~]~~~~~~L~~W~e~v~~M~L~~rb~~~ty~~~h~~~~~T~~~vb~~~\~~~~~q~?~~Z~t~\~~~~v~~v~~a~~~uB~~~~c~~\~]~~~~w~~~~~xg~a~~~L~~~~R~c^~~L~~~~~~~~~~~r [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2884/ccs/rev np:i:10 rq:f:0.999243
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGAAGTAATGCCTCTACGTCAGTCGGAACAATGTCGTCGTGTAACTCGACGATCTTAGGAGCTACTAAGGAGAGTCTGTAGGGAACCGACTGGGAAGGTGCCACAAGTTTTCTCTACTACTCCGTCTCCTAAAACAACTCCAAGTGGAAGGTCTGTGGGTTTTTGAGTATAGTCCGTATCTAGACCCAAAAGGGCTTACCTTCGCAATGAAAGAATATCCTTATAGACACGAACGGGAAGAACGGAATCGTTATTAATGACGTCGTACAACGTTTTCCAAGTTCTCCTCTTCCTCCGGATTCGGTTTGGGTTATCTCAACTAGTCCTTTTCAAAGACATTGGAGAGTTTCACCTTCCCGTTAAGGTAGAACCCTCAGCATGTTTCACCCCCGGTGACCACTCAGTTACGGAATGTTTTTAAGCCACCTCAGCTAGT [...]
   +
-  a~{~~u~V~~~w~~~l~H~`~~x~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Uu[_~~~vj~~~~~~~rd~~0~x~|~|T~~~~~c~~~~~y~~~~~C~~{~~]Z~~c~~~{X~x~~~o~~~~~pu~~~~U~~~~b~v~|~h~~~~e~Y~R~~~~~~?~~~~~~~~~~~~~v~~q~~N~qT~~|~{~~~z~~~~~f~~~N~~~~~~R~l0~~~~~~~~~~~~~z~~~~p~w~y~V~~B~~eH~~a_~~qp-~Ylwy~~Rt~~iq~k~m`~\~|x~Z~wqr^w~d:~~n~sv~~A~k~~w~e~~W~x~~z~~~u~~]~~i~yp9~~~@~{~~j~|~j~~~~~k~~c~t~~V~}w~_~~S~~I~~e~T~x~~~~nj`~&~~~~`~~r~r~m~h~~~~U=~~o~r~Y~b~~~~~i~`~[pnTx\~~~~~~~~T~S~~~~)~~~sp~~~~Q~~~~q~~t~~~V~j~~~>~~~~~~sq~~X~w~~r~~~~g [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs/fwd np:i:5 rq:f:0.991516
+  _~z~~s~U~~~v~~~k~G~^~~v~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~StY^~~~ui~~~~~~~pb~~/~w~z~{S~~~~~b~~~~~w~~~~~A~~z~~\X~~b~~~zW~w~~~m~~~~~nt~~~~T~~~~a~u~{~g~~~~d~X~P~~~~~~>~~~~~~~~~~~~~u~~p~~L~pR~~{~z~~~y~~~~~d~~~M~~~~~~P~k/~~~~~~~~~~~~~y~~~~o~u~w~U~~@~~dG~~_^~~po,~Xkux~~Qs~~gp~j~l_~[~{v}Y~vpq]v~c9~~m~rt~~@~j~~v~d~~V~v~~x~~~t}~[~~h~wo8~~~?~z~~i~z~i~~~~~i~~b~r~~T~|v~]~~R~~H~~d~S~w~~~~mi^~&~~~~_~~p~q~l~g~~~~T<~~n~q~W~a~~~}~g~^~ZomRwZ~~~~~~~~S~R~~~~(~~~ro~~~~P~~~~p~~s~~~U~i~~~<~~~~~~ro~~W~v~~p~~~~e [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs/fwd np:i:5 rq:f:0.991514
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAAATGGTAAAACTTGTCACCCCCATTTACATTGCGAACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACA [...]
   +
-  YwY+]ZGNu]I\@8aOZMVTKZ]KQ/YaX-rKtYSW_-ZIGDDr[S`\PW^;l]KtJL[FrRZE(n^^ZPZ?a2CJGKGovS[Jvv]][^<DPA\LZ`\LXDYJZ2vcFK at qUIvuT\Z=/`[?X=q/ZCR?UJpZ%SUS`^\WQIFY2sCKVUH,_^X=4KLXH[LV'L;IKJ4\S;PQdY-rlOJK*]_/MMGWWZZX5g\S`CuvqMG\M-R%d[HGKt^6Z]YPQdL\7D'EFdY_GvqGOaQv[Q@$;MUE&:RM-EKqJS7V^X\=t_^LuNW[X0NBPuSZE<WH^S6cX$.ZU at gO]]]@oZ\KHTZMW<N$0:0>l\Oa[]6tsSQtRH\E3wx\Za\SvWWR[LqUR`8vhR6rlT<q at aLJFEb`[^]X5>YKQXXSQ/.e;2X0=^WWR_[V\<FPAc/smP6:saL at _IY>_YU]LZ^LuQv[^>\KS:viQQ=DMrZCuVVRZF8r_EoGP9cSXP\K]ZBVH:M\^[PuKIWG<@ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs/rev np:i:6 rq:f:0.99341
+  YwY+]ZGNu]I\@8aOZMVTKZ]KQ/YaX-rKtYSW_-ZIGDDr[S`\PW^;l]KtJL[FrRZE(n^^ZPZ?a2CJGKGovS[Jvv]][^<DPA\LZ`\LXDYJZ2vcFK at qUIvuT\Z=/`[?X=q/ZCR?UJpZ%SUS`^\WQIFY2sCKVUH,_^X=4KLXH[LV'L;IKJ4\S;PQdY-rlOJK*]_/MMGWWZZX5g\S`CuvqMG\M-R%d[HGKt^6Z]YPQdL\7D'EFdY_GvqGOaQv[Q@$;MUE&:RM-EKqJS7V^X\=t_^LuNW[X0NBPuSZE<WH^S6cX$.ZU at gO]]]@oZ\KHTZMW<N$0:0>l\Oa[]6tsSQtRH\E3wx\Za\SvWWR[LqUR`8vhR6rlT<q at aLJFEb`[^]X5>YKQXXSQ/.e;2X0=^WWR_[V\<FPAc/smP6:saL at _IY>_YU]LZ^LuQv[^>\KS:viQQ=DMrZCuVVRZF8r_EoGP9cSXP\K]ZBVH:M\^[PuKIWG<@ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2899/ccs/rev np:i:6 rq:f:0.993409
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATTGAACATGGATGCGAACGACATTTCGAAATATACGCAATGAATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTGAGACAATG [...]
   +
-  BhRXXM:<`J^]EQw[RH^R]>^_L/^WEIU6\OCK>*c\EHBW'ENHEGO/]M-U=,PKMaC[IAY=J91LPc[S^[_;ttYN=]h]Z_GHS[E_DA&Y_G]9q>tFvw`\)YNA;c[ZNQ;q_Pt'B@[ZN?]=UW]O at D\G^[_KR;dD7MG<Grp\SIV[RC`AKZS[S[O7_YHF2$$DnpW^A4]IOFGZRMR_8wp[\3luqHB\^?eGww\?>Y5wwVEBs+I[^/ZX`\F:qs[TGQtRER]E[=FWSY]@Md^_;w^E`BtXKFvPt=LO;M2]X>\Y5P`[RuS^Ewk>nS^G^Qv`\.^YSN\JqUNG\FEy`QvRK9uuD at uWX^?BfE=S\5;m,JSM>L*X^8.5Y(ta]@\Oj[^OLu^Q6[RGZS_[PG_R_<tW\S_[^Ta[^`RIV]X1F(Yp\9mY>NnT`[^`Sa^P[CvCoM`[`]E=uq_[[]0pP?tR^[PGJbBKt`ZAcDPDY[]RBuZRAs\=6PZMGZQv`S [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs/fwd np:i:6 rq:f:0.993549
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAAATTCTAAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTTACATCGAATAGAACGTCGTAACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTTATTTCTATGATAAGCACTAAATTGACCCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCT [...]
+  BhRXXM:<`J^]EQw[RH^R]>^_L/^WEIU6\NCK=*c\EHBW'ENHEGO/]M-U=,PKMaC[IAY=J91LPc[S^[_;ttYN=]h]Z_GHS[E_DA&Y_G]9q>tFvw`\)YNA;c[ZNQ;q_Pt'B@[ZN?]=UW]O at D\G^[_KR;dD7MG<Grp\SIV[RC`AKZS[S[O7_YHF2$$DnpW^A4]IOFGZRMR_8wp[\3luqHB\^?eGwv\?>Y5wwVEBs+I[^/ZX`\F:qs[TGQtRER]E[=FWSY]@Md^_;w^E`BtXKFvPt=LO;M2]X>\Y5P`[RuS^Ewk>nS^G^Qv`\.^YSN\JqUNG\FEy`QvRK9uuD at uWX^?BfE=S\5;m,JSM>L*X^8.5Y(ta]@\Oj[^OLu^Q6[RGZS_[PG_R_<tW\S_[^Ta[^`RIV]X1F(Yp\9mY>NnT`[^`S`^P[CvCoM`[`]E=uq_[[]0pP?tR^[PGJbBKt`ZAcDPDY[]RBuZRAs\=6PZMGZQv`S [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs/fwd np:i:6 rq:f:0.993003
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAAATTCTAAACCGACCATCTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTTACATCGAATAGAACGTCGTAACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTTATTTCTATGATAAGCACTAAATTGACCCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCT [...]
   +
-  a~lTShT2xea`TU`RQ at ejRWnRU$|}}}}}}}}}}}}}}}}}}}}}{qjkmSL>nVy:zRjogSUiUZ~oN~~ng_I]tfL{iSkiVK}khSSlDT`Sif>IMp~kUkd+^>AQz~kg2~rStNxSUi3xTnSUp=ccjG~oG|kUMq{RPBMXYtNY~qhll?iEiDnS7{Rg\{UvYpE~OBb=WUU>G/WHF&d`IG['^)D1,O;J$U6>>FZ\0h)MSYa]0IWQ>sN,MenTjT1uPPXJQ\&p{dbS9iP>Dznfj7zVioViR&CR?]`@kSM?lhVoe at MiV}5yS>PWOyUlV]xTnV>||WUk:~~}kM~~zF{U@}xa,kg_~IonBcB>v{TO{UfPTob*cYwQ>Z=SVg^|VhkE~iQVF}oVk*)poQeM{U`.}lc;hM}gl\fTT[zD_>WwS6qUlkgf[6LVQ>{}TTOjiF>F]RReVn=||McSQ/mg\yTw6||D~kSkhV\}T\~fEaLC_PSQ?ihP~n;~t[ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs/rev np:i:6 rq:f:0.991972
+  a~lTShT2xea`TU`RQ at ejRWnRU$|}}}}}}}}}}}}}}}}}}}}}{qjkmSL>nVy:zRjogSUiUZ~oN~~ng_I]tfL{iSkiVK}khSSlDT`Sif>IMp~kUkd+^>AQz~kg2~rStNxSUi3xTnSUp=ccjG~oG|kUMq{RPBMXYtNY~qhll?iEiDnS7{Rg\{UvYpE~OBb=WUU>G/WHF&d`IG['^)D1,O;J$U6>>FZ\0h)MSYa]0IWQ>sN,MenTjT1uPPXJQ\&p{dbS9iP>Dznfj7zVioViR&CR?]`@kSM?lhVoe at MiV}5yS>PWOyUlV]xTnV>||WUk:~~}kM~~zF{U@}xa,kg_~IonBcB>v{TO{UfPTob*cYwQ>Z=SVg^|VhkE~iQVF}oVk*)poQeM{U`.}lc;hM}gl\fTT[zD_>WwS6qUlkgf[6LVQ>{}TTOjiF>F]RReVn=||McSQ/mg\yTw6||D~kSkhV\}T\~fEaLC_PSQ?ihP~n;~t[ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2903/ccs/rev np:i:6 rq:f:0.99194
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTGGTTCGTACAGCGGTAAATGACTTGTTGAGTCTTGACGTCGACGACCAAAGCGACCACTTTGACCCAATTGCGAACTACTAAATCCTAAGCAAAGGACTATTAGGTAGTAGCCAACTTCGTTAATTCCGTTCAGTACTTTTAAATTCTAACCGACCATCTTTTCCGAGTTGCTTCAAACCCTCGTCCTAATGATTTACATCGAATAGAACGTCGTACAAACGCACTACTACATGGAATAGATTCTCTTGTCAAATCGTTTTGTTTTGGCTTTACCCTTGGTAACAAACTTCGACTACGTTCGTACAATTCAGAATAACCTCTACCTCGTTAATTTGAGTTAGTTCGTTAAGGGCTTAAGTAGTTATTTTCTATGATAAGCACTAAATTGACCTTAATTTCCTCGACTTATTGTTACATCTCGATTTCCCTT [...]
   +
-  1[UloCP1PcU:Q\yQTkmVVTSjj%||{whSKOXZY_b`XPKMVdqrja[UOQiqneI>cU}lDRTjoUP?haCu^gVo`9GCOvQOShl/_VojTTiAWjWnIpG~qAjSgIlnkB~{RTI`v\tR`Oh+YZjNPi`Agg`XpgM}Uj8sp'V^Y\TF_nD~dkWhkRZ~`~R8sgQ+]L]7zV~QClOPOQmk:uV_BtvE^PdHo0`WoZ~k^k$wlRD^BOUQrVlW~SC~pK{macA_W~_[MQUWNSg`RcEPNTd5BNVpaOI`N^bJIp_D7Q(H at O_VD__J?xTm]cMXJsa\INlM4^:r]I`M7bojM at kraBu`0n_RIim9]0g^Ur`1YeN+7N(IKIc`;+R]N[^`VpLsadNQd_TpRq^_XEB\5OL.kUpFrnNdNMq^NLraNM[Rf7jcI9iUnO]`D8.J-`Sc^HaHHE[MdN]Xa\;3d'9;KPn)h=Q7noMn3TLLZKhaLqGHi`^DZa^aO`DYkHqqK^ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs/fwd np:i:8 rq:f:0.995775
+  1[UloCP1PcU:Q\yQTkmVVTSjj%||{whSJOXZY_b`XPKMVdqrja[UOQiqneI>cU}lDRTjoUP?haCu]gVn`9GCOvQOShl/_VojTTiAWjWnIpG~qAjSgIlnkB~{RTI`v\tR`Oh+YZjNPi`Agg`XpgM}Uj8sp'V^Y\TF_nD~dkWhkRZ~`~R8sgQ+]L]7zV~QClOPOQmk:uV_BtvE^PdHo0`WoZ~k^k$wlRD^BOUQrUlW~SC~pK{macA_W~_[MQUWNSg`RcEPNTd5BNVpaNI`N^bJIp_D7Q(H at O_VD^_J?xTm]cMXJra\INlM4^:r]I`M7bojM at kraBu`0n_RIim9]0g^Ur`1YeN+7N(IKIc`;+R]N[^`VpLsadNQd_TpRq^_XEB\5NL.kUpFrnNdNMq^NLqaNM[Rf7jcI9iUnO]`D8.J-`Sc^HaHHE[MdN]Xa\;3d&9;KPn)h=Q7noMn3TLLZKhaLqGHi`^DYa^aO`DYkHqqK^ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs/fwd np:i:8 rq:f:0.995619
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATAATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCCACCTCAACGCTATGAACGTTAGTTGAGACA [...]
   +
-  dpZCn[[Z~qH[@.tOWBaj_mZZLAm~~d~K~viX_E~~^p2~ZCb]QkrJ~tN~svn`}R\_Z~an1Pa@|Tj%I4Td~VmEgguswm at mDQg\jL[bt,vTNn7m~[W*ZYQ~aTtYT_{`FvV~mvpXO{L~ttlPYG_sUS\Z$s\eiijm9~~vNj=EMWcenj`B_gKFwwleXubAuumhWDpuPfSXjRfdgGU`=f.[f5,gjR+|@kumRqlIwvuOWuPWLV'qs~i at nY/Lg;A9LbBNheiJEJjP4_hjGpDWjQuW[DeG^AVCfSMuPadLjdYLKtfg8ugKmMjijJugVTe;SUk;WlfYXI=8hKvdlGwvMHqNdic,rjfW(hg<^QjNeYveNf at ltM0qrk@s6WKZS9~^PWDF3JaiNeeTM='bdcjNkeSJQUd`KeI0>/e\fj6uvdYvgmK1ifmk`=Qu,VShNmgL*tvsVNWZu^QqekQgi%~ZX6VUBGj:aLjEDe+QKeLmje^wcfYU8U [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs/rev np:i:8 rq:f:0.996531
+  dpZCn[[Z~qH[@.tOWBaj_mZZLAm~~d~K~viX_E~~^p2~ZCb]QkrJ~tN~svn`}R\_Z~an1Pa@|Tj%I4Td~VmEgguswm at mDQg\jL[bt,vTNn7m~[W*ZYQ~aTtYT_{`FvV~mvpXO{L~ttlPYG_sUS\Z$s\eiijm9~~vNj=EMWcenj`B_gKFwwleXubAuumhWDpuPfSXjRfdgGU`=f.[f5,gjR+|@kumRqlIwvuOWuPWLV'qs~i at nY/Lg;A9LbBNheiJEJjP4_hjGpDWjQuW[DeG^AVCfSMuPadLjdYLKtfg8ugKmMjijJugVTe;SUk;WlfYXI=8hKvdlGwvMHqNdic,rjfW(hg<^QjNeYveNf at ltM0qrk@s6WKZS9~^PWDF3JaiNeeTM='bdcjNkeSJQUd`KeI0>/e\fj6uvdYvgmK1ifmk`=Qu,VShNmgL*tvsVNWZu^QqekQgi%~ZX6VUBGj:aLjEDe+QKeLmje^wcfYU8U [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2944/ccs/rev np:i:8 rq:f:0.995812
   AAGCAGTGGTATCAACGCAGAGTACGGGGTTGGTGTATTTATCCGCTACGTGGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGGTAAACTTGTCACCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAAT [...]
   +
-  MmBD(39+h^dwrVz]OhrFFHxpo3xn\OVBYB?`wH}lwQ`tWqoboRZ*F8>=K(tYf~]zwF~xtO_Fd~pEwqwU~~sZV~~cWonWUY^JUCoQas9~U~M~~a\7wQJ~kIaSIa~yQkNiMYPRZv?yt:C4rcfcq{xWM~DtXpRIv~yp_QYRHzQ`xUrTt3HTwxWE~UJ~~L]UDkB=B?gQIKPfH~vYg<R_W``Rf:}M~~d'u=?-~~pb{U`m{E~~~~yK|_lOpByOVPbl[B^DYJLQ_yI[8xh;p&~qrF~at@[>\OOnbAqkZU[mEf8dItdKu_]ts_~uvPYlTa}Y~vUuwX?}9Ow=S7~~oS~lesSN~~qvtaa~DslSchCYvD~zX;ydo<~_xXjQS~q>YeSujF]>OGFQoL~kh1KmqLqjlaUnFbXAJ(T~sI~~Se~VrYqlB^_GrEw_`/Mndvn>kdz~m`=X-_v>cXB^Yqm?Xgbf~kQI,E&KQj`P6m`QAmTuTkmMws [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2951/ccs/fwd np:i:5 rq:f:0.995229
-  AAGCAGTGGTATCAAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACA [...]
+  Ii>@%/5(dZ`snRvYKdnBBDtlk0tjXKR=U>;[sDygsM\pSmk^kNV%B5:9G&qUb~YvsB~upL\C`~mAsmsQ}~oVS~~_TkkTRU[FQ?kN]o5|Q~J~~^Y3sNF~gE]PE]~uMhKeIULNVr;uq6?0n_c_mxtSI|@pTlNEr~ul\MUNDwN\uRnPp0DQstSAzQF~~HYQ at h?:?;dMFHMbD~rUc8N\T\\Ob6zI~~`%q9;*}~l_wQ]jwA~~~~uGy\hLl>uLRM_hY?^DYILQ]xH[8wh:p&~qrE~`t@[=\NOnbApjYTZlDe7cIscJt_\ss_~tvOXlT`|Y~vUtwW?|9Nv=S6~~nS~lesSN~~qut`a}CrlRbhCXuD~yX;ydn<~^wXiPS~p>XeStjE]>NGEQoL~jh1JlqKqikaUmFbXAJ'S}sH~~Sd~VqXqlA]_FrDw^_/Lndum=jdy~m`<X-^v>bWA^Yql>Wgae~kQH,E&KQj_O6m`Q at lTuSjlMvs [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2951/ccs/fwd np:i:5 rq:f:0.995232
+  AAGCAGTGGTATCAAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACA [...]
   +
-  ^~b^g^e;}KfkG${]^c]Q`RanfI=w~v]QkR^ncWEeTU\K~blQQtD~khncX~]~9C~kaX;NMM~]C|H;k~iK]f>~7rcO~_~bCnNKSkCl0gD:fe1?6<~gk^Qbnc@~~h9\cU~~h_S~n_OpK_f/G>bfcn]R^haFJ]cd-H,=?<~~hN~PB~]A~wS~F~~hlQR~H?~~Z:gPl_T~\O]aFHN/~bhZiLgQl^HxbVc]~QS~nc_Uji3~~~eJ~F5zcc_T~fHfZ5\chchc[FY~g^b2R~^c\Lkc^]EH~{;]mgE~w=K]bE~?~l`cO~^_PFaF~\54xcHj,~ye^lG~^l@~];~~~a>~lK~ckJBL`D~~^J~~kLX@`lT~lQl8l]Ty7~yg[;T~~hcNb35yQcL]cLjB_VK`FIJq:\~PD~|B~2YJID~M[hcmJ~~\Kfncn_hc\JM]E~J~?tg^F~~9xfhbKP~n_bK~]@t~kKjQa.~~~]GqXHU1z]gj%}]nhnbR^h [...]
+  ^~b^g^e;}KfkG${]^c]Q`RanfI=w~v]QkR^ncWEeTU\K~blQQtD~khncX~]~9C~kaX;NMM~]C|H;k~iK]f>~7rcO~_~bCnNKSkCl0gD:fe1?6<~gk^Qbnc@~~h9\cU~~h_S~n_OpK_f/G>bfcn]R^haFJ]cd-H,=?<~~hN~PB~]A~wS~F~~hlQR~H?~~Z:gPl_T~\O]aFHN/~bhZiLgQl^HxbVc]~QS~nc_Uji3~~~eJ~F5zcc_T~fHfZ5\chchc[FY~g^b2R~^c\Lkc^]EH~{;]mgE~w=K]bE~?~l`cO~^_PFaF~\54xcHj,~ye^lG~^l@~];~~~a>~lK~ckJBL`D~~^J~~kLX@`lT~lQl8l]Ty7~yg[;T~~hcNb35yQcL]cLjB_VK`FIJq:\~PD~|B~2YJID~M[hcmJ~~\Kfncn_hc\JM]E~J~?tg^F~~9xfhbKP~n_bK~]@t~kKjQa.~~~]GqXHU1z]gj%}]nhnbR^h [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2951/ccs/rev np:i:5 rq:f:0.994585
   AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGAC [...]
   +
-  ,A?V\TZ4hZ_FW1aXMPK8>61[W(ssQ@]F^SSS:HiT_ at NtT\aEl$iNWESF_+qf`@wnTS=pF1cXLu\>wL0^UaKuGurKu*XTKuTXTH8rQc)+ok7pRKs_FS`TIS6qtr`V;8br`XGvZ at EbARaKuEhJS4WaX_>VTW>^HtUuX9wwfFraFuX<sc5D2pr[\aEYV,pq-%l]\XF_>_W>VTaGqC\=qHwa\XUuT\T at sXCu\UXLhF%jn_aOuX>wvaWCO^XaXTXO.L^P<J;n_U\XErSTW>YHI78<ZXaX\a'^]XZTXTFY9rYQ36kSa\XQ:siTAjWQUDuusVETtX[8`A+qrf=Jt\LpTFSX\TFuuX0vRDCXPpO at Y\a\QsQ>bCuu^W[8sE+J23*0Z\aUXTKs?q>DQARNuaNu_*nMGuUuHsSq;PaT[2s\ST_FS\VFQW>^XMV8T6o_W6qoEdUaTaEYYWQ=pX8uvhT\_>9ossXTtFW[CoRC+;nVE^ESaX [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs/fwd np:i:6 rq:f:0.99674
+  ,A?V\TZ4hZ_FW1aXMPK8>61[W(ssQ@]F^SSS:HiT_ at NtT\aEl$iNWESF_+qf`@wnTS=pF1cXLu\>wL0^UaKuGurKu*XTKuTXTH8rQc)+ok7pRKs_FS`TIS6qtr`V;8br`XGvZ at EbARaKuEhJS4WaX_>VTW>^HtUuX9wwfFraFuX<sc5D2pr[\aEYV,pq-%l]\XF_>_W>VTaGqC\=qHwa\XUuT\T at sXCu\UXLhF%jn_aOuX>wvaWCO^XaXTXO.L^P<J;n_U\XErSTW>YHI78<ZXaX\a'^]XZTXTFY9rYQ36kSa\XQ:siTAjWQUDuusVETtX[8`A+qrf<Jt\LpTFSX\TFuuX0vRDCXPpO at Y\a\QsQ>bCuu^W[8sE+J23*0Z\aUXTKs?q>DQARNuaNu_*nMGuUuHsSq;PaT[2s\ST_FS\VFQW>^XMV8T6o_W6qoEdUaTaEYYWQ=pX8uvhT\_>9ossXTtFW[CoRC+;nVE^ESaX [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs/fwd np:i:6 rq:f:0.996692
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGT [...]
   +
-  e~ur~t}O~z~{rX~ntr~tzope]$n~~~~~~~~~~~~~~~~~~~~~~~~~~~srt~}gr`=rqh[~~sq|]{U~fr~u~H~]Xd\~tepNsP~jqsA~{Rr}F~}^~t\go`X~]KvO~|jhHL~W4~7~zB~l~glr~lZ~r5~~qE~fi~jpyo*~~~~zsrD~Y~nVc~Q~k3jmaNVm~{J~k`h[T~mc;ml~o>~pA~~~}\b~kl~i`~i~F%~op`u9~~~fI=~~lS&~{oim~kc+~~\|h,~xqdL~p[q5~~iWS~s}\~~tzryIqfJuO~_N\~Q4~~h}R~~k[qq|ob, at bQkM~~l~vl~]stZ^w[G^~\sH,~~~\Wr|zqqtsHeBk{t~h9~}~T~l~Qmc]nBf~=J~X~~q|~ri{TzSr~th:~jdg^6~}u{:P~~sSO~~c~qe\~s~tK2z{Xut}s~qF~nb]m\s{3~lC{qL~~qjrgaZ~fruY~4~aTpM~|M~~m~J~~tupTpfmI~U\mVquN [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs/rev np:i:7 rq:f:0.997959
+  e~ur~t}O~z~{rX~ntr~tzope]$n~~~~~~~~~~~~~~~~~~~~~~~~~~~srt~}gr`=rqh[~~sq|]{U~fr~u~H~]Xd\~tepNsP~jqsA~{Rr}F~}^~t\go`X~]KvO~|jhGL~W4~7~zB~l~glr~lZ~r5~~qE~fi~jpyo*~~~~zsrD~Y~nVc~Q~k3jmaMVm~{J~k`h[T~mc;ml~o>~pA~~~}\b~kl~i`~i~F%~op`u9~~~fI=~~lS&~{oim~kc+~~\|h,~xqdL~p[q5~~iWS~s}\~~tzryIqfJuO~_N\~Q4~~h}R~~k[qq|ob, at bQkK~~j~uj~\rrX\vZF]~[rF+~~~[Vq{yppsqFc at izs}f8~{~R~k~Pla\mAd~;H~V~~o{~qgzRyQp~sf8~ice\5~|ty9N~~rQN~}b~od[|r~sI1xyWts{r}pD~ma\lZqy2~jBzoK~~piqf_Y~eptX~3~`RnL~{L~}k~H~~rtoSodlG~T[lTptL [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2986/ccs/rev np:i:7 rq:f:0.997961
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTACTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGC [...]
   +
-  PvF\eOLKdhfQ]F~^^_g]N\hg^$~~~~~~~~{qhdir{~~~~~|sjeebiq}~~~qirr\qitsigmG~qig]etG~sgA\kV~sgGNsSpintWrkBkJ~trVY:~^Eya[\esC~fb~D~\[0ZGxL;~)~1+~gr`jdqeMqhJ~~iD~ohlhfng'~~~~ligSsF~\gF{<ov?hZdZSgsqLN}Yqie^vjq^fP~hV~h,~~vnja~TV~sW~<|eO~ha~C~~~mj@~jPQ^~ndiR~fe1~th]p>~kSqX~eM^)~~hcb~dYW~~qYertg]>~L~]qV~@8~~stW~~W]eaditb~iQ~I~zN~c=yhg]hfXcfD~O~h2~~{bYPfiitgGb~ihjg\qY~tsYy>~qhshhRQ~rZ~H~~gspjp[XnZgqRpL~rR[hc~rgckV~~LoW~mK~h]hsh]eRNw[gohYg[gb~Ro]Uihtb~hisiN~kinbGqV~shRJt;~~rhB{+T~]a~Jvxhie[grh;~fRi [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2993/ccs/fwd np:i:7 rq:f:0.993571
+  PvF\eOLKehfR]F~^^_g]N\hg^$~~~~~~~~{qhdir{~~~~~|sjfebiq}~~~qirr\qitsigmG~qig^etG~sgA\kV~sgGNsSqintWrkBkJ~trVY:~^Eya[\esC~fb~D~\[0ZGxL;~)~1+~gr`jdqeMqhJ~~iD~ohlhfng'~~~~ligSsF~\gF{<ov?iZdZSgsqLN}Yqie^vjq^fP~iV~h,~~vnja~TV~sW~<|eO~ha~C~~~mj@~jPQ^~ndiR~fe1~th]p>~kSqX~eM^)~~hcb~dYW~~qYfrtg]?~L~]qV~@8~~stW~~W]eaditb~iQ~I~zN~c=yhg^hfXcfD~O~h2~~{bYPfiitgGb~ihjg\qY~tsYy>~qhshhRQ~rZ~H~~gspjp[XoZgqRpL~rR[hc~rgckV~~MoW~mK~h]hsh]eRNw[gohYg[gb~Ro]Uihtb~hisiN~kinbGqV~shRJt;~~rhB{+T~]a~Jvxhie[grh;~fRi [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2993/ccs/fwd np:i:7 rq:f:0.993803
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTATATCCTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCAACCGCGTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACAC [...]
   +
-  \zXQ7BJBV7JL>EhSGHkaWarWU$fgdegjmrqlcZSU\iywqkc\\^TMIHKMOSaRdGRb:4opiXbWNzk]`Z[U@~W]t`U>~W\j9}amV>qQ~n]mK~ik`DCzT/}j]tUJFi\8p7~ghK at JPGJkA~oR~HhL\aqK`}H5om^S~g^rTNXT$kYh[XXLb~Q~s]^~8ciO{TEdB(;=V=~kmDJa~UO^WYeZ7pD?@oZ\K%;GaN~VFfM{BU`/6`2gegB[M}x\WBuf]+K|\NDciWXE:k]H&&+cKCT2nZO:\PT4PXY/EHXagSuGmN at BfgB~_,d at tpIWb]ZOlT`/EaD~hTb^Nj5HFVHdDKCna~\3~~z`QMda[SU9VfT`mGle7fo at .`JC8JO*E?_SmX.c4iQIYjHfoim at 5>ZVIdWGfFDneIR at 5fi_BH~kIm-WUFl/b3YKrjFl0fDW[W~_)iJCZSD|^A=IA]K4iLpWM~aD:TtOkjUF<Q^E`YQyIhrLaN\NVH [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2993/ccs/rev np:i:6 rq:f:0.99642
+  \zXQ7BJBV7JL>EhSGHkaWarWU$fgdegjmrqlcZSU\iywqkc\\^TMIHKMPSaReHRb:4ppiXbWNzk]aZ[U@~W]taU>~X\j9}amV?qQ~n^mK~ik`DDzT/~j^tUKFi\8q7~ghK at KPGJlA~oR~HhL]aqL`}H5om^S~g^rTNXT%kZh\XXLb~Q~t^^~8diP{TFdB(;=V=~lmDJa~UO^WYf[7pE?@oZ]K%;GaO~VFfM{CU`/6`2gegC[M}x\WBuf]+K|\NDciWXE:k^H'&+cKCT2n[O:\PT4PXY/EHXagSuGmNABghB~_,dAtpIWb]ZOmT`0EaD~hUb^Nj6HFVHdDLCna~]3~~z`QMda\SU9VfU`mGmf7fo@/`JC8JO*E at _SmX.c4iQIYjHgoim@5>ZVIdWGfFDoeIRA6gi_BH~kIm-XVGl/b3YLrkGl0fDW[W~_*jKCZSD|^B>IA]L4iLpWM~aE:TtOkkUF<R^E`YQyJhrLaN\NVH [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/2993/ccs/rev np:i:6 rq:f:0.996417
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTATACTACGAGGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTTCGCACACTT [...]
   +
-  +JG816=<sfR:[]k]ZV`=PMI[G$cvoc_VXallnkf`^bhnssnjiks}~~~~~~{WZdikxgwfdZy0}pgjebjzW~ffpPdQy5f`W~f}hvbC~vV{V~rrcR4}VE~dOLjzX~fS~P|MqVzW~OKxBt{Y~g}VXWQ[R~jH~sfA~@PrvcNb&~~~~~a]JzHglaCp(~?<~f`Apc[JQIfjGRZ;}amS\T~b;~^>l~wXJb~J.pjJq9~_?~`c~>~~rYJT~gY:a~m]bY|Zh.\[\Sj0aP3V)d9_[;~~pYXdZXK at TS]^ZmXdIiMtmsO~Z2i~nCR~~`A[`A^@KfIMS@~nO~\\~`Hib[WKZNuKo^7tktcd9P4`t`?)~JYh]mtP~WrS~\~pIUWa\YuqRx9~~]mtbshifSJoHqL~~bQJO~k[eZ?~iFYO~lArVT^A]+W6L~fakaib^WI~FPbHa\lQsHISZ)/?LI]YmK~r`H`~MTtd0(rTM~kM~/n~UIZKoHd`3{ [...]
+  +JG816=<sfR:[]k]ZV`=PMI[G$cvoc_VXallnkf`^bhnssnjiks}~~~~~~{WZdikxgwfdZy0}pgjebjzW~ffpPdQy5f`W~f}hvbC~vV{V~rrcR4}VE~dOLjzX~fS~P|MqVzW~OKxBt{Y~g}VXWQ[R~jH~sfA~@PrvcNb&~~~~~a]JzHglaCp(~?<~f`Apc[JQIfjGRZ;}amS\T~b;~^>l~wXJb~J.pjJq9~_?~`c~>~~rYJT~gY:a~m]bY|Zh.\[\Sj0aP3V)d9_[;~~pYXdZXK at TS]^ZmXdIiMtmsO~Z1i~nCR~~`A[`A^@KfIMS@~nO~\\~`Hib[WKZNuKo^7tktcd9P4`t`?)~JYh]mtP~WrS~\~pIUWa\YuqRx9~~]mtbshifSJoHqL~~bQJO~k[eZ?~iFYO~lArVT^A]+W6L~fakaib^WI~FPbHa\lQsHISZ)/?LI]YmK~r`H`~MTtd0(rTM~kM~/n~UIZKoHd`3{ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3023/ccs/fwd np:i:6 rq:f:0.996632
   AAGCAGTGGTATCAACGCAGAGTACGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACCTTGTCACCCCCCATTTACATTGCGACAGACACAGTTATGGAGTGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGAACAATGT [...]
   +
-  4c=C\PfHz_QcO3nPB<BT:Uc;R*vvdVdOApvefEwXRc9SWfBoZHzcMUWuTaO>fNPWTWWwS at NTeHxuUW?uted]4SXQ/nVWffedEwGf<wwfeDmO/Y[RRR=;]\P]ECQX9T=WFvMcWUeeaXTOdXHwVeU9U?YpeUfeUWVvWcJ\]`q_G~~o]Lc]FliokW5~}[pLEg6W]K9D^Yj0phRHlo=:i6VREA~n<n~p&_`~Jj-Q%H?:PhjVz~ZWe^~`]`q]q[iX at Yp`Nz\W9ko=XM~DoM~-pEj:k]L~9NaLn`q\NyYV@~~^~IkXU;~onFbXYFLB_danEAH_j=~<d5~k[+~\ke_C~~ZpnpM~^\[O9f]GWErx]L~~qN~N~]jcGzq`qp_lZ^[]`Xf_qIgqX_p]q`oHoq`kIn]a~;~~~[@~y]-}\Y[lgHjUZQJxDfZc\oYGAsp`iJ[\jPNSGCF^lBu_Dop[M~X\JdGgMMmLX5bb[Zf<[R*JENki]^ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3023/ccs/rev np:i:6 rq:f:0.993395
+  4c=C\PfHz_QcO3nPB<BT:Uc;R*vvdVdOApvefEwXRc9SWfBoZHzcMUWuTaO>fNPWTWWwS at NTeHxuUW?uted]4SXQ/nVWffedEwGf<wwfeDmO/Y[RRR=;]\P]ECQX9T=WFvMcWUeeaXTOdXHwVeU9U?YpeUfeUWVvWcJ\]`q_G~~o]Lc]FliokW5~}[pLEg6W]K9D^Yj0phRHlo=:i6VREA~n<n~p&_`~Jj-Q%H?:PhjVz~ZWe^~`]`q]q[iX at Yp`Nz\W9ko=XM~DoM~-pEj:k]L~9NaLn`q\NyYV@~~^~IkXU;~onFbXYFLB_danEAH_j=~<d5~k[+~\ke_C~~ZpnpM~^\[O9f]GWErx]L~~qN~N~]jcGzq`qp_lZ^[]`Xf_qIgqX_p]q`oHoq`kIn]a~;~~~[@~y]-}\Y[lgHjUZQJxDfZc\oYGAsp`iJ[\jPNSGCF^lBu_Dop[M~X\JdGgMMmLX5bb[Zf<[R*JENki]^ [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3023/ccs/rev np:i:6 rq:f:0.993394
   AGCAGTGGTATCAACGCAGAGTACGGGGTGTATTTATCCGCTACGTGGTGGATGAACATGGATGCGAACGACATTTCGAAATATACGCAATGATATCCAACCCTACCGAAACAGCAATAATTGTAGAAGGTAGCATATCATGCCGAGAGTTTACTACGTTGTAGCGAGTTTAGTTGAAATAGTTTGTGATGTGTAAACTAAAACATACCAAATGGTAAAACTTGTCACCCCATTTACATTGCGACAGGACACAGTTATGGAGTGGGATGGAAGTGTGTTCGACTGTCAAGACCCTTCTATAATAGTCGAACCAGTACGGTAAGTGGGCAACATGCCCATATAAGTCGAAGCATTTCAAATGGTTCATCCAGTAGACGACGATGTCCTAGACAGTCATGTCTCTTCCCCCATTTGAAGTCATGTAGTGGTTGTCTACTTTTTCATTGAAGACGTCCACCTCAACGCTATGAACGTTAGTTGAGACAATGTT [...]
   +
-  'LAdS:7iJ_eS@`MFMDDNCSQD9nyxeR]c.p[^N:fTVHKUR^GlP>Y^c<DtSYeH{feSU?SrCTcWd,iV at 90rtcbM8+QUSZbUfef^6_S[1xqWd9wSHwrUMSW?sdAWLvUeeTIr at med?=`A\PWfdA.[UfUfT4\\dU7bVABaS_XUR;dT<kYdUNvT at Yi\MT3ttUUTaXUdTOIxvWd1vvpUMcc-KAunJ2=6)Y_[VFiA`Cb%uvaG<oucUYBWSU at cUM-jeUMUeS$pbbHzfO;,plfeHzTtLDJGGBZRQIVbTN at RuVc?|^@pWbfeTXefTOVS/sDXeU_AAEvSHoSd/XlVGuS_dUBz{`dacAv at bWUUwTAc?ZoVNvvQGnEsVdM.H`TOc at dWT`RUdO at cHzefUcAdKeVaXS7?KUDj&rvuMK-VSJDIOeWdH%6]TN4q59=_VHGR1uwwcULEuTQvVcWUaFtYHy_<FtUU<C7VTSpU at TuMSWwU`@cWTweT3r [...]
+  'LAdS:7iJ_eS@`MFMDDNCSQD9nyxeR]c.p[^N:fTVHKUR^GlP>Y^c<DtSYeH{feSU?SrCTcWd,iV at 90rtcbM8+QUSZbUfef^6_S[1xqWd9wSHwrUMSW?sdAWLvUdeTIr at med?=`A\PWfdA.[UfUfT4\\dU7bVABaS_XUR;dT<kYcUNvT at Yi\LT3ttUUTaXUdTOIxvWd1vvpUMcc-KAunJ2=6)Y_[VFiA`Cb%uvaG<oucUYBWSU at cUM-jeUMUeS$pbbHzfO;,plfeHzTtLDJGGBZRQIVbTN at RuVc?|^@pWbfeTXefTOVS/sDXeU_AAEvSHoSd/XlVGuS_dUBz{`dacAv at bWUUwTAc?ZoVNvvQGnEsVdM.H`TOc at dWT`RUdO at cHzefUcAdKeVaXS7?KUDj&rvuMK-VSJDINeWdG%6]TN4q59=_VHGR1uwwcULEuTQvVcWUaFtYHy_<FtUU<C6VTSpU at TuMSWwU`@cWTweT3r [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/ccs/fwd np:i:11 rq:f:0.996917
   AAGCAGTGGTAATCAACGCAGAGTACGGGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATACGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATGCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACTAGTCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCCTACCGTAGAGGGGGGACGGTAGTCTGTGGGAAATCTACCCTAGTGAAGAAAGGTAAG [...]
   +
-  ~~[i{edU{[&Sj_Mf5WMlYxYbf\C~~~nOJ<EHeV1p6`4Ji[lQnEVQB0{~~_~:sYPmXgfp{j~arF{EOrLYWmn)VuM=wMgN]KxBX{]~=TEd8~cPSvh~FCgef^`/^X<M6}~T~`dsdoe<~~7~t+uR?hhO~W~dcD~~gN~m?~B~~ecwlfh~E~FPzxXfs~gqhpHu^TO_1~~@akJ~{n?}nQk`Rfg>}PwfOp8d~gFys=QZ~zRmvUk7bWd~W;`KdMhA^mqt?l?p^~P5gtwmpe_~ad{`MPgQW~~Z/~ps~t-;~{;_eGD|~s8keY_a\XJxS~~~~R~c_9H7ETLb8~^GYsP^JS~pd[dx_N~bSm>r~hr~dn`BlPs_gd~R~F~P~LRK\S~tR~~pzTa0y}~~~@~pg~Une~`oTc~?~|mZfNW~dN~~kem5~qT`gxi\_]TS~s~M}SX]g~5~~~~~eeS~ljeo>\OrFv^7uViUm~7~bquSZ0`ziS~sQ~s<~c [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/ccs/rev np:i:11 rq:f:0.995009
+  ~~[i{edU{[&Sj_Mf5WMlYxYbf\C~~~nOJ<EHeV1p6`4Ji[lQnEVQB0{~~_~:sYPmXgfp{j~arF{EOrLYWmn)VuM=wMgN]KxBX{]~=TEd8~cPSvh~FCgef^`/^X<M6}~T~`dsdoe<~~7~t+uR?hhO~W~dcD~~gN~m?~B~~ecwlfh~E~FPzxXfs~gqhpHu^TO_1~~@akJ~{n?}nQk`Rfg>}PwfOp8d~gFys=QZ~zRmvUk7bWd~W;`KdMhA^mqt?l?p^~P5gtwmpe_~ad{`MPgQW~~Z/~ps~t-;~{;_eGD|~s8keY_a\XJxS~~~~R~c_9H7ETLb8~^GYsP^JS~pd[dx_N~bSm>r~hr~dn`BlPs_gd~R~F~P~LRK\S~tR~~pzTa0y}~~~@~pg~Une~`oTc~?~|mZfNW~dN~~kem5~qT`gxi\_]TS~s~M}SX]g~5~~~~~eeS~ljeo>\OrFv^7uViUm~7~bquSZ0`ziS~sQ~s<~c [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3046/ccs/rev np:i:11 rq:f:0.994978
   AAGCAGTGGTATCAACGCAGAGTACGGGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAAGGTCACATGGAGTAGGTGTTTAGGTGTGTCGAGAGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCTACTAGTCTTCTCTGAGGAACCATGAGATGGATAGTGGGGGACCTGAGTCATACTAGGGTAACTTCTTATATGGTGACATCACTCCTACCGTAGAGGGGGGACGTAGTCTGTGGGAAAATCTACCCTAGTGAAGAAAGGTAAGAGA [...]
   +
-  >~Phnbi0}wY_bQ~JfWm_MM~hV,igv~p8Z~fvcf~U~j~jNyP}b?<M;~oYg}J~sJ~]]YTse`V~fmTCP`Jb`O\[MGlp;DmT~{S<%QH2/U;0GHG'E^b$LF5gSAgy_K~o9LoTNnViZ)9WK$tcga>~hH~\vRAItw]<~\Dv8z}bc__BH~dfGPKdldojK?;cNtUd|fChS*iqNz~~C~yA~\X]lD~jY`J~`ce`K~dLe^RKLkafeJ~~hMRDiS\IkO/\`_D~b~[[M)nj``oGWyYZ_zf~d~/uwoLe\>~xE~~bUXy@~~fElNO^ve|Vw8~~glbhavnio[eb_BufYbVbhVcmgOOG^pQ~ZMc`f\ZrG?Eb^oZXReQUHy^sR}nQFbLVnPrSeDWo60U~~jK~gLLMY`CpebhaE~~vY~bp{^izTw5P+{`P4g^ucT^jE~ph?R<e`Gp(uwx~gbR9Mabc_l\@6Zq'x|LGVjd;~~lpUhW?vUBNWQxq at n[`Y@ [...]
+  =~Ogmah/|vY^aP~IeVm^ML~gU+hgu}o7Y~euce~T~i~jMxP|b?;M:~nXg}I~sI~\\XSre_U~flTBO_Ia_N[ZLFko:DlS~{R<%QH2/U;0GHG'E^b$LF5gSAgy_K~o9LoTNnViZ)9WK$tcga>~hH~\vRAItw]<~\Dv8z}bc__BH~dfGPKdldojK?;cNtUd|fChS*iqNz~~C~yA~\X]lD~jY`J~`ce`K~dLe^RKLkafeJ~~hMRDiS\IkO/\`_D~b~[[M)nj``oGWyYZ_zf~d~.uwoLe\>~xE~~bUXy@~~fElNO^ve|Vw8~~glbhavnio[eb_BufYbVbhVcmgOOG^pQ~ZMc`f\ZrG?Eb^oZXReQUHy^sR}nQFbLVnPrSeDWo60U~~jK~gLLMY`CpebhaE~~vY~bp{^izTw5P+{`P4g^ucT^iE~ph?R<e`Gp(uwx~gbR9Mabc_l\@6Zq'x|LGVjd;~~lpUhW?vUBNWQxq at n[`Y@ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3116/ccs/fwd np:i:7 rq:f:0.995734
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAAGCACTAACGTGGTCATCAGACTGGTCTGCGCTATAATCTACGCAATAGAGGCACCAGCGGTCGTTGAAAGCC [...]
   +
@@ -789,27 +782,27 @@ Test ccs on 100 zmws from the lexogen-SIRV dataset, using --byStrand
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3116/ccs/rev np:i:7 rq:f:0.993861
   AAGCAGTGGTATCAACGCAGAGTACGGGGGGCGACAATTGTGGACCGTATGGACTCCATTATGCTGGACTCCTCGGGTCAACCGCTCTAAAGCGAAGTTGTTGGACAAACAGTTATGCGTAACTGTAAAGCAAGGTGCCCAAAGTAGACTGAGCGACAGTCGAAACCAGCCCCAATGAACAAGACGCCATTGCAAAACGTCTATACGCTACGGTCAAAGACGCTTCCACACCACATGCTCTCATGTAGCCTACCTTACGAAGAAATCGCACAAGTCGGTCGCCCAGCGGTGGCATATGTCTTGCCTAACGTTTCTAGACCGATCAGCCTCACGAGTAGCCTGCTTGTGGTGTTTATAGTTTACGCTAGTCCAATCTGTATCGTGCCGCTTGGTATGGCTATTGTCGGCCTGGATGCAAGCACTAACGTGGTCATCAGACTGGTCTGCGCTATAATCTACGCAATAGAGGCACCAGCGGTCGTTTGAAGCC [...]
   +
-  C~]h]`0 at wkVZdS~e_Wuduer]i4~wowp`_\gGy:~S\GytX~foqGDw\eqG~l1{OEVip3~rho6~rfE^I\hR~Y~dRYRY?~|ehP`~_Vxe_~Pxoh7~~_ccO~q.Zgb\d~hW2kJ~~Lge~Q~VKN~~@~hNF^boeoHV\<Isiteaed=~vU~[b6~~`UWS]Q~gBr_UN`CvbJ~Jd9~~|hN^c at R=dhdhsuhQupQK~~dte_i^~Vztg\Y~uit\baAfrivpOmULW~]sV~LwnRcJnNI~~rieeXba~bZSDgXbdGyb\WcDnaG~aflnYcnRV~PM|[S~ie>~{gEn9lU~fVriueW~\gefeucFpM6j\ch:eJC&=ANKpvSVk^F~~\eMbfl`WY~c~qjoOn\ph_SfY~eiV~PsGq`3yNmVO~drh?mF~[U~rGbhQ~eh\dkP~hcF?~TcmriZJjaDQ~qhZSSTiilZNnUcoWfdRP~VretD~dmM~sLdQqrgK,~kdb~KMn [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3119/ccs/fwd np:i:6 rq:f:0.995712
-  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCATTCGGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
+  C~]h]`0 at wkVZdR~e_Wuduer]i4~wowp`_\gGy:~S\FytX~foqGDw\eqG~l1{OEVip3~rho6~rfE^I\hR~Y~dRYRY?~|ehP`~_Vxe_~Pxoh7~~_ccO~q.Zgb\d~hW2kJ~~Lge~Q~VKN~~@~hNF^boeoHV\<Isiteaed=~vU~[b6~~`UWS]Q~gBr_UN`CvbJ~Jd9~~|hN^c at R=dhdhsuhQupQK~~dte_i^~Vztg\Y~uit\baAfrivpOmULW~]sV~LvnRcJnNI~~rieeXba~bZSDgXbdGyb\WcDnaG~aflnYcnRV~PM|[S~ie>~{gEn9lU~fVriueW~\gefeucFpM6j\ch:eJC&=ANKpvSVk^F~~\eMbfl`WY~c~qjoOn[ph_SfY~eiV~PsGq`3yNmVO~drh?mF~[U~rGbhQ~eh\dkP~hcF?~TcmriZJjaDQ~qhZSSTiilZNnUcoWfdRP~VretD~dmM~sLdQqrgK,~kdb~KMn [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3119/ccs/fwd np:i:6 rq:f:0.994411
+  AAGCAGTGGTATCAACGCAGAGTACGGGGCATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCATTCGGGGACGGACACGCGAGAGCGTTAGTCGGCGCGTGCGCGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAACTAACTGGCAAAAGCCTAAGTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTATGACAC [...]
   +
-  [~FD^E_ at zfMOX4yE[F_YP]d6VA~~~ZNMd\d. at 5k]ODE}]he7w2nx]h]F~V~dD~{Z\Z~gO~\X~f6~y\L^bK|>x`Mx*JN/XW\]c8'>NZ3p_Ls^KS7e[%X`Y=y~~f\]>~~f\Q~h]O~\]I(]El,\d/cZP]\\F[MKgAr;=icP3kCMrNCbcNq.[`SVFMh'F;bafEfOWMFLLQPXNA at 3o\RY~A~edFW~^hX0yOOyPEGB`b%=RMIp[$p[Y]FEB%ETK]YGd]NF[\A~P]h[BfIOI>c5W4B)]LZcN8SScEK<EbOuOZ[*eGeh\]9[eC7at^g<~~fEeFfDfCaEAr~{^JfeCdUE\ULEGz|[6~a3D[X~hO~U>UHeZFj6eVJW^Fyzg];|[/_Ld[X]=tGuZJX\^X~:Go:JmaP~NlKw4_HWOYc7}}VZbZc`R;dVgF`E}_~N~WMJ{b/~bBajT~neQ^qO%~~~PjKOB~~Y:Lql`nU~fpYN~eoDndm`[] [...]
+  [~FD^E_ at zfMOX4yE[F_YP]d6VA~~~ZNMd\d. at 5k]ODE}]he7w2nx]h]F~V~dD~{Z\Z~gO~\X~f6~y\L^bK|>x`Mx*JN/XW\]c8'>NZ3p_Ls^KS7e[%X`Y=y~~f\]>~~f\Q~h]O~\]I(]El,\d/cZP]\\F[MKgAr;=icP3kCMrNCbcNq.[`SVFMh'F;bafEfOWMFLLQPXNA at 3o\RY~A~edFW~^hX0yOOyPEGB`b%=RMIp[$p[Y]FEB%ETK]YGd]NF[\A~P]h[BfIOI>c5W4B)]LZcN8SScEK<EbOuOZ[*eGeh\]9[eC7at^g<~~fEeFfDfCaEAr~{^JfeCdUE\ULEGz|[6~a3D[X~hO~U>UHeZFj6eVJW^Fyzg];|[/_Ld[X]=tGuZJX\^X~:Go:JmaP~NlKw4_HWOYc7}}VZbZc`R;dVgF`E}_~N~WMJ{b/~bBajT~neQ^qO%~~~PjKOB~~Y:Lql`nU~fpYN~eoCndm`[] [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3119/ccs/rev np:i:6 rq:f:0.992635
   AAGCAGTGGTATCAACGCAGAGTACGGGGCAATACTGCAAGACTTGTAGGCCCATGAATTACCCGCTTAGGCAATGGGTAGACCTTTCCTTGCCGCGTGGAACAAACCGCCATGAGTGTTTTACGTTTACGGTCGGCGACCGGAGTCACAGCGCGACCAACGGGGCCAGGCAAAGGCCCATAGGCTTTTCCATCGGCACGCGACCGATTCCATCAAGTGTTAGGTGCAATCCCCATTCGGGACGGACACGCGAAGAGCGTTAGTCGGCGCGTGCGCGGGACTATTTAGCGAAGGTCGCCGATCGTTTGCCCGTAAAAACTAACTGGCAAAAGCCTAAGTTGCTGTTTCGGGTGCAATGGTATAACTTCCCACATTTAGCCGGAATAGCGCCAACAGCGTTATTATTTGGAACCAAGCAGTGGGCGATGTCAGCGACAATTCCACTTTGGTAGAGGTCGTTCTTTTGTAGAAAACAATCTAACATAACTAT [...]
   +
   %a+DcWa<]=df]I~]XYTENJegP(cy|]&OPJZPYGW~\h_JgHegFr<YcXf\Un>h03v{DX,t[Lz]VadCyeQb-4Nl9v^MdAtUO{[QIQKfZ~\;liDbTN~gPZa<[ZGt~~h^\J~qZBM~g^M~^\b;Q8wIXbYh^hYGX\BeL|?X]<~~~P~eJdZ9Yo:z6~z^ehM~^<zbX=_'JN;Z\hZVTYR8UCcRYKaceGW|[>,>LV=id[\C^b?uatfFh]D~maHMnO\fSVXG9,DQCO[UcgKf]L}]JHDdF\XY5}~g^bd=UV_W^[UyM~gZG=kW5K\F7Vm[>~mVf,]btaZgF|(N7yB,t^pC:gNTvI$SYZg[4}p\,]LMV.Vxb,=2=`RaARzD~hJVA7YZfW:x.ZVf&aC/TI\MiZX[^ZM`=8\T2{H*ySwJv3yVVMOd8~~ZRJCCI/bF[EeIDkMlO}f\;bbJ}Lf\hMe;\[A}U/MAQHMMY3ziZ]Ipf^gX}EegV~]OeJ [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3147/ccs/fwd np:i:7 rq:f:0.99463
-  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCCTAGTCCCGGACTCACCGAACCTACACCGTTCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTGTGGGCTAGGGCACCGCGTTTTGAAGTAATAGATGTAACCTACACCCATAAACTGCTCTAAACAATTTAAGTTCGTCGTCGGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGAGAATTTACGGTGGTAATTTCGCACACTTCGCACGTTTA [...]
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3147/ccs/fwd np:i:7 rq:f:0.992852
+  AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCCTAGTCCCGGACTCACCGAACCTACACCGTTCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCGGTCTACTATCCATCGTTCATGTTCGGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTGTGGGCTAGGGCACCGCGTTTTGAAGTAATAGATGTAACCTACACCCATAAACTGCTCTAAACAATTTAAGTTCGTCGTCGGCCTTCTTTTTATATCACTAACGTGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGAGAATTTACGGTGGTAATTTCGCACACTTCGCACGTTTA [...]
   +
-  Ar:GV<i>pQ]f9Kh7FJZY^]kIG%hllllllllllkfabgllllllllllk60r`Zb[Hm^G\^Kh^MY_L^>rKKjV^M]UJj=y\ZJWRNp[GK%nmn_Wf&^RKhBCXDF;\WPm.^U at 2R6_HNh.yJWF5X`\e]YeHCl]KHe^]j\[PJ0mfVUYK\[jHgT;MO/m7Zc9T\<Z6h?{^lK][PHYSZ]cG*;6IcOSG8OS\9kX1ZZbIB^<PZ>cPe]I5kkYJNmb]E'WU at mmKo]2kkK^<xWKW:oom\LmYg,LIWY\X[kEb>wjD$Y6I_V\4n[Jo\HdFV4V7.CABmlMo]Y`J\lK\lJ&><|_lJ6iln]Jj\VKNLd?kIGi]k_6b][=r^j^J`EJXKlJ0S7dhYeYKWfQP45WTGAe[HMHDkk\j7 at co\Z.aZMmKiB_5Y96>hbLlJkFF95VZWX]FYk7[RFKINPgJ^ZR^MoB2NSEmlZHKml;ukAlHnnG[7[D at 97E8X5H9]Arqb [...]
+  Ar:GV<i>pQ]f9Kh7FJZY^]kIG%hllllllllllkfabgllllllllllk60r`Zb[Hm^G\^Kh^MY_L^>rKKjV^M]UJj=y\ZJWRNp[GK%nmn_Wf&^RKhBCXDF;\WPm.^U at 2R6_HNh.yJWF5X`\e]YeHCl]KHe^]j\[PJ0mfVUYK\[jHgT;MO/m7Zc9T\<Z6h?{^lK][PHYSZ]cG*;6IcOSG8OS\9kX1ZZbIB^<PZ>cPe]I5kkYJNmb]E'WU at mmKo]2kkK^<xWKW:oom\LmYg,LIWY\X[kEb>wjD$Y6I_V\4n[Jo\HdFV4V7.CABmlMo]Y`J\lK\lJ&><|_lJ6iln]Jj\VKNLd?kIGi]k_6b][=r^j^J`EJXKlJ0S7dhYeYKWfQP45WTGAe[HMHDkk\j7 at co\Z.aZMmKiB_5Y96>hbLlJkFF95VZWX]FYk7[RFKINPgJ^ZR^MoB2NSEmlZHKml;ukAlHnnG[7[D at 97E8X5H9[?oo` [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3147/ccs/rev np:i:6 rq:f:0.993731
   AAGCAGTGGTATCAACGCAGAGTACTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCTATACTACGAGGACGTCACCACTGAGGTCTCCGACATGGACACCTAGTCCCGGACTCACCGAACCTACACCGTTCCCTTCAGTGTGTTCTTTCGGAGTAGTGAAAAAACGTTGGTCTTCCCGGTCTACTATCCATCGTTCATGTTCGCTTTTACAAGTTACCTTCAACAATTTTACAAAGCAATGCTTGTGGGCTAGGCACCGCGTTTTGAAGTAAATAGATGTAACCTACCACCCATAAACTGCTCTAACAATTTAAGTTCGTCGTCGCCTTCTTTTTATATCACTAACGATGTACCTACCTTAGAGCGTTACCAAAGTACATATACAGATTTCTCAATGTATTTGACCTGGCTCTCTGCAATCTCTCTCAAGATGCGTAAGCACTTTCAGTAGGACGAATTTACGGTGGTAATTTCGCACACTTCGCACGT [...]
   +
   EjH[>GM/a\Y_\`o[K[hFHGMi\$ha]SUX`hiaYTU[cdeikibZTQQ[WQTJX/9NZ\Kj[F`8gm]>T>LIn\V]Jo>tK[^HeKo\l^/qj\T9jFL9_,eD<{l\`\lKlJLmLm[k\lNnL at f+kF?k[iEMI48AUV7Pl\>jbHIMKLJ:lmnnm\L?k-^XX?Z7iZ.c[\Kj]^l`Npl^YDOm\jKGAlZ5R2dfkh]^k;E\lKmMmYLd[[k-ZjdP\QnmK\_oI6[0F<]8jl]^k+tK\CcIGH2]:IH_mKZA^m^jIW\J^:lJm^lMoXDpo\;Qjm\^J\[S[Ll[9?+jbPcI>kXF\[;_VL4\'b?,_ccb_VKVPFLMS`UD'ECB_HcSFFN6\]1I2?EId`>P6aJ9EJQZ2O2J>K?5(IIRUSVbS?R^:dYDdAeN*kSUSQ>F at TRPRPPP@K=>UbDdUDADTUa2R`S>C6>Z/NX9odTC3a2_DU at 5N@5]R at a-_]SCRN>\QIcP?@[SD4 [...]
-  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3151/ccs/fwd np:i:10 rq:f:0.998931
+  @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3151/ccs/fwd np:i:10 rq:f:0.999126
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCT [...]
   +
-  ~~n~~~~x~~~~vO~~cvr~~v~u~_~~~~z~y~vf~~~x~~~w~{~~~~q~q~k~~X~~~rv@~~x~~~r~~~~u~c~vX~~\~~~~~~j~~r~~w~~~<~~~~A~~~~x~y~x~y~~~~zb~~f~~~~v~~~x~x~:~~k~~~v~G~~t~2~~~~~^~{z~~a~~~~s~y~~~{q~~~~~~r~z~w~~~~~~~~U~~~x~f~~c~~`w~~v\~~~~~a~~~~~~~~~v~~u~~x~~`~~~~~a~v~~~f~}t~R~~~~Jp~A~+~~~w~~~~~~yz~~h~~f~~L~~N~C~~~G~~~c~~c~f~~~~u~~@~i~~~~~~q~~~~~~_~~~~|a~~d~~D~~~g~~'~~~~~~x~b~`v~U~~~x~~w]w~s~~~|~O~~~~~y~~~x~~~~~~e~~~~~~G~~~~~tx~~~~~~~c~W~~~S~~f~~I~~~~{~X~~~d~~~u~~~f~-~~~~e{~~1~~~~z~p~~nz~|~~~~~~~~u~q~~~~t~ [...]
+  ~~n~~~~x~~~~vO~~cvr~~v~u~_~~~~z~y~vf~~~x~~~w~{~~~~q~q~k~~X~~~rv@~~x~~~r~~~~u~c~vX~~\~~~~~~j~~r~~w~~~<~~~~A~~~~x~y~x~y~~~~zb~~f~~~~v~~~x~x~:~~k~~~v~G~~t~2~~~~~^~{z~~a~~~~s~y~~~{q~~~~~~r~z~w~~~~~~~~U~~~x~f~~c~~`w~~v\~~~~~a~~~~~~~~~v~~u~~x~~`~~~~~a~v~~~f~}t~R~~~~Jp~A~+~~~w~~~~~~yz~~h~~f~~L~~N~C~~~G~~~c~~c~f~~~~u~~@~i~~~~~~q~~~~~~_~~~~|a~~d~~D~~~g~~'~~~~~~x~b~`v~U~~~x~~w]w~s~~~|~O~~~~~y~~~x~~~~~~e~~~~~~G~~~~~tx~~~~~~~c~W~~~S~~f~~I~~~~{~X~~~d~~~u~~~f~-~~~~e{~~1~~~~z~p~~nz~|~~~~~~~~u~q~~~~t~ [...]
   @m150825_055401_42161_c100844482550000001823159012311525_s1_p0/3151/ccs/rev np:i:11 rq:f:0.999437
   AAGCAGTGGTATCAACGCAGAGTACGGGGTGAGGCTTGTCCGCGAGTGTCAACCGGGTTTTACAAAGGAGAACTTCCAACATCAGTGTATGGGATGTTTCAAACACCCCCAGAGACGGAGACAATAGTGTGGTCACGTACATTTAGGAAGATAAAAATAACAACAACAGAAGGTACAAGAGTTGGTTACTCTCAGTCCCATTCCCAACACATCACTGAGAAGTATAGAGCCTAGTGGTCATTAGAAGGTCAACATGGAGTAGGTGTTTAGGTGTGTCGGAGGGCAGAAACCAACGAAAGAAAGGAAACGATCAACACTTATATAGTGTCCTGTCGGGCCCAAATCCTAAGAGACCTTAGGTTTACCACATTAGTACTAAACAGCCTGTTGTATACCGTGAGCCCCCACTTCGATCTGTAAATTGGTAATCCCTTGTAAAACCTCATCTCCAAAAACAGTATACGCAGGTACAGCTGATGTGATCCTCTCT [...]
   +
diff --git a/tests/cram/fuse.t b/tests/cram/fuse.t
new file mode 100644
index 0000000..3780b8e
--- /dev/null
+++ b/tests/cram/fuse.t
@@ -0,0 +1,23 @@
+Make sure that consensus of aligned reads to identical reference stay identical
+  $ $__PBTEST_FUSE_EXE $TESTDIR/../data/fuse/identical.bam -o $CRAMTMP/
+  $ tail -n 1 $CRAMTMP/identical.cons | tr -d '\n' > $CRAMTMP/identical.seq
+  $ tail -n 1 $TESTDIR/../data/fuse/identicalref.fasta> $CRAMTMP/identical.ref
+  $ diff $CRAMTMP/identical.seq $CRAMTMP/identical.ref
+
+Reference is missing one codon, restore it
+  $ $__PBTEST_FUSE_EXE $TESTDIR/../data/fuse/singleCodonMissing.bam -o $CRAMTMP/
+  $ tail -n 1 $CRAMTMP/singleCodonMissing.cons | tr -d '\n' > $CRAMTMP/singleCodonMissing.seq
+  $ tail -n 1 $TESTDIR/../data/fuse/identicalref.fasta> $CRAMTMP/identical.ref
+  $ diff $CRAMTMP/singleCodonMissing.seq $CRAMTMP/identical.ref
+
+Reference is missing two codons too close together. Only restore the first
+  $ $__PBTEST_FUSE_EXE $TESTDIR/../data/fuse/doubleCodonMissing.bam -o $CRAMTMP/
+  $ tail -n 1 $CRAMTMP/doubleCodonMissing.cons | tr -d '\n' > $CRAMTMP/doubleCodonMissing.seq
+  $ tail -n 1 $TESTDIR/../data/fuse/doubleCodonMissingTruth.fasta> $CRAMTMP/doubleCodonMissingTruth.ref
+  $ diff $CRAMTMP/doubleCodonMissing.seq $CRAMTMP/doubleCodonMissingTruth.ref
+
+Alignment has multiple gaps, remove them
+  $ $__PBTEST_FUSE_EXE $TESTDIR/../data/fuse/gaps.bam -o $CRAMTMP/
+  $ tail -n 1 $CRAMTMP/gaps.cons | tr -d '\n' > $CRAMTMP/gaps.seq
+  $ tail -n 1 $TESTDIR/../data/fuse/identicalref.fasta> $CRAMTMP/identical.ref
+  $ diff $CRAMTMP/gaps.seq $CRAMTMP/identical.ref
\ No newline at end of file
diff --git a/tests/cram/internal/big.t b/tests/cram/internal/big.t
index 400e7da..30ecd03 100644
--- a/tests/cram/internal/big.t
+++ b/tests/cram/internal/big.t
@@ -15,6 +15,6 @@ Run ccscheck, check output:
 
   $ /pbi/dept/consensus/ccscheck/bin/ccscheck out.bam stats /pbi/dept/consensus/references/lambdaNEB.fasta
   $ sort -t, -n -k1,1 -k2,2 stats/zmws.csv > zmws.sorted.csv
-  $ diff -NrU1 zmws.sorted.csv /pbi/dept/consensus/testdata/unanimity-nightly/zmws.sorted.to187412.csv
+  $ zdiff -NrU1 zmws.sorted.csv /pbi/dept/consensus/testdata/unanimity-nightly/big.sorted.to187412.csv.gz
 
 TODO: copy back to the "lastrun" dir
diff --git a/tests/cram/juliet.t b/tests/cram/juliet.t
new file mode 100644
index 0000000..6bba11c
--- /dev/null
+++ b/tests/cram/juliet.t
@@ -0,0 +1,11 @@
+Make sure that the json output stays until we make adjustments to the algo or workflow
+  $ $__PBTEST_JULIET_EXE $TESTDIR/../data/juliet_hiv_3000_96-1-1-1-1.align.bam -c "<HIV>" 2> $CRAMTMP/julietPerformance
+
+Keep true positive rate of 1
+  $ cut -f 1 -d' ' $CRAMTMP/julietPerformance
+  1
+
+Do not increase FP rate
+  $ FP=$(cut -f 5 -d' ' $CRAMTMP/julietPerformance)
+  $ echo $FP'<=1' | bc -l
+  1
\ No newline at end of file
diff --git a/tests/cram/nozfilter.t b/tests/cram/nozfilter.t
index a85fa88..e4055f4 100644
--- a/tests/cram/nozfilter.t
+++ b/tests/cram/nozfilter.t
@@ -2,7 +2,7 @@ Test to ensure the Z filtering can be disabled, the NaN parsing appears a bit fi
 
   $ $__PBTEST_CCS_EXE --zmws=111715 --minZScore=NaN $TESTDIR/../data/tiny.bam nofilter.fq
   $ cat nofilter.fq
-  @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/111715/ccs np:i:24 rq:f:0.99999
+  @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/111715/ccs np:i:24 rq:f:0.999988
   GCGTCGGATCGCCAACAACATGCCGGAACAGTACGACGAAAAGCCGCAGGTACAGCAGGTAGCGCAGATCATCAACGGTGTGTTCAGCCAGTTACTGGCAACTTTCCCGGCGAGCCTGGCTAACCGTGACCAGAACGAAGTGAACGAAATCCGTCGCCAGTGGGTTCTGGCTTTTCGGGAAAACGGGATCACCACGATGGAACAGGTTAACGCAGGAATGCGCGTAGCCCGTCGGCAGAATCGACCATTTCTGCCATCACCCGGGCAGTTTGTTGCATGGTGCCGGGAAGAAGCATCCGTTACCGCCGGACTGCCAAACGTCAGCGAGCTGGTTGATATGGTTTACGAGTATTGCCGGAAGCGAGGCCTGTATCCGGATGCGGAGTCTTATCCGTGGAAATCAAACGCGCACTACTGGCTGGTTACCAACCTGTATCAGAACATGCGGGCCAATGCGCTTACTGATGCGGAATTACGCCGTAAGGCCGCA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~}~~~~6~~g~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~z~~~~~u~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~m~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~i~~~~~~~~~}~~~~5~~g~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~z~~~~~u~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~m~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~ [...]
diff --git a/tests/cram/siv/julietflow.t b/tests/cram/siv/julietflow.t
new file mode 100644
index 0000000..483585d
--- /dev/null
+++ b/tests/cram/siv/julietflow.t
@@ -0,0 +1,13 @@
+Test mimosa 97-1-1-1 mix
+  $ $TESTDIR/../../../scripts/minorvariant/julietflow $TESTDIR/../../data/julietflow/flea99_97_1.bam $TESTDIR/../../data/julietflow/hxb2.fasta 2> $CRAMTMP/julietPerformanceMimosa
+
+Keep true positive rate of 1
+  $ cut -f 1 -d' ' $CRAMTMP/julietPerformanceMimosa
+  0.6
+
+Test seabiscuit 96-1-1-1-1 mix
+  $ $TESTDIR/../../../scripts/minorvariant/julietflow $TESTDIR/../../data/julietflow/sb99_96_1.bam $TESTDIR/../../data/julietflow/hxb2.fasta 2> $CRAMTMP/julietPerformanceSeabiscuit
+
+Keep true positive rate of 1
+  $ cut -f 1 -d' ' $CRAMTMP/julietPerformanceSeabiscuit
+  1
diff --git a/tests/cram/tiny.t b/tests/cram/tiny.t
index 2b683e7..752f82f 100644
--- a/tests/cram/tiny.t
+++ b/tests/cram/tiny.t
@@ -10,10 +10,10 @@ Test a tiny collection of a few ZMWs, write to FASTQ for inspection
   GCGTGCTTGTGGTGGGTAACCGTCGTATTCCCGGCGCGTTTATTCAGCAACTGAAAAATGGCCGGTGGCATGTCATGCAGCGTGTGGCTGGGAAAAACCGTTACCCCATTGATGTGGTGAAAATCCCGATGGCGGTGCCGCTGACCACGGCGTTTAAACAAAATATTGAGCGGATACGGCGTGAACGTCTTCCGAAAGAGCTGGGCTATGCGCTGCAGCATCAACTGAGGATGGTAATAAAGCGATGAAACATACTGAACTCCGTGCAGCCGTACTGGATGCACTGGAGAAGCATGACACCGGGGCGACGTTTTTTGATGGTCGCCCCGCTGTTTTTGATGAGGCGGATTTTCCGGCAGTTGCCGTTTATCTCACCGGCGCTGAATACACGGGCGAAGAGCTGGACAGCGATACCTGGCAGGCGGAGCTGCATATCGAAGTTTTCCTGCCTGCTCAGGTGCCGGATTCAGAGCTGGATGCGTGGATGGAG [...]
   +
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~{~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~m~~~~~~~~~~~~~~~d~~~~l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~%~~~~~~~~~~~~~a~~~~~~~3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
-  @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/110513/ccs np:i:25 rq:f:0.999989
+  @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/110513/ccs np:i:25 rq:f:0.999986
   AAAACTGTACGATAAACGGTACGCTGAGGGCGGAAAAAATCGTCGGGGACATTGTAAAGGCGGCGAGCGCGGCTTTTCCGCGCCAGCGTGAAAGCAGTGTGGACTGGCCGTCAGGTACCCGTACTGTCACCGTGACCGATGACCATCCTTTTGATCGCCAGATAGTGGTGCTTCCGCTGACGTTTCGCGGAAGTAAGCGTACTGTCAGCGGCAGGACAACGTATTCGATGTGTTATCTGAAAGTACTGATGAACGGTGCGGTGATTTATGATGGCGCGGCGAACGAGGCGGTACAGGTGTTCTCCCGTATTGTTGACATGCCAGCGGGTCGGGGAAACGTGATCCTGACGTTCACGCTTACGTCCACACGGCATTCGGCAGATATTCCGCCGTATACGTTTGCCAGCGATGTGCAGGTTATGGTGATTAAGAAACAGGCGCTGGGCATCAGCGTGGTCTGAGTGTGTTACAGAGGTTCGTCCGGGAACGG [...]
   +
-  J~~~~~~~~~~~~P~~~~~~~~~~~~~~~~~~~R~~~~~~~~~~P~~~~~~~~~~s~~~~~~~~~~~~~~~~~6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~D~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
+  I~~~~~~~~~~~~N~~~~~~~~~~~~~~~~~~~Q~~~~~~~~~~N~~~~~~~~~~r~~~~~~~~~~~~~~~~~5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]
   @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/111500/ccs np:i:25 rq:f:0.999051
   TATCCAGACTAAATTCACTATCGCCACTTTTATTGGCGATGAAAAGATGTTTCGTGAAGCCGTCGACGCTTATAAAAAATGGATATTAATACTGAAACTGAGATCAAGCAAAAGCATTCACTAACCCCCTTTCCTGTTTTCCTAATCAGCCCGGCATTTCGCGGGCGATATTTTCACAGCTATTTCAGGAGTTCAGCCATGAACGCTTATTACATTCAGGATCGTCTTGAGGCTCAGAGCTGGGCGCGTCACTACCAGCAGCTCGCCCGTGAAGAGAAAGAGGCAGAACTGGCAGACGACATGGAAAAAGGCCTGCCCAGCACCTGTTTGAATCGCTATGCATCGATCATTTGCAACGCCACGGGGCCAGCAAAAAATCCATTACCCGTGCGTTTGATGACGATGTTGAGTTTCAGGAGCGCATGGCAGAACACATCCGGTACATGGTTGAAACCATTGCTCACCACCAGGTTGATATTGATTCAGAGGT [...]
   +
@@ -21,7 +21,7 @@ Test a tiny collection of a few ZMWs, write to FASTQ for inspection
   @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/111715/ccs np:i:24 rq:f:0.999951
   GCGTCGGATCGCCAACAACATGCCGGAACAGTACGACGAAAAGCCGCAGGTACAGCAGGTAGCGCAGATCATCAACGGTGTGTTCAGCCAGTTACTGGCAACTTTCCCGGCGAGCCTGGCTAACCGTGACCAGAACGAAGTGAACGAAATCCGTCGCCAGTGGGTTCTGGCTTTTCGGGAAAACGGGATCACCACGATGGAACAGGTTAACGCAGGAATGCGCGTAGCCCGTCGGCAGAATCGACCATTTCTGCCATCACCCGGGCAGTTTGTTGCATGGTGCCGGGAAGAAGCATCCGTTACCGCCGGACTGCCAAACGTCAGCGAGCTGGTTGATATGGTTTACGAGTATTGCCGGAAGCGAGGCCTGTATCCGGATGCGGAGTCTTATCCGTGGAAATCAAACGCGCACTACTGGCTGGTTACCAACCTGTATCAGAACATGCGGGCCAATGCGCTTACTGATGCGGAATTACGCCGTAAGGCCGCA [...]
   +
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~u~~~~/~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~z~~~~~u~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~m~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~ [...]
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~~~~~~~~~i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e~~~~~~~~~u~~~~/~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~z~~~~~u~~~~~~~~~~~~~~~u~~~~~~~~~~~~~~~~~~~~m~s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~ [...]
   @m150404_101626_42267_c100807920800000001823174110291514_s1_p0/112044/ccs np:i:30 rq:f:0.999999
   ATATCATTTTACGTTTCTCGTTCAGCTTTTTTATACTAAGTTGGCATTATAAAAAAGCATTGCTTATCAATTTGTTGCAACGAACAGGTCACTATCAGTCAAAATAAAATCATTATTTGATTTCAATTTTGTCCCACTCCCTGCCTCTGTCATCACGATACTGTGATGCCATGGTGTCCGACTTATGCCCGAGAAGATGTTGAGCAAACTTATCGCTTATCTGCTTCTCATAGAGTCTTGCAGACAAACTGCGCAACTCGTGAAAGGTAGGCGGATCCCCTTCGAAGGAAAGACCTGATGCTTTTCGTGCGCGCATAAAATACCTTGATACTGTGCCGGATGAAAGCGGTTCGCGACGAGTAGATGCAATTATGGTTTCTCCGCCAAGAATCTCTTTGCATTTATCAAGTGTTTCCTTCATTGATATTCCGAGAGCATCAATATGCAATGCTGTTGGGATGGCAATTTTTACGCCTGTTTTGCTTTGCTC [...]
   +
diff --git a/tests/data/fuse/doubleCodonMissing.bam b/tests/data/fuse/doubleCodonMissing.bam
new file mode 100644
index 0000000..877ee99
Binary files /dev/null and b/tests/data/fuse/doubleCodonMissing.bam differ
diff --git a/tests/data/fuse/doubleCodonMissing.fasta b/tests/data/fuse/doubleCodonMissing.fasta
new file mode 100644
index 0000000..21dab52
--- /dev/null
+++ b/tests/data/fuse/doubleCodonMissing.fasta
@@ -0,0 +1,2 @@
+>ref
+CAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGGCCACCTTTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAGAAG [...]
\ No newline at end of file
diff --git a/tests/data/fuse/doubleCodonMissingTruth.fasta b/tests/data/fuse/doubleCodonMissingTruth.fasta
new file mode 100644
index 0000000..6e5b864
--- /dev/null
+++ b/tests/data/fuse/doubleCodonMissingTruth.fasta
@@ -0,0 +1,2 @@
+>TRUTH
+CAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTTTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAG [...]
\ No newline at end of file
diff --git a/tests/data/fuse/gaps.bam b/tests/data/fuse/gaps.bam
new file mode 100644
index 0000000..b1c6dfc
Binary files /dev/null and b/tests/data/fuse/gaps.bam differ
diff --git a/tests/data/fuse/gaps.fasta b/tests/data/fuse/gaps.fasta
new file mode 100644
index 0000000..a0fe45f
--- /dev/null
+++ b/tests/data/fuse/gaps.fasta
@@ -0,0 +1,2 @@
+>ref
+CAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGAGTTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAGAATAACCACAGAAACGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGGATTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAATTAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGA [...]
\ No newline at end of file
diff --git a/tests/data/fuse/identical.bam b/tests/data/fuse/identical.bam
new file mode 100644
index 0000000..0bb42da
Binary files /dev/null and b/tests/data/fuse/identical.bam differ
diff --git a/tests/data/fuse/identicalref.fasta b/tests/data/fuse/identicalref.fasta
new file mode 100644
index 0000000..03f8327
--- /dev/null
+++ b/tests/data/fuse/identicalref.fasta
@@ -0,0 +1,2 @@
+>ref
+CAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGATTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGAT [...]
\ No newline at end of file
diff --git a/tests/data/fuse/singleCodonMissing.bam b/tests/data/fuse/singleCodonMissing.bam
new file mode 100644
index 0000000..b62939f
Binary files /dev/null and b/tests/data/fuse/singleCodonMissing.bam differ
diff --git a/tests/data/fuse/singleCodonMissing.fasta b/tests/data/fuse/singleCodonMissing.fasta
new file mode 100644
index 0000000..1943db0
--- /dev/null
+++ b/tests/data/fuse/singleCodonMissing.fasta
@@ -0,0 +1,2 @@
+>ref
+CAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGGCCACCTGGATTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAG [...]
\ No newline at end of file
diff --git a/tests/data/juliet_hiv_3000_96-1-1-1-1.align.bam b/tests/data/juliet_hiv_3000_96-1-1-1-1.align.bam
new file mode 100644
index 0000000..5c54fe9
Binary files /dev/null and b/tests/data/juliet_hiv_3000_96-1-1-1-1.align.bam differ
diff --git a/tests/data/juliet_hiv_3000_97-1-1-1.align.bam b/tests/data/juliet_hiv_3000_97-1-1-1.align.bam
new file mode 100644
index 0000000..4eec0ba
Binary files /dev/null and b/tests/data/juliet_hiv_3000_97-1-1-1.align.bam differ
diff --git a/tests/data/julietflow/flea99_97_1.bam b/tests/data/julietflow/flea99_97_1.bam
new file mode 100644
index 0000000..72e9e65
--- /dev/null
+++ b/tests/data/julietflow/flea99_97_1.bam
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:db6e186a1e9f4f5d0fc1b82f4fab871650caa443d62c6448304dcc97695e8101
+size 3022308
diff --git a/tests/data/julietflow/hxb2.fasta b/tests/data/julietflow/hxb2.fasta
new file mode 100644
index 0000000..fcfecfb
--- /dev/null
+++ b/tests/data/julietflow/hxb2.fasta
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:38a1f45da10a40309fc99c6d67d4ea02d0021935a2421fac05b3beaba1b838b8
+size 9878
diff --git a/tests/data/julietflow/sb99_96_1.bam b/tests/data/julietflow/sb99_96_1.bam
new file mode 100644
index 0000000..3e6fdc9
--- /dev/null
+++ b/tests/data/julietflow/sb99_96_1.bam
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:317a5fe0dd4349d35a88bf8f17ecdb51600e9346d047a1eeda6f24f56bb9a3f6
+size 8505568
diff --git a/tests/data/params/SP1C1Beta.json b/tests/data/params/SP1C1Beta.json
index 198e278..25a8365 100644
--- a/tests/data/params/SP1C1Beta.json
+++ b/tests/data/params/SP1C1Beta.json
@@ -203,6 +203,5 @@
       0.068161389,
       0.037787765
     ]
-  ],
-  "CounterWeight": 1.0
+  ]
 }
diff --git a/tests/data/params/SP1C1v1.json b/tests/data/params/SP1C1v1.json
index 77779d7..ba59dbf 100644
--- a/tests/data/params/SP1C1v1.json
+++ b/tests/data/params/SP1C1v1.json
@@ -1007,6 +1007,5 @@
         -0.00174698908180932
       ]
     ]
-  ],
-  "CounterWeight": 15.0
+  ]
 }
diff --git a/tests/data/params/SP1C1v2.json b/tests/data/params/SP1C1v2.json
index 09ac375..2d30756 100644
--- a/tests/data/params/SP1C1v2.json
+++ b/tests/data/params/SP1C1v2.json
@@ -1021,6 +1021,5 @@
         -0.00905647598
       ]
     ]
-  ],
-  "CounterWeight": 20.0
+  ]
 }
diff --git a/tests/data/params/SP2C2.json b/tests/data/params/SP2C2.json
deleted file mode 100644
index 70d1d5d..0000000
--- a/tests/data/params/SP2C2.json
+++ /dev/null
@@ -1,1026 +0,0 @@
-{
-  "ConsensusModelVersion": "3.0.0",
-  "ChemistryName": "S/P2-C2",
-  "ModelForm": "PwSnr",
-  "SnrRanges": [
-    [
-      4.06761408,
-      7.87333488
-    ],
-    [
-      7.56100464,
-      14.9044018
-    ],
-    [
-      4.05258036,
-      6.67833996
-    ],
-    [
-      6.47991323,
-      10.7843523
-    ]
-  ],
-  "EmissionParameters": [
-    [
-      [
-        0.00735664387,
-        0.00190428659,
-        0.000128987185,
-        3.19609285e-05,
-        0.0579789127,
-        0.00159365177,
-        0.000377851288,
-        2.64641792e-05,
-        0.925861388,
-        0.0039544046,
-        0.000740333577,
-        4.51157354e-05
-      ],
-      [
-        0.00268702382,
-        0.0103554239,
-        5.5569919e-05,
-        0.00010710572,
-        0.0119429479,
-        0.0349107323,
-        0.000173873688,
-        3.71404194e-05,
-        0.0132184981,
-        0.925935393,
-        0.000163937702,
-        0.000412353133
-      ],
-      [
-        0.000303779953,
-        5.76150405e-05,
-        0.00682147837,
-        0.00396954594,
-        0.000590520182,
-        1.49898804e-05,
-        0.0623840757,
-        0.00479826006,
-        0.000162992201,
-        0.000111189159,
-        0.896219743,
-        0.0245658107
-      ],
-      [
-        0.000142620524,
-        3.85177333e-05,
-        0.00440064256,
-        0.018046601,
-        0.000210517258,
-        2.23325708e-05,
-        0.0272865144,
-        0.0538911959,
-        0.000157354862,
-        0.000143746285,
-        0.0491787167,
-        0.84648124
-      ],
-      [
-        0.00733096773,
-        0.00166007937,
-        0.000121497496,
-        0.000116125734,
-        0.0573233988,
-        0.00126886069,
-        0.00071151983,
-        7.74436926e-05,
-        0.927257837,
-        0.0023603384,
-        0.00153974443,
-        0.000232186399
-      ],
-      [
-        0.00219335118,
-        0.0112686045,
-        4.01328525e-05,
-        5.02885136e-05,
-        0.0117893856,
-        0.0371141169,
-        1.68691479e-05,
-        1.56068136e-05,
-        0.0116461848,
-        0.925851525,
-        1.25205575e-05,
-        1.41414695e-06
-      ],
-      [
-        0.000117348076,
-        1.75083299e-05,
-        0.00297146156,
-        0.0016269759,
-        0.000296647296,
-        4.87166628e-05,
-        0.0284358458,
-        0.002344226,
-        0.000568544223,
-        0.000237602686,
-        0.942157699,
-        0.021177424
-      ],
-      [
-        9.37972006e-05,
-        6.24310526e-05,
-        0.00526664739,
-        0.0207263945,
-        0.00012215642,
-        2.11772913e-05,
-        0.0320582675,
-        0.06180119,
-        0.000243487269,
-        0.000476247908,
-        0.0530240115,
-        0.826104192
-      ],
-      [
-        0.00314264389,
-        0.00082820948,
-        9.08246005e-05,
-        9.38915756e-05,
-        0.028554939,
-        0.000783143672,
-        0.000364350553,
-        2.37054476e-05,
-        0.961214998,
-        0.00421586002,
-        0.000391376658,
-        0.000296057041
-      ],
-      [
-        0.00119090385,
-        0.00593803619,
-        2.03588382e-05,
-        4.41352391e-05,
-        0.00628544188,
-        0.0204138621,
-        0.000138312951,
-        6.76020532e-05,
-        0.00866986949,
-        0.956464996,
-        0.000533431456,
-        0.000233049758
-      ],
-      [
-        6.43734294e-05,
-        1.22650033e-05,
-        0.00210011572,
-        0.00131543919,
-        9.48512735e-05,
-        9.02245873e-06,
-        0.0243938729,
-        0.00215317529,
-        0.00018372826,
-        3.35949921e-05,
-        0.950122398,
-        0.0195171634
-      ],
-      [
-        3.66710321e-05,
-        4.51849068e-05,
-        0.0024483006,
-        0.010397222,
-        8.29270369e-05,
-        1.71244431e-05,
-        0.0166213186,
-        0.0346020058,
-        8.05756611e-05,
-        0.000443816688,
-        0.0317772895,
-        0.903447564
-      ],
-      [
-        0.00584782932,
-        0.00152030367,
-        8.92185665e-05,
-        8.75578495e-05,
-        0.0450024718,
-        0.00128621735,
-        0.000488191126,
-        3.73830825e-05,
-        0.940618603,
-        0.00388969117,
-        0.00110426833,
-        2.82644734e-05
-      ],
-      [
-        0.00124169992,
-        0.00586665604,
-        3.58345575e-05,
-        7.76586763e-05,
-        0.00564348936,
-        0.0178975167,
-        0.000131182094,
-        2.75294579e-05,
-        0.00733345492,
-        0.961559728,
-        0.000111068097,
-        7.41824771e-05
-      ],
-      [
-        5.36955022e-05,
-        3.60866503e-05,
-        0.00270197625,
-        0.00158018444,
-        8.86444887e-05,
-        7.11501847e-06,
-        0.0271717889,
-        0.00206535023,
-        0.000463746178,
-        0.000180875439,
-        0.946297025,
-        0.0193535123
-      ],
-      [
-        4.54423247e-05,
-        1.30264171e-05,
-        0.00201775615,
-        0.00868651464,
-        2.93835524e-05,
-        8.6504974e-06,
-        0.0146074997,
-        0.0295302164,
-        1.74359077e-05,
-        6.74859902e-06,
-        0.0306931623,
-        0.914344164
-      ]
-    ],
-    [
-      [
-        0.13965274,
-        0.000214059166,
-        0.000214059166,
-        0.000214059166,
-        0.258968176,
-        0.000214059166,
-        0.000214059166,
-        0.000214059166,
-        0.599666611,
-        0.000214059166,
-        0.000214059166,
-        0
-      ],
-      [
-        0.000190616771,
-        0.0678223351,
-        0.000190616771,
-        0.000190616771,
-        0.000190616771,
-        0.100087597,
-        0.000190616771,
-        0.000190616771,
-        0.000190616771,
-        0.830565134,
-        0.000190616771,
-        0
-      ],
-      [
-        0.000101396092,
-        0.000101396092,
-        0.0616730324,
-        0.000101396092,
-        0.000101396092,
-        0.000101396092,
-        0.143805821,
-        0.000101396092,
-        0.000101396092,
-        0.000101396092,
-        0.793709977,
-        0
-      ],
-      [
-        0.000303994885,
-        0.000303994885,
-        0.000303994885,
-        0.1284746,
-        0.000303994885,
-        0.000303994885,
-        0.000303994885,
-        0.141454447,
-        0.000303994885,
-        0.000303994885,
-        0.000303994885,
-        0.727334999
-      ],
-      [
-        0.0433312739,
-        3.22994963e-05,
-        3.22994963e-05,
-        3.22994963e-05,
-        0.117471222,
-        3.22994963e-05,
-        3.22994963e-05,
-        3.22994963e-05,
-        0.838939108,
-        3.22994963e-05,
-        3.22994963e-05,
-        0
-      ],
-      [
-        4.12209605e-05,
-        0.0329945236,
-        4.12209605e-05,
-        4.12209605e-05,
-        4.12209605e-05,
-        0.0452292927,
-        4.12209605e-05,
-        4.12209605e-05,
-        4.12209605e-05,
-        0.921446416,
-        4.12209605e-05,
-        0
-      ],
-      [
-        5.6318833e-05,
-        5.6318833e-05,
-        0.0532155899,
-        5.6318833e-05,
-        5.6318833e-05,
-        5.6318833e-05,
-        0.12387295,
-        5.6318833e-05,
-        5.6318833e-05,
-        5.6318833e-05,
-        0.822460909,
-        0
-      ],
-      [
-        0.000171851328,
-        0.000171851328,
-        0.000171851328,
-        0.0769974228,
-        0.000171851328,
-        0.000171851328,
-        0.000171851328,
-        0.115058917,
-        0.000171851328,
-        0.000171851328,
-        0.000171851328,
-        0.806396998
-      ],
-      [
-        0.0289415541,
-        3.57312452e-05,
-        3.57312452e-05,
-        3.57312452e-05,
-        0.0863096576,
-        3.57312452e-05,
-        3.57312452e-05,
-        3.57312452e-05,
-        0.884462938,
-        3.57312452e-05,
-        3.57312452e-05,
-        0
-      ],
-      [
-        7.76665226e-05,
-        0.0487889535,
-        7.76665226e-05,
-        7.76665226e-05,
-        7.76665226e-05,
-        0.0563094047,
-        7.76665226e-05,
-        7.76665226e-05,
-        7.76665226e-05,
-        0.89428031,
-        7.76665226e-05,
-        0
-      ],
-      [
-        0.000224675996,
-        0.000224675996,
-        0.11442169,
-        0.000224675996,
-        0.000224675996,
-        0.000224675996,
-        0.177555734,
-        0.000224675996,
-        0.000224675996,
-        0.000224675996,
-        0.706225168,
-        0
-      ],
-      [
-        0.000147262818,
-        0.000147262818,
-        0.000147262818,
-        0.0548667631,
-        0.000147262818,
-        0.000147262818,
-        0.000147262818,
-        0.0766653324,
-        0.000147262818,
-        0.000147262818,
-        0.000147262818,
-        0.867142539
-      ],
-      [
-        0.0251062443,
-        3.11750569e-05,
-        3.11750569e-05,
-        3.11750569e-05,
-        0.0860636051,
-        3.11750569e-05,
-        3.11750569e-05,
-        3.11750569e-05,
-        0.88858075,
-        3.11750569e-05,
-        3.11750569e-05,
-        0
-      ],
-      [
-        5.64847834e-05,
-        0.0293039817,
-        5.64847834e-05,
-        5.64847834e-05,
-        5.64847834e-05,
-        0.0459491268,
-        5.64847834e-05,
-        5.64847834e-05,
-        5.64847834e-05,
-        0.924295013,
-        5.64847834e-05,
-        0
-      ],
-      [
-        5.20954226e-05,
-        5.20954226e-05,
-        0.0339074593,
-        5.20954226e-05,
-        5.20954226e-05,
-        5.20954226e-05,
-        0.103213362,
-        5.20954226e-05,
-        5.20954226e-05,
-        5.20954226e-05,
-        0.862462415,
-        0
-      ],
-      [
-        2.41719133e-05,
-        2.41719133e-05,
-        2.41719133e-05,
-        0.0373123704,
-        2.41719133e-05,
-        2.41719133e-05,
-        2.41719133e-05,
-        0.0666923249,
-        2.41719133e-05,
-        2.41719133e-05,
-        2.41719133e-05,
-        0.895777757
-      ]
-    ],
-    [
-      [
-        0.000146474028,
-        0.0297946523,
-        0.0803446626,
-        0.0323153575,
-        0.000146474028,
-        0.0181368779,
-        0.159977298,
-        0.0152271765,
-        0.000146474028,
-        0.244223284,
-        0.299539822,
-        0.120001447
-      ],
-      [
-        0.0754353435,
-        0.000106711295,
-        0.108178173,
-        0.05166508,
-        0.0659944961,
-        0.000106711295,
-        0.235061774,
-        0.0369961862,
-        0.0285965147,
-        0.000106711295,
-        0.241613261,
-        0.156139038
-      ],
-      [
-        0.150889801,
-        0.0424857824,
-        0.000318026612,
-        0.147445837,
-        0.0393052032,
-        0.0282810617,
-        0.000318026612,
-        0.0807560198,
-        0.00326633483,
-        0.214809655,
-        0.000318026612,
-        0.291806225
-      ],
-      [
-        0.140090388,
-        0.0466498235,
-        0.0955223418,
-        0.000146946243,
-        0.100971439,
-        0.0170277817,
-        0.173755469,
-        0.000146946243,
-        0.00152457994,
-        0.141450628,
-        0.282713657,
-        0
-      ],
-      [
-        0.000119247588,
-        0.0383163304,
-        0.11255615,
-        0.0436285288,
-        0.000119247588,
-        0.0192856198,
-        0.175758018,
-        0.020358817,
-        0.000119247588,
-        0.197235316,
-        0.288470104,
-        0.104033374
-      ],
-      [
-        0.0468282051,
-        3.20346125e-05,
-        0.0825016476,
-        0.0378754242,
-        0.0868836623,
-        3.20346125e-05,
-        0.146909879,
-        0.0191351973,
-        0.260577625,
-        3.20346125e-05,
-        0.213141376,
-        0.10605088
-      ],
-      [
-        0.146293011,
-        0.0331663512,
-        0.000105430841,
-        0.0501755794,
-        0.207187242,
-        0.0102551561,
-        0.000105430841,
-        0.027888217,
-        0.283407964,
-        0.0599407043,
-        0.000105430841,
-        0.181369481
-      ],
-      [
-        0.125236617,
-        0.0361508505,
-        0.0591068896,
-        0.000121340743,
-        0.165565282,
-        0.00791956686,
-        0.150064084,
-        0.000121340743,
-        0.202982991,
-        0.0283175644,
-        0.224413472,
-        0
-      ],
-      [
-        0.000210016244,
-        0.0414240647,
-        0.101760633,
-        0.0428484744,
-        0.000210016244,
-        0.0179312948,
-        0.161526364,
-        0.0189973372,
-        0.000210016244,
-        0.240930978,
-        0.173671163,
-        0.200279644
-      ],
-      [
-        0.0495830034,
-        4.61487199e-05,
-        0.151014753,
-        0.067951325,
-        0.0907268765,
-        4.61487199e-05,
-        0.315461425,
-        0.0277696796,
-        0.128849485,
-        4.61487199e-05,
-        0.0567220636,
-        0.111782943
-      ],
-      [
-        0.11555575,
-        0.0292950248,
-        0.00014832042,
-        0.0456759293,
-        0.15337244,
-        0.00761339039,
-        0.00014832042,
-        0.0203902102,
-        0.249082062,
-        0.122098355,
-        0.00014832042,
-        0.256471877
-      ],
-      [
-        0.147130835,
-        0.0327619952,
-        0.0756043295,
-        0.000188145734,
-        0.212444944,
-        0.0101329647,
-        0.114642199,
-        0.000188145734,
-        0.294425221,
-        0.107175814,
-        0.00530540568,
-        0
-      ],
-      [
-        8.22405627e-05,
-        0.0221237714,
-        0.037137767,
-        0.0162121049,
-        8.22405627e-05,
-        0.0187609213,
-        0.080696449,
-        0.0269716446,
-        8.22405627e-05,
-        0.248406873,
-        0.205991108,
-        0.343452639
-      ],
-      [
-        0.049159614,
-        5.43832178e-05,
-        0.0514031038,
-        0.0203847824,
-        0.0855463843,
-        5.43832178e-05,
-        0.0980144614,
-        0.0239136025,
-        0.168927456,
-        5.43832178e-05,
-        0.158422773,
-        0.344064673
-      ],
-      [
-        0.137668134,
-        0.0267105699,
-        0.000142351166,
-        0.0441201525,
-        0.19166368,
-        0.0114882132,
-        0.000142351166,
-        0.0202277277,
-        0.273478098,
-        0.129199413,
-        0.000142351166,
-        0.165016958
-      ],
-      [
-        0.0443720703,
-        0.011998886,
-        0.0370775788,
-        3.30887484e-05,
-        0.0768170894,
-        0.00839411198,
-        0.110338914,
-        3.30887484e-05,
-        0.22919549,
-        0.235978299,
-        0.245761384,
-        0
-      ]
-    ]
-  ],
-  "TransitionParameters": [
-    [
-      [
-        -7.36174689,
-        1.61101289,
-        -0.268464948,
-        0.0143320448
-      ],
-      [
-        -3.22220388,
-        0.496986063,
-        -0.181868245,
-        0.0125555841
-      ],
-      [
-        2.63396482,
-        -1.49671632,
-        0.145790372,
-        -0.00463126882
-      ]
-    ],
-    [
-      [
-        -4.29124266,
-        0.474781729,
-        -0.0691005634,
-        0.0024944116
-      ],
-      [
-        -5.8759345,
-        0.769176344,
-        -0.0794793302,
-        0.0026603066
-      ],
-      [
-        -2.52278775,
-        -0.0673361054,
-        -0.00420963573,
-        0.000173101656
-      ]
-    ],
-    [
-      [
-        1.44776405,
-        -1.89806596,
-        0.230489754,
-        -0.00788373432
-      ],
-      [
-        3.62328388,
-        -3.16155741,
-        0.380413687,
-        -0.0139731804
-      ],
-      [
-        -2.4113731,
-        1.5617699,
-        -0.464222808,
-        0.0330184761
-      ]
-    ],
-    [
-      [
-        -1.52188949,
-        -0.619888164,
-        0.0344820232,
-        -0.000466695436
-      ],
-      [
-        7.25871708,
-        -2.89355725,
-        0.226545422,
-        -0.00503769654
-      ],
-      [
-        1.80689962,
-        -0.775311988,
-        0.00287885444,
-        0.00212630128
-      ]
-    ],
-    [
-      [
-        -1.58612186,
-        -0.153996667,
-        -0.019362539,
-        0.00340134003
-      ],
-      [
-        -5.44435394,
-        1.26703171,
-        -0.267105283,
-        0.0166778421
-      ],
-      [
-        2.91356449,
-        -1.87150825,
-        0.226540613,
-        -0.010786308
-      ]
-    ],
-    [
-      [
-        2.73738367,
-        -1.52165103,
-        0.134485954,
-        -0.00364414263
-      ],
-      [
-        -1.96380465,
-        -0.0304224195,
-        -0.00741383211,
-        0.000655817377
-      ],
-      [
-        -5.65275902,
-        0.8554781,
-        -0.0747563725,
-        0.00213841659
-      ]
-    ],
-    [
-      [
-        6.82408162,
-        -5.00340617,
-        0.843280331,
-        -0.0477216713
-      ],
-      [
-        0.922836644,
-        -1.39570517,
-        0.0615167062,
-        0.00625866765
-      ],
-      [
-        -7.49471908,
-        4.08850937,
-        -0.931670394,
-        0.06135184
-      ]
-    ],
-    [
-      [
-        -2.03471379,
-        -0.183049895,
-        -0.0161448893,
-        0.00147588228
-      ],
-      [
-        -0.39397695,
-        -0.497506148,
-        -0.0025279351,
-        0.00199848358
-      ],
-      [
-        -3.14511306,
-        0.866929002,
-        -0.161209014,
-        0.00724003881
-      ]
-    ],
-    [
-      [
-        -4.03613088,
-        0.951183897,
-        -0.1707077,
-        0.00951914769
-      ],
-      [
-        -2.73727929,
-        -0.0846264685,
-        -0.0762702838,
-        0.00765998521
-      ],
-      [
-        -0.0115161507,
-        -0.676772845,
-        0.0186902046,
-        0.00114061014
-      ]
-    ],
-    [
-      [
-        -4.0450919,
-        0.19441825,
-        -0.0196572463,
-        0.000545513282
-      ],
-      [
-        -0.590738944,
-        -0.563607207,
-        0.0397364279,
-        -0.000835263676
-      ],
-      [
-        -0.650606525,
-        -0.793978644,
-        0.0672391429,
-        -0.0019742867
-      ]
-    ],
-    [
-      [
-        -7.1216888,
-        0.704299447,
-        -0.00675682556,
-        -0.00429905236
-      ],
-      [
-        4.0135083,
-        -2.99745283,
-        0.330100699,
-        -0.00866415885
-      ],
-      [
-        -2.95159941,
-        1.52304256,
-        -0.417790358,
-        0.0301178899
-      ]
-    ],
-    [
-      [
-        -5.71687526,
-        1.02827154,
-        -0.128832359,
-        0.00416099843
-      ],
-      [
-        -6.35542589,
-        1.25709282,
-        -0.1917998,
-        0.00889679996
-      ],
-      [
-        -1.20027791,
-        0.152425947,
-        -0.0921121841,
-        0.00518033583
-      ]
-    ],
-    [
-      [
-        -1.75233077,
-        -0.0165381386,
-        -0.0154477996,
-        0.00191469353
-      ],
-      [
-        -3.79457085,
-        0.695703623,
-        -0.170024823,
-        0.0125082712
-      ],
-      [
-        2.14044448,
-        -1.41498734,
-        0.116355694,
-        -0.00281465688
-      ]
-    ],
-    [
-      [
-        -1.89375385,
-        -0.103804215,
-        -0.00397067386,
-        0.000435442231
-      ],
-      [
-        -4.05701629,
-        0.431318996,
-        -0.0460802272,
-        0.0014783096
-      ],
-      [
-        -4.07119813,
-        0.0340792867,
-        0.00636890829,
-        -0.000665968456
-      ]
-    ],
-    [
-      [
-        7.14617037,
-        -5.07757031,
-        0.837708073,
-        -0.0452627753
-      ],
-      [
-        1.69236944,
-        -2.28936276,
-        0.274337077,
-        -0.00888968456
-      ],
-      [
-        -4.60392728,
-        2.15828049,
-        -0.515604387,
-        0.0324594302
-      ]
-    ],
-    [
-      [
-        -2.82895825,
-        -0.159891687,
-        0.0556441946,
-        -0.00321555705
-      ],
-      [
-        2.92995068,
-        -1.83116699,
-        0.202125712,
-        -0.00725218663
-      ],
-      [
-        0.981168958,
-        -0.682236621,
-        0.0147684255,
-        0.00146373056
-      ]
-    ]
-  ],
-  "CounterWeight": 3
-}
\ No newline at end of file
diff --git a/tests/python/test_tool_contract.py b/tests/python/test_tool_contract.py
index 917190a..b18fcbb 100755
--- a/tests/python/test_tool_contract.py
+++ b/tests/python/test_tool_contract.py
@@ -26,11 +26,11 @@ class TestCCSApp(pbcommand.testkit.PbTestApp):
     REQUIRES_PBCORE = True
     INPUT_FILES = [tempfile.NamedTemporaryFile(suffix=".subreadset.xml").name]
     TASK_OPTIONS = {
-        "pbccs.task_options.min_snr": 3,
+        "pbccs.task_options.min_snr": 3.0,
         "pbccs.task_options.min_read_score": 0.75,
         "pbccs.task_options.min_length": 10,
         "pbccs.task_options.min_passes": 3,
-        "pbccs.task_options.min_zscore": -5,
+        "pbccs.task_options.min_zscore": -5.0,
         "pbccs.task_options.max_drop_frac": 0.33,
         "pbccs.task_options.polish": False
     }
diff --git a/tests/unit/FisherTest.cpp b/tests/unit/FisherTest.cpp
new file mode 100644
index 0000000..b263e5c
--- /dev/null
+++ b/tests/unit/FisherTest.cpp
@@ -0,0 +1,74 @@
+// Copyright (c) 2011-2014, Pacific Biosciences of California, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted (subject to the limitations in the
+// disclaimer below) provided that the following conditions are met:
+//
+//  * Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//  * Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//  * Neither the name of Pacific Biosciences nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+// GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY PACIFIC
+// BIOSCIENCES AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL PACIFIC BIOSCIENCES OR ITS
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Author: Lance Hepler
+
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+#include <pacbio/statistics/Fisher.h>
+
+using std::string;
+
+using namespace PacBio::Statistics;  // NOLINT
+
+namespace {
+
+TEST(FisherTest, EquivalentWithR)
+{
+    // sapply(0:100, function(x) { fisher.test(matrix(c(x,1000,10,1000), nrow=2, byrow = TRUE), alternative = "greater")$p.value})
+    std::vector<double> pValuesFromR{
+        1.000000e+00, 9.995009e-01, 9.967696e-01, 9.886124e-01, 9.710086e-01, 9.403090e-01,
+        8.943966e-01, 8.333319e-01, 7.593288e-01, 6.761990e-01, 5.885378e-01, 5.009200e-01,
+        4.172848e-01, 3.405813e-01, 2.726612e-01, 2.143576e-01, 1.656755e-01, 1.260236e-01,
+        9.444223e-02, 6.979418e-02, 5.090970e-02, 3.668358e-02, 2.613167e-02, 1.841604e-02,
+        1.284825e-02, 8.879206e-03, 6.081771e-03, 4.130825e-03, 2.783570e-03, 1.861740e-03,
+        1.236419e-03, 8.156574e-04, 5.346868e-04, 3.484045e-04, 2.257325e-04, 1.454637e-04,
+        9.325708e-05, 5.949549e-05, 3.778008e-05, 2.388437e-05, 1.503578e-05, 9.427211e-06,
+        5.887959e-06, 3.663910e-06, 2.271922e-06, 1.404031e-06, 8.648820e-07, 5.311204e-07,
+        3.251928e-07, 1.985425e-07, 1.208873e-07, 7.341252e-08, 4.446997e-08, 2.687285e-08,
+        1.620137e-08, 9.745838e-09, 5.849967e-09, 3.504205e-09, 2.094890e-09, 1.249972e-09,
+        7.444536e-10, 4.425907e-10, 2.626772e-10, 1.556412e-10, 9.207351e-11, 5.438474e-11,
+        3.207564e-11, 1.889088e-11, 1.111038e-11, 6.525696e-12, 3.827944e-12, 2.242665e-12,
+        1.312326e-12, 7.670354e-13, 4.478190e-13, 2.611677e-13, 1.521536e-13, 8.855353e-14,
+        5.148791e-14, 2.990849e-14, 1.735751e-14, 1.006462e-14, 5.830912e-15, 3.375342e-15,
+        1.952329e-15, 1.128375e-15, 6.516743e-16, 3.760927e-16, 2.168987e-16, 1.250049e-16,
+        7.199700e-17, 4.144087e-17, 2.383854e-17, 1.370489e-17, 7.874537e-18, 4.522064e-18,
+        2.595485e-18, 1.488944e-18, 8.537362e-19, 4.892853e-19, 2.802857e-19};
+    for (int i = 11; i < 100; ++i)
+        EXPECT_NEAR(pValuesFromR.at(i), Fisher::fisher_exact_tiss(i, 1000, 10, 1000),
+                    pValuesFromR.at(i) / 1e5);
+}
+}
diff --git a/tests/unit/RandomDNA.cpp b/tests/unit/RandomDNA.cpp
index ca0963f..3273449 100644
--- a/tests/unit/RandomDNA.cpp
+++ b/tests/unit/RandomDNA.cpp
@@ -37,6 +37,16 @@
 
 using namespace std;
 
+constexpr double pulseWidthDist[50] = {
+    0.0,         51.18681856, 67.58137063, 72.67947116, 71.90971706, 68.52503331, 63.93130097,
+    58.79290293, 53.5441654,  48.47127299, 43.69099241, 39.30492681, 35.29555429, 31.69712306,
+    28.45523289, 25.56406112, 22.96958546, 20.66754424, 18.61712377, 16.78288686, 15.15159641,
+    13.69738276, 12.39031514, 11.22761988, 10.1905659,  9.25254787,  8.41958363,  7.66550808,
+    6.99112275,  6.37780398,  5.82998074,  5.33196501,  4.88806118,  4.47817299,  4.1106286,
+    3.78052439,  3.47567456,  3.20017765,  2.94609885,  2.72085145,  2.51190674,  2.32144746,
+    2.14614522,  1.9881507,   1.84008447,  1.70632031,  1.58504037,  1.47055015,  1.36683485,
+    1.27025397};
+
 string RandomDNA(const size_t n, mt19937* const gen)
 {
     constexpr auto bases = "ACGT";
@@ -52,7 +62,7 @@ string RandomDNA(const size_t n, mt19937* const gen)
 std::vector<uint8_t> RandomPW(const size_t n, mt19937* const gen)
 {
     std::vector<uint8_t> result(n);
-    uniform_int_distribution<size_t> rand(1, 4);
+    discrete_distribution<uint8_t> rand(begin(pulseWidthDist), end(pulseWidthDist));
     for (size_t i = 0; i < n; ++i)
         result[i] = rand(*gen);
 
diff --git a/tests/unit/RandomDNA.h b/tests/unit/RandomDNA.h
index b9d7185..09b3ac5 100644
--- a/tests/unit/RandomDNA.h
+++ b/tests/unit/RandomDNA.h
@@ -39,4 +39,4 @@
 #include <string>
 #include <vector>
 std::string RandomDNA(const size_t n, std::mt19937* const gen);
-std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
\ No newline at end of file
+std::vector<uint8_t> RandomPW(const size_t n, std::mt19937* const gen);
diff --git a/tests/unit/TestIntegrator.cpp b/tests/unit/TestIntegrator.cpp
index 09f6ea4..d907b57 100644
--- a/tests/unit/TestIntegrator.cpp
+++ b/tests/unit/TestIntegrator.cpp
@@ -75,6 +75,7 @@ constexpr int numSamples = 333;
 constexpr int numSamples = 3;
 #endif
 
+constexpr uint8_t avgPw = 10;
 const double prec = 0.001;  // alpha/beta mismatch tolerance
 const SNR snr(10, 7, 5, 11);
 const string P6C4 = "P6-C4";
@@ -109,10 +110,10 @@ const string longRead =
     "AATTACTATCTCCCGAAAGAATC";
 const IntegratorConfig cfg(std::numeric_limits<double>::quiet_NaN());
 
-Read MkRead(const string& seq, const SNR& snr, const string& mdl, const vector<uint8_t>& pw)
+Read MkRead(const string& seq, const SNR& snr, const string& mdl, const vector<uint8_t>& pws)
 {
-    vector<uint8_t> ipd(seq.length(), 0);
-    return Read("NA", seq, ipd, pw, snr, mdl);
+    const vector<uint8_t> ipds(seq.length(), 0);
+    return Read("NA", seq, ipds, pws, snr, mdl);
 }
 
 #if EXTENSIVE_TESTING
@@ -120,17 +121,17 @@ TEST(IntegratorTest, TestLongTemplate)
 {
     // TODO: Write a test for a longer molecule
     const string mdl = P6C4;
-    vector<uint8_t> pw(longRead.length(), 1);
+    vector<uint8_t> pws(longRead.length(), avgPw);
     MonoMolecularIntegrator ai(longTpl, cfg, snr, mdl);
     EXPECT_EQ(State::VALID,
-              ai.AddRead(MappedRead(MkRead(longRead, snr, mdl, pw), StrandType::FORWARD, 0,
+              ai.AddRead(MappedRead(MkRead(longRead, snr, mdl, pws), StrandType::FORWARD, 0,
                                     longTpl.length(), true, true)));
     EXPECT_NEAR(-148.92614949338801011, ai.LL(), prec);
 }
 
 void TestTiming(const string& mdl)
 {
-    const vector<uint8_t> pws(longRead.length(), 2);
+    const vector<uint8_t> pws(longRead.length(), avgPw);
     const size_t nsamp = 5000;
     MonoMolecularIntegrator ai(longTpl, cfg, snr, mdl);
     const auto stime = std::chrono::high_resolution_clock::now();
@@ -141,7 +142,8 @@ void TestTiming(const string& mdl)
     const auto etime = std::chrono::high_resolution_clock::now();
     const auto duration =
         std::chrono::duration_cast<std::chrono::microseconds>(etime - stime).count();
-    // std::cout << "avg duration: " << duration / nsamp << "us" << std::endl;
+    // std::cout << "avg duration: " << duration / nsamp << "us from " << nsamp << " samples"
+    //           << std::endl;
     EXPECT_LT(duration / nsamp, 1500);
 }
 
@@ -229,7 +231,7 @@ void MutationEquivalence(const size_t nsamp, const size_t nmut, const F& makeInt
             vector<Mutation> muts{mut};
             const string app = ApplyMutations(tpl, &muts);  // template with mutation applied
             std::tie(read, strand) = Mutate(app, nmut, &gen);
-            vector<uint8_t> pws = RandomPW(read.length(), &gen);
+            const vector<uint8_t> pws = RandomPW(read.length(), &gen);
             try {
                 auto ai1 = makeIntegrator(tpl);
                 const auto arr1 = addRead(ai1, MappedRead(MkRead(read, snr, mdl, pws), strand, 0,
@@ -335,9 +337,9 @@ TEST(IntegratorTest, TestP6C4NoCovAgainstCSharpModel)
     MultiMolecularIntegrator ai(tpl, cfg);
 
     const string readSeq = "ACGTACGT";
-    const vector<uint8_t> pw(readSeq.length(), 1);
+    const vector<uint8_t> pws(readSeq.length(), avgPw);
     EXPECT_EQ(State::VALID,
-              ai.AddRead(MappedRead(MkRead("ACGTACGT", snr, mdl, pw), StrandType::FORWARD, 0,
+              ai.AddRead(MappedRead(MkRead("ACGTACGT", snr, mdl, pws), StrandType::FORWARD, 0,
                                     tpl.length(), true, true)));
     auto score = [&ai](Mutation&& mut) { return ai.LL(mut) - ai.LL(); };
     EXPECT_NEAR(-4.74517984808494, ai.LL(), prec);
@@ -353,24 +355,24 @@ TEST(IntegratorTest, TestP6C4NoCovAgainstCSharpModel)
 TEST(IntegratorTest, TestFailAddRead)
 {
     const string tpl = "A";
-    const vector<uint8_t> pw(tpl.length(), 1);
+    const vector<uint8_t> pws(tpl.length(), avgPw);
     auto mdl = P6C4;
     MultiMolecularIntegrator ai(tpl, cfg);
 
     EXPECT_EQ(State::TEMPLATE_TOO_SMALL,
-              ai.AddRead(MappedRead(MkRead(tpl, snr, mdl, pw), StrandType::FORWARD, 0, tpl.length(),
-                                    true, true)));
+              ai.AddRead(MappedRead(MkRead(tpl, snr, mdl, pws), StrandType::FORWARD, 0,
+                                    tpl.length(), true, true)));
 }
 
 TEST(IntegratorTest, TestSuccessAddRead)
 {
     const string tpl = "AA";
-    const vector<uint8_t> pw(tpl.length(), 1);
+    const vector<uint8_t> pws(tpl.length(), avgPw);
     const auto mdl = P6C4;
     MultiMolecularIntegrator ai(tpl, cfg);
 
-    EXPECT_EQ(State::VALID, ai.AddRead(MappedRead(MkRead(tpl, snr, mdl, pw), StrandType::FORWARD, 0,
-                                                  tpl.length(), true, true)));
+    EXPECT_EQ(State::VALID, ai.AddRead(MappedRead(MkRead(tpl, snr, mdl, pws), StrandType::FORWARD,
+                                                  0, tpl.length(), true, true)));
 }
 
 }  // namespace anonymous
diff --git a/tests/unit/TestLoadModels.cpp b/tests/unit/TestLoadModels.cpp
index 0ef3f67..046f520 100644
--- a/tests/unit/TestLoadModels.cpp
+++ b/tests/unit/TestLoadModels.cpp
@@ -89,7 +89,7 @@ const string longRead =
     "CTGCGGCATTTTGTCCGCGCCGGGCTTCGCTCACTGTTCAGGCCGGAGCCACAGACCGCCGTTGAACGGATGCT"
     "AATTACTATCTCCCGAAAGAATC";
 
-const std::vector<uint8_t> longPws(longRead.size(), 2);
+const std::vector<uint8_t> longPws(longRead.size(), 10);
 const IntegratorConfig cfg(-100.0);  // disable zscore filtering
 
 Read MkRead(const string& seq, const SNR& snr, const string& mdl, const vector<uint8_t>& pw)
@@ -134,20 +134,19 @@ TEST(LoadModelsTest, Directory)
     ASSERT_TRUE(chems.find("S/P1-C1/beta::Marginal::FromFile") != chems.end());
     ASSERT_TRUE(chems.find("S/P1-C1.1::PwSnrA::FromFile") != chems.end());
     ASSERT_TRUE(chems.find("S/P1-C1.2::PwSnr::FromFile") != chems.end());
-    ASSERT_TRUE(chems.find("S/P2-C2::PwSnr::FromFile") != chems.end());
 
 // test identity between S/P1-C1/beta and S/P1-C1/beta::Marginal (loaded)
 //   disabled until S_P1C1Beta is fixed
 #if 0
     {
-        MonoMolecularIntegrator ai1(longTpl, cfg, snr, "S/P1-C1/beta::Compiled");
+        MonoMolecularIntegrator ai1(longTpl, cfg, snr, "S/P1-C1/beta::Marginal::Compiled");
         EXPECT_EQ(State::VALID,
-                  ai1.AddRead(MappedRead(MkRead(longRead, snr, "S/P1-C1/beta::Compiled", longPws),
+                  ai1.AddRead(MappedRead(MkRead(longRead, snr, "S/P1-C1/beta::Marginal::Compiled", longPws),
                                          StrandType::FORWARD, 0, longTpl.length(), true, true)));
 
-        MonoMolecularIntegrator ai2(longTpl, cfg, snr, "S/P1-C1/beta::Marginal");
+        MonoMolecularIntegrator ai2(longTpl, cfg, snr, "S/P1-C1/beta::Marginal::FromFile");
         EXPECT_EQ(State::VALID,
-                  ai2.AddRead(MappedRead(MkRead(longRead, snr, "S/P1-C1/beta::Marginal", longPws),
+                  ai2.AddRead(MappedRead(MkRead(longRead, snr, "S/P1-C1/beta::Marginal::FromFile", longPws),
                                          StrandType::FORWARD, 0, longTpl.length(), true, true)));
 
         EXPECT_NEAR(ai1.LL(), ai2.LL(), 1.0e-5);
@@ -191,10 +190,10 @@ TEST(LoadModelsTest, Directory)
                   ai1.AddRead(MappedRead(MkRead(longRead, snr, "S/P2-C2::PwSnr::Compiled", longPws),
                                          StrandType::FORWARD, 0, longTpl.length(), true, true)));
 
-        MonoMolecularIntegrator ai2(longTpl, cfg, snr, "S/P2-C2::PwSnr::FromFile");
-        EXPECT_EQ(State::VALID,
-                  ai2.AddRead(MappedRead(MkRead(longRead, snr, "S/P2-C2::PwSnr::FromFile", longPws),
-                                         StrandType::FORWARD, 0, longTpl.length(), true, true)));
+        MonoMolecularIntegrator ai2(longTpl, cfg, snr, "S/P1-C1.2::PwSnr::FromFile");
+        EXPECT_EQ(State::VALID, ai2.AddRead(MappedRead(
+                                    MkRead(longRead, snr, "S/P1-C1.2::PwSnr::FromFile", longPws),
+                                    StrandType::FORWARD, 0, longTpl.length(), true, true)));
 
         EXPECT_NEAR(ai1.LL(), ai2.LL(), 1.0e-5);
     }
@@ -211,9 +210,9 @@ TEST(LoadModelsTest, ModelTiming)
     LoadModels(tests::DataDir + "/params");
 
     const size_t nsamp = 100;
-    const std::vector<std::string> mdls = {
-        "S/P1-C1/beta::Marginal::FromFile", "S/P1-C1.1::PwSnrA::FromFile",
-        "S/P1-C1.2::PwSnr::FromFile", "S/P2-C2::PwSnr::FromFile"};
+    const std::vector<std::string> mdls = {"S/P1-C1/beta::Marginal::FromFile",
+                                           "S/P1-C1.1::PwSnrA::FromFile",
+                                           "S/P1-C1.2::PwSnr::FromFile"};
     for (const auto mdl : mdls) {
         MonoMolecularIntegrator ai(longTpl, cfg, snr, mdl);
         const auto stime = std::chrono::high_resolution_clock::now();
@@ -224,7 +223,7 @@ TEST(LoadModelsTest, ModelTiming)
         const auto etime = std::chrono::high_resolution_clock::now();
         const auto duration =
             std::chrono::duration_cast<std::chrono::microseconds>(etime - stime).count();
-        // std::cout << "avg duration: " << duration / nsamp << "us" << std::endl;
+        // std::cout << mdl << " avg duration: " << duration / nsamp << "us" << std::endl;
         EXPECT_LT(duration / nsamp, 1500);
     }
 }
diff --git a/third-party/cssw/ssw.c b/third-party/cssw/ssw.c
new file mode 100644
index 0000000..e26e077
--- /dev/null
+++ b/third-party/cssw/ssw.c
@@ -0,0 +1,981 @@
+/* The MIT License
+
+   Copyright (c) 2012-1015 Boston College.
+
+   Permission is hereby granted, free of charge, to any person obtaining
+   a copy of this software and associated documentation files (the
+   "Software"), to deal in the Software without restriction, including
+   without limitation the rights to use, copy, modify, merge, publish,
+   distribute, sublicense, and/or sell copies of the Software, and to
+   permit persons to whom the Software is furnished to do so, subject to
+   the following conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+   SOFTWARE.
+*/
+
+/* Contact: Mengyao Zhao <zhangmp at bc.edu> */
+
+/*
+ *  ssw.c
+ *
+ *  Created by Mengyao Zhao on 6/22/10.
+ *  Copyright 2010 Boston College. All rights reserved.
+ *	Version 1.2
+ *	Last revision by Mengyao Zhao on 11/29/16.
+ *
+ */
+
+#include <emmintrin.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include "ssw.h"
+
+#ifdef __GNUC__
+#define LIKELY(x) __builtin_expect((x),1)
+#define UNLIKELY(x) __builtin_expect((x),0)
+#else
+#define LIKELY(x) (x)
+#define UNLIKELY(x) (x)
+#endif
+
+/* Convert the coordinate in the scoring matrix into the coordinate in one line of the band. */
+#define set_u(u, w, i, j) { int x=(i)-(w); x=x>0?x:0; (u)=(j)-x+1; }
+
+/* Convert the coordinate in the direction matrix into the coordinate in one line of the band. */
+#define set_d(u, w, i, j, p) { int x=(i)-(w); x=x>0?x:0; x=(j)-x; (u)=x*3+p; }
+
+/*! @function
+  @abstract  Round an integer to the next closest power-2 integer.
+  @param  x  integer to be rounded (in place)
+  @discussion x will be modified.
+ */
+#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
+
+typedef struct {
+	uint16_t score;
+	int32_t ref;	 //0-based position
+	int32_t read;    //alignment ending position on read, 0-based
+} alignment_end;
+
+typedef struct {
+	uint32_t* seq;
+	int32_t length;
+} cigar;
+
+struct _profile{
+	__m128i* profile_byte;	// 0: none
+	__m128i* profile_word;	// 0: none
+	const int8_t* read;
+	const int8_t* mat;
+	int32_t readLen;
+	int32_t n;
+	uint8_t bias;
+};
+
+/* Generate query profile rearrange query sequence & calculate the weight of match/mismatch. */
+static __m128i* qP_byte (const int8_t* read_num,
+				  const int8_t* mat,
+				  const int32_t readLen,
+				  const int32_t n,	/* the edge length of the squre matrix mat */
+				  uint8_t bias) {
+
+	int32_t segLen = (readLen + 15) / 16; /* Split the 128 bit register into 16 pieces.
+								     Each piece is 8 bit. Split the read into 16 segments.
+								     Calculat 16 segments in parallel.
+								   */
+	__m128i* vProfile = (__m128i*)malloc(n * segLen * sizeof(__m128i));
+	int8_t* t = (int8_t*)vProfile;
+	int32_t nt, i, j, segNum;
+
+	/* Generate query profile rearrange query sequence & calculate the weight of match/mismatch */
+	for (nt = 0; LIKELY(nt < n); nt ++) {
+		for (i = 0; i < segLen; i ++) {
+			j = i;
+			for (segNum = 0; LIKELY(segNum < 16) ; segNum ++) {
+				*t++ = j>= readLen ? bias : mat[nt * n + read_num[j]] + bias;
+				j += segLen;
+			}
+		}
+	}
+	return vProfile;
+}
+
+/* Striped Smith-Waterman
+   Record the highest score of each reference position.
+   Return the alignment score and ending position of the best alignment, 2nd best alignment, etc.
+   Gap begin and gap extension are different.
+   wight_match > 0, all other weights < 0.
+   The returned positions are 0-based.
+ */
+static alignment_end* sw_sse2_byte (const int8_t* ref,
+							 int8_t ref_dir,	// 0: forward ref; 1: reverse ref
+							 int32_t refLen,
+							 int32_t readLen,
+							 const uint8_t weight_gapO, /* will be used as - */
+							 const uint8_t weight_gapE, /* will be used as - */
+							 const __m128i* vProfile,
+							 uint8_t terminate,	/* the best alignment score: used to terminate
+												   the matrix calculation when locating the
+												   alignment beginning point. If this score
+												   is set to 0, it will not be used */
+	 						 uint8_t bias,  /* Shift 0 point to a positive value. */
+							 int32_t maskLen) {
+
+#define max16(m, vm) (vm) = _mm_max_epu8((vm), _mm_srli_si128((vm), 8)); \
+					  (vm) = _mm_max_epu8((vm), _mm_srli_si128((vm), 4)); \
+					  (vm) = _mm_max_epu8((vm), _mm_srli_si128((vm), 2)); \
+					  (vm) = _mm_max_epu8((vm), _mm_srli_si128((vm), 1)); \
+					  (m) = _mm_extract_epi16((vm), 0)
+
+	uint8_t max = 0;		                     /* the max alignment score */
+	int32_t end_read = readLen - 1;
+	int32_t end_ref = -1; /* 0_based best alignment ending point; Initialized as isn't aligned -1. */
+	int32_t segLen = (readLen + 15) / 16; /* number of segment */
+
+	/* array to record the largest score of each reference position */
+	uint8_t* maxColumn = (uint8_t*) calloc(refLen, 1);
+
+	/* array to record the alignment read ending position of the largest score of each reference position */
+	int32_t* end_read_column = (int32_t*) calloc(refLen, sizeof(int32_t));
+
+	/* Define 16 byte 0 vector. */
+	__m128i vZero = _mm_set1_epi32(0);
+
+	__m128i* pvHStore = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvHLoad = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvE = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvHmax = (__m128i*) calloc(segLen, sizeof(__m128i));
+
+	int32_t i, j;
+	/* 16 byte insertion begin vector */
+	__m128i vGapO = _mm_set1_epi8(weight_gapO);
+
+	/* 16 byte insertion extension vector */
+	__m128i vGapE = _mm_set1_epi8(weight_gapE);
+
+	/* 16 byte bias vector */
+	__m128i vBias = _mm_set1_epi8(bias);
+
+	__m128i vMaxScore = vZero; /* Trace the highest score of the whole SW matrix. */
+	__m128i vMaxMark = vZero; /* Trace the highest score till the previous column. */
+	__m128i vTemp;
+	int32_t edge, begin = 0, end = refLen, step = 1;
+
+	/* outer loop to process the reference sequence */
+	if (ref_dir == 1) {
+		begin = refLen - 1;
+		end = -1;
+		step = -1;
+	}
+	for (i = begin; LIKELY(i != end); i += step) {
+		int32_t cmp;
+		__m128i e, vF = vZero, vMaxColumn = vZero; /* Initialize F value to 0.
+							   Any errors to vH values will be corrected in the Lazy_F loop.
+							 */
+
+		__m128i vH = pvHStore[segLen - 1];
+		vH = _mm_slli_si128 (vH, 1); /* Shift the 128-bit value in vH left by 1 byte. */
+		const __m128i* vP = vProfile + ref[i] * segLen; /* Right part of the vProfile */
+
+		/* Swap the 2 H buffers. */
+		__m128i* pv = pvHLoad;
+		pvHLoad = pvHStore;
+		pvHStore = pv;
+
+		/* inner loop to process the query sequence */
+		for (j = 0; LIKELY(j < segLen); ++j) {
+			vH = _mm_adds_epu8(vH, _mm_load_si128(vP + j));
+			vH = _mm_subs_epu8(vH, vBias); /* vH will be always > 0 */
+
+			/* Get max from vH, vE and vF. */
+			e = _mm_load_si128(pvE + j);
+			vH = _mm_max_epu8(vH, e);
+			vH = _mm_max_epu8(vH, vF);
+			vMaxColumn = _mm_max_epu8(vMaxColumn, vH);
+
+			/* Save vH values. */
+			_mm_store_si128(pvHStore + j, vH);
+
+			/* Update vE value. */
+			vH = _mm_subs_epu8(vH, vGapO); /* saturation arithmetic, result >= 0 */
+			e = _mm_subs_epu8(e, vGapE);
+			e = _mm_max_epu8(e, vH);
+			_mm_store_si128(pvE + j, e);
+
+			/* Update vF value. */
+			vF = _mm_subs_epu8(vF, vGapE);
+			vF = _mm_max_epu8(vF, vH);
+
+			/* Load the next vH. */
+			vH = _mm_load_si128(pvHLoad + j);
+		}
+
+		/* Lazy_F loop: has been revised to disallow adjecent insertion and then deletion, so don't update E(i, j), learn from SWPS3 */
+        /* reset pointers to the start of the saved data */
+        j = 0;
+        vH = _mm_load_si128 (pvHStore + j);
+
+        /*  the computed vF value is for the given column.  since */
+        /*  we are at the end, we need to shift the vF value over */
+        /*  to the next column. */
+        vF = _mm_slli_si128 (vF, 1);
+        vTemp = _mm_subs_epu8 (vH, vGapO);
+		vTemp = _mm_subs_epu8 (vF, vTemp);
+		vTemp = _mm_cmpeq_epi8 (vTemp, vZero);
+		cmp  = _mm_movemask_epi8 (vTemp);
+
+        while (cmp != 0xffff)
+        {
+            vH = _mm_max_epu8 (vH, vF);
+			vMaxColumn = _mm_max_epu8(vMaxColumn, vH);
+            _mm_store_si128 (pvHStore + j, vH);
+            vF = _mm_subs_epu8 (vF, vGapE);
+            j++;
+            if (j >= segLen)
+            {
+                j = 0;
+                vF = _mm_slli_si128 (vF, 1);
+            }
+            vH = _mm_load_si128 (pvHStore + j);
+
+            vTemp = _mm_subs_epu8 (vH, vGapO);
+            vTemp = _mm_subs_epu8 (vF, vTemp);
+            vTemp = _mm_cmpeq_epi8 (vTemp, vZero);
+            cmp  = _mm_movemask_epi8 (vTemp);
+        }
+
+		vMaxScore = _mm_max_epu8(vMaxScore, vMaxColumn);
+		vTemp = _mm_cmpeq_epi8(vMaxMark, vMaxScore);
+		cmp = _mm_movemask_epi8(vTemp);
+		if (cmp != 0xffff) {
+			uint8_t temp;
+			vMaxMark = vMaxScore;
+			max16(temp, vMaxScore);
+			vMaxScore = vMaxMark;
+
+			if (LIKELY(temp > max)) {
+				max = temp;
+				if (max + bias >= 255) break;	//overflow
+				end_ref = i;
+
+				/* Store the column with the highest alignment score in order to trace the alignment ending position on read. */
+				for (j = 0; LIKELY(j < segLen); ++j) pvHmax[j] = pvHStore[j];
+			}
+		}
+
+		/* Record the max score of current column. */
+		max16(maxColumn[i], vMaxColumn);
+		if (maxColumn[i] == terminate) break;
+	}
+
+	/* Trace the alignment ending position on read. */
+	uint8_t *t = (uint8_t*)pvHmax;
+	int32_t column_len = segLen * 16;
+	for (i = 0; LIKELY(i < column_len); ++i, ++t) {
+		int32_t temp;
+		if (*t == max) {
+			temp = i / 16 + i % 16 * segLen;
+			if (temp < end_read) end_read = temp;
+		}
+	}
+
+	free(pvHmax);
+	free(pvE);
+	free(pvHLoad);
+	free(pvHStore);
+
+	/* Find the most possible 2nd best alignment. */
+	alignment_end* bests = (alignment_end*) calloc(2, sizeof(alignment_end));
+	bests[0].score = max + bias >= 255 ? 255 : max;
+	bests[0].ref = end_ref;
+	bests[0].read = end_read;
+
+	bests[1].score = 0;
+	bests[1].ref = 0;
+	bests[1].read = 0;
+
+	edge = (end_ref - maskLen) > 0 ? (end_ref - maskLen) : 0;
+	for (i = 0; i < edge; i ++) {
+		if (maxColumn[i] > bests[1].score) {
+			bests[1].score = maxColumn[i];
+			bests[1].ref = i;
+		}
+	}
+	edge = (end_ref + maskLen) > refLen ? refLen : (end_ref + maskLen);
+	for (i = edge + 1; i < refLen; i ++) {
+		if (maxColumn[i] > bests[1].score) {
+			bests[1].score = maxColumn[i];
+			bests[1].ref = i;
+		}
+	}
+
+	free(maxColumn);
+	free(end_read_column);
+	return bests;
+}
+
+static __m128i* qP_word (const int8_t* read_num,
+				  const int8_t* mat,
+				  const int32_t readLen,
+				  const int32_t n) {
+
+	int32_t segLen = (readLen + 7) / 8;
+	__m128i* vProfile = (__m128i*)malloc(n * segLen * sizeof(__m128i));
+	int16_t* t = (int16_t*)vProfile;
+	int32_t nt, i, j;
+	int32_t segNum;
+
+	/* Generate query profile rearrange query sequence & calculate the weight of match/mismatch */
+	for (nt = 0; LIKELY(nt < n); nt ++) {
+		for (i = 0; i < segLen; i ++) {
+			j = i;
+			for (segNum = 0; LIKELY(segNum < 8) ; segNum ++) {
+				*t++ = j>= readLen ? 0 : mat[nt * n + read_num[j]];
+				j += segLen;
+			}
+		}
+	}
+	return vProfile;
+}
+
+static alignment_end* sw_sse2_word (const int8_t* ref,
+							 int8_t ref_dir,	// 0: forward ref; 1: reverse ref
+							 int32_t refLen,
+							 int32_t readLen,
+							 const uint8_t weight_gapO, /* will be used as - */
+							 const uint8_t weight_gapE, /* will be used as - */
+							 const __m128i* vProfile,
+							 uint16_t terminate,
+							 int32_t maskLen) {
+
+#define max8(m, vm) (vm) = _mm_max_epi16((vm), _mm_srli_si128((vm), 8)); \
+					(vm) = _mm_max_epi16((vm), _mm_srli_si128((vm), 4)); \
+					(vm) = _mm_max_epi16((vm), _mm_srli_si128((vm), 2)); \
+					(m) = _mm_extract_epi16((vm), 0)
+
+	uint16_t max = 0;		                     /* the max alignment score */
+	int32_t end_read = readLen - 1;
+	int32_t end_ref = 0; /* 1_based best alignment ending point; Initialized as isn't aligned - 0. */
+	int32_t segLen = (readLen + 7) / 8; /* number of segment */
+
+	/* array to record the largest score of each reference position */
+	uint16_t* maxColumn = (uint16_t*) calloc(refLen, 2);
+
+	/* array to record the alignment read ending position of the largest score of each reference position */
+	int32_t* end_read_column = (int32_t*) calloc(refLen, sizeof(int32_t));
+
+	/* Define 16 byte 0 vector. */
+	__m128i vZero = _mm_set1_epi32(0);
+
+	__m128i* pvHStore = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvHLoad = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvE = (__m128i*) calloc(segLen, sizeof(__m128i));
+	__m128i* pvHmax = (__m128i*) calloc(segLen, sizeof(__m128i));
+
+	int32_t i, j, k;
+	/* 16 byte insertion begin vector */
+	__m128i vGapO = _mm_set1_epi16(weight_gapO);
+
+	/* 16 byte insertion extension vector */
+	__m128i vGapE = _mm_set1_epi16(weight_gapE);
+
+	__m128i vMaxScore = vZero; /* Trace the highest score of the whole SW matrix. */
+	__m128i vMaxMark = vZero; /* Trace the highest score till the previous column. */
+	__m128i vTemp;
+	int32_t edge, begin = 0, end = refLen, step = 1;
+
+	/* outer loop to process the reference sequence */
+	if (ref_dir == 1) {
+		begin = refLen - 1;
+		end = -1;
+		step = -1;
+	}
+	for (i = begin; LIKELY(i != end); i += step) {
+		int32_t cmp;
+		__m128i e, vF = vZero; /* Initialize F value to 0.
+							   Any errors to vH values will be corrected in the Lazy_F loop.
+							 */
+		__m128i vH = pvHStore[segLen - 1];
+		vH = _mm_slli_si128 (vH, 2); /* Shift the 128-bit value in vH left by 2 byte. */
+
+		/* Swap the 2 H buffers. */
+		__m128i* pv = pvHLoad;
+
+		__m128i vMaxColumn = vZero; /* vMaxColumn is used to record the max values of column i. */
+
+		const __m128i* vP = vProfile + ref[i] * segLen; /* Right part of the vProfile */
+		pvHLoad = pvHStore;
+		pvHStore = pv;
+
+		/* inner loop to process the query sequence */
+		for (j = 0; LIKELY(j < segLen); j ++) {
+			vH = _mm_adds_epi16(vH, _mm_load_si128(vP + j));
+
+			/* Get max from vH, vE and vF. */
+			e = _mm_load_si128(pvE + j);
+			vH = _mm_max_epi16(vH, e);
+			vH = _mm_max_epi16(vH, vF);
+			vMaxColumn = _mm_max_epi16(vMaxColumn, vH);
+
+			/* Save vH values. */
+			_mm_store_si128(pvHStore + j, vH);
+
+			/* Update vE value. */
+			vH = _mm_subs_epu16(vH, vGapO); /* saturation arithmetic, result >= 0 */
+			e = _mm_subs_epu16(e, vGapE);
+			e = _mm_max_epi16(e, vH);
+			_mm_store_si128(pvE + j, e);
+
+			/* Update vF value. */
+			vF = _mm_subs_epu16(vF, vGapE);
+			vF = _mm_max_epi16(vF, vH);
+
+			/* Load the next vH. */
+			vH = _mm_load_si128(pvHLoad + j);
+		}
+
+		/* Lazy_F loop: has been revised to disallow adjecent insertion and then deletion, so don't update E(i, j), learn from SWPS3 */
+		for (k = 0; LIKELY(k < 8); ++k) {
+			vF = _mm_slli_si128 (vF, 2);
+			for (j = 0; LIKELY(j < segLen); ++j) {
+				vH = _mm_load_si128(pvHStore + j);
+				vH = _mm_max_epi16(vH, vF);
+				vMaxColumn = _mm_max_epi16(vMaxColumn, vH); //newly added line
+				_mm_store_si128(pvHStore + j, vH);
+				vH = _mm_subs_epu16(vH, vGapO);
+				vF = _mm_subs_epu16(vF, vGapE);
+				if (UNLIKELY(! _mm_movemask_epi8(_mm_cmpgt_epi16(vF, vH)))) goto end;
+			}
+		}
+
+end:
+		vMaxScore = _mm_max_epi16(vMaxScore, vMaxColumn);
+		vTemp = _mm_cmpeq_epi16(vMaxMark, vMaxScore);
+		cmp = _mm_movemask_epi8(vTemp);
+		if (cmp != 0xffff) {
+			uint16_t temp;
+			vMaxMark = vMaxScore;
+			max8(temp, vMaxScore);
+			vMaxScore = vMaxMark;
+
+			if (LIKELY(temp > max)) {
+				max = temp;
+				end_ref = i;
+				for (j = 0; LIKELY(j < segLen); ++j) pvHmax[j] = pvHStore[j];
+			}
+		}
+
+		/* Record the max score of current column. */
+		max8(maxColumn[i], vMaxColumn);
+		if (maxColumn[i] == terminate) break;
+	}
+
+	/* Trace the alignment ending position on read. */
+	uint16_t *t = (uint16_t*)pvHmax;
+	int32_t column_len = segLen * 8;
+	for (i = 0; LIKELY(i < column_len); ++i, ++t) {
+		int32_t temp;
+		if (*t == max) {
+			temp = i / 8 + i % 8 * segLen;
+			if (temp < end_read) end_read = temp;
+		}
+	}
+
+	free(pvHmax);
+	free(pvE);
+	free(pvHLoad);
+	free(pvHStore);
+
+	/* Find the most possible 2nd best alignment. */
+	alignment_end* bests = (alignment_end*) calloc(2, sizeof(alignment_end));
+	bests[0].score = max;
+	bests[0].ref = end_ref;
+	bests[0].read = end_read;
+
+	bests[1].score = 0;
+	bests[1].ref = 0;
+	bests[1].read = 0;
+
+	edge = (end_ref - maskLen) > 0 ? (end_ref - maskLen) : 0;
+	for (i = 0; i < edge; i ++) {
+		if (maxColumn[i] > bests[1].score) {
+			bests[1].score = maxColumn[i];
+			bests[1].ref = i;
+		}
+	}
+	edge = (end_ref + maskLen) > refLen ? refLen : (end_ref + maskLen);
+	for (i = edge; i < refLen; i ++) {
+		if (maxColumn[i] > bests[1].score) {
+			bests[1].score = maxColumn[i];
+			bests[1].ref = i;
+		}
+	}
+
+	free(maxColumn);
+	free(end_read_column);
+	return bests;
+}
+
+/*!     @function               Produce CIGAR 32-bit unsigned integer from CIGAR operation and CIGAR length
+        @param  length          length of CIGAR
+        @param  op_letter       CIGAR operation character ('M', 'I', etc)
+        @return                 32-bit unsigned integer, representing encoded CIGAR operation and length
+*/
+uint32_t to_cigar_int (uint32_t length, char op_letter)
+{
+        switch (op_letter) {
+                case 'M': /* alignment match (can be a sequence match or mismatch */
+                default:
+                        return length << BAM_CIGAR_SHIFT;
+                case 'S': /* soft clipping (clipped sequences present in SEQ) */
+                        return (length << BAM_CIGAR_SHIFT) | (4u);
+                case 'D': /* deletion from the reference */
+                        return (length << BAM_CIGAR_SHIFT) | (2u);
+                case 'I': /* insertion to the reference */
+                        return (length << BAM_CIGAR_SHIFT) | (1u);
+                case 'H': /* hard clipping (clipped sequences NOT present in SEQ) */
+                        return (length << BAM_CIGAR_SHIFT) | (5u);
+                case 'N': /* skipped region from the reference */
+                        return (length << BAM_CIGAR_SHIFT) | (3u);
+                case 'P': /* padding (silent deletion from padded reference) */
+                        return (length << BAM_CIGAR_SHIFT) | (6u);
+                case '=': /* sequence match */
+                        return (length << BAM_CIGAR_SHIFT) | (7u);
+                case 'X': /* sequence mismatch */
+                        return (length << BAM_CIGAR_SHIFT) | (8u);
+        }
+        return (uint32_t)-1; // This never happens
+}
+
+static cigar* banded_sw (const int8_t* ref,
+				 const int8_t* read,
+				 int32_t refLen,
+				 int32_t readLen,
+				 int32_t score,
+				 const uint32_t weight_gapO,  /* will be used as - */
+				 const uint32_t weight_gapE,  /* will be used as - */
+				 int32_t band_width,
+				 const int8_t* mat,	/* pointer to the weight matrix */
+				 int32_t n) {
+
+	uint32_t *c = (uint32_t*)malloc(16 * sizeof(uint32_t)), *c1;
+	int32_t i, j, e, f, temp1, temp2, s = 16, s1 = 8, l, max = 0;
+	int64_t s2 = 1024;
+	char op, prev_op;
+	int32_t width, width_d, *h_b, *e_b, *h_c;
+	int8_t *direction, *direction_line;
+	cigar* result = (cigar*)malloc(sizeof(cigar));
+	h_b = (int32_t*)malloc(s1 * sizeof(int32_t));
+	e_b = (int32_t*)malloc(s1 * sizeof(int32_t));
+	h_c = (int32_t*)malloc(s1 * sizeof(int32_t));
+	direction = (int8_t*)malloc(s2 * sizeof(int8_t));
+
+	do {
+		width = band_width * 2 + 3, width_d = band_width * 2 + 1;
+		while (width >= s1) {
+			++s1;
+			kroundup32(s1);
+			h_b = (int32_t*)realloc(h_b, s1 * sizeof(int32_t));
+			e_b = (int32_t*)realloc(e_b, s1 * sizeof(int32_t));
+			h_c = (int32_t*)realloc(h_c, s1 * sizeof(int32_t));
+		}
+		while (width_d * readLen * 3 >= s2) {
+			++s2;
+			kroundup32(s2);
+			if (s2 < 0) {
+				fprintf(stderr, "Alignment score and position are not consensus.\n");
+				exit(1);
+			}
+			direction = (int8_t*)realloc(direction, s2 * sizeof(int8_t));
+		}
+		direction_line = direction;
+		for (j = 1; LIKELY(j < width - 1); j ++) h_b[j] = 0;
+		for (i = 0; LIKELY(i < readLen); i ++) {
+			int32_t beg = 0, end = refLen - 1, u = 0, edge;
+			j = i - band_width;	beg = beg > j ? beg : j; // band start
+			j = i + band_width; end = end < j ? end : j; // band end
+			edge = end + 1 < width - 1 ? end + 1 : width - 1;
+			f = h_b[0] = e_b[0] = h_b[edge] = e_b[edge] = h_c[0] = 0;
+			direction_line = direction + width_d * i * 3;
+
+			for (j = beg; LIKELY(j <= end); j ++) {
+				int32_t b, e1, f1, d, de, df, dh;
+				set_u(u, band_width, i, j);	set_u(e, band_width, i - 1, j);
+				set_u(b, band_width, i, j - 1); set_u(d, band_width, i - 1, j - 1);
+				set_d(de, band_width, i, j, 0);
+				set_d(df, band_width, i, j, 1);
+				set_d(dh, band_width, i, j, 2);
+
+				temp1 = i == 0 ? -weight_gapO : h_b[e] - weight_gapO;
+				temp2 = i == 0 ? -weight_gapE : e_b[e] - weight_gapE;
+				e_b[u] = temp1 > temp2 ? temp1 : temp2;
+				direction_line[de] = temp1 > temp2 ? 3 : 2;
+
+				temp1 = h_c[b] - weight_gapO;
+				temp2 = f - weight_gapE;
+				f = temp1 > temp2 ? temp1 : temp2;
+				direction_line[df] = temp1 > temp2 ? 5 : 4;
+
+				e1 = e_b[u] > 0 ? e_b[u] : 0;
+				f1 = f > 0 ? f : 0;
+				temp1 = e1 > f1 ? e1 : f1;
+				temp2 = h_b[d] + mat[ref[j] * n + read[i]];
+				h_c[u] = temp1 > temp2 ? temp1 : temp2;
+
+				if (h_c[u] > max) max = h_c[u];
+
+				if (temp1 <= temp2) direction_line[dh] = 1;
+				else direction_line[dh] = e1 > f1 ? direction_line[de] : direction_line[df];
+			}
+			for (j = 1; j <= u; j ++) h_b[j] = h_c[j];
+		}
+		band_width *= 2;
+	} while (LIKELY(max < score));
+	band_width /= 2;
+
+	// trace back
+	i = readLen - 1;
+	j = refLen - 1;
+	e = 0;	// Count the number of M, D or I.
+	l = 0;	// record length of current cigar
+	op = prev_op = 'M';
+	temp2 = 2;	// h
+	while (LIKELY(i > 0)) {
+		set_d(temp1, band_width, i, j, temp2);
+		switch (direction_line[temp1]) {
+			case 1:
+				--i;
+				--j;
+				temp2 = 2;
+				direction_line -= width_d * 3;
+				op = 'M';
+				break;
+			case 2:
+			 	--i;
+				temp2 = 0;	// e
+				direction_line -= width_d * 3;
+				op = 'I';
+				break;
+			case 3:
+				--i;
+				temp2 = 2;
+				direction_line -= width_d * 3;
+				op = 'I';
+				break;
+			case 4:
+				--j;
+				temp2 = 1;
+				op = 'D';
+				break;
+			case 5:
+				--j;
+				temp2 = 2;
+				op = 'D';
+				break;
+			default:
+				fprintf(stderr, "Trace back error: %d.\n", direction_line[temp1 - 1]);
+				free(direction);
+				free(h_c);
+				free(e_b);
+				free(h_b);
+				free(c);
+				free(result);
+				return 0;
+		}
+		if (op == prev_op) ++e;
+		else {
+			++l;
+			while (l >= s) {
+				++s;
+				kroundup32(s);
+				c = (uint32_t*)realloc(c, s * sizeof(uint32_t));
+			}
+			c[l - 1] = to_cigar_int(e, prev_op);
+			prev_op = op;
+			e = 1;
+		}
+	}
+	if (op == 'M') {
+		++l;
+		while (l >= s) {
+			++s;
+			kroundup32(s);
+			c = (uint32_t*)realloc(c, s * sizeof(uint32_t));
+		}
+		c[l - 1] = to_cigar_int(e + 1, op);
+	}else {
+		l += 2;
+		while (l >= s) {
+			++s;
+			kroundup32(s);
+			c = (uint32_t*)realloc(c, s * sizeof(uint32_t));
+		}
+		c[l - 2] = to_cigar_int(e, op);
+		c[l - 1] = to_cigar_int(1, 'M');
+	}
+
+	// reverse cigar
+	c1 = (uint32_t*)malloc(l * sizeof(uint32_t));
+	s = 0;
+	e = l - 1;
+	while (LIKELY(s <= e)) {
+		c1[s] = c[e];
+		c1[e] = c[s];
+		++ s;
+		-- e;
+	}
+	result->seq = c1;
+	result->length = l;
+
+	free(direction);
+	free(h_c);
+	free(e_b);
+	free(h_b);
+	free(c);
+	return result;
+}
+
+static int8_t* seq_reverse(const int8_t* seq, int32_t end)	/* end is 0-based alignment ending position */
+{
+	int8_t* reverse = (int8_t*)calloc(end + 1, sizeof(int8_t));
+	int32_t start = 0;
+	while (LIKELY(start <= end)) {
+		reverse[start] = seq[end];
+		reverse[end] = seq[start];
+		++ start;
+		-- end;
+	}
+	return reverse;
+}
+
+s_profile* ssw_init (const int8_t* read, const int32_t readLen, const int8_t* mat, const int32_t n, const int8_t score_size) {
+	s_profile* p = (s_profile*)calloc(1, sizeof(struct _profile));
+	p->profile_byte = 0;
+	p->profile_word = 0;
+	p->bias = 0;
+
+	if (score_size == 0 || score_size == 2) {
+		/* Find the bias to use in the substitution matrix */
+		int32_t bias = 0, i;
+		for (i = 0; i < n*n; i++) if (mat[i] < bias) bias = mat[i];
+		bias = abs(bias);
+
+		p->bias = bias;
+		p->profile_byte = qP_byte (read, mat, readLen, n, bias);
+	}
+	if (score_size == 1 || score_size == 2) p->profile_word = qP_word (read, mat, readLen, n);
+	p->read = read;
+	p->mat = mat;
+	p->readLen = readLen;
+	p->n = n;
+	return p;
+}
+
+void init_destroy (s_profile* p) {
+	free(p->profile_byte);
+	free(p->profile_word);
+	free(p);
+}
+
+s_align* ssw_align (const s_profile* prof,
+					const int8_t* ref,
+				  	int32_t refLen,
+				  	const uint8_t weight_gapO,
+				  	const uint8_t weight_gapE,
+					const uint8_t flag,	//  (from high to low) bit 5: return the best alignment beginning position; 6: if (ref_end1 - ref_begin1 <= filterd) && (read_end1 - read_begin1 <= filterd), return cigar; 7: if max score >= filters, return cigar; 8: always return cigar; if 6 & 7 are both setted, only return cigar when both filter fulfilled
+					const uint16_t filters,
+					const int32_t filterd,
+					const int32_t maskLen) {
+
+	alignment_end* bests = 0, *bests_reverse = 0;
+	__m128i* vP = 0;
+	int32_t word = 0, band_width = 0, readLen = prof->readLen;
+	int8_t* read_reverse = 0;
+	cigar* path;
+	s_align* r = (s_align*)calloc(1, sizeof(s_align));
+	r->ref_begin1 = -1;
+	r->read_begin1 = -1;
+	r->cigar = 0;
+	r->cigarLen = 0;
+	if (maskLen < 15) {
+		fprintf(stderr, "When maskLen < 15, the function ssw_align doesn't return 2nd best alignment information.\n");
+	}
+
+	// Find the alignment scores and ending positions
+	if (prof->profile_byte) {
+		bests = sw_sse2_byte(ref, 0, refLen, readLen, weight_gapO, weight_gapE, prof->profile_byte, -1, prof->bias, maskLen);
+		if (prof->profile_word && bests[0].score == 255) {
+			free(bests);
+			bests = sw_sse2_word(ref, 0, refLen, readLen, weight_gapO, weight_gapE, prof->profile_word, -1, maskLen);
+			word = 1;
+		} else if (bests[0].score == 255) {
+			fprintf(stderr, "Please set 2 to the score_size parameter of the function ssw_init, otherwise the alignment results will be incorrect.\n");
+			free(r);
+			return NULL;
+		}
+	}else if (prof->profile_word) {
+		bests = sw_sse2_word(ref, 0, refLen, readLen, weight_gapO, weight_gapE, prof->profile_word, -1, maskLen);
+		word = 1;
+	}else {
+		fprintf(stderr, "Please call the function ssw_init before ssw_align.\n");
+		free(r);
+		return NULL;
+	}
+	r->score1 = bests[0].score;
+	r->ref_end1 = bests[0].ref;
+	r->read_end1 = bests[0].read;
+	if (maskLen >= 15) {
+		r->score2 = bests[1].score;
+		r->ref_end2 = bests[1].ref;
+	} else {
+		r->score2 = 0;
+		r->ref_end2 = -1;
+	}
+	free(bests);
+	if (flag == 0 || (flag == 2 && r->score1 < filters)) goto end;
+
+	// Find the beginning position of the best alignment.
+	read_reverse = seq_reverse(prof->read, r->read_end1);
+	if (word == 0) {
+		vP = qP_byte(read_reverse, prof->mat, r->read_end1 + 1, prof->n, prof->bias);
+		bests_reverse = sw_sse2_byte(ref, 1, r->ref_end1 + 1, r->read_end1 + 1, weight_gapO, weight_gapE, vP, r->score1, prof->bias, maskLen);
+	} else {
+		vP = qP_word(read_reverse, prof->mat, r->read_end1 + 1, prof->n);
+		bests_reverse = sw_sse2_word(ref, 1, r->ref_end1 + 1, r->read_end1 + 1, weight_gapO, weight_gapE, vP, r->score1, maskLen);
+	}
+	free(vP);
+	free(read_reverse);
+	r->ref_begin1 = bests_reverse[0].ref;
+	r->read_begin1 = r->read_end1 - bests_reverse[0].read;
+	free(bests_reverse);
+	if ((7&flag) == 0 || ((2&flag) != 0 && r->score1 < filters) || ((4&flag) != 0 && (r->ref_end1 - r->ref_begin1 > filterd || r->read_end1 - r->read_begin1 > filterd))) goto end;
+
+	// Generate cigar.
+	refLen = r->ref_end1 - r->ref_begin1 + 1;
+	readLen = r->read_end1 - r->read_begin1 + 1;
+	band_width = abs(refLen - readLen) + 1;
+	path = banded_sw(ref + r->ref_begin1, prof->read + r->read_begin1, refLen, readLen, r->score1, weight_gapO, weight_gapE, band_width, prof->mat, prof->n);
+	if (path == 0) {
+		free(r);
+		r = NULL;
+	}
+	else {
+		r->cigar = path->seq;
+		r->cigarLen = path->length;
+		free(path);
+	}
+
+end:
+	return r;
+}
+
+void align_destroy (s_align* a) {
+	free(a->cigar);
+	free(a);
+}
+
+uint32_t* add_cigar (uint32_t* new_cigar, int32_t* p, int32_t* s, uint32_t length, char op) {
+	if ((*p) >= (*s)) {
+		++(*s);
+		kroundup32(*s);
+		new_cigar = (uint32_t*)realloc(new_cigar, (*s)*sizeof(uint32_t));
+	}
+	new_cigar[(*p) ++] = to_cigar_int(length, op);
+	return new_cigar;
+}
+
+uint32_t* store_previous_m (int8_t choice,	// 0: current not M, 1: current match, 2: current mismatch
+					   uint32_t* length_m,
+					   uint32_t* length_x,
+					   int32_t* p,
+					   int32_t* s,
+					   uint32_t* new_cigar) {
+
+	if ((*length_m) && (choice == 2 || !choice)) {
+		new_cigar = add_cigar (new_cigar, p, s, (*length_m), '='); 
+		(*length_m) = 0;
+	} else if ((*length_x) && (choice == 1 || !choice)) { 
+		new_cigar = add_cigar (new_cigar, p, s, (*length_x), 'X'); 
+		(*length_x) = 0;
+	}
+	return new_cigar;
+}				
+
+/*! @function:
+     1. Calculate the number of mismatches.
+     2. Modify the cigar string:
+         differentiate matches (=) and mismatches(X); add softclip(S) at the beginning and ending of the original cigar.
+    @return:
+     The number of mismatches.
+	 The cigar and cigarLen are modified.
+*/
+int32_t mark_mismatch (int32_t ref_begin1,
+					   int32_t read_begin1,
+					   int32_t read_end1,
+					   const int8_t* ref,
+					   const int8_t* read,
+					   int32_t readLen,
+					   uint32_t** cigar,
+					   int32_t* cigarLen) {
+
+	int32_t mismatch_length = 0, p = 0, i, length, j, s = *cigarLen + 2;
+	uint32_t *new_cigar = (uint32_t*)malloc(s*sizeof(uint32_t)), length_m = 0,  length_x = 0;
+	char op;
+
+	ref += ref_begin1;
+	read += read_begin1;
+	if (read_begin1 > 0) new_cigar[p ++] = to_cigar_int(read_begin1, 'S');
+	for (i = 0; i < (*cigarLen); ++i) {
+		op = cigar_int_to_op((*cigar)[i]);
+		length = cigar_int_to_len((*cigar)[i]);
+		if (op == 'M') {
+			for (j = 0; j < length; ++j) {
+				if (*ref != *read) {
+					++ mismatch_length;
+					// the previous is match; however the current one is mismatche
+					new_cigar = store_previous_m (2, &length_m, &length_x, &p, &s, new_cigar);			
+					++ length_x;
+				} else {
+					// the previous is mismatch; however the current one is matche
+					new_cigar = store_previous_m (1, &length_m, &length_x, &p, &s, new_cigar);			
+					++ length_m;
+				}
+				++ ref;
+				++ read;
+			}
+		}else if (op == 'I') {
+			read += length;
+			mismatch_length += length;
+			new_cigar = store_previous_m (0, &length_m, &length_x, &p, &s, new_cigar);			
+			new_cigar = add_cigar (new_cigar, &p, &s, length, 'I'); 
+		}else if (op == 'D') {
+			ref += length;
+			mismatch_length += length;
+			new_cigar = store_previous_m (0, &length_m, &length_x, &p, &s, new_cigar);			
+			new_cigar = add_cigar (new_cigar, &p, &s, length, 'D'); 
+		}
+	}
+	new_cigar = store_previous_m (0, &length_m, &length_x, &p, &s, new_cigar);
+	
+	length = readLen - read_end1 - 1;
+	if (length > 0) new_cigar = add_cigar(new_cigar, &p, &s, length, 'S');
+	
+	(*cigarLen) = p;	
+	free(*cigar);
+	(*cigar) = new_cigar;
+	return mismatch_length;
+}
+
diff --git a/third-party/cssw/ssw.h b/third-party/cssw/ssw.h
new file mode 100644
index 0000000..1708f9c
--- /dev/null
+++ b/third-party/cssw/ssw.h
@@ -0,0 +1,188 @@
+/*
+ *  ssw.h
+ *
+ *  Created by Mengyao Zhao on 6/22/10.
+ *  Copyright 2010 Boston College. All rights reserved.
+ *	Version 0.1.4
+ *	Last revision by Mengyao Zhao on 11/29/16.
+ *
+ */
+
+#ifndef SSW_H
+#define SSW_H
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <emmintrin.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif	// __cplusplus
+
+#define MAPSTR "MIDNSHP=X"
+#ifndef BAM_CIGAR_SHIFT
+#define BAM_CIGAR_SHIFT 4u
+#endif
+
+
+/*!	@typedef	structure of the query profile	*/
+struct _profile;
+typedef struct _profile s_profile;
+
+/*!	@typedef	structure of the alignment result
+	@field	score1	the best alignment score
+	@field	score2	sub-optimal alignment score
+	@field	ref_begin1	0-based best alignment beginning position on reference;	ref_begin1 = -1 when the best alignment beginning
+						position is not available
+	@field	ref_end1	0-based best alignment ending position on reference
+	@field	read_begin1	0-based best alignment beginning position on read; read_begin1 = -1 when the best alignment beginning
+						position is not available
+	@field	read_end1	0-based best alignment ending position on read
+	@field	read_end2	0-based sub-optimal alignment ending position on read
+	@field	cigar	best alignment cigar; stored the same as that in BAM format, high 28 bits: length, low 4 bits: M/I/D (0/1/2);
+					cigar = 0 when the best alignment path is not available
+	@field	cigarLen	length of the cigar string; cigarLen = 0 when the best alignment path is not available
+*/
+typedef struct {
+	uint16_t score1;
+	uint16_t score2;
+	int32_t ref_begin1;
+	int32_t ref_end1;
+	int32_t	read_begin1;
+	int32_t read_end1;
+	int32_t ref_end2;
+	uint32_t* cigar;
+	int32_t cigarLen;
+} s_align;
+
+/*!	@function	Create the query profile using the query sequence.
+	@param	read	pointer to the query sequence; the query sequence needs to be numbers
+	@param	readLen	length of the query sequence
+	@param	mat	pointer to the substitution matrix; mat needs to be corresponding to the read sequence
+	@param	n	the square root of the number of elements in mat (mat has n*n elements)
+	@param	score_size	estimated Smith-Waterman score; if your estimated best alignment score is surely < 255 please set 0; if
+						your estimated best alignment score >= 255, please set 1; if you don't know, please set 2
+	@return	pointer to the query profile structure
+	@note	example for parameter read and mat:
+			If the query sequence is: ACGTATC, the sequence that read points to can be: 1234142
+			Then if the penalty for match is 2 and for mismatch is -2, the substitution matrix of parameter mat will be:
+			//A  C  G  T
+			  2 -2 -2 -2 //A
+			 -2  2 -2 -2 //C
+			 -2 -2  2 -2 //G
+			 -2 -2 -2  2 //T
+			mat is the pointer to the array {2, -2, -2, -2, -2, 2, -2, -2, -2, -2, 2, -2, -2, -2, -2, 2}
+*/
+s_profile* ssw_init (const int8_t* read, const int32_t readLen, const int8_t* mat, const int32_t n, const int8_t score_size);
+
+/*!	@function	Release the memory allocated by function ssw_init.
+	@param	p	pointer to the query profile structure
+*/
+void init_destroy (s_profile* p);
+
+// @function	ssw alignment.
+/*!	@function	Do Striped Smith-Waterman alignment.
+	@param	prof	pointer to the query profile structure
+	@param	ref	pointer to the target sequence; the target sequence needs to be numbers and corresponding to the mat parameter of
+				function ssw_init
+	@param	refLen	length of the target sequence
+	@param	weight_gapO	the absolute value of gap open penalty
+	@param	weight_gapE	the absolute value of gap extension penalty
+	@param	flag	bitwise FLAG; (from high to low) bit 5: when setted as 1, function ssw_align will return the best alignment
+					beginning position; bit 6: when setted as 1, if (ref_end1 - ref_begin1 < filterd && read_end1 - read_begin1
+					< filterd), (whatever bit 5 is setted) the function will return the best alignment beginning position and
+					cigar; bit 7: when setted as 1, if the best alignment score >= filters, (whatever bit 5 is setted) the function
+  					will return the best alignment beginning position and cigar; bit 8: when setted as 1, (whatever bit 5, 6 or 7 is
+ 					setted) the function will always return the best alignment beginning position and cigar. When flag == 0, only
+					the optimal and sub-optimal scores and the optimal alignment ending position will be returned.
+	@param	filters	score filter: when bit 7 of flag is setted as 1 and bit 8 is setted as 0, filters will be used (Please check the
+ 					decription of the flag parameter for detailed usage.)
+	@param	filterd	distance filter: when bit 6 of flag is setted as 1 and bit 8 is setted as 0, filterd will be used (Please check
+					the decription of the flag parameter for detailed usage.)
+	@param	maskLen	The distance between the optimal and suboptimal alignment ending position >= maskLen. We suggest to use
+					readLen/2, if you don't have special concerns. Note: maskLen has to be >= 15, otherwise this function will NOT
+					return the suboptimal alignment information. Detailed description of maskLen: After locating the optimal
+					alignment ending position, the suboptimal alignment score can be heuristically found by checking the second
+					largest score in the array that contains the maximal score of each column of the SW matrix. In order to avoid
+					picking the scores that belong to the alignments sharing the partial best alignment, SSW C library masks the
+					reference loci nearby (mask length = maskLen) the best alignment ending position and locates the second largest
+					score from the unmasked elements.
+	@return	pointer to the alignment result structure
+	@note	Whatever the parameter flag is setted, this function will at least return the optimal and sub-optimal alignment score,
+			and the optimal alignment ending positions on target and query sequences. If both bit 6 and 7 of the flag are setted
+			while bit 8 is not, the function will return cigar only when both criteria are fulfilled. All returned positions are
+			0-based coordinate.
+*/
+s_align* ssw_align (const s_profile* prof,
+					const int8_t* ref,
+					int32_t refLen,
+					const uint8_t weight_gapO,
+					const uint8_t weight_gapE,
+					const uint8_t flag,
+					const uint16_t filters,
+					const int32_t filterd,
+					const int32_t maskLen);
+
+/*!	@function	Release the memory allocated by function ssw_align.
+	@param	a	pointer to the alignment result structure
+*/
+void align_destroy (s_align* a);
+
+/*! @function:
+     1. Calculate the number of mismatches.
+     2. Modify the cigar string:
+         differentiate matches (=), mismatches(X), and softclip(S).
+	@param	ref_begin1	0-based best alignment beginning position on the reference sequence
+	@param	read_begin1	0-based best alignment beginning position on the read sequence
+	@param	read_end1	0-based best alignment ending position on the read sequence
+	@param	ref	pointer to the reference sequence
+	@param	read	pointer to the read sequence
+	@param	readLen	length of the read
+	@param	cigar	best alignment cigar; stored the same as that in BAM format, high 28 bits: length, low 4 bits: M/I/D (0/1/2)
+	@param	cigarLen	length of the cigar string
+ 	@return:
+     The number of mismatches.
+	 The cigar and cigarLen are modified.
+*/
+int32_t mark_mismatch (int32_t ref_begin1,
+					   int32_t read_begin1,
+					   int32_t read_end1,
+					   const int8_t* ref,
+					   const int8_t* read,
+					   int32_t readLen,
+					   uint32_t** cigar, 
+					   int32_t* cigarLen);
+
+/*!	@function		Produce CIGAR 32-bit unsigned integer from CIGAR operation and CIGAR length
+	@param	length		length of CIGAR
+	@param	op_letter	CIGAR operation character ('M', 'I', etc)
+	@return			32-bit unsigned integer, representing encoded CIGAR operation and length
+*/
+uint32_t to_cigar_int (uint32_t length, char op_letter);
+
+/*!	@function		Extract CIGAR operation character from CIGAR 32-bit unsigned integer
+	@param	cigar_int	32-bit unsigned integer, representing encoded CIGAR operation and length
+	@return			CIGAR operation character ('M', 'I', etc)
+*/
+//char cigar_int_to_op (uint32_t cigar_int);
+static inline char cigar_int_to_op(uint32_t cigar_int) 
+{
+	return (cigar_int & 0xfU) > 8 ? 'M': MAPSTR[cigar_int & 0xfU];
+}
+
+
+/*!	@function		Extract length of a CIGAR operation from CIGAR 32-bit unsigned integer
+	@param	cigar_int	32-bit unsigned integer, representing encoded CIGAR operation and length
+	@return			length of CIGAR operation
+*/
+//uint32_t cigar_int_to_len (uint32_t cigar_int);
+static inline uint32_t cigar_int_to_len (uint32_t cigar_int)
+{
+	return cigar_int >> BAM_CIGAR_SHIFT;
+}
+#ifdef __cplusplus
+}
+#endif	// __cplusplus
+
+#endif	// SSW_H
diff --git a/third-party/cssw/ssw_cpp.cpp b/third-party/cssw/ssw_cpp.cpp
new file mode 100644
index 0000000..4e3df7d
--- /dev/null
+++ b/third-party/cssw/ssw_cpp.cpp
@@ -0,0 +1,476 @@
+#include "ssw_cpp.h"
+#include "ssw.h"
+
+#include <sstream>
+
+namespace {
+
+static const int8_t kBaseTranslation[128] = {
+    4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,
+    4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,
+    4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,
+    4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,
+  //   A     C            G
+    4, 0, 4, 1,  4, 4, 4, 2,  4, 4, 4, 4,  4, 4, 4, 4,
+  //             T
+    4, 4, 4, 4,  3, 0, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4,
+  //   a     c            g
+    4, 0, 4, 1,  4, 4, 4, 2,  4, 4, 4, 4,  4, 4, 4, 4,
+  //             t
+    4, 4, 4, 4,  3, 0, 4, 4,  4, 4, 4, 4,  4, 4, 4, 4
+};
+
+void BuildSwScoreMatrix(const uint8_t& match_score,
+                        const uint8_t& mismatch_penalty,
+			int8_t* matrix) {
+
+  // The score matrix looks like
+  //                 // A,  C,  G,  T,  N
+  //  score_matrix_ = { 2, -2, -2, -2, -2, // A
+  //                   -2,  2, -2, -2, -2, // C
+  //                   -2, -2,  2, -2, -2, // G
+  //                   -2, -2, -2,  2, -2, // T
+  //                   -2, -2, -2, -2, -2};// N
+
+  int id = 0;
+  for (int i = 0; i < 4; ++i) {
+    for (int j = 0; j < 4; ++j) {
+      matrix[id] = ((i == j) ? match_score : static_cast<int8_t>(-mismatch_penalty));
+      ++id;
+    }
+    matrix[id] = static_cast<int8_t>(-mismatch_penalty); // For N
+    ++id;
+  }
+
+  for (int i = 0; i < 5; ++i)
+    matrix[id++] = static_cast<int8_t>(-mismatch_penalty); // For N
+
+}
+
+void ConvertAlignment(const s_align& s_al,
+                      const int& query_len,
+                      StripedSmithWaterman::Alignment* al) {
+  al->sw_score           = s_al.score1;
+  al->sw_score_next_best = s_al.score2;
+  al->ref_begin          = s_al.ref_begin1;
+  al->ref_end            = s_al.ref_end1;
+  al->query_begin        = s_al.read_begin1;
+  al->query_end          = s_al.read_end1;
+  al->ref_end_next_best  = s_al.ref_end2;
+
+  al->cigar.clear();
+  al->cigar_string.clear();
+
+  if (s_al.cigarLen > 0) {
+    std::ostringstream cigar_string;
+    if (al->query_begin > 0) {
+      uint32_t cigar = to_cigar_int(al->query_begin, 'S');
+      al->cigar.push_back(cigar);
+      cigar_string << al->query_begin << 'S';
+    }
+
+    for (int i = 0; i < s_al.cigarLen; ++i) {
+      al->cigar.push_back(s_al.cigar[i]);
+      cigar_string << cigar_int_to_len(s_al.cigar[i]) << cigar_int_to_op(s_al.cigar[i]);
+    }
+
+    int end = query_len - al->query_end - 1;
+    if (end > 0) {
+      uint32_t cigar = to_cigar_int(end, 'S');
+      al->cigar.push_back(cigar);
+      cigar_string << end << 'S';
+    }
+
+    al->cigar_string = cigar_string.str();
+  } // end if
+}
+
+// @Function:
+//     Calculate the length of the previous cigar operator
+//     and store it in new_cigar and new_cigar_string.
+//     Clean up in_M (false), in_X (false), length_M (0), and length_X(0).
+void CleanPreviousMOperator(
+    bool* in_M,
+    bool* in_X,
+    uint32_t* length_M,
+    uint32_t* length_X,
+    std::vector<uint32_t>* new_cigar,
+    std::ostringstream* new_cigar_string) {
+  if (*in_M) {
+    uint32_t match = to_cigar_int(*length_M, '=');
+    new_cigar->push_back(match);
+    (*new_cigar_string) << *length_M << '=';
+  } else if (*in_X){ //in_X
+    uint32_t match = to_cigar_int(*length_X, 'X');
+    new_cigar->push_back(match);
+    (*new_cigar_string) << *length_X << 'X';
+  }
+
+  // Clean up
+  *in_M = false;
+  *in_X = false;
+  *length_M = 0;
+  *length_X = 0;
+}
+
+// @Function:
+//     1. Calculate the number of mismatches.
+//     2. Modify the cigar string:
+//         differentiate matches (M) and mismatches(X).
+// @Return:
+//     The number of mismatches.
+int CalculateNumberMismatch(
+    StripedSmithWaterman::Alignment* al,
+    int8_t const *ref,
+    int8_t const *query,
+    const int& query_len) {
+
+  ref   += al->ref_begin;
+  query += al->query_begin;
+  int mismatch_length = 0;
+
+  std::vector<uint32_t> new_cigar;
+  std::ostringstream new_cigar_string;
+
+  if (al->query_begin > 0) {
+    uint32_t cigar = to_cigar_int(al->query_begin, 'S');
+    new_cigar.push_back(cigar);
+    new_cigar_string << al->query_begin << 'S';
+  }
+
+  bool in_M = false; // the previous is match
+  bool in_X = false; // the previous is mismatch
+  uint32_t length_M = 0;
+  uint32_t length_X = 0;
+
+  for (unsigned int i = 0; i < al->cigar.size(); ++i) {
+    char op = cigar_int_to_op(al->cigar[i]);
+    uint32_t length = cigar_int_to_len(al->cigar[i]);
+    if (op == 'M') {
+      for (uint32_t j = 0; j < length; ++j) {
+	if (*ref != *query) {
+	  ++mismatch_length;
+          if (in_M) { // the previous is match; however the current one is mismatche
+	    uint32_t match = to_cigar_int(length_M, '=');
+	    new_cigar.push_back(match);
+	    new_cigar_string << length_M << '=';
+	  }
+	  length_M = 0;
+	  ++length_X;
+	  in_M = false;
+	  in_X = true;
+	} else { // *ref == *query
+	  if (in_X) { // the previous is mismatch; however the current one is matche
+	    uint32_t match = to_cigar_int(length_X, 'X');
+	    new_cigar.push_back(match);
+	    new_cigar_string << length_X << 'X';
+	  }
+	  ++length_M;
+	  length_X = 0;
+	  in_M = true;
+	  in_X = false;
+	} // end of if (*ref != *query)
+	++ref;
+	++query;
+      }
+    } else if (op == 'I') {
+      query += length;
+      mismatch_length += length;
+      CleanPreviousMOperator(&in_M, &in_X, &length_M, &length_X, &new_cigar, &new_cigar_string);
+      new_cigar.push_back(al->cigar[i]);
+      new_cigar_string << length << 'I';
+    } else if (op == 'D') {
+      ref += length;
+      mismatch_length += length;
+      CleanPreviousMOperator(&in_M, &in_X, &length_M, &length_X, &new_cigar, &new_cigar_string);
+      new_cigar.push_back(al->cigar[i]);
+      new_cigar_string << length << 'D';
+    }
+  }
+
+  CleanPreviousMOperator(&in_M, &in_X, &length_M, &length_X, &new_cigar, &new_cigar_string);
+
+  int end = query_len - al->query_end - 1;
+  if (end > 0) {
+    uint32_t cigar = to_cigar_int(end, 'S');
+    new_cigar.push_back(cigar);
+    new_cigar_string << end << 'S';
+  }
+
+  al->cigar_string.clear();
+  al->cigar.clear();
+  al->cigar_string = new_cigar_string.str();
+  al->cigar = new_cigar;
+
+  return mismatch_length;
+}
+
+void SetFlag(const StripedSmithWaterman::Filter& filter, uint8_t* flag) {
+  if (filter.report_begin_position) *flag |= 0x08;
+  if (filter.report_cigar) *flag |= 0x0f;
+}
+
+// http://www.cplusplus.com/faq/sequences/arrays/sizeof-array/#cpp
+template <typename T, size_t N>
+inline size_t SizeOfArray( const T(&)[ N ] )
+{
+  return N;
+}
+
+} // namespace
+
+
+
+namespace StripedSmithWaterman {
+
+Aligner::Aligner(void)
+    : score_matrix_(NULL)
+    , score_matrix_size_(5)
+    , translation_matrix_(NULL)
+    , match_score_(2)
+    , mismatch_penalty_(2)
+    , gap_opening_penalty_(3)
+    , gap_extending_penalty_(1)
+    , translated_reference_(NULL)
+    , reference_length_(0)
+{
+  BuildDefaultMatrix();
+}
+
+Aligner::Aligner(
+    const uint8_t& match_score,
+    const uint8_t& mismatch_penalty,
+    const uint8_t& gap_opening_penalty,
+    const uint8_t& gap_extending_penalty)
+
+    : score_matrix_(NULL)
+    , score_matrix_size_(5)
+    , translation_matrix_(NULL)
+    , match_score_(match_score)
+    , mismatch_penalty_(mismatch_penalty)
+    , gap_opening_penalty_(gap_opening_penalty)
+    , gap_extending_penalty_(gap_extending_penalty)
+    , translated_reference_(NULL)
+    , reference_length_(0)
+{
+  BuildDefaultMatrix();
+}
+
+Aligner::Aligner(const int8_t* score_matrix,
+                 const int&    score_matrix_size,
+	         const int8_t* translation_matrix,
+		 const int&    translation_matrix_size)
+
+    : score_matrix_(NULL)
+    , score_matrix_size_(score_matrix_size)
+    , translation_matrix_(NULL)
+    , match_score_(2)
+    , mismatch_penalty_(2)
+    , gap_opening_penalty_(3)
+    , gap_extending_penalty_(1)
+    , translated_reference_(NULL)
+    , reference_length_(0)
+{
+  score_matrix_ = new int8_t[score_matrix_size_ * score_matrix_size_];
+  memcpy(score_matrix_, score_matrix, sizeof(int8_t) * score_matrix_size_ * score_matrix_size_);
+  translation_matrix_ = new int8_t[translation_matrix_size];
+  memcpy(translation_matrix_, translation_matrix, sizeof(int8_t) * translation_matrix_size);
+}
+
+
+Aligner::~Aligner(void){
+  Clear();
+}
+
+int Aligner::SetReferenceSequence(const char* seq, const int& length) {
+
+  int len = 0;
+  if (translation_matrix_) {
+    // calculate the valid length
+    //int calculated_ref_length = static_cast<int>(strlen(seq));
+    //int valid_length = (calculated_ref_length > length)
+    //                   ? length : calculated_ref_length;
+    int valid_length = length;
+    // delete the current buffer
+    CleanReferenceSequence();
+    // allocate a new buffer
+    translated_reference_ = new int8_t[valid_length];
+
+    len = TranslateBase(seq, valid_length, translated_reference_);
+  } else {
+    // nothing
+  }
+
+  reference_length_ = len;
+  return len;
+
+
+}
+
+int Aligner::TranslateBase(const char* bases, const int& length,
+    int8_t* translated) const {
+
+  const char* ptr = bases;
+  int len = 0;
+  for (int i = 0; i < length; ++i) {
+    translated[i] = translation_matrix_[(int) *ptr];
+    ++ptr;
+    ++len;
+  }
+
+  return len;
+}
+
+
+bool Aligner::Align(const char* query, const Filter& filter,
+                    Alignment* alignment) const
+{
+  if (!translation_matrix_) return false;
+  if (reference_length_ == 0) return false;
+
+  int query_len = strlen(query);
+  if (query_len == 0) return false;
+  int8_t* translated_query = new int8_t[query_len];
+  TranslateBase(query, query_len, translated_query);
+
+  const int8_t score_size = 2;
+  s_profile* profile = ssw_init(translated_query, query_len, score_matrix_,
+                                score_matrix_size_, score_size);
+
+  uint8_t flag = 0;
+  SetFlag(filter, &flag);
+  s_align* s_al = ssw_align(profile, translated_reference_, reference_length_,
+                                 static_cast<int>(gap_opening_penalty_),
+				 static_cast<int>(gap_extending_penalty_),
+				 flag, filter.score_filter, filter.distance_filter, query_len);
+
+  alignment->Clear();
+  ConvertAlignment(*s_al, query_len, alignment);
+  alignment->mismatches = CalculateNumberMismatch(&*alignment, translated_reference_, translated_query, query_len);
+
+
+  // Free memory
+  delete [] translated_query;
+  align_destroy(s_al);
+  init_destroy(profile);
+
+  return true;
+}
+
+
+bool Aligner::Align(const char* query, const char* ref, const int& ref_len,
+                    const Filter& filter, Alignment* alignment) const
+{
+  if (!translation_matrix_) return false;
+
+  int query_len = strlen(query);
+  if (query_len == 0) return false;
+  int8_t* translated_query = new int8_t[query_len];
+  TranslateBase(query, query_len, translated_query);
+
+  // calculate the valid length
+  //int calculated_ref_length = static_cast<int>(strlen(ref));
+  //int valid_ref_len = (calculated_ref_length > ref_len)
+  //                    ? ref_len : calculated_ref_length;
+  int valid_ref_len = ref_len;
+  int8_t* translated_ref = new int8_t[valid_ref_len];
+  TranslateBase(ref, valid_ref_len, translated_ref);
+
+
+  const int8_t score_size = 2;
+  s_profile* profile = ssw_init(translated_query, query_len, score_matrix_,
+                                score_matrix_size_, score_size);
+
+  uint8_t flag = 0;
+  SetFlag(filter, &flag);
+  s_align* s_al = ssw_align(profile, translated_ref, valid_ref_len,
+                                 static_cast<int>(gap_opening_penalty_),
+				 static_cast<int>(gap_extending_penalty_),
+				 flag, filter.score_filter, filter.distance_filter, query_len);
+
+  alignment->Clear();
+  ConvertAlignment(*s_al, query_len, alignment);
+  alignment->mismatches = CalculateNumberMismatch(&*alignment, translated_ref, translated_query, query_len);
+
+  // Free memory
+  delete [] translated_query;
+  delete [] translated_ref;
+  align_destroy(s_al);
+  init_destroy(profile);
+
+  return true;
+}
+
+void Aligner::Clear(void) {
+  ClearMatrices();
+  CleanReferenceSequence();
+}
+
+void Aligner::SetAllDefault(void) {
+  score_matrix_size_     = 5;
+  match_score_           = 2;
+  mismatch_penalty_      = 2;
+  gap_opening_penalty_   = 3;
+  gap_extending_penalty_ = 1;
+  reference_length_      = 0;
+}
+
+bool Aligner::ReBuild(void) {
+  if (translation_matrix_) return false;
+
+  SetAllDefault();
+  BuildDefaultMatrix();
+
+  return true;
+}
+
+bool Aligner::ReBuild(
+    const uint8_t& match_score,
+    const uint8_t& mismatch_penalty,
+    const uint8_t& gap_opening_penalty,
+    const uint8_t& gap_extending_penalty) {
+  if (translation_matrix_) return false;
+
+  SetAllDefault();
+
+  match_score_           = match_score;
+  mismatch_penalty_      = mismatch_penalty;
+  gap_opening_penalty_   = gap_opening_penalty;
+  gap_extending_penalty_ = gap_extending_penalty;
+
+  BuildDefaultMatrix();
+
+  return true;
+}
+
+bool Aligner::ReBuild(
+    const int8_t* score_matrix,
+    const int&    score_matrix_size,
+    const int8_t* translation_matrix,
+    const int&    translation_matrix_size) {
+
+  ClearMatrices();
+  score_matrix_ = new int8_t[score_matrix_size_ * score_matrix_size_];
+  memcpy(score_matrix_, score_matrix, sizeof(int8_t) * score_matrix_size_ * score_matrix_size_);
+  translation_matrix_ = new int8_t[translation_matrix_size];
+  memcpy(translation_matrix_, translation_matrix, sizeof(int8_t) * translation_matrix_size);
+
+  return true;
+}
+
+void Aligner::BuildDefaultMatrix(void) {
+  ClearMatrices();
+  score_matrix_ = new int8_t[score_matrix_size_ * score_matrix_size_];
+  BuildSwScoreMatrix(match_score_, mismatch_penalty_, score_matrix_);
+  translation_matrix_ = new int8_t[SizeOfArray(kBaseTranslation)];
+  memcpy(translation_matrix_, kBaseTranslation, sizeof(int8_t) * SizeOfArray(kBaseTranslation));
+}
+
+void Aligner::ClearMatrices(void) {
+  delete [] score_matrix_;
+  score_matrix_ = NULL;
+
+  delete [] translation_matrix_;
+  translation_matrix_ = NULL;
+}
+} // namespace StripedSmithWaterman
diff --git a/third-party/cssw/ssw_cpp.h b/third-party/cssw/ssw_cpp.h
new file mode 100644
index 0000000..cdcf717
--- /dev/null
+++ b/third-party/cssw/ssw_cpp.h
@@ -0,0 +1,219 @@
+#ifndef COMPLETE_STRIPED_SMITH_WATERMAN_CPP_H_
+#define COMPLETE_STRIPED_SMITH_WATERMAN_CPP_H_
+
+#include <stdint.h>
+#include <string>
+#include <vector>
+
+namespace StripedSmithWaterman {
+
+struct Alignment {
+  uint16_t sw_score;           // The best alignment score
+  uint16_t sw_score_next_best; // The next best alignment score
+  int32_t  ref_begin;          // Reference begin position of the best alignment
+  int32_t  ref_end;            // Reference end position of the best alignment
+  int32_t  query_begin;        // Query begin position of the best alignment
+  int32_t  query_end;          // Query end position of the best alignment
+  int32_t  ref_end_next_best;  // Reference end position of the next best alignment
+  int32_t  mismatches;         // Number of mismatches of the alignment
+  std::string cigar_string;    // Cigar string of the best alignment
+  std::vector<uint32_t> cigar; // Cigar stored in the BAM format
+                               //   high 28 bits: length
+			       //   low 4 bits: M/I/D/S/X (0/1/2/4/8);
+  void Clear() {
+    sw_score           = 0;
+    sw_score_next_best = 0;
+    ref_begin          = 0;
+    ref_end            = 0;
+    query_begin        = 0;
+    query_end          = 0;
+    ref_end_next_best  = 0;
+    mismatches         = 0;
+    cigar_string.clear();
+    cigar.clear();
+  };
+};
+
+struct Filter {
+  // NOTE: No matter the filter, those five fields of Alignment will be given anyway.
+  //       sw_score; sw_score_next_best; ref_end; query_end; ref_end_next_best.
+  // NOTE: Only need score of alignments, please set 'report_begin_position'
+  //       and 'report_cigar' false.
+
+  bool report_begin_position;    // Give ref_begin and query_begin.
+                                 //   If it is not set, ref_begin and query_begin are -1.
+  bool report_cigar;             // Give cigar_string and cigar.
+                                 //   report_begin_position is automatically TRUE.
+
+  // When *report_cigar* is true and alignment passes these two filters,
+  //   cigar_string and cigar will be given.
+  uint16_t score_filter;         // score >= score_filter
+  uint16_t distance_filter;      // ((ref_end - ref_begin) < distance_filter) &&
+                                 // ((query_end - read_begin) < distance_filter)
+
+  Filter()
+    : report_begin_position(true)
+    , report_cigar(true)
+    , score_filter(0)
+    , distance_filter(32767)
+  {};
+
+  Filter(const bool& pos, const bool& cigar, const uint16_t& score, const uint16_t& dis)
+    : report_begin_position(pos)
+    , report_cigar(cigar)
+    , score_filter(score)
+    , distance_filter(dis)
+    {};
+};
+
+class Aligner {
+ public:
+  // =========
+  // @function Construct an Aligner on default values.
+  //             The function will build the {A.C,G,T,N} aligner.
+  //             If you target for other character aligners, then please
+  //             use the other constructor and pass the corresponding matrix in.
+  // =========
+  Aligner(void);
+
+  // =========
+  // @function Construct an Aligner by assigning scores.
+  //             The function will build the {A.C,G,T,N} aligner.
+  //             If you target for other character aligners, then please
+  //             use the other constructor and pass the corresponding matrix in.
+  // =========
+  Aligner(const uint8_t& match_score,
+          const uint8_t& mismatch_penalty,
+	  const uint8_t& gap_opening_penalty,
+	  const uint8_t& gap_extending_penalty);
+
+  // =========
+  // @function Construct an Aligner by the specific matrixs.
+  // =========
+  Aligner(const int8_t* score_matrix,
+          const int&    score_matrix_size,
+          const int8_t* translation_matrix,
+	  const int&    translation_matrix_size);
+
+  ~Aligner(void);
+
+  // =========
+  // @function Build the reference sequence and thus make
+  //             Align(const char* query, s_align* alignment) function;
+  //             otherwise the reference should be given when aligning.
+  //           [NOTICE] If there exists a sequence, that one will be deleted
+  //                    and replaced.
+  // @param    seq    The reference bases;
+  //                  [NOTICE] It is not necessary null terminated.
+  // @param    length The length of bases will be be built.
+  // @return   The length of the built bases.
+  // =========
+  int SetReferenceSequence(const char* seq, const int& length);
+
+  void CleanReferenceSequence(void);
+
+  // =========
+  // @function Set penalties for opening and extending gaps
+  //           [NOTICE] The defaults are 3 and 1 respectively.
+  // =========
+  void SetGapPenalty(const uint8_t& opening, const uint8_t& extending) {
+    gap_opening_penalty_ = opening;
+    gap_extending_penalty_ = extending;
+  };
+
+  // =========
+  // @function Align the query againt the reference that is set by
+  //             SetReferenceSequence.
+  // @param    query     The query sequence.
+  // @param    filter    The filter for the alignment.
+  // @param    alignment The container contains the result.
+  // @return   True: succeed; false: fail.
+  // =========
+  bool Align(const char* query, const Filter& filter, Alignment* alignment) const;
+
+  // =========
+  // @function Align the query againt the reference.
+  //           [NOTICE] The reference won't replace the reference
+  //                      set by SetReferenceSequence.
+  // @param    query     The query sequence.
+  // @param    ref       The reference sequence.
+  //                     [NOTICE] It is not necessary null terminated.
+  // @param    ref_len   The length of the reference sequence.
+  // @param    filter    The filter for the alignment.
+  // @param    alignment The container contains the result.
+  // @return   True: succeed; false: fail.
+  // =========
+  bool Align(const char* query, const char* ref, const int& ref_len,
+             const Filter& filter, Alignment* alignment) const;
+
+  // @function Clear up all containers and thus the aligner is disabled.
+  //             To rebuild the aligner please use Build functions.
+  void Clear(void);
+
+  // =========
+  // @function Rebuild the aligner's ability on default values.
+  //           [NOTICE] If the aligner is not cleaned, rebuilding will fail.
+  // @return   True: succeed; false: fail.
+  // =========
+  bool ReBuild(void);
+
+  // =========
+  // @function Rebuild the aligner's ability by the specific matrixs.
+  //           [NOTICE] If the aligner is not cleaned, rebuilding will fail.
+  // @return   True: succeed; false: fail.
+  // =========
+  bool ReBuild(
+          const uint8_t& match_score,
+          const uint8_t& mismatch_penalty,
+	  const uint8_t& gap_opening_penalty,
+	  const uint8_t& gap_extending_penalty);
+
+  // =========
+  // @function Construct an Aligner by the specific matrixs.
+  //           [NOTICE] If the aligner is not cleaned, rebuilding will fail.
+  // @return   True: succeed; false: fail.
+  // =========
+  bool ReBuild(
+          const int8_t* score_matrix,
+          const int&    score_matrix_size,
+          const int8_t* translation_matrix,
+	  const int&    translation_matrix_size);
+
+ private:
+  int8_t* score_matrix_;
+  int     score_matrix_size_;
+  int8_t* translation_matrix_;
+
+  uint8_t match_score_;           // default: 2
+  uint8_t mismatch_penalty_;      // default: 2
+  uint8_t gap_opening_penalty_;   // default: 3
+  uint8_t gap_extending_penalty_; // default: 1
+
+  int8_t* translated_reference_;
+  int32_t reference_length_;
+
+  int TranslateBase(const char* bases, const int& length, int8_t* translated) const;
+  void SetAllDefault(void);
+  void BuildDefaultMatrix(void);
+  void ClearMatrices(void);
+
+  Aligner& operator= (const Aligner&);
+  Aligner (const Aligner&);
+}; // class Aligner
+
+
+// ================
+// inline functions
+// ================
+inline void Aligner::CleanReferenceSequence(void) {
+  if (reference_length_ == 0) return;
+
+  // delete the current buffer
+  if (reference_length_ > 1) delete [] translated_reference_;
+  else delete translated_reference_;
+
+  reference_length_ = 0;
+}
+} // namespace StripedSmithWaterman
+
+#endif // COMPLETE_STRIPED_SMITH_WATERMAN_CPP_H_
diff --git a/tools/check-formatting b/tools/check-formatting
new file mode 100755
index 0000000..051c316
--- /dev/null
+++ b/tools/check-formatting
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+PLATFORM=$(uname)
+TOOLSPATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
+CLANGFORMAT="${TOOLSPATH}/${PLATFORM}/clang-format -style=file"
+
+if [ "$1" == "--all" ]
+then
+    find include src tests/unit \( -name *.cpp -or -name *.h \) -print0 \
+    | xargs -n1 -0 ${CLANGFORMAT} -output-replacements-xml \
+    | grep -c "<replacement " > /dev/null
+    grepCode=$?
+elif [ "$1" == "--staged" ]
+then
+    git diff --cached --name-only --diff-filter=ACMRT | grep -e '.*\.h$' -e '.*\.cpp' -v '**third-party/*' \
+    | xargs -n1 ${CLANGFORMAT} -output-replacements-xml \
+    | grep -c "<replacement " >/dev/null
+    grepCode=$?
+else
+    echo "Please specify --all or --staged"
+    exit 1
+fi
+
+# grep exits 0 => found needed formatting changes
+if [ $grepCode -ne 0 ]
+then
+    echo "Formatting looks good!"
+    exit 0
+else
+    echo "****************************************************"
+    echo "Code needs formatting!  Please use 'tools/format-all'"
+    echo "****************************************************"
+    exit 1
+fi
diff --git a/tools/format-all b/tools/format-all
new file mode 100755
index 0000000..caee8af
--- /dev/null
+++ b/tools/format-all
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# This command can be run by the user to clang-format everything.
+
+PLATFORM=$(uname)
+TOOLSPATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
+CLANGFORMAT="${TOOLSPATH}/${PLATFORM}/clang-format -style=file"
+
+find include src tests/unit \( -name *.cpp -or -name *.h \) -print0 | xargs -n1 -0 ${CLANGFORMAT} -i
diff --git a/tools/git-clang-format b/tools/git-clang-format
new file mode 100755
index 0000000..0c45762
--- /dev/null
+++ b/tools/git-clang-format
@@ -0,0 +1,485 @@
+#!/usr/bin/env python
+#
+#===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===#
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+#===------------------------------------------------------------------------===#
+
+r"""                                                                             
+clang-format git integration                                                     
+============================                                                     
+                                                                                 
+This file provides a clang-format integration for git. Put it somewhere in your  
+path and ensure that it is executable. Then, "git clang-format" will invoke      
+clang-format on the changes in current files or a specific commit.               
+                                                                                 
+For further details, run:                                                        
+git clang-format -h                                                              
+                                                                                 
+Requires Python 2.7                                                              
+"""               
+
+import argparse
+import collections
+import contextlib
+import errno
+import os
+import re
+import subprocess
+import sys
+
+usage = 'git clang-format [OPTIONS] [<commit>] [--] [<file>...]'
+
+desc = '''
+Run clang-format on all lines that differ between the working directory
+and <commit>, which defaults to HEAD.  Changes are only applied to the working
+directory.
+
+The following git-config settings set the default of the corresponding option:
+  clangFormat.binary
+  clangFormat.commit
+  clangFormat.extension
+  clangFormat.style
+'''
+
+# Name of the temporary index file in which save the output of clang-format.
+# This file is created within the .git directory.
+temp_index_basename = 'clang-format-index'
+
+
+Range = collections.namedtuple('Range', 'start, count')
+
+
+def main():
+  config = load_git_config()
+
+  # In order to keep '--' yet allow options after positionals, we need to
+  # check for '--' ourselves.  (Setting nargs='*' throws away the '--', while
+  # nargs=argparse.REMAINDER disallows options after positionals.)
+  argv = sys.argv[1:]
+  try:
+    idx = argv.index('--')
+  except ValueError:
+    dash_dash = []
+  else:
+    dash_dash = argv[idx:]
+    argv = argv[:idx]
+
+  default_extensions = ','.join([
+      # From clang/lib/Frontend/FrontendOptions.cpp, all lower case
+      'c', 'h',  # C
+      'm',  # ObjC
+      'mm',  # ObjC++
+      'cc', 'cp', 'cpp', 'c++', 'cxx', 'hpp',  # C++
+      # Other languages that clang-format supports
+      'proto', 'protodevel',  # Protocol Buffers
+      'js',  # JavaScript
+      'ts',  # TypeScript
+      ])
+
+  p = argparse.ArgumentParser(
+    usage=usage, formatter_class=argparse.RawDescriptionHelpFormatter,
+    description=desc)
+  p.add_argument('--binary',
+                 default=config.get('clangformat.binary', 'clang-format'),
+                 help='path to clang-format'),
+  p.add_argument('--commit',
+                 default=config.get('clangformat.commit', 'HEAD'),
+                 help='default commit to use if none is specified'),
+  p.add_argument('--diff', action='store_true',
+                 help='print a diff instead of applying the changes')
+  p.add_argument('--extensions',
+                 default=config.get('clangformat.extensions',
+                                    default_extensions),
+                 help=('comma-separated list of file extensions to format, '
+                       'excluding the period and case-insensitive')),
+  p.add_argument('-f', '--force', action='store_true',
+                 help='allow changes to unstaged files')
+  p.add_argument('-p', '--patch', action='store_true',
+                 help='select hunks interactively')
+  p.add_argument('-q', '--quiet', action='count', default=0,
+                 help='print less information')
+  p.add_argument('--style',
+                 default=config.get('clangformat.style', None),
+                 help='passed to clang-format'),
+  p.add_argument('-v', '--verbose', action='count', default=0,
+                 help='print extra information')
+  # We gather all the remaining positional arguments into 'args' since we need
+  # to use some heuristics to determine whether or not <commit> was present.
+  # However, to print pretty messages, we make use of metavar and help.
+  p.add_argument('args', nargs='*', metavar='<commit>',
+                 help='revision from which to compute the diff')
+  p.add_argument('ignored', nargs='*', metavar='<file>...',
+                 help='if specified, only consider differences in these files')
+  opts = p.parse_args(argv)
+
+  opts.verbose -= opts.quiet
+  del opts.quiet
+
+  commit, files = interpret_args(opts.args, dash_dash, opts.commit)
+  changed_lines = compute_diff_and_extract_lines(commit, files)
+  if opts.verbose >= 1:
+    ignored_files = set(changed_lines)
+  filter_by_extension(changed_lines, opts.extensions.lower().split(','))
+  if opts.verbose >= 1:
+    ignored_files.difference_update(changed_lines)
+    if ignored_files:
+      print 'Ignoring changes in the following files (wrong extension):'
+      for filename in ignored_files:
+        print '   ', filename
+    if changed_lines:
+      print 'Running clang-format on the following files:'
+      for filename in changed_lines:
+        print '   ', filename
+  if not changed_lines:
+    print 'no modified files to format'
+    return
+  # The computed diff outputs absolute paths, so we must cd before accessing
+  # those files.
+  cd_to_toplevel()
+  old_tree = create_tree_from_workdir(changed_lines)
+  new_tree = run_clang_format_and_save_to_tree(changed_lines,
+                                               binary=opts.binary,
+                                               style=opts.style)
+  if opts.verbose >= 1:
+    print 'old tree:', old_tree
+    print 'new tree:', new_tree
+  if old_tree == new_tree:
+    if opts.verbose >= 0:
+      print 'clang-format did not modify any files'
+  elif opts.diff:
+    print_diff(old_tree, new_tree)
+  else:
+    changed_files = apply_changes(old_tree, new_tree, force=opts.force,
+                                  patch_mode=opts.patch)
+    if (opts.verbose >= 0 and not opts.patch) or opts.verbose >= 1:
+      print 'changed files:'
+      for filename in changed_files:
+        print '   ', filename
+
+
+def load_git_config(non_string_options=None):
+  """Return the git configuration as a dictionary.
+
+  All options are assumed to be strings unless in `non_string_options`, in which
+  is a dictionary mapping option name (in lower case) to either "--bool" or
+  "--int"."""
+  if non_string_options is None:
+    non_string_options = {}
+  out = {}
+  for entry in run('git', 'config', '--list', '--null').split('\0'):
+    if entry:
+      name, value = entry.split('\n', 1)
+      if name in non_string_options:
+        value = run('git', 'config', non_string_options[name], name)
+      out[name] = value
+  return out
+
+
+def interpret_args(args, dash_dash, default_commit):
+  """Interpret `args` as "[commit] [--] [files...]" and return (commit, files).
+
+  It is assumed that "--" and everything that follows has been removed from
+  args and placed in `dash_dash`.
+
+  If "--" is present (i.e., `dash_dash` is non-empty), the argument to its
+  left (if present) is taken as commit.  Otherwise, the first argument is
+  checked if it is a commit or a file.  If commit is not given,
+  `default_commit` is used."""
+  if dash_dash:
+    if len(args) == 0:
+      commit = default_commit
+    elif len(args) > 1:
+      die('at most one commit allowed; %d given' % len(args))
+    else:
+      commit = args[0]
+    object_type = get_object_type(commit)
+    if object_type not in ('commit', 'tag'):
+      if object_type is None:
+        die("'%s' is not a commit" % commit)
+      else:
+        die("'%s' is a %s, but a commit was expected" % (commit, object_type))
+    files = dash_dash[1:]
+  elif args:
+    if disambiguate_revision(args[0]):
+      commit = args[0]
+      files = args[1:]
+    else:
+      commit = default_commit
+      files = args
+  else:
+    commit = default_commit
+    files = []
+  return commit, files
+
+
+def disambiguate_revision(value):
+  """Returns True if `value` is a revision, False if it is a file, or dies."""
+  # If `value` is ambiguous (neither a commit nor a file), the following
+  # command will die with an appropriate error message.
+  run('git', 'rev-parse', value, verbose=False)
+  object_type = get_object_type(value)
+  if object_type is None:
+    return False
+  if object_type in ('commit', 'tag'):
+    return True
+  die('`%s` is a %s, but a commit or filename was expected' %
+      (value, object_type))
+
+
+def get_object_type(value):
+  """Returns a string description of an object's type, or None if it is not
+  a valid git object."""
+  cmd = ['git', 'cat-file', '-t', value]
+  p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+  stdout, stderr = p.communicate()
+  if p.returncode != 0:
+    return None
+  return stdout.strip()
+
+
+def compute_diff_and_extract_lines(commit, files):
+  """Calls compute_diff() followed by extract_lines()."""
+  diff_process = compute_diff(commit, files)
+  changed_lines = extract_lines(diff_process.stdout)
+  diff_process.stdout.close()
+  diff_process.wait()
+  if diff_process.returncode != 0:
+    # Assume error was already printed to stderr.
+    sys.exit(2)
+  return changed_lines
+
+
+def compute_diff(commit, files):
+  """Return a subprocess object producing the diff from `commit`.
+
+  The return value's `stdin` file object will produce a patch with the
+  differences between the working directory and `commit`, filtered on `files`
+  (if non-empty).  Zero context lines are used in the patch."""
+  cmd = ['git', 'diff-index', '-p', '-U0', commit, '--']
+  cmd.extend(files)
+  p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+  p.stdin.close()
+  return p
+
+
+def extract_lines(patch_file):
+  """Extract the changed lines in `patch_file`.
+
+  The return value is a dictionary mapping filename to a list of (start_line,
+  line_count) pairs.
+
+  The input must have been produced with ``-U0``, meaning unidiff format with
+  zero lines of context.  The return value is a dict mapping filename to a
+  list of line `Range`s."""
+  matches = {}
+  for line in patch_file:
+    match = re.search(r'^\+\+\+\ [^/]+/(.*)', line)
+    if match:
+      filename = match.group(1).rstrip('\r\n')
+    match = re.search(r'^@@ -[0-9,]+ \+(\d+)(,(\d+))?', line)
+    if match:
+      start_line = int(match.group(1))
+      line_count = 1
+      if match.group(3):
+        line_count = int(match.group(3))
+      if line_count > 0:
+        matches.setdefault(filename, []).append(Range(start_line, line_count))
+  return matches
+
+
+def filter_by_extension(dictionary, allowed_extensions):
+  """Delete every key in `dictionary` that doesn't have an allowed extension.
+
+  `allowed_extensions` must be a collection of lowercase file extensions,
+  excluding the period."""
+  allowed_extensions = frozenset(allowed_extensions)
+  for filename in dictionary.keys():
+    base_ext = filename.rsplit('.', 1)
+    if len(base_ext) == 1 or base_ext[1].lower() not in allowed_extensions:
+      del dictionary[filename]
+
+
+def cd_to_toplevel():
+  """Change to the top level of the git repository."""
+  toplevel = run('git', 'rev-parse', '--show-toplevel')
+  os.chdir(toplevel)
+
+
+def create_tree_from_workdir(filenames):
+  """Create a new git tree with the given files from the working directory.
+
+  Returns the object ID (SHA-1) of the created tree."""
+  return create_tree(filenames, '--stdin')
+
+
+def run_clang_format_and_save_to_tree(changed_lines, binary='clang-format',
+                                      style=None):
+  """Run clang-format on each file and save the result to a git tree.
+
+  Returns the object ID (SHA-1) of the created tree."""
+  def index_info_generator():
+    for filename, line_ranges in changed_lines.iteritems():
+      mode = oct(os.stat(filename).st_mode)
+      blob_id = clang_format_to_blob(filename, line_ranges, binary=binary,
+                                     style=style)
+      yield '%s %s\t%s' % (mode, blob_id, filename)
+  return create_tree(index_info_generator(), '--index-info')
+
+
+def create_tree(input_lines, mode):
+  """Create a tree object from the given input.
+
+  If mode is '--stdin', it must be a list of filenames.  If mode is
+  '--index-info' is must be a list of values suitable for "git update-index
+  --index-info", such as "<mode> <SP> <sha1> <TAB> <filename>".  Any other mode
+  is invalid."""
+  assert mode in ('--stdin', '--index-info')
+  cmd = ['git', 'update-index', '--add', '-z', mode]
+  with temporary_index_file():
+    p = subprocess.Popen(cmd, stdin=subprocess.PIPE)
+    for line in input_lines:
+      p.stdin.write('%s\0' % line)
+    p.stdin.close()
+    if p.wait() != 0:
+      die('`%s` failed' % ' '.join(cmd))
+    tree_id = run('git', 'write-tree')
+    return tree_id
+
+
+def clang_format_to_blob(filename, line_ranges, binary='clang-format',
+                         style=None):
+  """Run clang-format on the given file and save the result to a git blob.
+
+  Returns the object ID (SHA-1) of the created blob."""
+  clang_format_cmd = [binary, filename]
+  if style:
+    clang_format_cmd.extend(['-style='+style])
+  clang_format_cmd.extend([
+      '-lines=%s:%s' % (start_line, start_line+line_count-1)
+      for start_line, line_count in line_ranges])
+  try:
+    clang_format = subprocess.Popen(clang_format_cmd, stdin=subprocess.PIPE,
+                                    stdout=subprocess.PIPE)
+  except OSError as e:
+    if e.errno == errno.ENOENT:
+      die('cannot find executable "%s"' % binary)
+    else:
+      raise
+  clang_format.stdin.close()
+  hash_object_cmd = ['git', 'hash-object', '-w', '--path='+filename, '--stdin']
+  hash_object = subprocess.Popen(hash_object_cmd, stdin=clang_format.stdout,
+                                 stdout=subprocess.PIPE)
+  clang_format.stdout.close()
+  stdout = hash_object.communicate()[0]
+  if hash_object.returncode != 0:
+    die('`%s` failed' % ' '.join(hash_object_cmd))
+  if clang_format.wait() != 0:
+    die('`%s` failed' % ' '.join(clang_format_cmd))
+  return stdout.rstrip('\r\n')
+
+
+ at contextlib.contextmanager
+def temporary_index_file(tree=None):
+  """Context manager for setting GIT_INDEX_FILE to a temporary file and deleting
+  the file afterward."""
+  index_path = create_temporary_index(tree)
+  old_index_path = os.environ.get('GIT_INDEX_FILE')
+  os.environ['GIT_INDEX_FILE'] = index_path
+  try:
+    yield
+  finally:
+    if old_index_path is None:
+      del os.environ['GIT_INDEX_FILE']
+    else:
+      os.environ['GIT_INDEX_FILE'] = old_index_path
+    os.remove(index_path)
+
+
+def create_temporary_index(tree=None):
+  """Create a temporary index file and return the created file's path.
+
+  If `tree` is not None, use that as the tree to read in.  Otherwise, an
+  empty index is created."""
+  gitdir = run('git', 'rev-parse', '--git-dir')
+  path = os.path.join(gitdir, temp_index_basename)
+  if tree is None:
+    tree = '--empty'
+  run('git', 'read-tree', '--index-output='+path, tree)
+  return path
+
+
+def print_diff(old_tree, new_tree):
+  """Print the diff between the two trees to stdout."""
+  # We use the porcelain 'diff' and not plumbing 'diff-tree' because the output
+  # is expected to be viewed by the user, and only the former does nice things
+  # like color and pagination.
+  subprocess.check_call(['git', 'diff', old_tree, new_tree, '--'])
+
+
+def apply_changes(old_tree, new_tree, force=False, patch_mode=False):
+  """Apply the changes in `new_tree` to the working directory.
+
+  Bails if there are local changes in those files and not `force`.  If
+  `patch_mode`, runs `git checkout --patch` to select hunks interactively."""
+  changed_files = run('git', 'diff-tree', '-r', '-z', '--name-only', old_tree,
+                      new_tree).rstrip('\0').split('\0')
+  if not force:
+    unstaged_files = run('git', 'diff-files', '--name-status', *changed_files)
+    if unstaged_files:
+      print >>sys.stderr, ('The following files would be modified but '
+                           'have unstaged changes:')
+      print >>sys.stderr, unstaged_files
+      print >>sys.stderr, 'Please commit, stage, or stash them first.'
+      sys.exit(2)
+  if patch_mode:
+    # In patch mode, we could just as well create an index from the new tree
+    # and checkout from that, but then the user will be presented with a
+    # message saying "Discard ... from worktree".  Instead, we use the old
+    # tree as the index and checkout from new_tree, which gives the slightly
+    # better message, "Apply ... to index and worktree".  This is not quite
+    # right, since it won't be applied to the user's index, but oh well.
+    with temporary_index_file(old_tree):
+      subprocess.check_call(['git', 'checkout', '--patch', new_tree])
+    index_tree = old_tree
+  else:
+    with temporary_index_file(new_tree):
+      run('git', 'checkout-index', '-a', '-f')
+  return changed_files
+
+
+def run(*args, **kwargs):
+  stdin = kwargs.pop('stdin', '')
+  verbose = kwargs.pop('verbose', True)
+  strip = kwargs.pop('strip', True)
+  for name in kwargs:
+    raise TypeError("run() got an unexpected keyword argument '%s'" % name)
+  p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
+                       stdin=subprocess.PIPE)
+  stdout, stderr = p.communicate(input=stdin)
+  if p.returncode == 0:
+    if stderr:
+      if verbose:
+        print >>sys.stderr, '`%s` printed to stderr:' % ' '.join(args)
+      print >>sys.stderr, stderr.rstrip()
+    if strip:
+      stdout = stdout.rstrip('\r\n')
+    return stdout
+  if verbose:
+    print >>sys.stderr, '`%s` returned %s' % (' '.join(args), p.returncode)
+  if stderr:
+    print >>sys.stderr, stderr.rstrip()
+  sys.exit(2)
+
+
+def die(message):
+  print >>sys.stderr, 'error:', message
+  sys.exit(2)
+
+
+if __name__ == '__main__':
+  main()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/unanimity.git



More information about the debian-med-commit mailing list