diff --git a/.autotools b/.autotools
new file mode 100644
index 0000000000000000000000000000000000000000..d78a6db15663c046d334d0367a0aeae1b7bb1ae7
--- /dev/null
+++ b/.autotools
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurations>
+<configuration id="org.eclipse.linuxtools.cdt.autotools.core.configuration.build.1743682841">
+<option id="configure" value="configure"/>
+<option id="configdir" value=""/>
+<option id="cache-file" value=""/>
+<option id="help" value="false"/>
+<option id="no-create" value="false"/>
+<option id="quiet" value="false"/>
+<option id="version" value="false"/>
+<option id="host" value=""/>
+<option id="build" value=""/>
+<option id="target" value=""/>
+<option id="prefix" value=""/>
+<option id="exec-prefix" value=""/>
+<option id="libdir" value=""/>
+<option id="bindir" value=""/>
+<option id="sbindir" value=""/>
+<option id="includedir" value=""/>
+<option id="datadir" value=""/>
+<option id="sysconfdir" value=""/>
+<option id="infodir" value=""/>
+<option id="mandir" value=""/>
+<option id="srcdir" value=""/>
+<option id="localstatedir" value=""/>
+<option id="sharedstatedir" value=""/>
+<option id="libexecdir" value=""/>
+<option id="oldincludedir" value=""/>
+<option id="program-prefix" value=""/>
+<option id="program-suffix" value=""/>
+<option id="program-transform-name" value=""/>
+<option id="enable-maintainer-mode" value="false"/>
+<flag id="CFLAGS" value="CFLAGS|CXXFLAGS">
+<flagvalue id="cflags-debug" value="false"/>
+<flagvalue id="cflags-gprof" value="false"/>
+<flagvalue id="cflags-gcov" value="false"/>
+</flag>
+<option id="user" value=""/>
+<option id="autogen" value="autogen.sh"/>
+<option id="autogenOpts" value=""/>
+</configuration>
+</configurations>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f690e3e5f0cdfff6dd0faf7cb5d086353f6aa937
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+*.o
+*.a
+config.log
+config.status
+Makefile
+.deps
+rock-*.tar.gz
+rock
+unit_test_*
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..05d2fbfac7387b2d0fd8fc7f93a986bd6910151a
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,760 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
+	INSTALL NEWS README config.guess config.sub depcomp install-sh \
+	missing
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EXEEXT = @EXEEXT@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POD2MAN = @POD2MAN@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . src test doc
+all: all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__post_remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__post_remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__post_remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+	$(am__post_remove_distdir)
+
+dist-tarZ: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__post_remove_distdir)
+
+dist-shar: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__post_remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__post_remove_distdir)
+
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir)
+	chmod u+w $(distdir)
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__post_remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-cscope clean-generic \
+	cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
+	distcheck distclean distclean-generic distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
index 4b9d37e109d62efaf2adea17c8d99cab6ad9c0d9..7d12cce10a6ed496d6a84a228b4b51fc4f414b33 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,39 @@
+New in version 1.8
+ * Bugfix: The "process PE separately option" was only taken into account when calculating the median coverage.
+During original parsing for determining which reads are "undefined", PE were considered as single so the -m option for PE was not useful.
+This is now fixed.
+ * Bugfix 2 : when specifying -q 0 option (ie indicating that you do not want to take the nucleotide's score into account), nucleotides
+with score =0 were considered as errors and k-mers containing them were not taken into account. This is now fixed. Indicating -q 0 takes all (non 'N')
+nucleotides into account.
+ * -p option now takes arguments:
+         0 : PE are processed as single
+         1 : PE are processed separately. A PE is removed by the low filter if R1 and R2 have coverage below kappa_prime.
+         2 : PE are processed separately. A PE is removed by the low filter if if R1 or R2 have coverage below kappa_prime.
+
+
+New in version 1.7
+ * -m option now also available when PE reads are processed separately.
+
+New in version 1.6
+ * code refactoring (no impact for the user)
+ * Default values for options have changed:
+ * --PE_separated has been removed because it is now the default behavior.
+ * -p has been introduced for the case where you want to process PE as single.
+ * see man for other option new values.
+ * bugfix in the counting of k-mers in errors: for small reads (ie read length<2*k) containing a lot of errors; it was possible that the number of k-mers in error was greater than the total number of k-mers.
+This resulted in PE reads being kept whereas PE2 was only containing nucleotides in error.
+ * code optimization on loops: a few seconds faster than 1.5.1.
+
+New in version 1.5.1
+ * bug fix for --separate_PE behavior is now as specified: keep read if R1 or R2 have coverage below kappa.
+Remove read if R1 and R2 have coverage below kappa_prime.
+
+New in version 1.5
+ * --separate_PE option for taking into account the 2 ends of a PE separately in the CMS. Default mode is concatenating the 2 ends and treat them as a single read in the CMS.
+
+New in version 1.4
+ * -m option for required minimum number of correct k-mer to keep a read. 
+
 New in version 1.3
  * -q option for nucleotique quality score threshold.
 
diff --git a/aclocal.m4 b/aclocal.m4
index 280cf854216d4cf803667acf43f130c234a88ec0..bf79d078cb0afb5a0ca6509ef121bb351a1bb92b 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,59 +11,62 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-#                                                        -*- Autoconf -*-
-# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
-# Generated from amversion.in; do not edit by hand.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.15'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.15], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
 
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-	 [AM_AUTOMAKE_VERSION([1.9])])
-
-# AM_AUX_DIR_EXPAND
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+[AM_AUTOMAKE_VERSION([1.15])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -82,7 +85,7 @@ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -100,42 +103,31 @@ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
-# AM_CONDITIONAL                                              -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 6
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -149,39 +141,24 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# serial 7						-*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
 
-
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -194,11 +171,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -206,8 +185,9 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -225,6 +205,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
@@ -236,34 +226,49 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
 	break
       fi
       ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -296,7 +301,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -306,80 +311,85 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
-# Generate code to set up dependency tracking.   -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
-#   Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-#serial 2
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # So let's grep whole file.
-  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+[{
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
@@ -388,7 +398,7 @@ done
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -396,30 +406,22 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
      [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
 ])
 
-# Do all the work for Automake.                            -*- Autoconf -*-
-
-# This macro actually does too much some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Do all the work for Automake.                             -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
 
-# serial 11
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
 
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
@@ -433,16 +435,20 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
 AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
-   test -f $srcdir/config.status; then
-  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
 fi
 
 # test whether we have cygpath
@@ -458,48 +464,125 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
@@ -510,62 +593,44 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
 # our stamp files there.
 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
 [# Compute $1's index in $config_headers.
+_am_arg=$1
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $1 | $1:* )
+    $_am_arg | $_am_arg:* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-#                                                          -*- Autoconf -*-
-# Copyright (C) 2003  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST([install_sh])])
 
-# serial 1
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
@@ -580,26 +645,13 @@ fi
 rmdir .tst 2>/dev/null
 AC_SUBST([am__leading_dot])])
 
-# Check to see how 'make' treats includes.	-*- Autoconf -*-
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -608,7 +660,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
@@ -618,24 +670,24 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # Now try BSD make style include.
 if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
@@ -643,27 +695,13 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-#  -*- Autoconf -*-
-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# serial 3
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -672,117 +710,37 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Helper functions for option handling.                     -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake.  There are at least two reasons why we must not
-# use `-m 0755':
-#   - it causes special bits like SGID to be ignored,
-#   - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out.  Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-  # We used to keeping the `.' as first argument, in order to
-  # allow $(mkdir_p) to be used without argument.  As in
-  #   $(mkdir_p) $(somedir)
-  # where $(somedir) is conditionally defined.  However this is wrong
-  # for two reasons:
-  #  1. if the package is installed by a user who cannot write `.'
-  #     make install will fail,
-  #  2. the above comment should most certainly read
-  #     $(mkdir_p) $(DESTDIR)$(somedir)
-  #     so it does not work when $(somedir) is undefined and
-  #     $(DESTDIR) is not.
-  #  To support the latter case, we have to write
-  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
-  #  so the `.' trick is pointless.
-  mkdir_p='mkdir -p --'
-else
-  # On NextStep and OpenStep, the `mkdir' command does not
-  # recognize any option.  It will interpret all options as
-  # directories to create, and then abort because `.' already
-  # exists.
-  for d in ./-p ./--version;
-  do
-    test -d $d && rmdir $d
-  done
-  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
-  if test -f "$ac_aux_dir/mkinstalldirs"; then
-    mkdir_p='$(mkinstalldirs)'
-  else
-    mkdir_p='$(install_sh) -d'
-  fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling.                    -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -790,16 +748,16 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
 # -------------------------------------------
@@ -807,59 +765,62 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -869,73 +830,141 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
-
-# AM_PROG_INSTALL_STRIP
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# One issue with vendor `install' (even GNU) is that you can't
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004  Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
-# serial 1
+# Check how to create a tarball.                            -*- Autoconf -*-
 
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -945,75 +974,114 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
 
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
diff --git a/configure b/configure
new file mode 100755
index 0000000000000000000000000000000000000000..9f0a058331a00f4056a61abfa5afada0cedb5815
--- /dev/null
+++ b/configure
@@ -0,0 +1,4664 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for rock 1.8.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='rock'
+PACKAGE_TARNAME='rock'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='rock 1.8'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+POD2MAN
+RANLIB
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CXX
+CPPFLAGS
+LDFLAGS
+CXXFLAGS
+CXX
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_dependency_tracking
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCC'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures rock 1.8 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/rock]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of rock 1.8:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+
+Some influential environment variables:
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+rock configure 1.8
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by rock $as_me 1.8, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$target_alias" = x; then
+  ac_cv_target=$ac_cv_host
+else
+  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
+am__api_version='1.15'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='rock'
+ VERSION='1.8'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
+
+# Checks for programs.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
+$as_echo_n "checking whether the C++ compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C++ compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
+$as_echo_n "checking for C++ compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+# Extract the first word of "pod2man", so it can be a program name with args.
+set dummy pod2man; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_POD2MAN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$POD2MAN"; then
+  ac_cv_prog_POD2MAN="$POD2MAN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_POD2MAN="pod2man"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_POD2MAN" && ac_cv_prog_POD2MAN=":"
+fi
+fi
+POD2MAN=$ac_cv_prog_POD2MAN
+if test -n "$POD2MAN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POD2MAN" >&5
+$as_echo "$POD2MAN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+ac_config_files="$ac_config_files Makefile src/Makefile test/Makefile doc/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by rock $as_me 1.8, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+rock config.status 1.8
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X "  :F $CONFIG_FILES      :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
diff --git a/configure.ac b/configure.ac
index cb0ff451e22f57c5074c502c22f75bf5bea26029..9c00933d9de0274bab9283d6fd1e85ce3c94d2b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(rock, 1.3)
+AC_INIT(rock, 1.8)
 
 
 AC_CANONICAL_SYSTEM
diff --git a/data/klebsiella_PE1.fq b/data/klebsiella_PE1.fq
new file mode 100644
index 0000000000000000000000000000000000000000..96690349ffd63d67f61f327d0c2fbaa13fb3f929
--- /dev/null
+++ b/data/klebsiella_PE1.fq
@@ -0,0 +1,40 @@
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+CCCCCCCCCBBCGGCGGGGG@GGGGGHHHGHBHH@GGHGGGGGGGGG@GHGHGGGHHHHHHHHHGGGGGHHHFCGGGGHHHGHHGGHHHHGGGGCCGGGGHFFGGGGGHHHHHGGGGGGCGHHHHGGGGGGGGGGGGGGGGGGAEGGFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDFFFFFFFFFFF:DA;CCFFBBFDAFFFAFFFFFFFFA-9A>DFFFFFBFFB
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFH@@HGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFABF
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+1AAA1AAA1F>1BGEFG0ACFGBCGHEHCAFGFDA1GAEG2FGFAFFCEFGCA/GFD211DGF01FBGA>////B1000B@>///>E/?/?//F0E//?///>BC10<?B/?12?/??1/11>//<AA.AF0<.<<..C..</...../::G.:--;;.99B000099CF090;/9/09F09/90/9--9-9-B///9/9-;@--/;//-----9/9:FF/9//--9;>---/9/99;//9----9---
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=192
+GAGAAACATCCTGCCAAGCCAAACTTTAAAGCGCCGAGGGATAATGGCGATGGTACCTACATGGTGGAGTTTGAATTCGATGGCCGTCATTACGCCTGGTCTGGTGCCGCCGGTAATCGGGTAGAGGCAATGCAATCTGCCTGGAGTGCCTACTTCAAGTGACAAAAAGGCCACAGGTTATCGCCTGTGGCC
++SRR1222430.6 6 length=192
+BBBBBFFFFFFFGGGGGGCGGGHHFHHHHFHHGGGGGGGGGHHGHFHGGEEGGFHGHGHHHHHHEGGHHHHHHHHHHHGHGHGHHGGGGGHHHGGEHHHHHFHHHHHHGGGGGCGGHHGGCGFGFFHGGHFHHHGHFHHHHHHHHGFFHFGHHHHHHHHHHHHHHHHHGDHHHGEHHHHHGGGGGGGGGGGG
+@SRR1222430.7 7 length=251
+CGCAGCCGGTAGTGGTTTTCGGGAGAGGACAATTTTTTGATATCCGAGATAGGTGAAGCTTTATCATCCATCTTCTCCAGCCTGGATTTAATGCGGCTCTTATACCGAGTATCGATTTTAGAAAATTGCTTATCTTCCGTTTTTGACCAGACAATTTTCATCCGTACCTCCACTGTACGCCCACACAAAATATAAGGAAATAATAAGACTATTAGATAAATTCCGAATTTCTTATGGGGTACTGTAGAGCG
++SRR1222430.7 7 length=251
+BBBBBDBBBDBBGGGGGGGGGGGGGGGGHHHHHHHHHGGGHHHHHGGGGGHHHHHHGHHHHHHHHHHHHHHHHHHHHGHHHGHHHHHGHHHHGHGGGGGHHHHHGHGGFFHHHGHHHGHHHHHHHHHHHHHHHHHHGHGHHHGGGGHHHHHGGHHHGHHHHHHGGHGGHHHHHHHHGHHGGGGFGGGGFHGGGGGGGGGGGGGGGGGGEFGGGGGGFGGGGGGGGGGGG/BFFFFFBFDDDFFFFFFFF/@
+@SRR1222430.8 8 length=250
+CGCGCGGGTAATTTTCAGCTGTGTCCCCGGACCGGCGACAAACCCCATGCAGTTAATCACGGTGGTGAATCCACGAAACTGATCGGCCAGCGTCTCCATGGCGCTACCGGCGATGTCGACGGCGAGGAAGGTGGCTCCGGCGTCGGCCAGCGCCTGATGGTTTGCCGACCGCAGCTGGCCGGCTTCATCCCAGGCCGCCGGCGAGACGATGACCGAGACCGTGCCCTGGCGCTCGATTACCGCAGGCACC
++SRR1222430.8 8 length=250
+AAABBBBB>ACFGGGGGDGGGGHHGGHHGGGGG0EGEGGGGHGGGGGHHHHHHFHHDHHHEDFGGEGHFHHHHHGGGGGHHHHHCGCFGHGGDFGHHHHHEHGGGFGHGCCGGGGCFHEGGGGG?CGGGGG;FEFGGGFFFFDFCCDD=AEFFFFFFFFFBFFFFFFFFB=DABCFFFFFFFFFFFFFFFFFF.EFFFFCFFFAAAFFFFF/BBB;9@DFCFF?AFFFEFAA9DF-9BDFFDFFAADFFF
+@SRR1222430.9 9 length=250
+CGGTGCGGCAACTGGAGACGCTGGCCGCGACCCGGGTCATGACGGACGGTAAAAGCGAAACGGTGCTGACCGGAAATCTGATTGTGGCGAAATTCAACCACGACACGAACCGTAACCAGGAACCTCAGATACACACCCATGCCGTCGTCATTAACGCCACGCAGAACGGGGACAAGTGGCAGTCTCTTGGCACTGATACAGTCGGGAAAACGGGCTTTATCGAGAATGTGTACGCGAACCAGATAGCCTT
++SRR1222430.9 9 length=250
+BCCBBBCDEDCDGGGGGGGGGGGGGHGGGGGGGGGGGGHHHHHGGGGGGGHGHHHHGGGGGGGEGGHHHHHGGGGGHHHHHGHHHHGHGGGGHHHHHHHGGGGGGGGGGGGGGHGGHHHGHHHGHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFHFFFFFDFFFFAFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.10 10 length=251
+CGTCTCGCTGACCAGGGCGTTTTTCGCCTGATTGCGCGACATCACCAGCAGGTCGTTGATCATGCTGTCCAGCCGGTGCGCTTCGGTTTCGATACGCTCCAGCTCCTTGCTCTCTCCGCTGCGGCGACGCAGCAGGGCGGTACCCAATTGCAGGCGCGTAAGCGGCGTGCGCAGCTCGTGCGAGATATCGGACAGCAGCCGCTGCTGGCTGGTCATCATCCGCTCCAGGGCCGTCACCATCTGGTTAAAAC
++SRR1222430.10 10 length=251
+BBBBBFFBBBBFGGGGGGGEFGGGHGGGGHHHHHHGGGGGGGHGHHHHHHHH1FEEGHHEHHHHHHHHHHHHGGGGGGGGGGGGGGGGGHGGGHGGGGGGHHHHHHHHHHGHHHHHHGGGGGGGGGGGGGGGGFGEGGGGGGGGGGGFFFFFFFFFFFCFFFFFFFFBCFFFFFFFFDFFFADFFFFFFF;ABFFFFFFFFFFFFFFFFFFFBFFBFFFFFFFFFFFFF??DCFFFDFBFFBFFFFFBFF/
diff --git a/data/klebsiella_PE2.fq b/data/klebsiella_PE2.fq
new file mode 100644
index 0000000000000000000000000000000000000000..c21376294dba6a4210cf76c7d60ce316ef617692
--- /dev/null
+++ b/data/klebsiella_PE2.fq
@@ -0,0 +1,40 @@
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+CCCCCCFFFCCCGGGGGGGGGGHHHHHHHHGHHHHHHHHHHGGGGGGGGHHGHHHHGHGHGHHHHHHHHHFHHHGGGGGGGGGGBFFHHGGGGGGHHGGHHHGHGGGHHHHHHGGGGGGGFGHGHHHHHHHHHGHHHFHHHHHHDFGGGGHHHHHGGAGGGGGGGGGGGGGGGFGGGFFFFFFFFFFFA=@FDF-BFFFFFFFFFFFFFEDFBDFFF-:FFFFFF/BFFFEFFFFFFFFFFF;--:DEFF
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF@11AEGGFFCGGGGGFGHFH2FF1F00EEE/@AEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+?BBABBFBBFFFGGGGGGGGGGHHHHHHHHHHFHHHGGGGGHHHHHHHGHHHHHGHGHHHHHHHGHFEGGHGHHHHHHGGHHHHHGGGEGGGHGHHHGHHGGCGGGDHHHHHHHHGHHGHGHHHHHHFHGGGHFGGGGGHHHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=192
+GGCCACAGGCGATAACCTGTGGCCTTTTTGTCACTTGAAGTAGGCACTCCAGGCAGATTGCATTGCCTCTACCCGATTACCGGCGGCACCAGACCAGGCGTAATGACGGCCATCGAATTCAAACTCCACCATGTAGGTACCATCGCCATTATCCCTCGGCGCTTTAAAGTTTGGCTTGGCAGGATGTTTCTC
++SRR1222430.6 6 length=192
+>3ABABF?ABBBGGGGEGGGFFHFFFHGHGGHFHHHHHHHHHFHHHHHHGGGHHHGGFFGFFDFHHHFGHHHHHGGGGGFGGFGG?EGGGHEFFEHHFHGDDFAGHFGGGFGFBEHHHHHHHBHHGHGEFHHFGFHGFGFHHFHAEGGGGFFHGHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFB9
+@SRR1222430.7 7 length=251
+TGGCGGATTGAACGCCTGATCGCACATTTTCTGCAAGCCTCTGTCGCCCGGCAGAGGCCTTCCCGCGCCGCCTCGACGGGTTGCGTTTTGCCTCTTACCTGCGTTTTTTCTCCGCTCTACAGTACCCCATAAGAAATTCGGAATTTATCTAATAGTCTTATTATTTCCTTATATTTTGTGTGGGCGTACAGTGGAGGTACGGATGAAAATTGTCTGGTCAAAAACGGAAGATAAGCAATTTTCTAAAATCG
++SRR1222430.7 7 length=251
+BBCBBDBCCFFFGGGGGGGGGGGGGGHCFHHHHGHHHHGHHHHHHGHGGGGGGCECAEAGHHHHEGGFFFGGGGEGGFCCGFCADADCGHGHHHHHHHHHHGDDGFGGGGFHHDDGGHFGHFGHHHHEGHHGHHHGHHHGFGCFHHFGGFFFGGGGGGGGGGGGGFGGFGGGGGGGGGFBF?C.E=DFFDFFBFFE.AFFD.DDDFBFFFFBBFFEBFBBBBFEFFFFEBAFFFFEFFFF/FFBFF/9FF.
+@SRR1222430.8 8 length=251
+TATTGGTGCTGGGAGCGGGACAACTGGGCGCCGCCGTTCTCGATGCGCTGGTGCCTGCGGTAATCGAGCGCCAGGGCACGGTCTCGGTCATCGTCTCGCCGGCGGCCTGGGATGAAGCCGGCCAGCTGCGGTCGGCAAACCATCAGGCGCTGGCCGACGCCGGAGCCACCTTCCTCGCCGTCGACATCGCCGGTAGCGCCATGGAGACGCTGGCCGATCAGTTTCGTGGATTCACCACCGTGATTAACTGC
++SRR1222430.8 8 length=251
+AA?AAFFBFFFFGGCEGGGCEFGFHCEDGEGGGGGGEAFFFFB35>0EEGGGHGFFFCEGEEFFHGHG?EGCFG/E</EGGFDADB/CCDHDFGHHGGGCDGGC-:DDGEC./CGB:0C9-B@BEEBBBBGAB;;??=FFFFFFFFFFBB?BBFF<BB??BB?BBBEFFFFBBFFFFBBBBB??-ADB?DFBB9>DF-9@.A/BFFEADBDA?DFBB?@AFBB/FDAEAA/FFFFFFFAFAEEFFFF9BF/
+@SRR1222430.9 9 length=250
+AAGGCTATCTGGTTCGCGTACACATTCTCGATAAAGCCCGTTTTCCCGACTGTATCAGTGCCAAGAGACTGCCACTTGTCCCCGTTCTGCGTGGCGTTAATGACGACGGCATGGGTGTGTATCTGAGGTTCCTGGTTACGGTTCGTGTCGTGGTTGAATTTCGCCACAATCAGATTTCCGGTCAGCACCGTTTCGCTTTTACCGTCCGTCATGACCCGGGTCGCGGCCAGCGTCTCCAGTTGCCGCACCG
++SRR1222430.9 9 length=250
+ACCCCFFFFFFFGGGGGGGGGGHHHHHHHGHHHGHHHHHGGHHGHHHGGGGGHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHGGHHGHHGGGGGGGGGGHHHHGGGGGGGGHHHGGGGHHHHHHHHGGHHHHHHHHHHGGHGGGGGHHGGGGGFGGFHHHHHGGGGHGFHHHGGFFGGGGGGFGGGGECGGGBGFGFFFFFBDFFFFFFFFFFFFEFFBFFFFFFFFFEFFFF.FFBFFFFFFCA;9>B
+@SRR1222430.10 10 length=251
+CAACCAGGATTCCCCGCCGATGAAGTCGCCCAGGGCAACCTGCGCCAGCATCCGGAGCTGGAAGCCGGGCCGCAGGAGTTTTTAGCCGCTGGCGCCAGTTTTAACCAGATGGTGACGGCCCTGGAGCGGATGATGACCAGCCAGCAGCGGCTGCTGTCCGATATCTCGCACGAGCTGCGCACGCCGCTTACGCGCCTGCAATTGGGTACCGCCCTGCTGCGTCGCCGCAGCGGAGAGAGCAAGGAGCTGGG
++SRR1222430.10 10 length=251
+CCCCCCCCCFFFGGGGGGGGFGHHHHHGGGGGHGGGGGHHHHFGGGGGGGGHFFGFGGHHFCGHHFGGGGGGGGCCFGHEHHFHHHGGGGGGGGGGGF?FFFHFHHGHHHHHFGHHGGGGGHFGCGHCG?CFFHHFHFGAEGGGGGGGGGGGGGFFFGGDDDFFFFFFFFFADFFDBBDD=B=AAFF@D./EFCFFBEFFFFFFFFABFFF-CD;FEF/;@AFFFF=;BDFFFF=;.EFFFFF..AE.BB.
diff --git a/data/test_PE1_2.fq b/data/test_PE1_2.fq
deleted file mode 100644
index 17ccf78a57985bc6c9816eedf04c298ca639563e..0000000000000000000000000000000000000000
--- a/data/test_PE1_2.fq
+++ /dev/null
@@ -1,160 +0,0 @@
-@NS500443:42:H3MH2AFXX:4:21612:18494:19326/1
-GGTTCTGTTGGCTCAAACGCCGTCACTTCATTGATCAAAAGCTTATAATGCGTGCCAAAGTCCGCCATCGAGACGACTACGCCTTCCCCTGCTTTCCCGTCAAAAACGAGTCTTGCCGGATCTTCACGGTCTCCCCTCGAAAGCGGCGAAA
-+
-6A/AAEEEEAEE6EEEAEEEE/EEAE/EE/EEA/EEEEE6AEAEAEAEEEEE/EEEEEE/EEEEEEEAEE/EEE//AEEEEEEEEAEEA/EAE/EA<<6/AEEA//A//AEEEA6AA<EE/AEEE/A///AEEE//EEEEEEEEAAEAAEA
-@NS500443:42:H3MH2AFXX:4:21612:18284:19327/1
-GCGTTTACCCATTCTTCCTATGTCAATGAACATCGTAAAGAACATTTAAAAGACAATGAAAGATTAGAATTTCTAGGAGATGCGGTATTAGAGTTAACTGTATCTGATTATTTATTTAAAAAGTATCCGGACATGGCGGAAGGTCAAATGA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEAEEEEEEEAEEEEEEEEEEEAE<EEEAEAAEEEAEAEEAEE/
-@NS500443:42:H3MH2AFXX:4:21612:12448:19327/1
-CACGATGGGTGCCTTTTTGCATGTGAATACGGACAAATTAGATGTGCGGCGCTATCTTGAGATGGTGGAGTCGAGCAGTCCGTCTTATATGGTGATGGCTTCGCTTGATGTGGCGCGGCGCTATGTGGCGCTTTATTCGGATGAGGATTTT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEE/EEEEEEEAEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:3226:19328/1
-CTTGAAGCGTCATGATAAGGTGTTTTCGGAAATAGATGAATATATTGCGGACTTGCGGAAAAATAACGCCAAGCTTGCGGATTTGATGCAAGAAATTTGGGACGAGATTCAGGAAAATCCAGAAGCGTATCGTGATAAAAATGTATCGA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEEEEEA<EEEEEEAEEEEEEEEEEE<
-@NS500443:42:H3MH2AFXX:4:21612:21221:19328/1
-GTGTTAACCAAATTCGTGCACAAATGGAAGAAACTACTTCTGATTTCGATAAAGAAAAATTACAAGAACGTTTGGCAAAACTTGCTGGCGGCGTAGCTGTCATTAAAGTAGGTGCTGCAACTGAAACAGAACTAAAAGAACGTAAACTTCG
-+
-AAAAAEAEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEE<EAEEEEEEEEEEEEEEEEEEEEEEAEAEE/EEE
-@NS500443:42:H3MH2AFXX:4:21612:11696:19332/1
-ATGTGATACACCGGAGAATATACTAAAAAATCCTGAAACTGATTTTGTTCGTAATTTTCTTGAGTCTGGCAATCTTTTACCAAAAACATTATTTGACCGTTCAATCAAGATTTCTGATTTAGTCACTAAAAATTTCTGTACTCAGGCACAA
-+
-AAAAAEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEE<AEEEEEAEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:8548:19332/1
-TAACATGGAAGCTTACTATCAGGAAGCGGGAAGAGCTGGCCGGGATGGACTGCCAAGTGATTGTGTGCTGCTTTTTTCACCACAAGATGCACATCTACAGCATTACTTGATTGAGCAGTCAGAACTTCCTGAAGATCGTAAGGAAAACGAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEA
-@NS500443:42:H3MH2AFXX:4:21612:5092:19335/1
-ACCTACTTCTTGCAACATTTCCATGTCATTTAGACCATCGCCGAATGCATAAGTATCTTCCATTGAAAAGCCTAATTTCTTGATCATATTACGAATTCCGCGAGCTTTAGAGCCATCACTTGGACAAACATCAACAGAAACATCATGCCAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEAEEEEEE/EEEEEEAAEE<EEEEA6AAEAEEEEEAEEEAEEEEEE6EEEEEAEA
-@NS500443:42:H3MH2AFXX:4:21612:3939:19336/1
-GGTGGAAAACATGAACGGAAAAAATATTCTACTTGCAGTGTCTGGCGGCATTGCAGTTTATAAAGCAGTAGCGCTAACGAGTAAACTCACGCAAGCAGGTGCCAATGTAAAAGTGATGATGACACGTCACGCACAGGAATTTGTTCCACCG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAE//EEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEAEE/AEEEEE/EEEAEEEEEEEEEEAEEEAEE/
-@NS500443:42:H3MH2AFXX:4:21612:7738:19336/1
-TTCTTTCCCAGAAAGCCCTACAAGTTGAATCAATTCTTGCACACGTTCTTTTCGTTCTGCTCGTTTCACTCCGGCAATTTCAAGCGGAAAAGCAATGTTTTCAAATACTGTTCGCGACCAGAGCAAGTTGAAGTGCTGGAAAATCATCCCG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAAE<EEEEEEEAEEEEAEEEEEEEEEEEEEEEEE<EEEEAAAEEEEEEEAEEEEEAEEEEEEEEEAEEEEEEEEEAEEEEA<
-@NS500443:42:H3MH2AFXX:4:21612:11553:19339/1
-GTGTGAATACTACCGTTTGTTTATGATAACCGATTCCTTCACCGTTTATCCCCATTCTTTTAATTTCAAGCGGAAAAGTCTGTCCCACTTTTATCTTTGCTCCGTCCAACCACATCTCCTCCGTTTCAATTCTTCATCCATACTATCAAAA
-+
-AAAAAEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEAE<EEEEEEAEEEEEEEEEEEAAEEEEEEEAEEEEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:20775:19341/1
-GCTTTTTCATTTTTATATATTCCATTTCGCGTAAAAAGAATTTATCAATAAAAATCTTGATTTTTTCTTACAACAAAAGACGCTGGCAGATTTGAAAAATCAATCTACCAGCGTCTTTTGTTCGGCTAAAAACTATATATTAAGCATCTC
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEE<EEEEEEEE<EEE<EEEEEEEEEEEEEEEEAEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:2150:19342/1
-GCTCTTTTTCCGCCGCGATTTCCCTCAGCTTCGCATAAAGCGGCATGTGGAAAATGGTCATAGCTTCCATAACCACAACCTTTTTTTCGCGAGAAACGCGGAGAACATCCTCGAGTTCACGGGAACTCACCGTAATCGCCTTCTCCACCAA
-+
-AAAAAAEEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEA/EEAE//EEEAEAEEEEEEEEEA/EAEEEE/EAAEEEAAA<EE<EAEEEAEEEAEAE/EEEAE/<EEEE<EEEAEEEEE/
-@NS500443:42:H3MH2AFXX:4:21612:2100:19343/1
-AGATGACATTATTGGAGGAAGCGGCAACCCCAAGGTTACTAGCCTTCGTCCAACCAACTAAATTCGATCCATCTTTCATACGTTGCCAAACGACGCCATCAACAGTTACTTCACGGTCAACAGTAAGGTCTTTGCCATACACGTTCTTCAA
-+
-AAAAA/EEEEEAEEEEEEEEE/AEEEAEE/AEE/AEAEE/EEAE//EEEEEEEEEAEE/EEE6EAEEE/AEAEEEEEEEEEAEE/<EEEEAE/</EE/EEEE<EE/A/AEE/<///AEE/EEEEEEE<EAEEA//AEEEA<<</E<AAEAE
-@NS500443:42:H3MH2AFXX:4:21612:11502:19343/1
-GTTTATGTAGCTTCACAAGACGAAGAAATGAACAAAAAAGCGATGGCAATTATTGAAGATATCGTTCGCGAAGCAAAAGTGGGCGAAATCTACACAGGGAAAGTTCGTCGAATCGAAAAATTTGGGGCTTTCGTTGAATTGTTTAAAGGAA
-+
-AAAAAEEEEEEEEEAAEEAEEEEEAAEEEEEEEEEEEEEEEEEEE/AEEEEEEEAEEAEAEEEEEEAAEEEEEEEEEEEEEE6EEEEEEEEE<AEEEEEEEEEEE</EAEAEEEAEEEEEEEEAEEAAEEAEAEEEEE/EE/EEEEE<E/E
-@NS500443:42:H3MH2AFXX:4:21612:24968:19344/1
-CGCTTATTTGATACGGCAGCTGTTTATAATAATGAACGTGAAGTTGGCGAAGCGATTCGCGCGGGAGGGGTTTTGCGAGAGGAACTTTTCATCAGTTCAAAAATTTGGAACGGTGACCAGGGCTACGATGAAACACTATTTGCCTTTGAGA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEE/EEEEEEEEEEEEEEEEEEE6AEEEEAAEEEE</AEEEEEE/AEEEEEE/A6<EEEEEE<AEEAEEEE/
-@NS500443:42:H3MH2AFXX:4:21612:6916:19344/1
-GTTTCCGAACGACTTGCTAAAGAATACGGGCTTAAAACGATTTCTGATCTGCGCCCAGTGGAGCAACAAGTAAAAGTGGGCTTTACGGCAGAATTTGCTGACCGTGGTGATGGCTATAAGGGGCTAAAAGAAAAATATGGAATCACCTTTG
-+
-AAAAAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEE//EEEEEEA/EEEEEEAEAEEAEEEEEAEEEEEEEEEEEEEEEE6EEEEEE</<EEEEA
-@NS500443:42:H3MH2AFXX:4:21612:15429:19346/1
-AGCTTATACAAGCCGCGTTACTTGAGAAGTAAACATCTACAATATTCCCTTTAATCGCACCACCAGTATCCCCAGCGATGGCTTCACCATATCCAGAAACGTGAACGCGCGAGCCAAGTGGAATAACACTTGGATCTACGGCAACTACTTT
-+
-AAAAAEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEAE<EEAEAAEEEEEEEEEEAEEEEEEEEEEA/EEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEE<EEAEAEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:1024:19346/1
-TCCTTCCGAAGCGTCTTCGCANTAGTCAAATTCCCATTATGNGCAAGAGCAAGTGAAGAATCTTGAAAATGAAACAAAAACGGTTGAACATTTCCAAGGCTTTTTCCGCCAGCTGTTGCATAGCGCACGTGACCAATTGCGCCACTTC
-+
-AAAAAEEEAEEEEEEEEEEAE#EEEEEEEEEAEEEEAEEEE#E/EEEEEEEEEEEEE6EEEEEEEEE6EEAEEEAEEEEEE/E/EE/E/EEEE<EEAEEAEAEEEEAEAA<EEEE<EAE/EEEAEE//EEEEEEEEE/E6EEE/E/EE
-@NS500443:42:H3MH2AFXX:4:21612:4182:19348/1
-GCATGGCAATGAAGTTAAATAACGCTTCCGGCAAATAGCCTAAGTCGCGATACTGCTCGATAAATTGGATAATCGAACCATCACGCTTACTTAATTTACGGCGACTTTCATTGACAATCAACGTCATATGACCAAAAGTTGGCGGTTCCCA
-+
-A6AAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEAEEEEEE<E<AEEEEEEEEEAEEEEEAEE<A/EEAEEEEEEEEEE<EEEEE/EEAAEAAEEEEEEE6<EAAE</</A
-@NS500443:42:H3MH2AFXX:4:21612:26730:19348/1
-ATCTCAACGGGGGGAACAGGAATTTCGAAACGGGATGTAACTTTTGAAGCCCTATTCCAACAAAAACACCAGGAGATTCCAGGGTTTGGGGAGTTGTTTCGAATGAACAGCTATCAAGAAATCGGATCAAAGGCAATGGCATCCCGCGCTA
-+
-/AAAAEAE/E/EE6E6AAEEE//E6EA//A//6EEEAEEA6/EE/6E66<EE/AE/EE/EEEE////A/EEEEE/E//EE/A//EEEA//AAEEE////E/EEEA//E//6/EA6AE////A/A/AEAEEE/EAAE/<//EE</<<//AE/
-@NS500443:42:H3MH2AFXX:4:21612:25889:19349/1
-GAGCGAATCAAGTGCCTTGGAAAGAGCGGATTGCATATGCAATGAGTGACTTTGGCTGTAATACAGTTTTTCAAATTTTAGGAACGTATTTTCTTGTATTCTGTACGGATACACTTGGCGTTGCGGCAGCAGCGACTGCTGGACTTTTCG
-+
-AAAAAE/EEEEEEEEEEEAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEE/EEEEEEAEEEAEEE/AEEEAA<EEE6E6EEEEEEEEEEAA/<EE</EEEE<6
-@NS500443:42:H3MH2AFXX:4:21612:6539:19353/1
-GATGCAGTTGTTTCTAAACGGGGCTCCTGTTCAACCCGTTTTAGACCGCTTAAAATCTATTTTTGGCATTCAATCTTTTAGTCCGGTTATCAAAACAGCATTGGATGTTGAAGAAGTGAAAGAAGCTGCCTTTCAACTTGTGAATGACA
-+
-A/AAAEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEE/EEEEEE/EEEEAEEEAEEEEAAEEEEAAEEEEEEEEEEEEEEE/EEE/AEEEEEEEEEEEEAEEEEEEEEEEEE/EE<E<EEEEA<AEEEAEEEEEEEEEA/EA
-@NS500443:42:H3MH2AFXX:4:21612:21998:19353/1
-TCGGTAAGCTTTCTAAATCGAGTATTGTAGAACTTTTTGTGACAACTTTGAAAGAAGAAAATTAGCAGGAGGGGAATTATGAAGCAACCTGTCGTTATTTATGTAATTTCGGATGCGATTGGAGAAACGGCTCAACATACTATTCGAGCCG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEAEE/EAEEEEAE6EEEAEEEEEEEEEEEE<EEEEAEAEEEEEEAEEEEAEEAEE/EEAEEEEEE<AEEEEA
-@NS500443:42:H3MH2AFXX:4:21612:9349:19354/1
-CCGCGATACTCCGTTCGAGTAGACACTGCGTCACGGGGCTAAGTTTCAAGCCACTTGCAACAATTTCTTCGAGTTCTGTATCGTTATGGCAAATCCCACCGCCAGACCCGCCAAGTGTATAAGCAGGGCGAACAATGACAGGATAGCCGAT
-+
-AAAAAEEEAEEEEEEEEE/EEA/EEE/EAAEEEE/EAEEEAEEEEEE/E/EEEEEE6EEEEEEEEEEEEEEE/EEEEE6E<E/AE/EEEEEEEEE<EEA6/EEAEEE/A<AAEEAEE/EEEEEE/EEEA</<EE/AEE<AEAEAE<EEAA/
-@NS500443:42:H3MH2AFXX:4:21612:10100:19357/1
-CGTTGGATCCACTTCCATCATATGGGATTCCAAAATTGCTTCCTTTCCTGCCGCTAGCTCGTAGGTATAATCTTCCATAAAACCAGTATTTTCGTTATGAGCCATCACTTTCATCAACCGGTCGATCGCCGCCGTTTTCCAGTCTCCTTC
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEAEAEEEEEEEEEEEEEEEAEE
-@NS500443:42:H3MH2AFXX:4:21612:5905:19357/1
-CACCTGCTACACTCGCTTCATAAAATAAATCGCAGTGGTTTTCTTGCGCCACTGCTACGAGTTCATCTCCGTGAATAGCAATTAAATCTTTATTTGCGGTTACAACACTTTTCCCTGCTTTCAGTGCATGCAAAATGTAATGATGTGCGGT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEE/EEEEEEEEEEEEEEEAEEEEEEEAEEEE
-@NS500443:42:H3MH2AFXX:4:21612:22823:19360/1
-GGATGGGCAAGCGGGAAGAGTTGGAGCGGATTAGCCAAATTGAGCCGCTTGCTGCACGTTACCGGGATGAGGTACTTGAAAAGCTTAGGAAAATGGGATGAAAAAAGAGCCGTTCGGAAGAACGGCTCTTGGCGTGTTTTGCGTTTAAAAT
-+
-AA6AAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE<EEE/EEEEAAEAEEEEA</EEEEEEA<EEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:17904:19360/1
-GTAACGGTAAAAGTTATGAACGTTGGGGATGACGGTAAGATTGGTCTTTCAATCCGTAAAGCGGTTGATCGTCCGCGTCCAGAACGGAATTATGATCGGAAACCGAAGTATAACAAGAAACCAGCTGCTCAGTCCAAACAGCCGGAAGATT
-+
-AAAAAEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEAEEEAEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEA<EEEEAEEEEEAEE<EEE/EEEAEEEEA6/EEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:5361:19361/1
-CGCATTACGCGCATTCGTCTGACCCGCTTCTACCTTCTTTAATTTTAAATCTTGATTTACTTCTTCGTCTGACTCTTGTAACGTAACGCCGATGACATAAGCATATTTATTTTCAATACTTATGCCCTTATCTTGCTTTTGACTCGTTGCA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEE6<EEEEEEEE<
-@NS500443:42:H3MH2AFXX:4:21612:10976:19365/1
-TCACTAAATTTAATATCTTTTGACATAATTTAATTCCCTCCAATTTATATCGCTTTTGTTTTCTATTTTTACTTCGTAACTGCTAAAATATCACTTTCGCGAATAATTAACAGATCTTTTCCTTCATAAGTTACTTCTGTTCCAGAATATT
-+
-AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEAEEEEEEEEEEEEE6EEEEEEEEEAEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEA
-@NS500443:42:H3MH2AFXX:4:21612:22942:19365/1
-ATCCATGAATAAATCCACAATATCTTTTAAACGGCAGGTTTGTTTATTGATCAAAAATTCGCTATCGCCATTTCGGTAAATTCGTCTTGTCACCACTACTTCACTATAATCAAGCGGCAAGTAGCGATCATCATTGGCAAGTACGAGCGAT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAEAAEEEEEEEA/EEEAA
-@NS500443:42:H3MH2AFXX:4:21612:14114:19366/1
-CCTTGGAAACATCACCTATGTGTTGATGTATAACCTAGGACTTGAGCTCGGGAATGCCTTTCACGCTTCTACTGAAACCGCACAAACCATTGCCTCTGTTTTTGCGCGAATCACGGGGCTCTCTATGTTCCTTGCTTATACAGGTGCATTT
-+
-AAAAAEEEEEAEE6EEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEAEEEEE/EEEEEEEEEEEEEEEAEE6EEEEEEEEEEE/EEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEE/EE/EAEEEEEEEEEEE<E<
-@NS500443:42:H3MH2AFXX:4:21612:13612:19370/1
-GCATCTAAAATCGGATGTGAATAGTCTTCCTGTACTGTTGTTTTTAATGCATCAATTGCTGTATTTCCCGTTACAAAAACGGTCTCCGCCTTCTTATTTTCACGCAGTAAATTTTCTTTTGCCGTATCCGTTGGCGCAAAGTGCAGATCAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEE/EEEEEEEEEEEEEEEE/EEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEA
-@NS500443:42:H3MH2AFXX:4:21612:1049:19371/1
-ATGCTTGTTATGCACTATAAATTGAAAAAGATTGACATGATCGAAGCGCTCAAATCAGTTGAGTAACAAGAGACACTCCTCTTCTAGCCAAAGAGGGGTGTTTTTTGGTTTACTTTTTGTCTAAAAAGCGATAGAATGAAAAATAGTTCAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEE6EEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE/EEEEEEEEEEEEEEEEE<EEEEE<EEEEEAEEEEEEEAEEEEEEEEAEEAEE<EEEEEAEE/A</A
-@NS500443:42:H3MH2AFXX:4:21612:9601:19373/1
-TCCAAAAGCTGATGGATTGCAGAAAAAGCCTCTTCACTCCCAATCATCGCTTTCATCAATAGATATTCAGAAGCATGGTAAGCTTGAAGCGTTTGTCTAACTGGCTGAGCACTTACTAAGCCACCATAAAAATCATCAGGAGGTGGCGCTA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAAEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEA<EE<EEEE<EE<EEEEEEEA/EEAEEAEEEEEEAEEEEAEEEEAAEEEEE<A<A<E<<EAAEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:20393:19375/1
-CAGAGATTGATCGCGTACTAAACACATTGCTAGAAACGAGAAAGCCGGTTTACCTTAACTTGCCAATTGATGTTGCGGAAAGCCCCACCTCAAAACCAAGCAGGAAATTATCTGGTTCGACGGAATTAACGAGCGCAGATCAAAATTTG
-+
-AAAAAEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEAEEEEEAEEEEEEAEEEA/EE/EEEAAEE/EEAAA/AEE/EEE/EEEEEAE/AEE/<E/EEEAEEAEEE
-@NS500443:42:H3MH2AFXX:4:21612:18713:19376/1
-CCTTAGAAGAAATTATTTTTCCTCACTAGGAACAAAAGTATTTTTGAATTCATCCAGTGCGCTGTTCAATTTTGCTTCATCTGGAAGAGATTTTGTAGTCCGAATTTCGTCTAGTAATTCTGCATGATTATGATCAAACCACGTATTCATT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EAEEEEEAEAAEAEEEEEEEAAEEEEEEEEEEAEEA/EEEEA/A/EEEEE
-@NS500443:42:H3MH2AFXX:4:21612:16612:19377/1
-AATTGCGCCTTGAATAATAAAGCTTCGTGGAGTTTCCTTATTGTTTAATTCAGCTAAAAGAGCATTTAAAGTTTCCTTAAACTGCCACTTATCCGAATCAGCAATTTGTCCGGCATCAATTTTCATCAGCAAGTCTTCCACCAAATTTTT
-+
-AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEE/EEEEEEEEEEEEAEEEEA/EEE/EEEEE/EEEEEEEEEEEEE6EEEEEEEEEEEEEEEE/EEEAEEAEEE<<EEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:21100:19378/1
-ATTGTGGGGTTCCTTTTTGTAGCATTGGAATGGAAATTAAAAATGGGGCTTCAGGATGCCCGCTCCATTATTTAATTCCAGAATGTAACGATGCTGTTTACCGGGGGGACTGGAAAGATGCACTTGAGCTTTTGATTAAAACAAATAACAT
-+
-AAAA/EEAAE///EAEEEEAEEAAEE/EEA6AEAEEEEEEEEEE666//////AAAEE////EE<EEA/EEA/EAEEEEAE//E//E//E///E/66E<E////EE/6/AEEEEA/AA//AEEEEAAE//E//</EAE/AEEEEEEEEE//
diff --git a/data/test_PE2_2.fq b/data/test_PE2_2.fq
deleted file mode 100644
index c6cf6339e936d8ac8a7eca64a51c45c65ba1f812..0000000000000000000000000000000000000000
--- a/data/test_PE2_2.fq
+++ /dev/null
@@ -1,160 +0,0 @@
-@NS500443:42:H3MH2AFXX:4:21612:18494:19326/2
-TCTTAGAGGAAGGTGGATATAATGCCGTCACATCGAACTTTGAAGATCTATACGGCATGCAGCAGCTTCCAGGTCTTGCGGTGCAACGTTTAATGGCAGATGGCTACGGTTTTGCGGGGGAAGGAGACTGGAAAACGGCGGCGATCGACCG
-+
-AAA6AE/EEAAEA/EEE/EAEEAEE//EE/E/EEE/AA//EEAE//E/E6//EE6AE//E/AEAE//AE/EEE/AEE/E/E/E/EAEE/EAEE//AEEEEEEEAEEEEA/AAEAE/EA<A/A/AEEAE/EEA/A/E///</6E/EEA/AE/
-@NS500443:42:H3MH2AFXX:4:21612:18284:19327/2
-CTAAAAATTGGATGACTTTTGCAAGCCCATTATCGAGATAAAGCGCTCCGATAAAAGCTTCGAAAACATCGGCAAGCAGAGCTGGTCGATTTCTACCACCCGCTTTTTCTTCTCCTTTTCCAAGTCGAACATATTTGGAAAAATGAACG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEE/EEEAEEEEEEEEEAAAEEEEEEEEEEAEEEEEEAEE/E<EEAEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:12448:19327/2
-GGATAGAATCCAGCTTGTTCCAATTGTTCAGCCAACCTATAACCCGAAAAGCCTTGTTTTCGAACAATCAATTTCAGCGGATCATCCGGACAAATCACTTCGAGTTCTTGTTTCTCCAAAAAACGTAGCCATTTCGCTCGCATTTTCCAAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEE<EAEAEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEE<EEAEEEEEEEAEEE
-@NS500443:42:H3MH2AFXX:4:21612:3226:19328/2
-TCTTGAAAGACTAGCTATATTTCTACTTCTAGAACCTTACTCTCTTCGTCGTAGCGGTAAAATTTCTTTTTCCACCACATCTTTTAAATCTAATCGAGCTGCTTTCCAGTACTTCAACTTCGGTAGAGGATTTTCTGTTTTCTTTTTATAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEE/EEEEEEEEEE<EEEEEEEEEEEEEEEEAEEA<EEEE//AAEEEEEEEEEEEAEEEE<E<<6EEE<EEEEAEE
-@NS500443:42:H3MH2AFXX:4:21612:21221:19328/2
-GATTGGCGCTTCAAGTGAACGTAGAACAATATTTACACCTGTTTCTTCATCTCCAGTAGCTTCGATTTCTGCTACTTTCTTATAAACATTGACAAGAGCCGTTCCACCACCGGAAACAATACCTTCTTCAACAGCTGCACGTGTCGAGTTT
-+
-AAAAAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAEE<AEEEEEEEEA/EEEAEEEAEEEEEAE/EAEEAEEEEEAEEEA
-@NS500443:42:H3MH2AFXX:4:21612:11696:19332/2
-ATTTGGATGTGCTCAATTAAAGCGGTAAGCAAATCGTCTTTTCGGTCTAGGAATGTCTCGATGAATGTATTCATGGAGTGACACCTTCTTTCAGGTTACTCGACAAGAAGGCAAGTAAATCATTCGTTGTGATAGTTGCAACTAGTAGAC
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEE<EAEEEEEEEEEEAEEEEEAAEE<<EEEAEEE/E
-@NS500443:42:H3MH2AFXX:4:21612:8548:19332/2
-CTTTAGCAACCATAACTTTGCCGAAGCGCTCTCCCATTCGCTTCACACAAGAAAAGACTTGCTGAGCTAGAATGGTCACATCTGTCTCAGTACCTGTATCTAAACAATTGCTGCAGTTTCCGCAATCCTCACATTCTTCCCCGAAATAGTG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:5092:19335/2
-TTATAACGGTCAGTATGTGATTTTTGAAGGAGAAGTCTTATTGAAAAATCCACTTCCGCAAGAATCACTTGAACGCCTAATCACTGTAGCAACAGAAAACGATCATCCTATTGTCTTCTCGGCAAGTGATACAATGCGTGTTAATTTGCCG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEAEEEEEEAEAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEAEEAEEEEEEEEEEEEE/E/E/EEEEEEEEAEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:3939:19336/2
-GCTACCCACACAGGGGCTTCCGTTGCAAGAATGGTTGTTGTGACCATATCGTCAGCAATGCCATTCGCCATTTTCCCAATGACATTGGCGGTAGCTGGTGCAACGATAACAAGATCCGCCCAGTCCGCTAAATCAATGTGCGCAACAACGG
-+
-AAAAAEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEE<EEEEEAEE//EE/EEEEEEEA<EEEEEEAEEEEEEAEEEAE<EEE<EEEE/EEA<EEA
-@NS500443:42:H3MH2AFXX:4:21612:7738:19336/2
-GTCGTGGGCTATTCCGGGGCAGGAAAAAGTAGTTTGATCCGAATGTTTAACGGCCTCGACCTACCAAATGCAGGCAATGTAATATTGGACAACAAAAAAAACAGACAAATTAGAGGCCGAGAACTTAGAAAAGAACGGAAAAAAAACGGGA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE/E6/////E///<E/EE/E///E//EEE//E//6/AA/A/E</AEEEEEE6/////EE/A/</E<A/A///A//E/A/EEEE///AE//EEEEEA/</A//
-@NS500443:42:H3MH2AFXX:4:21612:11553:19339/2
-TAGATGCTTCGATCTAAGACGTTATTTTCGTCACGCAACGCAGCTTTAATACTGCGAAAACGTGTGTTTAAAAAATAAATTTGTAAGGCAAAGGCCCAGCGAGCTGGGTCATCGTAAAACTTTTCGAGAATTCGGTTGTCCGTGATACTTT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEE6EEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEE<EEEE/AEEEEAEAEEEAEEEEE<AAEEA<AEEEEEEAA
-@NS500443:42:H3MH2AFXX:4:21612:20775:19341/2
-CATCCCCACTATCCCCCCATCCTTGTTAATTGTAAATAAGTTAACATCAAGACTACCTGAACCATTTTTTTGATGGTAAAGCACTATTCTTTGATCTTCTTGCGTCATGTTTTCCGTCAAGCTTTTTGAAGCATTTACAAAGGTGGATCGG
-+
-AAAAAEEEEEEEEEEEEEAEAEAEEEEAEEEEEAEEE/EEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEE</EEAE<EA<EE<AAEE/EEEEEEEE<EEAEEEAEEEEEEEEEEEEAEEEEE/EEEEEEEEAEEEEEEEE/EE<E
-@NS500443:42:H3MH2AFXX:4:21612:2150:19342/2
-AGTATATACTTTTTGACAACGATTTCAAGAAAACATATAATAAATAACATAGAAGGCAAGAGGAAAGGGTGTCACTTATGAGTAATTTGAAATGGGCTATCGTTGGACCGGGCGGAATCGCTCACCAATTTGCAGAAGCTATGGCAAAGGA
-+
-AAAAAEEEEEEEEEEAEAEEEEEEEEEEEAEAEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEE<A/<AEEAEEEEEEEAEEEEEEE/AEEAEEE/EEEEEEEEEAEEEE<E/AE/<A<EEEAE/6EEEAAEEEEEAEE/
-@NS500443:42:H3MH2AFXX:4:21612:2100:19343/2
-CCTATTTATTCTGCACCTGTCGGCTCCGCCGCTGCCACATCTGTTGGGAATTTATCGAGCTATTCCGGTAAACAAATGCGCCTCGTTCGCGAAGCAAAAGCCGGCAGTACCGTTTCTTCACAAATTAGTGTCGATGGAAAAGTGATCGG
-+
-A/AAAEEEEEEEE/EE/E/EAEAEEEEEE/EEEA/AEEEAEEEEEE/EEEE/EEEEAEEEEE/E/A/AEEE/EEEEAEE//EEEEEEE/EEEEAE/EEEEEEEEEAEE/<//<EE/EEAEEEEEEEE6//EEEEEEEE/EEAE/AE/AA
-@NS500443:42:H3MH2AFXX:4:21612:11502:19343/2
-GTGTACGCGGTTTGCGAGTGCGGTCACCGCCACCAAAGTGTTTCTTGTGTTCTTTATCTTGTGATTTCTTTTCGTCTAACCCTGCAGGTTTCTCAAGCAAAGCTTTACGAGATAAATTGATCCGACCTTGGTTATCGATCTCGATCACTTT
-+
-AAAAAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEE/<EEEA<E</AEEE//EE<AEEE<AEEE<EEE6/<<<E</<
-@NS500443:42:H3MH2AFXX:4:21612:24968:19344/2
-ATTTTGCATAAGCGTCCCCTTCGCAAGAGGCGACCAAGCCGCATGAGCAATCCCATGTTTTTTCAGGAACGTTCGTAGTTCATTTTGTGGGAGAAGTGGATGCGTTTCTACTTGGTTAAGTACAGGTAATTCATTCGCAACGGCAAGCAAA
-+
-AAAAAEEAEEAEEEEEEEEEEEEEEEEEEEEE/EE/EEEEEEAEE/EEEEEEEEEEEEEEEEEE/EE6AEEEEEE<EE/A/EAEEEEEEEE/E/AE6EE//EEE<E6A6AEEAAAEE<AEA///A<6/EAEE/EA<<E/AEEEE//EEE//
-@NS500443:42:H3MH2AFXX:4:21612:6916:19344/2
-GGCAACGACTTCGGCAGACTTACCATCAACGTTGACTTGATAATTCATTTTTCGCATTTCTGCATCCGTAATTTTCCCGGCCAGTTTATTTAGTGGGGCTTTCAGTTCAGGATACTTTTGCAATGTCTTAGTTAACATTAAAGGAGCGCC
-+
-AAAA/EE/EEEEAEEEEAEAEEEEEEEEEEEE6E/EEEEEEEEEEE/AEEEEEEEEEEEEEEAEE/EE/EEEEEEEAEEEEEEAAAE/EAEEEA/AEEA/A<EAEA<<EEEEE/EAEA6AAE/<EAEAE6A6E<AEE<E/AAAEEEE<EE
-@NS500443:42:H3MH2AFXX:4:21612:15429:19346/2
-ATCTTTTAACTGATAGTAAAAATAAAGTTGTGGCACGCGGTACGAAGCAAGTTCAAGTAGCGACAGTCAGCCATGAAAATTCGAGTGAGAAAACTGTTGCAACAGCACCTGAGCAATCCAGTTCAGCATCAAGTAGCAGTAGTAGCGCAC
-+
-AAAAAEEEEEEAEEEEEEAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEEEEEEEEEEEEEEEEE/EA/EEEEEEEEEEEEEE/EEEEE<AEAEAEEEEEEEEAEEEE/E/E
-@NS500443:42:H3MH2AFXX:4:21612:1024:19346/2
-GTATTATGGCTTACACAGTTTACAACATCGCGGGCAAGAAGGTGCGGGAATTGTTGCAACAGACGGCAAAGTGTTACGCGGGCACCGCAACTTAGGTTTGCTAGCAGATGTATTTAAACATGGGGAACTGGATGGTTTACCAGGAAGTGGG
-+
-A6AAAAEEEAEEEEEEAEAEE/EEAEEEEEAEEEEEEEE6/EEEEEEEEEEEEEEEEEAE6E6E6EE/EEEEEEE/EEEEEEE/EAEE/EEE<AEE6EEE<EEEEAE/EEEEEEEEE/A/66EAE//EEAEA/<A/EEEAAA/EEAEEE</
-@NS500443:42:H3MH2AFXX:4:21612:4182:19348/2
-CCGTCAATCGGAAAGAACGCATATTTATGACCCGCTAATTGAACAACTTTTAGATGAAGGAAAAGCTTATAAATGTTATTGTACGGAAGAAGAACTAGAAGCAGAACGTGAAGCGCAAAAAGCCCGCGGTGAAATGCCTCGTTAGAGCGGA
-+
-A/A/AEAEEEEEEEEE6EEEEEEEE/EEE6EEEEEEEEEEEE6AAEEAAEEAEEEE6EEAAE/EEEAEEEEEEEEEEA<6E<E/AEA/A/<EE/E/EEEEAE/E//E6EE//<AEE/E/A/<E/AAEEE6E////6E<//EA/<//A<E//
-@NS500443:42:H3MH2AFXX:4:21612:26730:19348/2
-ATCCACGAAACATCACAACACAAATGGCTAACTACGCATCTAAAACACTCAATTAAACAAAACCCGCACTCGAAAAGACTTATCCACTACCACCGATGGGAAAACCAGAAGACGTAACGAAGCACCATCACTTACAGCCTTCACATAAAT
-+
-AAAA66EA6EEEE66E/EEAEE6/////AE/EE/EEE//E//E/EEEE/A/EEE/6AAEE/A//A//AEAA/////<EAE/E/EEEE//6E/A///AAEE/////<EE/E/E/<///EAE/E////<A<AEEA/E/A///6E/AEA////
-@NS500443:42:H3MH2AFXX:4:21612:25889:19349/2
-CTTTAGGATTAGAGGTGAGTGCTGGTAAAATTGAAGTAACGGGAATATTAATAGCCGAATAAAGAACTTTCGCGCCAATATAGGCGATATAAATCCATACAATTTTCGCTGTTTCGCTGCCCATAATAAAGCTTGGAGCTGAAAAAGCCAT
-+
-AAAAAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEAEEEEEEEAEEEEEAEEEEAAAEEE/EEEEEEEEEA/AEEAEEAE<EEEEEEEAAEA6<EEEEEA/EEA<<AEAA<AEEEEEEEEEEAE<EEE<EEEEE
-@NS500443:42:H3MH2AFXX:4:21612:6539:19353/2
-GTATAAGGCGGACTATGAAAATGGACGGCTTCCACCTCAACGCCTCGCTTCATTGCTAAATAACCAGCTACTGGGCTATCAATTCCGCCAGATAGCATGAGCATTGCCTTTCCTGACGAACTAACAGGTAGCCCCCCAGCGCCTTGAATGA
-+
-AAAAAEEE/EEAEEAEEEEEEEEEEEEEEAAEE/EE6EAEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEE/EEEEEEEEAAE/EEAEE/EEEEEEAEEEEEEAA/EE//E</<AEEE//AEEEEEE/EEEEE/EEEA<</
-@NS500443:42:H3MH2AFXX:4:21612:21998:19353/2
-TCTTTGCAGTCATCATATTTCACAGCAAATTCAATTGCGGCAATCCGGTCGAAGTAAGCGCTGTCAAGACGACGCATATTTCCCGGATCTTCTTTTGAATGGAGCCCTGTTTTTCCTTCAATTGCTTTCGTAAGATGGGTAAGTAAATCAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEAEEEEE<EEE6E6EEAEE/EEAEEEEEAEEAEEEEAEEAEEEAEAEEEEEA<AEEEEEEEA/AEEEEA<EE<E</EEEEE
-@NS500443:42:H3MH2AFXX:4:21612:9349:19354/2
-GGGCTTAATATGGCGATGGAACTAGCTCGAGCTGGCATTTTAGAAGAAATGAATGTCGAAGTCCTTGGAACAGATTTAAGAGCGTTTCAAAAAGCGGAAGATCGCGAAGAATTCCGGAACTTAATGAATGAGCTCGGGGAACCCGTCCCAG
-+
-AAAAAE/EEEE/EEEEEEAEEEE/EEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEA/<EEEA/E/E6E/AEEEEA/<EE//EEEEEEE/EEEEEEEAAE/EEAE/EE/6E/EA/EEAEEEAEAAEEEE/6EE/A/AEE///EE</
-@NS500443:42:H3MH2AFXX:4:21612:10100:19357/2
-ATTTGAAGAGTACCGGAAGCTTTATGAGTTTGATTATGGCGATTATGAACAGTCTAAGTGGGAAGCACACGTGAAAGTCCAAGCACGTCAGGAAATTGGCATTCGGCGCTTCTTAGAGGAAGGTGGATATAATGCCTTCACATCGAACTTT
-+
-AAAAAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEAE6AE
-@NS500443:42:H3MH2AFXX:4:21612:5905:19357/2
-GTGACGGGCTATGATATCACCGTAAAGAAAGTACTTGTACGCGATTTAGAAAAGAATCGCCGTTACGAGGCAGAAGGTTTTACCTTAACAACCGAACCAAAAGACGTGCTAGATGATCCAGAAATCGCTGTTATTGTAGAAGTAATGGGCA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEA<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEAEA
-@NS500443:42:H3MH2AFXX:4:21612:22823:19360/2
-GAAAACGGCAGCTTTATTTGGCCCGAAAACGTACAAGATTACGTTCAGTATTTCCACCGAATCGCAGCTGGCATCCTTGTTATTTGGATTTTATATGTGACTTGGCTCGTTTTCCGTGACTACAGACATTATCGCGTGTTAACGTATGGCA
-+
-AAAA/EEEEEEEAEEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEAEEEEEEAEEEEEE/EEEEEEEEEEEEEEEEEEE/EAAEEEEEEE<EEEEEEEAEAEEE/EEEEEEEEEEE/EE6EEEEEEE<E<A
-@NS500443:42:H3MH2AFXX:4:21612:17904:19360/2
-TCCTTGTAGCGCTTAAGCAAGAAATCCAGCAACGCGAAAGAATCCGGTCCTCCGGAAACTGCCACAAGCAATTTCTCATCTGGCCGGATTAAATCATGCTTTAGAATAAAGTTTTCGACACGCCTTGAAAATTCATCCATTCTAAAAAC
-+
-AAAAAEEEEEEEE/EEEEEEEEE6AEE/EEAEEEEEE/EEEEEEEEEEEEEEEEEE/EEEEEEEEE/EAEEEEEEEEEEEEEAAEEEEEEEEEEEEEEE/EEEEEAEEEEEEAEAEE/EAEEE<EEAEEEEEE<EEEEE<AEEEEE//E
-@NS500443:42:H3MH2AFXX:4:21612:5361:19361/2
-ATACGGTGAAGCGAATGTTCAAAGAGATAAGACCTTACCTTATTCATTAAGGGATTTAATAAAGGTGGAAAAGAAAATTACTGTTCCTGCTAAAAAGAGTGTAGATTTGAAGTTAGCTGTTACTATGCCGGATAAACCATATGCGGGAGTA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEAEEEEEEEEAEEEAEEEEEEEAEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEAAEEEEEEEEEAEEEEEEEEEEEEEEEEEAEEEEE/
-@NS500443:42:H3MH2AFXX:4:21612:10976:19365/2
-CCATTAGGAGATCGTGTTGTTATTGAAGTAATTGAAGCAGAAGAAAAAACAGCGAGCGGCATCGTTTTGCCAGATTCGGCGAAAGAAAAACCGCAGGAAGGAAAGGTTGTTGCGGTAGGTTCTGGTCGTGTACTTGATAGTGGCACTAAAG
-+
-AAAAAEEEEEAEEEEEEEEAE/EEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEEEEEEEEAEEEEEAA/EEEEEE6AEEEEAEEEEEEA/EEAEEEAE
-@NS500443:42:H3MH2AFXX:4:21612:22942:19365/2
-CGAAAAAACAAGCCGAACAAAATGCAGCGGAGTTTGCAGTTCGGCAGATGATGCATAAGTAGGAACGGAAGGAGAGAAGCAGTTTGCTATTAAAACGACTGGAAATGAATGGATTTAAATCATTTGCAGATAAAGTAGCAATTGATTTTGT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6AEEEEEEAE/EEEAEEEEEEE<EAEEEEEEEEAEEAEEEEEEEEE//AE<AEEE<A
-@NS500443:42:H3MH2AFXX:4:21612:14114:19366/2
-AAATAAGGAAGCGTCATCGAGACATTCGCCATCAGCGTCAGTTTATTGTAGAAGGCAGAGGCATTGCTTCCGCCAAAAGAGGCGATCAAAATAATGACAACAACGATAAGACACTGAATCCACATTGCAAACTCTGGCATTCCTGCCTTGT
-+
-AAAAAEEEEEEEEEEEEE6EEAEEEEEEEEEEEE6EEEEEEEEEAEEEAEEEAEEEEEEE6EEEEEEEEEEEEEEEEEE/EEEEEEEE<E/E/EEE/E/EEEEEEE/EEEEEEAEEEE/AEEEEEEEE///EEEEEEEAAAEEE/EEE/<<
-@NS500443:42:H3MH2AFXX:4:21612:13612:19370/2
-GATCAGGTTATGCAGATTTTTAATATCGAAGCAGATGTAGATTTAGATATTATGAAAGCAGGTCAAACGCTAAGTGATATAACATCACGAGTTTTATCTGGTCTAGTCGAAACAATCAAGCAGGAACAACCAGACATTGTGCTTGTCCACG
-+
-AAAAAEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEE<EEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEA<AEEE<EEEEEEEEE<E<<EEEE
-@NS500443:42:H3MH2AFXX:4:21612:1049:19371/2
-CTCCCTCACCGGCGCGCTTTAATTCTCGTAACACAAAAAATTGTTCCGTTGAAATTCGCTTTCCGCCAATCTCCACTTCTTCAATCGCTTGATCAATTTCTTTTAATGCAAATAAATACGTCCGTGTATAACCATCAATAAAGCGATCTAA
-+
-AAAAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEAE<EEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAEEEEAEEEEAEEEEEEEEEEEEEEEAEEE/
-@NS500443:42:H3MH2AFXX:4:21612:9601:19373/2
-CTATTTGCATGAGCGAATGACTTGGACTGCTTATAAGCTCTTTTATTTGCGGAAAAAGCGAAACTTGCAAAATGATTCAGAACGATTGCAATATATGGATGAAGCGCTGACTGAAATTGGGAAATTAAGCCAAGCGGTTGAGCGTGAACTT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEE/EEEEAEEEEEAEEEAEEAE///EEEEEEEEEEAE<AEEEEEEEAEEEEEEEEA
-@NS500443:42:H3MH2AFXX:4:21612:20393:19375/2
-GTCTCAAGCGACTTGATCAGTGGTTCAAAATGATGATTTTGACTTATTTTCCCGTAAAGAGTGACTTCATCCCCATTGACTGCAATCACGTTTTCTTCACTAAAACCTTGGCTGAATGTTCCAGTTGCAGAATCGGATAATTTAACGCCTA
-+
-AAAAAEEEEE/E/EEEEEEEEE6EEEEEEEEEEEEAEEEEE/AEAEAEEEEEE6AEEEEAEEE/EEEE/EEE/EEEAEEEE6EEAAEA//A/<E/6/EEEAEEE<AAEA/AA/AE/A/<EE/A/<AE/AAE/EE/EE/EEE/EE/AEEEAE
-@NS500443:42:H3MH2AFXX:4:21612:18713:19376/2
-GCTTATATCCCAACAAATGTAATCTCCATAACTGACGGACAGATTTTCTTACAGTCTGATTTGTTCTTCTCTGGGGTTCGTCCAGCGATTAATGCTGGTTTATCTGTATCACGTGTTGGTGGTTCCGCACAAATCAAAGCAATGAAGAAAG
-+
-AAAAAEEEEEEEEEEEEEEEE/EEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEA<EEEEEEEEEAEAEEEEAEE6EEA<EAEEEEEEEEEE/AEE/EEEE/AA/AE
-@NS500443:42:H3MH2AFXX:4:21612:16612:19377/2
-CTTGATGATGACTTTAATCAATTCCTTCTTAGTGTGCGTTCGAAAAGTGTTAAATGGATAAAGGAACAGATGCTACTAGTATATGGGAAAGATACCGAACCTTATTTGAATGATCTTGCAATGATGTTAACGGGAATGATTCTTCTTTTTG
-+
-AAAAAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEAEEE/EEEE/EEEEEEE/AEEEEEEEEAEEEEEEEEEAEEE/EEEAEAE<EEAEAAEEEEE/
-@NS500443:42:H3MH2AFXX:4:21612:21100:19378/2
-GCCCAGAACCAATCACTGCAATTTTTTTATCCCACCGCACTATCGGTGGAGTCGGCATGAACCAACCTAAACCAAACCCACGGTCAATAATAGCCCGTTCAATCGAATTAATACCCACAGCAGGATCAGAAATTGCAACCGTACAACTTC
-+
-AAAAAE/E/EEEEEEAAAEEE////EEE/AEA/////E/////E//E66EA/AEEE/EEE//////AE////AEA/EE//AE/EE/EEEEE//E/E//EEAAA//A/EEE/A/A/6A</A///E/EAE/E<A//E//////6/E///6<<
diff --git a/data/test_single.fq b/data/test_single.fq
deleted file mode 100644
index 8416483906c3c0546c68766ea0112d95bd332449..0000000000000000000000000000000000000000
--- a/data/test_single.fq
+++ /dev/null
@@ -1,24 +0,0 @@
-@NS500443:42:H3MH2AFXX:1:11101:18066:6020/1
-TCGCTCACAAGCGCAATCGTTTCTCCATTTTGCAGTTGTTCGACAAGCTCGTTTTCGCGTTCTCGCTCGCTATATTGGTGGTAGCTCACCATCTTCGTGTGAATTTCAAAATGGTTGAGCAGCTTGATCGTATTTCGCGTATCTTCTGCGG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEA
-@NS500443:42:H3MH2AFXX:1:11101:6390:6038/1
-CATGAAGGAACGCTTAGTCCAGTTTTATACGGACATGAACATTGATGGGAACTTTATTTCGCTTGGTAATAATACATGGGGACGTCGAGCATGGTATCCAATTGATGCGATCGATGAAGAAGTTCAAACACACTCAGCTCCGAAGAAAAAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEE//EEEEEEEEEEEEEEAEEEEEEEA
-@NS500443:42:H3MH2AFXX:1:11101:3205:10492/1
-ATTAGGCACATTGTTTCCTTCAAGTGCGGAAATTGGAATGATTTCTGCAAAATCAAGTTTTTCTCTATAGGTTTCTATTAGCTGGATAAGTTCATCTGGACTGACTAAATCAATTTTATTGATCAATAGAAAAACAGGTGTATCCACTTGT
-+
-AAAAAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEAEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEAEEEEEEEEEEE6AAEEEEEEAEEEE<EEAAEEAEE<EEAE/<EEA/EEEEEEAAEEEE/EEEA<EE
-@NS500443:42:H3MH2AFXX:1:11101:11822:11415/1
-ATATTACGAACTATTTTTTTGCACGAACTGTCCAACACATTGAGGAAACGCTGTTTAAAAATGGCTATTCCACCATTATTTGTAACACAGATCGAAGTCTCGAAAAGGAAAAAGCTTATCTTGAAATGTTGAAGGCGAAAATGATCGACGG
-+
-AAA/AEEEEEEEEEEEEEEEEEEEEE6EEEEEEEAEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEE//AE/E<EEEEEEEEAE/EEEEEEEEEEEEEEEEEE<EEEEEEEEAEEAEEE<<EEEAAEEEEEAAAEEEEEEEEEAAA6EE
-@NS500443:42:H3MH2AFXX:1:11101:17702:11983/1
-TTGGTAGACCGAGTGATTCCGATGTTGCCGCATAAACTTTCAAATGGAATTTGTTCGCTGAATCCGCAAGTGGATCGCTTTACGCTTAGCTGTGTGATGGAAATTGATGCGGACGGGCAAGTCGTGAATCACGAGATTTTTGAAAGTGTGA
-+
-AAAAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE
-@NS500443:42:H3MH2AFXX:1:11101:11233:12467/1
-GTATTTGCGGCATGTGAAAGAGCAAATGGGCGATTTGCCAGTTGCGATTGAATTTCGGAATAGCAGCTGGTATAGTGATGCCAATTATGAAAAAACGCTAGCGCTACTGACTGAACTTGGATTCATTCACGTGGTTGTCGATGAGCCGCAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAE<<AAEA
diff --git a/test/old/test_single2.fq b/data/test_single2.fq
similarity index 100%
rename from test/old/test_single2.fq
rename to data/test_single2.fq
index 3aafee45676a6c02bb42e0804472352a804d561a..dbceb4dfdd14c1ad76f910a96e1ab56630b73030 100644
--- a/test/old/test_single2.fq
+++ b/data/test_single2.fq
@@ -1,75 +1,51 @@
-@NS500443:42:H3MH2AFXX:4:21612:25633:18364
-AACGTATCCTTTACTTTCCAAAAACTGCACGGCGTCTTTTTCAAATGCTGTTCGTTCCATAATCGTAATTCCTAAAATTTCTTGCGTAACTTTTCGGCTTTTTCCTTTTTCATGAGAAAGCAAGATCGAATAAGCCACAATCGGACTGTCAAAACCACCATATTTGGTTGTATCCCATCCATTTTTACGCGGAATTAGTTTTTTCGAAGGTCCTTTTGGCAAAATCGATTCTTTAGAAAAACCACACGTTTGCACTTCAACTTTTTTGACAATATTCATT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:19734:18374
-TTCAAGCTATCATTAAAAACAGACAAGGTGGAGATTCGCTATGCGTTATTCTCTTCCCTCTTCAAAAATTTTCAAACAAATATTGTGAGGTGCTGACTACGAAAATGAATATCTTTAAGCGTTTTTGGAGAAGTATTTATTCCCCGAAAGATATTGCAACCTTCCGAAAAGATAAAATAAGCAAGAGCATAACTTATCTTATCGTGCTTGGTTTTCTTGCCTTTTTACCACTCGCTTACTACACGACGACAACGACACAAAATGTGCTTAAGCTGAGCAAAGAAT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:21370:18447
-AAATCGAACAGATTATCGAACAAGTTGAACAAGTCATCGTCGGCAAACGCCGCGTTATTGAACTTAGCTTAACCGCTCTTTTTGCAGGCGGTCATGTTTTAATTGAAGACGTTCCTGGGGTTGGTAAAACCATGCTCGTCCGTGCTCTTGCAAAATCGCTTGATACCACTTTTCAGCGTATCCAGTTCACGCCAGATTTACTGCCTTCTGATGTCACCGGCGTTTCGGTATTTAACCCAGATAGCCGCAAATTTGAGTTTCGGCCAGGCCCGATCATGGGCAAC
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEE<EEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:17127:18450
-TCATTTGACGGCGCGTTTAACCGTGCGGGATGTAGTAAGTTTTGGGCGCTTTCCTTATTCTTCCGGTCGCTTAACGAAAGCAGACATTCAAAAAGTGGACGAAGCGATTCGCTATATGGAAATGGAAGCTAAACAGCATCAGTTTCTTGATGAACTAAGCGGTGGCCAGAAACAACGTGCCTTTATTGCAATGGTGATTGCGCAAGATACCGACTATGTTTTGCTTGATGAGCCACTAAATAATTTGGATATGAAACATGCCGTTTCCATGATGCAAATT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:14637:19306
-ATTTTTATCTTCTTGAAGTAGCAGCCCTATCGTATATGCATACTTATTTTGAATCCCATTAGATTTAGCCTTTTTGGTTTCATTTGTTTTTTCTTGAATCGTTATGCCCCCTGCTAACATCCCCTCAAATTTAGATTTTGGTACCGTTAATTTGATTTTCAGCTCAGTTTTACCTTGTTTAGGAATAGTTATTTCGCTTGGCATTTCTATAATGTCTTCCATTCTATTGGACAAATTAACATTGGCATTTTTTTTACCTTTTTCGTAATCTACTACTCCATTA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAAAEEAAEAEEEEEE<EEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:23509:19308
-TATCAATGGTTCGTGTATCCCCAAGATAATGATAGCCCCAAATAATATCTAGCAATTCTTCGCGTGTATAAATTTTTCCTTTTCCAAGTAAGAGGGTTTGGAGCAATTCAAATTCTTTTGCTGTTAAATCGACGGGTTCTCCTAAATAAAAAACTTCATAGTTGTTGACTACGAGGCGTATGTCTTTATATTCGATTTCCGTTAAGCTTTCTGTGTAAGTTCGCCTGATGATGGCTTCGATTTTATAAGCGAGCAAATTCATGGAGAAAGGTTTGCTGATATAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:11900:19309
-TGGCTAATGTGTTATTGCGAGCGGGGGCACCATCTGTAAACCGAGGGGCGAATAAATATAATTTTTCATTGGGCTTAGTAAAAGCGCTCCCGATAAGCCCCCCTTGGAACATATAATCCATATTTAGAGAAATCCCGTCGTAGCTTGGATCGCCGCCTTCTTCGCTAGTTGTACGAATCAAATTTCCATAGAGCGGCCCATCAGCTATCGCGCTTTTACCATTGCGGTAATCTGATTTACTATCAAATGCGTCGTCCCAACGTTCAGTTGACTGTGTATACATT
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEE<EEEEAEEEEEEEEEEEEEEEEEEE/EEAAEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<AEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:9639:19330
-GTGTAAGCGGTGGGACTGACAAAGTTATTCGCATTTTATCATAAAAAACTTGGAAATTGGAATTTAATATTTAGTTTTATGAAGGGCTTTTGGGTAGGCTACTTTGTTCTTTTAATGTTGCTCTTTTTAGGAACAGTCGCCGTTTTTTATTTATTGAGCTCAGGAGTTGCTTGGTTTGTACTTTTGCTTGATGCCATTCTTGCAATCCTCTTTTTTTATTTGTTGATTCACTTGCGGGCAAAACGATTGATTCGTGTTAAATTTCAACTGAGAAGCTTTAAGG
+@NS500443:42:H3MH2AFXX:4:21612:10137:17635
+CTGCAATGACAATGCGATTTGTGTTCCAAGCTTCTTTTTGGGCGTTTTCTGCAATTTTAAGCAGCGTCGCGTAACAT
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE<EEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEE<EEEAE<EEAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:15147:19361
-GTACTTAGTAGTTTTAGCCGTTCCGACAAGTGCCATGCGTGAAGTGGCACGCCAAGTGGATGCTGAACTTCGTGCACCGCAAATCATTGTCCATGTCAGTAAAGGAATTGAACCTGAAACCAATTTGCGGATGTCAGAAGTCATTGCTGAAGAGATTTCTCTAGAAAAGCGTAAAGGGATTGTGGTTCTTTCTGGCCCTAGTCATGCGGAGGAAGTAGCTGAAAGACATCCTACAACACTTTGTGCGAGCTGTGAAAATGATGAGCTTGCGGGCCTTGTTCAAGATG
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:3915:17640
+TTGCTAAACAACCTTCATTTAAAGAAAACATCAGTGGTCGTGTACAACGTAAAGGACTTTTAGGAGATCGTTGGTTCACTTATTCAGAAAAAGATATTAC
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:5056:19365
-GATAGTGACTTTGGTAGCTTGCTCGATCTTCATAACGAGCAATTCGGAACATCATAGGCGTATGTTTCACTTGTTCTTTTAAAACTTCAAACACTTGTTTCACAAAAACACTTCTTTCTCAGATTAGTCAAAACAAAGATTTTTATTTCATTGCTATAAGCATCTCTCCTTAACTGAACTTACCCGTTTCCGATGCTTTTGCTTACTTCATGACGTATGTCAATTCTTCCATTTCGTGCAAGTTACAAGATTTTGGGTAGTGCTTTTTCATTTGAAACACTACCC
+EEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:7700:17642
+CTCGAATCGTATCCAAAGCTCCAATATGGTCATAAAGCGTGTGAGTGAGCAAAATAGCAACTGGAGTTGCACC
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE
 @NS500443:42:H3MH2AFXX:4:21612:13998:17643
 TTTTTAGGTGCTACCATAACACCAACTGTTTTCACCATAATTTTAAAATCAAGCATTAGAGACGCTTCTCTAATGTATTGCAAATCTAGTTCTACCATTTGATGAAAATCTAATTCATTTCTTCCACTAACCTGCCATAATCCAGTACAACCTGGTATAACGGTCAAACGCTTTTTATCATAGGAACTGTATTCTCCTACCTCACGTGGCAAAGGAGGTCTTGGACCAACAATTGCCATGTCTCCTTTAACCACATTCCAAAGCTGTGGTA
 +
 AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:25795:18407
-GATGCGGCGCTTGCTTCGGATGCTCATTATAAGGAGCCAAGAACTTTTGATAAGGCAAATTTTGGGCCATTTAGTTTGGAAGTGTTAAGTCCGAGCAAGCTAAGTGGTAATGCCAATGATGATTCAATTGCTGTTCGCTTGACTTACAAGGAGATCTCAGCAATTTTTACAGGAGATGCTGAGAAGGGGCGAGAAAAAGAAATGATCGAAAGTGGCTTGCCACTTCAAGCTGATATCTTAGATTTAGGTCATCACGGT
+@NS500443:42:H3MH2AFXX:4:21612:8872:18346
+ACCCAAACTTGCCAGACTTGTGTAGAACGTCCAATATGTATCGGCATCGCTTCCACATGAATGAATCCTTGTTCCACACTTTTTATATGATTCGCATTAATTTCTTGTCCGAAAATCAACTGATTTTTTGCAACATTTTCTCCCGCTCCAAGACTGGCTGCATGTTCTGCAAGCGCAACAGAAACACCACCATGCAAGTAGCCAAAGGGTTGTTTGACCTGATCTGTTATTTCAAGCGCCAGTTCCACTC
 +
-6AAAAEEEE/EEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEA/AEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEAAEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEE/EEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:17614:18446
-CCCTTCTGTATCAATCGCATTTTGAGCAAACTCACGAGCAATTTGCGTGACAATACTTGCTTTCACGCCCGTAATTTTTTCCTGCCAAGCTGGCGTATACTTACTCGATTCATCATCCAAATCTTTTGCCGCAAGCTCGTCGCCATCAAACATTTCAATTCCGTACTGGCTTAGCATCAAATCATAAACTGTCACAGCTTTCCGAATTGTCCCATCCGCAAGAGTCATTTCTCGAACTGGAATATGCCGTTCAAAAACACCATTTCCAGCA
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEAEEE<EEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:5356:18352
+TGGCTACACAAATTGGAGCACAGTTTTTACAGAAGACAAACGGAGGAATGGGGGTTCTTCTAAGTGGCGTACCAGGAGTTGAACGAAGCAATGTAACCATTATTGGCGGCGGTGTTGCGGGGACAAATGCTGCAAAAATCGCTATCGGAC
 +
-AAAAAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:18889:19278
-TCCATTAATTGCAGAAGCATAAATCACCGGGAATTCAAGCTGGTCATCATTAGCTCCAAGCTCAATGAAAAGTTCCAATACTTCATCGACAACTTCCTCTGGACGAGCAAAGTCACGATCAATTTTATTCACGACAACAATAGGTGTTAAGTTTTGCTCTAGAGCTTTTTTTAGTACAAAACGCGTTTGCGGCATTGTTCCTTCATAAGCATCTACGACAAGCAAAACCCCATCAACCATTTTCATGATTCGTTCTACTTCTCCACCAA
+EAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAAEE
+@NS500443:42:H3MH2AFXX:4:21612:25633:18364
+AACGTATCCTTTACTTTCCAAAAACTGCACGGCGTCTTTTTCAAATGCTGTTCGTTCCATAATCGTAATTCCTAAAATTTCTTGCGTAACTTTTCGGCTTTTTCCTTTTTCATGAGAAAGCAAGATCGAATAAGCCACAATCGGACTGTCAAAACCACCATATTTGGTTGTATCCCATCCATTTTTACGCGGAATTAGTTTTTTCGAAGGTCCTTTTGGCAAAATCGATTCTTTAGAAAAACCACACGTTTGCACTTCAACTTTTTTGACAATATTCATT
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:18236:19293
-GGTGCGGATATGGTATTTGTCACTGCAGGAATGGGTGGCGGAACAGGAACGGGAGCTGCACCAGTTATTGCACAAATCGCAAAGGAAATGGGAGCTCTAACAGTTGGTGTGATTACACGTCCATTTGGCTTTGAAGGACCCAAACGCTCAAAACAAGCTTTTTCTGGAACAGAGGCGATGAAAGAAGCGGTTGATACGTTAATCGTAATTCCAAATGATCGCTTGCTTCAAATTGTCGATAAGAACACTCCAATGCTTGAGG
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:4154:18366
+AAGTTTACGAGCTATTTATTTTCAACTGGAAAGTTTGTATCTAATTTTTATTATTGTGTAC
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEA/EEEAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:9039:19304
-GATTAGTGTGTCAGATAAAACGGGGATTGTTGATTTTGCTCGGGAGCTCGTTTCGCATCAATTTGAACTTATTTCGACGGGCGGAACGAAAAAAGTACTTCTTGAGGCGGGGCTCCCTGTTGTAGGAATTGAAGAGGTGACGGCGTTTCCAGAGATGTTAGATGGGCGTGTGAAGACGCTACACCCGGCGATCCATGGCGGATTGCTGTTTAGGCGAGATCTTTCGGAACATAAGGCACAAGCGGCTGAGCATGGGATAAAGC
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:26037:18369
+TCACAGTAGGTGACAGCTTTGATCCAATGGCTGGTGTAACAGCAACAGACAAAGAAGATGGTGATTTGACATCGAGCGTAACTGTGAAGTCAAATAATGTAGACACATCTAAGCCAGGTACGTATGATGT
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:19599:19364
-CTTCTGAAAACGGCGGATGATAATCCATATCCTGCCCGAAAATCTTCTGTTTGCCGAATGAAAGCTGCGAAGCAAAATCAATCCGCAGCGCACCTGATGTTGGTGTCACTGGATCTACCGGTTGCACCTCTTCATTCGGATCAGTGGGATTAACGGGAGGTGTTGTACCGTCCACATCAGCTGTGAACTGCACGCTTGAATCACTCACATTATCGCTTGTAACCGCATAAGCAGGTGGTTCGCTTAGGGAAAATATCATTCCAAAAGCGATGAACAACAA
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:19147:18372
+ACTGATATCACTCCGCCCGATCTTGAAACGCGGATTGCAATTTTGCGGAAAAAAGCGAAAGCGGATGGGCTTGATATTCCAAATGAAGTGATGCTTTACATTGCGAATCAAATTGATTCGAATATTAGGGAACTTGAAGGCGCACTAATTCGTGTTGTTGCTTACTCTTCTCTTGTCAATAAG
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEAEEEEEE<EEEEEEEAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAE/EEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:8872:18346
-ACCCAAACTTGCCAGACTTGTGTAGAACGTCCAATATGTATCGGCATCGCTTCCACATGAATGAATCCTTGTTCCACACTTTTTATATGATTCGCATTAATTTCTTGTCCGAAAATCAACTGATTTTTTGCAACATTTTCTCCCGCTCCAAGACTGGCTGCATGTTCTGCAAGCGCAACAGAAACACCACCATGCAAGTAGCCAAAGGGTTGTTTGACCTGATCTGTTATTTCAAGCGCCAGTTCCACTC
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:19734:18374
+TTCAAGCTATCATTAAAAACAGACAAGGTGGAGATTCGCTATGCGTTATTCTCTTCCCTCTTCAAAAATTTTCAAACAAATATTGTGAGGTGCTGACTACGAAAATGAATATCTTTAAGCGTTTTTGGAGAAGTATTTATTCCCCGAAAGATATTGCAACCTTCCGAAAAGATAAAATAAGCAAGAGCATAACTTATCTTATCGTGCTTGGTTTTCTTGCCTTTTTACCACTCGCTTACTACACGACGACAACGACACAAAATGTGCTTAAGCTGAGCAAAGAAT
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEAEEE<EEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAAAAA
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:2675:18381
+GGGCTGTATCGACCTTGTGAGCGCGGGAACGGGTGAAATGAAAAAACGCTATGGCTTTATTTACGTTGACCGCGACAATGAGGGGCACGGAACACTCGATCGCTCGAAGAAAAAATCATTTGATTGGTACAAAAAAGTAATTGCTTCGAATGGAAC
++
+A6AAAE/EEEEEEEEEEEEEEEEEEEEEEEEEE/E<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEE6AAAAA
 @NS500443:42:H3MH2AFXX:4:21612:25668:18383
 TGCGTCTGTTGTGCAAAATGTCAATCCGCATAAAACGAATGTGATTTTTGGTGAGAAAACGCGTGTGCTTGACGGAAAAGAGCGGATTACGGACACGATTCATGGTATTAAGTTTGCGATTTCGGCGAAAAGCTTTTATCAGGTGAATCCAGAGCAGACGGAAGTATTATATGCGAAAGCGCTTGAAGCTGCAGGACTGACGGGACAGGAAACGGTGATTGATGCGTATTGTGGCATTGGATCGATTTAGCTTTGTCTTGCGAAGCGTGCGAAAAAGG
 +
@@ -82,18 +58,14 @@ AA/AAEEEEE/EEEEEEEEEE/EEAE/EEEAAEAEE6EEEEEEEEAEEEEE/EEEEAEEAE/EEAEEEEEE6EE/EEEEE
 GCAATATTGATCAGTAAGTAAACGACCATGACGCTCGTAAGCCCAATAACAATCGCTTTTGGCAAGTCTTTTTTCGGGTTTTTCATTTCGCCCGCAATATTCCCAACGTGAATCCAACCGTCGTAAGCGAACATCGTAGCTACAAGCCCCGAACCAAGACTCGTGAGAAACGGATGATCCTCAACACTCATCGGAAATAACCGAAACGCAACATCGCCCTGATGGAATAACCCAAAAATAATAATAAGTGCTAAAGGAACGAGTT
 +
 AAAAAEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEA<AAE<E/AE/AA/EAAAEEEEE//E/AEEAEEEE<E/A<EAAEEEE/EEEEA<EEA/AEEEEEEAEEE/E//EE/E/EEEEEEEEEE/EE/EEAEE/EEA/EEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:3777:19290
-CAAAGTGGCTCGTTTCGGGGATAACATGCGAAATGTGGGTGTGACAGAAGGTGACAAAGTAGAGGCGCAAATTCAATTTGGATGGGTTGTTGATTATTTTGGCATCGGAGACCTCGTTCAAGTGGTGGATGCGGTTACGGATGAAGAAGTAGATGCGCTATTTGAAGAGTACCGGAAGCTTTATGAGTTTGATTATGGCGATTATGAACAGTCTAAGTGGGAAGCACACGTGAAAGTCCAAGCA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEA<EEEE<EEEEEEEAAAEAE<EEAEEAAEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEE/EEEEEEEEEAEEEEEAEEEEEEEEEEEEEEEEEAAEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:18162:19319
-GGCTAGTGCTTCAGCTTCTTCCAGATATTGGGTAGTAAGAAAGATGGTGATGCCAGAAGCTGCCATTTTTCTGATCGTATCCCACAGTGCAAGGCGCGCTTCTGGATCGAGCCCAACTGATGGTTCATCTAAAAAGACGAGTTCTGGGGAGCCTAGCATGGTCATAGCAAGGTCTAATCGGCGCTTCATACCACCAGAATAAGTGGATAAAGGCTTCCCGCCAGCTTCCTCTAAGTCAAATTGTTTTAAGC
+@NS500443:42:H3MH2AFXX:4:21612:11678:18397
+GTGTTATCATTTCCCTTATGTTAAAATTGTGTTAAAATGTTAGACGTATAGTTTTAACATTTTATGAATCTTTACGACGTATAGAAAAACAATAACTATTAAATAGAATGTAGGAGAGGTGTAACATGAAG
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:11613:19326
-GTTGTTGTCAGGACCACTAAAACAAAGATAAAGGTTAAAATCATTTCAACTAAAAACGCTCCTGATGCGGAGAGAGCCCCAAAACCATTTTGACCTAGATTGTCTGTTGAAAGAGAAGAGGCAAGTAAAAAGGTTCAAAGAGTGAGCGTTGCGACAATGCCTCCTAAAATTTGTGCGACAAGATAAATGCAAAGTTCTTTTAAAGGCATACGTTTATTGATAAACATGGCAATGGAAACAGCAGGGTTGATATGGCAACCTGAAAT
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAEEEEEEEEEEEA
+@NS500443:42:H3MH2AFXX:4:21612:25795:18407
+GATGCGGCGCTTGCTTCGGATGCTCATTATAAGGAGCCAAGAACTTTTGATAAGGCAAATTTTGGGCCATTTAGTTTGGAAGTGTTAAGTCCGAGCAAGCTAAGTGGTAATGCCAATGATGATTCAATTGCTGTTCGCTTGACTTACAAGGAGATCTCAGCAATTTTTACAGGAGATGCTGAGAAGGGGCGAGAAAAAGAAATGATCGAAAGTGGCTTGCCACTTCAAGCTGATATCTTAGATTTAGGTCATCACGGT
 +
-AAAAAEEEEEEE/EEEEEAEEEEEEE6EEEEEEEEAEEEAEEEEEAEEEAAEEEEEEAEEEE/<EEEEEAEEAEEEEE<EEAEAEAEE///6<E6<EEEEEEAEA<EEAEEEEE/EEEE#AEEEE<<EEEEEEEAEEEEEEEEEEAEEEEEA/A6EEEEAEEEE<E/EEEEE6EEE<E/E/6AEAEAEEEEAE<EEEEEAEAEEEEAEEEAEEEAEEEEEEEEEEEEAEAEEEAEEEEEEAAEAAAAEEEEEEEEEEE6EEAAAAA
+6AAAAEEEE/EEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEA/AEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEAAEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEE/EEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEAAAAA
 @NS500443:42:H3MH2AFXX:4:21612:5909:18411
 GTTACTATACCGAATAAAAAGACGTAAGCAGGATAAACTTTCCTGCTTACGTCTTTTAGTTTAACTAGCTTTCACGATGATCAAACTTAGCTTCATCAAGTGGAACCATCTTGGTTTTTCTTGCAAGTTTGTATGACAACCAGAAGATCAAGAAAATCGGCAATCCAATATAAGAAATACCAATTTTTTGCCACCAAGCGGGGTTTGTGAAATCAGGGTTTAAG
 +
@@ -102,59 +74,87 @@ AAAAAEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEE6EEEEEEEEAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEE
 CACTTTACTTACATCGCTATTTTCCAGAGTGATTTTCATGTTATCTACTGTAACTGTATTATCATTTTTGGAAACTGAAACACTTTGCTTGGTTGTTTCTTTTTTATCATTACTTGTCTTATCACTAGCATCACTTGAACAAGCCGTTAGAAAAACGACAAACAAGGCACTAAAAATCAACAATACTTTTTTCATTTTTTATTGACCTCCATAAAATTGAAT
 +
 AAAAAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:19147:18372
-ACTGATATCACTCCGCCCGATCTTGAAACGCGGATTGCAATTTTGCGGAAAAAAGCGAAAGCGGATGGGCTTGATATTCCAAATGAAGTGATGCTTTACATTGCGAATCAAATTGATTCGAATATTAGGGAACTTGAAGGCGCACTAATTCGTGTTGTTGCTTACTCTTCTCTTGTCAATAAG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAAAAA
 @NS500443:42:H3MH2AFXX:4:21612:14607:18432
 GTCAAGAAAAGCCTCTAAGGAGAGAAAGACTGCCCGTACCGCAAACCGACACAGGTAGATGAGGAGAGAATCCTAAGGTGAGCGAGAGAACTCTCGTTAAGGAACTCGGCAAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTGATAGGGTGAAAGCCCGAGAGAGCCGCAGTGAATAGGCCCAGGCG
 +
 AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:14400:19348
-GCACCATGTAGTGCTGTTTTCCCGCGAATGATTAAACCATCTTCAGTCGGCGTAATGTCTGCCCCCATTTTCTTCAATTCATTTGCAACCGCATCAATCCGGTTTGTTTCTTTAACTTTAAGTTCTTCTGCATCACGAATCACTGTTTCACCCTCTGCTTGTGTCGCAAGAAGTGCGATAATAGG
+@NS500443:42:H3MH2AFXX:4:21612:17614:18446
+CCCTTCTGTATCAATCGCATTTTGAGCAAACTCACGAGCAATTTGCGTGACAATACTTGCTTTCACGCCCGTAATTTTTTCCTGCCAAGCTGGCGTATACTTACTCGATTCATCATCCAAATCTTTTGCCGCAAGCTCGTCGCCATCAAACATTTCAATTCCGTACTGGCTTAGCATCAAATCATAAACTGTCACAGCTTTCCGAATTGTCCCATCCGCAAGAGTCATTTCTCGAACTGGAATATGCCGTTCAAAAACACCATTTCCAGCA
 +
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:5356:18352
-TGGCTACACAAATTGGAGCACAGTTTTTACAGAAGACAAACGGAGGAATGGGGGTTCTTCTAAGTGGCGTACCAGGAGTTGAACGAAGCAATGTAACCATTATTGGCGGCGGTGTTGCGGGGACAAATGCTGCAAAAATCGCTATCGGAC
+AAAAAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:21370:18447
+AAATCGAACAGATTATCGAACAAGTTGAACAAGTCATCGTCGGCAAACGCCGCGTTATTGAACTTAGCTTAACCGCTCTTTTTGCAGGCGGTCATGTTTTAATTGAAGACGTTCCTGGGGTTGGTAAAACCATGCTCGTCCGTGCTCTTGCAAAATCGCTTGATACCACTTTTCAGCGTATCCAGTTCACGCCAGATTTACTGCCTTCTGATGTCACCGGCGTTTCGGTATTTAACCCAGATAGCCGCAAATTTGAGTTTCGGCCAGGCCCGATCATGGGCAAC
 +
-EAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAAEE
-@NS500443:42:H3MH2AFXX:4:21612:2675:18381
-GGGCTGTATCGACCTTGTGAGCGCGGGAACGGGTGAAATGAAAAAACGCTATGGCTTTATTTACGTTGACCGCGACAATGAGGGGCACGGAACACTCGATCGCTCGAAGAAAAAATCATTTGATTGGTACAAAAAAGTAATTGCTTCGAATGGAAC
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEE<EEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:17127:18450
+TCATTTGACGGCGCGTTTAACCGTGCGGGATGTAGTAAGTTTTGGGCGCTTTCCTTATTCTTCCGGTCGCTTAACGAAAGCAGACATTCAAAAAGTGGACGAAGCGATTCGCTATATGGAAATGGAAGCTAAACAGCATCAGTTTCTTGATGAACTAAGCGGTGGCCAGAAACAACGTGCCTTTATTGCAATGGTGATTGCGCAAGATACCGACTATGTTTTGCTTGATGAGCCACTAAATAATTTGGATATGAAACATGCCGTTTCCATGATGCAAATT
 +
-A6AAAE/EEEEEEEEEEEEEEEEEEEEEEEEEE/E<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEE6AAAAA
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:18889:19278
+TCCATTAATTGCAGAAGCATAAATCACCGGGAATTCAAGCTGGTCATCATTAGCTCCAAGCTCAATGAAAAGTTCCAATACTTCATCGACAACTTCCTCTGGACGAGCAAAGTCACGATCAATTTTATTCACGACAACAATAGGTGTTAAGTTTTGCTCTAGAGCTTTTTTTAGTACAAAACGCGTTTGCGGCATTGTTCCTTCATAAGCATCTACGACAAGCAAAACCCCATCAACCATTTTCATGATTCGTTCTACTTCTCCACCAA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:3777:19290
+CAAAGTGGCTCGTTTCGGGGATAACATGCGAAATGTGGGTGTGACAGAAGGTGACAAAGTAGAGGCGCAAATTCAATTTGGATGGGTTGTTGATTATTTTGGCATCGGAGACCTCGTTCAAGTGGTGGATGCGGTTACGGATGAAGAAGTAGATGCGCTATTTGAAGAGTACCGGAAGCTTTATGAGTTTGATTATGGCGATTATGAACAGTCTAAGTGGGAAGCACACGTGAAAGTCCAAGCA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEA<EEEE<EEEEEEEAAAEAE<EEAEEAAEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEE/EEEEEEEEEAEEEEEAEEEEEEEEEEEEEEEEEAAEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:18236:19293
+GGTGCGGATATGGTATTTGTCACTGCAGGAATGGGTGGCGGAACAGGAACGGGAGCTGCACCAGTTATTGCACAAATCGCAAAGGAAATGGGAGCTCTAACAGTTGGTGTGATTACACGTCCATTTGGCTTTGAAGGACCCAAACGCTCAAAACAAGCTTTTTCTGGAACAGAGGCGATGAAAGAAGCGGTTGATACGTTAATCGTAATTCCAAATGATCGCTTGCTTCAAATTGTCGATAAGAACACTCCAATGCTTGAGG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEA/EEEAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
 @NS500443:42:H3MH2AFXX:4:21612:8020:19298
 GTAACAGGGGATGTCCGTCTGCCAAGTCAAGTTGAAAAATTAGTTCAAGAAACAATCCGTCGTTTCAAGAAAATTGATGTTCTTTTTGCTAATGCCGGAATTATGCCAGCATCGAGCATTAGCGACCTAAAACTTGATGAATGGAATGAAATGATTAAT
 +
 AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
-@NS500443:42:H3MH2AFXX:4:21612:26037:18369
-TCACAGTAGGTGACAGCTTTGATCCAATGGCTGGTGTAACAGCAACAGACAAAGAAGATGGTGATTTGACATCGAGCGTAACTGTGAAGTCAAATAATGTAGACACATCTAAGCCAGGTACGTATGATGT
+@NS500443:42:H3MH2AFXX:4:21612:9039:19304
+GATTAGTGTGTCAGATAAAACGGGGATTGTTGATTTTGCTCGGGAGCTCGTTTCGCATCAATTTGAACTTATTTCGACGGGCGGAACGAAAAAAGTACTTCTTGAGGCGGGGCTCCCTGTTGTAGGAATTGAAGAGGTGACGGCGTTTCCAGAGATGTTAGATGGGCGTGTGAAGACGCTACACCCGGCGATCCATGGCGGATTGCTGTTTAGGCGAGATCTTTCGGAACATAAGGCACAAGCGGCTGAGCATGGGATAAAGC
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:11678:18397
-GTGTTATCATTTCCCTTATGTTAAAATTGTGTTAAAATGTTAGACGTATAGTTTTAACATTTTATGAATCTTTACGACGTATAGAAAAACAATAACTATTAAATAGAATGTAGGAGAGGTGTAACATGAAG
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:14637:19306
+ATTTTTATCTTCTTGAAGTAGCAGCCCTATCGTATATGCATACTTATTTTGAATCCCATTAGATTTAGCCTTTTTGGTTTCATTTGTTTTTTCTTGAATCGTTATGCCCCCTGCTAACATCCCCTCAAATTTAGATTTTGGTACCGTTAATTTGATTTTCAGCTCAGTTTTACCTTGTTTAGGAATAGTTATTTCGCTTGGCATTTCTATAATGTCTTCCATTCTATTGGACAAATTAACATTGGCATTTTTTTTACCTTTTTCGTAATCTACTACTCCATTA
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAEEEEEEEEEEEA
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAAAEEAAEAEEEEEE<EEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:2450:19306
+CTTTTCTACTGTACGGAAAAGTATCTGTGAGCGAGAAAACTTGCTGGTAAGTCGTGCGCCCCATCACGACGGTATCTATAC
++
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:23509:19308
+TATCAATGGTTCGTGTATCCCCAAGATAATGATAGCCCCAAATAATATCTAGCAATTCTTCGCGTGTATAAATTTTTCCTTTTCCAAGTAAGAGGGTTTGGAGCAATTCAAATTCTTTTGCTGTTAAATCGACGGGTTCTCCTAAATAAAAAACTTCATAGTTGTTGACTACGAGGCGTATGTCTTTATATTCGATTTCCGTTAAGCTTTCTGTGTAAGTTCGCCTGATGATGGCTTCGATTTTATAAGCGAGCAAATTCATGGAGAAAGGTTTGCTGATATAG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:11900:19309
+TGGCTAATGTGTTATTGCGAGCGGGGGCACCATCTGTAAACCGAGGGGCGAATAAATATAATTTTTCATTGGGCTTAGTAAAAGCGCTCCCGATAAGCCCCCCTTGGAACATATAATCCATATTTAGAGAAATCCCGTCGTAGCTTGGATCGCCGCCTTCTTCGCTAGTTGTACGAATCAAATTTCCATAGAGCGGCCCATCAGCTATCGCGCTTTTACCATTGCGGTAATCTGATTTACTATCAAATGCGTCGTCCCAACGTTCAGTTGACTGTGTATACATT
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEE<EEEEAEEEEEEEEEEEEEEEEEEE/EEAAEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<AEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:18162:19319
+GGCTAGTGCTTCAGCTTCTTCCAGATATTGGGTAGTAAGAAAGATGGTGATGCCAGAAGCTGCCATTTTTCTGATCGTATCCCACAGTGCAAGGCGCGCTTCTGGATCGAGCCCAACTGATGGTTCATCTAAAAAGACGAGTTCTGGGGAGCCTAGCATGGTCATAGCAAGGTCTAATCGGCGCTTCATACCACCAGAATAAGTGGATAAAGGCTTCCCGCCAGCTTCCTCTAAGTCAAATTGTTTTAAGC
++
+AAAAAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:11613:19326
+GTTGTTGTCAGGACCACTAAAACAAAGATAAAGGTTAAAATCATTTCAACTAAAAACGCTCCTGATGCGGAGAGAGCCCCAAAACCATTTTGACCTAGATTGTCTGTTGAAAGAGAAGAGGCAAGTAAAAAGGTTCAAAGAGTGAGCGTTGCGACAATGCCTCCTAAAATTTGTGCGACAAGATAAATGCAAAGTTCTTTTAAAGGCATACGTTTATTGATAAACATGGCAATGGAAACAGCAGGGTTGATATGGCAACCTGAAAT
++
+AAAAAEEEEEEE/EEEEEAEEEEEEE6EEEEEEEEAEEEAEEEEEAEEEAAEEEEEEAEEEE/<EEEEEAEEAEEEEE<EEAEAEAEE///6<E6<EEEEEEAEA<EEAEEEEE/EEEE#AEEEE<<EEEEEEEAEEEEEEEEEEAEEEEEA/A6EEEEAEEEE<E/EEEEE6EEE<E/E/6AEAEAEEEEAE<EEEEEAEAEEEEAEEEAEEEAEEEEEEEEEEEEAEAEEEAEEEEEEAAEAAAAEEEEEEEEEEE6EEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:9639:19330
+GTGTAAGCGGTGGGACTGACAAAGTTATTCGCATTTTATCATAAAAAACTTGGAAATTGGAATTTAATATTTAGTTTTATGAAGGGCTTTTGGGTAGGCTACTTTGTTCTTTTAATGTTGCTCTTTTTAGGAACAGTCGCCGTTTTTTATTTATTGAGCTCAGGAGTTGCTTGGTTTGTACTTTTGCTTGATGCCATTCTTGCAATCCTCTTTTTTTATTTGTTGATTCACTTGCGGGCAAAACGATTGATTCGTGTTAAATTTCAACTGAGAAGCTTTAAGG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE<EEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEE<EEEAE<EEAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
 @NS500443:42:H3MH2AFXX:4:21612:1595:19345
 GTCAAGCCACGTAAAAATGCGAGCGAATTGATATTTTTTGAACCCCAGCATCTCAAGCCATTCCATGTGATTTAACAATAAAAAAAGAAAGAAGCTAACTGAAAGAACAGCTGTAGTTGTGATTCCAAC
 +
 EEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAA
-@NS500443:42:H3MH2AFXX:4:21612:3915:17640
-TTGCTAAACAACCTTCATTTAAAGAAAACATCAGTGGTCGTGTACAACGTAAAGGACTTTTAGGAGATCGTTGGTTCACTTATTCAGAAAAAGATATTAC
-+
-EEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:10137:17635
-CTGCAATGACAATGCGATTTGTGTTCCAAGCTTCTTTTTGGGCGTTTTCTGCAATTTTAAGCAGCGTCGCGTAACAT
+@NS500443:42:H3MH2AFXX:4:21612:14400:19348
+GCACCATGTAGTGCTGTTTTCCCGCGAATGATTAAACCATCTTCAGTCGGCGTAATGTCTGCCCCCATTTTCTTCAATTCATTTGCAACCGCATCAATCCGGTTTGTTTCTTTAACTTTAAGTTCTTCTGCATCACGAATCACTGTTTCACCCTCTGCTTGTGTCGCAAGAAGTGCGATAATAGG
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:7700:17642
-CTCGAATCGTATCCAAAGCTCCAATATGGTCATAAAGCGTGTGAGTGAGCAAAATAGCAACTGGAGTTGCACC
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:15147:19361
+GTACTTAGTAGTTTTAGCCGTTCCGACAAGTGCCATGCGTGAAGTGGCACGCCAAGTGGATGCTGAACTTCGTGCACCGCAAATCATTGTCCATGTCAGTAAAGGAATTGAACCTGAAACCAATTTGCGGATGTCAGAAGTCATTGCTGAAGAGATTTCTCTAGAAAAGCGTAAAGGGATTGTGGTTCTTTCTGGCCCTAGTCATGCGGAGGAAGTAGCTGAAAGACATCCTACAACACTTTGTGCGAGCTGTGAAAATGATGAGCTTGCGGGCCTTGTTCAAGATG
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE
-@NS500443:42:H3MH2AFXX:4:21612:4154:18366
-AAGTTTACGAGCTATTTATTTTCAACTGGAAAGTTTGTATCTAATTTTTATTATTGTGTAC
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:19599:19364
+CTTCTGAAAACGGCGGATGATAATCCATATCCTGCCCGAAAATCTTCTGTTTGCCGAATGAAAGCTGCGAAGCAAAATCAATCCGCAGCGCACCTGATGTTGGTGTCACTGGATCTACCGGTTGCACCTCTTCATTCGGATCAGTGGGATTAACGGGAGGTGTTGTACCGTCCACATCAGCTGTGAACTGCACGCTTGAATCACTCACATTATCGCTTGTAACCGCATAAGCAGGTGGTTCGCTTAGGGAAAATATCATTCCAAAAGCGATGAACAACAA
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-@NS500443:42:H3MH2AFXX:4:21612:2450:19306
-CTTTTCTACTGTACGGAAAAGTATCTGTGAGCGAGAAAACTTGCTGGTAAGTCGTGCGCCCCATCACGACGGTATCTATAC
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEAEEEEEE<EEEEEEEAEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAE/EEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAAAA
+@NS500443:42:H3MH2AFXX:4:21612:5056:19365
+GATAGTGACTTTGGTAGCTTGCTCGATCTTCATAACGAGCAATTCGGAACATCATAGGCGTATGTTTCACTTGTTCTTTTAAAACTTCAAACACTTGTTTCACAAAAACACTTCTTTCTCAGATTAGTCAAAACAAAGATTTTTATTTCATTGCTATAAGCATCTCTCCTTAACTGAACTTACCCGTTTCCGATGCTTTTGCTTACTTCATGACGTATGTCAATTCTTCCATTTCGTGCAAGTTACAAGATTTTGGGTAGTGCTTTTTCATTTGAAACACTACCC
 +
-EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAA
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..13f362c4625dc4010341cb676d27f2f283d88841
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,499 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man1_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EXEEXT = @EXEEXT@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POD2MAN = @POD2MAN@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUFFIXES = .pod .man
+MANARGS = -c 'User Manuals' -r 'Unix'
+man1_MANS = $(MAN)
+MAN = rock.man
+POD = rock.pod
+EXTRA_DIST = $(MAN) $(POD)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .pod .man
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-man1: $(man1_MANS)
+	@$(NORMAL_INSTALL)
+	@list1='$(man1_MANS)'; \
+	list2=''; \
+	test -n "$(man1dir)" \
+	  && test -n "`echo $$list1$$list2`" \
+	  || exit 0; \
+	echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+	$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+	{ for i in $$list1; do echo "$$i"; done;  \
+	if test -n "$$list2"; then \
+	  for i in $$list2; do echo "$$i"; done \
+	    | sed -n '/\.1[a-z]*$$/p'; \
+	fi; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+	ctags-am distclean distclean-generic distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-man1 install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-man \
+	uninstall-man1
+
+.PRECIOUS: Makefile
+
+
+.pod.man:
+	$(POD2MAN) $(MANARGS) $< >$@ && touch $@
+
+lint:
+	for f in *.pod; do podchecker --warning --warning $$f; done
+	-for f in *.man; do mandoc -Tlint $$f; done
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/rock.man b/doc/rock.man
index 6dbb328ce21789088c12d47092b5d1183b763c2a..4d53e2297c2a8d5c807cb5e7ceef0204ebab338f 100644
--- a/doc/rock.man
+++ b/doc/rock.man
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
+.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -38,6 +38,8 @@
 .    ds PI \(*p
 .    ds L" ``
 .    ds R" ''
+.    ds C`
+.    ds C'
 'br\}
 .\"
 .\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -48,17 +50,24 @@
 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.ie \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
 ..
-.    nr % 0
-.    rr F
-.\}
-.el \{\
-.    de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+.    if \nF \{
+.        de IX
+.        tm Index:\\$1\t\\n%\t"\\$2"
 ..
+.        if !\nF==2 \{
+.            nr % 0
+.            nr F 2
+.        \}
+.    \}
 .\}
+.rr rF
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
@@ -124,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "ROCK 1"
-.TH ROCK 1 "2016-07-28" "Unix" "User Manuals"
+.TH ROCK 1 "2017-06-23" "Unix" "User Manuals"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -135,8 +144,8 @@
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .PD 0
-.IP "\fBrock\fR [\fB\-h\fR] [\fB\-i\fR \fIfile\fR] [\fB\-o\fR \fIfile\fR] [\fB\-k\fR \fIk_mer_size\fR] [\fB\-C\fR \fIkappa\fR] [\fB\-c\fR \fIkappa_prime\fR] [\fB\-l\fR \fIlambda\fR] [\fB\-n\fR \fInb_distinct_k_mer\fR] [\fB\-g\fR \fI\s-1CMS\s0 size in \s-1GB\s0\fR] [Args]" 4
-.IX Item "rock [-h] [-i file] [-o file] [-k k_mer_size] [-C kappa] [-c kappa_prime] [-l lambda] [-n nb_distinct_k_mer] [-g CMS size in GB] [Args]"
+.IP "\fBrock\fR [\fB\-h\fR] [\fB\-i\fR \fIfile\fR] [\fB\-o\fR \fIfile\fR] [\fB\-k\fR \fIk_mer_size\fR] [\fB\-p\fR \fIfilter_PE_mode\fR] [\fB\-q\fR \fInucl_qual_score_threshold\fR] [\fB\-C\fR \fIkappa\fR] [\fB\-c\fR \fIkappa_prime\fR] [\fB\-l\fR \fIlambda\fR] [\fB\-n\fR \fInb_distinct_k_mer\fR] [\fB\-m\fR \fImin_valid_k_mer_per_read\fR] [\fB\-g\fR \fI\s-1CMS\s0 size in \s-1GB\s0\fR] [Args]" 4
+.IX Item "rock [-h] [-i file] [-o file] [-k k_mer_size] [-p filter_PE_mode] [-q nucl_qual_score_threshold] [-C kappa] [-c kappa_prime] [-l lambda] [-n nb_distinct_k_mer] [-m min_valid_k_mer_per_read] [-g CMS size in GB] [Args]"
 .PD
 .SH "OPTIONS"
 .IX Header "OPTIONS"
@@ -153,12 +162,31 @@ For more information on \fIfile\fR format, see the description section.
 .IX Item "-k"
 .PD
 Specify wanted k\-mer size. Default is 30; maximum is 32.
+.IP "\-q" 4
+.IX Item "-q"
+Specify minimum threshold for nucleotides quality score. Nucleotides that have a score below that threshold will be considered as errors (just like N nucleotides).
+Default is 10.
+.IP "\-m" 4
+.IX Item "-m"
+To be used together with \-q.
+Specify minimum number of correct k\-mers required to keep a read for \s-1CMS\s0 filter.
+Indicate only a integer in version 1.4 and later.
+By default, \s-1PE\s0 reads are processed independantly (ie kept in the \s-1CMS\s0 if at least \s-1PE1\s0 or \s-1PE2\s0 has coverage<=C and >=c).
+As \-m defaults to 1,it means that as there is at least 1 valid k\-mer in each part of the \s-1PE\s0 it is kept.
+.IP "\-p" 4
+.IX Item "-p"
+Use this option to tell \s-1ROCK\s0 how you want the paired end reads to be processed.
+Argument can take value 0,1 or 2.
+0 means that \s-1PE\s0 are processed as single.
+1 means that \s-1PE\s0 are processed separately and that the read will be removed by the low filter if both parts of it have a median coverage below the given threshold (strict filter).
+2 means that \s-1PE\s0 are processed separately and that the read will be removed by the low filter if one part of it has a median coverage below the given threshold (lenient filter).
+Default value is 1.
 .IP "\-C" 4
 .IX Item "-C"
-Specify maximum coverage wanted. Default is 50. Maximum is 65535.
+Specify maximum coverage wanted. Default is 70. Maximum is 65535.
 .IP "\-c" 4
 .IX Item "-c"
-Specify lower threshold for coverage. Default is 0 (no lower threshold).
+Specify lower threshold for coverage. Default is 5 (no lower threshold).
 .IP "\-l" 4
 .IX Item "-l"
 Specify lambda (number of arrays wanted in the count min sketch filter).
@@ -172,29 +200,33 @@ Indicate the number of distinct k\-mers in input fastq files.
 This is useful to compute a more appropriate value than the default one for lambda if you have not specified it with \-l.
 .IP "\-g" 4
 .IX Item "-g"
-Wanted size for the \s-1CMS\s0 (in gigabytes). 
+Wanted size for the \s-1CMS \s0(in gigabytes). 
 Default is to use the minimum between 
 1) all the machine's memory minus a constant for storing input fastq files indexes.
 2) a default value of 4.
 .IP "\-v" 4
 .IX Item "-v"
-verbose mode. At the end of execution displays a recap ofall \s-1ROCK\s0 parameters (name of input files, values of, kappa and happa_prime) plus, \s-1CMS\s0 size in Bytes, plus if \-n was provided, the expected probability of collision.
+verbose mode. At the end of execution displays a recap of all \s-1ROCK\s0 parameters (name of input files, values of, kappa and happa_prime) plus, \s-1CMS\s0 size in Bytes, plus if \-n was provided, the expected probability of collision.
 .IP "\-h" 4
 .IX Item "-h"
 Usage display.
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
 \&\fB\s-1ROCK\s0\fR is a filter of fastq records. 
-Its aim is to filter fastq files on 2 criteria:
+Its aim is to filter fastq files on different criteria:
     1rst the quality score: records with the highest quality score are processed first and thus are sure to be selected.
     2nd median coverage of the read: If more than half of the k\-mers in the read have occurred less than kappa times; then the read is selected.
+    3rd median coverage of the read: if more than half of the k\-mers in the read have occurred less than kappa_prime times; then the read is removed.
+    This is very useful for removing reads from \*(L"polluted\*(R" samples.
 .PP
-.Vb 2
-\&    A 3rd criteria can be added via the \-c option. It is a lower filter for removing reads that have a median coverage below a certain threshold. 
-\&    This is very useful for removing reads from "polluted" samples.
-.Ve
+\&\fB\s-1ROCK\s0\fR is highly parameterizable via its options.
+It is possible to refine filtering by adding more criteria:
+    1) nucleotide score threshold: k\-mers containing at least 1 nucleotide below specified threshold will not be taken into account.
+    2) minimum number of correct k\-mers : let X be this number. Reads containing less than X k\-mers without nucleotides below threshold will not be processed.
+    They will be put in files named with .undefined extension.
+    3) For pair end reads, it is possible to indicate if you want them to be processed as single. By default they are processed separately.
 .PP
-\&\fB\s-1ROCK\s0\fR is highly parameterizable via its options. It is possible to specify the size of the count min sketch by:
+It is possible to specify the size of the count min sketch by:
     1) indicating the number of arrays that you want in it (via the \-l option),
     2) indicating the number of different k\-mers in your input files (via the \-n option). Thus \fB\s-1ROCK\s0\fR will compute the best lambda value by minimizing the probability of collision and taking into account the amount of \s-1RAM\s0 on your system.
     3) indicating (in GigaBytes) the size you want it to have. \fB\s-1ROCK\s0\fR will compute the number of arrays in it depending on kappa value.
@@ -214,21 +246,26 @@ Reads for median coverage < 20 (kappa_prime) will be removed.
 .IP "rock my_PE1.fq,myPE2.fq my_single.fq" 4
 .IX Item "rock my_PE1.fq,myPE2.fq my_single.fq"
 Rock will filter the 3 files in input  with default parameters:
-high filter=50, 
-no low filter 
+high filter=70, 
+low filter=5
+nucleotide quality score threshold=10
+minimum number of correct k\-mer in a read=1
+pair end reads are processed separately 
 lambda=min(4,possible value according to \s-1RAM\s0 amount on the execution machine).
 .Sp
-And it will produce 3 output files in the execution directory.
+And it will produce 6 output files in the execution directory.
 These files will be named:
 my_PE1.rock.fq,myPE2.rock.fq 
 my_single.rock.fq
+my_PE1.undefined.fq,myPE2.undefined.fq 
+my_single.undefined.fq
 .SH "NOTE ON MEMORY CONSUMPTION."
 .IX Header "NOTE ON MEMORY CONSUMPTION."
 count min sketch size is MAX_INT*lambda or MAX_INT*lambda*2 if kappa>255.
 Besides count min sketch, memory is also needed to store information related to reads in the input fastq files. 
 13 Bytes per fastq record are needed plus some memory for the containers to work and for the read/write buffers.
 .PP
-To give you an idea, processing approximately 1.8 billion of reads in 2 fastq files (tot 500 \s-1GB\s0 data on disk) took 28 \s-1GB\s0 of memory plus 8 \s-1GB\s0 for the \s-1CMS\s0 (lambda=4, byte implementation).
+To give you an idea, processing approximately 1.8 billion of reads in 2 fastq files (tot 500 \s-1GB\s0 data on disk) took 28 \s-1GB\s0 of memory plus 8 \s-1GB\s0 for the \s-1CMS \s0(lambda=4, byte implementation).
 .SH "AUTHOR"
 .IX Header "AUTHOR"
 Alexis Criscuolo (criscuol@pasteur.fr), Veronique Legrand (vlegrand@pasteur.fr) Institut Pasteur.
diff --git a/doc/rock.pod b/doc/rock.pod
index fd5ca12022ad7b57fed8747bec1ae9fa679732e5..3e5c84305ca754fa4da48c931881699b44551ee7 100644
--- a/doc/rock.pod
+++ b/doc/rock.pod
@@ -11,7 +11,7 @@
 
 =over 4
 
-=item B<rock> [B<-h>] [B<-i> F<file>] [B<-o> F<file>] [B<-k> F<k_mer_size>] [B<-q> F<nucl_qual_score_threshold>] [B<-C> F<kappa>] [B<-c> F<kappa_prime>] [B<-l> F<lambda>] [B<-n> F<nb_distinct_k_mer>] [B<-g> F<CMS size in GB>] [Args]
+=item B<rock> [B<-h>] [B<-i> F<file>] [B<-o> F<file>] [B<-k> F<k_mer_size>] [B<-p> F<filter_PE_mode>] [B<-q> F<nucl_qual_score_threshold>] [B<-C> F<kappa>] [B<-c> F<kappa_prime>] [B<-l> F<lambda>] [B<-n> F<nb_distinct_k_mer>] [B<-m> F<min_valid_k_mer_per_read>] [B<-g> F<CMS size in GB>] [Args]
 
 =back
 
@@ -39,15 +39,34 @@ Specify wanted k-mer size. Default is 30; maximum is 32.
 
 =item -q
 
-Specify minimum threshold for nucleotides quality score. Nucleotides that have a score below thta threshold will be considered as errors (just like N nucleotides).
+Specify minimum threshold for nucleotides quality score. Nucleotides that have a score below that threshold will be considered as errors (just like N nucleotides).
+Default is 10.
+
+=item -m
+
+To be used together with -q.
+Specify minimum number of correct k-mers required to keep a read for CMS filter.
+Indicate only a integer in version 1.4 and later.
+By default, PE reads are processed independantly (ie kept in the CMS if at least PE1 or PE2 has coverage<=C and >=c).
+As -m defaults to 1,it means that as there is at least 1 valid k-mer in each part of the PE it is kept.
+
+=item -p
+
+Use this option to tell ROCK how you want the paired end reads to be processed.
+Argument can take value 0,1 or 2.
+0 means that PE are processed as single.
+1 means that PE are processed separately and that the read will be removed by the low filter if both parts of it have a median coverage below the given threshold (strict filter).
+2 means that PE are processed separately and that the read will be removed by the low filter if one part of it has a median coverage below the given threshold (lenient filter).
+Default value is 1.
+
 
 =item -C
 
-Specify maximum coverage wanted. Default is 50. Maximum is 65535.
+Specify maximum coverage wanted. Default is 70. Maximum is 65535.
 
 =item -c
 
-Specify lower threshold for coverage. Default is 0 (no lower threshold).
+Specify lower threshold for coverage. Default is 5 (no lower threshold).
 
 =item -l
 
@@ -71,7 +90,7 @@ Default is to use the minimum between
 
 =item -v
 
-verbose mode. At the end of execution displays a recap ofall ROCK parameters (name of input files, values of, kappa and happa_prime) plus, CMS size in Bytes, plus if -n was provided, the expected probability of collision.
+verbose mode. At the end of execution displays a recap of all ROCK parameters (name of input files, values of, kappa and happa_prime) plus, CMS size in Bytes, plus if -n was provided, the expected probability of collision.
 
 =item -h
 
@@ -82,14 +101,21 @@ Usage display.
 =head1 DESCRIPTION
 
 B<ROCK> is a filter of fastq records. 
-Its aim is to filter fastq files on 2 criteria:
+Its aim is to filter fastq files on different criteria:
     1rst the quality score: records with the highest quality score are processed first and thus are sure to be selected.
     2nd median coverage of the read: If more than half of the k-mers in the read have occurred less than kappa times; then the read is selected.
-    
-    A 3rd criteria can be added via the -c option. It is a lower filter for removing reads that have a median coverage below a certain threshold. 
+    3rd median coverage of the read: if more than half of the k-mers in the read have occurred less than kappa_prime times; then the read is removed.
     This is very useful for removing reads from "polluted" samples. 
     
-B<ROCK> is highly parameterizable via its options. It is possible to specify the size of the count min sketch by:
+    
+B<ROCK> is highly parameterizable via its options.
+It is possible to refine filtering by adding more criteria:
+    1) nucleotide score threshold: k-mers containing at least 1 nucleotide below specified threshold will not be taken into account.
+    2) minimum number of correct k-mers : let X be this number. Reads containing less than X k-mers without nucleotides below threshold will not be processed.
+    They will be put in files named with .undefined extension.
+    3) For pair end reads, it is possible to indicate if you want them to be processed as single. By default they are processed separately.
+
+It is possible to specify the size of the count min sketch by:
     1) indicating the number of arrays that you want in it (via the -l option),
     2) indicating the number of different k-mers in your input files (via the -n option). Thus B<ROCK> will compute the best lambda value by minimizing the probability of collision and taking into account the amount of RAM on your system.
     3) indicating (in GigaBytes) the size you want it to have. B<ROCK> will compute the number of arrays in it depending on kappa value.
@@ -115,14 +141,19 @@ Reads for median coverage < 20 (kappa_prime) will be removed.
 =item rock my_PE1.fq,myPE2.fq my_single.fq
 
 Rock will filter the 3 files in input  with default parameters:
-high filter=50, 
-no low filter 
+high filter=70, 
+low filter=5
+nucleotide quality score threshold=10
+minimum number of correct k-mer in a read=1
+pair end reads are processed separately 
 lambda=min(4,possible value according to RAM amount on the execution machine).
 
-And it will produce 3 output files in the execution directory.
+And it will produce 6 output files in the execution directory.
 These files will be named:
 my_PE1.rock.fq,myPE2.rock.fq 
 my_single.rock.fq
+my_PE1.undefined.fq,myPE2.undefined.fq 
+my_single.undefined.fq
 
 =back
 
diff --git a/src/.klebsiella_100_1.undefined.fq b/src/.klebsiella_100_1.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/.klebsiella_100_2.undefined.fq b/src/.klebsiella_100_2.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/CountMinSketch.cpp.old b/src/CountMinSketch.cpp.old
deleted file mode 100644
index 017079ab7b207078b08e6d228cc1ed54ea3343e4..0000000000000000000000000000000000000000
--- a/src/CountMinSketch.cpp.old
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * CountMinSketch.cpp
- *
- *  Created on: Feb 10, 2016
- *      Author: vlegrand
- *      15/02/16 According to benchmark results, will use the hash function implementation that uses the modulo operator. It appears to be a little bit faster.
- */
-
-#include "CountMinSketch.h"
-
-const int max_pow=30;
-
-/* This method is used to determine if a number is a prime number or not.
- * It is incomplete. TODO find an effective method to get lamdba prime numbers when we'll be sure whether we use the
- * "prime number" version of the hash functions. */
-/*int CountMinSketch::isPrime(unsigned int num) {
-    if ((num % 2 ==0) || (num==2)) return 0;
-    if ((num % 3 ==0) || (num==3)) return 0;
-    if ((num % 5 ==0) || (num==5)) return 0;
-    if ((num % 7 ==0) || (num==7)) return 0;
-    return 1;
-}
-
-int CountMinSketch::isMersenne(unsigned int num) {
-    int cur_pow=max_pow;
-    unsigned int mers_nbr=pow(2,cur_pow)-1;
-    while (num!=mers_nbr && cur_pow>=1) {
-        cur_pow-=1;
-        mers_nbr=pow(2,cur_pow)-1;
-    }
-    if (cur_pow==0) return 0;
-    else return 1;
-}
-
-void CountMinSketch::findNonMersPrime() {
-    int i;
-    unsigned int num=pi_j_max;
-    for (i=0;i<lambda;i++) {
-        num-=1;
-        while (!isPrime(num)) num-=1;
-
-    }
-}*/
-
-std::map<int,int> CountMinSketch::getIthArray(int i) {
-    std::map<int,int> tmp;
-    return tmp;
-}
-
-
-void CountMinSketch::addKMer(unsigned long val) {
-    int h,j;
-    short cnt;
-    j=1;
-    std::vector<internal_array>::iterator it_lambda_array;
-    for (it_lambda_array=cms_lambda_array.begin();it_lambda_array!=cms_lambda_array.end();it_lambda_array++) {
-        h=hash64to32(val,j);
-        cnt=(*it_lambda_array)[h];
-        (*it_lambda_array)[h]=(cnt++ & ushortmask);
-        j++;
-    }
-
-}
-
-int CountMinSketch::getEstimatedNbOcc(unsigned long val) {
-    int j,h;
-    int min=0;
-    std::vector<internal_array>::iterator it;
-    for (it=cms_lambda_array.begin();it!=cms_lambda_array.end();it++) {
-        h=hash64to32(val,j);
-        if ((*it)[h]<min) min=(*it)[h];
-        j++;
-    }
-    return min;
-}
-
-/*
- * Used to determine if a read must be kept or not.
- * Depending on the case, threshold is kappa or kappa_prime
- * Computes the number of k-mers for which the number of occurrences is below threshold.
- * If more than half of the k-mers have a number of occurrences that is less than threshold,
- * return true; else, return false.
- */
-int CountMinSketch::isRCovBelowThres(const readNumericValues& read_val,int threshold) {
-    int a=0;
-    int b=0;
-    readNumericValues::const_iterator it;
-    for (it=read_val.begin();it!=read_val.end();it++) {
-        short nb_occ=getEstimatedNbOcc(*it);
-        if (nb_occ<threshold) a+=1;
-        ++b;
-    }
-    return (2*a>b);
-}
-
-int CountMinSketch::addRead(const readNumericValues& read_val) {
-    int keep_r=isRCovBelowThres(read_val,kappa);
-    if (keep_r) {
-        readNumericValues::const_iterator it;
-        for (it=read_val.begin();it!=read_val.end();it++) {
-            addKMer(*it);
-        }
-    }
-    return keep_r;
-}
-
-
-int CountMinSketch::isBeneathMinKappa(const readNumericValues& read_val) {
-    return(isRCovBelowThres(read_val,kappa_prime));
-}
-
diff --git a/src/CountMinSketch.h.old b/src/CountMinSketch.h.old
deleted file mode 100644
index e5fbcdc31c5bedc1d1e6dbd970aa20e042f84eb9..0000000000000000000000000000000000000000
--- a/src/CountMinSketch.h.old
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * CountMinSketch.h
- *
- *  Created on: Feb 10, 2016
- *      Author: vlegrand
- */
-
-#ifndef COUNTMINSKETCH_H_
-#define COUNTMINSKETCH_H_
-
-#include <vector>
-#include <map>
-
-typedef std::vector<unsigned long> readNumericValues; // TODO move this definition to a common include file between ReadProcessor and CountMinSketch.
-
-class CountMinSketch {
-    static const unsigned int pi_j_max=2147483647;
-    static const unsigned long mask1=1;
-    static const unsigned long mask2=2095103;
-    static const unsigned long mask3=1023;
-
-    static const unsigned short ushortmask=32767;
-
-
-    int lambda;
-    int kappa;
-    int kappa_prime;
-
-    typedef std::map<int,short> internal_array;
-    std::vector<internal_array> cms_lambda_array;
-
-    std::vector<int> pi_j_array;
-
-    // void findNonMersPrime(); // fills pi_j_array with lambda non mersenne prime numbers.
-    // int hash64to32(unsigned long,int);
-
-    int hash64to32(unsigned long w,int j) { // bit shift version of hash function to start.
-        unsigned long h_tmp;
-        unsigned long h=~w;
-        h+=w<<18;
-        h_tmp=h>>31;
-        h_tmp&=mask1;
-        h=h^h_tmp;
-        h*=j;
-        h_tmp=h>>11;
-        h_tmp&=mask2;
-        h ^=h_tmp;
-        h+=h<<6;
-        h_tmp=h>>22;
-        h_tmp&=mask3;
-        h^=h_tmp;
-        return (int) (h& 2147483647);
-    }
-
-
-    std::map<int,int> getIthArray(int); // utility method provided for testing only.
-    void addKMer(unsigned long); // inline? TODO: see later if it can help us gain time.
-    int isRCovBelowThres(const readNumericValues& read_val,int threshold) ;
-
-    // for unit tests.
-    friend void test_CMS(int lambda,int kappa,int kappa_prime);
-    /*friend void test_findNonMersPrime(int lambda,int kappa,int kappa_prime);
-    friend void test_hash();*/
-
-public:
-
-    CountMinSketch(int glambda,int gkappa,int gkappa_prime) {
-        lambda=glambda;
-        kappa=gkappa;
-        kappa_prime=gkappa_prime;
-        cms_lambda_array.reserve(lambda);
-        pi_j_array.reserve(lambda);
-        // findNonMersPrime();
-    }
-
-
-
-    int getEstimatedNbOcc(unsigned long);
-    int addRead(const readNumericValues&);
-    int isBeneathMinKappa(const readNumericValues&);
-};
-
-
-
-
-
-#endif /* COUNTMINSKETCH_H_ */
diff --git a/src/CountMinSketch.hpp b/src/CountMinSketch.hpp
index c913ffc99a40de2e11be8ffa99e17c54bb40ab87..3d82b0b0d88696eb4e92d97306a5fba71d97870e 100644
--- a/src/CountMinSketch.hpp
+++ b/src/CountMinSketch.hpp
@@ -11,8 +11,11 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <limits.h>
 #include "rock_commons.h"
 
+
+
 #define BAD_TYPE -1
 
 // Store the non mersenne prime numbers for modulo hashing in this array.
@@ -73,7 +76,9 @@ typedef struct {
     int kappa;
     int kappa_prime;
     int filter_size; // max amount of RAM wanted for the CMS.
-    int nucl_score_threshold; // minimum quality score below which nucleotides are considered in error. 0 by default.
+    int filter_PE_separately; // indicates whether PE reads must be treated as single by the cms. Indeed it may appear that 1 end contains useful k-mer but that other end contains k-mer such that "global" median is below threshold.
+                             // In this case, read is rejected by the CMS (default behavior). We want to do an experimentation to see if keeping such reads wold lead to better results in assembling.
+                                // Values can be 0 (process PE as single),1 (process PE separately with strict implementation for kappa_prime) or 2 (process PE separately with lenient implementation for kappa prime).
 } CMSparams;
 
 template <typename T>
@@ -93,8 +98,6 @@ struct get_mask<unsigned short> {
 
 
 template<typename T> class CountMinSketch {
-public:
-    int nucl_score_threshold;
 
 private:
     static const unsigned long mask1=1; // used only for hash64to32bs
@@ -104,6 +107,7 @@ private:
     int lambda;
     int kappa;
     int kappa_prime;
+    int filter_PE_separately;
 
     T ** cms_lambda_array;
     T mask;
@@ -133,9 +137,11 @@ private:
 
 
 
-    inline int isRCovBelowThres(const readNumericValues& read_val, const int& threshold);
+    inline int isRCovBelowThres(const T_read_numericValues& read_val, const int& threshold);
 
-    void init(int glambda,int gkappa,int gkappa_prime,int gnucl_score_threshold);
+    inline int isRCovBelowThresPartial(const readNumericValues& read_val, const int& threshold, const int& start=0,const int& stop=0);
+
+    void init(int glambda,int gkappa,int gkappa_prime,int filter_PE_separately=1);
 
     // for unit tests.
     friend void test_CMS(int lambda,int kappa,int kappa_prime);
@@ -143,12 +149,12 @@ private:
 
 public:
 
-    CountMinSketch(int glambda,int gkappa,int gkappa_prime,int gnucl_score_threshold=0) {
-        init(glambda,gkappa,gkappa_prime,gnucl_score_threshold);
+    CountMinSketch(int glambda,int gkappa,int gkappa_prime,int filter_PE_separately=0) {
+        init(glambda,gkappa,gkappa_prime,filter_PE_separately);
     }
 
     CountMinSketch(CMSparams parms) {
-        init(parms.lambda,parms.kappa,parms.kappa_prime,parms.nucl_score_threshold);
+        init(parms.lambda,parms.kappa,parms.kappa_prime,parms.filter_PE_separately);
     }
 
     ~CountMinSketch() {
@@ -175,41 +181,135 @@ public:
     // keep that just for unit testing purpose
     T getEstimatedNbOcc(const unsigned long& val);
 
-    int addRead(const readNumericValues& read_val);
+    int addRead(const T_read_numericValues& read_val);
 
-    int isBeneathMinKappa(const readNumericValues&read_val);
+    int isBeneathMinKappa(const T_read_numericValues&read_val);
 
     unsigned long getNbDistinctKMers();
+
+    int arePEFilteredAsSingle() {
+        return !filter_PE_separately;
+    }
 };
 
 
-template<typename T> inline int CountMinSketch<T>::isRCovBelowThres(const readNumericValues& read_val, const int& threshold) {
-    int a=0,b=0;
+
+
+/*
+ * Determines whether median of k-mer coverage is below threshold or not.
+ */
+#include <stdio.h>
+// this is a few seconds faster
+template<typename T> inline int CountMinSketch<T>::isRCovBelowThres(const T_read_numericValues& read_val, const int& threshold) {
+    int PE1_below_thres;
+    int PE2_below_thres=0;
+    int a1=0,a2=0;
+    int b1,b2=0;
     int j,h;
     T min;
-    readNumericValues::const_iterator it;
-    for (it=read_val.begin();it!=read_val.end();++it) {
+
+    int num=read_val.single_or_PE_val.size();
+
+    read_val.idx_start_PE2?b1=read_val.idx_start_PE2:b1=num;
+    read_val.idx_start_PE2?b2=num-b1:b2;
+
+    // this proves faster than using iterators on these data (short)
+    long const * p_start=(long const * )&(read_val.single_or_PE_val[0]); // TODO: when we'll use C++11: use the data() method of the vector class to access the underlying C array.
+    int nb=0;
+    while(nb<b1 && 2*a1<=b1) {
         j=lambda;
         min=mask;
         while (--j>=0 && min>threshold) {
-            h=hash64to32(*it,j);
+            h=hash64to32(*(p_start+nb),j);
             min=cms_lambda_array[j] [h];
         }
-        (min<threshold)? a+=1:a;
-        ++b;
+        (min<threshold)? a1+=1:a1;
+        nb++;
     }
-    return (2*a>b);
+    PE1_below_thres=2*a1>b1;
+    if (b2) {
+        nb=b1;
+        while(nb<num && 2*a2<=b2) {
+            j=lambda;
+            min=mask;
+            while (--j>=0 && min>threshold) {
+                h=hash64to32(*(p_start+nb),j);
+                min=cms_lambda_array[j] [h];
+            }
+            (min<threshold)? a2+=1:a2;
+            nb++;
+        }
+        PE2_below_thres=2*a2>b2;
+        if (threshold==kappa) return (PE1_below_thres || PE2_below_thres);
+        else {
+            if  (filter_PE_separately==1) return(PE1_below_thres && PE2_below_thres);
+            return(PE1_below_thres || PE2_below_thres);
+        }
+    }
+    return PE1_below_thres;
 }
 
-template<typename T> void CountMinSketch<T>::init(int glambda,int gkappa,int gkappa_prime,int gnucl_score_threshold) {
+// C++11 style. It is equivalent to the C style optim in terms of performance.
+/*
+template<typename T> inline int CountMinSketch<T>::isRCovBelowThres(const T_read_numericValues& read_val, const int& threshold) {
+    int PE1_below_thres;
+    int PE2_below_thres=0;
+    int a1=0,a2=0;
+    int b1,b2=0;
+    int j,h;
+    T min;
+
+    int num=read_val.single_or_PE_val.size();
+
+    read_val.idx_start_PE2?b1=read_val.idx_start_PE2:b1=num;
+    read_val.idx_start_PE2?b2=num-b1:b2;
+
+    // this proves faster than using iterators on these data (short)
+    // long const * p_start=(long const * )&(read_val.single_or_PE_val[0]); // TODO: when we'll use C++11: use the data() method of the vector class to access the underlying C array.
+
+    long const * ptr = (num > 0) ? (long const * ) read_val.single_or_PE_val.data() : nullptr;
+
+    int nb=0;
+    while(nb<b1 && 2*a1<=b1) {
+        j=lambda;
+        min=mask;
+        while (--j>=0 && min>threshold) {
+            // printf("nb=%d k_mer=%ld\n",nb,*(p_start+nb));
+            h=hash64to32(ptr[nb],j);
+            min=cms_lambda_array[j] [h];
+        }
+        (min<threshold)? a1+=1:a1;
+        nb++;
+    }
+    PE1_below_thres=2*a1>b1;
+    if (b2) {
+        nb=b1;
+        while(nb<num && 2*a2<=b2) {
+            j=lambda;
+            min=mask;
+            while (--j>=0 && min>threshold) {
+                h=hash64to32(ptr[nb],j);
+                min=cms_lambda_array[j] [h];
+            }
+            (min<threshold)? a2+=1:a2;
+            nb++;
+        }
+        PE2_below_thres=2*a2>b2;
+        if (threshold==kappa) return (PE1_below_thres || PE2_below_thres);
+        else return(PE1_below_thres && PE2_below_thres);
+    }
+    return PE1_below_thres;
+}*/
+
+
+
+template<typename T> void CountMinSketch<T>::init(int glambda,int gkappa,int gkappa_prime,int gfilter_PE_separately) {
     lambda=glambda;
     kappa=gkappa;
     kappa_prime=gkappa_prime;
-    nucl_score_threshold=gnucl_score_threshold;
+    filter_PE_separately=gfilter_PE_separately;
     int j;
     mask=get_mask<T>::value;
-    /*if (lambda<ubytemask) mask=ubytemask; // byte implementation
-    else mask=ushortmask;  // short implementation*/
     cms_lambda_array= (T**) malloc(lambda*sizeof(T*));
     for (j=0;j<lambda;j++) {
         cms_lambda_array[j]=(T *) malloc(sizeof(T)*INT_MAX);
@@ -221,7 +321,6 @@ template<typename T> void CountMinSketch<T>::init(int glambda,int gkappa,int gka
 template<typename T> T CountMinSketch<T>::getEstimatedNbOcc(const unsigned long& val) {
     int j,h;
     T min=mask;
-    // unsigned char min=ubytemask;
     j=lambda;
     while(--j>=0 && min>kappa) {
         h=hash64to32(val,j);
@@ -230,18 +329,28 @@ template<typename T> T CountMinSketch<T>::getEstimatedNbOcc(const unsigned long&
     return min;
 }
 
-template<typename T> int CountMinSketch<T>::addRead(const readNumericValues& read_val) {
+template<typename T> int CountMinSketch<T>::addRead(const T_read_numericValues& read_val) {
     int keep_r=isRCovBelowThres(read_val,kappa);
-        if (keep_r) {
-            readNumericValues::const_iterator it;
-            for (it=read_val.begin();it!=read_val.end();it++) {
-                this->addKMer(*it);
-            }
+    if (keep_r) {
+        readNumericValues::const_iterator it;
+        // according to the intel profiler, we spend a lot of time in this loop. Try to use something slightly faster.
+        long const * p=(long const *) &read_val.single_or_PE_val[0];
+        int cnt;
+        int stop=read_val.single_or_PE_val.size();
+        for (cnt=0;cnt<stop;cnt++) {
+            this->addKMer(*p);
+            p=p+1;
+        }
+/*
+        for (it=read_val.single_or_PE_val.begin();it!=read_val.single_or_PE_val.end();it++) { 
+            this->addKMer(*it);
         }
-        return keep_r;
+*/
+    }
+    return keep_r;
 }
 
-template<typename T> int CountMinSketch<T>::isBeneathMinKappa(const readNumericValues&read_val) {
+template<typename T> int CountMinSketch<T>::isBeneathMinKappa(const T_read_numericValues& read_val) {
     int res=isRCovBelowThres(read_val,kappa_prime);
     return res;
 }
@@ -249,7 +358,6 @@ template<typename T> int CountMinSketch<T>::isBeneathMinKappa(const readNumericV
 /*
  * Go through the arrays of the CMS and returns the number of distinct k_mers (biggest nbr of non-zero counters amongst all arrays)
  */
-
 template<typename T> unsigned long CountMinSketch<T>::getNbDistinctKMers() {
     int j,h;
     unsigned long min=INT_MAX;
@@ -257,7 +365,6 @@ template<typename T> unsigned long CountMinSketch<T>::getNbDistinctKMers() {
     for (j=lambda-1;j>=0;--j) {
         unsigned long nb_k_mers=0;
         for (h=INT_MAX-1;h>=0;--h) {
-            //(min<threshold)? a+=1: NULL;
             (cms_lambda_array[j] [h]>0)?  nb_k_mers+=1: nb_k_mers;
         }
         (nb_k_mers<min) ?min=nb_k_mers: min;
diff --git a/src/Filter.hpp b/src/Filter.hpp
index 05e80df5c23f61eb794380f90b5cf66994a0deb6..9b2eaf5e54d877f52b43e26096f4d9487e0825cf 100644
--- a/src/Filter.hpp
+++ b/src/Filter.hpp
@@ -23,12 +23,12 @@ typedef CountMinSketch<unsigned short> ShortCountMinSketch;
 
 
 
-// created this class to hide implementation detail (byte versys short) from main program. TODO: refactor it later if I have time.
+// created this class to hide implementation detail (byte versys short) from main program.
 class Filter {
     ByteCountMinSketch * pByteCMS;
     ShortCountMinSketch * pShortCMS;
 
-#// long CMS_size_in_Bytes;
+    FasqQualThreshold qual_thres;
     long nb_bytes_before_fill_CMS,nb_bytes_after_fill_CMS;
 
     void getRSS(int before_fill=0);
@@ -39,14 +39,14 @@ class Filter {
 
 public:
 
-    Filter(const CMSparams& parms) {
+    Filter(const CMSparams& parms,const FasqQualThreshold& the_qual_thres) {
         pByteCMS=NULL;
         pShortCMS=NULL;
         getRSS();
         if (parms.kappa<ubytemask) pByteCMS=new ByteCountMinSketch(parms);
         else pShortCMS=new ShortCountMinSketch(parms);
-        //CMS_size_in_Bytes=0;
-        
+        qual_thres=the_qual_thres;
+
         nb_bytes_after_fill_CMS=0;
     }
 
@@ -61,9 +61,8 @@ template <typename T> void Filter::underlyingfillCMS(FqBaseBackend* map_id_backe
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
     k_dim::iterator it_struct;
-    // const unsigned char masque=0x0F; // to retrieve 2nd file identifier.
     ReadProcessor read_p(k);
-    readNumericValues nbrKmerDecompo;
+    T_read_numericValues nbrKmerDecompo;
 
     // 1rst step, open files before fetching reads in them
     int i;
@@ -72,8 +71,6 @@ template <typename T> void Filter::underlyingfillCMS(FqBaseBackend* map_id_backe
     }
 
     for (rit=io_sr->rbegin(); rit!=io_sr->rend(); ++rit) { //process map in reverse order (by decreasing scores).
-        //cout << "score="<<rit->first<<endl;
-        // unsigned long score=rit->first;
         for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
             unsigned long j=it_offs->first;
             for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
@@ -81,36 +78,32 @@ template <typename T> void Filter::underlyingfillCMS(FqBaseBackend* map_id_backe
                 DnaSeqStr a_seqs[2];
                 init_DnaSeqStr(&a_seqs[0]);
                 init_DnaSeqStr(&a_seqs[1]);
-                getDNASeqstr(map_id_backend,*it_struct,j,a_seqs,cms->nucl_score_threshold);
-                // debug stuff only.
-              /*if (strstr(a_seqs->fq_record_buf,"@SRR1222430.37")!=NULL) {
-                printf("coucou");
-              }*/
+                getDNASeqstr(map_id_backend,*it_struct,j,a_seqs,qual_thres.nucl_score_threshold);
                 // decompose dna string into k-mers and turn k_mers into numbers.
-                decomposeReadInKMerNums(read_p, nbrKmerDecompo,k,a_seqs);
+                decomposeReadInKMerNums(read_p, nbrKmerDecompo,k,cms->arePEFilteredAsSingle(),a_seqs);
                 // insert k-mers into CMS if overall read satisfies kappa condition.
                 ret=cms->addRead(nbrKmerDecompo);
                 if (!ret) {
                     // read is rejected, update rpos structure accordingly.
-                    it_struct->fileid=0; // TODO Benchmark: Wouldn't rit->second.erase(++it_struct) be more efficient (reduce size of CMS in memory then 2nd parsing for kappa_prime filtering and third parsing for writing output files would be faster?
+                    it_struct->fileid=0;
                 }
-                nbrKmerDecompo.clear();
+                nbrKmerDecompo.single_or_PE_val.clear();
             }
         }
     }
-    // last step, close fq files. TODO this step may be moved somewhere else for optimization.
-       for (i=0;i<nb_be;i++){
-                map_id_backend[i]->closeInputFile();
-            }
+    // last step, close fq files.
+    for (i=0;i<nb_be;i++){
+        map_id_backend[i]->closeInputFile();
+    }
 }
 
-template <typename T> void Filter::underlyinglowFilterCMS(FqBaseBackend* map_id_backend[],int nb_be,int k,srp* io_sr, CountMinSketch<T>* pcms) { // TODO refactor get k from CMS.
+template <typename T> void Filter::underlyinglowFilterCMS(FqBaseBackend* map_id_backend[],int nb_be,int k,srp* io_sr, CountMinSketch<T>* cms) { // possible refactor: get k from CMS.
     srp::iterator it;
     i_dim::iterator it_offs;
     k_dim::iterator it_struct;
     int ret;
     ReadProcessor read_p(k);
-    readNumericValues nbrKmerDecompo;
+    T_read_numericValues nbrKmerDecompo;
 
     // 1rst step, open files before fetching reads in them
     int i;
@@ -129,10 +122,10 @@ template <typename T> void Filter::underlyinglowFilterCMS(FqBaseBackend* map_id_
                 init_DnaSeqStr(&a_seqs[1]);
                 getDNASeqstr(map_id_backend,*it_struct,j,a_seqs);
                 // decompose dna string into k-mers and turn k_mers into numbers.
-                decomposeReadInKMerNums(read_p, nbrKmerDecompo,k,a_seqs);
-                ret=pcms->isBeneathMinKappa(nbrKmerDecompo);
+                decomposeReadInKMerNums(read_p, nbrKmerDecompo,k,cms->arePEFilteredAsSingle(),a_seqs);
+                ret=cms->isBeneathMinKappa(nbrKmerDecompo);
                 if (ret) it_struct->fileid=0;
-                nbrKmerDecompo.clear();
+                nbrKmerDecompo.single_or_PE_val.clear();
                 }
             }
         }
diff --git a/src/FqAuxBackend.cpp b/src/FqAuxBackend.cpp
index c237db37941aca75d728d6bcaa282ee2e95048f7..c1dcf260f8b03b9274a937927254c5f8582ff42d 100644
--- a/src/FqAuxBackend.cpp
+++ b/src/FqAuxBackend.cpp
@@ -1,4 +1,4 @@
-/*
+ /*
  * FqAuxProcessor.cpp
  *
  *  Created on: Jan 7, 2016
@@ -20,136 +20,119 @@
 #include <iostream>
 using namespace std;
 
-// #define DEBUG
+// TODO : implement some clean logger mechanism (removed debug function for that).
 
 int FqAuxBackend::getNextRead(rinfo * p_nr) {
-    rinfo nr;
     int rfound=0;
     int eof=0;
     while (!rfound) {
-        if (nread==0 || (pos_in_buf>=nread)) {
-            // if (pos_in_buf==nread-1) cout<<"BE2 : last char of buf before reading new buffer: "<<buf[pos_in_buf]<<endl;
+        if (buf_info.real_bufsize==0 || (buf_info.cnt>=buf_info.real_bufsize)) {
             readBuffer();
         }
-        if (nread==0) { eof=1; break;}
+        if (buf_info.real_bufsize==0) { eof=1; break;}
         rfound=processBuffer(p_nr);
     }
     return eof;
 }
 
+
 int FqAuxBackend::processBuffer(rinfo * p_nr) {
-    unsigned int s;
-    static unsigned int st;
+    static T_fq_rec_info fq_rec_info;
     static int num_l_in_rec; /* counter to know on which line inside the fastq record we are */
     static int qual_score=0;
+    static int n;
+    static int start_rec_in_buf;
+
     static unsigned long rstart_offset;
-    char * pchar=buf+pos_in_buf;
+    buf_info.pchar=buf_info.buf+buf_info.cnt;
     int rfound=0;
-#ifdef DEBUG
-    static int tot_nb_start=0;
-    static int tot_nb_stop=0;
-    static int nb_stop=0;
-    static int nb_start=0;
-
-    static int idx_id;
-    static int is_id=0;
-    if (pos_in_buf==0) {
-        nb_start=0;
-        nb_stop=0;
-        }
-#endif
-    while (pos_in_buf<=nread-1 && !rfound) {
-        switch (*pchar){
+
+    while (buf_info.cnt<=buf_info.real_bufsize-1 && !rfound) {
+        switch (*buf_info.pchar){
             case k_read_id_start:
                 if (qual_score) goto inc_score;
                 else {
-#ifdef DEBUG
-                is_id=1;
-                idx_id=0;
-                nb_start++;
-#endif
-                //cout<<k_read_id_start<<" found in PE2."<<endl;
-                rstart_offset=cur_offset-nread+pos_in_buf;
-                num_l_in_rec=1; }
+                    //debug_processBuf(on_record_new,buf_info,fq_rec_info.rstart_offset);
+                    rstart_offset=cur_offset-buf_info.real_bufsize+buf_info.cnt;
+                    start_rec_in_buf=buf_info.cnt;
+                    buf_info.p_start_cur_rec=buf_info.pchar;
+                    num_l_in_rec=1;
+                    fq_rec_info.nb_nucleotides_in_read=0;}
                 break;
             case k_read_qual_start:
                 qual_score=1;
-                st=0;
+                fq_rec_info.nb_k_mers_in_error=0;
+                fq_rec_info.st=0;
+                fq_rec_info.idx_nucl_in_read=0;
+                n=0;
                 break;
             case '\n':
+                // debug_processBuf(on_line_end,buf_info,fq_rec_info.rstart_offset);
+                (qual_score==1)?qual_score++:qual_score;
                 num_l_in_rec+=1;
-#ifdef DEBUG
-                is_id=0;
-#endif
                 if (num_l_in_rec==5) { qual_score=0;/* end of fastq record */
-#ifdef DEBUG
-                nb_stop++;
-#endif
                     p_nr->f_id=f_id;
-                    p_nr->score=st;
+                    p_nr->score=fq_rec_info.st;
                     p_nr->rstart_offset=rstart_offset;
+                    p_nr->nb_nucleotides_in_read=fq_rec_info.nb_nucleotides_in_read;
+                    p_nr->nb_k_mers_in_error=fq_rec_info.nb_k_mers_in_error;
                     rfound=1;
                     }
                 break;
             default:
-#ifdef DEBUG
-            store_id:
-            { if (is_id==1) {
-                if (*pchar!='/' and *pchar!=' ') current_id[idx_id]=*pchar;
-                else current_id[idx_id]='\0';
-                idx_id+=1;
-            }
-            }
-#endif
+            //debug_processBuf(on_store_read_id,buf_info,fq_rec_info.rstart_offset);
+            (num_l_in_rec==2)?fq_rec_info.nb_nucleotides_in_read++:fq_rec_info.nb_nucleotides_in_read;
             inc_score:
-                { if (qual_score==1) {
-                    s=(int)*pchar;
-                    s-=k_phred_32;
-                    st+=s;
-                    }
+                { if (qual_score==2) onIncScore(fq_rec_info,buf_info,n);
                 }
         }
-        pchar++;
-        pos_in_buf++;
+        buf_info.pchar++;
+        buf_info.cnt++;
     }
-#ifdef DEBUG
-    std::cout<<"BE2, position in buffer: "<<pos_in_buf<<endl;
-    if (pos_in_buf==nread) {
-        cout<<"BE2 Found "<<nb_start<<" and "<<nb_stop<<" start/stop of record in this buffer."<<endl;
-        tot_nb_start+=nb_start;
-	    tot_nb_stop+=nb_stop;
-        cout<<"BE2 Total cumulated number of start char found: "<<tot_nb_start<< " Total number of stop: "<<tot_nb_stop<<endl;
-    }
-#endif
+    if (!rfound) keepCurFastqRecord(buf_info.buf,start_rec_in_buf,buf_info.real_bufsize);
     return rfound;
 }
 
 
 void FqAuxBackend::readBuffer() {
-    if ((nread=read(i_f_desc,buf,bufsize))!=0) {
+    size_t buffer_size;
+    (test_mode)?buffer_size=test_bufsize:buffer_size=bufsize;
+    if ((buf_info.real_bufsize=read(i_f_desc,buf_info.buf,buffer_size))!=0) {
         cur_offset=lseek(i_f_desc,0,SEEK_CUR);
-//ftell(f_stream);
-        pos_in_buf=0;
+        buf_info.cnt=0;
+        buf_info.p_start_cur_rec=buf_info.buf;
+        buf_info.pchar=buf_info.buf;
     }
 }
 /*
  * Opens file and performs the fist read operation.
  */
 void FqAuxBackend::openFile(char * ficname, unsigned char id) {
+    size_t buffer_size;
+    (test_mode)?buffer_size=test_bufsize:buffer_size=bufsize;
     FqBaseBackend::openInputFile(ficname,id);
-    buf=(char *) malloc(bufsize*sizeof(char));
-    if (buf==NULL) {
-            err(errno,"cannot allocate memory: %lu bytes.",bufsize);
+
+    buf_info.buf=(char *) malloc(buffer_size*sizeof(char));
+    if (buf_info.buf==NULL) {
+            err(errno,"cannot allocate memory: %lu bytes.",buffer_size);
     }
-    pos_in_buf=bufsize; // do that to force first reading in buffer.
+    buf_info.real_bufsize=buffer_size; // do that to force first reading in buffer.
 }
 
 void FqAuxBackend::closeFile() {
     if (i_f_desc!=-1) {
         FqBaseBackend::closeInputFile();
-        free(buf);
-        buf=NULL;
+        free(buf_info.buf);
+        buf_info.buf=NULL;
     }
 }
 
+void FqAuxBackend::writeToUndefFile() {
+    FqBaseBackend::writeToUndefFile(buf_info);
+}
+
+
 
+void FqAuxBackend::resetCurFqRecord() {
+    cur_fq_record[0]='\0';
+}
diff --git a/src/FqAuxBackend.h b/src/FqAuxBackend.h
index 13178722c2a069e4c376dca2f4cfb44d184eb0f7..1f0b863344b9efd1a5b84a394b6ec3d0cfbfed51 100644
--- a/src/FqAuxBackend.h
+++ b/src/FqAuxBackend.h
@@ -12,30 +12,31 @@
 #include "FqBaseBackend.h"
 
 
-// const size_t bufsize=500000; //try that in valgrind
 
 class FqAuxBackend:public FqBaseBackend {
-    size_t nread;
     unsigned long cur_offset;
-    char * buf;
+    T_buf_info buf_info;
 
     void readBuffer();
     int processBuffer(rinfo * p_nr);
 
+    friend void test_processBufPE();
+
 public:
     
-    size_t pos_in_buf;
-    char current_id[50];
+    // char current_id[50];
 
     FqAuxBackend() {
         cur_offset=0;
-        nread=0;
-        buf=NULL;
-        pos_in_buf=bufsize;
+        buf_info.real_bufsize=0;
+        buf_info.buf=NULL;
+        buf_info.cnt=bufsize;
     }
     void openFile(char * ficname, unsigned char id);
     void closeFile();
     int getNextRead(rinfo *);
+    void writeToUndefFile();
+    void resetCurFqRecord();
 
 };
 
diff --git a/src/FqBaseBackend.cpp b/src/FqBaseBackend.cpp
index 473b0bc2ddc4866ecc67f826ad12854a130872b7..ebbfbaf611a6b0d8c3c3815f24c3dc5a5fb33ab2 100644
--- a/src/FqBaseBackend.cpp
+++ b/src/FqBaseBackend.cpp
@@ -4,6 +4,9 @@
  *  Created on: Jan 20, 2016
  *      Author: vlegrand
  */
+
+#include <sys/stat.h>
+
 #include <string>
 #include <stdexcept>
 #include <fcntl.h>
@@ -24,9 +27,17 @@ using namespace std;
 #endif
 
 
+T_buf_info init_buf_info(int& nread,char * buf) {
+    T_buf_info buf_info;
+    buf_info.real_bufsize=nread;
+    buf_info.cnt=0;
+    buf_info.pchar=buf;
+    buf_info.buf=buf;
+    buf_info.p_start_cur_rec=buf;
+    return buf_info;
+}
+
 void FqBaseBackend::openInputFile(char * ficname, unsigned char id) {
-    int st,s;
-    // unsigned long cur_offset;
     mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
 
     closeInputFile();
@@ -37,19 +48,12 @@ void FqBaseBackend::openInputFile(char * ficname, unsigned char id) {
     if (i_f_desc==-1) {
         err(errno,"cannot open file: %s.",i_filename);
     }
-
-    f_stream=fdopen(i_f_desc,"r");
-    if (f_stream==NULL) {
-        err(errno,"cannot open file: %s.",i_filename);
-    }
 }
 
 void FqBaseBackend::closeInputFile() {
     if (i_f_desc!=-1) {
         close(i_f_desc);
-        // filename=NULL;
         i_f_desc=-1;
-        f_stream=NULL;
     }
 }
 
@@ -57,6 +61,10 @@ void FqBaseBackend::setOutputFile(char * ofilename) {
     o_filename=ofilename;
 }
 
+void FqBaseBackend::setUndefFile(char * ficname) {
+    undef_filename=ficname;
+}
+
 
 void FqBaseBackend::openInputFile() {
     if (i_filename==NULL || f_id==0) throw std::runtime_error("No file currently associated to this backend");
@@ -71,21 +79,34 @@ void FqBaseBackend::openInputFile() {
 
 
 void FqBaseBackend::openOutputFile(){
-    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
     if (o_filename==NULL) throw std::runtime_error("No output file currently associated to this backend");
-    if (o_f_desc!=-1) {
+    openFile4Output(o_filename,&o_f_desc);
+}
+
+void FqBaseBackend::openUndefFile(){
+  //std::cout<<qual_thres.min_correct_k_mers_in_read<<endl;
+  if (qual_thres.min_correct_k_mers_in_read>=1) {
+    if (undef_filename==NULL) throw std::runtime_error("No file currently associated to this backend for undefined reads.");
+    openFile4Output(undef_filename,&undef_f_desc);
+  }
+}
+
+void FqBaseBackend::openFile4Output(char * filename, int * f_desc) {
+    mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+    if (*f_desc!=-1) {
         std::string err_msg("file: ");
-        err_msg+=o_filename;
+        err_msg+=filename;
         err_msg+=" is already open!";
         throw std::runtime_error(err_msg);
     }
-    o_f_desc=open(o_filename,O_WRONLY|O_CREAT|O_TRUNC,mode);
-    if (o_f_desc==-1) {
-        err(errno,"cannot open file: %s.",o_filename);
+    *f_desc=open(filename,O_WRONLY|O_CREAT|O_TRUNC,mode);
+    if (*f_desc==-1) {
+        err(errno,"cannot open file: %s.",filename);
     }
 }
 
 
+
 void FqBaseBackend::closeOutputFile() {
     if (pos_in_w_buf!=o_buf) { // check if some fq records remains in buffer before closing file, if so, flush.
         if (write(o_f_desc, o_buf, pos_in_w_buf-o_buf)==-1) err(errno,"cannot write in file: %s.",o_filename);
@@ -97,8 +118,41 @@ void FqBaseBackend::closeOutputFile() {
     }
 }
 
+void FqBaseBackend::closeUndefFile() {
+    if (undef_f_desc!=-1) {
+        if (close(undef_f_desc)==-1) err(errno,"cannot close file: %s.",undef_filename);
+        undef_f_desc=-1;
+    }
+}
+
+void FqBaseBackend::writeStrToUndefFile(char * start_in_buf, int len) {
+    if (write(undef_f_desc,start_in_buf,len)==-1) err(errno,"cannot write in file: %s.",undef_filename);
+}
+
+/*
+ * Writes a fq record to the file containing "undefined" reads.
+ * Undefined reads are those who don't contain the minimum number of valid k-mer.
+ * The thing is that:
+ * - when called from mainBackend, the \n terminating the fastq record has not been counted yet.
+ * - when called fromAuxBackend, the final \n has already been counted
+ * So, values for buf_info.pchar and buf_info.cnt may or may not contain the final \n.
+ * This is why I use the addCR parameter to add it or not.
+ */
+void FqBaseBackend::writeToUndefFile(const T_buf_info& buf_info,const int& addCR) {
+  int l=strlen(cur_fq_record);
+    if (l==0) {
+        writeStrToUndefFile(buf_info.p_start_cur_rec,buf_info.pchar-buf_info.p_start_cur_rec+addCR);
+    } else {
+        memcpy(cur_fq_record+l,buf_info.p_start_cur_rec,buf_info.cnt+addCR);
+        l+=buf_info.cnt;
+        cur_fq_record[l+addCR]='\0';
+        writeStrToUndefFile(cur_fq_record,strlen(cur_fq_record)); // Try that, if there is performance problem due to resolving inheritance, will find a different way
+    }
+}
+
+
+
 void FqBaseBackend::writeToOutput(const unsigned long& offset) {
-    // static char * pos_in_w_buf;
     if (o_buf==NULL) {
         o_buf=(char *) malloc(FqBaseBackend::bufsize*sizeof(char));
         pos_in_w_buf=o_buf;
@@ -128,12 +182,13 @@ void FqBaseBackend::writeToOutput(const unsigned long& offset) {
  * use C style char* rather than std::string for a matter of performance.
  * use read instead of fread for the same reason.
  *
- * Note: It is up to the caller to determine where the end of the record is (5th \n character in the fq_record string).
+ * Note: length of the string containing the read is returned.
  */
 int FqBaseBackend::getRead(const unsigned long& offset, char * fq_record) {
 
     int nread,i,nb_lines,fq_rec_size;
     char * pchar;
+    fq_rec_size=-1;
 
     if (i_f_desc==-1) throw std::runtime_error("No open file currently associated to this backend");
 #ifdef DEBUG
@@ -147,6 +202,8 @@ int FqBaseBackend::getRead(const unsigned long& offset, char * fq_record) {
         throw errno;
     }
     nread=read(i_f_desc,fq_record,MAX_FQ_RECORD_LENGTH);
+    
+
 #ifdef DEBUG
     assert(nread<=MAX_FQ_RECORD_LENGTH);
     assert(*(fq_record)=='@');
@@ -169,5 +226,93 @@ int FqBaseBackend::getRead(const unsigned long& offset, char * fq_record) {
 #ifdef DEBUG
     cout<<"found that fq record size is : "<<fq_rec_size<<endl;
 #endif
+    if (fq_rec_size==-1) errx(1,"Cannot get read!"); // here use errx rather than C++ exception because I don't want to catch an exception. If this happens, program must exit with error message and that's it.
     return fq_rec_size;
 }
+
+/* keep the end of current fastq record in memory. Used for records that are incomplete (when reading big files an fq record'start may be read in buffer 1
+ whereas its end may be in buffer 2...*/
+void FqBaseBackend::keepCurFastqRecord(char * buf,const int& start_rec_in_buf,const int &nread) {
+    int len=nread-start_rec_in_buf;
+    if (len+1>=MAX_FQ_RECORD_LENGTH) errx(1,"Buffer for current record is too small given record length.");
+    memcpy(cur_fq_record,&buf[start_rec_in_buf],len);
+    cur_fq_record[len]='\0';
+}
+
+void FqBaseBackend::onIncScore(T_fq_rec_info& rec_info,T_buf_info& buf_info,int& n) {
+    unsigned int s=(int)*buf_info.pchar;
+    // printf("s=%u; qual_thres.nucl_score_threshold=%d \n",s,qual_thres.nucl_score_threshold);
+    unsigned int remaining_nucl=rec_info.nb_nucleotides_in_read-rec_info.idx_nucl_in_read;
+    if ((qual_thres.nucl_score_threshold-k_phred_32) and (s<=qual_thres.nucl_score_threshold)) { // maybe TODO rewrite this with chained ternary operators once it is clear to see if it improves performances.Not useful: performance bottleneck is not here but in median calculation (42% of time approximatively for both filters).
+        if (rec_info.idx_nucl_in_read<=qual_thres.k-1) { // error is found in the first k nucleotides
+            int nb_k_mers=rec_info.nb_nucleotides_in_read-qual_thres.k+1;
+            (nb_k_mers>rec_info.idx_nucl_in_read+1)?rec_info.nb_k_mers_in_error=rec_info.idx_nucl_in_read+1:rec_info.nb_k_mers_in_error=nb_k_mers;
+        }
+        else if (n>0 && remaining_nucl>n) {
+            (qual_thres.k-n<remaining_nucl-n)?rec_info.nb_k_mers_in_error+=qual_thres.k-n:rec_info.nb_k_mers_in_error+=remaining_nucl-n;
+        } else if (n<=0) { // no error already encountered in the previous k-1 nucleotides.
+            (qual_thres.k<remaining_nucl)?rec_info.nb_k_mers_in_error+=qual_thres.k:rec_info.nb_k_mers_in_error+=remaining_nucl;
+        }
+        n=qual_thres.k;
+    }
+    n--;
+    rec_info.st+=s;
+    rec_info.idx_nucl_in_read++;
+}
+
+/*
+void FqBaseBackend::debug_processBuf(int evt,const T_buf_info& buf_info,const unsigned long& rstart_offset) { // put all the bebug stuff in a separate method so that processBuf is shorter and more "lisible".
+#ifdef DEBUG
+    static int nb_start; // number of fq record start and stop found in current buffer.
+    static int nb_stop;
+    static int tot_nb_stop=0;
+    static int tot_nb_start=0;
+    static int idx_id;
+    static int is_id=0;
+    if (buf_info.cnt==0) {
+        nb_start=0;
+        nb_stop=0;
+    }
+
+    switch(evt) {
+        case on_record_new:
+            cout<<"nread="<<buf_info.real_bufsize<<endl;
+            cout<<"cnt="<<buf_info.cnt<<endl;
+            cout<<"rstart_offset="<<rstart_offset<<endl;
+            is_id=1;
+            idx_id=0;
+            nb_start++;
+            break;
+        case on_line_end:
+            is_id=0;
+            break;
+        case on_record_end:
+            nb_stop++;
+            cout<<"just finished processing : "<<endl;
+            cout<<current_id<<endl;
+            cout<<"j obttained: rstart_offset/UINT_MAX="<<rstart_offset/UINT_MAX<<endl;
+            break;
+        case on_store_read_id:
+            if (is_id==1) {
+                if (*buf_info.pchar!='/' and *buf_info.pchar !=' ') current_id[idx_id]=*buf_info.pchar;
+                else current_id[idx_id]='\0';
+                idx_id+=1;
+            }
+            break;
+        case on_buf_end:
+            std::cout<<" Main BE position in buffer "<<cnt<<endl;
+            assert(buf_info.cnt==buf_info.real_bufsize);
+            cout<<"Main BE Found "<<nb_start<<" and "<<nb_stop<<" start/stop of record in this buffer."<<endl;
+            tot_nb_start+=nb_start;
+            tot_nb_stop+=nb_stop;
+            cout<<"Main BE Total cumulated number of start: "<<tot_nb_start<<" Total number of stop: "<<tot_nb_stop<<endl;
+            break;
+        case on_record_end_pe:
+            cout<<p_auxFqProcessor->current_id<<endl;
+            assert(strcmp(current_id,p_auxFqProcessor->current_id)==0);
+            break;
+    }
+#endif
+}*/
+
+
diff --git a/src/FqBaseBackend.h b/src/FqBaseBackend.h
index 29f7b2ab4336508347fa1f349e07712fde7be5c9..1cd30fef43fb860e5e103611f960828017a9a43d 100644
--- a/src/FqBaseBackend.h
+++ b/src/FqBaseBackend.h
@@ -13,22 +13,54 @@
 
 #include "FqConstants.h"
 #include "srp.h"
+#include "ROCKparams.h"
 
+//#define init_debug 1
+/*
+#define on_record_new 2
+#define on_record_end 3
+#define on_buf_end 4
+#define on_line_end 5
+#define on_store_read_id 6
+#define on_record_end_pe 7*/ // keep that for later use (implementing the logger).
 
+/*
+ * Auxilliary structure for buffer processing.
+ */
+typedef struct {
+    int cnt; // number of char already processed in buffer
+    char * pchar; // point on current char in buffer
+    int real_bufsize; // total number of char in buffer
+    char * buf; // pointer to start of buffer
+    char * p_start_cur_rec; // pointer to the start of the current record.
+}T_buf_info;
 
+/*
+ * Auxilliary structure for fastq parsing; gather here information on the fastq record before we can put it inthe srp data structure.
+ */
+typedef struct {
+    unsigned long rstart_offset; // fq record start offset in file.
+    int nb_k_mers_in_error; // number of k-mers that contain nucleotides whose quality score is below given threshold in PE1 or single read.
+    int nb_k_mers_in_error_in_PE2; // number k-mers that contain nucleotides whose quality score is below given threshold in PE2.
+    unsigned int nb_nucleotides_in_read; // number of nucleotides in read (single or PE1)
+    unsigned int nb_nucleotides_in_read_PE2; // number of nucleotides in PE2.
+    unsigned int st; // total read score (sum of the nucleotides quality score).
+    unsigned int idx_nucl_in_read;
+}T_fq_rec_info;
+
+T_buf_info init_buf_info(int& nread,char * buf);
 
 class FqBaseBackend {
 
-    // TODO: this class will also be associated to writing output "filtered" fastq files.
-    // TODO Refactor FqBackends. Surely there is no need to keep f_stream member since I don't call ftell anymore + should even be able to get rid of lseek system call to get position in file.
-    // I could compute offset myself since I am reading caracters from a text file...
+    // I could compute offset myself since I am reading caracters from a text file... Wouldn't gain much; performance bottleneck is not here.
 
 protected:
-    static const size_t bufsize=6048000; // It seems that I can't have a much bigger value than that or else my objects construction throws exception. Strange.
+    static const size_t bufsize=6048000;
+
+    // handling input
     char * i_filename;
     unsigned char f_id;
-    int i_f_desc; // for calling read
-    FILE * f_stream; // for calling ftell
+    int i_f_desc;
 
     // for writing output (filtered reads)
     char * o_filename;
@@ -36,6 +68,30 @@ protected:
     char * o_buf;
     char * pos_in_w_buf;
 
+    // for writing undefined (reads that don't contain a sufficient number of correct k-mers)
+    // correct k-mers are k-mers that contain only nucleotides with a quality score greater than a given threshold (default is 0).
+    // expected minimum number of correct k-mers is provided by the user. Default is 1
+    char * undef_filename;
+    int undef_f_desc;
+
+    static FasqQualThreshold qual_thres;
+
+    char cur_fq_record[MAX_FQ_RECORD_LENGTH];
+
+    void onIncScore(T_fq_rec_info& rec_info,T_buf_info& buf_info,int& n);
+    // void debug_processBuf(int evt,const T_buf_info& buf_info,const unsigned long& rstart_offset);
+
+    friend void processPEFiles(char *, unsigned char,char * , unsigned char,srp *,char *,char *, size_t);
+
+    /* for testing only */
+    int test_mode;
+    size_t test_bufsize;
+
+    void setTestMode(size_t new_buf_size) {
+        test_mode=1;
+        test_bufsize=new_buf_size;
+    }
+
     friend void test_processInputFiles();
     friend void test_write_PE();
 
@@ -44,12 +100,17 @@ public:
     FqBaseBackend() {
         i_filename=NULL;
         i_f_desc=-1;
-        f_stream=NULL;
         f_id=0;
         o_f_desc=-1;
         o_filename=NULL;
+        undef_f_desc=-1;
+        undef_filename=NULL;
+
         o_buf=NULL;
         pos_in_w_buf=NULL;
+        strcpy(cur_fq_record,"");
+        test_mode=0;
+        test_bufsize=0;
     }
 
     ~FqBaseBackend() {
@@ -67,6 +128,20 @@ public:
     void openOutputFile();
     void writeToOutput(const unsigned long&);
     void closeOutputFile();
+    void setUndefFile(char * ficname);
+    void openUndefFile();
+    void writeStrToUndefFile(char * start_in_buf, int len);
+    void writeToUndefFile(const T_buf_info& buf_info,const int& addCR=0);
+    void closeUndefFile();
+
+    static void setQualThreshold(const FasqQualThreshold& a_qual_thres){
+        FqBaseBackend::qual_thres.min_correct_k_mers_in_read=a_qual_thres.min_correct_k_mers_in_read;
+        FqBaseBackend::qual_thres.nucl_score_threshold=a_qual_thres.nucl_score_threshold;
+        FqBaseBackend::qual_thres.k=a_qual_thres.k;
+    }
+
+    void openFile4Output(char * filename, int * f_desc);
+    void keepCurFastqRecord(char * buf,const int& start_rec_in_buf,const int &nread);
 };
 
 
diff --git a/src/FqMainBackend.cpp b/src/FqMainBackend.cpp
index af0faa9175bfa970e7d1b8389e577cfd350d231d..4125c7e193891291914dcde94d4eb02f98a25104 100644
--- a/src/FqMainBackend.cpp
+++ b/src/FqMainBackend.cpp
@@ -5,6 +5,8 @@
  *      Author: vlegrand
  */
 
+#include <sys/stat.h>
+
 #include <stdio.h>
 //#include <stdlib.h>
 #include <fcntl.h>
@@ -39,18 +41,22 @@ FqMainBackend::FqMainBackend(srp * io_sr):FqBaseBackend() {
 }
 
 
+
 void FqMainBackend::processFile(char * filename,unsigned char f_id) {
     FILE * fp;
-    int st,s;
-    int cnt,nread;
+    int nread;
     long cur_offset;
-    // int nb_read_oper=0;
     mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
-    //cout<<"INT_MAX="<<INT_MAX<<endl;
-    // cout<<filename<<endl;
     this->i_filename=filename;
     this->f_id=f_id;
+    char* buf;
     
+    size_t buffer_size;
+    (test_mode)?buffer_size=test_bufsize:buffer_size=FqBaseBackend::bufsize;
+
+    this->openUndefFile();
+    if (p_auxFqProcessor!=NULL) p_auxFqProcessor->openUndefFile();
+
     int f_single=open(filename,O_RDONLY,mode);
     if (f_single==-1) {
         err(errno,"cannot open file: %s.",filename);
@@ -60,162 +66,123 @@ void FqMainBackend::processFile(char * filename,unsigned char f_id) {
     if (fp==NULL) {
         err(errno,"cannot open file: %s.",filename);
     }
-    //cur_offset=ftell(fp);
-    //cout<<"cur_offset="<<cur_offset<<endl;
-    char* buf=(char *) malloc(FqBaseBackend::bufsize*sizeof(char));
+    buf=(char *) malloc(buffer_size*sizeof(char));
     if (buf==NULL) {
-        err(errno,"cannot allocate memory: %lu bytes.",bufsize);
+        err(errno,"cannot allocate memory: %lu bytes.",buffer_size);
     }
     /* for each read, we want : offset, filenb, total quality score. */
-    while ((nread=read(f_single,buf,FqBaseBackend::bufsize))!=0) {
-        // nb_read_oper++;
-        //cout<<"BE1: read operation nbr: "<<nb_read_oper<<endl;
-        //printf("going to call ftell on : %p \n",fp);
-        //cur_offset=ftell(fp); // don't know why but it seems that this doesn't work under linux; always returns 0...
+    while ((nread=read(f_single,buf,buffer_size))!=0) {
         cur_offset = lseek(f_single, 0, SEEK_CUR);
-        //cout<<"cur_offset="<<cur_offset<<endl;
-        processBuf((char *)buf,nread,f_id,cur_offset);
+        T_buf_info buf_info=init_buf_info(nread,buf);
+        processBuf(buf_info,f_id,cur_offset);
     }
     close(f_single);
+    this->closeUndefFile();
+    if (p_auxFqProcessor!=NULL) p_auxFqProcessor->closeUndefFile();
+
     free(buf);
 }
 
 
-#ifdef DEBUG
 
-#define init_debug 1
-#define on_record_new 2
-#define on_record_end 3
-#define on_buf_end 4
-#define on_line_end 5
-#define on_store_read_id 6
-#define on_record_end_pe 7
-
-void FqMainBackend::debug_processBuf(int evt,int& cnt,int& nread,char * pchar,unsigned long& rstart_offset) { // put all the bebug stuff in a separate method so that processBuf is shorter and more "lisible".
-    static int nb_start; // number of fq record start and stop found in current buffer.
-    static int nb_stop;
-    static int tot_nb_stop=0;
-    static int tot_nb_start=0;
-    static int idx_id;
-    static int is_id=0;
-    if (cnt==0) {
-        nb_start=0;
-        nb_stop=0;
-    }
+void FqMainBackend::onEndFastqRecord(T_fq_rec_info& rec_info,const T_buf_info& bufinfo) {
+    rpos rp=init_rpos(f_id,rec_info.rstart_offset);
+    rinfo pe2info;
+    int nb_k_mer_PE2;
+    if (p_auxFqProcessor!=NULL) {
+         int eof=p_auxFqProcessor->getNextRead(&pe2info);
+         assert(!eof); // There should be the same number of reads in both PE files.
+         rec_info.nb_k_mers_in_error_in_PE2=pe2info.nb_k_mers_in_error;
+         rec_info.nb_nucleotides_in_read_PE2=pe2info.nb_nucleotides_in_read;
+         rec_info.st+=pe2info.score;
+         unsigned long j=rec_info.rstart_offset/UINT_MAX;
+         update_rpos(pe2info.f_id,pe2info.rstart_offset,j,&rp);
+         //debug_processBuf(on_record_end_pe,bufinfo,rec_info.rstart_offset);
+     }
+     i_dim& ref_i_dim=(*p_scoreReadStruct)[rec_info.st/K_SCORE_NORM_FACTOR];
+     k_dim& ref_k_dim=ref_i_dim[rec_info.rstart_offset/UINT_MAX];
+     //debug_processBuf(on_record_end,bufinfo,rec_info.rstart_offset);
+     int nb_k_mer=rec_info.nb_nucleotides_in_read+1-qual_thres.k;
+     rec_info.nb_nucleotides_in_read_PE2>0?nb_k_mer_PE2=rec_info.nb_nucleotides_in_read_PE2+1-qual_thres.k:nb_k_mer_PE2=0;
+     if (!treat_PE_separately || (p_auxFqProcessor==NULL)) {
+         nb_k_mer+=nb_k_mer_PE2;
+         (nb_k_mer-rec_info.nb_k_mers_in_error-rec_info.nb_k_mers_in_error_in_PE2>=qual_thres.min_correct_k_mers_in_read)?ref_k_dim.push_back(rp):writeToUndefFile(bufinfo);
+     } else {
+         // ((nb_k_mer_PE2-rec_info.nb_k_mers_in_error_in_PE2>=1) && (nb_k_mer-rec_info.nb_k_mers_in_error>=1))?ref_k_dim.push_back(rp):writeToUndefFile(bufinfo);
+         ((nb_k_mer_PE2-rec_info.nb_k_mers_in_error_in_PE2>=qual_thres.min_correct_k_mers_in_read) && (nb_k_mer-rec_info.nb_k_mers_in_error>=qual_thres.min_correct_k_mers_in_read))?ref_k_dim.push_back(rp):writeToUndefFile(bufinfo);
+     }
+     // empty buffer keeping current record
+     cur_fq_record[0]='\0';
+     if (p_auxFqProcessor!=NULL) p_auxFqProcessor->resetCurFqRecord();
+}
+
 
-    switch(evt) {
-        case on_record_new:
-            cout<<"nread="<<nread<<endl;
-            cout<<"cnt="<<cnt<<endl;
-            cout<<"rstart_offset="<<rstart_offset<<endl;
-            is_id=1;
-            idx_id=0;
-            nb_start++;
-            break;
-        case on_line_end:
-            is_id=0;
-            break;
-        case on_record_end:
-            nb_stop++;
-            cout<<"just finished processing : "<<endl;
-            cout<<current_id<<endl;
-            cout<<"j obttained: rstart_offset/UINT_MAX="<<rstart_offset/UINT_MAX<<endl;
-            break;
-        case on_store_read_id:
-            if (is_id==1) {
-                if (*pchar!='/' and *pchar !=' ') current_id[idx_id]=*pchar;
-                else current_id[idx_id]='\0';
-                idx_id+=1;
-            }
-            break;
-        case on_buf_end:
-            std::cout<<" Main BE position in buffer "<<cnt<<endl;
-            assert(cnt==nread);
-            cout<<"Main BE Found "<<nb_start<<" and "<<nb_stop<<" start/stop of record in this buffer."<<endl;
-            tot_nb_start+=nb_start;
-            tot_nb_stop+=nb_stop;
-            cout<<"Main BE Total cumulated number of start: "<<tot_nb_start<<" Total number of stop: "<<tot_nb_stop<<endl;
-            break;
-        case on_record_end_pe:
-            cout<<p_auxFqProcessor->current_id<<endl;
-            assert(strcmp(current_id,p_auxFqProcessor->current_id)==0);
-            break;
-        }
-    }
-#endif
 
 
-void FqMainBackend::processBuf(char * buf,int nread,unsigned char f_id,unsigned long cur_offset) {
-    int cnt=0;
-    unsigned int s;
-    static unsigned int st;
+void FqMainBackend::processBuf(T_buf_info& buf_info,unsigned char f_id,unsigned long cur_offset) {
+    static T_fq_rec_info fq_rec_info;
     static int num_l_in_rec; /* counter to know on which line inside the fastq record we are */
     static int qual_score=0;
-    static unsigned long rstart_offset;
-#ifdef DEBUG
-    debug_processBuf(init_debug,cnt,nread,NULL,rstart_offset);
-#endif
-    char * pchar=buf;
-    while (cnt<=nread-1) {
-        switch (*pchar){
+    static int n;
+    int start_rec_in_buf=0;
+
+    // debug_processBuf(init_debug,buf_info,fq_rec_info.rstart_offset);
+    while (buf_info.cnt<=buf_info.real_bufsize-1) {
+        switch (*buf_info.pchar){
             case k_read_id_start:
                 if (qual_score) goto inc_score;
                 else {
-                    rstart_offset=cur_offset-nread+cnt;
-#ifdef DEBUG
-    debug_processBuf(on_record_new,cnt,nread,NULL,rstart_offset);
-#endif
-                    num_l_in_rec=1; }
-                    break;
+                    buf_info.p_start_cur_rec=buf_info.pchar;
+                    fq_rec_info.rstart_offset=cur_offset-buf_info.real_bufsize+buf_info.cnt;
+                    start_rec_in_buf=buf_info.cnt;
+                    //debug_processBuf(on_record_new,buf_info,fq_rec_info.rstart_offset);
+                    num_l_in_rec=1;
+                    fq_rec_info.nb_nucleotides_in_read=0;
+                    fq_rec_info.nb_nucleotides_in_read_PE2=0;
+                }
+                break;
             case k_read_qual_start:
                 qual_score=1;
-                st=0;
+                fq_rec_info.nb_k_mers_in_error=0;
+                fq_rec_info.nb_k_mers_in_error_in_PE2=0;
+                fq_rec_info.st=0;
+                fq_rec_info.idx_nucl_in_read=0;
+                n=0; // counter for k-mers in error
                 break;
             case '\n':
-#ifdef DEBUG
-    debug_processBuf(on_line_end,cnt,nread,pchar,rstart_offset);
-#endif
+                //debug_processBuf(on_line_end,buf_info,fq_rec_info.rstart_offset);
+                (qual_score==1)?qual_score++:qual_score;
                 num_l_in_rec+=1;
                 if (num_l_in_rec==5) {
                     qual_score=0;/* end of fastq record */
-                    rpos rp=init_rpos(f_id,rstart_offset);
-                    if (p_auxFqProcessor!=NULL) {
-                        rinfo pe2info;
-                        int eof=p_auxFqProcessor->getNextRead(&pe2info);
-                        assert(!eof); // There should be the same number of reads in both PE files.
-                        st+=pe2info.score;
-                        unsigned long j=rstart_offset/UINT_MAX;
-                        update_rpos(pe2info.f_id,pe2info.rstart_offset,j,&rp);
-#ifdef DEBUG
-    debug_processBuf(on_record_end_pe,cnt,nread,pchar,rstart_offset);
-#endif
-                    }
-                    i_dim& ref_i_dim=(*p_scoreReadStruct)[st/K_SCORE_NORM_FACTOR];
-                    k_dim& ref_k_dim=ref_i_dim[rstart_offset/UINT_MAX];
-#ifdef DEBUG
-    debug_processBuf(on_record_end,cnt,nread,pchar,rstart_offset);
-#endif
-                    ref_k_dim.push_back(rp);
+                    onEndFastqRecord(fq_rec_info,buf_info);
                  }
                 break;
             default:
-#ifdef DEBUG
-            store_id: debug_processBuf(on_store_read_id,cnt,nread,pchar,rstart_offset);
-#endif
+            //debug_processBuf(on_store_read_id,buf_info,fq_rec_info.rstart_offset);
+            (num_l_in_rec==2)?fq_rec_info.nb_nucleotides_in_read++:fq_rec_info.nb_nucleotides_in_read;
             inc_score:
-                { if (qual_score==1) {
-                    s=(int)*pchar;
-                    s-=k_phred_32;
-                    st+=s;
-                    }
+                { if (qual_score==2) onIncScore(fq_rec_info,buf_info,n);
                 }
                 break;
         }
-        pchar++;
-        cnt++;
+        buf_info.pchar++;
+        buf_info.cnt++;
+    }
+    keepCurFastqRecord(buf_info.buf,start_rec_in_buf,buf_info.real_bufsize);
+    //debug_processBuf(on_buf_end,buf_info,fq_rec_info.rstart_offset);
+}
+
+
+/*
+ * 2 cases when writing records to undef file.
+ * 1- record was all inside current buffer => write it as is.
+ * 2- beginning of record was at the end of one buffer and the end of the record was processed in a 2nd buffer; so, record was stored in memory. In that case, write cur_fq_record to undef file.
+ */
+void FqMainBackend::writeToUndefFile(const T_buf_info& buf_info) {
+    FqBaseBackend::writeToUndefFile(buf_info,1); // if this is slow due to inheritance resolution, use template method or other solution. This doesn't semm to slow the perfs according to profiling. So I leave it as is; it's clearer than templates.
+    if (p_auxFqProcessor!=NULL) {
+        p_auxFqProcessor->writeToUndefFile();
     }
-#ifdef DEBUG
-    debug_processBuf(on_buf_end,cnt,nread,pchar,rstart_offset);
-#endif
 }
 
diff --git a/src/FqMainBackend.h b/src/FqMainBackend.h
index db7414e12ff2262db36f3d37bef0152cd4cd3cbe..656ab4bb210533bdcf5d52c848591276482f944c 100644
--- a/src/FqMainBackend.h
+++ b/src/FqMainBackend.h
@@ -17,11 +17,16 @@
 
 
 class FqMainBackend : public FqBaseBackend {
+    // static int treat_PE_as_single;
+    static int treat_PE_separately;
     FqAuxBackend * p_auxFqProcessor; /* Another fastq processor component is necessary for handling the case of PE reads.*/
     srp * p_scoreReadStruct; /* Where we store information about the reads. */
-    char current_id[50];
+    // char current_id[50]; used only for debug
+
+    // void debug_processBuf(int evt,const T_buf_info&, const unsigned long &);
+    void writeToUndefFile(const T_buf_info&);
+    void onEndFastqRecord(T_fq_rec_info& rec_info,const T_buf_info& bufinfo);
 
-    void debug_processBuf(int evt,int& cnt,int& nread,char * pchar, unsigned long &);
 
     friend void test_processInputFiles();
 public:
@@ -34,7 +39,11 @@ public:
 
     void processFile(char * filename,unsigned char f_id);
 
-    void processBuf(char * buf,int nread,unsigned char f_id,unsigned long cur_offset);
+    void processBuf(T_buf_info&,unsigned char f_id,unsigned long cur_offset);
+
+    static void setTreatPEMode(const int& treat_PE){
+        FqMainBackend::treat_PE_separately=treat_PE;
+    }
 };
 
 #endif /* FQMAINBACKEND_H_ */
diff --git a/src/Makefile.am b/src/Makefile.am
index 8176ea400dbac74fb73c19791aef892be93c1516..9a87fb480901152739dc7409b5ee6e0be55360da 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,5 +29,5 @@ unit_test_main_utils_LDADD=librock.a
 
 librock_a_SOURCES = $(SRC)
 
-SRC = fqreader.cpp FqBaseBackend.cpp FqAuxBackend.cpp FqMainBackend.cpp read_utils.cpp ReadProcessor.cpp fqwriter.cpp main_utils.cpp ROCKparams.cpp
-HDR = srp.h fqreader.h FqConstants.h FqBaseBackend.h FqAuxBackend.h FqMainBackend.h ReadProcessor.h rock_commons.h read_utils.h CountMinSketch.hpp Filter.hpp fqwriter.h main_utils.h ROCKparams.h
+SRC = fqreader.cpp FqBaseBackend.cpp FqAuxBackend.cpp FqMainBackend.cpp read_utils.cpp ReadProcessor.cpp fqwriter.cpp main_utils.cpp ROCKparams.cpp unit_tests_tools.cpp
+HDR = srp.h fqreader.h FqConstants.h FqBaseBackend.h FqAuxBackend.h FqMainBackend.h ReadProcessor.h rock_commons.h read_utils.h CountMinSketch.hpp Filter.hpp fqwriter.h main_utils.h ROCKparams.h unit_tests_tools.h
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..cc233db332b3e107f589abc2dd3c1ae50a6eca7e
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,683 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+bin_PROGRAMS = rock$(EXEEXT)
+noinst_PROGRAMS = unit_test_fqreader$(EXEEXT) \
+	unit_test_read_utils$(EXEEXT) unit_test_cms$(EXEEXT) \
+	unit_test_fqwriter$(EXEEXT) unit_test_main_utils$(EXEEXT)
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+librock_a_AR = $(AR) $(ARFLAGS)
+librock_a_LIBADD =
+am__objects_1 = fqreader.$(OBJEXT) FqBaseBackend.$(OBJEXT) \
+	FqAuxBackend.$(OBJEXT) FqMainBackend.$(OBJEXT) \
+	read_utils.$(OBJEXT) ReadProcessor.$(OBJEXT) \
+	fqwriter.$(OBJEXT) main_utils.$(OBJEXT) ROCKparams.$(OBJEXT) \
+	unit_tests_tools.$(OBJEXT)
+am_librock_a_OBJECTS = $(am__objects_1)
+librock_a_OBJECTS = $(am_librock_a_OBJECTS)
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+am_rock_OBJECTS = rock.$(OBJEXT)
+rock_OBJECTS = $(am_rock_OBJECTS)
+rock_DEPENDENCIES = librock.a
+am_unit_test_cms_OBJECTS = unit_test_cms.$(OBJEXT)
+unit_test_cms_OBJECTS = $(am_unit_test_cms_OBJECTS)
+unit_test_cms_DEPENDENCIES = librock.a
+am_unit_test_fqreader_OBJECTS = unit_test_fqreader.$(OBJEXT)
+unit_test_fqreader_OBJECTS = $(am_unit_test_fqreader_OBJECTS)
+unit_test_fqreader_DEPENDENCIES = librock.a
+am_unit_test_fqwriter_OBJECTS = unit_test_fqwriter.$(OBJEXT)
+unit_test_fqwriter_OBJECTS = $(am_unit_test_fqwriter_OBJECTS)
+unit_test_fqwriter_DEPENDENCIES = librock.a
+am_unit_test_main_utils_OBJECTS = unit_test_main_utils.$(OBJEXT)
+unit_test_main_utils_OBJECTS = $(am_unit_test_main_utils_OBJECTS)
+unit_test_main_utils_DEPENDENCIES = librock.a
+am_unit_test_read_utils_OBJECTS = unit_test_read_utils.$(OBJEXT)
+unit_test_read_utils_OBJECTS = $(am_unit_test_read_utils_OBJECTS)
+unit_test_read_utils_DEPENDENCIES = librock.a
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
+SOURCES = $(librock_a_SOURCES) $(rock_SOURCES) \
+	$(unit_test_cms_SOURCES) $(unit_test_fqreader_SOURCES) \
+	$(unit_test_fqwriter_SOURCES) $(unit_test_main_utils_SOURCES) \
+	$(unit_test_read_utils_SOURCES)
+DIST_SOURCES = $(librock_a_SOURCES) $(rock_SOURCES) \
+	$(unit_test_cms_SOURCES) $(unit_test_fqreader_SOURCES) \
+	$(unit_test_fqwriter_SOURCES) $(unit_test_main_utils_SOURCES) \
+	$(unit_test_read_utils_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EXEEXT = @EXEEXT@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POD2MAN = @POD2MAN@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+LINTDEFS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
+AM_CPPFLAGS = -DDATADIR=\"$(pkgdatadir)\"
+noinst_LIBRARIES = librock.a
+noinst_HEADERS = $(HDR)
+rock_SOURCES = rock.cpp
+rock_LDADD = librock.a
+unit_test_fqreader_SOURCES = unit_test_fqreader.cpp
+unit_test_fqreader_LDADD = librock.a
+unit_test_read_utils_SOURCES = unit_test_read_utils.cpp
+unit_test_read_utils_LDADD = librock.a
+unit_test_cms_SOURCES = unit_test_cms.cpp
+unit_test_cms_LDADD = librock.a
+unit_test_fqwriter_SOURCES = unit_test_fqwriter.cpp
+unit_test_fqwriter_LDADD = librock.a
+unit_test_main_utils_SOURCES = unit_test_main_utils.cpp
+unit_test_main_utils_LDADD = librock.a
+librock_a_SOURCES = $(SRC)
+SRC = fqreader.cpp FqBaseBackend.cpp FqAuxBackend.cpp FqMainBackend.cpp read_utils.cpp ReadProcessor.cpp fqwriter.cpp main_utils.cpp ROCKparams.cpp unit_tests_tools.cpp
+HDR = srp.h fqreader.h FqConstants.h FqBaseBackend.h FqAuxBackend.h FqMainBackend.h ReadProcessor.h rock_commons.h read_utils.h CountMinSketch.hpp Filter.hpp fqwriter.h main_utils.h ROCKparams.h unit_tests_tools.h
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+librock.a: $(librock_a_OBJECTS) $(librock_a_DEPENDENCIES) $(EXTRA_librock_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f librock.a
+	$(AM_V_AR)$(librock_a_AR) librock.a $(librock_a_OBJECTS) $(librock_a_LIBADD)
+	$(AM_V_at)$(RANLIB) librock.a
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+clean-noinstPROGRAMS:
+	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+
+rock$(EXEEXT): $(rock_OBJECTS) $(rock_DEPENDENCIES) $(EXTRA_rock_DEPENDENCIES) 
+	@rm -f rock$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(rock_OBJECTS) $(rock_LDADD) $(LIBS)
+
+unit_test_cms$(EXEEXT): $(unit_test_cms_OBJECTS) $(unit_test_cms_DEPENDENCIES) $(EXTRA_unit_test_cms_DEPENDENCIES) 
+	@rm -f unit_test_cms$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(unit_test_cms_OBJECTS) $(unit_test_cms_LDADD) $(LIBS)
+
+unit_test_fqreader$(EXEEXT): $(unit_test_fqreader_OBJECTS) $(unit_test_fqreader_DEPENDENCIES) $(EXTRA_unit_test_fqreader_DEPENDENCIES) 
+	@rm -f unit_test_fqreader$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(unit_test_fqreader_OBJECTS) $(unit_test_fqreader_LDADD) $(LIBS)
+
+unit_test_fqwriter$(EXEEXT): $(unit_test_fqwriter_OBJECTS) $(unit_test_fqwriter_DEPENDENCIES) $(EXTRA_unit_test_fqwriter_DEPENDENCIES) 
+	@rm -f unit_test_fqwriter$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(unit_test_fqwriter_OBJECTS) $(unit_test_fqwriter_LDADD) $(LIBS)
+
+unit_test_main_utils$(EXEEXT): $(unit_test_main_utils_OBJECTS) $(unit_test_main_utils_DEPENDENCIES) $(EXTRA_unit_test_main_utils_DEPENDENCIES) 
+	@rm -f unit_test_main_utils$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(unit_test_main_utils_OBJECTS) $(unit_test_main_utils_LDADD) $(LIBS)
+
+unit_test_read_utils$(EXEEXT): $(unit_test_read_utils_OBJECTS) $(unit_test_read_utils_DEPENDENCIES) $(EXTRA_unit_test_read_utils_DEPENDENCIES) 
+	@rm -f unit_test_read_utils$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(unit_test_read_utils_OBJECTS) $(unit_test_read_utils_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FqAuxBackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FqBaseBackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FqMainBackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ROCKparams.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReadProcessor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fqreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fqwriter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_test_cms.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_test_fqreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_test_fqwriter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_test_main_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_test_read_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_tests_tools.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+	clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+	clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+	clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+	distclean-compile distclean-generic distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binPROGRAMS install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/ROCKparams.cpp b/src/ROCKparams.cpp
index a863b2ee2481f73ee0ac5396913f9fac0e08b092..65f5c8db998c48d75049314240c65cbaf9a035e5 100644
--- a/src/ROCKparams.cpp
+++ b/src/ROCKparams.cpp
@@ -4,14 +4,19 @@
  *  Created on: Jul 25, 2016
  *      Author: vlegrand
  */
+#include <limits.h>
+#include <stdlib.h>
 #include <iostream>
 #include <fstream>
 #include <string>
 #include <vector>
 #include <cmath>
+#include "FqConstants.h"
 #include "ROCKparams.h"
 using namespace std;
 
+const int ROCKparams::output_ext;
+const int ROCKparams::undef_ext;
 
 void ROCKparams::computeLambda() {
     unsigned long tmp=parms.filter_size;
@@ -20,6 +25,10 @@ void ROCKparams::computeLambda() {
     if (parms.kappa>get_mask<unsigned char>::value) parms.lambda=parms.lambda/sizeof(unsigned short);
 }
 
+int ROCKparams::getfilterPEMode() {
+    return parms.filter_PE_separately;
+}
+
 
 void ROCKparams::processMainArgs(int optind, const int argc, char ** argv,std::vector<string>& v_input_lines) {
             if (optind==argc) return; // no arguments
@@ -66,13 +75,21 @@ void ROCKparams::optArgConsistency(const string& input_file,const string& output
         cout<<"ERROR lower filter is higher than high filter!"<<endl;
         exit(EXIT_FAILURE);
     }
+    if (qual_thres.nucl_score_threshold<0) {
+        cout<<"ERROR nucleotide score threshold must be positive."<<endl;
+        exit(EXIT_FAILURE);
+    }
 
+    if (qual_thres.min_correct_k_mers_in_read<1) {
+        cout<<"minimum number of correct k-mers in read must be a positive integer."<<endl;
+        exit(EXIT_FAILURE);
+    }
     if (parms.lambda==0) {
         // This happens when the user doesn't specify lambda nor g nor nb_k_mers.
         computeLambda();
         parms.lambda=min(parms.lambda,proposedLambda);
         if (parms.lambda==0) {
-            cout<<"Not enough RAM on the machine. TotalRAM -1GB must be bigger than INT_MAX to allow at least 1 array in the CMS."<<endl;
+            cout<<"Not enough RAM on the machine. Total RAM in GB must be bigger than INT_MAX to allow at least 1 array in the CMS."<<endl;
             exit(EXIT_FAILURE);
         }
     }
@@ -137,10 +154,29 @@ void ROCKparams::removePathfromFName(string& FName) {
     }
 }
 
-void ROCKparams::changeExtension(string& FName) { // changes .fq into .rock.fq or adds .rock.fq
+void ROCKparams::changeExtension(string& FName,const int& extension_type) { // changes .fq into .rock.fq or adds .rock.fq
     std::size_t o_found = FName.find_last_of(k_ext);
-    if (o_found!=std::string::npos) FName.replace(o_found,1,".rock.");
-    else FName.append(".rock.fq");
+    if (extension_type==ROCKparams::output_ext) {
+        if (o_found!=std::string::npos) FName.replace(o_found,1,".rock.");
+        else FName.append(".rock.fq");
+    }
+    else {
+        if (o_found!=std::string::npos) FName.replace(o_found,1,".undefined.");
+        else FName.append(".undefined.fq");
+    }
+}
+
+string ROCKparams::genUndefFilename(const string& fname,const string& dname) {
+    string undef_filename="";
+    string new_name=fname;
+    removePathfromFName(new_name);
+    if (dname.compare(".")!=0) {
+      undef_filename=dname;
+      undef_filename.append("/");
+    }
+    changeExtension(new_name,ROCKparams::undef_ext);
+    undef_filename.append(new_name);
+    return undef_filename;
 }
 
 void ROCKparams::genOutFilenames(const std::vector<string>& v_input_lines,std::vector<string>& v_output_lines) {
@@ -153,8 +189,8 @@ void ROCKparams::genOutFilenames(const std::vector<string>& v_input_lines,std::v
             removePathfromFName(i_name_PE1);
             string i_name_PE2=(*it_in).substr(i_found+1);
             removePathfromFName(i_name_PE2);
-            changeExtension(i_name_PE1);
-            changeExtension(i_name_PE2);
+            changeExtension(i_name_PE1,ROCKparams::output_ext);
+            changeExtension(i_name_PE2,ROCKparams::output_ext);
             o_line=i_name_PE1;
             o_line+=k_sep_pair_end;
             o_line.append(i_name_PE2);
@@ -162,7 +198,7 @@ void ROCKparams::genOutFilenames(const std::vector<string>& v_input_lines,std::v
         } else {
             o_line=*it_in;
             removePathfromFName(o_line);
-            changeExtension(o_line);
+            changeExtension(o_line,ROCKparams::output_ext);
         }
         v_output_lines.push_back(o_line);
     }
@@ -194,15 +230,17 @@ int ROCKparams::processInOutFileArgs(const std::vector<string>& v_input_lines,st
                     return EXIT_FAILURE;
                 }
                 string o_name_PE1=(*it_out).substr(0,o_found);
-                checkDirExists(o_name_PE1);
+                string o_dir_PE1=checkDirExists(o_name_PE1);
                 string o_name_PE2=(*it_out).substr(o_found+1);
+                string o_dir_PE2=checkDirExists(o_name_PE2);
                 //cout<<o_name_PE2<<endl;
-                checkDirExists(o_name_PE2);
                 PE_files pe;
                 pe.PE1.in_fq_file=i_name_PE1;
                 pe.PE1.out_fq_file=o_name_PE1;
+                pe.PE1.undef_fq_file=genUndefFilename(i_name_PE1,o_dir_PE1);
                 pe.PE2.in_fq_file=i_name_PE2;
                 pe.PE2.out_fq_file=o_name_PE2;
+                pe.PE2.undef_fq_file=genUndefFilename(i_name_PE2,o_dir_PE2);
                 v_PE_files.push_back(pe);
 
             } else {
@@ -210,7 +248,8 @@ int ROCKparams::processInOutFileArgs(const std::vector<string>& v_input_lines,st
                 f_id+=1;
                 IO_fq_files p;
                 p.in_fq_file=*it_in;
-                checkDirExists(*it_out);
+                string o_dir_single=checkDirExists(*it_out);
+                p.undef_fq_file=genUndefFilename(*it_in,o_dir_single);
                 p.out_fq_file=*it_out;
                 single_files.push_back(p);
             }
@@ -226,62 +265,109 @@ int ROCKparams::processInOutFileArgs(const std::vector<string>& v_input_lines,st
 }
 
 void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) {
-        int i;
-        std::vector<string> v_input_lines;
-        std::vector<string> v_output_lines;
+    int i,q,m;
+    std::vector<string> v_input_lines;
+    std::vector<string> v_output_lines;
+    static int PE_separately=1;
+/*
+    static struct option long_options[] =
+    {
+        {"separate_PE", no_argument, &PE_as_single,0},
+        {0,0,0,0}
+    };*/
 
-        while((i = getopt(argc, argv, "i:o:l:k:c:C:g:n:vq:")) != -1) {
-          //printf("found option: %c\n",i);
-            switch(i) {
-                case 'i':
-                    input_file=optarg;break;
-                case 'c':
-                    parms.kappa_prime=atoi(optarg);break;
-                case 'h':
-                    usage(EXIT_SUCCESS); break;
-                case 'o':
-                    output_file=optarg; break;
-                case 'C':
-                    parms.kappa=atoi(optarg);
-                    if (parms.kappa<=0 || parms.kappa>get_mask<unsigned short>::value) {
-                        cout<<"Bad value for kappa. Must choose kappa so that 0<kappa<="<<get_mask<unsigned short>::value<<endl;
-                        usage(EXIT_FAILURE);
-                    }
-                    break;
-                case 'l':
-                    parms.lambda = atoi(optarg);
-                    if (parms.lambda<=0) {
-                        cout<<"Bad value for lambda. Choose a value that is >0 or let ROCK choose for you."<<endl;
-                        usage(EXIT_FAILURE);
-                    }
-                    break;
-                case 'k':
-                    k=atoi(optarg);
-                    if (k<=0 || k>32) {
-                        cout<<"Bad value for k. Must choose k so that 0<k<=32."<<endl;
-                        usage(EXIT_FAILURE);
-                    }
-                    break;
-                case 'n':
-                    nb_k_mers=atoi(optarg);break; // number of distinct k-mers
-                case 'g':
-                    // cout<<optarg<<endl;
-                    g=atoi(optarg);
-                    break;
-                case 'v':
-                    verbose_mode=1;
-                    break;
-                case 'q':
-                    parms.nucl_score_threshold=atoi(optarg);
-                    break;
-                default:
-                    usage(EXIT_FAILURE); break; }
-            }
-            processMainArgs(optind, argc, argv,v_input_lines);
-            optArgConsistency(input_file,output_file,g,parms,nb_k_mers,v_input_lines);
-            if (nb_k_mers) {
-                expected_collision_proba=getCollisionProba(nb_k_mers,parms.lambda);
-            }
-            if ((v_input_lines.empty() || v_output_lines.empty()) && (loadInOutFileArgs(input_file,output_file,v_input_lines,v_output_lines)==EXIT_FAILURE)) throw EXIT_FAILURE;
-            if (processInOutFileArgs(v_input_lines,v_output_lines,single_files,v_PE_files,f_id)!=EXIT_SUCCESS) throw EXIT_FAILURE;
-        }
+    //int option_index=0;
+
+    // while((i = getopt_long(argc, argv, "i:o:l:k:c:C:g:n:vq:m:",long_options,&option_index)) != -1) {
+    while((i = getopt(argc, argv, "i:o:l:k:c:C:g:n:vq:m:p:")) != -1) {
+        switch(i) {
+            case 0:
+                break;
+            case 'i':
+                input_file=optarg;break;
+            case 'c':
+                parms.kappa_prime=atoi(optarg);break;
+            case 'h':
+                usage(EXIT_SUCCESS); break;
+            case 'o':
+                output_file=optarg; break;
+            case 'C':
+                parms.kappa=atoi(optarg);
+                if (parms.kappa<=0 || parms.kappa>get_mask<unsigned short>::value) {
+                    cout<<"Bad value for kappa. Must choose kappa so that 0<kappa<="<<get_mask<unsigned short>::value<<endl;
+                    usage(EXIT_FAILURE);
+                }
+                break;
+            case 'l':
+                parms.lambda = atoi(optarg);
+                if (parms.lambda<=0) {
+                    cout<<"Bad value for lambda. Choose a value that is >0 or let ROCK choose for you."<<endl;
+                    usage(EXIT_FAILURE);
+                }
+                break;
+            case 'k':
+                k=atoi(optarg);
+                if (k<=0 || k>32) {
+                    cout<<"Bad value for k. Must choose k so that 0<k<=32."<<endl;
+                    usage(EXIT_FAILURE);
+                }
+                break;
+            case 'n':
+                nb_k_mers=atoi(optarg);break; // number of distinct k-mers
+            case 'g':
+                // cout<<optarg<<endl;
+                g=atoi(optarg);
+                break;
+            case 'v':
+                verbose_mode=1;
+                break;
+            case 'p':
+                if (strlen(optarg)>1) {
+                    cout<<"value for -p option must be 0, 1 or 2";
+                    usage(EXIT_FAILURE);
+                }
+                PE_separately=atoi(optarg);
+                if (PE_separately<0 or PE_separately>2) {
+                    cout<<"value for -p option must be 0, 1 or 2";
+                    usage(EXIT_FAILURE);
+                }
+                break;
+            case 'q':
+                q=atoi(optarg);
+                if (q<0) {
+                    cout<<"q must be >=0"<<endl;
+                    usage(EXIT_FAILURE);
+                }
+                qual_thres.nucl_score_threshold=atoi(optarg)+k_phred_32;
+                break;
+            case 'm':
+                m=atoi(optarg);
+                if (m<1) {
+                    cout<<"minimum number of valid k-mer for keeping a read must be an integer >=1"<<endl;
+                    usage(EXIT_FAILURE);
+                }
+
+                qual_thres.min_correct_k_mers_in_read=atoi(optarg);
+                break;
+            default:
+                usage(EXIT_FAILURE); break; }
+    }
+    /*if (!PE_as_single && qual_thres.min_correct_k_mers_in_read!=1) {
+        cout<<"Incompatible options: when PE are processed independently, minimum number of correct k-mers in each end is 1."<<endl;
+        usage(EXIT_FAILURE);
+    }*/
+    parms.filter_PE_separately=PE_separately;
+    //cout<<PE_as_single<<endl;
+    processMainArgs(optind, argc, argv,v_input_lines);
+    optArgConsistency(input_file,output_file,g,parms,nb_k_mers,v_input_lines);
+    if (nb_k_mers) {
+        expected_collision_proba=getCollisionProba(nb_k_mers,parms.lambda);
+    }
+    if ((v_input_lines.empty() || v_output_lines.empty()) && (loadInOutFileArgs(input_file,output_file,v_input_lines,v_output_lines)==EXIT_FAILURE)) throw EXIT_FAILURE;
+    if (processInOutFileArgs(v_input_lines,v_output_lines,single_files,v_PE_files,f_id)!=EXIT_SUCCESS) throw EXIT_FAILURE;
+}
+
+FasqQualThreshold ROCKparams::getQualThreshold() {
+    qual_thres.k=k;
+    return qual_thres;
+}
diff --git a/src/ROCKparams.h b/src/ROCKparams.h
index 5aea5c9ac1a6f940a814bc11a1a4684415c3d5fa..f726a9f895513849b501bf3afee5e6ecf6e5dc94 100644
--- a/src/ROCKparams.h
+++ b/src/ROCKparams.h
@@ -13,6 +13,8 @@
 #include <string>
 #include <vector>
 #include <getopt.h>
+#include <iostream>
+#include "FqConstants.h"
 #include "CountMinSketch.hpp"
 #include "main_utils.h"
 
@@ -23,17 +25,29 @@
 
 #define proposedLambda 4
 
+
+
+typedef struct {
+    int nucl_score_threshold;
+    int min_correct_k_mers_in_read;
+    int k;
+}FasqQualThreshold;
+
+
 using namespace std;
 
 
 class ROCKparams{
+    static const int output_ext=1;
+    static const int undef_ext=2;
+
     CMSparams parms;
+    FasqQualThreshold qual_thres;
     int g; // max RAM to use for the CMS if specified by the user.
     int nb_k_mers; // expected number of k-mers in input data if specified by the user.
     int k; // size of the k-mers
     int verbose_mode;
     std::string input_file,output_file;
-    //int nucl_score_threshold;
 
     std::vector<IO_fq_files> single_files;
     vector<PE_files> v_PE_files;
@@ -47,7 +61,8 @@ class ROCKparams{
     int loadInOutFileArgs(const std::string& input_file,const std::string& output_file,std::vector<string>& v_input_lines,std::vector<string>& v_output_lines);
     int loadFileArgs(const std::string& afile,std::vector<string>& v_lines);
     void removePathfromFName(string& FName);
-    void changeExtension(string& FName);
+    void changeExtension(string& FName,const int &);
+    string genUndefFilename(const string& ,const string&);
     void genOutFilenames(const std::vector<string>& v_input_lines,std::vector<string>& v_output_lines);
     int processInOutFileArgs(const std::vector<string>& v_input_lines,std::vector<string>& v_output_lines,std::vector<IO_fq_files>& single_files,vector<PE_files>& v_PE_files,int& f_id);
 
@@ -63,18 +78,25 @@ class ROCKparams{
 
 public:
 
+    FasqQualThreshold getQualThreshold();
+    int getfilterPEMode();
+
     ROCKparams() {
         f_id=0; // to generate id of input/output fastq files. +1=total number of files.
         g=0;
         k=30;
         nb_k_mers=0;
-        parms.kappa=50;
-        parms.kappa_prime=0;
+        parms.kappa=70;
+        parms.kappa_prime=5;
         parms.lambda=0;
+        parms.filter_PE_separately=1;
+        qual_thres.min_correct_k_mers_in_read=1;
+        qual_thres.nucl_score_threshold=10+k_phred_32;
+        qual_thres.k=k;
         verbose_mode=0;
         cms_size=0;
         expected_collision_proba=0.0;
-        //nucl_score_threshold=0;
+        //min_correct_k_mers_in_read=0;
         parms.filter_size=getNodePhysMemory()/100.0*90-defaultGRPMAXSize; // Prefer not to use all the machine's memory
         if (parms.filter_size==0) throw EXIT_FAILURE;
     }
@@ -87,6 +109,11 @@ public:
         return parms;
     }
 
+    FasqQualThreshold getQualThresholds() {
+        return qual_thres;
+    }
+
+
     int get_f_id() {
         return f_id;
     }
diff --git a/src/ReadProcessor.cpp b/src/ReadProcessor.cpp
index 85f761b2f95da1767d917f9465e3cf26470b2094..0ecaed4e5ee8e1b2140b399ac2513b3424919ee4 100644
--- a/src/ReadProcessor.cpp
+++ b/src/ReadProcessor.cpp
@@ -8,22 +8,7 @@
 #include <stdlib.h>
 #include "ReadProcessor.h"
 
-/*
-inline void ReadProcessor::init_nucleo_rev_cpl () {
-    nucleo_rev_cpl['A']='T';
-    nucleo_rev_cpl['T']='A';
-    nucleo_rev_cpl['C']='G';
-    nucleo_rev_cpl['G']='C';
-    nucleo_rev_cpl['N']='N';
-}*/
-
 
-/*
-inline void ReadProcessor::init_mask(int k) {
-    int nb_bits=2*k;
-    mask_kMer=pow(2,nb_bits);
-    mask_kMer=mask_kMer-1;
-}*/
 
 unsigned long ReadProcessor::nucleoToNumberWrap(char s) {
     if (s=='N') n=k;
@@ -31,34 +16,7 @@ unsigned long ReadProcessor::nucleoToNumberWrap(char s) {
     return nucleoToNumber(s);
 }
 
-/*
-inline unsigned long ReadProcessor::nucleoToNumber(char s) {
-    unsigned long nbr;
-    switch(s)
-    {
-        case 'A':
-            nbr=0;
-            break;
-        case 'C':
-            nbr=1;
-            break;
-        case 'G':
-            nbr=2;
-            break;
-        case 'T':
-            nbr=3;
-            break;
-        case 'N':
-            nbr=0;
-            // n=2*k; // do that because n will also be decremented for reverse complement
-            break;
-        default:
-            throw -1; // TODO Benchmark this inside try catch statement to see if try catch+exception really costs so long.
-                      // throw an integer for the moment. An exception object may not be the most optimal choice in terms of performance.
-    }
-    // n--;
-    return nbr;
-}*/
+
 #include <iostream>
 
 unsigned long ReadProcessor::kMerToNumber(char * k_m,unsigned long * p_prev) {
@@ -67,12 +25,17 @@ unsigned long ReadProcessor::kMerToNumber(char * k_m,unsigned long * p_prev) {
     if (p_prev==NULL) { // first k_mer conversion
         int i;
         for (i=0;i<k;i++) {
-            //std::cout<<k_m[i];
-            c=nucleoToNumberWrap(k_m[i]); // do not catch exception for the moment (not until I have checked it doesn't slow down execution). If nucleoToNumber returns -1, program will simply crash
+            /*try {
+                c=nucleoToNumberWrap(k_m[i]); // do not catch exception for the moment (not until I have checked it doesn't slow down execution). If nucleoToNumber returns -1, program will simply crash
+            }
+            catch (int e) {
+                std::cout<<"couldn't convert nucleotide: "<<k_m[i]<<"to number.\n";
+                exit(-1);
+            } */ // this slightly decreases the performances
+            c=nucleoToNumberWrap(k_m[i]); // do not catch exception for the moment. If nucleoToNumber throws -1 and there is no catch clause for it, the terminate() function will be called automatically. Anyway, there's not munch we can do if it returns -1.
             nbr=nbr<<2;
             nbr=nbr|c;
         }
-        //std::cout<<std::endl;
     } else {
         nbr=*p_prev;
         c=nucleoToNumberWrap(k_m[k-1]);
@@ -83,15 +46,7 @@ unsigned long ReadProcessor::kMerToNumber(char * k_m,unsigned long * p_prev) {
     return nbr;
 }
 
-/*
-inline unsigned long ReadProcessor::nucleoToNumberReverse(char s,int i) {
-    unsigned long nbr=0;
-    char cpl=nucleo_rev_cpl[s];
-    nbr=nucleoToNumber(cpl);
-    nbr=nbr<<2*(i-1);
-    return nbr;
-}*/
-
+// Tried to inline this but it is sligntly slower. Put it back not inline.
 unsigned long ReadProcessor::kMerToNumberReverse(char * k_m,unsigned long * p_prev) {
     unsigned long nbr=0;
     unsigned long c;
@@ -99,7 +54,6 @@ unsigned long ReadProcessor::kMerToNumberReverse(char * k_m,unsigned long * p_pr
         int i;
         for (i=k;i>0;i--) {
             c=nucleoToNumberReverse(k_m[i-1],i);
-            // nbr=nbr>>2;
             nbr=nbr|c;
         }
     } else {
diff --git a/src/ReadProcessor.h b/src/ReadProcessor.h
index be4d4def03ee41cbdf7d23af05bdc9284b53be6a..ab39c6cfd526d15e5e261fef86d3158e6e43d805 100644
--- a/src/ReadProcessor.h
+++ b/src/ReadProcessor.h
@@ -8,11 +8,10 @@
 #include <vector>
 #include <math.h>
 
-//#define DEBUG
-#ifdef DEBUG
+
 #include <iostream>
 using namespace std;
-#endif
+
 
 class ReadProcessor {
 
@@ -58,11 +57,8 @@ class ReadProcessor {
                 nbr=0;
                 break;
             default:
-#ifdef DEBUG
-cout<<"found unexpected character in DNA string: "<<s<<endl;
-#endif
-                throw -1; // TODO Benchmark this inside try catch statement to see if try catch+exception really costs so long.
-                          // throw an integer for the moment. An exception object may not be the most optimal choice in terms of performance.
+                cout<<"found unexpected character in DNA string: "<<s<<endl;
+                throw -1;
         }
         return nbr;
     }
@@ -87,6 +83,8 @@ public:
         this->k=k;
         init_mask(k);
     }
+
+    // Do not inline this; it is slightly slower.    
     unsigned long kMerToNumberReverse(char * k_m,unsigned long * p_prev);
 
 
diff --git a/src/fqreader.cpp b/src/fqreader.cpp
index 0cd758e782b6b1615244bf39b85d11ef238957ab..d918e68fbfa4b385775db92a8f358168a3a557fe 100644
--- a/src/fqreader.cpp
+++ b/src/fqreader.cpp
@@ -20,7 +20,8 @@
 
 
 
-
+FasqQualThreshold FqBaseBackend::qual_thres;
+int FqMainBackend::treat_PE_separately;
 
 /*
  * Processes 1 file containing single reads.
@@ -33,9 +34,15 @@ void processSingleFile(char * fq_s,unsigned char f_id, srp* io_sr) {
 
 /* Processes 1 pair of files containing PE reads.
  * Used for unit testing only.*/
-void processPEFiles(char * fq_1, unsigned char f_id1,char * fq_2, unsigned char f_id2,srp * io_sr ) {
+void processPEFiles(char * fq_1, unsigned char f_id1,char * fq_2, unsigned char f_id2,srp * io_sr ,char * fq_1_test_undef,char * fq_2_test_undef, size_t test_bufsize) {
     FqAuxBackend be_fq2;
     FqMainBackend be_fq1(io_sr);
+    if (test_bufsize) {
+        be_fq2.setTestMode(test_bufsize);
+        be_fq1.setTestMode(test_bufsize);
+    }
+    if (fq_1_test_undef!=NULL) be_fq1.setUndefFile(fq_1_test_undef);
+    if (fq_2_test_undef!=NULL) be_fq2.setUndefFile(fq_2_test_undef);
 
     be_fq2.openFile(fq_2,f_id2);
     be_fq1.setAuxProcessor(&be_fq2);
@@ -43,16 +50,20 @@ void processPEFiles(char * fq_1, unsigned char f_id1,char * fq_2, unsigned char
     be_fq2.closeFile();
 }
 
+
 /*
  * Processes a list of single files and a list of PE files and returns an plain old C array containing
  * pointers to Fqbackend objects.
  * This function ALLOCATES MEMORY with new.
  */
-void processInputFiles(const std::vector<IO_fq_files>& single_files,const vector<PE_files>& v_PE_files,FqBaseBackend * array_be[],srp* io_sr) {
+void processInputFiles(const std::vector<IO_fq_files>& single_files,const vector<PE_files>& v_PE_files,FqBaseBackend * array_be[],const FasqQualThreshold& a_qual_thres, srp* io_sr,const int& PE_process_mode) {
     unsigned char f_id=1;
+    FqBaseBackend::setQualThreshold(a_qual_thres);
+    FqMainBackend::setTreatPEMode(PE_process_mode);
     std::vector<IO_fq_files>::const_iterator it_single;
     for (it_single=single_files.begin();it_single!=single_files.end();it_single++) {
         FqMainBackend * be_fq=new FqMainBackend(io_sr);
+        be_fq->setUndefFile((char *) it_single->undef_fq_file.c_str());
         be_fq->processFile((char *) it_single->in_fq_file.c_str(),f_id);
         be_fq->setOutputFile((char *) it_single->out_fq_file.c_str());
         array_be[f_id-1]=be_fq;
@@ -64,9 +75,12 @@ void processInputFiles(const std::vector<IO_fq_files>& single_files,const vector
         unsigned char f_id1=f_id;
         f_id++;
         FqAuxBackend * be_fq2=new FqAuxBackend();
+        be_fq2->setUndefFile((char *) it_pe->PE2.undef_fq_file.c_str());
         be_fq2->openFile((char *) (it_pe->PE2.in_fq_file).c_str(),(unsigned char) f_id);
         be_fq2->setOutputFile((char *) (it_pe->PE2.out_fq_file).c_str());
         be_fq1->setAuxProcessor(be_fq2);
+
+        be_fq1->setUndefFile((char *) it_pe->PE1.undef_fq_file.c_str());
         be_fq1->processFile((char *) (it_pe->PE1.in_fq_file).c_str(),f_id-1);
         be_fq1->setOutputFile((char *) (it_pe->PE1.out_fq_file).c_str());
         be_fq2->closeFile();
diff --git a/src/fqreader.h b/src/fqreader.h
index 1247137b3cce71996213fd197422da7d0b08f900..17ce828ee3a317be0c6688c298d10834e5e39c44 100644
--- a/src/fqreader.h
+++ b/src/fqreader.h
@@ -18,6 +18,6 @@ using namespace std;
 
 
 void processSingleFile(char *, unsigned char, srp*);
-void processPEFiles(char * fq_1, unsigned char f_id1,char * gq_2, unsigned char f_id2,srp *io_sr );
-void processInputFiles(const std::vector<IO_fq_files>& ,const vector<PE_files>& ,FqBaseBackend * [], srp* );
+void processPEFiles(char * fq_1, unsigned char f_id1,char * gq_2, unsigned char f_id2,srp *io_sr,char * fq_1_test_undef=NULL,char * fq_2_test_undef=NULL,size_t test_bufsize=0);
+void processInputFiles(const std::vector<IO_fq_files>& ,const vector<PE_files>& ,FqBaseBackend * [], const FasqQualThreshold&,srp*,const int& PE_process_mode);
 #endif
diff --git a/src/klebsiella_100_1.rock.fq b/src/klebsiella_100_1.rock.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/klebsiella_100_1.undefined.fq b/src/klebsiella_100_1.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/klebsiella_100_2.rock.fq b/src/klebsiella_100_2.rock.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/klebsiella_100_2.undefined.fq b/src/klebsiella_100_2.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/klebsiella_5_1_bad_scores.rock.fq b/src/klebsiella_5_1_bad_scores.rock.fq
new file mode 100644
index 0000000000000000000000000000000000000000..51b4676ba67418f4220e999811b132c201450f65
--- /dev/null
+++ b/src/klebsiella_5_1_bad_scores.rock.fq
@@ -0,0 +1,4 @@
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
diff --git a/src/klebsiella_5_1_bad_scores.undefined.fq b/src/klebsiella_5_1_bad_scores.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..60075a53924ae19c851dfc2823035e3e35639afe
--- /dev/null
+++ b/src/klebsiella_5_1_bad_scores.undefined.fq
@@ -0,0 +1,8 @@
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CAFGFDA1GAEG2FGFAFFCEFGCA/GFD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/src/klebsiella_5_2_bad_scores.rock.fq b/src/klebsiella_5_2_bad_scores.rock.fq
new file mode 100644
index 0000000000000000000000000000000000000000..5903344514a31043fea187f3fb6e90ba31a530e1
--- /dev/null
+++ b/src/klebsiella_5_2_bad_scores.rock.fq
@@ -0,0 +1,4 @@
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
diff --git a/src/klebsiella_5_2_bad_scores.undefined.fq b/src/klebsiella_5_2_bad_scores.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..cb7725352dce7e076aa9febd82bcc9ebd1407e04
--- /dev/null
+++ b/src/klebsiella_5_2_bad_scores.undefined.fq
@@ -0,0 +1,8 @@
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
diff --git a/src/main_utils.cpp b/src/main_utils.cpp
index dc1ba44e4f854658141f2ed8bf5dd009590cfdb7..d5da68ad0197fba66b79332d1f9f1fa44c7d087a 100644
--- a/src/main_utils.cpp
+++ b/src/main_utils.cpp
@@ -6,9 +6,11 @@
  */
 #include <stdint.h>
 #include <unistd.h>
+#include <stdlib.h>
 #include <sys/types.h>
 #include <sys/sysctl.h>
 #include <sys/stat.h>
+#include <limits.h>
 #include <string.h>
 #include <iostream>
 #include <fstream>
@@ -48,10 +50,11 @@ unsigned long getNodePhysMemory() {
  * Given a filename (including full path), determine if parent directory exists.
  * If is doesn't, display error message and exit.
  */
-void checkDirExists(const string o_file) {
+std::string checkDirExists(const string o_file) {
+    string parent_dir=".";
     std::size_t o_found = o_file.find_last_of("/");
     if (o_found!=string::npos) {
-        string parent_dir=o_file.substr(0,o_found);
+        parent_dir=o_file.substr(0,o_found);
         // cout<<parent_dir<<endl;
         struct stat info;
         if (stat(parent_dir.c_str(),&info)!=0) {
@@ -59,6 +62,7 @@ void checkDirExists(const string o_file) {
             exit(EXIT_FAILURE);
         }
     }
+    return parent_dir;
 }
 
 
@@ -108,11 +112,14 @@ void usage(int status) {
   cout<<"    -o <file>      .... file name containing the list of the output FASTQ file names."<<endl;
   cout<<"    -h             .... Print this message and exit."<<endl;
   cout<<"    -k <int>       .... k-mer size. (default 30)."<<endl;
-  cout<<"    -c <int>       .... lower coverage threshold (default: 0)."<<endl;
-  cout<<"    -C <int>       .... upper coverage threshold (default: 50; max: 65535)."<<endl;
+  cout<<"    -c <int>       .... lower coverage threshold (default: 5)."<<endl;
+  cout<<"    -C <int>       .... upper coverage threshold (default: 70; max: 65535)."<<endl;
   cout<<"    -l <int>       .... size of the count min sketch (default: at most 4, depending on the available RAM)"<<endl;
   cout<<"    -n <int>       .... (expected) number of distinct k-mers within the processed reads."<<endl;
   cout<<"    -g <int>       .... maximum RAM to use (in Gb) for the CMS."<<endl;
+  cout<<"    -p <int>       .... treat PE as single, separately with strict -c filter, separately with lenient -c fileter. Default is 1."<<endl;
+  cout<<"    -q <int>       .... minimum quality threshold for nucleotides. Default is 10."<<endl;
+  cout<<"    -m <int>       .... minimum of valid k-mer threshold for reads. Default is 1."<<endl;
   cout<<"    -v             .... verbose"<<endl;
   exit(status); }
 
diff --git a/src/main_utils.h b/src/main_utils.h
index ed50a9cea471b62d7e0f7cc1303248a54778bc8a..080e584c9a2089639c762a9480f4376682c31563 100644
--- a/src/main_utils.h
+++ b/src/main_utils.h
@@ -17,8 +17,11 @@
 #include <vector>
 #include "rock_commons.h"
 
+
+
+
 unsigned long getNodePhysMemory();
-void checkDirExists(const std::string o_file);
+std::string checkDirExists(const std::string o_file);
 /*int loadInOutFileArgs(const std::string& input_file,const std::string& output_file,std::vector<std::string>& v_input_lines,std::vector<std::string>& v_output_lines);
 int processInOutFileArgs(const std::vector<std::string>& v_input_lines,std::vector<std::string>& v_output_lines,std::vector<IO_fq_files>& single_files,std::vector<PE_files>& v_PE_files,int& f_id);*/
 int getBestLambdaForN(const unsigned long& nb_k_mers,int lambda_max);
diff --git a/src/output_files_2_PE_separated.rock.txt b/src/output_files_2_PE_separated.rock.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/output_files_2_PE_separated.undefined.txt b/src/output_files_2_PE_separated.undefined.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/output_validation.txt b/src/output_validation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d6552f3367460147e4bf72e07724a187b151031
--- /dev/null
+++ b/src/output_validation.txt
@@ -0,0 +1 @@
+/Users/vlegrand/projects/rock/validation/filtered_sample.fastq
diff --git a/src/perf_test_fqreader.cpp b/src/perf_test_fqreader.cpp
index d6a8951486b12759b03b40ee8fda9b173f393f6c..1189a3bff273d7ce126105160689dc48e2778d2f 100644
--- a/src/perf_test_fqreader.cpp
+++ b/src/perf_test_fqreader.cpp
@@ -20,7 +20,7 @@ void test_processSingleFile() {
     //printf("MAX_UINT=%u \n",UINT_MAX);
     srp sr;
     unsigned char f_id=1;
-    processSingleFile((char *) "../data_perf_tests/LM_single10x.fq",f_id,&sr);
+    processSingleFile((char *) "../data_perf_tests/LM_R2_10x.fq",f_id,&sr);
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
     k_dim::iterator it_struct;
@@ -99,19 +99,31 @@ void test_processPEFiles() {
 }
 
 void test_processAllFiles() {
-    char * fq_1_test=(char *) "../data_perf_tests/LM_R1_10x.fq";
+    /*char * fq_1_test=(char *) "../data_perf_tests/LM_R1_10x.fq";
+    char * fq_2_test=(char *) "../data_perf_tests/LM_R2_10x.fq";*/
+    
+    /*char * fq_1_test=(char *) "../data_perf_tests/LM_R1_orig.fq";
+    char * fq_2_test=(char *) "../data_perf_tests/LM_R2_orig.fq";*/
+
+/*char * fq_1_test=(char *) "../data_perf_tests/LM_R1_2x.fq";
+    char * fq_2_test=(char *) "../data_perf_tests/LM_R2_2x.fq";*/
+
+char * fq_1_test=(char *) "../data_perf_tests/LM_R1_10x.fq";
     char * fq_2_test=(char *) "../data_perf_tests/LM_R2_10x.fq";
-    char * fq_single=(char *) "../data_perf_tests/LM_single10x.fq";
+
+    //char * fq_single=(char *) "../data_perf_tests/LM_R2_10x.fq";
 
     unsigned char f_id1=1;
     unsigned char f_id2=2;
-    unsigned char f_single=3;
+    // unsigned char f_single=3;
 
     srp sr;
-
+    // size_t max_size = (size_t)-1;
+    // std::cout<<"maximum of size_t is: "<<max_size<<endl;
     processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr);
-    processSingleFile(fq_single,f_single,&sr);
-
+    
+    // processSingleFile(fq_single,f_single,&sr);
+/*
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
     k_dim::iterator it_struct;
@@ -133,7 +145,7 @@ void test_processAllFiles() {
             }
         }
     }
-    cout<<"number of reads: "<<cnt_read;
+    cout<<"number of reads: "<<cnt_read;*/
 }
 
 int main(int argc, char **argv) {
diff --git a/src/read_utils.cpp b/src/read_utils.cpp
index ee39cf0442316d43cc1375fd2403709101e96aaf..f7a40fb65cf956fa31de86f7da70c503b99f3f6a 100644
--- a/src/read_utils.cpp
+++ b/src/read_utils.cpp
@@ -27,16 +27,17 @@ void UpdateReadForScoreThreshold(DnaSeqStr * dna_seq,const int & nucl_qual_score
     char * qual_score_start=dna_seq->fq_record_buf+idx_start_qual_score;
     int idx=0;
     while (idx<dna_seq->length) {
-        if (*(qual_score_start+idx)-k_phred_32<=nucl_qual_score_thres) *(read_data_start+idx)=k_nucl_in_error;
+        if (*(qual_score_start+idx)<=nucl_qual_score_thres) *(read_data_start+idx)=k_nucl_in_error;
         idx++;
     }
 }
 
+
 void getFqRecord(FqBaseBackend* fq_files_be[],const unsigned char& f_id,const unsigned long& offset,
                  char * fq_record) {
     FqBaseBackend * be=fq_files_be[f_id-1];
     try {
-        int fq_rec_size=be->getRead(offset,fq_record);
+        be->getRead(offset,fq_record);
     } catch (int e) {
 #ifdef DEBUG
         cout<<"couldn't retrieve read at offset: "<<offset<<endl;
@@ -78,7 +79,7 @@ void processFqRecord(DnaSeqStr * dna_seq,const int & nucl_qual_score_thres) {
         cnt++;
     }
     // here, change read if there is a threshold for nucleotide quality score.
-    if (nucl_qual_score_thres) UpdateReadForScoreThreshold(dna_seq,nucl_qual_score_thres,idx_start_qual_score);
+    if (nucl_qual_score_thres-k_phred_32) UpdateReadForScoreThreshold(dna_seq,nucl_qual_score_thres,idx_start_qual_score);
 
 #ifdef DEBUG
     assert(nb_l>=2);
@@ -136,15 +137,21 @@ void getDNASeqstr(FqBaseBackend* fq_files_be [],
 
 }
 
-void decomposeReadInKMerNums(ReadProcessor& read_p, readNumericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2]) {
-    int nb_expected_k_mers=a_seqs[0].length+a_seqs[1].length+1;
-    nb_expected_k_mers-=k;
-    nbrKmerDecompo.reserve(nb_expected_k_mers);
+void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,const int& filter_PE_as_single,DnaSeqStr a_seqs[2]) {
+    int nb_expected_k_mers_PE1;
+    int nb_expected_k_mers_PE2=0;
+    nbrKmerDecompo.idx_start_PE2=0;
+    nb_expected_k_mers_PE1=a_seqs[0].length+1-k;
+    if (a_seqs[1].length) nb_expected_k_mers_PE2=a_seqs[1].length+1-k;
+    nbrKmerDecompo.single_or_PE_val.reserve(nb_expected_k_mers_PE1+nb_expected_k_mers_PE2);
+
     char * start_dna_str=a_seqs[0].fq_record_buf+a_seqs[0].start_idx;
-    read_p.getKMerNumbers(start_dna_str,a_seqs[0].length,nbrKmerDecompo);
+    read_p.getKMerNumbers(start_dna_str,a_seqs[0].length,nbrKmerDecompo.single_or_PE_val);
+
     if (a_seqs[1].length) { // case of PE reads
+        if (!filter_PE_as_single) nbrKmerDecompo.idx_start_PE2=nbrKmerDecompo.single_or_PE_val.size();
         start_dna_str=a_seqs[1].fq_record_buf+a_seqs[1].start_idx;
-        read_p.getKMerNumbers(start_dna_str,a_seqs[1].length,nbrKmerDecompo);
+        read_p.getKMerNumbers(start_dna_str,a_seqs[1].length,nbrKmerDecompo.single_or_PE_val);
     }
 }
 
diff --git a/src/read_utils.h b/src/read_utils.h
index 55119f16ecf85b729eec5359a8000fdefec6260c..48c12c0c19d06803139f07423ed1998e096e3766 100644
--- a/src/read_utils.h
+++ b/src/read_utils.h
@@ -11,6 +11,7 @@
 #include "FqConstants.h"
 #include "rock_commons.h"
 #include "ReadProcessor.h"
+#include "FqBaseBackend.h"
 
 #define k_nucl_in_error 'N'
 
@@ -35,7 +36,8 @@ void getDNASeqstr(FqBaseBackend* [],
 
 void init_DnaSeqStr(DnaSeqStr * dna_seq);
 
-void decomposeReadInKMerNums(ReadProcessor& read_p, readNumericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2]);
+void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,const int &,DnaSeqStr a_seqs[2]);
+// void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,int DnaSeqStr a_seqs[2] );
 
 
 #endif /* READ_UTILS_H_ */
diff --git a/src/rock b/src/rock
index cbac45290ff71cfb2d5746b6dff4979924117db5..0e813008a14de1d9c6a298f91678bba4a6e6f788 100755
Binary files a/src/rock and b/src/rock differ
diff --git a/src/rock.cpp b/src/rock.cpp
index 7bd1657d0eb7149d4117244f83a169cb865334b1..240950011f520897265cd176a800475d60feea0e 100644
--- a/src/rock.cpp
+++ b/src/rock.cpp
@@ -33,7 +33,7 @@
 using namespace std;
 
 
-//#define BENCHMARK
+// #define BENCHMARK
 #ifdef BENCHMARK
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -48,7 +48,6 @@ void printRUsage() {
 
 
 
-
 int main(int argc,char * argv[]) {
 #ifdef BENCHMARK
     cout<<"program startup"<<endl;
@@ -59,17 +58,18 @@ int main(int argc,char * argv[]) {
     main_parms.initFromMainOptsArgs(argc,argv);
     int f_id=main_parms.get_f_id();
     CMSparams parms=main_parms.getCMSparams();
+    FasqQualThreshold qual_thres=main_parms.getQualThresholds();
     std::vector<IO_fq_files> single_files=main_parms.get_single_files();
     vector<PE_files> v_PE_files=main_parms.get_PE_files();
 
     FqBaseBackend * map_id_backend[k_max_input_files];
-    Filter the_filter(parms);
+    Filter the_filter(parms,qual_thres);
 
 #ifdef BENCHMARK
     cout<<"processed input args; going to start reading fastq files"<<endl;
     printRUsage();
 #endif
-    processInputFiles(single_files,v_PE_files,map_id_backend,&sr);
+    processInputFiles(single_files,v_PE_files,map_id_backend,main_parms.getQualThreshold(),&sr,main_parms.getfilterPEMode());
 #ifdef BENCHMARK
     cout<<"finished loading fastq file into sr structure"<<endl;
     cout<<"size of srp structure="<<sizeof(sr)<<endl;
diff --git a/src/rock_commons.h b/src/rock_commons.h
index e27fa0587fc459bcde9531e2f28031f357d62ea0..72ecb5aad6d5d63b006a3ab73dc3e7f6a7e1de2e 100644
--- a/src/rock_commons.h
+++ b/src/rock_commons.h
@@ -16,8 +16,7 @@
 
 #include <string>
 #include <vector>
-#include "rock_commons.h"
-#include "FqBaseBackend.h"
+
 
 /*
  * Gather here type and constants definitions that are common to some of the 4 different modules in ROCK
@@ -30,6 +29,7 @@
 typedef struct {
     std::string in_fq_file;
     std::string out_fq_file;
+    std::string undef_fq_file;
 } IO_fq_files;
 
 typedef struct {
@@ -40,6 +40,12 @@ typedef struct {
 
 typedef std::vector<unsigned long> readNumericValues;
 
+typedef struct {
+    readNumericValues single_or_PE_val;
+    int idx_start_PE2; // In he case where PE reads are not treated as single;
+                       // indicate at which index the single_or_PE_val array starts containing values for PE2 k-mers.
+}T_read_numericValues;
+
 
 
 
diff --git a/src/rock_types.h b/src/rock_types.h
new file mode 100644
index 0000000000000000000000000000000000000000..06a79f04123888b714feb1b8e2ad006885fadc40
--- /dev/null
+++ b/src/rock_types.h
@@ -0,0 +1,29 @@
+/*
+ * rock_types2.h
+ *
+ *  Created on: Jan 20, 2016
+ *      Author: vlegrand
+ *      Gather here typedefs and structures useful for the main program and "inter-modules" data exchange.
+ *      I divided rock into 4 "modules":
+ *      1- fqreader (parses fastq and fills 3D array of structures representing all reads).
+ *      2- read-utils (utility functions for DNA reads processing)
+ *      3- CMS (fill and use).
+ *      4- fqwriter (writes fq filtered by CMS).
+ */
+
+#ifndef ROCK_TYPES_H_
+#define ROCK_TYPES_H_
+
+#include <map>
+#include "FqBaseBackend.h"
+
+/*typedef struct {
+    FqBaseBackend& fq_be;
+
+}fq_io;*/
+
+// typedef std::map<unsigned char,FqBaseBackend&> fq_file_map;
+
+#define k_max_input_files 15
+
+#endif /* ROCK_TYPES_H_ */
diff --git a/src/srp.h b/src/srp.h
index f77ff1e7a54b70e24abb00c2f9999369c2cc44d4..a72b48ff03a72de595754dfe6abbed6b10d1695b 100644
--- a/src/srp.h
+++ b/src/srp.h
@@ -28,6 +28,8 @@ typedef struct {
     unsigned int  score; // total quality score for read.
     unsigned long rstart_offset; // read offset in file
     unsigned char f_id; // identifier of the file.
+    int nb_k_mers_in_error;
+    int nb_nucleotides_in_read;
 }rinfo;
 
 typedef std::vector<rpos> k_dim;
diff --git a/src/srp_old.h b/src/srp_old.h
new file mode 100644
index 0000000000000000000000000000000000000000..0f7c0661ff99651435125ae2a3f8e0e458f095ae
--- /dev/null
+++ b/src/srp_old.h
@@ -0,0 +1,30 @@
+/*
+ * srp.h
+ *
+ *  Created on: Dec 8, 2015
+ *      Author: vlegrand
+ *
+ *      SRP stands for score-read position. Indeed, this structure associates a score with a read's position inthe input fq file.
+ */
+
+#ifndef SRP_H_
+#define SRP_H_
+
+typedef struct { /* Here store read offset in file whose id is fileid.*/
+    char fileid;
+    unsigned long read_a1;
+}rpos;
+
+char ** l_files; /* array of filenames; indexed on fileid */
+
+typedef rpos *** srp;
+
+/*
+ * Physically, srp is :
+ *  An array indexed on read total score (Arr1).
+ *  Arr1 contains pointers to other other arrays (Arr2).
+ *  Arr2 is indexed on something that is deduced from offset (read position in a file).
+ *  Arr2 contains pointers to array of rpos structures.
+ */
+
+#endif /* SRP_H_ */
diff --git a/test/old/klebsiella_100_1.fq b/src/tmp/klebsiella_100_1.undefined.fq
similarity index 100%
rename from test/old/klebsiella_100_1.fq
rename to src/tmp/klebsiella_100_1.undefined.fq
index 23132218b01df2925c3a47dbe45cd9f3df2572f6..f363c2686b8c59ae164ba7e70af8b32069ca85dd 100644
--- a/test/old/klebsiella_100_1.fq
+++ b/src/tmp/klebsiella_100_1.undefined.fq
@@ -2,26 +2,114 @@
 GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
 +SRR1222430.1 1 length=251
 CCCCCCCCCBBCGGCGGGGGGGGGGGHHHGHBHHGGGHGGGGGGGGGGGHGHGGGHHHHHHHHHGGGGGHHHFCGGGGHHHGHHGGHHHHGGGGCCGGGGHFFGGGGGHHHHHGGGGGGCGHHHHGGGGGGGGGGGGGGGGGGAEGGFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDFFFFFFFFFFF:DA;CCFFBBFDAFFFAFFFFFFFFA-9A>DFFFFFBFFB
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFABF
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+1AAA1AAA1F>1BGEFG0ACFGBCGHEHCAFGFDA1GAEG2FGFAFFCEFGCA/GFD211DGF01FBGA>////B1000B@>///>E/?/?//F0E//?///>BC10<?B/?12?/??1/11>//<AA.AF0<.<<..C..</...../::G.:--;;.99B000099CF090;/9/09F09/90/9--9-9-B///9/9-;@--/;//-----9/9:FF/9//--9;>---/9/99;//9----9---
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=192
+GAGAAACATCCTGCCAAGCCAAACTTTAAAGCGCCGAGGGATAATGGCGATGGTACCTACATGGTGGAGTTTGAATTCGATGGCCGTCATTACGCCTGGTCTGGTGCCGCCGGTAATCGGGTAGAGGCAATGCAATCTGCCTGGAGTGCCTACTTCAAGTGACAAAAAGGCCACAGGTTATCGCCTGTGGCC
++SRR1222430.6 6 length=192
+BBBBBFFFFFFFGGGGGGCGGGHHFHHHHFHHGGGGGGGGGHHGHFHGGEEGGFHGHGHHHHHHEGGHHHHHHHHHHHGHGHGHHGGGGGHHHGGEHHHHHFHHHHHHGGGGGCGGHHGGCGFGFFHGGHFHHHGHFHHHHHHHHGFFHFGHHHHHHHHHHHHHHHHHGDHHHGEHHHHHGGGGGGGGGGGG
 @SRR1222430.7 7 length=251
 CGCAGCCGGTAGTGGTTTTCGGGAGAGGACAATTTTTTGATATCCGAGATAGGTGAAGCTTTATCATCCATCTTCTCCAGCCTGGATTTAATGCGGCTCTTATACCGAGTATCGATTTTAGAAAATTGCTTATCTTCCGTTTTTGACCAGACAATTTTCATCCGTACCTCCACTGTACGCCCACACAAAATATAAGGAAATAATAAGACTATTAGATAAATTCCGAATTTCTTATGGGGTACTGTAGAGCG
 +SRR1222430.7 7 length=251
 BBBBBDBBBDBBGGGGGGGGGGGGGGGGHHHHHHHHHGGGHHHHHGGGGGHHHHHHGHHHHHHHHHHHHHHHHHHHHGHHHGHHHHHGHHHHGHGGGGGHHHHHGHGGFFHHHGHHHGHHHHHHHHHHHHHHHHHHGHGHHHGGGGHHHHHGGHHHGHHHHHHGGHGGHHHHHHHHGHHGGGGFGGGGFHGGGGGGGGGGGGGGGGGGEFGGGGGGFGGGGGGGGGGGG/BFFFFFBFDDDFFFFFFFF/@
+@SRR1222430.8 8 length=250
+CGCGCGGGTAATTTTCAGCTGTGTCCCCGGACCGGCGACAAACCCCATGCAGTTAATCACGGTGGTGAATCCACGAAACTGATCGGCCAGCGTCTCCATGGCGCTACCGGCGATGTCGACGGCGAGGAAGGTGGCTCCGGCGTCGGCCAGCGCCTGATGGTTTGCCGACCGCAGCTGGCCGGCTTCATCCCAGGCCGCCGGCGAGACGATGACCGAGACCGTGCCCTGGCGCTCGATTACCGCAGGCACC
++SRR1222430.8 8 length=250
+AAABBBBB>ACFGGGGGDGGGGHHGGHHGGGGG0EGEGGGGHGGGGGHHHHHHFHHDHHHEDFGGEGHFHHHHHGGGGGHHHHHCGCFGHGGDFGHHHHHEHGGGFGHGCCGGGGCFHEGGGGG?CGGGGG;FEFGGGFFFFDFCCDD=AEFFFFFFFFFBFFFFFFFFB=DABCFFFFFFFFFFFFFFFFFF.EFFFFCFFFAAAFFFFF/BBB;9@DFCFF?AFFFEFAA9DF-9BDFFDFFAADFFF
 @SRR1222430.9 9 length=250
 CGGTGCGGCAACTGGAGACGCTGGCCGCGACCCGGGTCATGACGGACGGTAAAAGCGAAACGGTGCTGACCGGAAATCTGATTGTGGCGAAATTCAACCACGACACGAACCGTAACCAGGAACCTCAGATACACACCCATGCCGTCGTCATTAACGCCACGCAGAACGGGGACAAGTGGCAGTCTCTTGGCACTGATACAGTCGGGAAAACGGGCTTTATCGAGAATGTGTACGCGAACCAGATAGCCTT
 +SRR1222430.9 9 length=250
 BCCBBBCDEDCDGGGGGGGGGGGGGHGGGGGGGGGGGGHHHHHGGGGGGGHGHHHHGGGGGGGEGGHHHHHGGGGGHHHHHGHHHHGHGGGGHHHHHHHGGGGGGGGGGGGGGHGGHHHGHHHGHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFHFFFFFDFFFFAFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.10 10 length=251
+CGTCTCGCTGACCAGGGCGTTTTTCGCCTGATTGCGCGACATCACCAGCAGGTCGTTGATCATGCTGTCCAGCCGGTGCGCTTCGGTTTCGATACGCTCCAGCTCCTTGCTCTCTCCGCTGCGGCGACGCAGCAGGGCGGTACCCAATTGCAGGCGCGTAAGCGGCGTGCGCAGCTCGTGCGAGATATCGGACAGCAGCCGCTGCTGGCTGGTCATCATCCGCTCCAGGGCCGTCACCATCTGGTTAAAAC
++SRR1222430.10 10 length=251
+BBBBBFFBBBBFGGGGGGGEFGGGHGGGGHHHHHHGGGGGGGHGHHHHHHHH1FEEGHHEHHHHHHHHHHHHGGGGGGGGGGGGGGGGGHGGGHGGGGGGHHHHHHHHHHGHHHHHHGGGGGGGGGGGGGGGGFGEGGGGGGGGGGGFFFFFFFFFFFCFFFFFFFFBCFFFFFFFFDFFFADFFFFFFF;ABFFFFFFFFFFFFFFFFFFFBFFBFFFFFFFFFFFFF??DCFFFDFBFFBFFFFFBFF/
+@SRR1222430.11 11 length=169
+TTTTACTGTCACCTCTTTGACCTATTTTGCTCACCATAGCCTCGAAACAATGATTTACGAATCCCAGCAGGAGACATTATGAACGTTATGCGTACCACCGTCGCAACAGTTGTCGCCGCGACCTTATCGATGAGCGCTTTCTCTGCCTTTGCAGCAGCAAGCCTGACTG
++SRR1222430.11 11 length=169
+ABB?AFFFFFFFGGFGGFGFGGHHHGHGFHHGHHHHHHFHGHHGDGEEHFFHFHHFFHGGGGGFCGGGFGFG1FFHHGHHHHHHEGHGGGHGGEGGGFGGFFGGGGGGHFHHHHEHGGGGCCGFFHHHECFGHHGGGGGGHHHG1FDFGHHHGHHHFCHHBAEGFFHHH
+@SRR1222430.12 12 length=251
+GTCGCTGCTGAAGTTCCGCCGCGAGTTCGATCAATACGTCAACCTGCGCCCGGTGCGCCTGTTCCCCGGCGTCCCCTGCCCGCTGGCGGGTAAAAAGGCCGGCGATATCGATTTTTACGTGGTGCGCGAAAATACCGAAGGCGAATATTCCGCCCTCGGCGGCCGCGCCAATGAAGGCACCGAGCATGAAGTGGTAATTCAGGAGTCGGTCTTCACCCGCCGCGGCGTTGACCGGATCCTGCGCTACGCCT
++SRR1222430.12 12 length=251
+CCCDDDDDFFFFGGGGGGGGGGGGGGGHGHHHGHHHHHHHGGHHHHHGGGGGGGGGGGGGHHHHHHHGGGGGGGGHHGHHHGGGGGGGGG-CHHGHGGHHGGGG?CGGHGGGGGGGEFEBFE9AB?-D?@DABFFFFBF=F?D-CDFFFFFFFFFFFCFF;FAFC;@BDDFFFFFBFEFFFCACFFFFFFF;FFBFFFFFFFFFFFFBF:DDFFFFFFDFF;B=>>@-@-.:FFFD?CF:BB--@BFD=C.
+@SRR1222430.13 13 length=242
+AAGTGGAGATCACCGTCCTGGCCGCGGAAAAACTGTTGGCCAAAGGGGTAAATGTGCGGGTCGTCTCGCTCCCTTCCACTGATGTGTTTGACGCCCAGGATGAGGCCTGGCGCGAATCGGTGCTGCCGTCGGACGTCAGCGCCCGGGTGGCGGTCGAAGCCGGGATAGCGGACTACTGGTATAAATATGTCGGCTTAAAAGGCAAGATCGTCGGCATGACCGGCTATGGCGAATCCGCCCCG
++SRR1222430.13 13 length=242
+BBBABFFBFFFFGGGGGGGGGGHGGCGGGGGHGHHHHHHHHHHHHHGGEEHHHHHHHGGGGGGGGHHHGGHGGHHHHHHHHFGHBGGHHHHGGGGGGGGGHHHHHGFHGHHGGGGCGGHAEDAHHHHGGGGGGGGGGGGHGGGGGGGEGFGGFDFFFFEFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFAFCFFFFFFFFFFFFFFFFFFFFFFFF?BCF
+@SRR1222430.14 14 length=251
+GCAGCACCTACATTGTCACCACCCAATACCTGCCGAACTTCTCACCGATGACGGTCGCGATGCTGCGGGCGTTGCCGGCGGGTTTTTTTCTCGTGATGATCGTCCGACAGATTCCAACGGGAATCTGGTGGGTGCGCATCTTCATCCTCGGCGCACTTAATATTTCGCTTTTCTGGAGCTTGTTGTTTATTTCGGTCTACCGCCTGCCGGGCGGGGGCGCGGCGACGGTAGGCGCTGTGCAGCCGCTGATG
++SRR1222430.14 14 length=251
+CDCCCFFDFFFFGGGGGGGGGGGGGHHHHHHHHHGGGGHHHHHHHHGGGGHHGGGGGGGGGGGHHHGGGGGGGGGHGGGGG><FD.FD-/0=..G//<<0<./CDC.;-@CCG0C0C0.AD.9/:;0F0:9-:C.;>@?-BF00;:FF0.D.AA-:@F0;:BBFF0/9..;B0:000;/;B/AB.:AF0:FF0/;A.A0:BCDC...:9@F;BDFF--9:9@-9-;B-.;.A09-:;DF0;;0:----.00
+@SRR1222430.15 15 length=251
+ATGGCTCTCCTGGGCGGCTTCCCACTGCAGTCGGTAGCCGCGACGAAAGGCAACGATGGACGTTTTCTGCATGATTACACCAGTCGGGTCGTGTGCCAGGCCGCCTTGTCGGTGACCGTGTGATAGGGCGGGCGCTGCAGGGCATAGGCCATGGTCATGGCATCGAGCATCGACCACAGAATGTCGAGCTTAAACTGCAGGATCTCCAGCATCCGGTTCTGTTTTTCAGCGCTGTCGCAGTAGGCCTTCGC
++SRR1222430.15 15 length=251
+AABBBFFFFFFB4FGGA?AEFGHGHFGHHHGHDE0FEFGG0ECEE?EEGFHFFH?1??E33E>?GEHFFEHFHFHHFHHFGHFEGDCG?<CGFHHHHHHHGGCGGGGGHHDGGGEHHGDC<<<GHEHGHG@GGG?BB?9/:9AAFFFFFB9BFF9:BFFFE/BBDBFF?FFFFBBBFAAFBFFFBEE?.9FFFF//FFFFFE9FFF99BFFFFFFB@DFBFFFFFEBFFBD?FBABEF-9;99/BFFFBEA
+@SRR1222430.16 16 length=233
+CGCATCGCCGCCTTGCCGGCCATTGCCTCGATTAAAATTCCCGGCCTGCCCGCGCCACAGGCGAGCGAACGTGTAGCGGCCCTGCGTCAGCATCTTCCCTCTCGCGTTACGCTTGGCGTCAGCGGCGATGCATGGGCCACTGCCGGGTTGCAGGCCGGCTGCGAAGCCTGGTATTCGGTCTGCGCCACATCACCGCTACGTATCGCTCTTACCAGCGCCAGTGAGCAGCGGGG
++SRR1222430.16 16 length=233
+BBBBBBBBBBBBGGGGGGGGGGHHGHHHHGGHHGHHHHHHHHGGGGGGHHHGGGGGGGHHHGGGGGGGGGGHHHHHHGGGGGHHGGFGGGHHHGHHHHHHHHHGGGGGGGGGGGGGGGGGGGHGGGGGGGGFGGGGGGDGGGGFFFF9ACFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.17 17 length=184
+GGCAATTCCGGCGGCGCGCTGCTGAACCTCAACGGCGAGCTTATCGGGATCAACACCGCGATCCTCGCGCCGGGCGGCGGCAGCATCGGCATCGGCTTTGCCATTCCAAGCAATATGGCGAAAACCCTCGCCGACCAGCTTATTCAGTTTGGCGAAATCAAGCGCGGCCTGTTGGGCATTAAAG
++SRR1222430.17 17 length=184
+BCCCDFFFFFCCGGGGGGGGGGHHHHHHHHHHHEFGGGGGGHHHHHGGGGGHHHHGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 @SRR1222430.18 18 length=250
 CGTTTTACCCGCGTGATGGCCGAGCAGGCGGCGCGGGCGCGTCTGACGCTGGACGACGATCAGCTGTCACTCATCGCCCGCCTTGACGCCCTCGGTCAGCAGTTGGTGTCCACGACAGGCAGGCCGCAGGGGGTGTACGTCTGGGGACGTACCGGGCGAGGGAAAAGCTTTATCCTCGACCACTTTTTCGCCAGCCTGCCGCTCGCCGCCAGGCGGCGGGTCCATTTTCATCACTTCTTCCGCGAACTGC
 +SRR1222430.18 18 length=250
 CCCCCCFFFFCCGGGGGGGGGGGGGGHHGGGGGGCEGGGGGGGGGGHGGGGGHHGGGGGGHGHHHHHHHHHHHHHHGGGGGGGGHHHGGGGGHGGGGGHHHHHHHHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFF
+@SRR1222430.19 19 length=251
+CAATGGCGAACTTGATATGGCGATGACCGCCCTGCCTGTCGAGGAGGATAGCAGCCTCACCATTCTGCCGTTGTTCAATCACCCGCTGTGCGTCCTGACGCCAAGGACCGCGGAGTGGGAAGGTAAAACCTCGCTCTCGCCGGCCGAGCTGGCGTCGCATCCGCTGGTTATCTACAACGAGGAATTTGCCCTTAGCCAGCAGCTGATGCGGCTGTTTGCCGAGCATGACGTGAAGCCACGTATCGCGGTGG
++SRR1222430.19 19 length=251
+1AAAAFB1>DDAFGGFDG3DEEGCFHHCEGGGEHHHHHHFCGG?/EEE011GFGBFHFFGHBGHGGHGF?EEGFGHHHHHHHHHGGGGGHHGGGGGHGGEGGGGHGHHHGGGGACAHFHHGFFGGHGHGGFHGGGHHHGFCGCGGG@@GGFGB@GGG?@F@FFFF@@/:FFFFFFFFF?EF@@FFFFFFFFFFFFFFFFAFFFBFFFBF??@@@FFBBFF@<@?>FFFF-;-9A9FFBF@EFFFF-@?9@-
+@SRR1222430.20 20 length=167
+TTTCATGCTGCAGGACAAAACGGTTAACCATTTTGCGCCGCGCTCGCGCTGGCCCTGAAAAGGTGAGTCCCGTAGAGGCGAATCACGCAGCCCGAACATACGGCCCAGGAAGCATCGACAGCGCACCTGCAGTTTGAAAAACGACGAGTATAACACCAATACTCAGT
++SRR1222430.20 20 length=167
+CCCCCFFFFFFFGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGHGHHHHHHHGFGGHHHHGGGGGGHHGGGGGGHEGHGGGHGGCGGGHHGHGGGGGHGHHHGFHFDHFGGHGGGCGHGHHHCHHFHHHHHGFFGGGGDGFFGGFBDGGGGGGFFFF
 @SRR1222430.21 21 length=251
 GCGCGCAGCTCACTGAAGGGCTGCGCGCGGCCTATCTGCTGCTTGGCAACGATCCCCTGCTGTTGCAGGAAAGCCAGGACGCCATTCGCGAAGCTGCTGCCGCGCAGGGCTTTACCGAGCACCATACTTTTTCAATCGACAACAGCACCGACTGGCAGGCGATTTTCGCCTTAAGCCAGGCGATGAGCCTGTTTGCCAGCCGGCAAACCCTGCTGTTGATCCTACCGGAAAACGGCCCCAACGCGGCGATC
 +SRR1222430.21 21 length=251
 CCCCCCCCCFFFGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHGHHHHGGHHGHGHGHHHHHHHHHHGHHGHHHHHHGGGGGGHHHGGGGGGHHHHHHHGGGGGGGGGHHHHHHGGGGGHHHHHHHHHHHHHHHHGHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFDFFFFFFFFFFFAA.
+@SRR1222430.22 22 length=251
+CATGGACATGCTCCCCGCCGACCTGCTGCGCTATATCACCCAACACCGAAAAACTGCTTACCACATTCAGCGTTTTCGCCATGGCCCCCTGCGCCATCAGGCCGAGGGCCAGCGCGACCACTATTGCACTACGTTTCATCATTTCCTTACCCCATCAATGTGCGCCAACCGACCAGCAGCCGGCTGCGCGTGCCAAAAAATAGCGAAACAAAAAACAGTGCGCTGGCGGTCAGCACAATAGCGGGCCCGGC
++SRR1222430.22 22 length=251
+CCCCBFFFFFFFGGGGGGGGGGGGHHHHHGGGGGHGHHHFHGHGGGGGGGGGHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGHFHHHGGGGHGGGGGGHHHFGGGFBCEGGEGGGDGGCGHHHHHHHGHHHHGCGGHGHHGFHHGHHGHHHHEDFGGGGGFGGGGGGGGGGFCFFFFFFFFFFFFFFFFFFFFEFF:EFFFFFFFFFFFFFFFFF?AF9FFCFFFFFFFFFFFFFFFFFFFFCFF;BFFF-
 @SRR1222430.23 23 length=251
 GGCCCGCTGCTGGCGGAGATGCAGTATCTGCAGCGTTCGCATCCCGGACTGCTGTGGTAAGTGAGGTGACTATGCAACGTCTTGCCGATATCGCTCCTGCAGAGGTTCGCACCATCTGGGGATTATTAAGCGCGATCCCGGATCCGGAAGTGCCAGTACTCACCATCACCGACCTTGGTATGGTGCGCAGCGTCGCGCGCCATGGCGACGGCTGGGTGATTGGCTTTACCCCGACCTATTCGGGCTGTCCG
 +SRR1222430.23 23 length=251
 CCDDDDEEEDFFGGGGGGGGGGHHHHHHHHHHHHGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHGHHHHHHHHHHGHHHGHHHGGGGGHGGHHGHHHHHHHGHHHGGGGGHHHHHHHGGGHHHHHHHHGGGGGGGHGGGGGHHGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF<DFFFFFFFFFFFFFFFFFFFFFHHFFFFFFFFFF
+@SRR1222430.24 24 length=250
+TCTTATGCAACATGTAATGGCGACTCAGGATATCCTGCACCGTGGCCGACACGAGGAAATACTCCTGGCGCAGGCGCAGCTCGCGGCCGGAGTAGGTCGAGTCGTCCGGATAGAGCACGCGGGAGACGTTTTCGGAGTGGTTTTTATCCTCTACCGCGGCGAAGTAGTCGCCCTGGTTGAATTTACCGAGGTTAATTTCGCTGCTGGCCTGCGCGCTCCACAGACGCAGCGTGTTGGTGGCGTCGGTGTC
++SRR1222430.24 24 length=250
+11AAADF@DDFFBGFEEAA1AAEG?EFHHAGHHHHFBCGHHG0AEEAEEGGECE?EGFHHHFFDGD100/?E?EEEEGGCHC?/EE/EGCGGGFGH>FCG/G0</?E@CA<<1<GHHFGGC-@CC?CCGEFEGG@.@FFF0.AEFABGBFFFF0B>@?@@@@=@EFFBFB@FF??A99BBB/BFFBFFF@?FBBFBBFBFFBBFBFF-A/:A@@@--99BFFF/--@?@?@ABF?EFFFB??A--@--99
+@SRR1222430.25 25 length=251
+CCACGCCAACCGGAGAAGGCACCACCTCCGCGCGGACGTTCGCCCGCCTGCGGCGCTGCGTGTTGACCAACGGTTTTTCCATTCGCTAACCGGGGGCGCCATGCATACCTTTTCTCTGCAAACGCGCCTCTACAGCGGCCCGGGCAGCCTGGCCGCGCTGCAGCGCTTTAGCCATCAGCACATCTGGATCGTCTGCGACGGCTTCCTGGCGCGCTCGCCGCTGCTTGACCGACTGCGCGCCGCGCTGCCCG
++SRR1222430.25 25 length=251
+DDDDDDDDDCDCGGGGGGGGGGGHHGHHHGGGGGGGGGGGHGGGGGGGGHHGGGGGGGGGGGGHHHGHHHGGGGGGGGHHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFBFF;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFA=DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFAFFFF.
+@SRR1222430.26 26 length=135
+AGAAATCCACCCCTTCCACCAGCGGCACTGAGCGCACCTGCGCCCCGGCAATCACCGCGCCATAGATATGAATCGGATAGCTGGGGTTCGGCACCAGTACGGTGTCGCCATGATCCAGCGTCGCCAGCATCAGGT
++SRR1222430.26 26 length=135
+>>AAADFFFFFCGGGGGGGGGGHGGGGG2FGHHGGGGGHHHGGGGGGGGGGHHHHHGGGGGGGHHHHHHHHHHHHGGGGHHHHHGGGGHGGGGGGHHHHHGGHHGHGHGGGHHHHHHHHGGGGGGGGGHHHHHHH
+@SRR1222430.27 27 length=250
+ATGGTTTTATACGGATATTTACGGGCTTTCTGCTGCCGCAGTCGGAGTGATGTTCCTGGTGACGCGGGTTCTGGATGCGATTACCGATCCGCTAACCGGCATTGTTGCAGACCGTGTAAAGACCCGCTGGGGCCATTTTCGCCCGTGGCTTATCTGGTTTGCCGTACCTTATGCCGTGCTGGCGGTAATGACCTTCACGACTCTGGAATTTGGCGCATCGGGGAAACTGGTTTATGCCTACCTGACCTAC
++SRR1222430.27 27 length=250
+BCCDCFFCFFFFGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGHGGGGGHGHHHHHHHHHFHHHGGGGGGGHHHHHHHHGGHHGHHGGGGGHGGGGHHGGGGGHHHHHHHHHHHGDHHGHHHHHHHGGGGGGGGGGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGFGFFFFFFFFF@A900BBF0F0:B..9AAFBB:B0FF0:B;DD?-9AF-;:A/BFF0:F0;0:BFFBA00/BF00/
+@SRR1222430.28 28 length=222
+CAGACCGTCTCATCCGCTAACAATACGTGTTTTAGATCGCGATCCGCAGTGGAGTGCACAGCGACAGTCTTGATGCCCAATTCTTTACAGGCACGCAGGATGCGCAGTGCGATCTCGCCACGGTTAGCGATGACAATTTTATCCAGCATTTCGACGCCATCGATATCGATGCTCAGTCCAACAAGCCAGGTCTTCATACGCGCTTCACCTCATCGATTGCCG
++SRR1222430.28 28 length=222
+CCCCCCCCCFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHGGGGGGHGGGGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGHHGGGGGGHHHGGGGGHHGGHGHHGGGGGGGFGGHHGGHGHHHHHHHHHHHHHHHHHHHHHGGCGGGGHGHHHGHGHHHGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF
 @SRR1222430.29 29 length=251
 GCAGCATCCAACGCGATTCTGGTTGGCTTCAACGTTCGTGCCGATGCCTCTGCGCGTAAAGTTATCGAAGCGGAAAGCCTGGATCTGCGTTACTACTCCGTCATCTATAACCTGATCGACGAAGTGAAAGCGGCGATGAGCGGCATGCTGTCTCCGGAACTGAAACAGCAGATCATCGGTCTGGCTGAAGTGCGTGATGTCTTCAAATCGCCGAAATTCGGCGCCATCGCGGGCTGTATGGTTACCGAAGG
 +SRR1222430.29 29 length=251
@@ -30,10 +118,34 @@ CBCCCFFFFFFFGGGGGGGGGGHHGGHHHHHHHGHHHGFGGHGGGGGHHHHHHGGGGGGHHHHHHHHHHGGGGGGGHHHH
 CCAGAACCTGATTAAGGTGATGGCGGAAAATAATCGTCTGAAGGTGCTCCCGGACGTTCTTGAGCAATTCATTCACCTGCGCGCGGCCAGTGAGGCCATCGCAGAGGTAGAAGTAATATCTGCCAACCAACTGAGTGATGAACAGCTTGCCAGGATCGTCAGCGCGATGGAAAAACGTCTGTCACGCAAAGTTAAGCTGAATTGCAAAATCGATAAGTCTGTTATGGCAGGTATTATCATCCGTGCGGGTG
 +SRR1222430.30 30 length=251
 CCCCCFFCFFFFGGGGGGGGGGHHGGGGGHHHHHHGHHHGHHHHHHHHHHGGGGGGGGHGHHHHHHHHHHHHHHHHHHHHGGGGGGGGGHHHHHHGGHHHGGGGFHGHHHHHHHHHHHHHHHHHHHGGGHGHHHHHHHHHHHHHHGHHHHHHHHHHHGGHHGHGGGGGGGGGGGGGGGFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFBFFFFFFFFA99BF0B09B0B..;.BFF9-
+@SRR1222430.31 31 length=216
+GTTTCCGGACCGGGTAAACTGCTGCTCGGTCATTACCTTTCCCCACTGCTCCCCCTGCCATTCGCGGATTAACGTGAAGCCAAAGGATTCATACAGTTTGCGGGCCGCGTCCAGCCCTTTAAAGGTCCACAGCTGCACCGCGCTAAACTGGCGACTATCGCAGAAAGCCATCGCCTCGCTGAGGAGCCGCCTGCCAATGCCGGTTCCCCGGCAGCT
++SRR1222430.31 31 length=216
+BABBBFBBBBBBGGFEFGGGGGHHGFHGGGGGHGHHHHHHHHHHFGHFHHHHGGGGEFGGHHHHGGGGGGHHHGHHHGHHHHHHHHHHHHHHHHHHGHHHHGGGDGGGGGGGGGHGGHHHHHGHHHHHHHHGHHHHHHHGGGGGGGHHHHGGGFGGGGGGGGGGGGBFGGGFFFFFFFFFFFFFFFFFBFFF.FFFFFFFFFF-AEFFFFFFFFFF
 @SRR1222430.32 32 length=251
 TGACGCTGTATCTCGACGTCACGCCGGAAGTGGGGCTGCAGCGCGCCCGGGCCCGCGGCGAGCTGGATCGCATTGAGCAGGAGTCCATGAACTTTTTCAACCGTACCCGCGCGCGCTATCTTGAGCTGGCCGCCGCCGATCCTTCTATCCGCACGGTTGACGCAACTCAGCCGCTGGATGCCGTGGCGCGCGACATTCGCGCCACGATCGCCCAGTGGATGGCGGAGCAAGCGGCATGAAATGGTATCCGT
 +SRR1222430.32 32 length=251
 CCCCCCCCCFFFGGGGGGGGGGGHGGGGGGHHHHGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGHHHHHGGGGGHHHHHHHGGHHHHHHHHHHHHHHHHHHHGGHGGHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF@FFFBFEFFFFFFFFEFFFFFFFFF.
+@SRR1222430.33 33 length=191
+AAGCGTAATATACGCCACCTCGCGACAGAGCGCTAAAGCGCGTCGCAACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCAAAGTGACATGGATTCTTAACGTCCTCGGACGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCATCAAAC
++SRR1222430.33 33 length=191
+CCCCCBCCCFFFGGGGGGGGGGGGGGGGHHHGGGGGHHHGGGEGGGGGGHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGGGHGHHHHGHFHHHHHHHEHHHHHHGHGHHGGHGGGGGGGGGHHHHHHHHHHHHHHHGHHHHHFHHHHHHFHGHGHHHHHHHGFHGGHHHHHHHHGGGGGGGGGGGGG
+@SRR1222430.34 34 length=149
+CCAGCTGTTGCCAGGGGAATAACGGCCCCGGATCGTCTTTGCGCTGCGGGGCGATATCCGCATGGGCGACCACATTCTGCGGCGCGATGTGGTAGCGGGCGATGATATCGCGCGCCAGCGGGATCAGAGCCGCAATCTGTTCCGGATGA
++SRR1222430.34 34 length=149
+DDDDCFFFFFFFGGGGGGGGGGHGGGGGGGGGGGGHHHGHHHGGGGGGGGGFGGGGGHHGGGGGHHHGGGGGHHHHHHHHGGGGGGGGGHHGHHHHGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.35 35 length=244
+TGCGTATCGTCGAAGAACGGCGCGATCAGCGCGTCTTTCGCCGCCTGCGCCGCGCTCTCCAGCGAACGTACCGAGGTGGTGCCCACCGCGATCACGCGGTTGCCGCGCGCTTTCGCCGCCAGCACCGCATCGACCACCTCCTGCGGCACTTCGGCATATTCGGAGTGCATGGTGTGCTCTTCAATGCTGTCGACGCGCACCGGCTGGAAGGTGCCCGCGCCCACATGCAGGGTGACAAACGCCA
++SRR1222430.35 35 length=244
+ABBBBBAFBFABGGCGGGCFGGGEEFGGHFFFGGGGGHHEEGGGGGHHGGGGGGGGGHGHHHHGGGGGEHHGGGGGDGGGGHHHHGGGGGCGGGHGHGGGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.9BFFFFBFEDFFFFFFFFFEFFFBFEFFFFFFFFFAFFFFFFFFFFFFFFFFFFFADFBBFFFFE@9;EFFFF?DFFD
+@SRR1222430.36 36 length=196
+AGAAGAATATCGCTCTCTGATGGATCACTGTGTTGTTGAACAAGGTGATTTGGTTATGAGTCGTAACCAGTCTGTCGGTGTTGTTAGCTATGTGGATTCCAAAAAGCCATTTGTATTAGGGCAAGACACTGTCTTAATTAAAGCAATCCATGCAGATTGGCGGTTTATTTACTACACATTACAATCAGATTTAGTC
++SRR1222430.36 36 length=196
+BBBBBFFFFFFBGGGGGGGGGGHHHHFFHHGHHHHHHHHHHHHHHGGGHHGHHGHHHHGHHHGFEHGHHHHHHHHHGGEEFFHFGGHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGHGHCCGGGBGHH11<<1<GGFGBGGHFGF1<>FH1=GF
+@SRR1222430.37 37 length=250
+GCCTTTTCTTTTTCCAGGGAAAACCATCCAGGAGGAACTTTATTATGGCGATGTATGAAGTCGGTACCGTCACGGGTGCCGCGTCGCAGGCACGGGTGACAGGTGCGACAACAAAATGGTCACAGGAGGCGCTGGGGATACAGCCCGGGTCGATTCTGGTGGTCTACCGCAGCGGTAGTGCTGACCTGTATGCGATCAAATCCGTGGACAGCGACACGCAACTGACGCTGACCCGGAATATCACCACCGC
++SRR1222430.37 37 length=250
+AAAABFFFFFFFGCGFGGEFFCHHEEFHHGHHAFEAGAGGGFGGFHGFHGEEEFF5BDHHBDEGCEEHGAEGGFFGFCFHCGGC@E/EEEEHFEC@BBFFFG/GFEFDDCDHHGCC<?FGDDGHFFFGFFCGGG-.AGDGBGGHHGGG?ACGCFGG99B9;?C99B0CDGGCFF;DDFFFFFFFB99:;BBF/A.:9DFFF/F?EEFFFFFF>ADAFDFFFFFFE/ADADDFFFFFA;EEFF/BFFEEFF
 @SRR1222430.38 38 length=251
 AGATGAAACGCGCCCGGCGTATGACCCATCGCATAGCTTTGCGGATCGCGGATATCGACCAGTACCGCCGTCTGCTGATGCAGTTTCTGGTGCGCTTCTTCAACATTGATGCATTCAAACTGTTCCATGATTCTCTTCTCTTTCTTGTCATGACGGGCGATGGCCGGCCCAATTTTACCCTGTAGTGTACCGTCAGGCGGTAAAGAAACGCCAATATGTTACACCCATCACTTCAAAATGTTTTTTTGATG
 +SRR1222430.38 38 length=251
@@ -42,6 +154,14 @@ DDDDDFFFFDDCGGGGGGGGGGHHHHHHHHGGGGGHHHHHHHGGGGGGGGGGGGHHGHGGGHHGHHGGGGGGHGHHGHHH
 CTGTTTTTTCTCATCATAATATTCCCTTATATAATCATTGGCGTAAATAAAACACGACAACAACCCTATTCCGTGCCGGTGCTAATAGCCGTATCCATACCGTTTGACGTCGCGGCGGCTGTTGAGTTTGCGGATCTCTTCTTCCGGATCGTCCTCGAAAGCCACCGCCAGATGGCTGCCGATAAAGCGGCTGAAGGCCTGGTGCAGGCGCTGGGTTTTCTGCACATCGAACGACAGGGTCGCAAAACGCC
 +SRR1222430.39 39 length=251
 BCBBBFFCCFFFGGGGGGGGGGHHHHHHHHHGHGHHGHHHHFGGGGHHHHHGGHHGGGGGHHHHGGHHHHHGFGGGHGGGGGGHHHHHHHGGGHHHHHHHHGGGGGHHGGGGGGGGGGGGGHHHFGGHGHHGGGGGHGHHHHHGHGGCGFGGGBFGGGGGGGGGGGBGGGFFFFBFFFFFF;BFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFBADFFFFFFFFFFFFFFFFFABE?:9DFFFF/FFA-
+@SRR1222430.40 40 length=175
+CCTGGGCTACAGACCGTAGGGCGGGTCAGCGCCGCGCCAGCCGGTAAAAGTTGCAGAGATCACAAAATTCACTCCCGCCTGAAAAGTACCCGCCGTTGTCGCAAACGTCCCTTCACGACAAGCGCCATAACCGCTTCAATTAAACAACAAAAACAAAACATATATTTAACATCAT
++SRR1222430.40 40 length=175
+CCCCCCCFFFFFGGGGGGGGGGGGGGGHHHGGGGGGGGGGGGGGEGGHHHHHHHHHHHGHHHHHHHHHHHHHHHHGGGGGHHHHHHHGHHHGGGGGGGGHGHGGGHGHHGGHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.41 41 length=251
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAACATTGTAACAACCAGTCTGCTCTCTTAGCGGAGCAATTTTAATACCACACCCATCTGTGCGACTATTATTACCCCTTGCTTGTAGGCTCGTTGGATATGTATCTCGGACACGACTCTTCGCTTGTATGTTGCATATATCACTCTGATGTTGCTGTGCGTTTTCTGTATGGAAGTG
++SRR1222430.41 41 length=251
+CACCCCBCBFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHGGHHHGGEGHGGHHHHHHHHHHHGGF@>@/>//34444?443///??34434B4334BB2</////222222<221111/?///0011111.<---000<0000/.<.//0<<.00000.;-./.C00000;0900...--..--.9000.....;///////:////://9/////;/:9/;/////...-.//:;///.///9/
 @SRR1222430.42 42 length=251
 CGAGGCAAAACCATCGTCCAGCGACGGCAGGCGGGCCATAAAGGTCTCGACATCGCCGCTGGCGTCGAAGTCCGGCGGCAGCGCCGACTCGACGATAATGTCCGCCAGCTCCAGTTCACGCCCGGTCTCACGGGCCAGAATCAGCAGTTTACGCGCCACATCCACCCCGGATAAATCGTCGCGCGGATCCGGCTCGGTATACCCCATCTCACGGGCCATCGCCGTCGCCGCGGAGAAACTCACCCCCTCGT
 +SRR1222430.42 42 length=251
@@ -58,18 +178,42 @@ CCCCCFFFFFCCGGGGGGGGGGHHHHHHHHGGGGHHHGGGGGGGGGGHHGGFGGGGGGGGGGHHGGGGGGGHHHHHHHHH
 CGCCTTAAAATATTTCAGAAAGCTGTAAAACGTCGCGTACAGGCCGGTCACCACGCCGACTTTGCCATAGCGCCACGCTCCGCTAAACAGATACCACTTAAAGAAAGCGCCAATGGCGCTGACGATCCCCCGCGTCAGCGAAGGTTTGATCTGCTGGTACTTCACCAGCCGGGTGGTATAGCTGTTTAGCTTATTAAACACTTCATGCAGCGAATAAAAGGTGTCATGGCGTACAAAGCCCGGCAGCCTG
 +SRR1222430.45 45 length=250
 CEEEEDFFFFFFGGGGGGGGGGHHHHHHHHHGHHGGGGGGGHHGGGGGGGHHHHGGGGGGGGHHHHHHHHHGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGGGGHHHHGGGGGHGGGHGHGGGGGGGGGHGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGBDFFFFFFHHFFFFFHFFFFFFFFFFFFFFFHHHFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.46 46 length=251
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAACAGGGGTGTGAATATTAAATGTTAATAGCCTTCAATTTTTTGATATTCCACGATGGCGGGAATACACCCGCCCTTGATTGTTCTGCGGTTAGCGGGCGGGTTGGCCATCAACTGTTCGAGGGAGGAACTTAGAAGCTCGTGGTCGCTACTCGAATAGAATATGGCCTCACTGCTGGATG
++SRR1222430.46 46 length=251
+ABABABAABFFFFGGFGG4FFDGHFHHGHHHGHBGHHHHHGBGHHGGGHFHGGCFGHHHFHHGHHHGHGG>/1?211/1/>1B44444B44444?4B4443?BG33BB44G4///22222221/////0//-<>0100<C.-----//0000:00000--.-..0----@9-;.--9B9BB///9/9//...--.9-..9////////9/.-.../-;A.-//..;/9/////99/.//.9.9/9///.//
 @SRR1222430.47 47 length=251
 TCCTGCAGATCGCCTGCCGGGAAATGCGCCTGCGCCACGGGGATTTCATCGCCATCCCCCACGACGTGTTCAACGTGCCCAACTGCGAAAAACAGTTTCTCAGCCCGCATGAACAGCGGATGGCGATGCACGCCGGGCATAGCGAAACGGCGCTGATGCTGGCGCTGGCGCCGGAGTGCGTCCATATGGAACGGGCCGTCGCTAATTTCCCCCCGGAATTCCCCTGCCCAACCCTGTCGAAAGGCCGTCCG
 +SRR1222430.47 47 length=251
 CCCCCFFFFFFCGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGGHHHHHHHGGGGHHGGGGGGGGGGGHHHHHHGHHHHHHHGHHHGGGGGGGHHHHHHHHHHHHGGGGGGHHHHHHGGFGGGHGGGGGHHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFF=FFFFFFFFFFFFFFFFFD?ABFFBFFFFFFFFFFFEFFFFFACEFFFFFFFFFFFEDFDFFFFE?E?DFEFFAFF=
+@SRR1222430.48 48 length=251
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAAAAAACATGATGCCACAAAGCATGACCATAACAAAAAGAAAGTCACAATGTGACATAACACATTCAATATATGACGAACACAGGACTATACTCTTTTTCCACCGCCCATTCCGACACCGGCATATATCAACCTATCAATAGCGGAACTCACTAGTAAATCTGACATGTGGCAC
++SRR1222430.48 48 length=251
+EEEEEEEEEFFFGGGGGGGGGGHHHHHHHHHHHDAFFHDHHHHHHGGHHHHGGGHGHHHHHHHHHHHHGGGFEE>>>////////222222?220/0101111=111>11<10>...0001<111<00<111<11=0<0<0111111111111..---/....<//11110<1110/<<0..---./111<.---.---<-0111111/./01011<FB19---90100<<<B111111111010110./0
+@SRR1222430.49 49 length=250
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAACCATTAACGAGCTACGGGGATTAACTGACAACTGGGAAGGTGGCGCACCATTTACACAACCAAGCATGATTCGACGGATGGATGCTGTACTGGCAGGGGGGGGTGCATCCTGCTGAGTAGGATGTGGTGTTGACGCGGCTAGAAGCAGAGGTGAGGGCGAAGCACTAGAAAGTCA
++SRR1222430.49 49 length=250
+CDEEDEEEEFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHGHHHGGHHHHGGGHGHHHHHHHGHHHHGGGEEE/1>133443/////33////</2222?2222?/222/02</@?/=////<011111=1<..<..<./100=11.1.<-..-</10/11111:10./<-9-----9-.011<000001.:1100:0010/....10..----..01100//..0.1....-----0/000011:111
+@SRR1222430.50 50 length=226
+CAGGAAAGCCACCAGCTGGCGGGCTCTGATCTCCCCCACGCCCGGCAGCGTGCGCCATTGCGCTTCACTTTTTGCCGCCAGCAAATGCCAGTTCTCGCTTTCGAGCTGCGCCAGCGCCCCCTGCGGCACCGGGATCCCCATCGCCAGCACCCAGCGGATAAAAGGTCGTTTGCGAACGAGATCAAACTGATGCCAGAGGTGCTGCCCGCGGGCGGCGGAAATCCCT
++SRR1222430.50 50 length=226
+CCDCCFFFFFFFGGGGGGGGGGGGGHHHHHHGHHHGGGGFGGGGGGGGGGEGGGGGGGHHHGGGGGHHHHHHHGHHGGGGGGHHHHGHHHHHHHHHGGGHGHDGHGGHHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 @SRR1222430.51 51 length=242
 TTGGCGTAAAGATTACGATATCGCCCAAGCTGCCGCTTTACCTGAGATTCTGCCGATTGTGCTTTTTTAATCTGCGAACGTATAATATCCAGCTCTTCAGGCCGTTCGCCAGATTCCAGATTTCGTAATAGAGCGCTCTCTGCTGATAGCTTTTCCTCAGCGCGCAGGAAAATATTTTGCGCATCGAAGGACTCAATCTTCACTAACTCCTGTCCTGCGGCGACGTTATCTCCTTTATTGAT
 +SRR1222430.51 51 length=242
 CDCDCCCBCCFFGGGGGGGGGGGGGGGHHGHHHHGGGGGHHHHHHHHHHHHHHHGGGGGHHHHHHHHGHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHGGGGHGGGGGHHHHHHHGHHHHHHHHGHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFF
+@SRR1222430.52 52 length=158
+GTTGGAGGACAACGGATTTACCGTAGTCGATATCCGGCAGGATTACACCAATATGTCACCGGCGATGAAAGAGCTTGAAGCGGCTCTGGCCGGTGGTCGATTCCACCATGATGGCAATCCCATTCTGACCTGGTGTATCAGCAACGTTATCGGGAAAT
++SRR1222430.52 52 length=158
+CCCCCFFBBCFFGGGGGGGGGGGGHGGHGGGHGHHGGGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHGGGGGHHHHHGGGFGGHGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGHHHHHHGGGGHH
 @SRR1222430.53 53 length=251
 TCTTCCAGGGTTAACGTCACGCTGAGGGTGTCGCTGTTGCTGGCCAGGCTTTGCTTGCGTAAACGCAGGAGATCGACGCTGGATCGCGTCAGATCAACATACATGGTGTCGAGCCCGCGGATCGTCGCCAGCGCGGTATCCTGATCGGCGGAGACCAGCGCCCCCGGCGTAACCGACGAGATGCCGATGCGCCCGGCAATCGGCGCGGTGACGGTGGTCCAGTTCAGGTTAATGCGCGCGCTCTCCAGCGC
 +SRR1222430.53 53 length=251
 EEEEEFFFFDFFGGGGGGGGGGGGGHGGEGGHGHGGGHHHHHHGHHHGHHHHHHHHHHGGGGHHGGGGGGGHHHHGGGGGGGHHHGGGGGGGHHHHHHHHHHHHHHHHHHGHGGGGGGGGGGGGHHGGGGGGGGGGCFGHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFCFFFFFFFFFFDFFFFFFFFFFFFFF;FFFFFFFFFFFFADFFFA<EFFFFFFFFFFFFFFFFFFFFFFFFCCFFFFFFFFF
+@SRR1222430.54 54 length=251
+CACTGAGAACCCAGATGTAGTTGTCCTGAAACGCGGGAATACTGATAAGATTCATAAATTACCTCTAAAGCGTAGCGGAAGGTGGCAATGAAGCCGGCAAGGATACCTCACACAGTGACAGCGCCTGAGCATTGGTCCAGTATGCCGTGGGGCGAATACTATCGCGAAACGCTGGAGCAGCAGATGAAACCGTGGCTGGCTAAATTATATGGCTTTCATCTGCTTAAGATTGGCAATCTGAGCGCGGAAAT
++SRR1222430.54 54 length=251
+BBBBBFFFFFBBCGFFGFGGGGHHHHHFHHHHGGGGGC?GFFHGGHGFHGHHHHHHHHHGHHHHHHHHHGHGEGGGGGFGGGHGGHHHHHGHHHEGGGGGGGGGGFHHHHHHHGHFGHHFGHGGGCHGHHFHGHGGGHHHHGHGHHGGGGGGGGGGGFHHGFFFGGGGGGGFGGGFFFFFFFFFFFFFFEFFAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA;B
 @SRR1222430.55 55 length=250
 CATTGTAATGTGATCTGCAATCTACATCCATCCGGGTGAGTCATGCGCCAACATGGCTCACACTTTCGCGTAAAGTTAAGTCGCTGATTTCAGAGAACTGTAGTATCCTCTGCGAAACGATCCTTGTTTGAACCTTGAGGGGGCAGAGATGCTGCAGACTGAAAATGCAGGAACTTCCTCATCGAAACGTGCTCAGGCTGCTTTCTTGAACCACCGGCCTGTCGGTGCTAGATTACGGATCGTCTGAAGA
 +SRR1222430.55 55 length=250
@@ -78,22 +222,58 @@ CCCCCFFFFFFFGGGGGGGGGGHHHHHHHHHHHGGGGGHHGHHHHHGGGGGGGHHHHHHHHHHHHHHGGGGGGHHHHHHH
 TGTTATCCCCGGCGCCGACGTTGGCGTTTCCCCAGCTGTTGGCCACCAGGTTGATACCCTCGGTGGTGCCGCGGACGAACACCACTTCCTCCGCCGACCCGGCGTTAAGGAAGGTGGCCGCCTGCTGACGCACGGCTTCCATCCGCGCGGTGGCTTCCGCGCTGAGGGTATGGATGCCACGATGCACCGCCGCGTAGCCGTGGCGATAGAATTCCGCTTCGGCGCCGATCACTGCCTCCGGCTTCTGGGCG
 +SRR1222430.56 56 length=251
 CCECDFFFFEEDGGGGGGGGGGHHHGGGGHHHHHGHHHHHHGHHHGHHHGHHHHHHHHHHHGGGGGGGHHGGGGGGGGGGGHGHHHHHHHHHGGGGGGGGGGGGGGGGHHHHHGHHGHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFAFFFFFFEFF;
+@SRR1222430.57 57 length=218
+GGACATCCAGATCACTCTCGACAACGACGTGCTGATGGTGCGTGGCGAGAAGCGCCAGGAACAGGAGAAGAAGGAAGGTGGCTTCCACCGTGTGGAGCGCTCCTACGGCAGCTTTCAGCGTGCCTTGAACCTGCCTGACGACGCCAACCAGGATTCGATCAAAGCATCGTTCAAGAACGGGGTGCTCACGGTCACGATCGACAAGCGCGAGGTCAGCG
++SRR1222430.57 57 length=218
+CCDCCFFFFFFFGGGGGGGGGGGGHGGGGGGHGHHHHHHHHGFGGGGGGGGHHGGGGGHHHHHHHHGHHHHGHHHHHGGHGHHHHHHHHGHHHHGHHHGGGGGHHHGGGGGGHHHHHHGGGGGHHHHHHHHHHHHHHHHGGGGGGGGGGGHGHHHHGHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFF
+@SRR1222430.58 58 length=251
+TGGTAGATTTTAGCCGTGCCGCCCTCCATCATGGCTCTAATCAGATCCTGGTCAGTGGTGCGTGCCGGCAGCGGCGTGATTTCACTGTTCTCCCCGAAAATCAGCGTACCGGTGAGCGTCATGATGAATTCCTTCAGCTCCTTATTGCCGTCGAAGAGCCGGTTCTTCGATAAGGCATTCCACATGATGTTGATGTTTTTCATCACACGTTCTTTGTCTTTATCGCTGGCCTTATCCTGGACGCTGTCCAT
++SRR1222430.58 58 length=251
+AABAAFFFFFFFGFGGEGGG?FGGGFECGHHHHFFFGHHHGHHHHHHHHHHHHHHHFHHGGGGGEHGCGGGFCECFEEFHHHHHHHHHHHHHHHGGCGGGHHHHHGGGCFGGGGGFHFGGGHHGHHHHHHHGGHHHHGFHHFGHHHHHHGDGGCGGGFHHFGGD.FFGGEGGGGGGGGGFGGGGGGGGGFGGGGFFFFFFFFFFFFFFAFFBEFFB9BBFFFFFFFFFFFFFFEFFFFFFFFF;FFFFBFF
 @SRR1222430.59 59 length=251
 CTGCCGCTCACCATTCTGGTGACGCTGGTGATGGGCCTGCTGCTCGGCGCGTGGAACGGATGGTGGGTAGCCTATCGCAAGGTGCCCTCGTTTATCGTCACCCTTGCCGGGATGCTGGCGTTTCGCGGCATTCTGATCGGCATCACCAACGGGACCACCGTCTCGCCCACCAGCCCGGCGATGTCGCAGATCGGCCAAAGCTACCTGCCAGACGGCATCGGCTTCGGCATCGGCGTTGTCGGCATGGCGGG
 +SRR1222430.59 59 length=251
 DDDDDCCCCCFFGGGGGGGGGGHGGGGGHHHHHHHHHGGHHHHHHGGGGGGGGGGHHGGGGGGHHGGGGGHHHHHHGGGGGGHHHHHHHGHGGHHHHHHHGHHHHHHHGGGGGGHHHHGGGGGHGGGGGGGHHHHGHHGGGGGHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF-
+@SRR1222430.60 60 length=250
+CTCCGCGGCCACCTATGGCGGACGCACCAGCGACTTCATCGAGTCCCGCGAGTACGAACAGCCGCTGAACGTTTACGGCTACTCCAAATTCCTGTTCGACGAATACGTCCGCCAGATCCTGCCGGAAGCCAATTCGCAGATCGTCGGCTTCCGCTACTTCAACGTCTACGGGCCGCGCGAAGGCCACAAAGGCAGCATGGCGAGCGTCGCTTTCCACCTCAATACCCAGCTGAATAATGGCGAAAGCCCG
++SRR1222430.60 60 length=250
+BBBBBBBBBBBBGGGGFGGGEFGGGGCGHHHEFCGFHHGHHHGHHFHGGGGGGHHGGHCCGHHGGGGGHGHGHHHFFDC@DHHHHFFFHHHHGHHHHGHG?DGGFDGGHGGGGGFFHHGH<CHGGGG?EFFFGGEFGGFGGGEFGGGGFFFF?D?AFFFFFFFFEFFFFF.@FFFACFFFFFFFFEFFFFBFFFFFFFF?AD@=FFAD9BDFFFFFFFAF/BBB/BBFEFFFFFFFFFFEBDFA>.BFFA
 @SRR1222430.61 61 length=251
 TACCCTGAATCTTACCCCAGAGGATGTTGAGTCGCTTGAGCAGGCTGAACGTTCGCTGCAAAGCTTCGACGCAGTGCTCCAGCGCCTTGAGATCGCCCCTGAAAACCAGCTGAGCGACCTGCGGGCGCTACTGCACAGCACGGCAACTCGCTTCGAGAGCCTCGACCCTGCGCCAGCGCTTCCCACCGCGCCGCCGGTGGCGGTGTCTGACGCGGAACTTCCCGGCACTCTGGTCAGCGAAGAGGATGCGG
 +SRR1222430.61 61 length=251
 CCCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHFGGGHGHHHHHHGHHHHHHHHHGGGGGGHHHGHHHGHGGGGGFHGHHHHHHGGGGGHHHHHHHGGGGHGHHHHHGHHHHHHHHGGGGGHHGGGGGGGGGHHHHHHHHHHGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFADFFFFFDC:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACFFFFFFFFFF
+@SRR1222430.62 62 length=151
+GCGTTTAGGCGCCTGGTGCGGCCATGCTCCCGAGCTCGAGATCGATCTTGCGCTGGCCAATATCGGCCTCGACCTGCTCGGCCAGGCGCGCAATTTTTTAAGCTATGCCGCCGAGCTTAACGGTTGCGGCGACGAAGATACGCTGGCTTTT
++SRR1222430.62 62 length=151
+CCDCCCCFFFCCGGGGGGGGGGGGHHHHHHGGGGGGHGGGHGHHGHHHHHHGGGGGGHHHHHHHGGGGGHGGGGGHHGHGGGGGHHHGGGGGGGHHHHGHHHHHHHHHHGGGGGGGGHHHHGGGGGHGGGGGGGGGGGGGGGFFFFFFFFF
+@SRR1222430.63 63 length=194
+TGCCTGCGCCCCGATGTGCGCGCGCAGTTAGATAAGGATGCCGCAGCGATCAGCAGCCGCTGGCTGCCGCTACCGGGCGGGCTTCAGGGCCACGAATACCTGGCGCGCCGGGTGACGGAGGCGGAGCTGGCCCAGCGTAGCCCGTTCCTGATGCTGGCGGAAGAGGTGCCGGAGGCGCGTGAACATATGGGACG
++SRR1222430.63 63 length=194
+BBBBBFFBDABBGEEEGFGEAFCCCGFEFGHFHGHHBDGGGHGGGGGGEGGGHHHHHHGGGGGGEGGHGGGGGHGEGGGGGGGHFHHHHGGGGGGGHEHHFGFHGGGGGGGGAAEGGGFFFFFFFFFFFFFFFFFFFADFFFFF@FFFFFFFFFFFFFDF9BFEFFFFFBBCAFF.DAFDF.AFFFFFFFFFFF
 @SRR1222430.64 64 length=250
 AAAAAATTTCTGGCGGGTGCCCTGATTTTCTCTGCCTGCAGCGCGCTGTCTACCGTTGCGCAGGCTGATAACACCATTACCTTTAATGGTATTGTTTCCGATACCACCTGTACGGCGACCATTGATGGCGGTGTAACGGCTATTGATATGGGCACCACCTCAGTGGCGGATCTGAAAGCGTATACCTTCGGCGCTGCCAAGAACTTCTCCTTTAGCTTAGCTGATTGCCCGACCGCGGAAGAAGGTGGCA
 +SRR1222430.64 64 length=250
 CCCCCCFFFFFFGGGGGFGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHGGGFGGGGGGGHEHHHHHHHGHHHHHHHHHGHHHHFHHHHHHHFHGGGGGHHHGHHHHHHGGGGGGGHHHHHGHHGGDGGGHHGGDFDFGFFGGGGGGFFGGGGGGGFFGGGFFF@@FFBBFFFBDADDF/FFFFFFDFACF?A/FAFFBFFFFFFFFFBBFFFFBBFFBFF/:FFA=>F9=A>--9AF9F9BEFF
+@SRR1222430.65 65 length=230
+AGGAAGAGCCAACTATCGCTCTCGAGCAGGTCAACCAGCAGACGCTGCGCATCACCATGTTGGTGATGGTCGCGCTGTTCGCAGTGATGTTCTGGGCGATTTGGTCTGATTTGATCACCGTTTTCGCCTACCTCGACAGCATTACCCTCTGGCACTACAACGGCACCGAGGCGGGGGCCAGCGTGGTGCGCAGCGTGACGATGGGCAGTTTGTTGTTCGCCATTGTGGCG
++SRR1222430.65 65 length=230
+AAAAAFFF1FFFGGGB1E1AFA1AFEE0AFGFFGHF0AGHGH0AEAEGE?EEEH1FEGFHHB/>FGFGBFGFG@E?EGF2EE?CEGHFHF22EB1FA</<GEFF/1FBGHHHFHBHHFCA0/@FGCGG?ECC1F</C<CCGBD1<FC1<<CCFHGHHHF0<--:ACCCCC--9-@@--9-AF;9--EE/@--@-9;AA?AA---9AFBFFFFFBFFE/9----;9:BA?9
+@SRR1222430.66 66 length=251
+GTTGGACAGACCGCCGCCCAGCACAATCACCTGCGGGTCGAGAATATTGATAACCGACGCCAGGCTGCGGGCAAAGGCATCGATAAAGTGTCGCCAGTGGGCCAGCGCGCGCGGATCGCCGTTTTGCGCCGCGGCGACAATGGCTTCCGCACGGGCTTGTTCCCCATAGCGGCGGGCGAAGGCGGGGGCGGGGAGAAAGCCTTTGAGGTAGGTCTTTTTTTCGCTGTAGCTGGGGGGCTGGGGGGGAGCGG
++SRR1222430.66 66 length=251
+A>AABFFFBFFBGGGCEGEEGGBHHHHFEEGBF2EEAEEEGG1EHBGGHHFHGF3FGEEGCEE/GFHAEC??CGGHBGFBFAFGGFDHHFGHCEDDGFG0GCFEHCDCCCGC@C@-BA?9A9:FAFB??FBBB?B?B?BBFFFFFFFBDABBB?BB?EBFFB/BFEFFFEBB?B;--;9;-.;9-----9;9---.9B//./////..///9/////BB--/-..;./:9//.;-----...------.--
 @SRR1222430.67 67 length=251
 TTCGAGCATGTCATCATTATCCAGTGAGCGCTGGGATTTCTTCCCTTCCTGCTTTGGCCGTCGTCGGGAAGGGCCATCTCCAGCGGGAATTGACTGAGAGCGCGTGTTATCCCGCTTGCTCTGCACCAGACTGATAAACTCCAGGGTTCGGCCAAGACGCTTGTTATCGACAATCGCGCCCTGGTCGATTTCTGACAGTCGGTCGTAGGTAGAGTAGGGAAGTAGCGTACCGTTCAGGCGCAGCTCTTTTC
 +SRR1222430.67 67 length=251
 DDCCDFCCFFFFGGGGGGGGGGHHHHHHHGGGGGGHHHHHHHHHHHHHHHHGHHHHHGHGGGGGGGGGGGGGFGGGHHHHHHHHGGGGGHHHHHHHHHHHHGGGGGGHHHHHHGGGGGHHHHHHHHHHHHGHHHGHHHHHHHHHHGHHHGGGGGHHHHGGGGGHHHHHHHGGGGGGGGGGGGGGGGGFEFFFFFFFFFFFFFFFAFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHF0
+@SRR1222430.68 68 length=215
+AAGCACATCGCCGGATTCTGCTGGTAAGTGCGCTTTATCGCTTCGCTGGCGACTTTCGGCTGGTAAATCTTATAGCAACCGTCCTCAATCAACGCCAAACGGCAGCGCAGCGCGTCCCCATAGCGATCGACGATTTTGGCGATCCCGTGCATGGTGGTGAACAGCAAAATATCCGGCTGGCTGACAATGGCGCGGATAATGTCCGGCTTCTTATC
++SRR1222430.68 68 length=215
+CDCDDFFFFDDDGGGGGGGGGGHHHHHHHHHGGGGGHHHHGHHGGGGGGGGGGGGHHGGGGGGHHHHHHHHHHHHHHHHHGGGGGHHHHHHHHGGGGGHHGGGGGGGGGGGGGGGGGGHHHHHHGGHGGGGGGGHGHHGHGGGGGGGGGGGGGGGGGEGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFF
+@SRR1222430.69 69 length=251
+GATCCTCGCCGATATCGTGCTGGCGCTCAGCGGCCACTGGAGCACGCTGCTGATCGGCGTCGCGCTGTGGGGGATTCATATGGGAATGACCCAGGGCCTGCTGGCGGCGATGGTCGCCCATACGGCGCCACCGGAGCTACGCGGCACGGCGTTCGGTATGTTTAATCTGATGAGTGGCCTGGCTCTGCTGCTGGCCAGCACCGGCGCGGGGGTACTGTGGGAAACTTTCGGCGCCGCCTCGACGTTTTCCG
++SRR1222430.69 69 length=251
+B@BBCFFCCCCCGGGGGGGGGGHGGGGGGHHGGGGGGHHGHHHHHGGGGGHHHHHGGGGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHHGGGGGGHHHGGGGGGCGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFBFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFF;-;00::FF.AF.B0:00;---@--@-..99-;9:FA00.
 @SRR1222430.70 70 length=251
 CTTTACCCGCCGCCGGGGCGGCAATGTGCAGCCTGATGGTGTCGCCCGGTTTATAGCTCGGTTTATCCAGCTTCATGGTGACCCGGTCAGGACGCGCCGCGCCGGCGCCTTCGCTGTTATCCTGCCAGCTGTAGCCCGCCCAGAAGCGCACGCTGCTGACCACGTCGTCCGGTCCTTTCACCTCCAGGCGATAGGATCCCCACTCCACCGGGAAGCTCACTTTGCCGATCTGGCCGGCCTGCAGGTCCAGC
 +SRR1222430.70 70 length=251
@@ -110,14 +290,30 @@ CBCCCFFFEFEEGGGGGGGGGGGGGGHGHHHHHHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHGGGGHHHHHHHHH
 TGCATAGAATGTGCACGGAAATTTAACCTGCCTCATATTTGGAGCAACTATGGACCGCGTCTTGCATTTTGTCCTCGCGATCGTTGTGGTGGCTATACTGGCCCTGTTGGTCAGCCATGACCGCCAAAAGATCCGTATTCGTTATGTTGTTCAACTGCTTGTCATTGAAGTCCTGCTGGCCTGGTTCTTCCTCAACTCCGATATTGGTCTGGGTTTTGTGAAAGGATTTTCCGAGATGTTTGAAAAACTCC
 +SRR1222430.73 73 length=251
 BCCCCFFFFFFFGGGGGGGGGGHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHGGGGGGGGHHGGGGGGHHHHHHHHHHHHHHHHHHGHHGHHHHHHHHGGGGGHHHGHHHHFGHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHGHHGHHHHHHHHHHHHHHHHGGGGGGGGGFFGBFFGGGGGGGFFG?FGGGFFFFFAFFFFFFFFFFFFFFFF
+@SRR1222430.74 74 length=251
+GTAACGCCGGCGTAATACGCGCGGCCAGGCTCATTGTAGGTCGAGGCGCCGGCATTTTCGCGATACAGTTGTTTATCAAATAGATTACTTATTCCGGCATTCAGGCGAATATCCCGGTTTAGCTGATACTGAGTACCAATACCCACGATGGAATAGGCGCCAACCTCGGTGGTGGCAAGGGTCCCGGTTTCGTTGCGGATCTCCGCATACTGACGCGGCTTCTGACGGCCATAAAGCGTCCAGTTCACATT
++SRR1222430.74 74 length=251
+BBBBBBBBB@BBEEGGCGCGEFGGGGCGHGHAGGHHFGHHHGCGGGGGGFGFGFGGFHHGGGGGGGHHHHHGHHGHHHHGHHHEFGHDGHHHHHHHGFGGHHHHBHGGGGGHHGHGG-DEHGHHHHHHGHGHEGGFGGGGGGGGEGG?EGGBBFFFGGGFFFFFFFFFFDDF..AAFBEFDFBE.@;9DDF?FFFFFF;DFF/FDD=DFFF/BFFFFFFFFFFBFFDCFFFFFFEFFF.ACDFBFFFFFFF
 @SRR1222430.75 75 length=251
 GCTGCTGGTATTGATGATGTTCTGCACGCTGACAAAATCATCGAGCAGCACCATCCCGTGGGCGCCTTTGATCGGCGTCCAGGAGAGGATTTTTTTGTTTTGCAGATCGACCACGGCTTCAATGACGTGTTTGCCATCGAGCATCACCACATCGGCAGTGCGGGGAGTATCGACCGGTGTTCCCTGCAGGGCAAAGGCCCACACCGCGGCTTTATCCGGCTCGTGCAGGGAAATTTCGCTAAAGCGGGTAT
 +SRR1222430.75 75 length=251
 CCCDDFFFFFFFGGGGGGGGGGHHHHHGGGGGHHHHHHHHHHHHGGGHHHHHHHHHHGHGGGGGGGGGHHHHHGGGGGGGGHHHGHGGHHHHHHGGGHHHHHHHHHHHHGGGGHGGGGGHHHHHHHGGGHHHGHHHHHGHGGGHHHHHHHHHHGGGGGHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFDFF
+@SRR1222430.76 76 length=251
+GGGCTGAAGGAAGTCGCTCGCCAGTTAACGAGAAATAATCTGAGCCGTGCAACCGACCTGTTGTCGATTACGCTGAATAAACTGCGTACTCTCCCGCGGCTGAACAGACGTACTTTTGCCAAAGAGCTGCTTCGCGCCGTCGATATTGGCATGCTGACATGCCCGGTACCAAACAGCCCGAAAGAACTTATGCGCCTGTTCAGCAGCACGCTGCGAGATATGGGGATCGCAGAAATTTATAACGGTACCGT
++SRR1222430.76 76 length=251
+@AAAAAFFFCCF1BFEEAGE0EE?GGFDG0A0EE1GGBGDDFGHGHG/AEGHHHGGGGCFBBBFFEEFGFHCEEGFBGGFHFHHEEE>/CDDF>>EE</@//F<<1<0FCGHHGHEF<D<1??<0?FH1FCGB@.-<--<-<ACG@CCBBCFHGGHHHGGF0FGB@9@CF09;:FBF9C?=@@F/FF/BBF/BBBB-E9F/B/BFA-AF@--9B=->;;BBFFFBE-9;A-B@/9/BFFFFFF?--9-B?-
 @SRR1222430.77 77 length=250
 TAAACTCGACCGGGCCGAGCGAAAGAAAGTCCTGGCGCTTGCCCAGTCCAGACAAATTGATGCAATCCTGGTCACTGAGCTTTCCCGGTGGGGGCGCTCGACGCTCGATCTGCTCAATACGCTACGTGAACTGGAGAACTGGAAGGTTTCCGTGATAGCCATGAATGGAATGGCGTTCGATCTTTCGTCGCCGTATGGACGAATGCTGGCGACGTTTCTTTCCGGCATTGCGGAGTTTGAGCGGGATCTC
 +SRR1222430.77 77 length=250
 BBBBBFFBBBBBGCGGFGGGGGGGGGGHHFGHHHHHGGGGGHHHGHHHHHHHGHHHHHGHHHHHHHGGHHHHHHHGHGHHHHHHEHGGEEEGGGGGGGGGGGGGDGGGHHHHHHHHHHGHHGEGGGFHCEHHHHHGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFDFF;FFF>DFFEFFFFFFFFFFFFFAFFFFFFFFFFFFFFFAFFFFFDFFFFFFEFAFFFFFFF
+@SRR1222430.78 78 length=150
+AAACGTCGTGTATCCGGAAGACACGATTGCCCGCATCACGATTAAGGGCTCGAATGACAGCAACAGCAACCGTGAGCAGAAGTATAATATGCTGGCGCAGCGGCATACCATCAGCTACGACCGGACAACCGGCGCGGTTGATTACACGCT
++SRR1222430.78 78 length=150
+CCCCCFCCCCBFGGGGGGGGGGHHGGHHGHHHGGGGGHHGGHHGFHHHGGHGGHHHHHHHHGHHHHHHGGHGGGGGHHHHHHGHHGHHHHHHHHHGGGGGGGGGGGHHHHHHGHHHHHGGGGGGGGGHHGGGGGGGG:CFFGGGGGGGGG
+@SRR1222430.79 79 length=136
+TCATGGCGCATGCGGAAGATCAGCTCCGCCAGATCCTCGGTCTCCTTCGGGTTCATCCCGGCGGCCGGCTCATCGAGCAGGAGCAGCTTCGGCGCGGTGGCCAGCGCGCGGGCGATCTCCACTTTGCGCTGGTTGC
++SRR1222430.79 79 length=136
+DDDDCFFCCDDDGGGGGGGGGGHHHHHGGGGGHHHHHHGGGGGHHHHHHGGHGHHHHHHGGGGGGGGGGGGHHHHHGGGHHGGHHHHHHHGGGGGGGGGGHHHHGGGGGGGGGGAGGGGGGGGGGGGFFFFFFFFF
 @SRR1222430.80 80 length=251
 TGAATACCCAGCTCACCGAGCGCCGCCGGATTGGCGAAGCTTGGCGCTTCGGTCATCAGGCAGGCGGCCGCGGTGGTTTTCGGGAAAGCGATAACGTCGCGGATGTTATCGGTACCGGTCAGCAGCATGGTCAGACGGTCAAGACCGAAGGCCAGACCTGCATGCGGCGGCGTACCGTACTTCAGCGCATCCAGCAGGAAGCCGAATTTCTCACGCTGTTCCTGTTCGTTAATGCCCAGAATACCAAATAC
 +SRR1222430.80 80 length=251
@@ -126,10 +322,18 @@ CCCCCFFFFFCFGGGGGGGGGGGGGGGGGGGGHHHGGGGGHHHGHGGGGGGGGGGHHHHHHHGGGGGGGGGGGDGGFGHG
 CCATGTCACACTCCTTATAAAAAACCAGATTTCATACCTTATAAATTTCTGCCATTTCCACATGAATCGTCCATGAATCGAATCGTGAATCGAATCTAGATTCATGACGCTTTTTTGCAATTCACCTGACGAATCACATCACGAATTGAATCGCGAGTCAATTCACCTTAAACTCCTAATTTTAATACAGTGAATCGTAAGCGATTCATTAGCGATTCGTTTATGAATCGTCAGTGAATTGCCAACGATTC
 +SRR1222430.81 81 length=251
 BCCCCFFFFFFFGGGGGGGGGGHGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHGGHHHHHHHHHHGHHHGFGHHHHHGHHHHHHHHHHHHGGGGGHHGGHHHHHHHHHHHHHGGGHGHHHHHHHGGGHHHHHHHHGGGGGHHHHHHGHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGHHHHHGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFB
+@SRR1222430.82 82 length=251
+GCGGTTGTCACGATTGTCGCGGTTATCACGGCGGTCGTTGCGGTCGCGGCGGTTTTTTGCGCGCCCACAGGCGGCCGGCCAGCGCCCCCGGAGCCGGGCCCCGAAGCACCGGCTGGCGGAGCGCCCCCCGGTATCTCGCCCCGGACGCCCCACCCCGCGGCCGGGGGGGGAGAAACTGAAGCGGGGGGAAAGACCAGATCGGAAAACACACCGCCGAACACCAGGCCCCCTTTAATCACCGTTGCCCGCCT
++SRR1222430.82 82 length=251
+BBBBBBBBFFFBGGGGGGGGGGGGGHHHHDGGGGGGGGGCAEE>E/EFG/EE/</??/<2</</A//..0.>-------:-.:9------9---.------;--;--/.:-----..--;------:-----9.///..:.--;:BA-99-....9----;-9-->--B---..///::://-:--;--;../.....//:...-./.....:----;--.;......;-:.;/B///9......//.9-.
 @SRR1222430.83 83 length=250
 GCCATGCCGGTAAATGTCAAAACCTTCCGCCATAATCCCGCGATACTTCGCCGGGAACAGAGCGGCTCAAAGGTGGACTTACTATGCAGATTGGTTTTATCGGCCTCGGCGCGGTGGTGGAAACCGCCTATTTACCGGCGCTGCGTCGCCTGGGGGACGTCATCGACCGCTGCCAGGGCTATGACCTGGACTGCAGCAGAGCGCTGCCGGGGATCCAGCGCTGTAGTTCGCTGTCGGCGCTGCTGGCCGA
 +SRR1222430.83 83 length=250
 CCDCCFFFDDBBGGGGGGGGGGHGHHHHGGGGGHHHHHHGGGGGGGHHHGGGGGGGGGHHHHHGGGGGHHHHHFGGHHHHHHHHHHHHHHHHHHGHHGHHHHCGGGHGGGGGGGGGGFGGHHHHHGGGGGHHHHHHGGGGGGGGGGGGGGGFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.84 84 length=251
+TCCGCCTGATGGGCTTCGGCCATCGTGTTTACAAAAACTACGATCCGCGCGCCACCGTAATGCGTGAAACCTGCCATGAAGTGCTGAAAGAGCTGGGCACCAAAGACGACCTGCTGCAGGTGGCCATGGAGCTGGAGCATATCGCGCTGAACGACCCGTACTTCATCGAGAAGAAACTGTATCCGAACGTCGACTTCTACTCCGGTATCATCCTGAAAGCGATGGGCATTCCGTCCTCCATGTTTACCGTT
++SRR1222430.84 84 length=251
+AAA?AAAAFFFFECG11A0EG?CHGCEAFGHCBGHCFAEGGC/F//0FEGGEGFGFEGGACHH?/E?FGDF0FHHGGHHEHDFBEHFG1FFCFGGF/FFCAHHHBFFCCC/?BG1CGGHC@1FH0CGHCFH0?CFAFGHDDGHGG@CCG?DCCF@CCGC@CGBFHBCFGGEBFFFGGGGFG0BFGGG??.C@@?AAFFFBFFFF@@;-BFFFBF/;BBFEF--9AE--9//BFBF?A/9BFFF9/BFFFFA
 @SRR1222430.85 85 length=251
 TATAGCCATAACCAGCTGTACGGCGTCTGGCGTGTGGTGGATGCCGGCGTTGAGCCGCAATCGAACCGCGTACTGCGCGTCAGGCTGCAGACCGCCAGCAAGGCGATTTTGCTCTACAGCGCGTCGGACATTGATATCCTCACGGCGGAGCAGGTTGCCAACCATCCGTTCTTGCTGCGCGTCGGACCGGACGTGCTGGACATGACGTTAACCGCGGAGCAGGTGAAAGCGCGGCTGCTGTCGGCCAAATT
 +SRR1222430.85 85 length=251
@@ -138,262 +342,58 @@ CDDDCFFFFFFFGGGGGGGGGGGGGGGGGHHGGGGHGHGGHHHHHGGGGGGGHHHHGGGGGHGHHHGGGGGGGHHHGGGG
 TGGGCCTTCATGCCAAAGTGCCACTGATTGCCTTTCTTGGTCTGATGCATCTCCGGATCGCGTTGCTGCTCTTTGTTCTTGGTAGAGCTGGGTGCCTCAATGATGGTGGCATCCACCAAAGTGCCTTGGGTCATCATGACGCCTGCTTCGGCCAGCCAGCGATTGATGGTCTTGAACAATTGACGGGCCAGTTGATGCTGCTCGAGCAGGTGGCGGAAATTCATGATGGTGGTGCGATCCGGCAGGGCGCT
 +SRR1222430.86 86 length=251
 BBBBABBFFFFFGGFGGGFGGGHHHHHHHHHHGHFHHHHHHHHHHHHHHHHHHHGGEGGGGGEGGGHGHHHHHHHHHHHHHHHHHHHHHHGGFEGHHHHHHHHHHHGFGGHHHFGHFGHHHHHHHFHHHHGHHGHHGHHFGGGHHGHHHGGGGGGGGHHGGFHHGHHGHHHHHHHHHHHHHHHHGGGFCGHHHHFHHHHHFHGGGGGFFE9FEGGD?BGFFFFFFFFFFFFFAEFFFEEDFFFACFFFFF@
-@SRR1222430.91 91 length=249
-TTACCATCGCTGGCCTGCTGGAACTGGCCCTGGGCCAGCGCCGCCATACCGGGGTTGGCTTTAGCTTCGGCCAGCACTTCGTCCTGATGGCGCGACGACCACGGCCCCGCCCACATAACGTTGACCGCCGCCACCGCGCCAGTGAACAGCGCAAGGATCATCGCCGCCTTGATCAGCACGGCTTTGCTCAGGCCGCAGGCGTGCATCACCGTAATTTCACTTTCGGTGTACAGCTTGCCGAGGGTCATC
-+SRR1222430.91 91 length=249
-CCCCCFFFDDFCGGGGGGGGGGHHHHHHHHHHHGHHGHGGGGGGGGGHHHGGGGGGGGHHHHHHHHHHGGGGGHGHHHHHGHGGGHHHHHHGGGGGGGGGGHGGGGGGGGGGGGGHHHHGHHHHHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFHHHFHFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.92 92 length=251
-TTGGTATGAGATGACATGTAAACAGTCCGTGATATTATTAGTTTTCAGACATATTCATTTAAGAATTCATATGCCGGCATGACATTAATGCATCATAATCTAACCAGGAAGTCAGCCTAATATATCATTATGGAGTAATACATATCGGTTGTTGTTAACTTAAATGACGGCTGTTGCCATAGTTAATATTTGTGATGTGTACTGCAGGAGGGATAAAAAATTGCCATTAAGGCTTGTAACTTCTGGACAGC
-+SRR1222430.92 92 length=251
-BCCDBFFFFFFFGGGGGGGGGGHHHHHHGHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIHHIIIIHHHHHGGGGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHGHHHHHHHHHHHIHHHHHGHHHHHHHHEHHHGGGGGGHHHGHHHHHHHHHHHHGFGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHFHGGGGGHHHHHHGHHGHHHHHHHHHFHGGGGGGGGGGGGGGGG<
-@SRR1222430.95 95 length=250
-GGCGGGGTTGGCGATGATGCGCAGCAGCGGCTTATCGGTTTCCGGCAGCATCATGCCGCCCACCTGCTCCCCCGGATGGCCAATCACGATGCCGTGGCGTTCCGGCAGACGGTCGCGCAGAGCGCTGAAGGCGATGCCGCGATAGTCCGCCTGGATACCCAGTCAGGAGGAGATCAGCGCCGCGGCGCTGAAGACGTCCGCCGACGGCTTGGCCCCATAGGCGACCGCAATGTCCGCCGGGGTCATCTGC
-+SRR1222430.95 95 length=250
-BBBBBBBDDBBFGGGGGGGGGGGGGHHGGGGGGHHHHGGGGHHGGGGGGHHHHGHHHGGGGGGGGHHHHHGGGGGGGGGHHHHHHEHDGHGGHGGGGGGGGGHGGGGGFHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFADFFFFFDFFFFFFFFFFF=FFFFFFF
-@SRR1222430.3 3 length=236
-CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
-+SRR1222430.3 3 length=236
-CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFABF
-@SRR1222430.8 8 length=250
-CGCGCGGGTAATTTTCAGCTGTGTCCCCGGACCGGCGACAAACCCCATGCAGTTAATCACGGTGGTGAATCCACGAAACTGATCGGCCAGCGTCTCCATGGCGCTACCGGCGATGTCGACGGCGAGGAAGGTGGCTCCGGCGTCGGCCAGCGCCTGATGGTTTGCCGACCGCAGCTGGCCGGCTTCATCCCAGGCCGCCGGCGAGACGATGACCGAGACCGTGCCCTGGCGCTCGATTACCGCAGGCACC
-+SRR1222430.8 8 length=250
-AAABBBBB>ACFGGGGGDGGGGHHGGHHGGGGG0EGEGGGGHGGGGGHHHHHHFHHDHHHEDFGGEGHFHHHHHGGGGGHHHHHCGCFGHGGDFGHHHHHEHGGGFGHGCCGGGGCFHEGGGGG?CGGGGG;FEFGGGFFFFDFCCDD=AEFFFFFFFFFBFFFFFFFFB=DABCFFFFFFFFFFFFFFFFFF.EFFFFCFFFAAAFFFFF/BBB;9@DFCFF?AFFFEFAA9DF-9BDFFDFFAADFFF
-@SRR1222430.10 10 length=251
-CGTCTCGCTGACCAGGGCGTTTTTCGCCTGATTGCGCGACATCACCAGCAGGTCGTTGATCATGCTGTCCAGCCGGTGCGCTTCGGTTTCGATACGCTCCAGCTCCTTGCTCTCTCCGCTGCGGCGACGCAGCAGGGCGGTACCCAATTGCAGGCGCGTAAGCGGCGTGCGCAGCTCGTGCGAGATATCGGACAGCAGCCGCTGCTGGCTGGTCATCATCCGCTCCAGGGCCGTCACCATCTGGTTAAAAC
-+SRR1222430.10 10 length=251
-BBBBBFFBBBBFGGGGGGGEFGGGHGGGGHHHHHHGGGGGGGHGHHHHHHHH1FEEGHHEHHHHHHHHHHHHGGGGGGGGGGGGGGGGGHGGGHGGGGGGHHHHHHHHHHGHHHHHHGGGGGGGGGGGGGGGGFGEGGGGGGGGGGGFFFFFFFFFFFCFFFFFFFFBCFFFFFFFFDFFFADFFFFFFF;ABFFFFFFFFFFFFFFFFFFFBFFBFFFFFFFFFFFFF??DCFFFDFBFFBFFFFFBFF/
-@SRR1222430.13 13 length=242
-AAGTGGAGATCACCGTCCTGGCCGCGGAAAAACTGTTGGCCAAAGGGGTAAATGTGCGGGTCGTCTCGCTCCCTTCCACTGATGTGTTTGACGCCCAGGATGAGGCCTGGCGCGAATCGGTGCTGCCGTCGGACGTCAGCGCCCGGGTGGCGGTCGAAGCCGGGATAGCGGACTACTGGTATAAATATGTCGGCTTAAAAGGCAAGATCGTCGGCATGACCGGCTATGGCGAATCCGCCCCG
-+SRR1222430.13 13 length=242
-BBBABFFBFFFFGGGGGGGGGGHGGCGGGGGHGHHHHHHHHHHHHHGGEEHHHHHHHGGGGGGGGHHHGGHGGHHHHHHHHFGHBGGHHHHGGGGGGGGGHHHHHGFHGHHGGGGCGGHAEDAHHHHGGGGGGGGGGGGHGGGGGGGEGFGGFDFFFFEFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFAFCFFFFFFFFFFFFFFFFFFFFFFFF?BCF
-@SRR1222430.16 16 length=233
-CGCATCGCCGCCTTGCCGGCCATTGCCTCGATTAAAATTCCCGGCCTGCCCGCGCCACAGGCGAGCGAACGTGTAGCGGCCCTGCGTCAGCATCTTCCCTCTCGCGTTACGCTTGGCGTCAGCGGCGATGCATGGGCCACTGCCGGGTTGCAGGCCGGCTGCGAAGCCTGGTATTCGGTCTGCGCCACATCACCGCTACGTATCGCTCTTACCAGCGCCAGTGAGCAGCGGGG
-+SRR1222430.16 16 length=233
-BBBBBBBBBBBBGGGGGGGGGGHHGHHHHGGHHGHHHHHHHHGGGGGGHHHGGGGGGGHHHGGGGGGGGGGHHHHHHGGGGGHHGGFGGGHHHGHHHHHHHHHGGGGGGGGGGGGGGGGGGGHGGGGGGGGFGGGGGGDGGGGFFFF9ACFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.19 19 length=251
-CAATGGCGAACTTGATATGGCGATGACCGCCCTGCCTGTCGAGGAGGATAGCAGCCTCACCATTCTGCCGTTGTTCAATCACCCGCTGTGCGTCCTGACGCCAAGGACCGCGGAGTGGGAAGGTAAAACCTCGCTCTCGCCGGCCGAGCTGGCGTCGCATCCGCTGGTTATCTACAACGAGGAATTTGCCCTTAGCCAGCAGCTGATGCGGCTGTTTGCCGAGCATGACGTGAAGCCACGTATCGCGGTGG
-+SRR1222430.19 19 length=251
-1AAAAFB1>DDAFGGFDG3DEEGCFHHCEGGGEHHHHHHFCGG?/EEE011GFGBFHFFGHBGHGGHGF?EEGFGHHHHHHHHHGGGGGHHGGGGGHGGEGGGGHGHHHGGGGACAHFHHGFFGGHGHGGFHGGGHHHGFCGCGGG@@GGFGB@GGG?@F@FFFF@@/:FFFFFFFFF?EF@@FFFFFFFFFFFFFFFFAFFFBFFFBF??@@@FFBBFF@<@?>FFFF-;-9A9FFBF@EFFFF-@?9@-
-@SRR1222430.22 22 length=251
-CATGGACATGCTCCCCGCCGACCTGCTGCGCTATATCACCCAACACCGAAAAACTGCTTACCACATTCAGCGTTTTCGCCATGGCCCCCTGCGCCATCAGGCCGAGGGCCAGCGCGACCACTATTGCACTACGTTTCATCATTTCCTTACCCCATCAATGTGCGCCAACCGACCAGCAGCCGGCTGCGCGTGCCAAAAAATAGCGAAACAAAAAACAGTGCGCTGGCGGTCAGCACAATAGCGGGCCCGGC
-+SRR1222430.22 22 length=251
-CCCCBFFFFFFFGGGGGGGGGGGGHHHHHGGGGGHGHHHFHGHGGGGGGGGGHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGHFHHHGGGGHGGGGGGHHHFGGGFBCEGGEGGGDGGCGHHHHHHHGHHHHGCGGHGHHGFHHGHHGHHHHEDFGGGGGFGGGGGGGGGGFCFFFFFFFFFFFFFFFFFFFFEFF:EFFFFFFFFFFFFFFFFF?AF9FFCFFFFFFFFFFFFFFFFFFFFCFF;BFFF-
-@SRR1222430.25 25 length=251
-CCACGCCAACCGGAGAAGGCACCACCTCCGCGCGGACGTTCGCCCGCCTGCGGCGCTGCGTGTTGACCAACGGTTTTTCCATTCGCTAACCGGGGGCGCCATGCATACCTTTTCTCTGCAAACGCGCCTCTACAGCGGCCCGGGCAGCCTGGCCGCGCTGCAGCGCTTTAGCCATCAGCACATCTGGATCGTCTGCGACGGCTTCCTGGCGCGCTCGCCGCTGCTTGACCGACTGCGCGCCGCGCTGCCCG
-+SRR1222430.25 25 length=251
-DDDDDDDDDCDCGGGGGGGGGGGHHGHHHGGGGGGGGGGGHGGGGGGGGHHGGGGGGGGGGGGHHHGHHHGGGGGGGGHHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFBFF;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFA=DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFAFFFF.
-@SRR1222430.27 27 length=250
-ATGGTTTTATACGGATATTTACGGGCTTTCTGCTGCCGCAGTCGGAGTGATGTTCCTGGTGACGCGGGTTCTGGATGCGATTACCGATCCGCTAACCGGCATTGTTGCAGACCGTGTAAAGACCCGCTGGGGCCATTTTCGCCCGTGGCTTATCTGGTTTGCCGTACCTTATGCCGTGCTGGCGGTAATGACCTTCACGACTCTGGAATTTGGCGCATCGGGGAAACTGGTTTATGCCTACCTGACCTAC
-+SRR1222430.27 27 length=250
-BCCDCFFCFFFFGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGHGGGGGHGHHHHHHHHHFHHHGGGGGGGHHHHHHHHGGHHGHHGGGGGHGGGGHHGGGGGHHHHHHHHHHHGDHHGHHHHHHHGGGGGGGGGGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGFGFFFFFFFFF@A900BBF0F0:B..9AAFBB:B0FF0:B;DD?-9AF-;:A/BFF0:F0;0:BFFBA00/BF00/
-@SRR1222430.35 35 length=244
-TGCGTATCGTCGAAGAACGGCGCGATCAGCGCGTCTTTCGCCGCCTGCGCCGCGCTCTCCAGCGAACGTACCGAGGTGGTGCCCACCGCGATCACGCGGTTGCCGCGCGCTTTCGCCGCCAGCACCGCATCGACCACCTCCTGCGGCACTTCGGCATATTCGGAGTGCATGGTGTGCTCTTCAATGCTGTCGACGCGCACCGGCTGGAAGGTGCCCGCGCCCACATGCAGGGTGACAAACGCCA
-+SRR1222430.35 35 length=244
-ABBBBBAFBFABGGCGGGCFGGGEEFGGHFFFGGGGGHHEEGGGGGHHGGGGGGGGGHGHHHHGGGGGEHHGGGGGDGGGGHHHHGGGGGCGGGHGHGGGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.9BFFFFBFEDFFFFFFFFFEFFFBFEFFFFFFFFFAFFFFFFFFFFFFFFFFFFFADFBBFFFFE@9;EFFFF?DFFD
-@SRR1222430.54 54 length=251
-CACTGAGAACCCAGATGTAGTTGTCCTGAAACGCGGGAATACTGATAAGATTCATAAATTACCTCTAAAGCGTAGCGGAAGGTGGCAATGAAGCCGGCAAGGATACCTCACACAGTGACAGCGCCTGAGCATTGGTCCAGTATGCCGTGGGGCGAATACTATCGCGAAACGCTGGAGCAGCAGATGAAACCGTGGCTGGCTAAATTATATGGCTTTCATCTGCTTAAGATTGGCAATCTGAGCGCGGAAAT
-+SRR1222430.54 54 length=251
-BBBBBFFFFFBBCGFFGFGGGGHHHHHFHHHHGGGGGC?GFFHGGHGFHGHHHHHHHHHGHHHHHHHHHGHGEGGGGGFGGGHGGHHHHHGHHHEGGGGGGGGGGFHHHHHHHGHFGHHFGHGGGCHGHHFHGHGGGHHHHGHGHHGGGGGGGGGGGFHHGFFFGGGGGGGFGGGFFFFFFFFFFFFFFEFFAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA;B
-@SRR1222430.58 58 length=251
-TGGTAGATTTTAGCCGTGCCGCCCTCCATCATGGCTCTAATCAGATCCTGGTCAGTGGTGCGTGCCGGCAGCGGCGTGATTTCACTGTTCTCCCCGAAAATCAGCGTACCGGTGAGCGTCATGATGAATTCCTTCAGCTCCTTATTGCCGTCGAAGAGCCGGTTCTTCGATAAGGCATTCCACATGATGTTGATGTTTTTCATCACACGTTCTTTGTCTTTATCGCTGGCCTTATCCTGGACGCTGTCCAT
-+SRR1222430.58 58 length=251
-AABAAFFFFFFFGFGGEGGG?FGGGFECGHHHHFFFGHHHGHHHHHHHHHHHHHHHFHHGGGGGEHGCGGGFCECFEEFHHHHHHHHHHHHHHHGGCGGGHHHHHGGGCFGGGGGFHFGGGHHGHHHHHHHGGHHHHGFHHFGHHHHHHGDGGCGGGFHHFGGD.FFGGEGGGGGGGGGFGGGGGGGGGFGGGGFFFFFFFFFFFFFFAFFBEFFB9BBFFFFFFFFFFFFFFEFFFFFFFFF;FFFFBFF
 @SRR1222430.87 87 length=251
 GACGAAATGGCGGCCCACGTCAAAAGCTTCGATTTCATCCTCAACACCGTGGCGGCGCCGCATAATCTCGATGCCTTCACCACGCTGCTGAAACGTGATGGCACCATGACGCTGGTTGGCGCCCCGGCCACGCCGCATCCGTCGCCGGAAGTGTTCAATCTGATCTTCCGCCGCCGGTCAATTGCCGGCTCGATGATCGGCGGTATACCGGAAACTCAGGAGATGCTCGACTTCTGCGCCGAACACGGCAT
 +SRR1222430.87 87 length=251
 CCCCCCCCFFFCGGGGGGGGGGGHHHHHHHGHHHGHHHHHHHHHGHGGGHHGGGGGGGGGGGGGHHHHHHHHHGHHHHHHGHHGGGGGHHHHHHGGHHHHHHHHGHHHHHGGGGGHHGGHGGGGGGCGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99ABBFFFFFFFFFFFFFFFFFF/BDFFFFFB/B-@A@A-99FFFFF9
-@SRR1222430.90 90 length=251
-CAGCTATTGTGGCCAGTCCGGGCATAACTCGAATGCCTGCCCACATAATGCGAGCAGCGGTCGACGGCGCAGCCTGAATGACGACTTTACCCTCGACTGAACCGATAGCACGATGGCAGCAGGCGGAATTGATTTCAATGTGAAATTATTCAATGTCAAATAATCGCATTGCGCGATGATGATAATAGATATCATTTGAGGGGGTAGGGGGGATCAAATCCCTAACCCCTTTCGCGCTTCGGGACTGCCGC
-+SRR1222430.90 90 length=251
-AAAAABFFFDFAEGGGAFGGG?0EFBD1GDEGCFAFFFD0BFFGEHHHFGHGGGGCFEEEFEGGC?@>EEEEEFHGHHHGGHGGGGGHGHFFHHCGGGGGHHHGGGGGFHHGGHGEEHCGHHFCGGGGGHFBFHHHHHHHHHHFFHGFFGGGGGGGGGGGGGGGFGGEGFFEB@G@?FFFFFFFBFFFFFFFFFFFFFEFFF@@@FFEFF@@=AEFFFFFFFFEFBFFBEFFBBF@<@FF@FF@@?E//@-
-@SRR1222430.96 96 length=251
-TATCGGCCAGCCGTTCATGTTCAGTCCCGGCGAAACGCTGCTGCCGGCGGGGAATGACCTGCTGGTGGGCCACCTCGTGTCCGGCCTGCTGCAGACGCTCGACGCCGCGGGCTGCCGCCTGCTGGTTGATGCAATACCCGGATGGCGCGACCAGATAAAACTGAGACATGATAATTCCTTGCTATGAATGAAAGGGTTATGATGCCGCCTGGAATGGCGATTGTCATCTCCAGGTGGCTAACTTCAGTCCG
-+SRR1222430.96 96 length=251
-BBBBBBBBBBBBGFEGGGGGGGHHHHGHGGGGGGGGGGGGGHHHGEGGGGGG?EGFHGF220F?G2BDCEGDFHFFGFGHFF/C-C.C01G1GGHF??DGG-:@-C@DC?D?-..A-9BDAFBFFBBA/B/BFFFFEFF?@-9-;B=?9-;B-99BBFFFFFFBBFFEFFFFFFBFFFEFB/B9BFFFF/99B9FF.;AFFFFEFFAF;AAEBFFFF.B-;E?BFFF/;99BFF/FFFFFFBBFB/FB/F9
-@SRR1222430.2 2 length=250
-AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
-+SRR1222430.2 2 length=250
-BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
-@SRR1222430.12 12 length=251
-GTCGCTGCTGAAGTTCCGCCGCGAGTTCGATCAATACGTCAACCTGCGCCCGGTGCGCCTGTTCCCCGGCGTCCCCTGCCCGCTGGCGGGTAAAAAGGCCGGCGATATCGATTTTTACGTGGTGCGCGAAAATACCGAAGGCGAATATTCCGCCCTCGGCGGCCGCGCCAATGAAGGCACCGAGCATGAAGTGGTAATTCAGGAGTCGGTCTTCACCCGCCGCGGCGTTGACCGGATCCTGCGCTACGCCT
-+SRR1222430.12 12 length=251
-CCCDDDDDFFFFGGGGGGGGGGGGGGGHGHHHGHHHHHHHGGHHHHHGGGGGGGGGGGGGHHHHHHHGGGGGGGGHHGHHHGGGGGGGGG-CHHGHGGHHGGGG?CGGHGGGGGGGEFEBFE9AB?-D?@DABFFFFBF=F?D-CDFFFFFFFFFFFCFF;FAFC;@BDDFFFFFBFEFFFCACFFFFFFF;FFBFFFFFFFFFFFFBF:DDFFFFFFDFF;B=>>@-@-.:FFFD?CF:BB--@BFD=C.
-@SRR1222430.14 14 length=251
-GCAGCACCTACATTGTCACCACCCAATACCTGCCGAACTTCTCACCGATGACGGTCGCGATGCTGCGGGCGTTGCCGGCGGGTTTTTTTCTCGTGATGATCGTCCGACAGATTCCAACGGGAATCTGGTGGGTGCGCATCTTCATCCTCGGCGCACTTAATATTTCGCTTTTCTGGAGCTTGTTGTTTATTTCGGTCTACCGCCTGCCGGGCGGGGGCGCGGCGACGGTAGGCGCTGTGCAGCCGCTGATG
-+SRR1222430.14 14 length=251
-CDCCCFFDFFFFGGGGGGGGGGGGGHHHHHHHHHGGGGHHHHHHHHGGGGHHGGGGGGGGGGGHHHGGGGGGGGGHGGGGG><FD.FD-/0=..G//<<0<./CDC.;-@CCG0C0C0.AD.9/:;0F0:9-:C.;>@?-BF00;:FF0.D.AA-:@F0;:BBFF0/9..;B0:000;/;B/AB.:AF0:FF0/;A.A0:BCDC...:9@F;BDFF--9:9@-9-;B-.;.A09-:;DF0;;0:----.00
-@SRR1222430.28 28 length=222
-CAGACCGTCTCATCCGCTAACAATACGTGTTTTAGATCGCGATCCGCAGTGGAGTGCACAGCGACAGTCTTGATGCCCAATTCTTTACAGGCACGCAGGATGCGCAGTGCGATCTCGCCACGGTTAGCGATGACAATTTTATCCAGCATTTCGACGCCATCGATATCGATGCTCAGTCCAACAAGCCAGGTCTTCATACGCGCTTCACCTCATCGATTGCCG
-+SRR1222430.28 28 length=222
-CCCCCCCCCFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHGGGGGGHGGGGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGHHGGGGGGHHHGGGGGHHGGHGHHGGGGGGGFGGHHGGHGHHHHHHHHHHHHHHHHHHHHHGGCGGGGHGHHHGHGHHHGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.50 50 length=226
-CAGGAAAGCCACCAGCTGGCGGGCTCTGATCTCCCCCACGCCCGGCAGCGTGCGCCATTGCGCTTCACTTTTTGCCGCCAGCAAATGCCAGTTCTCGCTTTCGAGCTGCGCCAGCGCCCCCTGCGGCACCGGGATCCCCATCGCCAGCACCCAGCGGATAAAAGGTCGTTTGCGAACGAGATCAAACTGATGCCAGAGGTGCTGCCCGCGGGCGGCGGAAATCCCT
-+SRR1222430.50 50 length=226
-CCDCCFFFFFFFGGGGGGGGGGGGGHHHHHHGHHHGGGGFGGGGGGGGGGEGGGGGGGHHHGGGGGHHHHHHHGHHGGGGGGHHHHGHHHHHHHHHGGGHGHDGHGGHHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.57 57 length=218
-GGACATCCAGATCACTCTCGACAACGACGTGCTGATGGTGCGTGGCGAGAAGCGCCAGGAACAGGAGAAGAAGGAAGGTGGCTTCCACCGTGTGGAGCGCTCCTACGGCAGCTTTCAGCGTGCCTTGAACCTGCCTGACGACGCCAACCAGGATTCGATCAAAGCATCGTTCAAGAACGGGGTGCTCACGGTCACGATCGACAAGCGCGAGGTCAGCG
-+SRR1222430.57 57 length=218
-CCDCCFFFFFFFGGGGGGGGGGGGHGGGGGGHGHHHHHHHHGFGGGGGGGGHHGGGGGHHHHHHHHGHHHHGHHHHHGGHGHHHHHHHHGHHHHGHHHGGGGGHHHGGGGGGHHHHHHGGGGGHHHHHHHHHHHHHHHHGGGGGGGGGGGHGHHHHGHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFF
-@SRR1222430.60 60 length=250
-CTCCGCGGCCACCTATGGCGGACGCACCAGCGACTTCATCGAGTCCCGCGAGTACGAACAGCCGCTGAACGTTTACGGCTACTCCAAATTCCTGTTCGACGAATACGTCCGCCAGATCCTGCCGGAAGCCAATTCGCAGATCGTCGGCTTCCGCTACTTCAACGTCTACGGGCCGCGCGAAGGCCACAAAGGCAGCATGGCGAGCGTCGCTTTCCACCTCAATACCCAGCTGAATAATGGCGAAAGCCCG
-+SRR1222430.60 60 length=250
-BBBBBBBBBBBBGGGGFGGGEFGGGGCGHHHEFCGFHHGHHHGHHFHGGGGGGHHGGHCCGHHGGGGGHGHGHHHFFDC@DHHHHFFFHHHHGHHHHGHG?DGGFDGGHGGGGGFFHHGH<CHGGGG?EFFFGGEFGGFGGGEFGGGGFFFF?D?AFFFFFFFFEFFFFF.@FFFACFFFFFFFFEFFFFBFFFFFFFF?AD@=FFAD9BDFFFFFFFAF/BBB/BBFEFFFFFFFFFFEBDFA>.BFFA
-@SRR1222430.68 68 length=215
-AAGCACATCGCCGGATTCTGCTGGTAAGTGCGCTTTATCGCTTCGCTGGCGACTTTCGGCTGGTAAATCTTATAGCAACCGTCCTCAATCAACGCCAAACGGCAGCGCAGCGCGTCCCCATAGCGATCGACGATTTTGGCGATCCCGTGCATGGTGGTGAACAGCAAAATATCCGGCTGGCTGACAATGGCGCGGATAATGTCCGGCTTCTTATC
-+SRR1222430.68 68 length=215
-CDCDDFFFFDDDGGGGGGGGGGHHHHHHHHHGGGGGHHHHGHHGGGGGGGGGGGGHHGGGGGGHHHHHHHHHHHHHHHHHGGGGGHHHHHHHHGGGGGHHGGGGGGGGGGGGGGGGGGHHHHHHGGHGGGGGGGHGHHGHGGGGGGGGGGGGGGGGGEGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFF
-@SRR1222430.69 69 length=251
-GATCCTCGCCGATATCGTGCTGGCGCTCAGCGGCCACTGGAGCACGCTGCTGATCGGCGTCGCGCTGTGGGGGATTCATATGGGAATGACCCAGGGCCTGCTGGCGGCGATGGTCGCCCATACGGCGCCACCGGAGCTACGCGGCACGGCGTTCGGTATGTTTAATCTGATGAGTGGCCTGGCTCTGCTGCTGGCCAGCACCGGCGCGGGGGTACTGTGGGAAACTTTCGGCGCCGCCTCGACGTTTTCCG
-+SRR1222430.69 69 length=251
-B@BBCFFCCCCCGGGGGGGGGGHGGGGGGHHGGGGGGHHGHHHHHGGGGGHHHHHGGGGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHHGGGGGGHHHGGGGGGCGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFBFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFF;-;00::FF.AF.B0:00;---@--@-..99-;9:FA00.
 @SRR1222430.88 88 length=251
 ACCAACGATTTTTTCCAGACCTTTCTCGATATAGCCCGCGTCGTGAGAGGTGATGGTGGAAGCCAGGGCAGTGTCAAAATCAACAGGCGCGTGAGTGCGGTTTTCCTGTTTTACACCTTCCATTACGGTGTCCCACAGCTTGGTGGTCGCTTCAGTCGCGCCAGCCAGGAAGGATTCGTCGCCTTCATATGGGGTGTAGTTTTTCTGAATAAAGTCACGGACGTTGACTTCATTCTGCCAGTCACCTTTCG
 +SRR1222430.88 88 length=251
 >3>AAA?A?ABFFGFGGGGCCGEE55G23BFAAGHHCECAFGGEFFEDGE3BAEG335B?EEEGHEE1EFGGHHHHHHHHHHHHHFHGGGGEEEG3FDEEBDGGHGFHHHHHHGHHFHHHFHHGHHG?HEEFHHHHGHHHHHCFFFD<-CEHGHHGHGGGGGCGGGGGGEGGGGGGFEGGGBGGGFGGGGGFFFFBBFFFFFFFFFFF/FFFFFFFFFFFBBBFEFFFFFFFFFFFFFFFFFFFFFFFFF.
-@SRR1222430.5 5 length=208
-CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
-+SRR1222430.5 5 length=208
-CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.31 31 length=216
-GTTTCCGGACCGGGTAAACTGCTGCTCGGTCATTACCTTTCCCCACTGCTCCCCCTGCCATTCGCGGATTAACGTGAAGCCAAAGGATTCATACAGTTTGCGGGCCGCGTCCAGCCCTTTAAAGGTCCACAGCTGCACCGCGCTAAACTGGCGACTATCGCAGAAAGCCATCGCCTCGCTGAGGAGCCGCCTGCCAATGCCGGTTCCCCGGCAGCT
-+SRR1222430.31 31 length=216
-BABBBFBBBBBBGGFEFGGGGGHHGFHGGGGGHGHHHHHHHHHHFGHFHHHHGGGGEFGGHHHHGGGGGGHHHGHHHGHHHHHHHHHHHHHHHHHHGHHHHGGGDGGGGGGGGGHGGHHHHHGHHHHHHHHGHHHHHHHGGGGGGGHHHHGGGFGGGGGGGGGGGGBFGGGFFFFFFFFFFFFFFFFFBFFF.FFFFFFFFFF-AEFFFFFFFFFF
-@SRR1222430.74 74 length=251
-GTAACGCCGGCGTAATACGCGCGGCCAGGCTCATTGTAGGTCGAGGCGCCGGCATTTTCGCGATACAGTTGTTTATCAAATAGATTACTTATTCCGGCATTCAGGCGAATATCCCGGTTTAGCTGATACTGAGTACCAATACCCACGATGGAATAGGCGCCAACCTCGGTGGTGGCAAGGGTCCCGGTTTCGTTGCGGATCTCCGCATACTGACGCGGCTTCTGACGGCCATAAAGCGTCCAGTTCACATT
-+SRR1222430.74 74 length=251
-BBBBBBBBB@BBEEGGCGCGEFGGGGCGHGHAGGHHFGHHHGCGGGGGGFGFGFGGFHHGGGGGGGHHHHHGHHGHHHHGHHHEFGHDGHHHHHHHGFGGHHHHBHGGGGGHHGHGG-DEHGHHHHHHGHGHEGGFGGGGGGGGEGG?EGGBBFFFGGGFFFFFFFFFFDDF..AAFBEFDFBE.@;9DDF?FFFFFF;DFF/FDD=DFFF/BFFFFFFFFFFBFFDCFFFFFFEFFF.ACDFBFFFFFFF
-@SRR1222430.84 84 length=251
-TCCGCCTGATGGGCTTCGGCCATCGTGTTTACAAAAACTACGATCCGCGCGCCACCGTAATGCGTGAAACCTGCCATGAAGTGCTGAAAGAGCTGGGCACCAAAGACGACCTGCTGCAGGTGGCCATGGAGCTGGAGCATATCGCGCTGAACGACCCGTACTTCATCGAGAAGAAACTGTATCCGAACGTCGACTTCTACTCCGGTATCATCCTGAAAGCGATGGGCATTCCGTCCTCCATGTTTACCGTT
-+SRR1222430.84 84 length=251
-AAA?AAAAFFFFECG11A0EG?CHGCEAFGHCBGHCFAEGGC/F//0FEGGEGFGFEGGACHH?/E?FGDF0FHHGGHHEHDFBEHFG1FFCFGGF/FFCAHHHBFFCCC/?BG1CGGHC@1FH0CGHCFH0?CFAFGHDDGHGG@CCG?DCCF@CCGC@CGBFHBCFGGEBFFFGGGGFG0BFGGG??.C@@?AAFFFBFFFF@@;-BFFFBF/;BBFEF--9AE--9//BFBF?A/9BFFF9/BFFFFA
 @SRR1222430.89 89 length=250
 ACGTGCACTGGCATCCCGGGCGTAACAGCCGGGCCCCGCAACGCGTCGATACCCTGCAGCTGGATAATTTTCTCACCACCGGCTATCTCGATATCGTGCCGCTCGCCACGCCGCTGGAGTTTAAGCGAGAAGGGCTGCAGAGCGGCGTGCTGGATAAGCTGCGGCGGGGGAAATACAGCCAGCAGGCGAGCCTCTCCCTGCTGCGCCAGCCGGTGGAACAGTGCCGGCAGATGCTCTTCGCCTTTATTGT
 +SRR1222430.89 89 length=250
 CCCCCCCFFFFCGGGGGGGGGGGGGGHGHHGGGGGGGGGGGGGGGGGGGGHGHHHHHHHHHHHHGHHHHHHHHHHHHHHGGGGGGHHHHHHHHGHGHHGHGGGGGGGGGGGGGGGGGHHHHHHHHHGGGGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFF-DE0FFFFFF?AEF.:.--;-@FFBBFFF9AF09:-D.9AE=D>@D.9FFB00:FDA-;-?BFF0BBBF?AD.;F0:0;9
+@SRR1222430.90 90 length=251
+CAGCTATTGTGGCCAGTCCGGGCATAACTCGAATGCCTGCCCACATAATGCGAGCAGCGGTCGACGGCGCAGCCTGAATGACGACTTTACCCTCGACTGAACCGATAGCACGATGGCAGCAGGCGGAATTGATTTCAATGTGAAATTATTCAATGTCAAATAATCGCATTGCGCGATGATGATAATAGATATCATTTGAGGGGGTAGGGGGGATCAAATCCCTAACCCCTTTCGCGCTTCGGGACTGCCGC
++SRR1222430.90 90 length=251
+AAAAABFFFDFAEGGGAFGGG?0EFBD1GDEGCFAFFFD0BFFGEHHHFGHGGGGCFEEEFEGGC?@>EEEEEFHGHHHGGHGGGGGHGHFFHHCGGGGGHHHGGGGGFHHGGHGEEHCGHHFCGGGGGHFBFHHHHHHHHHHFFHGFFGGGGGGGGGGGGGGGFGGEGFFEB@G@?FFFFFFFBFFFFFFFFFFFFFEFFF@@@FFEFF@@=AEFFFFFFFFEFBFFBEFFBBF@<@FF@FF@@?E//@-
+@SRR1222430.91 91 length=249
+TTACCATCGCTGGCCTGCTGGAACTGGCCCTGGGCCAGCGCCGCCATACCGGGGTTGGCTTTAGCTTCGGCCAGCACTTCGTCCTGATGGCGCGACGACCACGGCCCCGCCCACATAACGTTGACCGCCGCCACCGCGCCAGTGAACAGCGCAAGGATCATCGCCGCCTTGATCAGCACGGCTTTGCTCAGGCCGCAGGCGTGCATCACCGTAATTTCACTTTCGGTGTACAGCTTGCCGAGGGTCATC
++SRR1222430.91 91 length=249
+CCCCCFFFDDFCGGGGGGGGGGHHHHHHHHHHHGHHGHGGGGGGGGGHHHGGGGGGGGHHHHHHHHHHGGGGGHGHHHHHGHGGGHHHHHHGGGGGGGGGGHGGGGGGGGGGGGGHHHHGHHHHHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFHHHFHFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.92 92 length=251
+TTGGTATGAGATGACATGTAAACAGTCCGTGATATTATTAGTTTTCAGACATATTCATTTAAGAATTCATATGCCGGCATGACATTAATGCATCATAATCTAACCAGGAAGTCAGCCTAATATATCATTATGGAGTAATACATATCGGTTGTTGTTAACTTAAATGACGGCTGTTGCCATAGTTAATATTTGTGATGTGTACTGCAGGAGGGATAAAAAATTGCCATTAAGGCTTGTAACTTCTGGACAGC
++SRR1222430.92 92 length=251
+BCCDBFFFFFFFGGGGGGGGGGHHHHHHGHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIHHIIIIHHHHHGGGGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHGHHHHHHHHHHHIHHHHHGHHHHHHHHEHHHGGGGGGHHHGHHHHHHHHHHHHGFGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHFHGGGGGHHHHHHGHHGHHHHHHHHHFHGGGGGGGGGGGGGGGG<
 @SRR1222430.93 93 length=209
 TTGCTCCCGTTTTACCTTGGTAAGCGTGATAATGCGGAATACGCTATAAAACCGACCTGCTGGCCAGGTCTGGACATTATCCCCAGCTGCCTGGCGCTGCACCGTATCGAAACGGATCTGATGCAATACCATGCCCAAGGAAAACTACCTCATCCTCCGCATCTGATGCTACGGGCCGCTATCGAATCCGTATGGGATAACTATGACAT
 +SRR1222430.93 93 length=209
 BBBBBFFBBAFFGGGGGGGGG5GGHGGGGHHHHHHGGGGGGHHGGGGHHHGHGFGGCFHHHGHGHHHHHHHHGHHHHHHHGHGGHGHHHHHFHGHGGGGGHHHGHHHHGHHGGGGGGGEHHHHHHHHHHHHFHFFHHHHGHFHFFHHHHHHFHHHHHHGGGGGHHHHGHFHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFF
-@SRR1222430.6 6 length=192
-GAGAAACATCCTGCCAAGCCAAACTTTAAAGCGCCGAGGGATAATGGCGATGGTACCTACATGGTGGAGTTTGAATTCGATGGCCGTCATTACGCCTGGTCTGGTGCCGCCGGTAATCGGGTAGAGGCAATGCAATCTGCCTGGAGTGCCTACTTCAAGTGACAAAAAGGCCACAGGTTATCGCCTGTGGCC
-+SRR1222430.6 6 length=192
-BBBBBFFFFFFFGGGGGGCGGGHHFHHHHFHHGGGGGGGGGHHGHFHGGEEGGFHGHGHHHHHHEGGHHHHHHHHHHHGHGHGHHGGGGGHHHGGEHHHHHFHHHHHHGGGGGCGGHHGGCGFGFFHGGHFHHHGHFHHHHHHHHGFFHFGHHHHHHHHHHHHHHHHHGDHHHGEHHHHHGGGGGGGGGGGG
-@SRR1222430.15 15 length=251
-ATGGCTCTCCTGGGCGGCTTCCCACTGCAGTCGGTAGCCGCGACGAAAGGCAACGATGGACGTTTTCTGCATGATTACACCAGTCGGGTCGTGTGCCAGGCCGCCTTGTCGGTGACCGTGTGATAGGGCGGGCGCTGCAGGGCATAGGCCATGGTCATGGCATCGAGCATCGACCACAGAATGTCGAGCTTAAACTGCAGGATCTCCAGCATCCGGTTCTGTTTTTCAGCGCTGTCGCAGTAGGCCTTCGC
-+SRR1222430.15 15 length=251
-AABBBFFFFFFB4FGGA?AEFGHGHFGHHHGHDE0FEFGG0ECEE?EEGFHFFH?1??E33E>?GEHFFEHFHFHHFHHFGHFEGDCG?<CGFHHHHHHHGGCGGGGGHHDGGGEHHGDC<<<GHEHGHG@GGG?BB?9/:9AAFFFFFB9BFF9:BFFFE/BBDBFF?FFFFBBBFAAFBFFFBEE?.9FFFF//FFFFFE9FFF99BFFFFFFB@DFBFFFFFEBFFBD?FBABEF-9;99/BFFFBEA
-@SRR1222430.33 33 length=191
-AAGCGTAATATACGCCACCTCGCGACAGAGCGCTAAAGCGCGTCGCAACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCAAAGTGACATGGATTCTTAACGTCCTCGGACGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCATCAAAC
-+SRR1222430.33 33 length=191
-CCCCCBCCCFFFGGGGGGGGGGGGGGGGHHHGGGGGHHHGGGEGGGGGGHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGGGHGHHHHGHFHHHHHHHEHHHHHHGHGHHGGHGGGGGGGGGHHHHHHHHHHHHHHHGHHHHHFHHHHHHFHGHGHHHHHHHGFHGGHHHHHHHHGGGGGGGGGGGGG
-@SRR1222430.36 36 length=196
-AGAAGAATATCGCTCTCTGATGGATCACTGTGTTGTTGAACAAGGTGATTTGGTTATGAGTCGTAACCAGTCTGTCGGTGTTGTTAGCTATGTGGATTCCAAAAAGCCATTTGTATTAGGGCAAGACACTGTCTTAATTAAAGCAATCCATGCAGATTGGCGGTTTATTTACTACACATTACAATCAGATTTAGTC
-+SRR1222430.36 36 length=196
-BBBBBFFFFFFBGGGGGGGGGGHHHHFFHHGHHHHHHHHHHHHHHGGGHHGHHGHHHHGHHHGFEHGHHHHHHHHHGGEEFFHFGGHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGHGHCCGGGBGHH11<<1<GGFGBGGHFGF1<>FH1=GF
-@SRR1222430.63 63 length=194
-TGCCTGCGCCCCGATGTGCGCGCGCAGTTAGATAAGGATGCCGCAGCGATCAGCAGCCGCTGGCTGCCGCTACCGGGCGGGCTTCAGGGCCACGAATACCTGGCGCGCCGGGTGACGGAGGCGGAGCTGGCCCAGCGTAGCCCGTTCCTGATGCTGGCGGAAGAGGTGCCGGAGGCGCGTGAACATATGGGACG
-+SRR1222430.63 63 length=194
-BBBBBFFBDABBGEEEGFGEAFCCCGFEFGHFHGHHBDGGGHGGGGGGEGGGHHHHHHGGGGGGEGGHGGGGGHGEGGGGGGGHFHHHHGGGGGGGHEHHFGFHGGGGGGGGAAEGGGFFFFFFFFFFFFFFFFFFFADFFFFF@FFFFFFFFFFFFFDF9BFEFFFFFBBCAFF.DAFDF.AFFFFFFFFFFF
-@SRR1222430.17 17 length=184
-GGCAATTCCGGCGGCGCGCTGCTGAACCTCAACGGCGAGCTTATCGGGATCAACACCGCGATCCTCGCGCCGGGCGGCGGCAGCATCGGCATCGGCTTTGCCATTCCAAGCAATATGGCGAAAACCCTCGCCGACCAGCTTATTCAGTTTGGCGAAATCAAGCGCGGCCTGTTGGGCATTAAAG
-+SRR1222430.17 17 length=184
-BCCCDFFFFFCCGGGGGGGGGGHHHHHHHHHHHEFGGGGGGHHHHHGGGGGHHHHGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.24 24 length=250
-TCTTATGCAACATGTAATGGCGACTCAGGATATCCTGCACCGTGGCCGACACGAGGAAATACTCCTGGCGCAGGCGCAGCTCGCGGCCGGAGTAGGTCGAGTCGTCCGGATAGAGCACGCGGGAGACGTTTTCGGAGTGGTTTTTATCCTCTACCGCGGCGAAGTAGTCGCCCTGGTTGAATTTACCGAGGTTAATTTCGCTGCTGGCCTGCGCGCTCCACAGACGCAGCGTGTTGGTGGCGTCGGTGTC
-+SRR1222430.24 24 length=250
-11AAADF@DDFFBGFEEAA1AAEG?EFHHAGHHHHFBCGHHG0AEEAEEGGECE?EGFHHHFFDGD100/?E?EEEEGGCHC?/EE/EGCGGGFGH>FCG/G0</?E@CA<<1<GHHFGGC-@CC?CCGEFEGG@.@FFF0.AEFABGBFFFF0B>@?@@@@=@EFFBFB@FF??A99BBB/BFFBFFF@?FBBFBBFBFFBBFBFF-A/:A@@@--99BFFF/--@?@?@ABF?EFFFB??A--@--99
-@SRR1222430.37 37 length=250
-GCCTTTTCTTTTTCCAGGGAAAACCATCCAGGAGGAACTTTATTATGGCGATGTATGAAGTCGGTACCGTCACGGGTGCCGCGTCGCAGGCACGGGTGACAGGTGCGACAACAAAATGGTCACAGGAGGCGCTGGGGATACAGCCCGGGTCGATTCTGGTGGTCTACCGCAGCGGTAGTGCTGACCTGTATGCGATCAAATCCGTGGACAGCGACACGCAACTGACGCTGACCCGGAATATCACCACCGC
-+SRR1222430.37 37 length=250
-AAAABFFFFFFFGCGFGGEFFCHHEEFHHGHHAFEAGAGGGFGGFHGFHGEEEFF5BDHHBDEGCEEHGAEGGFFGFCFHCGGC@E/EEEEHFEC@BBFFFG/GFEFDDCDHHGCC<?FGDDGHFFFGFFCGGG-.AGDGBGGHHGGG?ACGCFGG99B9;?C99B0CDGGCFF;DDFFFFFFFB99:;BBF/A.:9DFFF/F?EEFFFFFF>ADAFDFFFFFFE/ADADDFFFFFA;EEFF/BFFEEFF
-@SRR1222430.65 65 length=230
-AGGAAGAGCCAACTATCGCTCTCGAGCAGGTCAACCAGCAGACGCTGCGCATCACCATGTTGGTGATGGTCGCGCTGTTCGCAGTGATGTTCTGGGCGATTTGGTCTGATTTGATCACCGTTTTCGCCTACCTCGACAGCATTACCCTCTGGCACTACAACGGCACCGAGGCGGGGGCCAGCGTGGTGCGCAGCGTGACGATGGGCAGTTTGTTGTTCGCCATTGTGGCG
-+SRR1222430.65 65 length=230
-AAAAAFFF1FFFGGGB1E1AFA1AFEE0AFGFFGHF0AGHGH0AEAEGE?EEEH1FEGFHHB/>FGFGBFGFG@E?EGF2EE?CEGHFHF22EB1FA</<GEFF/1FBGHHHFHBHHFCA0/@FGCGG?ECC1F</C<CCGBD1<FC1<<CCFHGHHHF0<--:ACCCCC--9-@@--9-AF;9--EE/@--@-9;AA?AA---9AFBFFFFFBFFE/9----;9:BA?9
-@SRR1222430.66 66 length=251
-GTTGGACAGACCGCCGCCCAGCACAATCACCTGCGGGTCGAGAATATTGATAACCGACGCCAGGCTGCGGGCAAAGGCATCGATAAAGTGTCGCCAGTGGGCCAGCGCGCGCGGATCGCCGTTTTGCGCCGCGGCGACAATGGCTTCCGCACGGGCTTGTTCCCCATAGCGGCGGGCGAAGGCGGGGGCGGGGAGAAAGCCTTTGAGGTAGGTCTTTTTTTCGCTGTAGCTGGGGGGCTGGGGGGGAGCGG
-+SRR1222430.66 66 length=251
-A>AABFFFBFFBGGGCEGEEGGBHHHHFEEGBF2EEAEEEGG1EHBGGHHFHGF3FGEEGCEE/GFHAEC??CGGHBGFBFAFGGFDHHFGHCEDDGFG0GCFEHCDCCCGC@C@-BA?9A9:FAFB??FBBB?B?B?BBFFFFFFFBDABBB?BB?EBFFB/BFEFFFEBB?B;--;9;-.;9-----9;9---.9B//./////..///9/////BB--/-..;./:9//.;-----...------.--
-@SRR1222430.76 76 length=251
-GGGCTGAAGGAAGTCGCTCGCCAGTTAACGAGAAATAATCTGAGCCGTGCAACCGACCTGTTGTCGATTACGCTGAATAAACTGCGTACTCTCCCGCGGCTGAACAGACGTACTTTTGCCAAAGAGCTGCTTCGCGCCGTCGATATTGGCATGCTGACATGCCCGGTACCAAACAGCCCGAAAGAACTTATGCGCCTGTTCAGCAGCACGCTGCGAGATATGGGGATCGCAGAAATTTATAACGGTACCGT
-+SRR1222430.76 76 length=251
-@AAAAAFFFCCF1BFEEAGE0EE?GGFDG0A0EE1GGBGDDFGHGHG/AEGHHHGGGGCFBBBFFEEFGFHCEEGFBGGFHFHHEEE>/CDDF>>EE</@//F<<1<0FCGHHGHEF<D<1??<0?FH1FCGB@.-<--<-<ACG@CCBBCFHGGHHHGGF0FGB@9@CF09;:FBF9C?=@@F/FF/BBF/BBBB-E9F/B/BFA-AF@--9B=->;;BBFFFBE-9;A-B@/9/BFFFFFF?--9-B?-
-@SRR1222430.98 98 length=176
-ACCTCTTTATGTGATTCAGAGTGCGCTATAAATATTCACAATAGGGCGCGAATATTACGCAAAACGCGAGCCTTTGACAAGAGCGATTAGCGATCAATGCAGAAAAAAAACACAACTTTCACGACAACGTTTATCTACGGCAATTTTTCAGTACAATCATATCTTCTTTTAATTCT
-+SRR1222430.98 98 length=176
-CCDDDFFFFFFFGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHGGGGGHHGGGGGGGHHHHHHHHHHHHGGHHGHHGGHGGHHHHHHHHHHHGGGGHHHGGHHHHHHEDCCGHGHHHHHHHHHGGGGGHHHHHFHHGHHHHHHHHHHFHHFHHHGGGGGGG
-@SRR1222430.11 11 length=169
-TTTTACTGTCACCTCTTTGACCTATTTTGCTCACCATAGCCTCGAAACAATGATTTACGAATCCCAGCAGGAGACATTATGAACGTTATGCGTACCACCGTCGCAACAGTTGTCGCCGCGACCTTATCGATGAGCGCTTTCTCTGCCTTTGCAGCAGCAAGCCTGACTG
-+SRR1222430.11 11 length=169
-ABB?AFFFFFFFGGFGGFGFGGHHHGHGFHHGHHHHHHFHGHHGDGEEHFFHFHHFFHGGGGGFCGGGFGFG1FFHHGHHHHHHEGHGGGHGGEGGGFGGFFGGGGGGHFHHHHEHGGGGCCGFFHHHECFGHHGGGGGGHHHG1FDFGHHHGHHHFCHHBAEGFFHHH
-@SRR1222430.20 20 length=167
-TTTCATGCTGCAGGACAAAACGGTTAACCATTTTGCGCCGCGCTCGCGCTGGCCCTGAAAAGGTGAGTCCCGTAGAGGCGAATCACGCAGCCCGAACATACGGCCCAGGAAGCATCGACAGCGCACCTGCAGTTTGAAAAACGACGAGTATAACACCAATACTCAGT
-+SRR1222430.20 20 length=167
-CCCCCFFFFFFFGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGHGHHHHHHHGFGGHHHHGGGGGGHHGGGGGGHEGHGGGHGGCGGGHHGHGGGGGHGHHHGFHFDHFGGHGGGCGHGHHHCHHFHHHHHGFFGGGGDGFFGGFBDGGGGGGFFFF
-@SRR1222430.40 40 length=175
-CCTGGGCTACAGACCGTAGGGCGGGTCAGCGCCGCGCCAGCCGGTAAAAGTTGCAGAGATCACAAAATTCACTCCCGCCTGAAAAGTACCCGCCGTTGTCGCAAACGTCCCTTCACGACAAGCGCCATAACCGCTTCAATTAAACAACAAAAACAAAACATATATTTAACATCAT
-+SRR1222430.40 40 length=175
-CCCCCCCFFFFFGGGGGGGGGGGGGGGHHHGGGGGGGGGGGGGGEGGHHHHHHHHHHHGHHHHHHHHHHHHHHHHGGGGGHHHHHHHGHHHGGGGGGGGHGHGGGHGHHGGHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.34 34 length=149
-CCAGCTGTTGCCAGGGGAATAACGGCCCCGGATCGTCTTTGCGCTGCGGGGCGATATCCGCATGGGCGACCACATTCTGCGGCGCGATGTGGTAGCGGGCGATGATATCGCGCGCCAGCGGGATCAGAGCCGCAATCTGTTCCGGATGA
-+SRR1222430.34 34 length=149
-DDDDCFFFFFFFGGGGGGGGGGHGGGGGGGGGGGGHHHGHHHGGGGGGGGGFGGGGGHHGGGGGHHHGGGGGHHHHHHHHGGGGGGGGGHHGHHHHGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.52 52 length=158
-GTTGGAGGACAACGGATTTACCGTAGTCGATATCCGGCAGGATTACACCAATATGTCACCGGCGATGAAAGAGCTTGAAGCGGCTCTGGCCGGTGGTCGATTCCACCATGATGGCAATCCCATTCTGACCTGGTGTATCAGCAACGTTATCGGGAAAT
-+SRR1222430.52 52 length=158
-CCCCCFFBBCFFGGGGGGGGGGGGHGGHGGGHGHHGGGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHGGGGGHHHHHGGGFGGHGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGHHHHHHGGGGHH
-@SRR1222430.62 62 length=151
-GCGTTTAGGCGCCTGGTGCGGCCATGCTCCCGAGCTCGAGATCGATCTTGCGCTGGCCAATATCGGCCTCGACCTGCTCGGCCAGGCGCGCAATTTTTTAAGCTATGCCGCCGAGCTTAACGGTTGCGGCGACGAAGATACGCTGGCTTTT
-+SRR1222430.62 62 length=151
-CCDCCCCFFFCCGGGGGGGGGGGGHHHHHHGGGGGGHGGGHGHHGHHHHHHGGGGGGHHHHHHHGGGGGHGGGGGHHGHGGGGGHHHGGGGGGGHHHHGHHHHHHHHHHGGGGGGGGHHHHGGGGGHGGGGGGGGGGGGGGGFFFFFFFFF
-@SRR1222430.78 78 length=150
-AAACGTCGTGTATCCGGAAGACACGATTGCCCGCATCACGATTAAGGGCTCGAATGACAGCAACAGCAACCGTGAGCAGAAGTATAATATGCTGGCGCAGCGGCATACCATCAGCTACGACCGGACAACCGGCGCGGTTGATTACACGCT
-+SRR1222430.78 78 length=150
-CCCCCFCCCCBFGGGGGGGGGGHHGGHHGHHHGGGGGHHGGHHGFHHHGGHGGHHHHHHHHGHHHHHHGGHGGGGGHHHHHHGHHGHHHHHHHHHGGGGGGGGGGGHHHHHHGHHHHHGGGGGGGGGHHGGGGGGGG:CFFGGGGGGGGG
-@SRR1222430.82 82 length=251
-GCGGTTGTCACGATTGTCGCGGTTATCACGGCGGTCGTTGCGGTCGCGGCGGTTTTTTGCGCGCCCACAGGCGGCCGGCCAGCGCCCCCGGAGCCGGGCCCCGAAGCACCGGCTGGCGGAGCGCCCCCCGGTATCTCGCCCCGGACGCCCCACCCCGCGGCCGGGGGGGGAGAAACTGAAGCGGGGGGAAAGACCAGATCGGAAAACACACCGCCGAACACCAGGCCCCCTTTAATCACCGTTGCCCGCCT
-+SRR1222430.82 82 length=251
-BBBBBBBBFFFBGGGGGGGGGGGGGHHHHDGGGGGGGGGCAEE>E/EFG/EE/</??/<2</</A//..0.>-------:-.:9------9---.------;--;--/.:-----..--;------:-----9.///..:.--;:BA-99-....9----;-9-->--B---..///::://-:--;--;../.....//:...-./.....:----;--.;......;-:.;/B///9......//.9-.
-@SRR1222430.99 99 length=160
-AGCCAGGCCGTTGTGCAGTGGCTGAAGCAACCTGAGATGTATCAGGGGAAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTGAATTTAACGAACAGGGTTTGGGTAACCAGGCGGCGATTGAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTT
-+SRR1222430.99 99 length=160
-BBBB@FA?ADBAFFGGGGGGGGHGHHHGH3GCGFGFHFG5FFHDF3GE2AFGFFFF?A1F11A0BFFGEFEEHGEEGHH4GF2FGBFDDBDGDEEC@ECGGBFEEEFEGHHHFHGHGG/AC<CCFBGBEGE.C00CACEFHFC-;:CFDCDHGHGGAF?F
-@SRR1222430.79 79 length=136
-TCATGGCGCATGCGGAAGATCAGCTCCGCCAGATCCTCGGTCTCCTTCGGGTTCATCCCGGCGGCCGGCTCATCGAGCAGGAGCAGCTTCGGCGCGGTGGCCAGCGCGCGGGCGATCTCCACTTTGCGCTGGTTGC
-+SRR1222430.79 79 length=136
-DDDDCFFCCDDDGGGGGGGGGGHHHHHGGGGGHHHHHHGGGGGHHHHHHGGHGHHHHHHGGGGGGGGGGGGHHHHHGGGHHGGHHHHHHHGGGGGGGGGGHHHHGGGGGGGGGGAGGGGGGGGGGGGFFFFFFFFF
-@SRR1222430.4 4 length=249
-GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
-+SRR1222430.4 4 length=249
-1AAA1AAA1F>1BGEFG0ACFGBCGHEHCAFGFDA1GAEG2FGFAFFCEFGCA/GFD211DGF01FBGA>////B1000B@>///>E/?/?//F0E//?///>BC10<?B/?12?/??1/11>//<AA.AF0<.<<..C..</...../::G.:--;;.99B000099CF090;/9/09F09/90/9--9-9-B///9/9-;@--/;//-----9/9:FF/9//--9;>---/9/99;//9----9---
-@SRR1222430.26 26 length=135
-AGAAATCCACCCCTTCCACCAGCGGCACTGAGCGCACCTGCGCCCCGGCAATCACCGCGCCATAGATATGAATCGGATAGCTGGGGTTCGGCACCAGTACGGTGTCGCCATGATCCAGCGTCGCCAGCATCAGGT
-+SRR1222430.26 26 length=135
->>AAADFFFFFCGGGGGGGGGGHGGGGG2FGHHGGGGGHHHGGGGGGGGGGHHHHHGGGGGGGHHHHHHHHHHHHGGGGHHHHHGGGGHGGGGGGHHHHHGGHHGHGHGGGHHHHHHHHGGGGGGGGGHHHHHHH
-@SRR1222430.41 41 length=251
-GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAACATTGTAACAACCAGTCTGCTCTCTTAGCGGAGCAATTTTAATACCACACCCATCTGTGCGACTATTATTACCCCTTGCTTGTAGGCTCGTTGGATATGTATCTCGGACACGACTCTTCGCTTGTATGTTGCATATATCACTCTGATGTTGCTGTGCGTTTTCTGTATGGAAGTG
-+SRR1222430.41 41 length=251
-CACCCCBCBFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHGGHHHGGEGHGGHHHHHHHHHHHGGF@>@/>//34444?443///??34434B4334BB2</////222222<221111/?///0011111.<---000<0000/.<.//0<<.00000.;-./.C00000;0900...--..--.9000.....;///////:////://9/////;/:9/;/////...-.//:;///.///9/
-@SRR1222430.46 46 length=251
-GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAACAGGGGTGTGAATATTAAATGTTAATAGCCTTCAATTTTTTGATATTCCACGATGGCGGGAATACACCCGCCCTTGATTGTTCTGCGGTTAGCGGGCGGGTTGGCCATCAACTGTTCGAGGGAGGAACTTAGAAGCTCGTGGTCGCTACTCGAATAGAATATGGCCTCACTGCTGGATG
-+SRR1222430.46 46 length=251
-ABABABAABFFFFGGFGG4FFDGHFHHGHHHGHBGHHHHHGBGHHGGGHFHGGCFGHHHFHHGHHHGHGG>/1?211/1/>1B44444B44444?4B4443?BG33BB44G4///22222221/////0//-<>0100<C.-----//0000:00000--.-..0----@9-;.--9B9BB///9/9//...--.9-..9////////9/.-.../-;A.-//..;/9/////99/.//.9.9/9///.//
-@SRR1222430.48 48 length=251
-GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAAAAAACATGATGCCACAAAGCATGACCATAACAAAAAGAAAGTCACAATGTGACATAACACATTCAATATATGACGAACACAGGACTATACTCTTTTTCCACCGCCCATTCCGACACCGGCATATATCAACCTATCAATAGCGGAACTCACTAGTAAATCTGACATGTGGCAC
-+SRR1222430.48 48 length=251
-EEEEEEEEEFFFGGGGGGGGGGHHHHHHHHHHHDAFFHDHHHHHHGGHHHHGGGHGHHHHHHHHHHHHGGGFEE>>>////////222222?220/0101111=111>11<10>...0001<111<00<111<11=0<0<0111111111111..---/....<//11110<1110/<<0..---./111<.---.---<-0111111/./01011<FB19---90100<<<B111111111010110./0
-@SRR1222430.49 49 length=250
-GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAACCATTAACGAGCTACGGGGATTAACTGACAACTGGGAAGGTGGCGCACCATTTACACAACCAAGCATGATTCGACGGATGGATGCTGTACTGGCAGGGGGGGGTGCATCCTGCTGAGTAGGATGTGGTGTTGACGCGGCTAGAAGCAGAGGTGAGGGCGAAGCACTAGAAAGTCA
-+SRR1222430.49 49 length=250
-CDEEDEEEEFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHGHHHGGHHHHGGGHGHHHHHHHGHHHHGGGEEE/1>133443/////33////</2222?2222?/222/02</@?/=////<011111=1<..<..<./100=11.1.<-..-</10/11111:10./<-9-----9-.011<000001.:1100:0010/....10..----..01100//..0.1....-----0/000011:111
 @SRR1222430.94 94 length=251
 GATCGGAAGAGCACACGTCTGAACTCCAGTCACTAGCTTATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAACCTAAACCGATGGGCTCTTACCATACCTGCATTTATCTTGACGTCGAATGGTCATTTAATATGCACCGTTCCTGTGTGCAGGATGCACAGCGCCTTGTAAGGACGGGAGAACACTTCGCTATGCTCCAACCTTCTGACCACATCGCATTGCGCACACTGATTGGAACTCTACCATCG
 +SRR1222430.94 94 length=251
 BBBB?AA?2CCCG4FCGGGGGGDCHHHFHHHHHGEHFGHHH5FEF2EGBBG2BA1ADB5ED5BCGGG1E0>//>113@3@33///?//0B?3344?4432322023?3?BB33332/<////2211111<@?1?1111110<0.00111<10111<.<//0<0/.---:.::000:0:---.9.9//9;0;.;;..00;00/;/A///////9/..//...;./9.9---.9/////:////////////.
+@SRR1222430.95 95 length=250
+GGCGGGGTTGGCGATGATGCGCAGCAGCGGCTTATCGGTTTCCGGCAGCATCATGCCGCCCACCTGCTCCCCCGGATGGCCAATCACGATGCCGTGGCGTTCCGGCAGACGGTCGCGCAGAGCGCTGAAGGCGATGCCGCGATAGTCCGCCTGGATACCCAGTCAGGAGGAGATCAGCGCCGCGGCGCTGAAGACGTCCGCCGACGGCTTGGCCCCATAGGCGACCGCAATGTCCGCCGGGGTCATCTGC
++SRR1222430.95 95 length=250
+BBBBBBBDDBBFGGGGGGGGGGGGGHHGGGGGGHHHHGGGGHHGGGGGGHHHHGHHHGGGGGGGGHHHHHGGGGGGGGGHHHHHHEHDGHGGHGGGGGGGGGHGGGGGFHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFADFFFFFDFFFFFFFFFFF=FFFFFFF
+@SRR1222430.96 96 length=251
+TATCGGCCAGCCGTTCATGTTCAGTCCCGGCGAAACGCTGCTGCCGGCGGGGAATGACCTGCTGGTGGGCCACCTCGTGTCCGGCCTGCTGCAGACGCTCGACGCCGCGGGCTGCCGCCTGCTGGTTGATGCAATACCCGGATGGCGCGACCAGATAAAACTGAGACATGATAATTCCTTGCTATGAATGAAAGGGTTATGATGCCGCCTGGAATGGCGATTGTCATCTCCAGGTGGCTAACTTCAGTCCG
++SRR1222430.96 96 length=251
+BBBBBBBBBBBBGFEGGGGGGGHHHHGHGGGGGGGGGGGGGHHHGEGGGGGG?EGFHGF220F?G2BDCEGDFHFFGFGHFF/C-C.C01G1GGHF??DGG-:@-C@DC?D?-..A-9BDAFBFFBBA/B/BFFFFEFF?@-9-;B=?9-;B-99BBFFFFFFBBFFEFFFFFFBFFFEFB/B9BFFFF/99B9FF.;AFFFFEFFAF;AAEBFFFF.B-;E?BFFF/;99BFF/FFFFFFBBFB/FB/F9
 @SRR1222430.97 97 length=251
 GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAATTATGATAATCGATCTTGTAGACGTCACGAAGACTACACTGAGGTTCGCGGTTGCTCCACATGTACACCACGCACGCACGTGTTGTAGGTTGGTGGTAACTAGGTACACGCCTGGGTGTGAACTAGAGCTTGTGAGGCGCATGTGCGTCAGCAGGTTGCATGACGCAAGCAGCTC
 +SRR1222430.97 97 length=251
 CCCDCDCDDFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHCHHHGGHHHHGGGHGHHHHHHHHHHHHGGGFE>//0334444?444/0/0044?444B////?///?/222?2@D222/@21////.--011110110=0000/.<..-------../..;00000/-9...0:0:00/;0000.-..;../.9.00000000000/.000..---..00:..-9.00;..0/.0;000..---.///:0
+@SRR1222430.98 98 length=176
+ACCTCTTTATGTGATTCAGAGTGCGCTATAAATATTCACAATAGGGCGCGAATATTACGCAAAACGCGAGCCTTTGACAAGAGCGATTAGCGATCAATGCAGAAAAAAAACACAACTTTCACGACAACGTTTATCTACGGCAATTTTTCAGTACAATCATATCTTCTTTTAATTCT
++SRR1222430.98 98 length=176
+CCDDDFFFFFFFGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHGGGGGHHGGGGGGGHHHHHHHHHHHHGGHHGHHGGHGGHHHHHHHHHHHGGGGHHHGGHHHHHHEDCCGHGHHHHHHHHHGGGGGHHHHHFHHGHHHHHHHHHHFHHFHHHGGGGGGG
+@SRR1222430.99 99 length=160
+AGCCAGGCCGTTGTGCAGTGGCTGAAGCAACCTGAGATGTATCAGGGGAAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTGAATTTAACGAACAGGGTTTGGGTAACCAGGCGGCGATTGAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTT
++SRR1222430.99 99 length=160
+BBBB@FA?ADBAFFGGGGGGGGHGHHHGH3GCGFGFHFG5FFHDF3GE2AFGFFFF?A1F11A0BFFGEFEEHGEEGHH4GF2FGBFDDBDGDEEC@ECGGBFEEEFEGHHHFHGHGG/AC<CCFBGBEGE.C00CACEFHFC-;:CFDCDHGHGGAF?F
 @SRR1222430.100 100 length=251
 GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAAAGGCAACAAAGTGGTCTAGCCAGATAAAGAACAGATCAATCTTGATCTGTCGATTGAGCCCTTCTCTGAGTTTAGATAACAACGTTGAGAACTAGCATGAAATCCACGTTCAGTCGTGGGCGAGCAAACTGGAACACGAGTTCATCTCCTTCTCTCTAGACACGTCATAAGC
 +SRR1222430.100 100 length=251
diff --git a/src/tmp/klebsiella_100_1_12_qual_thres.fq b/src/tmp/klebsiella_100_1_12_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..d0adffcdd9e82cd57376a7dd33c2d81c73cc1867
--- /dev/null
+++ b/src/tmp/klebsiella_100_1_12_qual_thres.fq
@@ -0,0 +1,356 @@
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+CCCCCCCCCBBCGGCGGGGGGGGGGGHHHGHBHHGGGHGGGGGGGGGGGHGHGGGHHHHHHHHHGGGGGHHHFCGGGGHHHGHHGGHHHHGGGGCCGGGGHFFGGGGGHHHHHGGGGGGCGHHHHGGGGGGGGGGGGGGGGGGAEGGFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDFFFFFFFFFFF:DA;CCFFBBFDAFFFAFFFFFFFFA-9A>DFFFFFBFFB
+@SRR1222430.7 7 length=251
+CGCAGCCGGTAGTGGTTTTCGGGAGAGGACAATTTTTTGATATCCGAGATAGGTGAAGCTTTATCATCCATCTTCTCCAGCCTGGATTTAATGCGGCTCTTATACCGAGTATCGATTTTAGAAAATTGCTTATCTTCCGTTTTTGACCAGACAATTTTCATCCGTACCTCCACTGTACGCCCACACAAAATATAAGGAAATAATAAGACTATTAGATAAATTCCGAATTTCTTATGGGGTACTGTAGAGCG
++SRR1222430.7 7 length=251
+BBBBBDBBBDBBGGGGGGGGGGGGGGGGHHHHHHHHHGGGHHHHHGGGGGHHHHHHGHHHHHHHHHHHHHHHHHHHHGHHHGHHHHHGHHHHGHGGGGGHHHHHGHGGFFHHHGHHHGHHHHHHHHHHHHHHHHHHGHGHHHGGGGHHHHHGGHHHGHHHHHHGGHGGHHHHHHHHGHHGGGGFGGGGFHGGGGGGGGGGGGGGGGGGEFGGGGGGFGGGGGGGGGGGG/BFFFFFBFDDDFFFFFFFF/@
+@SRR1222430.9 9 length=250
+CGGTGCGGCAACTGGAGACGCTGGCCGCGACCCGGGTCATGACGGACGGTAAAAGCGAAACGGTGCTGACCGGAAATCTGATTGTGGCGAAATTCAACCACGACACGAACCGTAACCAGGAACCTCAGATACACACCCATGCCGTCGTCATTAACGCCACGCAGAACGGGGACAAGTGGCAGTCTCTTGGCACTGATACAGTCGGGAAAACGGGCTTTATCGAGAATGTGTACGCGAACCAGATAGCCTT
++SRR1222430.9 9 length=250
+BCCBBBCDEDCDGGGGGGGGGGGGGHGGGGGGGGGGGGHHHHHGGGGGGGHGHHHHGGGGGGGEGGHHHHHGGGGGHHHHHGHHHHGHGGGGHHHHHHHGGGGGGGGGGGGGGHGGHHHGHHHGHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFHFFFFFDFFFFAFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.18 18 length=250
+CGTTTTACCCGCGTGATGGCCGAGCAGGCGGCGCGGGCGCGTCTGACGCTGGACGACGATCAGCTGTCACTCATCGCCCGCCTTGACGCCCTCGGTCAGCAGTTGGTGTCCACGACAGGCAGGCCGCAGGGGGTGTACGTCTGGGGACGTACCGGGCGAGGGAAAAGCTTTATCCTCGACCACTTTTTCGCCAGCCTGCCGCTCGCCGCCAGGCGGCGGGTCCATTTTCATCACTTCTTCCGCGAACTGC
++SRR1222430.18 18 length=250
+CCCCCCFFFFCCGGGGGGGGGGGGGGHHGGGGGGCEGGGGGGGGGGHGGGGGHHGGGGGGHGHHHHHHHHHHHHHHGGGGGGGGHHHGGGGGHGGGGGHHHHHHHHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFF
+@SRR1222430.21 21 length=251
+GCGCGCAGCTCACTGAAGGGCTGCGCGCGGCCTATCTGCTGCTTGGCAACGATCCCCTGCTGTTGCAGGAAAGCCAGGACGCCATTCGCGAAGCTGCTGCCGCGCAGGGCTTTACCGAGCACCATACTTTTTCAATCGACAACAGCACCGACTGGCAGGCGATTTTCGCCTTAAGCCAGGCGATGAGCCTGTTTGCCAGCCGGCAAACCCTGCTGTTGATCCTACCGGAAAACGGCCCCAACGCGGCGATC
++SRR1222430.21 21 length=251
+CCCCCCCCCFFFGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHGHHHHGGHHGHGHGHHHHHHHHHHGHHGHHHHHHGGGGGGHHHGGGGGGHHHHHHHGGGGGGGGGHHHHHHGGGGGHHHHHHHHHHHHHHHHGHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFDFFFFFFFFFFFAA.
+@SRR1222430.23 23 length=251
+GGCCCGCTGCTGGCGGAGATGCAGTATCTGCAGCGTTCGCATCCCGGACTGCTGTGGTAAGTGAGGTGACTATGCAACGTCTTGCCGATATCGCTCCTGCAGAGGTTCGCACCATCTGGGGATTATTAAGCGCGATCCCGGATCCGGAAGTGCCAGTACTCACCATCACCGACCTTGGTATGGTGCGCAGCGTCGCGCGCCATGGCGACGGCTGGGTGATTGGCTTTACCCCGACCTATTCGGGCTGTCCG
++SRR1222430.23 23 length=251
+CCDDDDEEEDFFGGGGGGGGGGHHHHHHHHHHHHGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHGHHHHHHHHHHGHHHGHHHGGGGGHGGHHGHHHHHHHGHHHGGGGGHHHHHHHGGGHHHHHHHHGGGGGGGHGGGGGHHGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF<DFFFFFFFFFFFFFFFFFFFFFHHFFFFFFFFFF
+@SRR1222430.29 29 length=251
+GCAGCATCCAACGCGATTCTGGTTGGCTTCAACGTTCGTGCCGATGCCTCTGCGCGTAAAGTTATCGAAGCGGAAAGCCTGGATCTGCGTTACTACTCCGTCATCTATAACCTGATCGACGAAGTGAAAGCGGCGATGAGCGGCATGCTGTCTCCGGAACTGAAACAGCAGATCATCGGTCTGGCTGAAGTGCGTGATGTCTTCAAATCGCCGAAATTCGGCGCCATCGCGGGCTGTATGGTTACCGAAGG
++SRR1222430.29 29 length=251
+CBCCCFFFFFFFGGGGGGGGGGHHGGHHHHHHHGHHHGFGGHGGGGGHHHHHHGGGGGGHHHHHHHHHHGGGGGGGHHHHHHHHHHHHGGGGGHHHHHHGHHGHHHHHHHHHHHHHHGGGGGGGGHHHHHHGGGGGGGHHHGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFFHFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFHFFFFFFFFFFFFFFFFFFEFFFCFFFFFFFFFFFEFFFFFFFF
+@SRR1222430.30 30 length=251
+CCAGAACCTGATTAAGGTGATGGCGGAAAATAATCGTCTGAAGGTGCTCCCGGACGTTCTTGAGCAATTCATTCACCTGCGCGCGGCCAGTGAGGCCATCGCAGAGGTAGAAGTAATATCTGCCAACCAACTGAGTGATGAACAGCTTGCCAGGATCGTCAGCGCGATGGAAAAACGTCTGTCACGCAAAGTTAAGCTGAATTGCAAAATCGATAAGTCTGTTATGGCAGGTATTATCATCCGTGCGGGTG
++SRR1222430.30 30 length=251
+CCCCCFFCFFFFGGGGGGGGGGHHGGGGGHHHHHHGHHHGHHHHHHHHHHGGGGGGGGHGHHHHHHHHHHHHHHHHHHHHGGGGGGGGGHHHHHHGGHHHGGGGFHGHHHHHHHHHHHHHHHHHHHGGGHGHHHHHHHHHHHHHHGHHHHHHHHHHHGGHHGHGGGGGGGGGGGGGGGFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFBFFFFFFFFA99BF0B09B0B..;.BFF9-
+@SRR1222430.32 32 length=251
+TGACGCTGTATCTCGACGTCACGCCGGAAGTGGGGCTGCAGCGCGCCCGGGCCCGCGGCGAGCTGGATCGCATTGAGCAGGAGTCCATGAACTTTTTCAACCGTACCCGCGCGCGCTATCTTGAGCTGGCCGCCGCCGATCCTTCTATCCGCACGGTTGACGCAACTCAGCCGCTGGATGCCGTGGCGCGCGACATTCGCGCCACGATCGCCCAGTGGATGGCGGAGCAAGCGGCATGAAATGGTATCCGT
++SRR1222430.32 32 length=251
+CCCCCCCCCFFFGGGGGGGGGGGHGGGGGGHHHHGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGHHHHHGGGGGHHHHHHHGGHHHHHHHHHHHHHHHHHHHGGHGGHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF@FFFBFEFFFFFFFFEFFFFFFFFF.
+@SRR1222430.38 38 length=251
+AGATGAAACGCGCCCGGCGTATGACCCATCGCATAGCTTTGCGGATCGCGGATATCGACCAGTACCGCCGTCTGCTGATGCAGTTTCTGGTGCGCTTCTTCAACATTGATGCATTCAAACTGTTCCATGATTCTCTTCTCTTTCTTGTCATGACGGGCGATGGCCGGCCCAATTTTACCCTGTAGTGTACCGTCAGGCGGTAAAGAAACGCCAATATGTTACACCCATCACTTCAAAATGTTTTTTTGATG
++SRR1222430.38 38 length=251
+DDDDDFFFFDDCGGGGGGGGGGHHHHHHHHGGGGGHHHHHHHGGGGGGGGGGGGHHGHGGGHHGHHGGGGGGHGHHGHHHHHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFAF0
+@SRR1222430.39 39 length=251
+CTGTTTTTTCTCATCATAATATTCCCTTATATAATCATTGGCGTAAATAAAACACGACAACAACCCTATTCCGTGCCGGTGCTAATAGCCGTATCCATACCGTTTGACGTCGCGGCGGCTGTTGAGTTTGCGGATCTCTTCTTCCGGATCGTCCTCGAAAGCCACCGCCAGATGGCTGCCGATAAAGCGGCTGAAGGCCTGGTGCAGGCGCTGGGTTTTCTGCACATCGAACGACAGGGTCGCAAAACGCC
++SRR1222430.39 39 length=251
+BCBBBFFCCFFFGGGGGGGGGGHHHHHHHHHGHGHHGHHHHFGGGGHHHHHGGHHGGGGGHHHHGGHHHHHGFGGGHGGGGGGHHHHHHHGGGHHHHHHHHGGGGGHHGGGGGGGGGGGGGHHHFGGHGHHGGGGGHGHHHHHGHGGCGFGGGBFGGGGGGGGGGGBGGGFFFFBFFFFFF;BFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFBADFFFFFFFFFFFFFFFFFABE?:9DFFFF/FFA-
+@SRR1222430.44 44 length=250
+CATATAGGCCGCCTCGGTGATGGTCATCGACACCAGCCCGGCGATAAACGGCACCCCGAGCAGCGGCTGGGTCACAGGAAACAGCTGCGGCAGGTTGTAGACAAACACCAGCAGCACCATCAGCGGCACGCTGCGAAAAAACCAGATATAGAGTTCGACGGGGATCTTGACCCAGCGCGGCGCCGTGAGCTTCGCGCAGGCTAACAGAAAACCGACCACCAGGCCGATCCCCCAGGACAAGGTGCTGATT
++SRR1222430.44 44 length=250
+CCCCCFFFFFCCGGGGGGGGGGHHHHHHHHGGGGHHHGGGGGGGGGGHHGGFGGGGGGGGGGHHGGGGGGGHHHHHHHHHHHHHHHHHGGGGGGHHHGHHHHGHHHHHGHHHHHHHHHGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEFFFFFFFFFFFFFF
+@SRR1222430.45 45 length=250
+CGCCTTAAAATATTTCAGAAAGCTGTAAAACGTCGCGTACAGGCCGGTCACCACGCCGACTTTGCCATAGCGCCACGCTCCGCTAAACAGATACCACTTAAAGAAAGCGCCAATGGCGCTGACGATCCCCCGCGTCAGCGAAGGTTTGATCTGCTGGTACTTCACCAGCCGGGTGGTATAGCTGTTTAGCTTATTAAACACTTCATGCAGCGAATAAAAGGTGTCATGGCGTACAAAGCCCGGCAGCCTG
++SRR1222430.45 45 length=250
+CEEEEDFFFFFFGGGGGGGGGGHHHHHHHHHGHHGGGGGGGHHGGGGGGGHHHHGGGGGGGGHHHHHHHHHGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGGGGHHHHGGGGGHGGGHGHGGGGGGGGGHGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGBDFFFFFFHHFFFFFHFFFFFFFFFFFFFFFHHHFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.47 47 length=251
+TCCTGCAGATCGCCTGCCGGGAAATGCGCCTGCGCCACGGGGATTTCATCGCCATCCCCCACGACGTGTTCAACGTGCCCAACTGCGAAAAACAGTTTCTCAGCCCGCATGAACAGCGGATGGCGATGCACGCCGGGCATAGCGAAACGGCGCTGATGCTGGCGCTGGCGCCGGAGTGCGTCCATATGGAACGGGCCGTCGCTAATTTCCCCCCGGAATTCCCCTGCCCAACCCTGTCGAAAGGCCGTCCG
++SRR1222430.47 47 length=251
+CCCCCFFFFFFCGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGGHHHHHHHGGGGHHGGGGGGGGGGGHHHHHHGHHHHHHHGHHHGGGGGGGHHHHHHHHHHHHGGGGGGHHHHHHGGFGGGHGGGGGHHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFF=FFFFFFFFFFFFFFFFFD?ABFFBFFFFFFFFFFFEFFFFFACEFFFFFFFFFFFEDFDFFFFE?E?DFEFFAFF=
+@SRR1222430.53 53 length=251
+TCTTCCAGGGTTAACGTCACGCTGAGGGTGTCGCTGTTGCTGGCCAGGCTTTGCTTGCGTAAACGCAGGAGATCGACGCTGGATCGCGTCAGATCAACATACATGGTGTCGAGCCCGCGGATCGTCGCCAGCGCGGTATCCTGATCGGCGGAGACCAGCGCCCCCGGCGTAACCGACGAGATGCCGATGCGCCCGGCAATCGGCGCGGTGACGGTGGTCCAGTTCAGGTTAATGCGCGCGCTCTCCAGCGC
++SRR1222430.53 53 length=251
+EEEEEFFFFDFFGGGGGGGGGGGGGHGGEGGHGHGGGHHHHHHGHHHGHHHHHHHHHHGGGGHHGGGGGGGHHHHGGGGGGGHHHGGGGGGGHHHHHHHHHHHHHHHHHHGHGGGGGGGGGGGGHHGGGGGGGGGGCFGHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFCFFFFFFFFFFDFFFFFFFFFFFFFF;FFFFFFFFFFFFADFFFA<EFFFFFFFFFFFFFFFFFFFFFFFFCCFFFFFFFFF
+@SRR1222430.55 55 length=250
+CATTGTAATGTGATCTGCAATCTACATCCATCCGGGTGAGTCATGCGCCAACATGGCTCACACTTTCGCGTAAAGTTAAGTCGCTGATTTCAGAGAACTGTAGTATCCTCTGCGAAACGATCCTTGTTTGAACCTTGAGGGGGCAGAGATGCTGCAGACTGAAAATGCAGGAACTTCCTCATCGAAACGTGCTCAGGCTGCTTTCTTGAACCACCGGCCTGTCGGTGCTAGATTACGGATCGTCTGAAGA
++SRR1222430.55 55 length=250
+CCCCCFFFFFFFGGGGGGGGGGHHHHHHHHHHHGGGGGHHGHHHHHGGGGGGGHHHHHHHHHHHHHHGGGGGGHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHGHHGGHHHHGHHGHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHGGGGHGGHGGGGGGGGGFGGGGGGGEFGGGGGFFFFFFFFFFBFFFFFFFFFFFFFFEFFFFFF
+@SRR1222430.56 56 length=251
+TGTTATCCCCGGCGCCGACGTTGGCGTTTCCCCAGCTGTTGGCCACCAGGTTGATACCCTCGGTGGTGCCGCGGACGAACACCACTTCCTCCGCCGACCCGGCGTTAAGGAAGGTGGCCGCCTGCTGACGCACGGCTTCCATCCGCGCGGTGGCTTCCGCGCTGAGGGTATGGATGCCACGATGCACCGCCGCGTAGCCGTGGCGATAGAATTCCGCTTCGGCGCCGATCACTGCCTCCGGCTTCTGGGCG
++SRR1222430.56 56 length=251
+CCECDFFFFEEDGGGGGGGGGGHHHGGGGHHHHHGHHHHHHGHHHGHHHGHHHHHHHHHHHGGGGGGGHHGGGGGGGGGGGHGHHHHHHHHHGGGGGGGGGGGGGGGGHHHHHGHHGHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFAFFFFFFEFF;
+@SRR1222430.59 59 length=251
+CTGCCGCTCACCATTCTGGTGACGCTGGTGATGGGCCTGCTGCTCGGCGCGTGGAACGGATGGTGGGTAGCCTATCGCAAGGTGCCCTCGTTTATCGTCACCCTTGCCGGGATGCTGGCGTTTCGCGGCATTCTGATCGGCATCACCAACGGGACCACCGTCTCGCCCACCAGCCCGGCGATGTCGCAGATCGGCCAAAGCTACCTGCCAGACGGCATCGGCTTCGGCATCGGCGTTGTCGGCATGGCGGG
++SRR1222430.59 59 length=251
+DDDDDCCCCCFFGGGGGGGGGGHGGGGGHHHHHHHHHGGHHHHHHGGGGGGGGGGHHGGGGGGHHGGGGGHHHHHHGGGGGGHHHHHHHGHGGHHHHHHHGHHHHHHHGGGGGGHHHHGGGGGHGGGGGGGHHHHGHHGGGGGHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF-
+@SRR1222430.61 61 length=251
+TACCCTGAATCTTACCCCAGAGGATGTTGAGTCGCTTGAGCAGGCTGAACGTTCGCTGCAAAGCTTCGACGCAGTGCTCCAGCGCCTTGAGATCGCCCCTGAAAACCAGCTGAGCGACCTGCGGGCGCTACTGCACAGCACGGCAACTCGCTTCGAGAGCCTCGACCCTGCGCCAGCGCTTCCCACCGCGCCGCCGGTGGCGGTGTCTGACGCGGAACTTCCCGGCACTCTGGTCAGCGAAGAGGATGCGG
++SRR1222430.61 61 length=251
+CCCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHFGGGHGHHHHHHGHHHHHHHHHGGGGGGHHHGHHHGHGGGGGFHGHHHHHHGGGGGHHHHHHHGGGGHGHHHHHGHHHHHHHHGGGGGHHGGGGGGGGGHHHHHHHHHHGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFADFFFFFDC:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACFFFFFFFFFF
+@SRR1222430.64 64 length=250
+AAAAAATTTCTGGCGGGTGCCCTGATTTTCTCTGCCTGCAGCGCGCTGTCTACCGTTGCGCAGGCTGATAACACCATTACCTTTAATGGTATTGTTTCCGATACCACCTGTACGGCGACCATTGATGGCGGTGTAACGGCTATTGATATGGGCACCACCTCAGTGGCGGATCTGAAAGCGTATACCTTCGGCGCTGCCAAGAACTTCTCCTTTAGCTTAGCTGATTGCCCGACCGCGGAAGAAGGTGGCA
++SRR1222430.64 64 length=250
+CCCCCCFFFFFFGGGGGFGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHGGGFGGGGGGGHEHHHHHHHGHHHHHHHHHGHHHHFHHHHHHHFHGGGGGHHHGHHHHHHGGGGGGGHHHHHGHHGGDGGGHHGGDFDFGFFGGGGGGFFGGGGGGGFFGGGFFF@@FFBBFFFBDADDF/FFFFFFDFACF?A/FAFFBFFFFFFFFFBBFFFFBBFFBFF/:FFA=>F9=A>--9AF9F9BEFF
+@SRR1222430.67 67 length=251
+TTCGAGCATGTCATCATTATCCAGTGAGCGCTGGGATTTCTTCCCTTCCTGCTTTGGCCGTCGTCGGGAAGGGCCATCTCCAGCGGGAATTGACTGAGAGCGCGTGTTATCCCGCTTGCTCTGCACCAGACTGATAAACTCCAGGGTTCGGCCAAGACGCTTGTTATCGACAATCGCGCCCTGGTCGATTTCTGACAGTCGGTCGTAGGTAGAGTAGGGAAGTAGCGTACCGTTCAGGCGCAGCTCTTTTC
++SRR1222430.67 67 length=251
+DDCCDFCCFFFFGGGGGGGGGGHHHHHHHGGGGGGHHHHHHHHHHHHHHHHGHHHHHGHGGGGGGGGGGGGGFGGGHHHHHHHHGGGGGHHHHHHHHHHHHGGGGGGHHHHHHGGGGGHHHHHHHHHHHHGHHHGHHHHHHHHHHGHHHGGGGGHHHHGGGGGHHHHHHHGGGGGGGGGGGGGGGGGFEFFFFFFFFFFFFFFFAFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHF0
+@SRR1222430.70 70 length=251
+CTTTACCCGCCGCCGGGGCGGCAATGTGCAGCCTGATGGTGTCGCCCGGTTTATAGCTCGGTTTATCCAGCTTCATGGTGACCCGGTCAGGACGCGCCGCGCCGGCGCCTTCGCTGTTATCCTGCCAGCTGTAGCCCGCCCAGAAGCGCACGCTGCTGACCACGTCGTCCGGTCCTTTCACCTCCAGGCGATAGGATCCCCACTCCACCGGGAAGCTCACTTTGCCGATCTGGCCGGCCTGCAGGTCCAGC
++SRR1222430.70 70 length=251
+CCCCCFFFCEEEGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHGHGGGGGGGHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFHFFFFFFFFFFFFFFFFFFFEFFFFFFFFFF
+@SRR1222430.72 72 length=251
+GTGAACAGGAGAGCGAGCCGAACGCCTTTCAGAAAGGCATCAGCCGGGTCAGCATGCTGCTGATCCGCTTTATGCTGGTGATGGCCCCGGTGGTGCTGCTGATCAATGGCTACACCAAAGGCGACTGGTGGGAGGCGGCGCTATTCGCGCTGTCGGTGGCGGTCGGCTTGACGCCGGAGATGCTGCCGATGATCGTCACTTCGACGCTGGCGCGCGGGGCGGTGAAGCTGTCGAAGCAAAAGGTCATCGTG
++SRR1222430.72 72 length=251
+CBCCCFFFEFEEGGGGGGGGGGGGGGHGHHHHHHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGHFHGGHGGGGGGGGGGGGGGGGGGGGGGGDGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFF@FFFFFFFFFFFFFFFFFFFF0<FFFFE?
+@SRR1222430.73 73 length=251
+TGCATAGAATGTGCACGGAAATTTAACCTGCCTCATATTTGGAGCAACTATGGACCGCGTCTTGCATTTTGTCCTCGCGATCGTTGTGGTGGCTATACTGGCCCTGTTGGTCAGCCATGACCGCCAAAAGATCCGTATTCGTTATGTTGTTCAACTGCTTGTCATTGAAGTCCTGCTGGCCTGGTTCTTCCTCAACTCCGATATTGGTCTGGGTTTTGTGAAAGGATTTTCCGAGATGTTTGAAAAACTCC
++SRR1222430.73 73 length=251
+BCCCCFFFFFFFGGGGGGGGGGHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHGGGGGGGGHHGGGGGGHHHHHHHHHHHHHHHHHHGHHGHHHHHHHHGGGGGHHHGHHHHFGHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHGHHGHHHHHHHHHHHHHHHHGGGGGGGGGFFGBFFGGGGGGGFFG?FGGGFFFFFAFFFFFFFFFFFFFFFF
+@SRR1222430.75 75 length=251
+GCTGCTGGTATTGATGATGTTCTGCACGCTGACAAAATCATCGAGCAGCACCATCCCGTGGGCGCCTTTGATCGGCGTCCAGGAGAGGATTTTTTTGTTTTGCAGATCGACCACGGCTTCAATGACGTGTTTGCCATCGAGCATCACCACATCGGCAGTGCGGGGAGTATCGACCGGTGTTCCCTGCAGGGCAAAGGCCCACACCGCGGCTTTATCCGGCTCGTGCAGGGAAATTTCGCTAAAGCGGGTAT
++SRR1222430.75 75 length=251
+CCCDDFFFFFFFGGGGGGGGGGHHHHHGGGGGHHHHHHHHHHHHGGGHHHHHHHHHHGHGGGGGGGGGHHHHHGGGGGGGGHHHGHGGHHHHHHGGGHHHHHHHHHHHHGGGGHGGGGGHHHHHHHGGGHHHGHHHHHGHGGGHHHHHHHHHHGGGGGHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFDFF
+@SRR1222430.77 77 length=250
+TAAACTCGACCGGGCCGAGCGAAAGAAAGTCCTGGCGCTTGCCCAGTCCAGACAAATTGATGCAATCCTGGTCACTGAGCTTTCCCGGTGGGGGCGCTCGACGCTCGATCTGCTCAATACGCTACGTGAACTGGAGAACTGGAAGGTTTCCGTGATAGCCATGAATGGAATGGCGTTCGATCTTTCGTCGCCGTATGGACGAATGCTGGCGACGTTTCTTTCCGGCATTGCGGAGTTTGAGCGGGATCTC
++SRR1222430.77 77 length=250
+BBBBBFFBBBBBGCGGFGGGGGGGGGGHHFGHHHHHGGGGGHHHGHHHHHHHGHHHHHGHHHHHHHGGHHHHHHHGHGHHHHHHEHGGEEEGGGGGGGGGGGGGDGGGHHHHHHHHHHGHHGEGGGFHCEHHHHHGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFDFF;FFF>DFFEFFFFFFFFFFFFFAFFFFFFFFFFFFFFFAFFFFFDFFFFFFEFAFFFFFFF
+@SRR1222430.80 80 length=251
+TGAATACCCAGCTCACCGAGCGCCGCCGGATTGGCGAAGCTTGGCGCTTCGGTCATCAGGCAGGCGGCCGCGGTGGTTTTCGGGAAAGCGATAACGTCGCGGATGTTATCGGTACCGGTCAGCAGCATGGTCAGACGGTCAAGACCGAAGGCCAGACCTGCATGCGGCGGCGTACCGTACTTCAGCGCATCCAGCAGGAAGCCGAATTTCTCACGCTGTTCCTGTTCGTTAATGCCCAGAATACCAAATAC
++SRR1222430.80 80 length=251
+CCCCCFFFFFCFGGGGGGGGGGGGGGGGGGGGHHHGGGGGHHHGHGGGGGGGGGGHHHHHHHGGGGGGGGGGGDGGFGHGHGGGGGHHHGGHGGHGHHGGGGGGGHHHHHGGGGGGDGGGGGGGGGGGGGFGGGGFFFFFFFFEFFFBFFFFFFFFFFFFFFFFFDFFFFFFACFFFFFFFFFFFFFFFFCFFFFFFFFF?EFFDCFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFF
+@SRR1222430.81 81 length=251
+CCATGTCACACTCCTTATAAAAAACCAGATTTCATACCTTATAAATTTCTGCCATTTCCACATGAATCGTCCATGAATCGAATCGTGAATCGAATCTAGATTCATGACGCTTTTTTGCAATTCACCTGACGAATCACATCACGAATTGAATCGCGAGTCAATTCACCTTAAACTCCTAATTTTAATACAGTGAATCGTAAGCGATTCATTAGCGATTCGTTTATGAATCGTCAGTGAATTGCCAACGATTC
++SRR1222430.81 81 length=251
+BCCCCFFFFFFFGGGGGGGGGGHGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHGGHHHHHHHHHHGHHHGFGHHHHHGHHHHHHHHHHHHGGGGGHHGGHHHHHHHHHHHHHGGGHGHHHHHHHGGGHHHHHHHHGGGGGHHHHHHGHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGHHHHHGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFB
+@SRR1222430.83 83 length=250
+GCCATGCCGGTAAATGTCAAAACCTTCCGCCATAATCCCGCGATACTTCGCCGGGAACAGAGCGGCTCAAAGGTGGACTTACTATGCAGATTGGTTTTATCGGCCTCGGCGCGGTGGTGGAAACCGCCTATTTACCGGCGCTGCGTCGCCTGGGGGACGTCATCGACCGCTGCCAGGGCTATGACCTGGACTGCAGCAGAGCGCTGCCGGGGATCCAGCGCTGTAGTTCGCTGTCGGCGCTGCTGGCCGA
++SRR1222430.83 83 length=250
+CCDCCFFFDDBBGGGGGGGGGGHGHHHHGGGGGHHHHHHGGGGGGGHHHGGGGGGGGGHHHHHGGGGGHHHHHFGGHHHHHHHHHHHHHHHHHHGHHGHHHHCGGGHGGGGGGGGGGFGGHHHHHGGGGGHHHHHHGGGGGGGGGGGGGGGFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.85 85 length=251
+TATAGCCATAACCAGCTGTACGGCGTCTGGCGTGTGGTGGATGCCGGCGTTGAGCCGCAATCGAACCGCGTACTGCGCGTCAGGCTGCAGACCGCCAGCAAGGCGATTTTGCTCTACAGCGCGTCGGACATTGATATCCTCACGGCGGAGCAGGTTGCCAACCATCCGTTCTTGCTGCGCGTCGGACCGGACGTGCTGGACATGACGTTAACCGCGGAGCAGGTGAAAGCGCGGCTGCTGTCGGCCAAATT
++SRR1222430.85 85 length=251
+CDDDCFFFFFFFGGGGGGGGGGGGGGGGGHHGGGGHGHGGHHHHHGGGGGGGHHHHGGGGGHGHHHGGGGGGGHHHGGGGGGGHHHHGHHHHHGGGGGGHHHGHGGGHGHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFDEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA=AD=EFF0
+@SRR1222430.86 86 length=251
+TGGGCCTTCATGCCAAAGTGCCACTGATTGCCTTTCTTGGTCTGATGCATCTCCGGATCGCGTTGCTGCTCTTTGTTCTTGGTAGAGCTGGGTGCCTCAATGATGGTGGCATCCACCAAAGTGCCTTGGGTCATCATGACGCCTGCTTCGGCCAGCCAGCGATTGATGGTCTTGAACAATTGACGGGCCAGTTGATGCTGCTCGAGCAGGTGGCGGAAATTCATGATGGTGGTGCGATCCGGCAGGGCGCT
++SRR1222430.86 86 length=251
+BBBBABBFFFFFGGFGGGFGGGHHHHHHHHHHGHFHHHHHHHHHHHHHHHHHHHGGEGGGGGEGGGHGHHHHHHHHHHHHHHHHHHHHHHGGFEGHHHHHHHHHHHGFGGHHHFGHFGHHHHHHHFHHHHGHHGHHGHHFGGGHHGHHHGGGGGGGGHHGGFHHGHHGHHHHHHHHHHHHHHHHGGGFCGHHHHFHHHHHFHGGGGGFFE9FEGGD?BGFFFFFFFFFFFFFAEFFFEEDFFFACFFFFF@
+@SRR1222430.91 91 length=249
+TTACCATCGCTGGCCTGCTGGAACTGGCCCTGGGCCAGCGCCGCCATACCGGGGTTGGCTTTAGCTTCGGCCAGCACTTCGTCCTGATGGCGCGACGACCACGGCCCCGCCCACATAACGTTGACCGCCGCCACCGCGCCAGTGAACAGCGCAAGGATCATCGCCGCCTTGATCAGCACGGCTTTGCTCAGGCCGCAGGCGTGCATCACCGTAATTTCACTTTCGGTGTACAGCTTGCCGAGGGTCATC
++SRR1222430.91 91 length=249
+CCCCCFFFDDFCGGGGGGGGGGHHHHHHHHHHHGHHGHGGGGGGGGGHHHGGGGGGGGHHHHHHHHHHGGGGGHGHHHHHGHGGGHHHHHHGGGGGGGGGGHGGGGGGGGGGGGGHHHHGHHHHHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFHHHFHFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.92 92 length=251
+TTGGTATGAGATGACATGTAAACAGTCCGTGATATTATTAGTTTTCAGACATATTCATTTAAGAATTCATATGCCGGCATGACATTAATGCATCATAATCTAACCAGGAAGTCAGCCTAATATATCATTATGGAGTAATACATATCGGTTGTTGTTAACTTAAATGACGGCTGTTGCCATAGTTAATATTTGTGATGTGTACTGCAGGAGGGATAAAAAATTGCCATTAAGGCTTGTAACTTCTGGACAGC
++SRR1222430.92 92 length=251
+BCCDBFFFFFFFGGGGGGGGGGHHHHHHGHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIHHIIIIHHHHHGGGGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHGHHHHHHHHHHHIHHHHHGHHHHHHHHEHHHGGGGGGHHHGHHHHHHHHHHHHGFGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHFHGGGGGHHHHHHGHHGHHHHHHHHHFHGGGGGGGGGGGGGGGG<
+@SRR1222430.95 95 length=250
+GGCGGGGTTGGCGATGATGCGCAGCAGCGGCTTATCGGTTTCCGGCAGCATCATGCCGCCCACCTGCTCCCCCGGATGGCCAATCACGATGCCGTGGCGTTCCGGCAGACGGTCGCGCAGAGCGCTGAAGGCGATGCCGCGATAGTCCGCCTGGATACCCAGTCAGGAGGAGATCAGCGCCGCGGCGCTGAAGACGTCCGCCGACGGCTTGGCCCCATAGGCGACCGCAATGTCCGCCGGGGTCATCTGC
++SRR1222430.95 95 length=250
+BBBBBBBDDBBFGGGGGGGGGGGGGHHGGGGGGHHHHGGGGHHGGGGGGHHHHGHHHGGGGGGGGHHHHHGGGGGGGGGHHHHHHEHDGHGGHGGGGGGGGGHGGGGGFHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFADFFFFFDFFFFFFFFFFF=FFFFFFF
+@SRR1222430.10 10 length=251
+CGTCTCGCTGACCAGGGCGTTTTTCGCCTGATTGCGCGACATCACCAGCAGGTCGTTGATCATGCTGTCCAGCCGGTGCGCTTCGGTTTCGATACGCTCCAGCTCCTTGCTCTCTCCGCTGCGGCGACGCAGCAGGGCGGTACCCAATTGCAGGCGCGTAAGCGGCGTGCGCAGCTCGTGCGAGATATCGGACAGCAGCCGCTGCTGGCTGGTCATCATCCGCTCCAGGGCCGTCACCATCTGGTTAAAAC
++SRR1222430.10 10 length=251
+BBBBBFFBBBBFGGGGGGGEFGGGHGGGGHHHHHHGGGGGGGHGHHHHHHHH1FEEGHHEHHHHHHHHHHHHGGGGGGGGGGGGGGGGGHGGGHGGGGGGHHHHHHHHHHGHHHHHHGGGGGGGGGGGGGGGGFGEGGGGGGGGGGGFFFFFFFFFFFCFFFFFFFFBCFFFFFFFFDFFFADFFFFFFF;ABFFFFFFFFFFFFFFFFFFFBFFBFFFFFFFFFFFFF??DCFFFDFBFFBFFFFFBFF/
+@SRR1222430.13 13 length=242
+AAGTGGAGATCACCGTCCTGGCCGCGGAAAAACTGTTGGCCAAAGGGGTAAATGTGCGGGTCGTCTCGCTCCCTTCCACTGATGTGTTTGACGCCCAGGATGAGGCCTGGCGCGAATCGGTGCTGCCGTCGGACGTCAGCGCCCGGGTGGCGGTCGAAGCCGGGATAGCGGACTACTGGTATAAATATGTCGGCTTAAAAGGCAAGATCGTCGGCATGACCGGCTATGGCGAATCCGCCCCG
++SRR1222430.13 13 length=242
+BBBABFFBFFFFGGGGGGGGGGHGGCGGGGGHGHHHHHHHHHHHHHGGEEHHHHHHHGGGGGGGGHHHGGHGGHHHHHHHHFGHBGGHHHHGGGGGGGGGHHHHHGFHGHHGGGGCGGHAEDAHHHHGGGGGGGGGGGGHGGGGGGGEGFGGFDFFFFEFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFAFCFFFFFFFFFFFFFFFFFFFFFFFF?BCF
+@SRR1222430.22 22 length=251
+CATGGACATGCTCCCCGCCGACCTGCTGCGCTATATCACCCAACACCGAAAAACTGCTTACCACATTCAGCGTTTTCGCCATGGCCCCCTGCGCCATCAGGCCGAGGGCCAGCGCGACCACTATTGCACTACGTTTCATCATTTCCTTACCCCATCAATGTGCGCCAACCGACCAGCAGCCGGCTGCGCGTGCCAAAAAATAGCGAAACAAAAAACAGTGCGCTGGCGGTCAGCACAATAGCGGGCCCGGC
++SRR1222430.22 22 length=251
+CCCCBFFFFFFFGGGGGGGGGGGGHHHHHGGGGGHGHHHFHGHGGGGGGGGGHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGHFHHHGGGGHGGGGGGHHHFGGGFBCEGGEGGGDGGCGHHHHHHHGHHHHGCGGHGHHGFHHGHHGHHHHEDFGGGGGFGGGGGGGGGGFCFFFFFFFFFFFFFFFFFFFFEFF:EFFFFFFFFFFFFFFFFF?AF9FFCFFFFFFFFFFFFFFFFFFFFCFF;BFFF-
+@SRR1222430.25 25 length=251
+CCACGCCAACCGGAGAAGGCACCACCTCCGCGCGGACGTTCGCCCGCCTGCGGCGCTGCGTGTTGACCAACGGTTTTTCCATTCGCTAACCGGGGGCGCCATGCATACCTTTTCTCTGCAAACGCGCCTCTACAGCGGCCCGGGCAGCCTGGCCGCGCTGCAGCGCTTTAGCCATCAGCACATCTGGATCGTCTGCGACGGCTTCCTGGCGCGCTCGCCGCTGCTTGACCGACTGCGCGCCGCGCTGCCCG
++SRR1222430.25 25 length=251
+DDDDDDDDDCDCGGGGGGGGGGGHHGHHHGGGGGGGGGGGHGGGGGGGGHHGGGGGGGGGGGGHHHGHHHGGGGGGGGHHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFBFF;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFFFFFFFFFFFFA=DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFAFFFF.
+@SRR1222430.27 27 length=250
+ATGGTTTTATACGGATATTTACGGGCTTTCTGCTGCCGCAGTCGGAGTGATGTTCCTGGTGACGCGGGTTCTGGATGCGATTACCGATCCGCTAACCGGCATTGTTGCAGACCGTGTAAAGACCCGCTGGGGCCATTTTCGCCCGTGGCTTATCTGGTTTGCCGTACCTTATGCCGTGCTGGCGGTAATGACCTTCACGACTCTGGAATTTGGCGCATCGGGGAAACTGGTTTATGCCTACCTGACCTAC
++SRR1222430.27 27 length=250
+BCCDCFFCFFFFGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGHGGGGGHGHHHHHHHHHFHHHGGGGGGGHHHHHHHHGGHHGHHGGGGGHGGGGHHGGGGGHHHHHHHHHHHGDHHGHHHHHHHGGGGGGGGGGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGFGFFFFFFFFF@A900BBF0F0:B..9AAFBB:B0FF0:B;DD?-9AF-;:A/BFF0:F0;0:BFFBA00/BF00/
+@SRR1222430.42 42 length=251
+CGAGGCAAAACCATCGTCCAGCGACGGCAGGCGGGCCATAAAGGTCTCGACATCGCCGCTGGCGTCGAAGTCCGGCGGCAGCGCCGACTCGACGATAATGTCCGCCAGCTCCAGTTCACGCCCGGTCTCACGGGCCAGAATCAGCAGTTTACGCGCCACATCCACCCCGGATAAATCGTCGCGCGGATCCGGCTCGGTATACCCCATCTCACGGGCCATCGCCGTCGCCGCGGAGAAACTCACCCCCTCGT
++SRR1222430.42 42 length=251
+CCCCDCBFFFFDGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHGGGHGGGGGGGGGGDDGGGGFHHGGGGGGGGGGGGGGGGGGHGGGGGGGGFGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFADFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF-.
+@SRR1222430.43 43 length=251
+CTCGGCACCGTAGGCTCGATCAGCCCGTATATCGGTCTGTTCGGTACCGTCTGGGGGATTATGCACGCCTTTATCGCCCTTGGCGCGGTGAAGCAGGCCACCCTGCAGATGGTGGTGCCAGGTATCGCCGAAGCGCTGATCGCCACCGCGATTGGTCTGTTCGCCGCGATCCCGGCGGTCATGGCGTATAACCGCCTGAACCAGCGCGTGAACAAGCTTGAACTGAATTACGACAACTTTATGGAAGAGTT
++SRR1222430.43 43 length=251
+CCCCCCCDBCFCGGGGGGGGGGHHHGGGGHHHHGGGGGHHHHGGGHGHGGGHGHHGGGGHHHHHHHGGGHGHHHHHGGGGHHHHGGGGEGGHHHHHHGGHGHGHHHHHHHHHHHG<FHHHHHFFHHGGGGGGGGGGGGGHHGGGGGHGGGGGGGGGGGGGGGGCEGFFFFFFFFFFFFFFFFFFFFDFFFFBFFFFFFBFFFF?EFFF;CDFFFFFFFFFFFFFFFFFFF0EEFFFEFFFFF0B:FBAF:B
+@SRR1222430.51 51 length=242
+TTGGCGTAAAGATTACGATATCGCCCAAGCTGCCGCTTTACCTGAGATTCTGCCGATTGTGCTTTTTTAATCTGCGAACGTATAATATCCAGCTCTTCAGGCCGTTCGCCAGATTCCAGATTTCGTAATAGAGCGCTCTCTGCTGATAGCTTTTCCTCAGCGCGCAGGAAAATATTTTGCGCATCGAAGGACTCAATCTTCACTAACTCCTGTCCTGCGGCGACGTTATCTCCTTTATTGAT
++SRR1222430.51 51 length=242
+CDCDCCCBCCFFGGGGGGGGGGGGGGGHHGHHHHGGGGGHHHHHHHHHHHHHHHGGGGGHHHHHHHHGHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHGGGGHGGGGGHHHHHHHGHHHHHHHHGHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFFFF
+@SRR1222430.54 54 length=251
+CACTGAGAACCCAGATGTAGTTGTCCTGAAACGCGGGAATACTGATAAGATTCATAAATTACCTCTAAAGCGTAGCGGAAGGTGGCAATGAAGCCGGCAAGGATACCTCACACAGTGACAGCGCCTGAGCATTGGTCCAGTATGCCGTGGGGCGAATACTATCGCGAAACGCTGGAGCAGCAGATGAAACCGTGGCTGGCTAAATTATATGGCTTTCATCTGCTTAAGATTGGCAATCTGAGCGCGGAAAT
++SRR1222430.54 54 length=251
+BBBBBFFFFFBBCGFFGFGGGGHHHHHFHHHHGGGGGC?GFFHGGHGFHGHHHHHHHHHGHHHHHHHHHGHGEGGGGGFGGGHGGHHHHHGHHHEGGGGGGGGGGFHHHHHHHGHFGHHFGHGGGCHGHHFHGHGGGHHHHGHGHHGGGGGGGGGGGFHHGFFFGGGGGGGFGGGFFFFFFFFFFFFFFEFFAEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA;B
+@SRR1222430.58 58 length=251
+TGGTAGATTTTAGCCGTGCCGCCCTCCATCATGGCTCTAATCAGATCCTGGTCAGTGGTGCGTGCCGGCAGCGGCGTGATTTCACTGTTCTCCCCGAAAATCAGCGTACCGGTGAGCGTCATGATGAATTCCTTCAGCTCCTTATTGCCGTCGAAGAGCCGGTTCTTCGATAAGGCATTCCACATGATGTTGATGTTTTTCATCACACGTTCTTTGTCTTTATCGCTGGCCTTATCCTGGACGCTGTCCAT
++SRR1222430.58 58 length=251
+AABAAFFFFFFFGFGGEGGG?FGGGFECGHHHHFFFGHHHGHHHHHHHHHHHHHHHFHHGGGGGEHGCGGGFCECFEEFHHHHHHHHHHHHHHHGGCGGGHHHHHGGGCFGGGGGFHFGGGHHGHHHHHHHGGHHHHGFHHFGHHHHHHGDGGCGGGFHHFGGD.FFGGEGGGGGGGGGFGGGGGGGGGFGGGGFFFFFFFFFFFFFFAFFBEFFB9BBFFFFFFFFFFFFFFEFFFFFFFFF;FFFFBFF
+@SRR1222430.71 71 length=250
+ATCCCCATCCGCTCCGCCAGGGCAGATTTGCTTAACCCAGCCTTTTCACGCATCTCGTACAGCATTTCGACCAGTGCCAGCTCTTTATCTGCTTCCTGGTAACCCCGGATTGCCTCCGGGGTGTTGAGCAGACTTTCTTTGACCTGGTTAAATGGGATGCCTTTTACTTTCATTAGCTCATCTCCTTCAGGCGCTTTCTCGCTATCTCTATGGCCCCTGCCGGGGTTTTTTGTGTCTTCTTAACAAACGC
++SRR1222430.71 71 length=250
+AABA?AFFFFBBGGGGCEGGGGGFGFGHHHHHFHHHHGGHHGHHHHHGHHHGEGHHHGGGGHGHGHHHFFGGEHHHHHHHEBEGHHHHHHHHGHHHHHHHHHHFHGGGGDFFGGHHHGGGG>@BEHGHHFHF0GGHFFHHHFFFFHHFGHBGGHHHHGGGFGHHGHHHHHGHHHHHFFHGCGHHFGHHF0CHCDGGGGGGGGGGGGGFFFGFG.FEBEAFF??BBBBFFFBBFFFFFFFFFEFFFFFEF<
+@SRR1222430.87 87 length=251
+GACGAAATGGCGGCCCACGTCAAAAGCTTCGATTTCATCCTCAACACCGTGGCGGCGCCGCATAATCTCGATGCCTTCACCACGCTGCTGAAACGTGATGGCACCATGACGCTGGTTGGCGCCCCGGCCACGCCGCATCCGTCGCCGGAAGTGTTCAATCTGATCTTCCGCCGCCGGTCAATTGCCGGCTCGATGATCGGCGGTATACCGGAAACTCAGGAGATGCTCGACTTCTGCGCCGAACACGGCAT
++SRR1222430.87 87 length=251
+CCCCCCCCFFFCGGGGGGGGGGGHHHHHHHGHHHGHHHHHHHHHGHGGGHHGGGGGGGGGGGGGHHHHHHHHHGHHHHHHGHHGGGGGHHHHHHGGHHHHHHHHGHHHHHGGGGGHHGGHGGGGGGCGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99ABBFFFFFFFFFFFFFFFFFF/BDFFFFFB/B-@A@A-99FFFFF9
+@SRR1222430.90 90 length=251
+CAGCTATTGTGGCCAGTCCGGGCATAACTCGAATGCCTGCCCACATAATGCGAGCAGCGGTCGACGGCGCAGCCTGAATGACGACTTTACCCTCGACTGAACCGATAGCACGATGGCAGCAGGCGGAATTGATTTCAATGTGAAATTATTCAATGTCAAATAATCGCATTGCGCGATGATGATAATAGATATCATTTGAGGGGGTAGGGGGGATCAAATCCCTAACCCCTTTCGCGCTTCGGGACTGCCGC
++SRR1222430.90 90 length=251
+AAAAABFFFDFAEGGGAFGGG?0EFBD1GDEGCFAFFFD0BFFGEHHHFGHGGGGCFEEEFEGGC?@>EEEEEFHGHHHGGHGGGGGHGHFFHHCGGGGGHHHGGGGGFHHGGHGEEHCGHHFCGGGGGHFBFHHHHHHHHHHFFHGFFGGGGGGGGGGGGGGGFGGEGFFEB@G@?FFFFFFFBFFFFFFFFFFFFFEFFF@@@FFEFF@@=AEFFFFFFFFEFBFFBEFFBBF@<@FF@FF@@?E//@-
+@SRR1222430.96 96 length=251
+TATCGGCCAGCCGTTCATGTTCAGTCCCGGCGAAACGCTGCTGCCGGCGGGGAATGACCTGCTGGTGGGCCACCTCGTGTCCGGCCTGCTGCAGACGCTCGACGCCGCGGGCTGCCGCCTGCTGGTTGATGCAATACCCGGATGGCGCGACCAGATAAAACTGAGACATGATAATTCCTTGCTATGAATGAAAGGGTTATGATGCCGCCTGGAATGGCGATTGTCATCTCCAGGTGGCTAACTTCAGTCCG
++SRR1222430.96 96 length=251
+BBBBBBBBBBBBGFEGGGGGGGHHHHGHGGGGGGGGGGGGGHHHGEGGGGGG?EGFHGF220F?G2BDCEGDFHFFGFGHFF/C-C.C01G1GGHF??DGG-:@-C@DC?D?-..A-9BDAFBFFBBA/B/BFFFFEFF?@-9-;B=?9-;B-99BBFFFFFFBBFFEFFFFFFBFFFEFB/B9BFFFF/99B9FF.;AFFFFEFFAF;AAEBFFFF.B-;E?BFFF/;99BFF/FFFFFFBBFB/FB/F9
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFABF
+@SRR1222430.8 8 length=250
+CGCGCGGGTAATTTTCAGCTGTGTCCCCGGACCGGCGACAAACCCCATGCAGTTAATCACGGTGGTGAATCCACGAAACTGATCGGCCAGCGTCTCCATGGCGCTACCGGCGATGTCGACGGCGAGGAAGGTGGCTCCGGCGTCGGCCAGCGCCTGATGGTTTGCCGACCGCAGCTGGCCGGCTTCATCCCAGGCCGCCGGCGAGACGATGACCGAGACCGTGCCCTGGCGCTCGATTACCGCAGGCACC
++SRR1222430.8 8 length=250
+AAABBBBB>ACFGGGGGDGGGGHHGGHHGGGGG0EGEGGGGHGGGGGHHHHHHFHHDHHHEDFGGEGHFHHHHHGGGGGHHHHHCGCFGHGGDFGHHHHHEHGGGFGHGCCGGGGCFHEGGGGG?CGGGGG;FEFGGGFFFFDFCCDD=AEFFFFFFFFFBFFFFFFFFB=DABCFFFFFFFFFFFFFFFFFF.EFFFFCFFFAAAFFFFF/BBB;9@DFCFF?AFFFEFAA9DF-9BDFFDFFAADFFF
+@SRR1222430.12 12 length=251
+GTCGCTGCTGAAGTTCCGCCGCGAGTTCGATCAATACGTCAACCTGCGCCCGGTGCGCCTGTTCCCCGGCGTCCCCTGCCCGCTGGCGGGTAAAAAGGCCGGCGATATCGATTTTTACGTGGTGCGCGAAAATACCGAAGGCGAATATTCCGCCCTCGGCGGCCGCGCCAATGAAGGCACCGAGCATGAAGTGGTAATTCAGGAGTCGGTCTTCACCCGCCGCGGCGTTGACCGGATCCTGCGCTACGCCT
++SRR1222430.12 12 length=251
+CCCDDDDDFFFFGGGGGGGGGGGGGGGHGHHHGHHHHHHHGGHHHHHGGGGGGGGGGGGGHHHHHHHGGGGGGGGHHGHHHGGGGGGGGG-CHHGHGGHHGGGG?CGGHGGGGGGGEFEBFE9AB?-D?@DABFFFFBF=F?D-CDFFFFFFFFFFFCFF;FAFC;@BDDFFFFFBFEFFFCACFFFFFFF;FFBFFFFFFFFFFFFBF:DDFFFFFFDFF;B=>>@-@-.:FFFD?CF:BB--@BFD=C.
+@SRR1222430.14 14 length=251
+GCAGCACCTACATTGTCACCACCCAATACCTGCCGAACTTCTCACCGATGACGGTCGCGATGCTGCGGGCGTTGCCGGCGGGTTTTTTTCTCGTGATGATCGTCCGACAGATTCCAACGGGAATCTGGTGGGTGCGCATCTTCATCCTCGGCGCACTTAATATTTCGCTTTTCTGGAGCTTGTTGTTTATTTCGGTCTACCGCCTGCCGGGCGGGGGCGCGGCGACGGTAGGCGCTGTGCAGCCGCTGATG
++SRR1222430.14 14 length=251
+CDCCCFFDFFFFGGGGGGGGGGGGGHHHHHHHHHGGGGHHHHHHHHGGGGHHGGGGGGGGGGGHHHGGGGGGGGGHGGGGG><FD.FD-/0=..G//<<0<./CDC.;-@CCG0C0C0.AD.9/:;0F0:9-:C.;>@?-BF00;:FF0.D.AA-:@F0;:BBFF0/9..;B0:000;/;B/AB.:AF0:FF0/;A.A0:BCDC...:9@F;BDFF--9:9@-9-;B-.;.A09-:;DF0;;0:----.00
+@SRR1222430.19 19 length=251
+CAATGGCGAACTTGATATGGCGATGACCGCCCTGCCTGTCGAGGAGGATAGCAGCCTCACCATTCTGCCGTTGTTCAATCACCCGCTGTGCGTCCTGACGCCAAGGACCGCGGAGTGGGAAGGTAAAACCTCGCTCTCGCCGGCCGAGCTGGCGTCGCATCCGCTGGTTATCTACAACGAGGAATTTGCCCTTAGCCAGCAGCTGATGCGGCTGTTTGCCGAGCATGACGTGAAGCCACGTATCGCGGTGG
++SRR1222430.19 19 length=251
+1AAAAFB1>DDAFGGFDG3DEEGCFHHCEGGGEHHHHHHFCGG?/EEE011GFGBFHFFGHBGHGGHGF?EEGFGHHHHHHHHHGGGGGHHGGGGGHGGEGGGGHGHHHGGGGACAHFHHGFFGGHGHGGFHGGGHHHGFCGCGGG@@GGFGB@GGG?@F@FFFF@@/:FFFFFFFFF?EF@@FFFFFFFFFFFFFFFFAFFFBFFFBF??@@@FFBBFF@<@?>FFFF-;-9A9FFBF@EFFFF-@?9@-
+@SRR1222430.35 35 length=244
+TGCGTATCGTCGAAGAACGGCGCGATCAGCGCGTCTTTCGCCGCCTGCGCCGCGCTCTCCAGCGAACGTACCGAGGTGGTGCCCACCGCGATCACGCGGTTGCCGCGCGCTTTCGCCGCCAGCACCGCATCGACCACCTCCTGCGGCACTTCGGCATATTCGGAGTGCATGGTGTGCTCTTCAATGCTGTCGACGCGCACCGGCTGGAAGGTGCCCGCGCCCACATGCAGGGTGACAAACGCCA
++SRR1222430.35 35 length=244
+ABBBBBAFBFABGGCGGGCFGGGEEFGGHFFFGGGGGHHEEGGGGGHHGGGGGGGGGHGHHHHGGGGGEHHGGGGGDGGGGHHHHGGGGGCGGGHGHGGGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.9BFFFFBFEDFFFFFFFFFEFFFBFEFFFFFFFFFAFFFFFFFFFFFFFFFFFFFADFBBFFFFE@9;EFFFF?DFFD
+@SRR1222430.60 60 length=250
+CTCCGCGGCCACCTATGGCGGACGCACCAGCGACTTCATCGAGTCCCGCGAGTACGAACAGCCGCTGAACGTTTACGGCTACTCCAAATTCCTGTTCGACGAATACGTCCGCCAGATCCTGCCGGAAGCCAATTCGCAGATCGTCGGCTTCCGCTACTTCAACGTCTACGGGCCGCGCGAAGGCCACAAAGGCAGCATGGCGAGCGTCGCTTTCCACCTCAATACCCAGCTGAATAATGGCGAAAGCCCG
++SRR1222430.60 60 length=250
+BBBBBBBBBBBBGGGGFGGGEFGGGGCGHHHEFCGFHHGHHHGHHFHGGGGGGHHGGHCCGHHGGGGGHGHGHHHFFDC@DHHHHFFFHHHHGHHHHGHG?DGGFDGGHGGGGGFFHHGH<CHGGGG?EFFFGGEFGGFGGGEFGGGGFFFF?D?AFFFFFFFFEFFFFF.@FFFACFFFFFFFFEFFFFBFFFFFFFF?AD@=FFAD9BDFFFFFFFAF/BBB/BBFEFFFFFFFFFFEBDFA>.BFFA
+@SRR1222430.69 69 length=251
+GATCCTCGCCGATATCGTGCTGGCGCTCAGCGGCCACTGGAGCACGCTGCTGATCGGCGTCGCGCTGTGGGGGATTCATATGGGAATGACCCAGGGCCTGCTGGCGGCGATGGTCGCCCATACGGCGCCACCGGAGCTACGCGGCACGGCGTTCGGTATGTTTAATCTGATGAGTGGCCTGGCTCTGCTGCTGGCCAGCACCGGCGCGGGGGTACTGTGGGAAACTTTCGGCGCCGCCTCGACGTTTTCCG
++SRR1222430.69 69 length=251
+B@BBCFFCCCCCGGGGGGGGGGHGGGGGGHHGGGGGGHHGHHHHHGGGGGHHHHHGGGGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHHGGGGGGHHHGGGGGGCGGGHHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFBFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFF;-;00::FF.AF.B0:00;---@--@-..99-;9:FA00.
+@SRR1222430.88 88 length=251
+ACCAACGATTTTTTCCAGACCTTTCTCGATATAGCCCGCGTCGTGAGAGGTGATGGTGGAAGCCAGGGCAGTGTCAAAATCAACAGGCGCGTGAGTGCGGTTTTCCTGTTTTACACCTTCCATTACGGTGTCCCACAGCTTGGTGGTCGCTTCAGTCGCGCCAGCCAGGAAGGATTCGTCGCCTTCATATGGGGTGTAGTTTTTCTGAATAAAGTCACGGACGTTGACTTCATTCTGCCAGTCACCTTTCG
++SRR1222430.88 88 length=251
+>3>AAA?A?ABFFGFGGGGCCGEE55G23BFAAGHHCECAFGGEFFEDGE3BAEG335B?EEEGHEE1EFGGHHHHHHHHHHHHHFHGGGGEEEG3FDEEBDGGHGFHHHHHHGHHFHHHFHHGHHG?HEEFHHHHGHHHHHCFFFD<-CEHGHHGHGGGGGCGGGGGGEGGGGGGFEGGGBGGGFGGGGGFFFFBBFFFFFFFFFFF/FFFFFFFFFFFBBBFEFFFFFFFFFFFFFFFFFFFFFFFFF.
+@SRR1222430.16 16 length=233
+CGCATCGCCGCCTTGCCGGCCATTGCCTCGATTAAAATTCCCGGCCTGCCCGCGCCACAGGCGAGCGAACGTGTAGCGGCCCTGCGTCAGCATCTTCCCTCTCGCGTTACGCTTGGCGTCAGCGGCGATGCATGGGCCACTGCCGGGTTGCAGGCCGGCTGCGAAGCCTGGTATTCGGTCTGCGCCACATCACCGCTACGTATCGCTCTTACCAGCGCCAGTGAGCAGCGGGG
++SRR1222430.16 16 length=233
+BBBBBBBBBBBBGGGGGGGGGGHHGHHHHGGHHGHHHHHHHHGGGGGGHHHGGGGGGGHHHGGGGGGGGGGHHHHHHGGGGGHHGGFGGGHHHGHHHHHHHHHGGGGGGGGGGGGGGGGGGGHGGGGGGGGFGGGGGGDGGGGFFFF9ACFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.74 74 length=251
+GTAACGCCGGCGTAATACGCGCGGCCAGGCTCATTGTAGGTCGAGGCGCCGGCATTTTCGCGATACAGTTGTTTATCAAATAGATTACTTATTCCGGCATTCAGGCGAATATCCCGGTTTAGCTGATACTGAGTACCAATACCCACGATGGAATAGGCGCCAACCTCGGTGGTGGCAAGGGTCCCGGTTTCGTTGCGGATCTCCGCATACTGACGCGGCTTCTGACGGCCATAAAGCGTCCAGTTCACATT
++SRR1222430.74 74 length=251
+BBBBBBBBB@BBEEGGCGCGEFGGGGCGHGHAGGHHFGHHHGCGGGGGGFGFGFGGFHHGGGGGGGHHHHHGHHGHHHHGHHHEFGHDGHHHHHHHGFGGHHHHBHGGGGGHHGHGG-DEHGHHHHHHGHGHEGGFGGGGGGGGEGG?EGGBBFFFGGGFFFFFFFFFFDDF..AAFBEFDFBE.@;9DDF?FFFFFF;DFF/FDD=DFFF/BFFFFFFFFFFBFFDCFFFFFFEFFF.ACDFBFFFFFFF
+@SRR1222430.84 84 length=251
+TCCGCCTGATGGGCTTCGGCCATCGTGTTTACAAAAACTACGATCCGCGCGCCACCGTAATGCGTGAAACCTGCCATGAAGTGCTGAAAGAGCTGGGCACCAAAGACGACCTGCTGCAGGTGGCCATGGAGCTGGAGCATATCGCGCTGAACGACCCGTACTTCATCGAGAAGAAACTGTATCCGAACGTCGACTTCTACTCCGGTATCATCCTGAAAGCGATGGGCATTCCGTCCTCCATGTTTACCGTT
++SRR1222430.84 84 length=251
+AAA?AAAAFFFFECG11A0EG?CHGCEAFGHCBGHCFAEGGC/F//0FEGGEGFGFEGGACHH?/E?FGDF0FHHGGHHEHDFBEHFG1FFCFGGF/FFCAHHHBFFCCC/?BG1CGGHC@1FH0CGHCFH0?CFAFGHDDGHGG@CCG?DCCF@CCGC@CGBFHBCFGGEBFFFGGGGFG0BFGGG??.C@@?AAFFFBFFFF@@;-BFFFBF/;BBFEF--9AE--9//BFBF?A/9BFFF9/BFFFFA
+@SRR1222430.89 89 length=250
+ACGTGCACTGGCATCCCGGGCGTAACAGCCGGGCCCCGCAACGCGTCGATACCCTGCAGCTGGATAATTTTCTCACCACCGGCTATCTCGATATCGTGCCGCTCGCCACGCCGCTGGAGTTTAAGCGAGAAGGGCTGCAGAGCGGCGTGCTGGATAAGCTGCGGCGGGGGAAATACAGCCAGCAGGCGAGCCTCTCCCTGCTGCGCCAGCCGGTGGAACAGTGCCGGCAGATGCTCTTCGCCTTTATTGT
++SRR1222430.89 89 length=250
+CCCCCCCFFFFCGGGGGGGGGGGGGGHGHHGGGGGGGGGGGGGGGGGGGGHGHHHHHHHHHHHHGHHHHHHHHHHHHHHGGGGGGHHHHHHHHGHGHHGHGGGGGGGGGGGGGGGGGHHHHHHHHHGGGGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFF-DE0FFFFFF?AEF.:.--;-@FFBBFFF9AF09:-D.9AE=D>@D.9FFB00:FDA-;-?BFF0BBBF?AD.;F0:0;9
+@SRR1222430.15 15 length=251
+ATGGCTCTCCTGGGCGGCTTCCCACTGCAGTCGGTAGCCGCGACGAAAGGCAACGATGGACGTTTTCTGCATGATTACACCAGTCGGGTCGTGTGCCAGGCCGCCTTGTCGGTGACCGTGTGATAGGGCGGGCGCTGCAGGGCATAGGCCATGGTCATGGCATCGAGCATCGACCACAGAATGTCGAGCTTAAACTGCAGGATCTCCAGCATCCGGTTCTGTTTTTCAGCGCTGTCGCAGTAGGCCTTCGC
++SRR1222430.15 15 length=251
+AABBBFFFFFFB4FGGA?AEFGHGHFGHHHGHDE0FEFGG0ECEE?EEGFHFFH?1??E33E>?GEHFFEHFHFHHFHHFGHFEGDCG?<CGFHHHHHHHGGCGGGGGHHDGGGEHHGDC<<<GHEHGHG@GGG?BB?9/:9AAFFFFFB9BFF9:BFFFE/BBDBFF?FFFFBBBFAAFBFFFBEE?.9FFFF//FFFFFE9FFF99BFFFFFFB@DFBFFFFFEBFFBD?FBABEF-9;99/BFFFBEA
+@SRR1222430.28 28 length=222
+CAGACCGTCTCATCCGCTAACAATACGTGTTTTAGATCGCGATCCGCAGTGGAGTGCACAGCGACAGTCTTGATGCCCAATTCTTTACAGGCACGCAGGATGCGCAGTGCGATCTCGCCACGGTTAGCGATGACAATTTTATCCAGCATTTCGACGCCATCGATATCGATGCTCAGTCCAACAAGCCAGGTCTTCATACGCGCTTCACCTCATCGATTGCCG
++SRR1222430.28 28 length=222
+CCCCCCCCCFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHGGGGGGHGGGGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGHHGGGGGGHHHGGGGGHHGGHGHHGGGGGGGFGGHHGGHGHHHHHHHHHHHHHHHHHHHHHGGCGGGGHGHHHGHGHHHGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.50 50 length=226
+CAGGAAAGCCACCAGCTGGCGGGCTCTGATCTCCCCCACGCCCGGCAGCGTGCGCCATTGCGCTTCACTTTTTGCCGCCAGCAAATGCCAGTTCTCGCTTTCGAGCTGCGCCAGCGCCCCCTGCGGCACCGGGATCCCCATCGCCAGCACCCAGCGGATAAAAGGTCGTTTGCGAACGAGATCAAACTGATGCCAGAGGTGCTGCCCGCGGGCGGCGGAAATCCCT
++SRR1222430.50 50 length=226
+CCDCCFFFFFFFGGGGGGGGGGGGGHHHHHHGHHHGGGGFGGGGGGGGGGEGGGGGGGHHHGGGGGHHHHHHHGHHGGGGGGHHHHGHHHHHHHHHGGGHGHDGHGGHHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.24 24 length=250
+TCTTATGCAACATGTAATGGCGACTCAGGATATCCTGCACCGTGGCCGACACGAGGAAATACTCCTGGCGCAGGCGCAGCTCGCGGCCGGAGTAGGTCGAGTCGTCCGGATAGAGCACGCGGGAGACGTTTTCGGAGTGGTTTTTATCCTCTACCGCGGCGAAGTAGTCGCCCTGGTTGAATTTACCGAGGTTAATTTCGCTGCTGGCCTGCGCGCTCCACAGACGCAGCGTGTTGGTGGCGTCGGTGTC
++SRR1222430.24 24 length=250
+11AAADF@DDFFBGFEEAA1AAEG?EFHHAGHHHHFBCGHHG0AEEAEEGGECE?EGFHHHFFDGD100/?E?EEEEGGCHC?/EE/EGCGGGFGH>FCG/G0</?E@CA<<1<GHHFGGC-@CC?CCGEFEGG@.@FFF0.AEFABGBFFFF0B>@?@@@@=@EFFBFB@FF??A99BBB/BFFBFFF@?FBBFBBFBFFBBFBFF-A/:A@@@--99BFFF/--@?@?@ABF?EFFFB??A--@--99
+@SRR1222430.31 31 length=216
+GTTTCCGGACCGGGTAAACTGCTGCTCGGTCATTACCTTTCCCCACTGCTCCCCCTGCCATTCGCGGATTAACGTGAAGCCAAAGGATTCATACAGTTTGCGGGCCGCGTCCAGCCCTTTAAAGGTCCACAGCTGCACCGCGCTAAACTGGCGACTATCGCAGAAAGCCATCGCCTCGCTGAGGAGCCGCCTGCCAATGCCGGTTCCCCGGCAGCT
++SRR1222430.31 31 length=216
+BABBBFBBBBBBGGFEFGGGGGHHGFHGGGGGHGHHHHHHHHHHFGHFHHHHGGGGEFGGHHHHGGGGGGHHHGHHHGHHHHHHHHHHHHHHHHHHGHHHHGGGDGGGGGGGGGHGGHHHHHGHHHHHHHHGHHHHHHHGGGGGGGHHHHGGGFGGGGGGGGGGGGBFGGGFFFFFFFFFFFFFFFFFBFFF.FFFFFFFFFF-AEFFFFFFFFFF
+@SRR1222430.37 37 length=250
+GCCTTTTCTTTTTCCAGGGAAAACCATCCAGGAGGAACTTTATTATGGCGATGTATGAAGTCGGTACCGTCACGGGTGCCGCGTCGCAGGCACGGGTGACAGGTGCGACAACAAAATGGTCACAGGAGGCGCTGGGGATACAGCCCGGGTCGATTCTGGTGGTCTACCGCAGCGGTAGTGCTGACCTGTATGCGATCAAATCCGTGGACAGCGACACGCAACTGACGCTGACCCGGAATATCACCACCGC
++SRR1222430.37 37 length=250
+AAAABFFFFFFFGCGFGGEFFCHHEEFHHGHHAFEAGAGGGFGGFHGFHGEEEFF5BDHHBDEGCEEHGAEGGFFGFCFHCGGC@E/EEEEHFEC@BBFFFG/GFEFDDCDHHGCC<?FGDDGHFFFGFFCGGG-.AGDGBGGHHGGG?ACGCFGG99B9;?C99B0CDGGCFF;DDFFFFFFFB99:;BBF/A.:9DFFF/F?EEFFFFFF>ADAFDFFFFFFE/ADADDFFFFFA;EEFF/BFFEEFF
+@SRR1222430.57 57 length=218
+GGACATCCAGATCACTCTCGACAACGACGTGCTGATGGTGCGTGGCGAGAAGCGCCAGGAACAGGAGAAGAAGGAAGGTGGCTTCCACCGTGTGGAGCGCTCCTACGGCAGCTTTCAGCGTGCCTTGAACCTGCCTGACGACGCCAACCAGGATTCGATCAAAGCATCGTTCAAGAACGGGGTGCTCACGGTCACGATCGACAAGCGCGAGGTCAGCG
++SRR1222430.57 57 length=218
+CCDCCFFFFFFFGGGGGGGGGGGGHGGGGGGHGHHHHHHHHGFGGGGGGGGHHGGGGGHHHHHHHHGHHHHGHHHHHGGHGHHHHHHHHGHHHHGHHHGGGGGHHHGGGGGGHHHHHHGGGGGHHHHHHHHHHHHHHHHGGGGGGGGGGGHGHHHHGHHGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFF
+@SRR1222430.68 68 length=215
+AAGCACATCGCCGGATTCTGCTGGTAAGTGCGCTTTATCGCTTCGCTGGCGACTTTCGGCTGGTAAATCTTATAGCAACCGTCCTCAATCAACGCCAAACGGCAGCGCAGCGCGTCCCCATAGCGATCGACGATTTTGGCGATCCCGTGCATGGTGGTGAACAGCAAAATATCCGGCTGGCTGACAATGGCGCGGATAATGTCCGGCTTCTTATC
++SRR1222430.68 68 length=215
+CDCDDFFFFDDDGGGGGGGGGGHHHHHHHHHGGGGGHHHHGHHGGGGGGGGGGGGHHGGGGGGHHHHHHHHHHHHHHHHHGGGGGHHHHHHHHGGGGGHHGGGGGGGGGGGGGGGGGGHHHHHHGGHGGGGGGGHGHHGHGGGGGGGGGGGGGGGGGEGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHFF
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.93 93 length=209
+TTGCTCCCGTTTTACCTTGGTAAGCGTGATAATGCGGAATACGCTATAAAACCGACCTGCTGGCCAGGTCTGGACATTATCCCCAGCTGCCTGGCGCTGCACCGTATCGAAACGGATCTGATGCAATACCATGCCCAAGGAAAACTACCTCATCCTCCGCATCTGATGCTACGGGCCGCTATCGAATCCGTATGGGATAACTATGACAT
++SRR1222430.93 93 length=209
+BBBBBFFBBAFFGGGGGGGGG5GGHGGGGHHHHHHGGGGGGHHGGGGHHHGHGFGGCFHHHGHGHHHHHHHHGHHHHHHHGHGGHGHHHHHFHGHGGGGGHHHGHHHHGHHGGGGGGGEHHHHHHHHHHHHFHFFHHHHGHFHFFHHHHHHFHHHHHHGGGGGHHHHGHFHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFF
+@SRR1222430.65 65 length=230
+AGGAAGAGCCAACTATCGCTCTCGAGCAGGTCAACCAGCAGACGCTGCGCATCACCATGTTGGTGATGGTCGCGCTGTTCGCAGTGATGTTCTGGGCGATTTGGTCTGATTTGATCACCGTTTTCGCCTACCTCGACAGCATTACCCTCTGGCACTACAACGGCACCGAGGCGGGGGCCAGCGTGGTGCGCAGCGTGACGATGGGCAGTTTGTTGTTCGCCATTGTGGCG
++SRR1222430.65 65 length=230
+AAAAAFFF1FFFGGGB1E1AFA1AFEE0AFGFFGHF0AGHGH0AEAEGE?EEEH1FEGFHHB/>FGFGBFGFG@E?EGF2EE?CEGHFHF22EB1FA</<GEFF/1FBGHHHFHBHHFCA0/@FGCGG?ECC1F</C<CCGBD1<FC1<<CCFHGHHHF0<--:ACCCCC--9-@@--9-AF;9--EE/@--@-9;AA?AA---9AFBFFFFFBFFE/9----;9:BA?9
+@SRR1222430.6 6 length=192
+GAGAAACATCCTGCCAAGCCAAACTTTAAAGCGCCGAGGGATAATGGCGATGGTACCTACATGGTGGAGTTTGAATTCGATGGCCGTCATTACGCCTGGTCTGGTGCCGCCGGTAATCGGGTAGAGGCAATGCAATCTGCCTGGAGTGCCTACTTCAAGTGACAAAAAGGCCACAGGTTATCGCCTGTGGCC
++SRR1222430.6 6 length=192
+BBBBBFFFFFFFGGGGGGCGGGHHFHHHHFHHGGGGGGGGGHHGHFHGGEEGGFHGHGHHHHHHEGGHHHHHHHHHHHGHGHGHHGGGGGHHHGGEHHHHHFHHHHHHGGGGGCGGHHGGCGFGFFHGGHFHHHGHFHHHHHHHHGFFHFGHHHHHHHHHHHHHHHHHGDHHHGEHHHHHGGGGGGGGGGGG
+@SRR1222430.33 33 length=191
+AAGCGTAATATACGCCACCTCGCGACAGAGCGCTAAAGCGCGTCGCAACTGCTCTTTAACAATTTATCAGACAATCTGTGTGGGCACTCAAAGTGACATGGATTCTTAACGTCCTCGGACGAAAAATGAATACCAAGTCTCAAGAGTGAACACGTAATTCATTACGAAGTTTAATTCTTTGAGCATCAAAC
++SRR1222430.33 33 length=191
+CCCCCBCCCFFFGGGGGGGGGGGGGGGGHHHGGGGGHHHGGGEGGGGGGHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGGGHGHHHHGHFHHHHHHHEHHHHHHGHGHHGGHGGGGGGGGGHHHHHHHHHHHHHHHGHHHHHFHHHHHHFHGHGHHHHHHHGFHGGHHHHHHHHGGGGGGGGGGGGG
+@SRR1222430.36 36 length=196
+AGAAGAATATCGCTCTCTGATGGATCACTGTGTTGTTGAACAAGGTGATTTGGTTATGAGTCGTAACCAGTCTGTCGGTGTTGTTAGCTATGTGGATTCCAAAAAGCCATTTGTATTAGGGCAAGACACTGTCTTAATTAAAGCAATCCATGCAGATTGGCGGTTTATTTACTACACATTACAATCAGATTTAGTC
++SRR1222430.36 36 length=196
+BBBBBFFFFFFBGGGGGGGGGGHHHHFFHHGHHHHHHHHHHHHHHGGGHHGHHGHHHHGHHHGFEHGHHHHHHHHHGGEEFFHFGGHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGHGHCCGGGBGHH11<<1<GGFGBGGHFGF1<>FH1=GF
+@SRR1222430.63 63 length=194
+TGCCTGCGCCCCGATGTGCGCGCGCAGTTAGATAAGGATGCCGCAGCGATCAGCAGCCGCTGGCTGCCGCTACCGGGCGGGCTTCAGGGCCACGAATACCTGGCGCGCCGGGTGACGGAGGCGGAGCTGGCCCAGCGTAGCCCGTTCCTGATGCTGGCGGAAGAGGTGCCGGAGGCGCGTGAACATATGGGACG
++SRR1222430.63 63 length=194
+BBBBBFFBDABBGEEEGFGEAFCCCGFEFGHFHGHHBDGGGHGGGGGGEGGGHHHHHHGGGGGGEGGHGGGGGHGEGGGGGGGHFHHHHGGGGGGGHEHHFGFHGGGGGGGGAAEGGGFFFFFFFFFFFFFFFFFFFADFFFFF@FFFFFFFFFFFFFDF9BFEFFFFFBBCAFF.DAFDF.AFFFFFFFFFFF
+@SRR1222430.17 17 length=184
+GGCAATTCCGGCGGCGCGCTGCTGAACCTCAACGGCGAGCTTATCGGGATCAACACCGCGATCCTCGCGCCGGGCGGCGGCAGCATCGGCATCGGCTTTGCCATTCCAAGCAATATGGCGAAAACCCTCGCCGACCAGCTTATTCAGTTTGGCGAAATCAAGCGCGGCCTGTTGGGCATTAAAG
++SRR1222430.17 17 length=184
+BCCCDFFFFFCCGGGGGGGGGGHHHHHHHHHHHEFGGGGGGHHHHHGGGGGHHHHGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.40 40 length=175
+CCTGGGCTACAGACCGTAGGGCGGGTCAGCGCCGCGCCAGCCGGTAAAAGTTGCAGAGATCACAAAATTCACTCCCGCCTGAAAAGTACCCGCCGTTGTCGCAAACGTCCCTTCACGACAAGCGCCATAACCGCTTCAATTAAACAACAAAAACAAAACATATATTTAACATCAT
++SRR1222430.40 40 length=175
+CCCCCCCFFFFFGGGGGGGGGGGGGGGHHHGGGGGGGGGGGGGGEGGHHHHHHHHHHHGHHHHHHHHHHHHHHHHGGGGGHHHHHHHGHHHGGGGGGGGHGHGGGHGHHGGHHHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.98 98 length=176
+ACCTCTTTATGTGATTCAGAGTGCGCTATAAATATTCACAATAGGGCGCGAATATTACGCAAAACGCGAGCCTTTGACAAGAGCGATTAGCGATCAATGCAGAAAAAAAACACAACTTTCACGACAACGTTTATCTACGGCAATTTTTCAGTACAATCATATCTTCTTTTAATTCT
++SRR1222430.98 98 length=176
+CCDDDFFFFFFFGGGGGGGGGGHHGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHGGGGGHHGGGGGGGHHHHHHHHHHHHGGHHGHHGGHGGHHHHHHHHHHHGGGGHHHGGHHHHHHEDCCGHGHHHHHHHHHGGGGGHHHHHFHHGHHHHHHHHHHFHHFHHHGGGGGGG
+@SRR1222430.11 11 length=169
+TTTTACTGTCACCTCTTTGACCTATTTTGCTCACCATAGCCTCGAAACAATGATTTACGAATCCCAGCAGGAGACATTATGAACGTTATGCGTACCACCGTCGCAACAGTTGTCGCCGCGACCTTATCGATGAGCGCTTTCTCTGCCTTTGCAGCAGCAAGCCTGACTG
++SRR1222430.11 11 length=169
+ABB?AFFFFFFFGGFGGFGFGGHHHGHGFHHGHHHHHHFHGHHGDGEEHFFHFHHFFHGGGGGFCGGGFGFG1FFHHGHHHHHHEGHGGGHGGEGGGFGGFFGGGGGGHFHHHHEHGGGGCCGFFHHHECFGHHGGGGGGHHHG1FDFGHHHGHHHFCHHBAEGFFHHH
+@SRR1222430.20 20 length=167
+TTTCATGCTGCAGGACAAAACGGTTAACCATTTTGCGCCGCGCTCGCGCTGGCCCTGAAAAGGTGAGTCCCGTAGAGGCGAATCACGCAGCCCGAACATACGGCCCAGGAAGCATCGACAGCGCACCTGCAGTTTGAAAAACGACGAGTATAACACCAATACTCAGT
++SRR1222430.20 20 length=167
+CCCCCFFFFFFFGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGHGHHHHHHHGFGGHHHHGGGGGGHHGGGGGGHEGHGGGHGGCGGGHHGHGGGGGHGHHHGFHFDHFGGHGGGCGHGHHHCHHFHHHHHGFFGGGGDGFFGGFBDGGGGGGFFFF
+@SRR1222430.52 52 length=158
+GTTGGAGGACAACGGATTTACCGTAGTCGATATCCGGCAGGATTACACCAATATGTCACCGGCGATGAAAGAGCTTGAAGCGGCTCTGGCCGGTGGTCGATTCCACCATGATGGCAATCCCATTCTGACCTGGTGTATCAGCAACGTTATCGGGAAAT
++SRR1222430.52 52 length=158
+CCCCCFFBBCFFGGGGGGGGGGGGHGGHGGGHGHHGGGGGGGHHHHHHHHHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHGGGGGHHHHHGGGFGGHGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGHHHHHHGGGGHH
+@SRR1222430.34 34 length=149
+CCAGCTGTTGCCAGGGGAATAACGGCCCCGGATCGTCTTTGCGCTGCGGGGCGATATCCGCATGGGCGACCACATTCTGCGGCGCGATGTGGTAGCGGGCGATGATATCGCGCGCCAGCGGGATCAGAGCCGCAATCTGTTCCGGATGA
++SRR1222430.34 34 length=149
+DDDDCFFFFFFFGGGGGGGGGGHGGGGGGGGGGGGHHHGHHHGGGGGGGGGFGGGGGHHGGGGGHHHGGGGGHHHHHHHHGGGGGGGGGHHGHHHHGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.62 62 length=151
+GCGTTTAGGCGCCTGGTGCGGCCATGCTCCCGAGCTCGAGATCGATCTTGCGCTGGCCAATATCGGCCTCGACCTGCTCGGCCAGGCGCGCAATTTTTTAAGCTATGCCGCCGAGCTTAACGGTTGCGGCGACGAAGATACGCTGGCTTTT
++SRR1222430.62 62 length=151
+CCDCCCCFFFCCGGGGGGGGGGGGHHHHHHGGGGGGHGGGHGHHGHHHHHHGGGGGGHHHHHHHGGGGGHGGGGGHHGHGGGGGHHHGGGGGGGHHHHGHHHHHHHHHHGGGGGGGGHHHHGGGGGHGGGGGGGGGGGGGGGFFFFFFFFF
+@SRR1222430.78 78 length=150
+AAACGTCGTGTATCCGGAAGACACGATTGCCCGCATCACGATTAAGGGCTCGAATGACAGCAACAGCAACCGTGAGCAGAAGTATAATATGCTGGCGCAGCGGCATACCATCAGCTACGACCGGACAACCGGCGCGGTTGATTACACGCT
++SRR1222430.78 78 length=150
+CCCCCFCCCCBFGGGGGGGGGGHHGGHHGHHHGGGGGHHGGHHGFHHHGGHGGHHHHHHHHGHHHHHHGGHGGGGGHHHHHHGHHGHHHHHHHHHGGGGGGGGGGGHHHHHHGHHHHHGGGGGGGGGHHGGGGGGGG:CFFGGGGGGGGG
+@SRR1222430.99 99 length=160
+AGCCAGGCCGTTGTGCAGTGGCTGAAGCAACCTGAGATGTATCAGGGGAAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTGAATTTAACGAACAGGGTTTGGGTAACCAGGCGGCGATTGAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTT
++SRR1222430.99 99 length=160
+BBBB@FA?ADBAFFGGGGGGGGHGHHHGH3GCGFGFHFG5FFHDF3GE2AFGFFFF?A1F11A0BFFGEFEEHGEEGHH4GF2FGBFDDBDGDEEC@ECGGBFEEEFEGHHHFHGHGG/AC<CCFBGBEGE.C00CACEFHFC-;:CFDCDHGHGGAF?F
+@SRR1222430.26 26 length=135
+AGAAATCCACCCCTTCCACCAGCGGCACTGAGCGCACCTGCGCCCCGGCAATCACCGCGCCATAGATATGAATCGGATAGCTGGGGTTCGGCACCAGTACGGTGTCGCCATGATCCAGCGTCGCCAGCATCAGGT
++SRR1222430.26 26 length=135
+>>AAADFFFFFCGGGGGGGGGGHGGGGG2FGHHGGGGGHHHGGGGGGGGGGHHHHHGGGGGGGHHHHHHHHHHHHGGGGHHHHHGGGGHGGGGGGHHHHHGGHHGHGHGGGHHHHHHHHGGGGGGGGGHHHHHHH
+@SRR1222430.79 79 length=136
+TCATGGCGCATGCGGAAGATCAGCTCCGCCAGATCCTCGGTCTCCTTCGGGTTCATCCCGGCGGCCGGCTCATCGAGCAGGAGCAGCTTCGGCGCGGTGGCCAGCGCGCGGGCGATCTCCACTTTGCGCTGGTTGC
++SRR1222430.79 79 length=136
+DDDDCFFCCDDDGGGGGGGGGGHHHHHGGGGGHHHHHHGGGGGHHHHHHGGHGHHHHHHGGGGGGGGGGGGHHHHHGGGHHGGHHHHHHHGGGGGGGGGGHHHHGGGGGGGGGGAGGGGGGGGGGGGFFFFFFFFF
diff --git a/src/tmp/klebsiella_100_1_13_qual_thres.fq b/src/tmp/klebsiella_100_1_13_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/test/old/klebsiella_100_2.fq b/src/tmp/klebsiella_100_2.undefined.fq
similarity index 100%
rename from test/old/klebsiella_100_2.fq
rename to src/tmp/klebsiella_100_2.undefined.fq
index a9cec73b7b28264d9eed69131f909ca226fe610e..b8bb033bc3b6328348f0251e424606c146f574b7 100644
--- a/test/old/klebsiella_100_2.fq
+++ b/src/tmp/klebsiella_100_2.undefined.fq
@@ -2,26 +2,114 @@
 CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
 +SRR1222430.1 1 length=250
 CCCCCCFFFCCCGGGGGGGGGGHHHHHHHHGHHHHHHHHHHGGGGGGGGHHGHHHHGHGHGHHHHHHHHHFHHHGGGGGGGGGGBFFHHGGGGGGHHGGHHHGHGGGHHHHHHGGGGGGGFGHGHHHHHHHHHGHHHFHHHHHHDFGGGGHHHHHGGAGGGGGGGGGGGGGGGFGGGFFFFFFFFFFFA=@FDF-BFFFFFFFFFFFFFEDFBDFFF-:FFFFFF/BFFFEFFFFFFFFFFF;--:DEFF
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+?BBABBFBBFFFGGGGGGGGGGHHHHHHHHHHFHHHGGGGGHHHHHHHGHHHHHGHGHHHHHHHGHFEGGHGHHHHHHGGHHHHHGGGEGGGHGHHHGHHGGCGGGDHHHHHHHHGHHGHGHHHHHHFHGGGHFGGGGGHHHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=192
+GGCCACAGGCGATAACCTGTGGCCTTTTTGTCACTTGAAGTAGGCACTCCAGGCAGATTGCATTGCCTCTACCCGATTACCGGCGGCACCAGACCAGGCGTAATGACGGCCATCGAATTCAAACTCCACCATGTAGGTACCATCGCCATTATCCCTCGGCGCTTTAAAGTTTGGCTTGGCAGGATGTTTCTC
++SRR1222430.6 6 length=192
+>3ABABF?ABBBGGGGEGGGFFHFFFHGHGGHFHHHHHHHHHFHHHHHHGGGHHHGGFFGFFDFHHHFGHHHHHGGGGGFGGFGG?EGGGHEFFEHHFHGDDFAGHFGGGFGFBEHHHHHHHBHHGHGEFHHFGFHGFGFHHFHAEGGGGFFHGHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFB9
 @SRR1222430.7 7 length=251
 TGGCGGATTGAACGCCTGATCGCACATTTTCTGCAAGCCTCTGTCGCCCGGCAGAGGCCTTCCCGCGCCGCCTCGACGGGTTGCGTTTTGCCTCTTACCTGCGTTTTTTCTCCGCTCTACAGTACCCCATAAGAAATTCGGAATTTATCTAATAGTCTTATTATTTCCTTATATTTTGTGTGGGCGTACAGTGGAGGTACGGATGAAAATTGTCTGGTCAAAAACGGAAGATAAGCAATTTTCTAAAATCG
 +SRR1222430.7 7 length=251
 BBCBBDBCCFFFGGGGGGGGGGGGGGHCFHHHHGHHHHGHHHHHHGHGGGGGGCECAEAGHHHHEGGFFFGGGGEGGFCCGFCADADCGHGHHHHHHHHHHGDDGFGGGGFHHDDGGHFGHFGHHHHEGHHGHHHGHHHGFGCFHHFGGFFFGGGGGGGGGGGGGFGGFGGGGGGGGGFBF?C.E=DFFDFFBFFE.AFFD.DDDFBFFFFBBFFEBFBBBBFEFFFFEBAFFFFEFFFF/FFBFF/9FF.
+@SRR1222430.8 8 length=251
+TATTGGTGCTGGGAGCGGGACAACTGGGCGCCGCCGTTCTCGATGCGCTGGTGCCTGCGGTAATCGAGCGCCAGGGCACGGTCTCGGTCATCGTCTCGCCGGCGGCCTGGGATGAAGCCGGCCAGCTGCGGTCGGCAAACCATCAGGCGCTGGCCGACGCCGGAGCCACCTTCCTCGCCGTCGACATCGCCGGTAGCGCCATGGAGACGCTGGCCGATCAGTTTCGTGGATTCACCACCGTGATTAACTGC
++SRR1222430.8 8 length=251
+AA?AAFFBFFFFGGCEGGGCEFGFHCEDGEGGGGGGEAFFFFB35>0EEGGGHGFFFCEGEEFFHGHG?EGCFG/E</EGGFDADB/CCDHDFGHHGGGCDGGC-:DDGEC./CGB:0C9-B@BEEBBBBGAB;;??=FFFFFFFFFFBB?BBFF<BB??BB?BBBEFFFFBBFFFFBBBBB??-ADB?DFBB9>DF-9@.A/BFFEADBDA?DFBB?@AFBB/FDAEAA/FFFFFFFAFAEEFFFF9BF/
 @SRR1222430.9 9 length=250
 AAGGCTATCTGGTTCGCGTACACATTCTCGATAAAGCCCGTTTTCCCGACTGTATCAGTGCCAAGAGACTGCCACTTGTCCCCGTTCTGCGTGGCGTTAATGACGACGGCATGGGTGTGTATCTGAGGTTCCTGGTTACGGTTCGTGTCGTGGTTGAATTTCGCCACAATCAGATTTCCGGTCAGCACCGTTTCGCTTTTACCGTCCGTCATGACCCGGGTCGCGGCCAGCGTCTCCAGTTGCCGCACCG
 +SRR1222430.9 9 length=250
 ACCCCFFFFFFFGGGGGGGGGGHHHHHHHGHHHGHHHHHGGHHGHHHGGGGGHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHGGHHGHHGGGGGGGGGGHHHHGGGGGGGGHHHGGGGHHHHHHHHGGHHHHHHHHHHGGHGGGGGHHGGGGGFGGFHHHHHGGGGHGFHHHGGFFGGGGGGFGGGGECGGGBGFGFFFFFBDFFFFFFFFFFFFEFFBFFFFFFFFFEFFFF.FFBFFFFFFCA;9>B
+@SRR1222430.10 10 length=251
+CAACCAGGATTCCCCGCCGATGAAGTCGCCCAGGGCAACCTGCGCCAGCATCCGGAGCTGGAAGCCGGGCCGCAGGAGTTTTTAGCCGCTGGCGCCAGTTTTAACCAGATGGTGACGGCCCTGGAGCGGATGATGACCAGCCAGCAGCGGCTGCTGTCCGATATCTCGCACGAGCTGCGCACGCCGCTTACGCGCCTGCAATTGGGTACCGCCCTGCTGCGTCGCCGCAGCGGAGAGAGCAAGGAGCTGGG
++SRR1222430.10 10 length=251
+CCCCCCCCCFFFGGGGGGGGFGHHHHHGGGGGHGGGGGHHHHFGGGGGGGGHFFGFGGHHFCGHHFGGGGGGGGCCFGHEHHFHHHGGGGGGGGGGGF?FFFHFHHGHHHHHFGHHGGGGGHFGCGHCG?CFFHHFHFGAEGGGGGGGGGGGGGFFFGGDDDFFFFFFFFFADFFDBBDD=B=AAFF@D./EFCFFBEFFFFFFFFABFFF-CD;FEF/;@AFFFF=;BDFFFF=;.EFFFFF..AE.BB.
+@SRR1222430.11 11 length=169
+CAGTCAGGCTTGCTGCTGCAAAGGCAGAGAAAGCGCTCATCGATAAGGTCGCGGCGACAACTGTTGCGACGGTGGTACGCATAACGTTCATAATGTCTCCTGCTGGGATTCGTAAATCATTGTTTCGAGGCTATGGTGAGCAAAATAGGTCAAAGAGGTGACAGTAAAA
++SRR1222430.11 11 length=169
+>AA3AFFBFFFDGGD4EGGFGFH4GGGGDHFGHHGGFEAGFGEG2FDG5FEEAGGGGGEEHGH4EFFGEGGG>EEE4FE?EGDGCAGCFCFFHHGHDDHHFHHFBGACFGGFGHFHHHDDHFHFGFFGHCGGFHHHHHGFF0GFHHGHGCGHHFGHH.::G0GGGHBCG
+@SRR1222430.12 12 length=251
+GATGGCCAGGCCATTGGATTTGGTTGCGGAGGTCAGCGTTTTGCGTGGGCGGCTTTGCGCCAGCTCAAAGGCGTAGCGCAGGATCCGGTCAACGCCGCGGCGGGTGAAGACCGACTCCTGAATTACCACTTCATGCTCGGTGCCTTCATTGGCGCGGCCGCCGAGGGCGGAATATTCGCCTTCGGTATTTTCGCGCACCACGTAAAAATCGATATCGCCGGCCTTTTTACCCGCCAGCGGGCCGGGGGGCC
++SRR1222430.12 12 length=251
+BABBCFFFCCCCGGGGGGGGGGHHHGHGGGGGEGHHHGGGGGHHGGGGGGGGGGGHHFEGGGGGHHHHHHHGFGGGGGGGGGGHHHHGCGGHFGGGGGGGGGGG-=.:0;/F--?-9F000B9BBFFBFBF909:B0BDA9DBF0BFFEFFFE-99>;>;9>-;@@D.-@-9.99F0/.A.A099..EBFF0-9@:-;@?E?.9AEFF.9AA..-9..:9=-@.FFFF.0:F9AB-9A->A@-9@CD----
+@SRR1222430.13 13 length=242
+CGGGGCGGATTCGCCATAGCCGGTCATGCCGACGATCTTGCCTTTTAAGCCGACATATTTATACCAGTAGTCCGCTATCCCGGCTTCGACCGCCACCCGGGCGCTGACGTCCGACGGCAGCACCGATTCGCGCCAGGCCTCATCCTGGGCGTCAAACACATCAGTGGAAGGGAGCGAGACGACCCGCACATTTACCCCTTTGGCCAACAGTTTTTCCGCGGCCAGGACGGTGATCTCCACTT
++SRR1222430.13 13 length=242
+CCCBBBCCCCCFGGGGGGGGGGGGGGHHHHGGGGGGHHGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHGHHHGGGGGHHHGGGGGHGHGGGGGGGHGGGGFGGGGGHGGGGGDDGGGGGGGGGGGGGGFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACFFFFFFFFADFFFFFFFFFFFFFEFFFEFFFFFFFFFF?FFBFFFFFEFFFDFEFFFFEFFFF
+@SRR1222430.14 14 length=251
+GCTACCTAGCAGAGCGGCAGAGATGAACACGACCATCAGCGGCTGCACAGCGCCTACCGTCGCCGCGACCCCGCCCGGCAGGCGGTAGACCGAAATAAACAACAAGCTCCAGAATAGCGAAATATTAAGTGCGCCGAGGATGAAGATGCGCATCCACCAGATTCCCGTTGGAATCTGTCGGACGATCATCACGAGCAATAAACCCGCCGGCAACGCCCGCAGCATCGCGACCGTCATCGGTGAGAAGTTCG
++SRR1222430.14 14 length=251
+CCCCCFFFFFFFGGGGGGGGGGHHHHHHGHGGGGGHHHHHGGGGGGHHHHHGGGGGHHGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGHGFGGGGHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGFBGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+@SRR1222430.15 15 length=251
+TGGATGCCTATCTTAATTTCGCTCGTCGCGCCTGCTGGCAGGAGGCGGCCTGCAGCTCCCTGACCGAGCTGGTCGCCCCGCAGATCCATCAGTCGCGCCTCGACAGCTGGCCGCAGCACTATCCATGGATCAAAGAGGAAGGCTATTTTTACTTCCGCAGTCGTCTGAGCCAGGCTAACCGCGACGTTGAGCATGGTCTGGCGCTGGCGAAGGCCTACTGCGACAGCGCTGAAAAACCGAACCGGATGCTG
++SRR1222430.15 15 length=251
+A1A1>CFFFB1DEAAFGDDGCA1000AEGGCAA/B1F1EHG/AA///A>EE/0BFE0FGGGHFF0>EEE/10BBEGG?E//</<FG1121?1>?//>C@C//A@?-FHB0.<<AC<CHC0G;0/0<C/:00:00;/;CFGCAEF099F00.C00009.--.;C.-;-/;/;BFF-A/9;;@?@@@---9-BF///;/;9/;/99>-9---;;9-;/BF//;A9@@-E---;-;BB-------;---;@BBB
+@SRR1222430.16 16 length=233
+CCCCGCTGCTCACTGGCGCTGGTAAGAGCGATACGTAGCGGTGATGTGGCGCAGACCGAATACCAGGCTTCGCAGCCGGCCTGCAACCCGGCAGTGGCCCATGCATCGCCGCTGACGCCAAGCGTAACGCGAGAGGGAAGATGCTGACGCAGGGCCGCTACACGTTCGCTCGCCTGTGGCGCGGGCAGGCCGGGAATTTTAATCGAGGCAATGGCCGGCAAGGCGGCGATGCG
++SRR1222430.16 16 length=233
+CCCCCCCCCFFFGGGGGGGGGGHHHHHHHGGHGGGHHHGGGGGGHGHHHHGGGGGHGGGGGGHHHHGGHHHGGGGGHGGGGGGHHHHHGGGGGGHHHGHHGHHHHHHDGGGGGGGHGGGGGHGGGDGFGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFAFFFEDCBF;FFFFFBFFFFFFCEFB0FFFF;CFFFFEFFF==DFDB
+@SRR1222430.17 17 length=184
+CTTTAATGCCCAACAGGCCGCGCTTGATTTCGCCAAACTGAATAAGCTGGTCGGCGAGGGTTTTCGCCATATTGCTTGGAATGGCAAAGCCGATGCCGATGCTGCCGCCGCCCGGCGCGAGGATCGCGGTGTTGATCCCGATAAGCTCGCCGTTGAGGTTCAGCAGCGCGCCGCCGGAATTGCC
++SRR1222430.17 17 length=184
+CDDEEFFFFFFFGGGGGGGGGGGGGGGHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGGGFHGGHGGGGGHHHHHHHHGHHHHHHHHHHHHGGGGGHGGGGGHHHHGGGGGGGGGGGGGGGGGHHGGGGFGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 @SRR1222430.18 18 length=251
 GCATAGCAGGCGGCAACCGGATGTCATCTGCCTCATCACCGTCTGCAGGTCGGGCGCTCCGGGGGCATTCAGCCGCTGGTGCAGTTCGCGGAAGAAGTGATGAAAATGGACCCGCCGCCTGGCGGCGAGCGGCAGGCTGGCGAAAAAGTGGTCGAGGATAAAGCTTTTCCCTCGCCCGGTACGTCCCCAGACGTACACCCCCTGCGGCCTGCCTGTCGTGGACACCAACTGCTGACCGAGGGCGTCAAGGC
 +SRR1222430.18 18 length=251
 CBCCCFFFFCCCGGGGGGGGGGGHHHHHHHHHHHHHHHHHGHGHGHHHHHHGGGGGGGGGGGGGGGGHHHHHGHGGGGGHHHHHHHHGGGGGGGHHHGHHHHHHHHHGHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEFFEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFDF99.
+@SRR1222430.19 19 length=251
+CTTTGCAACGGAATCCAGCAAAAATTCTGCCGGTCGAGACGCTGGCAAATCGGTTCCGGCAGGATCGCTACGCCAATGCCCGCCTGCACCATGGCGGCGAGAAAATCCCACTGGCCGCTGCGCACCGCGATACGTGGCTTCACGTCATGCTCGGCAAACAGCCGCATCAGCTGCTGGCTAAGGGCAAATTCCTCGTTGTAGATAACCAGCGGATGCGACGCCAGCTCGGCCGGCGAGAGCGCGGTTTTACC
++SRR1222430.19 19 length=251
+BBBBBFFFF?DACGGFGGGGGGGCHFHHHCFEGGGGE?DGDEGFCGHGGGF11EGGHGG?E@/F3FEEHGGGGGGCHHECCGFGGHHHHBGFFHHGGGGGGGGHHHHFHEGFHHHGGGGGDFGGGCG?CGGGFEGGGCG?BCFEFEEFB0FFFAFACFFFFFFFFA9BFEFFFFEFFBFF///?EEF.BFFFFFFFFF.9FEFFFBFF.A---BBF;.>BFFDFFFE.-AA;-9@-@BFFF-@D?BDEFB9
+@SRR1222430.20 20 length=167
+ACTGAGTATTGGTGTTATACTCGTCGTTTTTCAAACTGCAGGTGCGCTGTCGATGCTTCCTGGGCCGTATGTTCGGGCTGCGTGATTCGCCTCTACGGGACTCACCTTTTCAGGGCCAGCGCGAGCGCGGCGCAAAATGGTTAACCGTTTTGTCCTGCAGCATGAAA
++SRR1222430.20 20 length=167
+BCCCCFFFFFFFAFGGGGGGGGGHGGFGGGGHHHGHHHHHHHFHHFGGGGHGEFHFHHHHHHHGHHGGEHGHHHGGGGGGGGEGFFEHGCGGGHHHGGGGGHHGHHHHHHHHHGGGGGHGGGGFFGGGGGGGGGGDHHHHGHGFGGGGGGGGGGGFGGFGGGGFBFG
 @SRR1222430.21 21 length=251
 TGGGCTTTGGTCAGCTTATTTCCGCGAACTATCAGCAGCAGGTCGTCGTGCAGCAGGCCAACCAGCGTGGCGAGCTGTTCATTGATCGCCGCGTTGGGGCCGTTTTCCGGTAGGATCAACAGCAGGGTTTGCCGGCTGGCAAACAGGCTCATCGCCTGGCTTAAGGCGAAAATCGCCTGCCAGTCGGTGCTGTTGTCGATTGAAAAAGTATGGTGCTCGGTAAAGCCCTGCGCGGCAGCAGCTTCGCGAAT
 +SRR1222430.21 21 length=251
 CCCCCFCFFFBFGGGGGGGGGGHGGGGGGHHHHHHGHHHHHHHHGGGGEGGHHHGHHGGHHGGGHHGGFGGGGGGGHHHHHHHHHHHGGGGGGDGGHGGGGGGGHGHHGGGGGGHHHHHHHHHHHHGHFGGHHGGGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFBFFFEBFFFFFFFFFFFFFFBFFFFFAF;DFFFFFFFFFFFA-
+@SRR1222430.22 22 length=251
+CTGGCTGGGATTAAGCCTCTCCTGGGCGATTAGTCTTCCCGCCGGGCCCGCTATTGTGCTGACCGCCAGCGCACTGTTTTTTGTTTCGCTATTTTTTGGCACGCGCAGCCGGCTGCTGGTCGGTTGGCGCACATTGATGGGGTAAGGAAATGATGAAACGTAGTGCAATAGTGGTCGCGCTGGCCCTCGGCCTGATGGCGCAGGGGGCCATGGCGAAAACGCTGAATGTGGTAAGCAGTTTTTCGGTGTTG
++SRR1222430.22 22 length=251
+BBABBFBABFFFGGFGGGGGGGHHGFGG?EHGGHHHFGFHAFAFACGGGGGGGGFHHFHFFHHHGGGFEFGGGGGHHFHHGGCHGHHGGGDFFGGHGGGHHHGGGGGGGHGGGGGGHGGFDFGFFGGFCDADBFFGEFFBFFEDFFGGGGGGFFFGGFFEFAFA/FFFFFF/BF9:B;BDFFFF?EEFFBEDD?FFBFB-9-@-DAFB@9BFFFACF;BB@-ADB9BBFFFB/9BFFFF/;/./9=9.9.9
 @SRR1222430.23 23 length=251
 ACGATATGTACCGGCTGAAAGCCATGCTCGCTCATGACCGCGCGGATCTCCCCCAGCAGATGCTCCGTCGCCGGACAGCCCGAATAGGTCGGGGTAAAGCCAATCACCCAGCCGTCGCCATGGCGCGCGACGCTGCGCACCATACCAAGGTCGGTGATGGTGAGTACTGGCACTTCCGGATCCGGGATCGCGCTTAATAATCCCCAGATGGTGCGAACCTCTGCAGGAGCGATATCGGCAAGACGTTGCAT
 +SRR1222430.23 23 length=251
 DDCCCDCFFFFFGGGGGGGGGGHHHHHHHGGGHGHHHHHGGGGGGGGGHHHHGGGGHHHHHHGHHHGHHGGGGGGGGGHHGGGGGGHHGHGGGGADHHHHHHHHHHHHHGHHGGGGGGGGGHHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFED@FFFFFFFFFFFFFFF0
+@SRR1222430.24 24 length=250
+AAAGTGCGCTTCGGCGGCCGCATTCAGCAGGGAGGAAAGAAAACCCGCTGGATTGAGACGGAGGAGATCATTGCGGAAGCCTACGACCAGATCATCGCCGGCTTTGACACCGACGCCACCAACACGCGGCGTCTGTGGAGCGCGCAGGCCAGCAGCGAAATTAACCTCGGTAAATTCAACCAGGGCGACTACTTCGCCGCGGTAGAGGATAAAAACCAATCCGAAAACGTCTCCCGCGCGCTCTAACCGG
++SRR1222430.24 24 length=250
+>1>A1BF?D11AAEGGGAAAAE/EG22110//ABF/>FFHCF0G//>>/>@FD101B>@///////?0F<>221?<///?0B<C//<>@F<FH1?G1?C@CG--<<0=GH.---:@C..GHEAAEGG-AA999-A9/9F-9-----9----9AB---@--9/BFF//;-A9A-//9B9//--A-?B;-@;-B//;A-;---;9--/;9-B9////-9A-//B;-A-;/-----/9-;@---@AFF//9-9
+@SRR1222430.25 25 length=251
+CTGCATCTGCGCTATCCCTTTCGCCACGGTGTGAATGGTCGGATCCGGTGTAATATCGCTGAACACGCTGACGCGGTTGCTGGCGGGCAGCGCGGCGCGCAGTCGGTCAAGCAGCGGCGAGCGCGCCAGGAAGCCGTCGCAGACGATCCAGATGTGCTGATGGCTAAAGCGCTGCAGCGCGGCCAGGCTGCCCGGGCCGCTGTAGAGGCGCGTTTGCAGAGAAAAGGGATGCATGGCGCCCCCGGCTAGCG
++SRR1222430.25 25 length=251
+BCBCCFFFFFCCGGGGGGGGGGGGGGGGGFHGGHHHHHHHGGGGGHHGGGGHHHHHHGGHGGHHHHGGGGGHGGGGGGGHHGHGGGGGGGDGGGGGGGCC?DDGDGCFGGFGGFGAGGGAFBBBA;DAA?EFF.FDDDFFFFAF=-;EF/BF/BBBBBBFFFFFFBFFF/.:.DDEFEDCFFAF-AA?FAEFA.@D=@ADAFDF/9BFDFAC->A.//:/;/:FFFF.:9AF/:FFFFDCFFFAF--;./:
+@SRR1222430.26 26 length=135
+ACCTGATGCTGGCGACGCTGGATCATGGCGACACCGTACTGGTGCCGAACCCCAGCTATCCGATTCATATCTATGGCGCGGTGATTGCCGGGGCGCAGGTGCGCTCAGTGCCGCTGGTGGAAGGGGTGGATTTCT
++SRR1222430.26 26 length=135
+CCCCCFFFFFFFGGGGGGGGGGHHHHHHHGGGGGGGHHGHHHHHHHGGGGGGGGGHHHHHHGGGGHHHHHHHHHHHHGGGGFGGHHHHHGGGGGGGGGGHHHGGGG.GHHGHGGGGGGGGGHHGGG.AGFGGGGG
+@SRR1222430.27 27 length=251
+CCTTCTCATCACGCGTAATGACTCCGCCCAATGCGCAGTAGGGAATATTGATAAAGGTGTAACACAGCATGAGTAAGGTGTAGGTCAGGTAGGCATAAACCAGTTTACCCGATGCGCCAAATTCCAGAGTCGTGAAGGTCATTACCGCCAGCACGGCATAAGGTACGGCAAACCAGATAAGCCACGGGCGAAAATGGCCCCAGCGGGTCTTTACACGGTCTGCAACAATGCCGGTTAGCGGATCGGTAATC
++SRR1222430.27 27 length=251
+CCCCBFFFFFFFGGGGGGGGGGHHHGGGGGHHHHGGGGGHHHGGGHH5GHHHHHHHGGHHHHHHHHHHHHHHHHHHHHFHHHHHHHHHHHHGGHHHHHHHHHHHHHGHHHGGGGGGGGGGHHHHHHHHHHHGGGHGHHGFHHHHHGGGGGGGHHGGGGGHHHHDHHGGGGGHHGHHHHHHHHHHGGACGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;BDF.AEF:
+@SRR1222430.28 28 length=222
+CGGCAATCGATGAGGTGAAGCGCGTATGAAGACCTGGCTTGTTGGACTGAGCATCGATATCGATGGCGTCGAAATGCTGGATAAAATTGTCATCGCTAACCGTGGCGAGATCGCACTGCGCATCCTGCGTGCCTGTAAAGAATTGGGCATCAAGACTGTCGCTGTGCACTCCACTGCGGATCGCGATCTAAAACACGTATTGTTAGCGGATGAGACGGTCTG
++SRR1222430.28 28 length=222
+CCCDDDFFDFCFGGGGGGGGGGGGGGGHHHHHHHGHHHHHGHHHHGGHHHHHHHHGHHHGHGHHHGHGGGGGGGHHHHHHHHHHHHHHHHHHHHHGHGGHHGGHGGGGGGGHHGGGGHHGGGGGHHHHGGGGHHHHHHGHHHHHHHHHHHHHHHHGHHHHGHGGGHHHHHHGHFHGGGGGGGGGGAGGGFFFGFFFF?BBFFFFFFFFFFFFFFFEFFFFFF
 @SRR1222430.29 29 length=251
 AACGTCATCTTTGAAGCGGCGCAGGGATTCCAGCTCGCCTTCATAGATAACCACGTTGTCACGCAGGACGCGGATTGGGTTGTGACGTTTGATCGTCCCTTCGGTAACCATACAGCCCGCGATGGCGCCGAATTTCGGCGATTTGAAGACATCACGCACTTCAGCCAGACCGATGATCTGCTGTTTCAGTTCCGGAGACAGCATGCCGCTCATCGCCGCTTTCACTTCGTCGATCAGGTTATAGATGACGG
 +SRR1222430.29 29 length=251
@@ -30,10 +118,34 @@ AABBAABFFFFFGGGGGGGGGGGGGGGHHGHHGHHHGGGGGHHHHHHHHGHGHGGHHHGHHHGHGGGGHGGGGEGGHHHG
 TATGAGCTTCGCTCACAACATTGAACTGAGCAATGCGCTGCTTGATCAGTTCGCTGATTTCGGTGGAATTCAGTTGCATGCTCCAGTCCCCTTAAGACTGCAAGACGTCTGCAAGGCGCTCAAGACGGCCGCGTACGCTGCCATCAATGACCATATCACCCGCACGGATGATAATACCTGCCATAACAGACTTATCGATTTTGCAATTCAGCTTAACTTTGCGTGACAGACGTTTTTCCATCGCGCTGACG
 +SRR1222430.30 30 length=251
 CCCBCFFFFFCCGGGGGGGGGGHHHHHHHHHHHHHHGGGGGHHHHHHHHHHHGGGGDHHHHHGGGFHHHHHHHHGHHHHHHHHHHHHGHHHHHHHHHHHHGHHGHGGFGHGHHHHEGEFGGGHHGHGGCGGGGGGGGGGGGHHHHHHHHHHHGHHHHHHHHGGGGGGGGGHHGGGGGGGGGGGGFGGGFGGGGGGG?EGGGGGFGEGFFFFFFFFEFFFFFFFA?AEFFFFFEFFFFFFFFFFFA;--9B:
+@SRR1222430.31 31 length=216
+AGCTGCCGGGGAACCGGCATTGGCAGGCGGCTCCTCAGCGAGGCGATGGCTTTCTGCGATAGTCGCCAGTTTAGCGCGGTGCAGCTGTGGACCTTTAAAGGGCTGGACGCGGCCCGCAAACTGTATGAATCCTTTGGCTTCACGTTAATCCGCGAATGGCAGGGGGAGCAGTGGGGAAAGGTAATGACCGAGCAGCAGTTTACCCGGTCCGGAAAC
++SRR1222430.31 31 length=216
+BBBBBFFDBBBBGGGGGGGGGGHHHGGGGGGGGGHHHGHGFGGGGGEGGHHHHHHHHGGHGGFHGGGGCHHHHHHGGGGGGGHGGHHHHHHGHGHHFHHFHGGHGGHHGGCD?CGGGGGGGGGFGGGGGGGGGGGFGGFGGGGGEFGGFBFDFFFFFFFFFFFF;CDF?EE:FF?=:9E?F;BFBBBFFAFFFFFFFABFFFFFFD;--BCAA=FF
 @SRR1222430.32 32 length=250
 GCCCTTCTCGGGGCTGAGCGCATAGTAATCGGGGTGCGTGCCGGCCTGCATCAGCTGACAGCTATGGCAGTGGCCGCAGCTTTTATGTCCTTCGGGCTGGCGGCACATCAGGAAGCGGCACAGCGCGTAAATCAACGCCTCACCGCCCATCCCGTTCAGGGACTGTAACAGTAAGGCGTGGTGGCCTCGTCCGGCCTGATAGCTACCGACCAGTTGCTCGAACGAGGGGCGCAGCCACGGATACCATTTC
 +SRR1222430.32 32 length=250
 CCCCCFFFFCCCGGGGGGGGGGGGHHHHHHGGGGGGGGGGGHGGGGGGHHHHHHHHHGHHHHHHHHHHHGHHHGHGGGGGHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHGHGHHHGGGGGHHHGGGGGGHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFFFFFAAFFEFFFFFFFFFFDFFFFFFFFFFDDEFCDD=DFFFFFFAFFB=C=.DFFBFFFB
+@SRR1222430.33 33 length=191
+GTTTGATGCTCAAAGAATTAAACTTCGTAATGAATTACGTGTTCACTCTTGAGACTTGGTATTCATTTTTCGTCCGAGGACGTTAAGAATCCATGTCACTTTGAGTGCCCACACAGATTGTCTGATAAATTGTTAAAGAGCAGTTGCGACGCGCTTTAGCGCTCTGTCGCGAGGTGGCGTATATTACGCTT
++SRR1222430.33 33 length=191
+CBBCCFFFFFFFGGGGGGGGGGHHHHGHGHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHGHGGGGGGGHGGGHGHHHHHHGHGHHHHHHHHHGHHFGGGFFGGHHHHGHHHHHHHHHHHHHHHFHHGHHHHGHHHGGGGCFGGGGHHHGGGGHHHHGHGGGGAGFGDFCEHFHHGGGGG
+@SRR1222430.34 34 length=149
+TCATCCGGAACAGATTGCGGCTCTGATCCCGCTGGCGCGCGATATCATCGCCCGCTACCACATCGCGCCGCAGAATGTGGTCGCCCATGCGGATATCGCCCCGCAGCGCAAAGACGATCCGGGGCCGTTATTCCCCTGGCAACAGCTGG
++SRR1222430.34 34 length=149
+CCCCCFCCCCCFGGGGGGGGGGGGHHHHHHGGGFGGGGGGGGGGGHHHHHGGGGGGGGHHHHHHGGGGGGGGGGHGHHHHHHDGGGGHHHGGGGGHHGGGGGGGGGGGGGGGGHHGGFHGHGGGGGGGGGGGGGGGGGGFFFFFFFFFF
+@SRR1222430.35 35 length=244
+TGGCGTTTGTCACCCTGCATGTGGGCGCGGGCACCTTCCAGCCGGTGCGCGTCGACAGCATTGAAGAGCACACCATGCACTCCGAATATGCCGAAGTGCCGCAGGAGGTGGTCGATGCGGTGCTGGCGGCGAAAGCGCGCGGCAACCGCGTGATCGCGGTGGGCACCACCTCGGTACGTTCGCTGGAGAGCGCGGCGCAGGCGGCGAAAGACGCGCTGATCGCGCCGTTCTTCGACGATACGCA
++SRR1222430.35 35 length=244
+BBAABABBBFFFGGGGGGGGGGHGGGGGGGGCGGGHHHHHHHGGGEEGGGGEEFGGGGGHHHHFFHHHGHHHHGHHHHHHGHGGGGGGGHHHGGGGGHHHGGGGGGGGCHFGHFGFHGGGECFHHHGGGGGGGGGGGGFFFFFFFFEDFFDFFFFEFFFAFFFFFFFFEFFFFFDAFFFFFFFFFA.A/.ACFFBFFFAA;AA;@B->-:9FDFFFFFFFFEDACFF-9../BE9EFB.;-A.A
+@SRR1222430.36 36 length=196
+GACTAAATCTGATTGTAATGTGTAGTAAATAAACCGCCAATCTGCATGGATTGCTTTAATTAAGACAGTGTCTTGCCCTAATACAAATGGCTTTTTGGAATCCACATAGCTAACAACACCGACAGACTGGTTACGACTCATAACCAAATCACCTTGTTCAACAACACAGTGATCCATCAGAGAGCGATATTCTTCT
++SRR1222430.36 36 length=196
+CCCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHGHHEGGGGHGHHHHGGHGHHHFHHHHHHHHHHHHHHFGHHBGHHHHHHHHHHHHHHHHFHHHHHGGHHHGHHHHHHHHFHHHHHHHGGGGGGGHHGGHEGGHGGGGGHHHHHHHGHHHHHHHFFFHHHDHHHHHGHHHHHHHHHHHHHHHGGHGGHGGGHHHHG
+@SRR1222430.37 37 length=251
+GCTGGCCAGCTGGTTAGCAAACGACGAGGTGCTGGCGGGTTTAGCGGGAAAAATTGCGGAAGAGGCGCCGGGAAAAGCGGGGGTGTTATTACAGGTCTACGGCAGATGCGTGTCGCTGGCCGCGGCTTTTAGCGCCTACAAGTCTGGACTTCCCCGTCGGGGGGCAACCACAATTCACCCCGGCTGTATTCCACTCGGCCCCGGTGACCCTTTTGGTGTCGCCCCCGGACACCGTGCCCGTGCCCCGGTAC
++SRR1222430.37 37 length=251
+A3>333BFA2FF4GBFFDGGCGED?FGEGGHGFFFEEG?AF13@50>///11B13@@1/>//B0?>////<//B/00??@/--:--.;:C000;:0/0009.-9:.00:-.;9/9...-;.--9@--9:////-9-9..////9/;//;9///.9-..--------..99.9.//////;-;--9-.////://9/9.;.-;-99-.//.;////-;?9;...9-9-----9;-.;.;/.-9.;/99=--;
 @SRR1222430.38 38 length=251
 GTTCTTACCCTCTCACACTTTCGTTTAAGCTCATAAATGCTCGATATCGCTCACTATAGCAAACAAACGCGCTTTTGGTAACATCAAAAAAACATTTTGAAGTGATGGGTGTAACATATTGGCGTTTCTTTACCGCCTGACGGTACACTACAGGGTAAAATTGGGCCGGCCATCGCCCGTCATGACAAGAAAGAGAAGAGAATCATGGAACAGTTTGAATGCATCAATGTTGAAGAAGCGCACCAGAAACT
 +SRR1222430.38 38 length=251
@@ -42,6 +154,14 @@ CBBCCFFFFFFCGGGGGGGGGGGHHGHHHHHHHHHHHHHHHHGGHHGHGGHHGHHHHHHHHHHHHHHHGGGGGGGHHGHH
 TGCCGAGCGTGAATCGCTGTCAGAGCGTTTTGCGACCCTGTCGTTCGATGTGCAGAAAACCCAGCGCCTGCACCAGGCCTTCAGCCGCTTTATCGGCAGCCATCTGGCGGTGGCTTTCGAGGACGATCCGGAAGAAGAGATCCGCAAACTCAACAGCCGCCGCGACGTCAAACGGTATGGATACGGCTATTAGCACCGGCACGGAATAGGGTTGTTGTCGTGTTTTATTTACGCCAATGATTATATAAGGG
 +SRR1222430.39 39 length=251
 AABBBBBBBAAAGGGGGGGGGGHHHHGGGGGGHGGGGGHHHHGGGHGHHHHGHHHHHHHHGGGHHGGGGHHHHHHHGHGHHHHGHHGGGGGHHHGGGGCFHHHHHHHHGGGGGHHHHHGGHGGHGGGHGFGGGGFHHGHHHHHHGGGCHHGGGGGGFGGGGGGGFBFFFFDFFFFFEEFBB9FFEFFB?FFFFFFBEDFFFFFF=EEFFFFFFFDFFFFFEFFFFFFFFFFB9ABFFFFFFFBB/99BFBA
+@SRR1222430.40 40 length=250
+ATGATGTTAAATATATGTTTTGTTTTTGTTGTTTAATTGAAGCGGTTATGGCGCTTGTCGTGAAGGGACGTTTGCGACAACGGCGGGTAGTTTTTTTGCGGGGGGGGATTTTTTTTTCTCTGCCACTTTTTACGCCTGGGGCGGGGGGGTCCCCGCCCCCCGCTTGTTGGCCCAGGGAGTCGGAAAAGGGCGGGGTGGGGGAGAGGGTGGGGTCCTGGGGTGCGCCGGTGATTTTAAAAAATAAAAAAAC
++SRR1222430.40 40 length=250
+ABBBBFFDFFFFGGGGGGGGGGHHHHGGHHHGHHHHHHHGHHHGGGGGHGHGGGGGGHHGGGHGHHGHGGGGHGHGGGGGHGGGGG<///2?FGF///1/<@-@----./9B/----/;/////9//9:FB./..-99..-.---;----.9:.-9;@--9---;.:/../9...:..9./;9-.-./.:.---9---@>---..9...---9../;/.;.9.--.;---./////9/;F-.;9/9/--.
+@SRR1222430.41 41 length=251
+GATCCGGAGAGGGGCGGGGGGGGGAAGGGGGGAGGTTCCGGTGGGGGGCGGCTTATTTAAAAAAAAAAAAAAGATACATTCTCGGCTCCACCTCGGTAAGTAATACGGATAAGTGTCCAGTAAGATATGAGGGCAAGTTTCATGTGTCAATCTTATATGATGTACACATGATAGGGGAATTACGTCTAGACGTACTGCGTTTGTGAGATAGATCGAATTCTGATGGCTCGAGTTACTGCTATGCATCTATC
++SRR1222430.41 41 length=251
+>1111B1>11111000/A///;@--:----;------//----;-------9--//9//9BFF?@?@-------////;/9//----9-/--;------////://-----///////////;/////////---9-/;9B///////////////////////////;;/////-9---/;/-----///;9---//-----;-///////99--//-/9/////--/9-9/-///9//////;;/////
 @SRR1222430.42 42 length=251
 AACCTGCTCAACGCCGGCGATGAGCTGCGCCATTTCTCCGGGATCCTGTCCGGCTCCCTGTCATTTATCTTCGGCAAGCTGGACGAGGGGGTGAGTTTCTCCGCGGCGACGGCGATGGCCCGTGAGATGGGGTATACCGAGCCGGATCCGCGCGACGATTTATCCGGGGTGGATGTGGCGCGTAAACTGCTGATTCTGGCCCGTGAGACCGGGCGTGAACTGGAGCTGGCGGACATTATCGTCGAGTCGGC
 +SRR1222430.42 42 length=251
@@ -58,18 +178,42 @@ ABABBFFFFFFFGGGGGGGGGGGGGGHHHHGHHHHHHHHHHGEEGGHHHGGHGGDGHHHHHHGFHGHHHHHHHHHHHHHG
 GACCAGGTGGTCGGACACGCACGCTCCGTCAGGCTGCCGGGCTTTGTACGCCATGACACCTTTTATTCGCTGCATGAAGTGTTTAATAAGCTAAACAGCTATACCACCCGGCTGGTGAAGTACCAGCAGATCAAACCTTCGCTGACGCGGGGGATCGTCAGCGCCATTGGCGCTTTCTTTAAGTGGTATCTGTTTAGCGGAGCGTGGCGCTATGGCAAAGTCGGCGTGGTGACCGGCCTGTACGCGACGTT
 +SRR1222430.45 45 length=251
 BCCCCFCFFCCFGGGGGGGGGGGGGGGGHHGGHHHGGHGGGGGHHHHHHHGGGGHHHHHGHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGFCGFHHGHHHHHHHHHHHHHHGHHHHGGGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFF;DFFDFFFFFFFFFFEFFFFFFFFFADDFEEFBFFFFAFFFFFFFFF;CBA
+@SRR1222430.46 46 length=251
+GTATGGGAGAGAGGCGTGTTGGGGAAAAGGGGAGAAATTGGGGGGTGGCGGGTTCTTTAAAAAAAAAAAAATCGATTGTGACTGTGAGCAGATCATCCGACGGAAGGTGCGGACAAGGGATAAGCTTAGCGCAAACGTACGTATGAGGGCCTTCGTCGTCTGGTCGATGCGAGACGCGCCCCATTAGCAATACATCAACAGCGCGGCAGCTAGACCCTCTAATGGAAGCGCTACTGAATACCACCGGGTCG
++SRR1222430.46 46 length=251
+>1111B111111A1A0AA000AEA0AA00/B////01D11B//A//</0/--<<.00=<0DFG@C;A---9;/:.9/-/9///;;//B////;F//;/9--------/;/-------99A--/////9//---9-:--:---////;/----9/;;------///--9/---9-----------/99/;///;///////:-;---;---;/9///-/9-///9////------//99//:///9-;-;--
 @SRR1222430.47 47 length=251
 CAAAGTCATACGACGCCCACGCCGCCGCCGGACGGCCTTTCGACAGGGTTGGGCAGGGGAATTCCGGGGGGAAATTAGCGACGGCCCGTTCCATATGGACGCACTCCGGCGCCAGCGCCAGCATCAGCGCCGTTTCGCTATGCCCGGCGTGCATCGCCATCCGCTGTTCATGCGGGCTGAGAAACTGTTTTTCGCAGTTGGGCACGTTGAACACGTCGTGGGGGATGGCGATGAAATCCCCGTGGCGCAGG
 +SRR1222430.47 47 length=251
 BBBBBDFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGHHHGGGGGGGHGGGGHHGGGGGGHHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF/FFFFFDFFEEFFFFFFFFFDFDFF;DFFFFFFFFBFFEFFFFFDFAAF=AA
+@SRR1222430.48 48 length=250
+GATTGGGAGAGGGGCGGGGTGGGGAAAAGGGTAGATATCGGGGGGGGGCGGATTAATAAAAAAAAAAAAAACAAATAAGGACGAGGATTGGTGTAGTAATAGAACTAAGTGAATATATAATTGTATGGTAGATGTTAAAAGAGAAGCATGAGAAGACGTCGGTGTACGTTGCTCAGGTGTATGCATGTGTTAGTGACTAGTTAGAGCTAGATCTCACAAAGGTGTCGAGTAGGCATAATAATCAGGACTA
++SRR1222430.48 48 length=250
+>111>B1111>1110A/A//>>E@/>/00//00/122B1/>//>@---9-----//://9FF@@@@?@@@;----//////------/9-9/-;/////;//9/////////////9//////////-////9////////---//////////;//-:-----9//-99--///;////;//////9//9/;9///////9////////////////9-/-////---/-/9/////////9////-9/
+@SRR1222430.49 49 length=251
+GATCGGAAAAGGGGCGTGGAGGGGGAAAGGGGAGAATTCGGGGGGGGCCGGATTATTTAAAAAAAAAAAATATAATTTCATAAGAGGTCTTAGAGTTAGTGAAAAACATGAAGGCAGGACTGGTCGAATCTGTGAAGGAGGGGACGCGATAGTGCTGCAGGAGCGAAAGGCAGGACTGCAACGGGGTGGGCAAGGGCGCTGCAGCTCGCGTAGCAGAGGAGTTTGCGTGGAGATGTGTACATGTGATGTTT
++SRR1222430.49 49 length=251
+>1111>1>11111A100000/AAA/A//00/////01D1?B/>EC-------9-//://9BFF@@?@@-;-9////////://9//-/://////://///////---////:/------9;-;;---/-9///////9--------9----////////-------------9-9/-9///;-------9----9-9----/////;------///----;//;/-9----///:///////;/////9/
+@SRR1222430.50 50 length=226
+AGGGATTTCCGCCGCCCGCGGGCAGCACCTCTGGCATCAGTTTGATCTCGTTCGCAAACGACCTTTTATCCGCTGGGTGCTGGCGATGGGGATCCCGGTGCCGCAGGGGGCGCTGGCGCAGCTCGAAAGCGAGAACTGGCATTTGCTGGCGGCAAAAAGTGAAGCGCAATGGCGCACGCTGCCGGGCGTGGGGGAGATCAGAGCCCGCCAGCTGGTGGCTTTCCTG
++SRR1222430.50 50 length=226
+CCCCCFFFFFCCGGGGGGGGGGGGGGHHHGHHHHHHHHHHHHHHHHHHHHGGHGGGGGHGGGGGHHHHGHHGGGGGGHGGHHHGGGGGGHGGGGHHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF;FFEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFAFFFFFFFFFFFFEAAFFFFFFBBFDFFFFFFFF
 @SRR1222430.51 51 length=242
 ATCAATAAAGGAGATAACGTCGCCGCAGGACAGGAGTTAGTGAAGATTGAGTCCTTCGATGCGCAAAATATTTTCCTGCGCGCTGAGGAAAAGCTATCAGCAGAGAGCGCTCTATTACGAAATCTGGAATCTGGCGAACGGCCTGAAGAGCTGGATATTATACGTTCGCAGATTAAAAAAGCACAATCGGCAGAATCTCAGGTAAAGCGGCAGCTTGGGCGATATCGTAATCTTTACGCCAA
 +SRR1222430.51 51 length=242
 ABCBCFFFFFFFGGGGGGGGGGGGGGGGGGHHGGHGHHHHHGHHGGHHHHHHHHHHHHHHHGGGGGGHHHHHHHHHHGHGGGGGGGHGHHHHHHHHHHHHHHHHHHGHGGGGHHHHHHGFEGHHHHHHHHHGHGHGGGGGGGGGGHHHHHGHHHHHHGGHHHHGHGHGGGGGHGHGGGGGGGGGGGGGGFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFHHFF;FF
+@SRR1222430.52 52 length=158
+ATTTCCCGATAACGTTGCTGATACACCAGGTCAGAATGGGATTGCCATCATGGTGGAATCGACCACCGGCCAGAGCCGCTTCAAGCTCTTTCATCGCCGGTGACATATTGGTGTAATCCTGCCGGATATCGACTACGGTAAATCCGTTGTCCTCCAAC
++SRR1222430.52 52 length=158
+BCCCBFFCCCCCGGGGGGGGGGHHHHHHHGHHHHGFGHHHHHHGHHHHHHHHHHHGHHHHHGGGGHGGGGGGHHHHHGGGGGHHHHHGHHHHHHHHGGGGGGGHHHHHHHHGGHHHHHHHGHHGGGGGGHGHGGGHGGHHGHGHHGGHGGHHHHHHFH
 @SRR1222430.53 53 length=251
 CCTGCGCCCAGGACAAGGCCAGCGTGGAATCGAAGAAAGCGGCGCTGGAGAGCGCGCGCATTAACCTGAACTGGACCACCGTCACCGCGCCGATTGCCGGGCGCATCGGCATCTCGTCGGTTACGCCGGGGGCGCTGGTCTCCGCCGATCAGGATACCGCGCTGGCGACGATCCGCGGGCTCGACACCATGTATGTTGATCTGACGCGATCCAGCGTCGATCTCCTGCGTTTACGCAAGCAAAGCCTGGCC
 +SRR1222430.53 53 length=251
 CCCCCCDDDDDDGGGGGGGGGGGGGGGGGHHHHHGGHHHHEFGGGGGGHHHGHGGGGGGGGGHHHHHHHHHHHGHHHHHGGHGGGHGGGGGGGGGGHHGGGGGGGGGGGGGGHHHHGFGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAFFFFFFFFFCFFFFFFFFFFFFFFFFDACFFFEFF:FF:FF
+@SRR1222430.54 54 length=251
+CGATCGGCTTCCCGCAGCAGACGATGCGGATCGCTACACCACGGCAGGGTGTGCGCCAGCAGGCAGGCGTCAACGGACTTTTCGGCAAAGGGTAAATGCAGCGGGTCAGCCCGGACCTGCATTGGATTTCCCGCCAGCGAGACATTCACCTGGTGCGAGATGGCGCAAGCTTCGGTATTGATTTCCGCGCTCAGATTGCCAATCTTAAGCAGATGAAAGCCATATAATTTAGCCAGCCACGGTTTCATCTG
++SRR1222430.54 54 length=251
+>AA?ADBDADFFGGGGGGGGGGEEFFGFGGCCGGHGGHHHCHFFGCGEG?FEEGGGGG@FHHHGHFGGEGGGDFEGGGFFGFGGCGC/<FGF?2FFBFHFD1DG?@<GFFHAFFGGFHHHHHFHHHHHHFHHGGGGFG--A?A/CFGGGGBFFBFBBDDD?/BBFD>-@9FFFFF.:AFFB/9F/9AD;-@DFFFFFFFFFFBBFFFFFFFFBBFFFFFFFFFFFFFFFFFEFEBFEEFFFF.EFFFEF/9
 @SRR1222430.55 55 length=250
 TAATGTGAACCCACTTAATCTACGAATCCGCCAAGTTTCAACAGATTAGTGGGTTTTCGCTTTTCTGGCTCCGGGCAGACACCCAATCAGAACCAGTTCCCTGCCACTTACGGCGTGGCCAGCCAAAATTCTTCAGACGATCCGTAATCTAGCACCGACAGGCCGGTGGTTCAAGAAAGCAGCCTGAGCACGTTTCGATGAGGAAGTTCCTGCATTTTCAGTCTGCAGCATCTCTGCCCCCTCAAGGTTC
 +SRR1222430.55 55 length=250
@@ -78,22 +222,58 @@ AAABAFFFFFAAFGGGGGFGGGHGGHHGHGFGFFDA5FGHBAGGGHHHHGHGEGGGGEGGDHGHHDHBHHGGG0EE@GGH
 TAGAACAGGTTCGCGCCGATTTTCCGGTACTGAACCGGGAGGTCAACGGTCAGCCGCTGGTCTATCTCGACAGCGCCGCCAGCGCCCAGAAGCCGGAGGCAGTGATCGGCGCCGAAGCGGAATTCTATCGCCACGGCTACGCGGCGGTGCATCGTGGCATCCATACCCTCAGCGCGGAAGCCACCGCGCGGATGGAAGCCGTGCGTCAGCAGGCGGCCACCTTCCTTAACGCCGGGTCGGCGGAGGAAGTG
 +SRR1222430.56 56 length=251
 BCCCBFFFCFFFGGGGGGGGGGHHHGGGGGHHGHHHGGGGGGGHHHHGGGGGHHHGGGGGHHHHHHHHHHGGGHGGGGGGGGGGGGGGHHHHHHGGFGGGGGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFDFFFFFFFF?DFFFAFFFFFFFFFFFFFFFFFFDABCDFFFBD9BFBF
+@SRR1222430.57 57 length=218
+CGCTGACCTCGCGCTTGTCGATCGTGACCGTGAGCACCCCGTTCTTGAACGATGCTTTGATCGAATCCTGGTTGGCGTCGTCAGGCAGGTTCAAGGCACGCTGAAAGCTGCCGTAGGAGCGCTCCACACGGTGGAAGCCACCTTCCTTCTTCTCCTGTTCCTGGCGCTTCTCGCCACGCACCATCAGCACGTCGTTGTCGAGAGTGATCTGGATGTCC
++SRR1222430.57 57 length=218
+ACCCCBFFFFCCGGGGGGGGGGHGHHHGHGGHGGHHHHGGGGGHGHHGHHHGHGGHHHHHHHGGHHGHHHHHHGGHGGGGGGHGHHHGGGHHHHHGHHHGGGGGHHHHGHHHGGGGGHHHGGGGGGHHGGGGHGHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.58 58 length=251
+AGATGGCCACTGACATGAACAGCATGAACCTCAGTTCCTGCCAGGCTGCTCAGGGAATTGTGGGTGGCCTGTTTCCTCGTACCCAGGTCGCTCAACAAAAGGTCTGCCAGGACATTGCCGGTGAAAGCAATATCTTTTCGGACTGGGCCGCCTCGCGCCAGGGTTGTACGGTGGGCGGCAAGATGGACAGCGTCCAGGATAAGGCCAGCGATACAGACAAAGAACGTGTGATGAAAAACATCAACATCATG
++SRR1222430.58 58 length=251
+AA?3>BFFFBFFGGGGGGFGGGHHGAB5GHFCFGGHHHGH3GHFE2EGEFB5FGFCGHHHFHFF?EGFHHGHBGGHHHGHGH1FHHFGHGGGHDFGH?F1FE@GFGDFHHAEGFHHGHHGGEEEGHHHGHFHH2FGFD2B/</CGEGF?<@-..>-ACG.<CD<GCDHCGDHAA-EGG@@BAFFFB/F9EFBFD-9BBEBBFF//;?9.--A.-9;/9B9BFBFB9AFFE///;FFF...9/;/9///9B;
 @SRR1222430.59 59 length=251
 CCCAGCGAGCCGCACGCCCACGGCGAGGAGATCCTGCGGGTTGAACATTTAACCGCCTGGCACCCGGTAAACCGCCATATTAAACGGGTCAATGACGTCTCATTTTCCCTGCGTCGCCAGACCTAACGCCTGCCGGCGCATCCGCCCGCGCCACTGCCAGACGATAAACACCGCCATGCCGACAACGCCGATGCCGAAGCCGATGCCGTCTGGCAGGTAGCTTTGGCCGATCTGCGACATCGCCGGGCTGG
 +SRR1222430.59 59 length=251
 CDDDCFDDCCCCGGGGGGGGGGGGGGGGGGHHHHHHHGGGGGGHHHHHHHHHHHGGGGHHHHHGGGGGGGHHHGGGGGHHHHHHHGGGGGHHHHHHGGGHHHHHHHHHHHHHGGGGGGGGHGHHHHHGGGHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFADFFFDCF?BFFFF.BBFFFFFFFFA@CFFFFCFA9DFDFDAF-BFBD
+@SRR1222430.60 60 length=251
+GCCGGCAATATGATTGCCTGGTATGCCTTCGGCGTGGTGATCGGCGCGCCGATCATGGCGCTGCTCTCCAGCCGGTTTTCCCAGAACCACAGGTTGACGTCAGCCACGTCGCCCACGTAGACGAAGTCGCGCTTGAAGCCGTCGCTGCCTTCGAACAGTTTCGGGCTTTCGCCATTATTCAGCTGGGTATTGAGGTGGAAAGCGACGCTCGCCATGCTGCCTTTGTGGCCTTCGCTCGGCCCGTAGACGTT
++SRR1222430.60 60 length=251
+AABA?@DBFFFFGGFGGGGGGGHHHHCFHHC?EFEF?BEFGHGCGEA?FFGC?EGFFHHGGCEFGDGGGFFEFEE<EEEHHFHHEHHHEGHEEHGBFGFFGADHEFGFHHGGDGGGGGFFFGDCCGAFD?--;ECCFHEGGDGCAGD?.BFGEEGGCG;F;9A>D-@?BFFFFFFF/BFFB///BB.9//;://F/:..B/.9A.;@=DD==B9AFFF/BFFFFFFFFFFFF/;..;@9E.@DB99./A9.
 @SRR1222430.61 61 length=251
 CGCCAGCCATCCGCCGACGGCGATACCCGTTACCGCCAGCATGGTAACCATTCCGGCGATAAACGGCTTCCAGCGCGGCGCGGCTGCCGGAGTAGACGCCGCCACCGGCGCGGGCCGCTTTGCAGGTGAAGGCGGAGCCAGCGGCTGAGCCTTTGGTCTACGTTTTAGGTCTGGCACTGGCTCAGCCTTCGCCGCATCCTCTTCGCTGACCAGAGTGCCGGGAAGTTCCGCGTCAGACACCGCCACCGGCG
 +SRR1222430.61 61 length=251
 BACCCCCCFFFFGGGGGGGGGGGGGGHHGGHGGHGGGGGGHHHHGHHHHHHHHHHGGGGGGGHHGGGGGHHHHGGGGGGGGGGGGGGHGGGGGGFGHGGGGGGGGGGGGAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?FFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFDDF?FFFFFFFFFFFFF@DFFFFFFFA:;.A0BFFFFFFFFFDA;@
+@SRR1222430.62 62 length=151
+AAAAGCCAGCGTATCTTCGTCGCCGCAACCGTTAAGCTCGGCGGCATAGCTTAAAAAATTGCGCGCCTGGCCGAGCAGGTCGAGGCCGATATTGGCCAGCGCAAGATCGATCTCGAGCTCGGGAGCATGGCCGCACCAGGCGCCTAAACGC
++SRR1222430.62 62 length=151
+CCDDCFFFFECBGGGGGGGGGGGGGGGGGHGGGGGHHHHGGGGGGGGHHHHHHHHHHGHHGHGGGGGGHHHHGGGGGHHHHGGGGGGGGGGGHHHHHGHGGGGGGHHHHGHHHHHHGGGHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFF
+@SRR1222430.63 63 length=194
+CGTCCCATATGTTCACGCGCCTCCGGCACCTCTTCCGCCAGCATCAGGAACGGGCTACGCTGGGCCAGCTCCGCCTCCGTCACCCGGCGCGCCAGGTATTCGTGGCCCTGAAGCCCGCCCGGTAGCGGCAGCCAGCGGCTGCTGATCGCTGCGGCATCCTTATCTAACTGCGCGCGCACATCGGGGCGCAGGCA
++SRR1222430.63 63 length=194
+AAAABBFFFFFFGGGGGGGGGGFHE?EFEGFHHFFFGGGGGGFHHHHHHHHGEGGGHHGGGECEEHGGGGHHGGGDEHGHHGGHGGGGGGGGGC?G<FGHHHHED@CGHHHHHFHHCDGGGGGGGGGGGGGGEFGGGGA?FGGGGGGGGGGFFFFD=FFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
 @SRR1222430.64 64 length=251
 TGGTTTTTAAAATAATCGCTGTTCGCGGTATCGGAAACACCGCCAAAAGTGACGCGGGCGATACTGTTGCCACCTTCTTCCGCGGTCGGGCAATCAGCTAAGCTAAAGGAGAAGTTCTTGGCAGCGCCGAAGGTATACGCTTTCAGATCCGCCACTGAGGTGGTGCCCATATCAATAGCCGTTACACCGCCATCAATGGTCGCCGTACAGGTGGTATCGGAAACAATACCATTAAAGGTAATGGTGTTATC
 +SRR1222430.64 64 length=251
 BCCBAFBCAFFFGGGGGGGGGGHHGGGGGGGHGGGGGHHHGGGGGGHHHFHHHGGFGGGGGGGGHHHGHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHGHHHHHHHHFHGGGGGGGCDGCFFGGGGGGGGGGGGGGGGCDGGGGGGFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBADFFFFFDFFFFFFFFFFFFFFFFFFFFFFF/FFFFFFFEDFF/
+@SRR1222430.65 65 length=230
+CGCCACAATGGCGAACAACAAACTGCCCATCGTCACGCTGCGCACCACGCTGGCCCCCGCCTCGGTGCCGTTGTAGTGCCAGAGGGTAATGCTGTCGAGGTAGGCGAAAACGGGGATCAAATCAGACCAAATCGCCCAGAACATCACTGCGAACAGCGCGACCATCACCAACATGGTGATGCGCAGCGTCTGCTGGTTGACCTGCTCGAGAGCGATAGTTGGCTCTTCCT
++SRR1222430.65 65 length=230
+>>1>>AFA1B1>1AA0ECG0GFGGCCGFHHFAGG/FE0AAEEE?EAGAAEGA//BC/E@E/??EE/?/0///>>DGGGHB>F0/FF/0GFHHEFF1<F@@C<1<<</BC@GGC/<CCFCF<G1<<0C.<CCGDCAE.C:G/C/C0C00CHC-@AAB9-9@?A-99BFF-:?-AB/-F//9//@F?-@-99--B/:BBF-BF9F-F/BB-:E--9-;--9BF/BF//;9/9
+@SRR1222430.66 66 length=251
+ACCACCGTCTTCGGGGTGATTATCGGTACCGGCTGCGGCGGCGGGATCGCCGTTCATCAACAGCTGCTCAGCGGCCCCAACGCTATCGCCGGGGAGTGGGGGCATAATCCGCTGCCGGGCTATACTCCTGAGCGCGATGGCCCTCCGCAGCCCTGCTACTGCGGCAAAACGAACTGCATCGAAAGCTTTCTCTCCGGCACCGGCTTCGCCCGCCGCTATGGGTAACAAGCCCGTGCGGAAGCCATTTTCGC
++SRR1222430.66 66 length=251
+1>AAAAA?AFAFGGEG0AFFGGD2G0EHAHFG?E?FECAE/E/E?EGGCCCB><FBG2FGFG00?CCHFH0B/@-<@-<C<<CCGF/.<:CCC@G@9.9.--A-BB9FBFFFF?-9-;==>-B/9FEFFF/9B=@@@@--9/A-9---99@9BF-EB/B99/A=9@@FBF-;:@F//BFF-9/--/99////9/;--99@-@-@-@B-9---99-@---/9-9//;BF-;-;--:-9--;9--:/B/BB-A
 @SRR1222430.67 67 length=251
 CAATAGGTAAATATATCGATGTGTATCACTATCCTGATGGCAGAAAAGAGCTGCGCCTGAACGGTACGCTACTTCCCTACTCTACCTACGACCGACTGTCAGAAATCGACCAGGGCGCGATTGTCGATAACAAGCGTCTTGGCCGAACCCTGGAGTTTATCAGTCTGGTGCAGAGCAAGCGGGATAACACGCGCTCTCAGTCAATTCCCGCTGGAGATGGCCCTTCCCGACGACGGCCAAAGCAGGAAGGG
 +SRR1222430.67 67 length=251
 BCCCCFFDFFFFGGGGGGGGGGHHHHHHHGHHGHHHHHHHHHGGHHHHGHHHHHGGGEHHHHHCEGEEGGGGHHHHHHHHHHHHHHHHHGGGGGGGGGHHHGHHHHHGHGGGHGGGGGGGGHGHHGGGHGHHHHGG?DFGG1FFGGGGCGGFGFHHHGHHHHHHHHHBGGFHHHHHGFGGDGGGGGGGGGDGGFFFFFFFFFFFFFB9FFFCCAFFFFFFBF?EFFFFFFFCFFFFFCCA//BFBFFFEAD
+@SRR1222430.68 68 length=215
+GATAAGAAGCCGGACATTATCCGCGCCATTGTCAGCCAGCCGGATATTTTGCTGTTCACCACCATGCACGGGATCGCCAAAATCGTCGATCGCTATGGGGACGCGCTGCGCTGCCGTTTGGCGTTGATTGAGGACGGTTGCTATAAGATTTACCAGCCGAAAGTCGCCAGCGAAGCGATAAAGCGCACTTACCAGCAGAATCCGGCGATGTGCTT
++SRR1222430.68 68 length=215
+CCDCDFFFFFFDGGGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHHHGHHHHHHGGGGGGGGGGGHHHHGHHGGGHGGHGGHHHGGGGGGGGGGGGGGGHGGGHGGHGGGGHGHHHHHHHGGGGGHHHGHHHGGGGGGGGGGGGGGFDFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAFFFFFFFFFF
+@SRR1222430.69 69 length=251
+GCGCATGGCGTGGATTGCCCGCGGCATTAATCCGCAGTTGCAGCCCATCGATAGCTGGCTGATGAATAAGCATTTTCAGCGTAAGCATGGGCCAAACGCTTACTATGGGCAAAAGTAGATAGCGCGCTCCGGGGCTTTCACCCCTCACGGTGAAGCAACTGGTCTGGCCCCGGAGCCGTTTTTAATCCTGACGATAGGCCGACGGCATCACGCGCATGCCGATGAGCGTGACCACGCAAATTATCGCCCCC
++SRR1222430.69 69 length=251
+3>>AAABFFBBDEFFGGGGG?EGGGGCFFBHGFGGGEEBEG3BGHGGCHF3FG?GH3GGHGHFHGGFHHHHHHHFFHHBHGGGGGHHFGEGFHGFHHGGGFGHHFHHHHHHFCFGFGFGGHHHGGGC/CFFCCCCCGFHFDDGCEGAGHD.:CCFFGFFFGEFFB/BBAE@BGGB@GGAAFFF?//F/9B/BDAE?D/BB=BBB-9=BF/B:FBB?ADFFB?-A/BF=DAAEFFF?D--;/999B..;A=-
 @SRR1222430.70 70 length=251
 ACTGGAACTGGTCCGACAGCGAAGGCTGGCAGTCGCAGTTCGATCAAAAAGATCTGCAGGAGGGCGAGGAGTCGCTGGACCTGCAGGCCGGCCAGATCGGCAAAGTGAGCTTCCCGGTGGAGTGGGGATCCTATCGCCTGGAGGTGAAAGGACCGGACGACGTGGTCAGCAGCGTGCGCTTCTGGGCGGGCTACAGCTGGCAGGATAACAGCGAAGGCGCCGGCGCGGCGCGTCCTGACCGGGTCACCATG
 +SRR1222430.70 70 length=251
@@ -110,14 +290,30 @@ CCCDDDDDDDDFGGGGGGGGGGGGGGGGFHHHHHHHHGHGHHHHHHHHHHHHGHGGGHHHHHHHGGGGGGGGGGGGGGGG
 CGAATGACAATCGGCAGGATACGAATATGCTGCAAAATGCCGATCAAAGCCGAAATGAAGACGATAGGGCACAAAACTTTGAGGAAGAAGAAGGCCAGGCCTTTATCGTTCATGCCGCCGAACACGAAGTTTGTCCCTTCGTTGGCAAACCCGAGGAGTTTTTCAAACATCTCGGAAAATCCTTTCACAAAACCCAGACCAATATCGGAGTTGAGGAAGAACCAGGCCAGCAGGACTTCAATGACAAGC
 +SRR1222430.73 73 length=249
 ACCCCFFFFFFFGGGGGGGGGGGGHHGHHHHGHHHGHHHHHGGGGGHHHHHGGGGHHHGHHHGGGGGGHHGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGHGGGGFHHGHHHHHHHHHHHHHGHHHGGGGGGGGHHHHGHHGHGHHHFHHGGGGFGFGGGGGGGGFFFGDGGGEFGFFFFFFFDFCFFFFFFFFFFFFFFFFFFFFFFF??EFFFFFFFFFFFFF
+@SRR1222430.74 74 length=251
+CGTTAACACGATGCTCGACTGGCAGGTAAACGACGCCCTGTCTGCGAATGGGAACTGGACGCTTTATGGCCGGCAGAAGCCGCGTCAGGAGGCGGAGATCCGCAACGAAACCGGGACCCTTGCCACCACCGAGGTTGGCGCCTATTCCATCGTGGGTATTGGTACTCAGGATCAGCTAAACCGGGATATTCGCCTGAATGCCGGAATAAGCAATCTATTTGATAAACAACTGTATCGCGAAAATGCCTGCG
++SRR1222430.74 74 length=251
+AAAAABFFFABBGGGGGFEEGFHFEA2FGHGD?2EEEGGGH3BD500EAC312B?33FFC0E11F3ED31BE/>/>CG33FE/<<>AA2?///<</</0??CFGGG-.<ACCD?C@@AEFFHBGFGCAEF.---;99BF-9A..0//BB/;..;DF.9/B///9:///;///99F/BF/9/9@-=-.;9B/F9AA..////9>D>D?FF///;BFFFBFF//;//9//;ABFBFFBD?@BABDF/BF//A-
 @SRR1222430.75 75 length=251
 CATGCCGGCACCCGCGCGTTTCAGTGGACCCCGCCTCTGGAAGAGGTGGGGCTTTACCGCTGCGAACAATATAAACCGGTGCCGCTGGGCGGCGGAAATCAGTGAAGCAGTGACCATTGTCAAAGCCGCGCCGGAGTTTCAGCCGAATACCCGCTTTAGCGAAATTTCCCTGCACGAGCCGGATAAAGCCGCGGTGTGGGCCTTTGCCCTGCAGGGAACACCGGTCGATACTCCCCGCACTGCCGATGTGG
 +SRR1222430.75 75 length=251
 DDDDDFDDDDDDGGGGGGGGGGGHHHHHHHGGGGGGGHHHHHHGHHGHGGGGGHHHHGGGGGGGGGGGHHHHHHHHHGGGGGHGGGGGGGGGGGGFGGHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFBDFFDFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFAFF
+@SRR1222430.76 76 length=251
+TTCGGGGTGGCGATGCGTTCACTGAACGAACGTCATGTGTGCGCGGCACGGCATTTGGGATTCAAACGGGGCGTAATGTGATCTTTTACGGTACCGTTATAAATTTCTGCGGTCCCCATATCTCTCAGCGGGCTGCTGAACAGGCGAATAAGTTCTTTCGGGCTGTTTTGGACCGTGCAGGTCAGCATGCCAATATCGACGGCGCGAAGCTGCTTTTTGGCAAAAGTACGTCTGTTCAGCCGGGGGAGAGT
++SRR1222430.76 76 length=251
+1AA1AADD@D0>0AA0A000112DAF10/B/////0A22B01BA/E///BEGGE1DG1//10BGG2B/?/>/B</?/B222222>?1@1?/FG<<AFCC/<11<F1>111<-<<><<///0=0<0<<0GCC---:CFFB0/B/..;9-;.CF00009;;.-99>--:F-9-;B------/--//9/;FF/:/:////-9@;@---@;9--/B///;/9;@BF/-;9FF/9----9//:///---9--9--/
 @SRR1222430.77 77 length=251
 ACGATGTCAGCGACGGTATTCTTGCTGATACCGAGCTCGCGTGCGATCCAGCGATAGCTGCGTCCCTCGGCCCTCATCGCAACCACCTTAGGCAAAAGTCGGTCTGATTTTGGTCGCACTCCGGCCTGACGACCAAGCCTCTTACCACGTGCCTTCGCAACAGCAAGGCCTGACTTGACCCGCTCGCTGATGAGATCCCGCTCAAACTCCGCAATGCCGGAAAGAAACGTCGCCAGCATTCGTCCATACGG
 +SRR1222430.77 77 length=251
 AAAABBFFFFFBGGGGGGGGGGHGHHGHCHHHGGGGGHGGGFFGGGHGGHHHCFFEEHHHHGGGGGHHGGGGGHHGHHHGGGGFGGEHHHFGGFFGHHFHFGFDGGHHHEGHCHHGGGGGHHDDGGGFHHDGGGGHCFGHFHHHHHHE:CGGGGGGEGG?GGGGEGGGGGGGGGGF/FFFFFFAFFFFF.FFFFFFFFFFFFFFFFFFFFDDAFFFFBADFFFFFFFFFFFFAFBFFFF;BFBADFFFFFA
+@SRR1222430.78 78 length=150
+AGCGTGTAATCAACCGCGCCGGTTGTCCGGTCGTAGCTGATGGTATGCCGCTGCGCCAGCATATTATACTTCTGCTCACGGTTGCTGTTGCTGTCATTCGAGCCCTTAATCGTGATGCGGGCAATCGTGTCTTCCGGATACACGACGTTT
++SRR1222430.78 78 length=150
+CCCBABCFFFFFGGGGGGGGGGGGGGHHGCFGGGGGGHHGHHHHHHHHFGGGGGGGFGGGHHHHHHHHHHHHHHHHHHHHGFGEHHHHHHHHHHHHHHHHHFGGGHHHHHHGHHHHHHGGGGGGHHGHHHHHHHHGFDFGHHHC?DFCGH
+@SRR1222430.79 79 length=136
+GCAACCAGCGCAAAGTGGAGATCGCCCGCGCGCTGGCCACCGCGCCGAAGCTGCTCCTGCTCGATGAGCCGGCCGCCGGGATGAACCCGAAGGAGACCGAGGATCTGGCGGAGCTGATCTTCCGCATGCGCCATGA
++SRR1222430.79 79 length=136
+DDDCCFCDCCCCGGGGGGGGGGHHGGGGGGGGGGGGGHHGHGGGGGGGGGGHHHHHHHHHHHGGHHHHHHGGGGGGGGGGGGGHHHHGGGGGGHHHGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFF
 @SRR1222430.80 80 length=251
 ATATGGTTATTAACGGTTATGAAGTCGGCGGCGGTTCGGTGCGAATCCACCGCGGCGAGATGCAGCAGACCGTATTTGGTATTCTGGGCATTAACGAACAGGAACAGCGTGAGAAATTCGGCTTCCTGCTGGATGCGCTGAAGTACGGTACGCCGCCGCATGCAGGTCTGGCCTTCGGTCTTGACCGTCTGACCATGCTGCTGACCGGTACCGATAACATCCGCGACGTTATCGCTTTCCCGAAAACCACC
 +SRR1222430.80 80 length=251
@@ -126,10 +322,18 @@ BCBBCFFFFFFFGGGGEGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGCGGGHHHHHHFFHHGDHHHHFHH
 GTTAAAGCGAATCGTTGGCAATTCACTGACGATTCATAAACGAATCGCTAATGAATCGCTTACGATTCACTGTATTAAAATTAGGAGTTTAAGGTGAATTGACTCGCGATTCAATTCGTGATGTGATTCGTCAGGTGAATTGCAAAAAAGCGTCATGAATCTAGATTCGATTCACGATTCGATTCATGGACGATTCATGTGGAAATGGCAGAAATTTATAAGGTATGAAATCTGGTTTTTTATAAGGAGTG
 +SRR1222430.81 81 length=251
 BBCCCFFFDDDDGGGGGGGGGGHHHHHHHHGGGHHHHHGHHGGGHGHGHGGHHHHHHHGHHGHGGHHHHHHHHGHHHHHHHHHGGHHGHHHHHHHHHHHHHHHHHGGGGGHHGHHHHAGFFHHHHHHHHGHGHGHHHHHHHHHGHHHHGGHGFGGHHHHHHGHGHHGHGHHHGGHHFHHHGHHHHGHHHHHGGGHHGGHHHEHFFHHFHHGAFGGGGGGGGGGGGFFGGGGGFFGGGGGGAAFGFFBFEF.
+@SRR1222430.82 82 length=194
+GTCGTTTCCACCGCTTCAGGTTCTACCACCACCGGCTCGGCGTCGAGCGTCACTGGCGCGATAGCCTGAGGCGCTTCGACAGCCGGTGCTTCGGTGACCGGCTCCTGAGGCGCTGGCTCGACGGCTGCTGGCGCGCCAACAACCGCCGCGACCGCAACGACCGCCGTGATAACCGCGACAATCGTGACAACCGC
++SRR1222430.82 82 length=194
+BAABBBBFFFFFGGGGGGGGGGHHHHHHHGHGGGGGEGGGGCFGGCGGEEEGGHHGEEGEGGEGHFFEGFFAEE@EEEHGG@/GCFBCCHGB@DFCFBGCCGFGFFFDFFGGFGDCDFGDCGGBC-BGBFFGGGGFFDAFEF?.>BFFFFFFFFF=FCF?@FF;@-9@EEFFF/@DAFA-@9BEEFF./;ADFF
 @SRR1222430.83 83 length=251
 TGCTGAAGTGATGAGGTGGTAATGAAGAGCGTATCCAGGGGTTCGGCCAGCAGCGCCGACAGCGAACTACAGCGCTGGATCCCCGGCAGCGCTCTGCTGCAGTCCAGGTCATAGCCCTGGCAGCGGTCGATGACGTCCCCCAGGCGACGCAGCGCCGGTAAATAGGCGGTTTCCACCACCGCGCCGAGGCCGATAAAACCAATCTGCATAGTAAGTCCACCTTTGAGCCGCTCTGTTCCCGGCGAAGTATC
 +SRR1222430.83 83 length=251
 CCCCCFFFFFFFGGGGGGGEGGHHHHHHHHGGGGHHHHHGGGGHGGGGGHGHHHGGGGGGGGHGGGGGHHHHHGGGGGHHHHHGGGGGGGGGGGHHHHHHHFGHHHHHGGHHHHHHHHHHHHGGGGGGGGGHHHGGGGGHGGGGHGGGGGGGGGGGGFFFFFFFFFFFFDFFFFFFFFFFFFCFFCC>ADFAD;BEFFBDAEFB0BFFBFFFEF00:FFFFFFF0B:BF;FBFE00;;BFF-C=A=>9009
+@SRR1222430.84 84 length=251
+CAGTGCGCAATCCAGCCCACGGTACGCGCCATGGCGAAGATAACGGTAAACATGGAGGACGGAATACCCATCGCTTTCAGGATGATACCGGAGTAGAAGTCGACGTTCGGATACAGTTTCTTCTCGATGAAGTACGGGTCGTTCAGCGCGATATGCTCCAGCTCCATGGCCACCTGCAGCAGGTCGTCTTTGGTGCCCAGCTCTTTCAGCACTTCATGGCAGGTTTCACGCATTACGGCTGCGCGCGGAAC
++SRR1222430.84 84 length=251
+1>AAAFDAADAFG1FFAE0AEE00EAEC/AEAFC0E//AAGGHHFE/?>EGHGHFFHG/FEEGGGGB1F1GFC/0/FGH2DF1GB>2B<EGC?EHDG2G1FCE//CA<BCGGCH1G?FGE11FDHGCFF11FG1GCEGG-@-AGGBGCCC-@EG09CFBBFFFFGGGBB.F/EF.FFBC/CA?.C@-E--BFFA-;/;9A-/BBBFFBBFFFFBFFFF/ABB;9/9///EF@A?B/E----9@--;-=;-9
 @SRR1222430.85 85 length=251
 GCGGCTTTACGCTTACCGCTTAATCCCACCTGCCAGAGAATTTCCACCCGCAGATAGTTTCCGAGCCCGGCAAGAAAAGCCTGATCCAGCAGCAGGCCGGAAAACTGACGATTGCGGAATTTGGCCGACAGCAGCCGCGCTTTCACCTGCTCCGCGGTTAACGTCATGTCCAGCACGTCCGGTCCGACGCGCAGCAAGAACGGATGGTTGGCAACCTGCTCCGCCGTGAGGATATCAATGTCCGACGCGCT
 +SRR1222430.85 85 length=251
@@ -138,262 +342,58 @@ BCCCCCCFFFCCGGGGGGGGGGHHHHHHHGHHHHHHGHHHHHHHHHHHGGGGGGHHHHHHHHGGGFGGGGGGGGHHHHHH
 ATAGTGAATTCAGCACTAAGCGCCGTCAGACCCGAAAAGAGATTTTCCTCTCCCGCATGGAGCAGATTCTGCCATGGCAAAACATGGTGGAAGTCATCGAGCCGTTTTATCCCAAGGCGGGCAATGGCCGACGGCCCTATCCGCTGGAGACCATGCTGCGTATTCACTGCATGCAGCATTGGTACAACCTGAGCGACGGTGCCATGGAAGATGCCCTGTACGAAATCGCCTCCATGCGCCTGTTTGCCCG
 +SRR1222430.86 86 length=250
 BBBBBFFFFFFFGGGGGGFGGGGGGGEDFHHFEFEFCAFEGFGHHFGHHHHHHHGGGGGGGFHHHHHHHHHHHHHGHGGFHHHHHHHHHGHHHHHHHHHFGGCEEEHGGHFFFHGHGECCCGGGHHFHHGGGGGGGGHHHHHGGGGGGEGGGGGFGFGGGGFGGGGGGGEGGGGFGGFFFFFFEFFFFFFF/BFFFA;DDFAFBFFBBB;9/BFBFF?B/FEFEDF/DFDA?.BBFBDFFFF;;/;BFED
-@SRR1222430.91 91 length=251
-TGAGCTTCGTCAGCCAGTTGGCGATCCTATTCATCCTGTTACTGATTTTCTTTTGTCAGAAATTAGTCAGGATCCTCGGCGCCGCGGTGGATGGCGATATCCCAACCAATCTGGTGCTCTCGCTGTTGGGGCTCGGCATCCCGGAGATGGCGCAGCTTATCCTGCCGTTAAGTCTGTTCCTTGGCCTGCTGATGACCCTCGGCAAGCTGTACACCGAAAGTGAAATTACGGTGATGCACGCCTGCGGCCTG
-+SRR1222430.91 91 length=251
-DDDCCFFFCFCDGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGHHGHGGGGGHHHHHGGGHHHHHHHHHHGHHGGGGGHHHGGGGHGGGGGHHHGGGGGHHHHGGGGGHHHHHHHGGGGGGGEGGGGHHHGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFDA
-@SRR1222430.92 92 length=250
-GGGCCGCCGACCTGGCGGCTTGTCACTAAAATGCCTAAACGCCCCTCTGATGGGAGAGTGTCAATATAGCCCCGGTGATGCTGGACCGTTGGTAAAAGTGGTATTGCGGCGCCGCTTAATGCTGTCCAGAAGTTACAAGCCTTAATGGCAATTTTTTATCCCTCCTGCAGTACACATCACAAATATTAACTATGGCAACAGCCGTCATTTAAGTTAACAACAACCGATATGTATTACTCCATAATGATAT
-+SRR1222430.92 92 length=250
-AABBCCCCCDDDGGGGGGGGGGHHHHHHHHHHHHHHHGHHGGGGGHGHHHHHHHHGGGHHHHHHHHHHGHHHGGGEEGHHHHHHHHHGGGGHFHHHHHGHHHHHHHHGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFHFFFFFFFFEEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF
-@SRR1222430.95 95 length=250
-CATGATACGTCGCGGGTGACGGTGCTGCCCACGTCGCATTTCAGCTGGGAAAGCCAGCAGCTGAACATCAGCGACGACCTGAGCCACTTCCCGCGGCCCTTCTTTGACAGCATGCAGATGACCCCGGCGGACATTGCGGTCGCCTATGGGGCCAAGCCGTCGGCGGACGTCTTCAGCGCCGCGGCGCTGATCTCCTCCTGACTGGGTATCCAGGCGGACTATCGCGGCATCGCCTTCAGCGCTCTGCGCG
-+SRR1222430.95 95 length=250
-CCCCCFFFCFFCGGGGEGGGGGGHGHHHHHHGGHHGGGGGHHHHHHHHGHHHHGHHHGHHHHHGHHHHHHHHGGGGGGGGHHHHHHHHHHHHGGGGGGGHHHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.ABFFFFFFFFFFFFFFFFFFFAFFFFFFFDDFFFFDFEFFFEFFF
-@SRR1222430.3 3 length=236
-GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
-+SRR1222430.3 3 length=236
-?BBABBFBBFFFGGGGGGGGGGHHHHHHHHHHFHHHGGGGGHHHHHHHGHHHHHGHGHHHHHHHGHFEGGHGHHHHHHGGHHHHHGGGEGGGHGHHHGHHGGCGGGDHHHHHHHHGHHGHGHHHHHHFHGGGHFGGGGGHHHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
-@SRR1222430.8 8 length=251
-TATTGGTGCTGGGAGCGGGACAACTGGGCGCCGCCGTTCTCGATGCGCTGGTGCCTGCGGTAATCGAGCGCCAGGGCACGGTCTCGGTCATCGTCTCGCCGGCGGCCTGGGATGAAGCCGGCCAGCTGCGGTCGGCAAACCATCAGGCGCTGGCCGACGCCGGAGCCACCTTCCTCGCCGTCGACATCGCCGGTAGCGCCATGGAGACGCTGGCCGATCAGTTTCGTGGATTCACCACCGTGATTAACTGC
-+SRR1222430.8 8 length=251
-AA?AAFFBFFFFGGCEGGGCEFGFHCEDGEGGGGGGEAFFFFB35>0EEGGGHGFFFCEGEEFFHGHG?EGCFG/E</EGGFDADB/CCDHDFGHHGGGCDGGC-:DDGEC./CGB:0C9-B@BEEBBBBGAB;;??=FFFFFFFFFFBB?BBFF<BB??BB?BBBEFFFFBBFFFFBBBBB??-ADB?DFBB9>DF-9@.A/BFFEADBDA?DFBB?@AFBB/FDAEAA/FFFFFFFAFAEEFFFF9BF/
-@SRR1222430.10 10 length=251
-CAACCAGGATTCCCCGCCGATGAAGTCGCCCAGGGCAACCTGCGCCAGCATCCGGAGCTGGAAGCCGGGCCGCAGGAGTTTTTAGCCGCTGGCGCCAGTTTTAACCAGATGGTGACGGCCCTGGAGCGGATGATGACCAGCCAGCAGCGGCTGCTGTCCGATATCTCGCACGAGCTGCGCACGCCGCTTACGCGCCTGCAATTGGGTACCGCCCTGCTGCGTCGCCGCAGCGGAGAGAGCAAGGAGCTGGG
-+SRR1222430.10 10 length=251
-CCCCCCCCCFFFGGGGGGGGFGHHHHHGGGGGHGGGGGHHHHFGGGGGGGGHFFGFGGHHFCGHHFGGGGGGGGCCFGHEHHFHHHGGGGGGGGGGGF?FFFHFHHGHHHHHFGHHGGGGGHFGCGHCG?CFFHHFHFGAEGGGGGGGGGGGGGFFFGGDDDFFFFFFFFFADFFDBBDD=B=AAFF@D./EFCFFBEFFFFFFFFABFFF-CD;FEF/;@AFFFF=;BDFFFF=;.EFFFFF..AE.BB.
-@SRR1222430.13 13 length=242
-CGGGGCGGATTCGCCATAGCCGGTCATGCCGACGATCTTGCCTTTTAAGCCGACATATTTATACCAGTAGTCCGCTATCCCGGCTTCGACCGCCACCCGGGCGCTGACGTCCGACGGCAGCACCGATTCGCGCCAGGCCTCATCCTGGGCGTCAAACACATCAGTGGAAGGGAGCGAGACGACCCGCACATTTACCCCTTTGGCCAACAGTTTTTCCGCGGCCAGGACGGTGATCTCCACTT
-+SRR1222430.13 13 length=242
-CCCBBBCCCCCFGGGGGGGGGGGGGGHHHHGGGGGGHHGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHGHHHGGGGGHHHGGGGGHGHGGGGGGGHGGGGFGGGGGHGGGGGDDGGGGGGGGGGGGGGFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACFFFFFFFFADFFFFFFFFFFFFFEFFFEFFFFFFFFFF?FFBFFFFFEFFFDFEFFFFEFFFF
-@SRR1222430.16 16 length=233
-CCCCGCTGCTCACTGGCGCTGGTAAGAGCGATACGTAGCGGTGATGTGGCGCAGACCGAATACCAGGCTTCGCAGCCGGCCTGCAACCCGGCAGTGGCCCATGCATCGCCGCTGACGCCAAGCGTAACGCGAGAGGGAAGATGCTGACGCAGGGCCGCTACACGTTCGCTCGCCTGTGGCGCGGGCAGGCCGGGAATTTTAATCGAGGCAATGGCCGGCAAGGCGGCGATGCG
-+SRR1222430.16 16 length=233
-CCCCCCCCCFFFGGGGGGGGGGHHHHHHHGGHGGGHHHGGGGGGHGHHHHGGGGGHGGGGGGHHHHGGHHHGGGGGHGGGGGGHHHHHGGGGGGHHHGHHGHHHHHHDGGGGGGGHGGGGGHGGGDGFGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFAFFFEDCBF;FFFFFBFFFFFFCEFB0FFFF;CFFFFEFFF==DFDB
-@SRR1222430.19 19 length=251
-CTTTGCAACGGAATCCAGCAAAAATTCTGCCGGTCGAGACGCTGGCAAATCGGTTCCGGCAGGATCGCTACGCCAATGCCCGCCTGCACCATGGCGGCGAGAAAATCCCACTGGCCGCTGCGCACCGCGATACGTGGCTTCACGTCATGCTCGGCAAACAGCCGCATCAGCTGCTGGCTAAGGGCAAATTCCTCGTTGTAGATAACCAGCGGATGCGACGCCAGCTCGGCCGGCGAGAGCGCGGTTTTACC
-+SRR1222430.19 19 length=251
-BBBBBFFFF?DACGGFGGGGGGGCHFHHHCFEGGGGE?DGDEGFCGHGGGF11EGGHGG?E@/F3FEEHGGGGGGCHHECCGFGGHHHHBGFFHHGGGGGGGGHHHHFHEGFHHHGGGGGDFGGGCG?CGGGFEGGGCG?BCFEFEEFB0FFFAFACFFFFFFFFA9BFEFFFFEFFBFF///?EEF.BFFFFFFFFF.9FEFFFBFF.A---BBF;.>BFFDFFFE.-AA;-9@-@BFFF-@D?BDEFB9
-@SRR1222430.22 22 length=251
-CTGGCTGGGATTAAGCCTCTCCTGGGCGATTAGTCTTCCCGCCGGGCCCGCTATTGTGCTGACCGCCAGCGCACTGTTTTTTGTTTCGCTATTTTTTGGCACGCGCAGCCGGCTGCTGGTCGGTTGGCGCACATTGATGGGGTAAGGAAATGATGAAACGTAGTGCAATAGTGGTCGCGCTGGCCCTCGGCCTGATGGCGCAGGGGGCCATGGCGAAAACGCTGAATGTGGTAAGCAGTTTTTCGGTGTTG
-+SRR1222430.22 22 length=251
-BBABBFBABFFFGGFGGGGGGGHHGFGG?EHGGHHHFGFHAFAFACGGGGGGGGFHHFHFFHHHGGGFEFGGGGGHHFHHGGCHGHHGGGDFFGGHGGGHHHGGGGGGGHGGGGGGHGGFDFGFFGGFCDADBFFGEFFBFFEDFFGGGGGGFFFGGFFEFAFA/FFFFFF/BF9:B;BDFFFF?EEFFBEDD?FFBFB-9-@-DAFB@9BFFFACF;BB@-ADB9BBFFFB/9BFFFF/;/./9=9.9.9
-@SRR1222430.25 25 length=251
-CTGCATCTGCGCTATCCCTTTCGCCACGGTGTGAATGGTCGGATCCGGTGTAATATCGCTGAACACGCTGACGCGGTTGCTGGCGGGCAGCGCGGCGCGCAGTCGGTCAAGCAGCGGCGAGCGCGCCAGGAAGCCGTCGCAGACGATCCAGATGTGCTGATGGCTAAAGCGCTGCAGCGCGGCCAGGCTGCCCGGGCCGCTGTAGAGGCGCGTTTGCAGAGAAAAGGGATGCATGGCGCCCCCGGCTAGCG
-+SRR1222430.25 25 length=251
-BCBCCFFFFFCCGGGGGGGGGGGGGGGGGFHGGHHHHHHHGGGGGHHGGGGHHHHHHGGHGGHHHHGGGGGHGGGGGGGHHGHGGGGGGGDGGGGGGGCC?DDGDGCFGGFGGFGAGGGAFBBBA;DAA?EFF.FDDDFFFFAF=-;EF/BF/BBBBBBFFFFFFBFFF/.:.DDEFEDCFFAF-AA?FAEFA.@D=@ADAFDF/9BFDFAC->A.//:/;/:FFFF.:9AF/:FFFFDCFFFAF--;./:
-@SRR1222430.27 27 length=251
-CCTTCTCATCACGCGTAATGACTCCGCCCAATGCGCAGTAGGGAATATTGATAAAGGTGTAACACAGCATGAGTAAGGTGTAGGTCAGGTAGGCATAAACCAGTTTACCCGATGCGCCAAATTCCAGAGTCGTGAAGGTCATTACCGCCAGCACGGCATAAGGTACGGCAAACCAGATAAGCCACGGGCGAAAATGGCCCCAGCGGGTCTTTACACGGTCTGCAACAATGCCGGTTAGCGGATCGGTAATC
-+SRR1222430.27 27 length=251
-CCCCBFFFFFFFGGGGGGGGGGHHHGGGGGHHHHGGGGGHHHGGGHH5GHHHHHHHGGHHHHHHHHHHHHHHHHHHHHFHHHHHHHHHHHHGGHHHHHHHHHHHHHGHHHGGGGGGGGGGHHHHHHHHHHHGGGHGHHGFHHHHHGGGGGGGHHGGGGGHHHHDHHGGGGGHHGHHHHHHHHHHGGACGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;BDF.AEF:
-@SRR1222430.35 35 length=244
-TGGCGTTTGTCACCCTGCATGTGGGCGCGGGCACCTTCCAGCCGGTGCGCGTCGACAGCATTGAAGAGCACACCATGCACTCCGAATATGCCGAAGTGCCGCAGGAGGTGGTCGATGCGGTGCTGGCGGCGAAAGCGCGCGGCAACCGCGTGATCGCGGTGGGCACCACCTCGGTACGTTCGCTGGAGAGCGCGGCGCAGGCGGCGAAAGACGCGCTGATCGCGCCGTTCTTCGACGATACGCA
-+SRR1222430.35 35 length=244
-BBAABABBBFFFGGGGGGGGGGHGGGGGGGGCGGGHHHHHHHGGGEEGGGGEEFGGGGGHHHHFFHHHGHHHHGHHHHHHGHGGGGGGGHHHGGGGGHHHGGGGGGGGCHFGHFGFHGGGECFHHHGGGGGGGGGGGGFFFFFFFFEDFFDFFFFEFFFAFFFFFFFFEFFFFFDAFFFFFFFFFA.A/.ACFFBFFFAA;AA;@B->-:9FDFFFFFFFFEDACFF-9../BE9EFB.;-A.A
-@SRR1222430.54 54 length=251
-CGATCGGCTTCCCGCAGCAGACGATGCGGATCGCTACACCACGGCAGGGTGTGCGCCAGCAGGCAGGCGTCAACGGACTTTTCGGCAAAGGGTAAATGCAGCGGGTCAGCCCGGACCTGCATTGGATTTCCCGCCAGCGAGACATTCACCTGGTGCGAGATGGCGCAAGCTTCGGTATTGATTTCCGCGCTCAGATTGCCAATCTTAAGCAGATGAAAGCCATATAATTTAGCCAGCCACGGTTTCATCTG
-+SRR1222430.54 54 length=251
->AA?ADBDADFFGGGGGGGGGGEEFFGFGGCCGGHGGHHHCHFFGCGEG?FEEGGGGG@FHHHGHFGGEGGGDFEGGGFFGFGGCGC/<FGF?2FFBFHFD1DG?@<GFFHAFFGGFHHHHHFHHHHHHFHHGGGGFG--A?A/CFGGGGBFFBFBBDDD?/BBFD>-@9FFFFF.:AFFB/9F/9AD;-@DFFFFFFFFFFBBFFFFFFFFBBFFFFFFFFFFFFFFFFFEFEBFEEFFFF.EFFFEF/9
-@SRR1222430.58 58 length=251
-AGATGGCCACTGACATGAACAGCATGAACCTCAGTTCCTGCCAGGCTGCTCAGGGAATTGTGGGTGGCCTGTTTCCTCGTACCCAGGTCGCTCAACAAAAGGTCTGCCAGGACATTGCCGGTGAAAGCAATATCTTTTCGGACTGGGCCGCCTCGCGCCAGGGTTGTACGGTGGGCGGCAAGATGGACAGCGTCCAGGATAAGGCCAGCGATACAGACAAAGAACGTGTGATGAAAAACATCAACATCATG
-+SRR1222430.58 58 length=251
-AA?3>BFFFBFFGGGGGGFGGGHHGAB5GHFCFGGHHHGH3GHFE2EGEFB5FGFCGHHHFHFF?EGFHHGHBGGHHHGHGH1FHHFGHGGGHDFGH?F1FE@GFGDFHHAEGFHHGHHGGEEEGHHHGHFHH2FGFD2B/</CGEGF?<@-..>-ACG.<CD<GCDHCGDHAA-EGG@@BAFFFB/F9EFBFD-9BBEBBFF//;?9.--A.-9;/9B9BFBFB9AFFE///;FFF...9/;/9///9B;
 @SRR1222430.87 87 length=251
 GAAATCTTTTCCCAGGCTTCGTTGATCTCATCGCCGCGGATCAGCTCGATATCGGCGACGATGCCGTGTTCGGCGCAGAAGTCGAGCATCTCCTGAGTTTCCGGTATACCGCCGATCATCGAGCCGGCAATTGACCGGCGGCGGAAGATCAGATTGAACACTTCCGGCGACGGATGCGGCGTGGCCGGGGCGCCAACCAGCGTCCTGGGGCCATCACGTTTCAGCAGCGTGGTGAAGGCCTCGAGATGATG
 +SRR1222430.87 87 length=251
 BBCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHHGGGGGGGGFHHHHHGGHHGHGGGGGGGGGGGHGEGHHHGGGGGGGGHHHFGGGGGHHHHHHHHHGHHHHGCCFGFFGFGGGGGGGHHHHGGGGFGGCGGFFGGGGGGDFFF;FDABFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFBFAFF>;-C>=@-?B?A?.AC9:-.0/.;9-:FFFED.;BFFFFFAF-9;:A.0B09..999.:9.0000
-@SRR1222430.90 90 length=251
-ATTTGCGTCCGCCACCAGGTGATCGCATCCCTGTACTCATTCAAAAGCACCCCAAAACAGCCAAAAAAAAGTTTTTATTTCTCACGCGCAAAAATCTACCTGAAGCGGCAGTCCCGAAGCGCGAAAGGGGTTAGGGATTTGATCCCCCCTACCCCCTCAAATGATATCTATTATCATCATCGCGCAATGCGATTATTTGACATTGAATAATTTCACATTGAAATCAATTCCGCCTGCTGCCATCGTGCTAT
-+SRR1222430.90 90 length=251
-AAABBFBADBBBGGGGAGGB4FGHGGGGGFHHHFGFHGHHFDGFFEGHGHHGGGGFGHHHHHHFHHHGGCGDGFGGHGHHHHHHHHGGGGGEHGHHHHHHHGFGHBD@/@GHEHH/AC@/@DDCGG?GG?A?;;CGHGHGHHGFGHGGBBG?FF.BGFGBBFFFB09B9BFFFFFFFFFFFBDB-BBDFFDAEFDFFFFFFFFFFFFFFFFFFFFFFFFBF//9BFFFFFF/ADFFFFBF?B/BAAA?EBB
-@SRR1222430.96 96 length=251
-TCTCAATTTCACACATCTATCCTTATCTACCCAAACGCCATCATGCTACAGAACGACGGCCGCGGTACGTCTCCCGCCTGCCGACAACCTGAAGGATGACGGGTGCGGACTGAAGTTAGCCACCTGGAGATGACAATCGCCATTCCAGGCGGCATCATAACCCTTTCATTCATAGCAAGGAATTATCATGTCTCAGTTTTATCTGGTCGCGCCATCCGGGTATTGCATCAACCAGCAGGCGGCAGCCCGCG
-+SRR1222430.96 96 length=251
-AA@ABFFFFFBFFGGGGGGGGGHHHHHHHHHHHHHHGGGGGHHHFGHHHFFHHHGGGCEGGEGEFFFEGHGHHEHGGGGGHGGGGGGHGHHHHHHHHHHHGGGCFCFGGGGHGHFFGGHHHHHHHHHHHHHHHHHBGHGFGGGHHHGGHGGGGGGGGGEFFGGGGGGGGFFGFGGGFFFEFFFFFFFEFFFBFFFFFFFFFFFFE/FFFF;FADFFAFFF?DFFFEFFFFFFFFFFFFEDFFFFFFFFFFB
-@SRR1222430.2 2 length=251
-AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
-+SRR1222430.2 2 length=251
->1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
-@SRR1222430.12 12 length=251
-GATGGCCAGGCCATTGGATTTGGTTGCGGAGGTCAGCGTTTTGCGTGGGCGGCTTTGCGCCAGCTCAAAGGCGTAGCGCAGGATCCGGTCAACGCCGCGGCGGGTGAAGACCGACTCCTGAATTACCACTTCATGCTCGGTGCCTTCATTGGCGCGGCCGCCGAGGGCGGAATATTCGCCTTCGGTATTTTCGCGCACCACGTAAAAATCGATATCGCCGGCCTTTTTACCCGCCAGCGGGCCGGGGGGCC
-+SRR1222430.12 12 length=251
-BABBCFFFCCCCGGGGGGGGGGHHHGHGGGGGEGHHHGGGGGHHGGGGGGGGGGGHHFEGGGGGHHHHHHHGFGGGGGGGGGGHHHHGCGGHFGGGGGGGGGGG-=.:0;/F--?-9F000B9BBFFBFBF909:B0BDA9DBF0BFFEFFFE-99>;>;9>-;@@D.-@-9.99F0/.A.A099..EBFF0-9@:-;@?E?.9AEFF.9AA..-9..:9=-@.FFFF.0:F9AB-9A->A@-9@CD----
-@SRR1222430.14 14 length=251
-GCTACCTAGCAGAGCGGCAGAGATGAACACGACCATCAGCGGCTGCACAGCGCCTACCGTCGCCGCGACCCCGCCCGGCAGGCGGTAGACCGAAATAAACAACAAGCTCCAGAATAGCGAAATATTAAGTGCGCCGAGGATGAAGATGCGCATCCACCAGATTCCCGTTGGAATCTGTCGGACGATCATCACGAGCAATAAACCCGCCGGCAACGCCCGCAGCATCGCGACCGTCATCGGTGAGAAGTTCG
-+SRR1222430.14 14 length=251
-CCCCCFFFFFFFGGGGGGGGGGHHHHHHGHGGGGGHHHHHGGGGGGHHHHHGGGGGHHGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGHGFGGGGHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGFBGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
-@SRR1222430.28 28 length=222
-CGGCAATCGATGAGGTGAAGCGCGTATGAAGACCTGGCTTGTTGGACTGAGCATCGATATCGATGGCGTCGAAATGCTGGATAAAATTGTCATCGCTAACCGTGGCGAGATCGCACTGCGCATCCTGCGTGCCTGTAAAGAATTGGGCATCAAGACTGTCGCTGTGCACTCCACTGCGGATCGCGATCTAAAACACGTATTGTTAGCGGATGAGACGGTCTG
-+SRR1222430.28 28 length=222
-CCCDDDFFDFCFGGGGGGGGGGGGGGGHHHHHHHGHHHHHGHHHHGGHHHHHHHHGHHHGHGHHHGHGGGGGGGHHHHHHHHHHHHHHHHHHHHHGHGGHHGGHGGGGGGGHHGGGGHHGGGGGHHHHGGGGHHHHHHGHHHHHHHHHHHHHHHHGHHHHGHGGGHHHHHHGHFHGGGGGGGGGGAGGGFFFGFFFF?BBFFFFFFFFFFFFFFFEFFFFFF
-@SRR1222430.50 50 length=226
-AGGGATTTCCGCCGCCCGCGGGCAGCACCTCTGGCATCAGTTTGATCTCGTTCGCAAACGACCTTTTATCCGCTGGGTGCTGGCGATGGGGATCCCGGTGCCGCAGGGGGCGCTGGCGCAGCTCGAAAGCGAGAACTGGCATTTGCTGGCGGCAAAAAGTGAAGCGCAATGGCGCACGCTGCCGGGCGTGGGGGAGATCAGAGCCCGCCAGCTGGTGGCTTTCCTG
-+SRR1222430.50 50 length=226
-CCCCCFFFFFCCGGGGGGGGGGGGGGHHHGHHHHHHHHHHHHHHHHHHHHGGHGGGGGHGGGGGHHHHGHHGGGGGGHGGHHHGGGGGGHGGGGHHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF;FFEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFAFFFFFFFFFFFFEAAFFFFFFBBFDFFFFFFFF
-@SRR1222430.57 57 length=218
-CGCTGACCTCGCGCTTGTCGATCGTGACCGTGAGCACCCCGTTCTTGAACGATGCTTTGATCGAATCCTGGTTGGCGTCGTCAGGCAGGTTCAAGGCACGCTGAAAGCTGCCGTAGGAGCGCTCCACACGGTGGAAGCCACCTTCCTTCTTCTCCTGTTCCTGGCGCTTCTCGCCACGCACCATCAGCACGTCGTTGTCGAGAGTGATCTGGATGTCC
-+SRR1222430.57 57 length=218
-ACCCCBFFFFCCGGGGGGGGGGHGHHHGHGGHGGHHHHGGGGGHGHHGHHHGHGGHHHHHHHGGHHGHHHHHHGGHGGGGGGHGHHHGGGHHHHHGHHHGGGGGHHHHGHHHGGGGGHHHGGGGGGHHGGGGHGHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.60 60 length=251
-GCCGGCAATATGATTGCCTGGTATGCCTTCGGCGTGGTGATCGGCGCGCCGATCATGGCGCTGCTCTCCAGCCGGTTTTCCCAGAACCACAGGTTGACGTCAGCCACGTCGCCCACGTAGACGAAGTCGCGCTTGAAGCCGTCGCTGCCTTCGAACAGTTTCGGGCTTTCGCCATTATTCAGCTGGGTATTGAGGTGGAAAGCGACGCTCGCCATGCTGCCTTTGTGGCCTTCGCTCGGCCCGTAGACGTT
-+SRR1222430.60 60 length=251
-AABA?@DBFFFFGGFGGGGGGGHHHHCFHHC?EFEF?BEFGHGCGEA?FFGC?EGFFHHGGCEFGDGGGFFEFEE<EEEHHFHHEHHHEGHEEHGBFGFFGADHEFGFHHGGDGGGGGFFFGDCCGAFD?--;ECCFHEGGDGCAGD?.BFGEEGGCG;F;9A>D-@?BFFFFFFF/BFFB///BB.9//;://F/:..B/.9A.;@=DD==B9AFFF/BFFFFFFFFFFFF/;..;@9E.@DB99./A9.
-@SRR1222430.68 68 length=215
-GATAAGAAGCCGGACATTATCCGCGCCATTGTCAGCCAGCCGGATATTTTGCTGTTCACCACCATGCACGGGATCGCCAAAATCGTCGATCGCTATGGGGACGCGCTGCGCTGCCGTTTGGCGTTGATTGAGGACGGTTGCTATAAGATTTACCAGCCGAAAGTCGCCAGCGAAGCGATAAAGCGCACTTACCAGCAGAATCCGGCGATGTGCTT
-+SRR1222430.68 68 length=215
-CCDCDFFFFFFDGGGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHHHGHHHHHHGGGGGGGGGGGHHHHGHHGGGHGGHGGHHHGGGGGGGGGGGGGGGHGGGHGGHGGGGHGHHHHHHHGGGGGHHHGHHHGGGGGGGGGGGGGGFDFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAFFFFFFFFFF
-@SRR1222430.69 69 length=251
-GCGCATGGCGTGGATTGCCCGCGGCATTAATCCGCAGTTGCAGCCCATCGATAGCTGGCTGATGAATAAGCATTTTCAGCGTAAGCATGGGCCAAACGCTTACTATGGGCAAAAGTAGATAGCGCGCTCCGGGGCTTTCACCCCTCACGGTGAAGCAACTGGTCTGGCCCCGGAGCCGTTTTTAATCCTGACGATAGGCCGACGGCATCACGCGCATGCCGATGAGCGTGACCACGCAAATTATCGCCCCC
-+SRR1222430.69 69 length=251
-3>>AAABFFBBDEFFGGGGG?EGGGGCFFBHGFGGGEEBEG3BGHGGCHF3FG?GH3GGHGHFHGGFHHHHHHHFFHHBHGGGGGHHFGEGFHGFHHGGGFGHHFHHHHHHFCFGFGFGGHHHGGGC/CFFCCCCCGFHFDDGCEGAGHD.:CCFFGFFFGEFFB/BBAE@BGGB@GGAAFFF?//F/9B/BDAE?D/BB=BBB-9=BF/B:FBB?ADFFB?-A/BF=DAAEFFF?D--;/999B..;A=-
 @SRR1222430.88 88 length=251
 GTCCGAGCTTAATGAAAAGTTAGCCACAGCCTGGGAAGGTTTTGCGAAAGGTGACTGGCAGAATGAAGGCAACGTCCGTGACTTTATTCAGAAAAACTACACTCCATATGAAGGCGACGAATCCTTCCTGGCTGGCGCGACTGAAGCGACCACCAAGCTGTGGGACACCGTAATGGAAGGTGTAAAACAGGAAAACCGCACTCACGCGCCTGTTGATTTTGACACTGCCCTGGCTTCCACCATCACCTCTC
 +SRR1222430.88 88 length=251
 AAAAA1@DAFFFGGG1GGGGGGHCCEGHFHAE0AA0FE?A1DFGBFEAEEFBBGHH1BFHFGFHHFH11/>>FECCFGGFFGHGBFHHFBGG1BGC/FHFFC1>>1FGFG2D11?//ECGCH?GH21BGHBGFFCGCC?/@CA11<<-A@AA<C<AGAHHCG/::..CCA..C.;FF9FBBFCF099C9F..9/9:C@-@@@BF/A??@@B-B9BB/BFFFFFFFFFFFEFFFEFAFFFFFFB//9FFFFF
-@SRR1222430.5 5 length=208
-AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
-+SRR1222430.5 5 length=208
-DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
-@SRR1222430.31 31 length=216
-AGCTGCCGGGGAACCGGCATTGGCAGGCGGCTCCTCAGCGAGGCGATGGCTTTCTGCGATAGTCGCCAGTTTAGCGCGGTGCAGCTGTGGACCTTTAAAGGGCTGGACGCGGCCCGCAAACTGTATGAATCCTTTGGCTTCACGTTAATCCGCGAATGGCAGGGGGAGCAGTGGGGAAAGGTAATGACCGAGCAGCAGTTTACCCGGTCCGGAAAC
-+SRR1222430.31 31 length=216
-BBBBBFFDBBBBGGGGGGGGGGHHHGGGGGGGGGHHHGHGFGGGGGEGGHHHHHHHHGGHGGFHGGGGCHHHHHHGGGGGGGHGGHHHHHHGHGHHFHHFHGGHGGHHGGCD?CGGGGGGGGGFGGGGGGGGGGGFGGFGGGGGEFGGFBFDFFFFFFFFFFFF;CDF?EE:FF?=:9E?F;BFBBBFFAFFFFFFFABFFFFFFD;--BCAA=FF
-@SRR1222430.74 74 length=251
-CGTTAACACGATGCTCGACTGGCAGGTAAACGACGCCCTGTCTGCGAATGGGAACTGGACGCTTTATGGCCGGCAGAAGCCGCGTCAGGAGGCGGAGATCCGCAACGAAACCGGGACCCTTGCCACCACCGAGGTTGGCGCCTATTCCATCGTGGGTATTGGTACTCAGGATCAGCTAAACCGGGATATTCGCCTGAATGCCGGAATAAGCAATCTATTTGATAAACAACTGTATCGCGAAAATGCCTGCG
-+SRR1222430.74 74 length=251
-AAAAABFFFABBGGGGGFEEGFHFEA2FGHGD?2EEEGGGH3BD500EAC312B?33FFC0E11F3ED31BE/>/>CG33FE/<<>AA2?///<</</0??CFGGG-.<ACCD?C@@AEFFHBGFGCAEF.---;99BF-9A..0//BB/;..;DF.9/B///9:///;///99F/BF/9/9@-=-.;9B/F9AA..////9>D>D?FF///;BFFFBFF//;//9//;ABFBFFBD?@BABDF/BF//A-
-@SRR1222430.84 84 length=251
-CAGTGCGCAATCCAGCCCACGGTACGCGCCATGGCGAAGATAACGGTAAACATGGAGGACGGAATACCCATCGCTTTCAGGATGATACCGGAGTAGAAGTCGACGTTCGGATACAGTTTCTTCTCGATGAAGTACGGGTCGTTCAGCGCGATATGCTCCAGCTCCATGGCCACCTGCAGCAGGTCGTCTTTGGTGCCCAGCTCTTTCAGCACTTCATGGCAGGTTTCACGCATTACGGCTGCGCGCGGAAC
-+SRR1222430.84 84 length=251
-1>AAAFDAADAFG1FFAE0AEE00EAEC/AEAFC0E//AAGGHHFE/?>EGHGHFFHG/FEEGGGGB1F1GFC/0/FGH2DF1GB>2B<EGC?EHDG2G1FCE//CA<BCGGCH1G?FGE11FDHGCFF11FG1GCEGG-@-AGGBGCCC-@EG09CFBBFFFFGGGBB.F/EF.FFBC/CA?.C@-E--BFFA-;/;9A-/BBBFFBBFFFFBFFFF/ABB;9/9///EF@A?B/E----9@--;-=;-9
 @SRR1222430.89 89 length=251
 CACATTGCGTAACCCCTCTTTCTGCGCCTGTACCATAAAGGCGAAGAGCATCTGCCGGCACTGTTCCACCGGCTGGCGCAGCAGGGAGAGGCTCGCCTGCTGGCTGTATTTCCCCCGCCGCAGCTTATCCAGCACGCCGCTCTGCAGCCCTTCTCGCTTAAACTCCAGCGGCGTGGCGAGCGGCACGATATCGAGATAGCCGGTGGTGAGAAAAATATCCAGCCGCAGGGTATCGACGCGTTGCGGGGGCC
 +SRR1222430.89 89 length=251
 BCCCCFFFCCCCGGGGGGGGGGHHHGGGGHHHHHHHHHHHHHGGGFGGHHHHHHGHFGEGFHGHHHGHHGGGGGGGGGGGGGHHHGGGGGGGHHGCG?/0==B/=CF2GDH2?GHGCCD-C-<@CGFBBHFF/CG-:E?--:.90;00CE/B/;:CAAEDGGFG0F0BFGFFC-9@---;--@-;-.99.-9..:..;0;:.@:=A;E0;0;BB.;F00:00/.---:;@/:09..9-9--9;.-:9@--:
+@SRR1222430.90 90 length=251
+ATTTGCGTCCGCCACCAGGTGATCGCATCCCTGTACTCATTCAAAAGCACCCCAAAACAGCCAAAAAAAAGTTTTTATTTCTCACGCGCAAAAATCTACCTGAAGCGGCAGTCCCGAAGCGCGAAAGGGGTTAGGGATTTGATCCCCCCTACCCCCTCAAATGATATCTATTATCATCATCGCGCAATGCGATTATTTGACATTGAATAATTTCACATTGAAATCAATTCCGCCTGCTGCCATCGTGCTAT
++SRR1222430.90 90 length=251
+AAABBFBADBBBGGGGAGGB4FGHGGGGGFHHHFGFHGHHFDGFFEGHGHHGGGGFGHHHHHHFHHHGGCGDGFGGHGHHHHHHHHGGGGGEHGHHHHHHHGFGHBD@/@GHEHH/AC@/@DDCGG?GG?A?;;CGHGHGHHGFGHGGBBG?FF.BGFGBBFFFB09B9BFFFFFFFFFFFBDB-BBDFFDAEFDFFFFFFFFFFFFFFFFFFFFFFFFBF//9BFFFFFF/ADFFFFBF?B/BAAA?EBB
+@SRR1222430.91 91 length=251
+TGAGCTTCGTCAGCCAGTTGGCGATCCTATTCATCCTGTTACTGATTTTCTTTTGTCAGAAATTAGTCAGGATCCTCGGCGCCGCGGTGGATGGCGATATCCCAACCAATCTGGTGCTCTCGCTGTTGGGGCTCGGCATCCCGGAGATGGCGCAGCTTATCCTGCCGTTAAGTCTGTTCCTTGGCCTGCTGATGACCCTCGGCAAGCTGTACACCGAAAGTGAAATTACGGTGATGCACGCCTGCGGCCTG
++SRR1222430.91 91 length=251
+DDDCCFFFCFCDGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGHHGHGGGGGHHHHHGGGHHHHHHHHHHGHHGGGGGHHHGGGGHGGGGGHHHGGGGGHHHHGGGGGHHHHHHHGGGGGGGEGGGGHHHGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFDA
+@SRR1222430.92 92 length=250
+GGGCCGCCGACCTGGCGGCTTGTCACTAAAATGCCTAAACGCCCCTCTGATGGGAGAGTGTCAATATAGCCCCGGTGATGCTGGACCGTTGGTAAAAGTGGTATTGCGGCGCCGCTTAATGCTGTCCAGAAGTTACAAGCCTTAATGGCAATTTTTTATCCCTCCTGCAGTACACATCACAAATATTAACTATGGCAACAGCCGTCATTTAAGTTAACAACAACCGATATGTATTACTCCATAATGATAT
++SRR1222430.92 92 length=250
+AABBCCCCCDDDGGGGGGGGGGHHHHHHHHHHHHHHHGHHGGGGGHGHHHHHHHHGGGHHHHHHHHHHGHHHGGGEEGHHHHHHHHHGGGGHFHHHHHGHHHHHHHHGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFHFFFFFFFFEEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF
 @SRR1222430.93 93 length=209
 ATGTCATAGTTATCCCATACGGATTCGATAGCGGCCCGTAGCATCAGATGCGGAGGATGAGGTAGTTTTCCTTGGGCATGGTATTGCATCAGATCCGTTTCGATACGGTGCAGCGCCAGGCAGCTGGGGATAATGTCCAGACCTGGCCAGCAGGTCGGTTTTATAGCGTATTCCGCATTATCACGCTCACCAAGGTAAAACGGGAGCAA
 +SRR1222430.93 93 length=209
 BBBBBFFFFFFFFFGGGGGGGGGGGHGHCHEHGGGGGGG?EGGHHHHGHHHGGAEEEHHHHGHHHGHHHH3DGHBFFGFHH3BGHHHHHGFHHHGHHGHHHFGHHGGGHGGEHGCGCGGAGHDGFHFFGGGHHHFHHHHHHGHHBFHHHEAFGHGHGG@?EEHGFHFGGDGHHFH?@ADFFGGEFGG.CBFFEGG0CBFGGGDDGFFFF
-@SRR1222430.6 6 length=192
-GGCCACAGGCGATAACCTGTGGCCTTTTTGTCACTTGAAGTAGGCACTCCAGGCAGATTGCATTGCCTCTACCCGATTACCGGCGGCACCAGACCAGGCGTAATGACGGCCATCGAATTCAAACTCCACCATGTAGGTACCATCGCCATTATCCCTCGGCGCTTTAAAGTTTGGCTTGGCAGGATGTTTCTC
-+SRR1222430.6 6 length=192
->3ABABF?ABBBGGGGEGGGFFHFFFHGHGGHFHHHHHHHHHFHHHHHHGGGHHHGGFFGFFDFHHHFGHHHHHGGGGGFGGFGG?EGGGHEFFEHHFHGDDFAGHFGGGFGFBEHHHHHHHBHHGHGEFHHFGFHGFGFHHFHAEGGGGFFHGHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFB9
-@SRR1222430.15 15 length=251
-TGGATGCCTATCTTAATTTCGCTCGTCGCGCCTGCTGGCAGGAGGCGGCCTGCAGCTCCCTGACCGAGCTGGTCGCCCCGCAGATCCATCAGTCGCGCCTCGACAGCTGGCCGCAGCACTATCCATGGATCAAAGAGGAAGGCTATTTTTACTTCCGCAGTCGTCTGAGCCAGGCTAACCGCGACGTTGAGCATGGTCTGGCGCTGGCGAAGGCCTACTGCGACAGCGCTGAAAAACCGAACCGGATGCTG
-+SRR1222430.15 15 length=251
-A1A1>CFFFB1DEAAFGDDGCA1000AEGGCAA/B1F1EHG/AA///A>EE/0BFE0FGGGHFF0>EEE/10BBEGG?E//</<FG1121?1>?//>C@C//A@?-FHB0.<<AC<CHC0G;0/0<C/:00:00;/;CFGCAEF099F00.C00009.--.;C.-;-/;/;BFF-A/9;;@?@@@---9-BF///;/;9/;/99>-9---;;9-;/BF//;A9@@-E---;-;BB-------;---;@BBB
-@SRR1222430.33 33 length=191
-GTTTGATGCTCAAAGAATTAAACTTCGTAATGAATTACGTGTTCACTCTTGAGACTTGGTATTCATTTTTCGTCCGAGGACGTTAAGAATCCATGTCACTTTGAGTGCCCACACAGATTGTCTGATAAATTGTTAAAGAGCAGTTGCGACGCGCTTTAGCGCTCTGTCGCGAGGTGGCGTATATTACGCTT
-+SRR1222430.33 33 length=191
-CBBCCFFFFFFFGGGGGGGGGGHHHHGHGHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHGHGGGGGGGHGGGHGHHHHHHGHGHHHHHHHHHGHHFGGGFFGGHHHHGHHHHHHHHHHHHHHHFHHGHHHHGHHHGGGGCFGGGGHHHGGGGHHHHGHGGGGAGFGDFCEHFHHGGGGG
-@SRR1222430.36 36 length=196
-GACTAAATCTGATTGTAATGTGTAGTAAATAAACCGCCAATCTGCATGGATTGCTTTAATTAAGACAGTGTCTTGCCCTAATACAAATGGCTTTTTGGAATCCACATAGCTAACAACACCGACAGACTGGTTACGACTCATAACCAAATCACCTTGTTCAACAACACAGTGATCCATCAGAGAGCGATATTCTTCT
-+SRR1222430.36 36 length=196
-CCCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHGHHEGGGGHGHHHHGGHGHHHFHHHHHHHHHHHHHHFGHHBGHHHHHHHHHHHHHHHHFHHHHHGGHHHGHHHHHHHHFHHHHHHHGGGGGGGHHGGHEGGHGGGGGHHHHHHHGHHHHHHHFFFHHHDHHHHHGHHHHHHHHHHHHHHHGGHGGHGGGHHHHG
-@SRR1222430.63 63 length=194
-CGTCCCATATGTTCACGCGCCTCCGGCACCTCTTCCGCCAGCATCAGGAACGGGCTACGCTGGGCCAGCTCCGCCTCCGTCACCCGGCGCGCCAGGTATTCGTGGCCCTGAAGCCCGCCCGGTAGCGGCAGCCAGCGGCTGCTGATCGCTGCGGCATCCTTATCTAACTGCGCGCGCACATCGGGGCGCAGGCA
-+SRR1222430.63 63 length=194
-AAAABBFFFFFFGGGGGGGGGGFHE?EFEGFHHFFFGGGGGGFHHHHHHHHGEGGGHHGGGECEEHGGGGHHGGGDEHGHHGGHGGGGGGGGGC?G<FGHHHHED@CGHHHHHFHHCDGGGGGGGGGGGGGGEFGGGGA?FGGGGGGGGGGFFFFD=FFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.17 17 length=184
-CTTTAATGCCCAACAGGCCGCGCTTGATTTCGCCAAACTGAATAAGCTGGTCGGCGAGGGTTTTCGCCATATTGCTTGGAATGGCAAAGCCGATGCCGATGCTGCCGCCGCCCGGCGCGAGGATCGCGGTGTTGATCCCGATAAGCTCGCCGTTGAGGTTCAGCAGCGCGCCGCCGGAATTGCC
-+SRR1222430.17 17 length=184
-CDDEEFFFFFFFGGGGGGGGGGGGGGGHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGGGFHGGHGGGGGHHHHHHHHGHHHHHHHHHHHHGGGGGHGGGGGHHHHGGGGGGGGGGGGGGGGGHHGGGGFGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-@SRR1222430.24 24 length=250
-AAAGTGCGCTTCGGCGGCCGCATTCAGCAGGGAGGAAAGAAAACCCGCTGGATTGAGACGGAGGAGATCATTGCGGAAGCCTACGACCAGATCATCGCCGGCTTTGACACCGACGCCACCAACACGCGGCGTCTGTGGAGCGCGCAGGCCAGCAGCGAAATTAACCTCGGTAAATTCAACCAGGGCGACTACTTCGCCGCGGTAGAGGATAAAAACCAATCCGAAAACGTCTCCCGCGCGCTCTAACCGG
-+SRR1222430.24 24 length=250
->1>A1BF?D11AAEGGGAAAAE/EG22110//ABF/>FFHCF0G//>>/>@FD101B>@///////?0F<>221?<///?0B<C//<>@F<FH1?G1?C@CG--<<0=GH.---:@C..GHEAAEGG-AA999-A9/9F-9-----9----9AB---@--9/BFF//;-A9A-//9B9//--A-?B;-@;-B//;A-;---;9--/;9-B9////-9A-//B;-A-;/-----/9-;@---@AFF//9-9
-@SRR1222430.37 37 length=251
-GCTGGCCAGCTGGTTAGCAAACGACGAGGTGCTGGCGGGTTTAGCGGGAAAAATTGCGGAAGAGGCGCCGGGAAAAGCGGGGGTGTTATTACAGGTCTACGGCAGATGCGTGTCGCTGGCCGCGGCTTTTAGCGCCTACAAGTCTGGACTTCCCCGTCGGGGGGCAACCACAATTCACCCCGGCTGTATTCCACTCGGCCCCGGTGACCCTTTTGGTGTCGCCCCCGGACACCGTGCCCGTGCCCCGGTAC
-+SRR1222430.37 37 length=251
-A3>333BFA2FF4GBFFDGGCGED?FGEGGHGFFFEEG?AF13@50>///11B13@@1/>//B0?>////<//B/00??@/--:--.;:C000;:0/0009.-9:.00:-.;9/9...-;.--9@--9:////-9-9..////9/;//;9///.9-..--------..99.9.//////;-;--9-.////://9/9.;.-;-99-.//.;////-;?9;...9-9-----9;-.;.;/.-9.;/99=--;
-@SRR1222430.65 65 length=230
-CGCCACAATGGCGAACAACAAACTGCCCATCGTCACGCTGCGCACCACGCTGGCCCCCGCCTCGGTGCCGTTGTAGTGCCAGAGGGTAATGCTGTCGAGGTAGGCGAAAACGGGGATCAAATCAGACCAAATCGCCCAGAACATCACTGCGAACAGCGCGACCATCACCAACATGGTGATGCGCAGCGTCTGCTGGTTGACCTGCTCGAGAGCGATAGTTGGCTCTTCCT
-+SRR1222430.65 65 length=230
->>1>>AFA1B1>1AA0ECG0GFGGCCGFHHFAGG/FE0AAEEE?EAGAAEGA//BC/E@E/??EE/?/0///>>DGGGHB>F0/FF/0GFHHEFF1<F@@C<1<<</BC@GGC/<CCFCF<G1<<0C.<CCGDCAE.C:G/C/C0C00CHC-@AAB9-9@?A-99BFF-:?-AB/-F//9//@F?-@-99--B/:BBF-BF9F-F/BB-:E--9-;--9BF/BF//;9/9
-@SRR1222430.66 66 length=251
-ACCACCGTCTTCGGGGTGATTATCGGTACCGGCTGCGGCGGCGGGATCGCCGTTCATCAACAGCTGCTCAGCGGCCCCAACGCTATCGCCGGGGAGTGGGGGCATAATCCGCTGCCGGGCTATACTCCTGAGCGCGATGGCCCTCCGCAGCCCTGCTACTGCGGCAAAACGAACTGCATCGAAAGCTTTCTCTCCGGCACCGGCTTCGCCCGCCGCTATGGGTAACAAGCCCGTGCGGAAGCCATTTTCGC
-+SRR1222430.66 66 length=251
-1>AAAAA?AFAFGGEG0AFFGGD2G0EHAHFG?E?FECAE/E/E?EGGCCCB><FBG2FGFG00?CCHFH0B/@-<@-<C<<CCGF/.<:CCC@G@9.9.--A-BB9FBFFFF?-9-;==>-B/9FEFFF/9B=@@@@--9/A-9---99@9BF-EB/B99/A=9@@FBF-;:@F//BFF-9/--/99////9/;--99@-@-@-@B-9---99-@---/9-9//;BF-;-;--:-9--;9--:/B/BB-A
-@SRR1222430.76 76 length=251
-TTCGGGGTGGCGATGCGTTCACTGAACGAACGTCATGTGTGCGCGGCACGGCATTTGGGATTCAAACGGGGCGTAATGTGATCTTTTACGGTACCGTTATAAATTTCTGCGGTCCCCATATCTCTCAGCGGGCTGCTGAACAGGCGAATAAGTTCTTTCGGGCTGTTTTGGACCGTGCAGGTCAGCATGCCAATATCGACGGCGCGAAGCTGCTTTTTGGCAAAAGTACGTCTGTTCAGCCGGGGGAGAGT
-+SRR1222430.76 76 length=251
-1AA1AADD@D0>0AA0A000112DAF10/B/////0A22B01BA/E///BEGGE1DG1//10BGG2B/?/>/B</?/B222222>?1@1?/FG<<AFCC/<11<F1>111<-<<><<///0=0<0<<0GCC---:CFFB0/B/..;9-;.CF00009;;.-99>--:F-9-;B------/--//9/;FF/:/:////-9@;@---@;9--/B///;/9;@BF/-;9FF/9----9//:///---9--9--/
-@SRR1222430.98 98 length=176
-AGAATTAAAAGAAGATATGATTGTACTGAAAAATTGCCGTAGATAAACGTTGTCGTGAAAGTTGTGTTTTTTTTCTGCATTGATCGCTAATCGCTCTTGTCAAAGGCTCGCGTTTTGCGTAATATTCGCGCCCTATTGTGAATATTTATAGCGCACTCTGAATCACATAAAGAGGT
-+SRR1222430.98 98 length=176
-CCCCCFFFFFFBGGGGGGGGGGHHHHHHHHHHHHHHHHGGGGGHHHGHGHHHGHGGGHGHGHHHHGHHHHGGGGCHEFHHHDEGGGGHEGHFGFFHFHFEGHHHDHFHHGGGEFGGADCA<CFFHHFCDGGGGCBGHD?GFHHFDHHFFHFFFGGGGGH00DGB0<0DBHHHGHHC
-@SRR1222430.11 11 length=169
-CAGTCAGGCTTGCTGCTGCAAAGGCAGAGAAAGCGCTCATCGATAAGGTCGCGGCGACAACTGTTGCGACGGTGGTACGCATAACGTTCATAATGTCTCCTGCTGGGATTCGTAAATCATTGTTTCGAGGCTATGGTGAGCAAAATAGGTCAAAGAGGTGACAGTAAAA
-+SRR1222430.11 11 length=169
->AA3AFFBFFFDGGD4EGGFGFH4GGGGDHFGHHGGFEAGFGEG2FDG5FEEAGGGGGEEHGH4EFFGEGGG>EEE4FE?EGDGCAGCFCFFHHGHDDHHFHHFBGACFGGFGHFHHHDDHFHFGFFGHCGGFHHHHHGFF0GFHHGHGCGHHFGHH.::G0GGGHBCG
-@SRR1222430.20 20 length=167
-ACTGAGTATTGGTGTTATACTCGTCGTTTTTCAAACTGCAGGTGCGCTGTCGATGCTTCCTGGGCCGTATGTTCGGGCTGCGTGATTCGCCTCTACGGGACTCACCTTTTCAGGGCCAGCGCGAGCGCGGCGCAAAATGGTTAACCGTTTTGTCCTGCAGCATGAAA
-+SRR1222430.20 20 length=167
-BCCCCFFFFFFFAFGGGGGGGGGHGGFGGGGHHHGHHHHHHHFHHFGGGGHGEFHFHHHHHHHGHHGGEHGHHHGGGGGGGGEGFFEHGCGGGHHHGGGGGHHGHHHHHHHHHGGGGGHGGGGFFGGGGGGGGGGDHHHHGHGFGGGGGGGGGGGFGGFGGGGFBFG
-@SRR1222430.40 40 length=250
-ATGATGTTAAATATATGTTTTGTTTTTGTTGTTTAATTGAAGCGGTTATGGCGCTTGTCGTGAAGGGACGTTTGCGACAACGGCGGGTAGTTTTTTTGCGGGGGGGGATTTTTTTTTCTCTGCCACTTTTTACGCCTGGGGCGGGGGGGTCCCCGCCCCCCGCTTGTTGGCCCAGGGAGTCGGAAAAGGGCGGGGTGGGGGAGAGGGTGGGGTCCTGGGGTGCGCCGGTGATTTTAAAAAATAAAAAAAC
-+SRR1222430.40 40 length=250
-ABBBBFFDFFFFGGGGGGGGGGHHHHGGHHHGHHHHHHHGHHHGGGGGHGHGGGGGGHHGGGHGHHGHGGGGHGHGGGGGHGGGGG<///2?FGF///1/<@-@----./9B/----/;/////9//9:FB./..-99..-.---;----.9:.-9;@--9---;.:/../9...:..9./;9-.-./.:.---9---@>---..9...---9../;/.;.9.--.;---./////9/;F-.;9/9/--.
-@SRR1222430.34 34 length=149
-TCATCCGGAACAGATTGCGGCTCTGATCCCGCTGGCGCGCGATATCATCGCCCGCTACCACATCGCGCCGCAGAATGTGGTCGCCCATGCGGATATCGCCCCGCAGCGCAAAGACGATCCGGGGCCGTTATTCCCCTGGCAACAGCTGG
-+SRR1222430.34 34 length=149
-CCCCCFCCCCCFGGGGGGGGGGGGHHHHHHGGGFGGGGGGGGGGGHHHHHGGGGGGGGHHHHHHGGGGGGGGGGHGHHHHHHDGGGGHHHGGGGGHHGGGGGGGGGGGGGGGGHHGGFHGHGGGGGGGGGGGGGGGGGGFFFFFFFFFF
-@SRR1222430.52 52 length=158
-ATTTCCCGATAACGTTGCTGATACACCAGGTCAGAATGGGATTGCCATCATGGTGGAATCGACCACCGGCCAGAGCCGCTTCAAGCTCTTTCATCGCCGGTGACATATTGGTGTAATCCTGCCGGATATCGACTACGGTAAATCCGTTGTCCTCCAAC
-+SRR1222430.52 52 length=158
-BCCCBFFCCCCCGGGGGGGGGGHHHHHHHGHHHHGFGHHHHHHGHHHHHHHHHHHGHHHHHGGGGHGGGGGGHHHHHGGGGGHHHHHGHHHHHHHHGGGGGGGHHHHHHHHGGHHHHHHHGHHGGGGGGHGHGGGHGGHHGHGHHGGHGGHHHHHHFH
-@SRR1222430.62 62 length=151
-AAAAGCCAGCGTATCTTCGTCGCCGCAACCGTTAAGCTCGGCGGCATAGCTTAAAAAATTGCGCGCCTGGCCGAGCAGGTCGAGGCCGATATTGGCCAGCGCAAGATCGATCTCGAGCTCGGGAGCATGGCCGCACCAGGCGCCTAAACGC
-+SRR1222430.62 62 length=151
-CCDDCFFFFECBGGGGGGGGGGGGGGGGGHGGGGGHHHHGGGGGGGGHHHHHHHHHHGHHGHGGGGGGHHHHGGGGGHHHHGGGGGGGGGGGHHHHHGHGGGGGGHHHHGHHHHHHGGGHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFF
-@SRR1222430.78 78 length=150
-AGCGTGTAATCAACCGCGCCGGTTGTCCGGTCGTAGCTGATGGTATGCCGCTGCGCCAGCATATTATACTTCTGCTCACGGTTGCTGTTGCTGTCATTCGAGCCCTTAATCGTGATGCGGGCAATCGTGTCTTCCGGATACACGACGTTT
-+SRR1222430.78 78 length=150
-CCCBABCFFFFFGGGGGGGGGGGGGGHHGCFGGGGGGHHGHHHHHHHHFGGGGGGGFGGGHHHHHHHHHHHHHHHHHHHHGFGEHHHHHHHHHHHHHHHHHFGGGHHHHHHGHHHHHHGGGGGGHHGHHHHHHHHGFDFGHHHC?DFCGH
-@SRR1222430.82 82 length=194
-GTCGTTTCCACCGCTTCAGGTTCTACCACCACCGGCTCGGCGTCGAGCGTCACTGGCGCGATAGCCTGAGGCGCTTCGACAGCCGGTGCTTCGGTGACCGGCTCCTGAGGCGCTGGCTCGACGGCTGCTGGCGCGCCAACAACCGCCGCGACCGCAACGACCGCCGTGATAACCGCGACAATCGTGACAACCGC
-+SRR1222430.82 82 length=194
-BAABBBBFFFFFGGGGGGGGGGHHHHHHHGHGGGGGEGGGGCFGGCGGEEEGGHHGEEGEGGEGHFFEGFFAEE@EEEHGG@/GCFBCCHGB@DFCFBGCCGFGFFFDFFGGFGDCDFGDCGGBC-BGBFFGGGGFFDAFEF?.>BFFFFFFFFF=FCF?@FF;@-9@EEFFF/@DAFA-@9BEEFF./;ADFF
-@SRR1222430.99 99 length=160
-AAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTCAATCGCCGCCTGGTTACCCAAACCCTGTTCGTTAAATTCAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTTCCCCTGATACATCTCAGGTTGCTTCAGCCACTGCACAACGGCCTGGCT
-+SRR1222430.99 99 length=160
-ABBBAFBA3AAFCFGGGGGGEEGFHAEEGFFGHHHHHHDFDFDFCGGGHG3FBCGFHHHGEGHHFGHGAEFFBGBEHHHBEGDDHHHGGGGEHEA@E@HHD?DGGFGG?FE2G2<GGFF<2GFGHFHFHHFFHHHHFHHGHHFFHGHHHHGCCCCDFEHB
-@SRR1222430.79 79 length=136
-GCAACCAGCGCAAAGTGGAGATCGCCCGCGCGCTGGCCACCGCGCCGAAGCTGCTCCTGCTCGATGAGCCGGCCGCCGGGATGAACCCGAAGGAGACCGAGGATCTGGCGGAGCTGATCTTCCGCATGCGCCATGA
-+SRR1222430.79 79 length=136
-DDDCCFCDCCCCGGGGGGGGGGHHGGGGGGGGGGGGGHHGHGGGGGGGGGGHHHHHHHHHHHGGHHHHHHGGGGGGGGGGGGGHHHHGGGGGGHHHGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFF
-@SRR1222430.4 4 length=250
-GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
-+SRR1222430.4 4 length=250
->>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
-@SRR1222430.26 26 length=135
-ACCTGATGCTGGCGACGCTGGATCATGGCGACACCGTACTGGTGCCGAACCCCAGCTATCCGATTCATATCTATGGCGCGGTGATTGCCGGGGCGCAGGTGCGCTCAGTGCCGCTGGTGGAAGGGGTGGATTTCT
-+SRR1222430.26 26 length=135
-CCCCCFFFFFFFGGGGGGGGGGHHHHHHHGGGGGGGHHGHHHHHHHGGGGGGGGGHHHHHHGGGGHHHHHHHHHHHHGGGGFGGHHHHHGGGGGGGGGGHHHGGGG.GHHGHGGGGGGGGGHHGGG.AGFGGGGG
-@SRR1222430.41 41 length=251
-GATCCGGAGAGGGGCGGGGGGGGGAAGGGGGGAGGTTCCGGTGGGGGGCGGCTTATTTAAAAAAAAAAAAAAGATACATTCTCGGCTCCACCTCGGTAAGTAATACGGATAAGTGTCCAGTAAGATATGAGGGCAAGTTTCATGTGTCAATCTTATATGATGTACACATGATAGGGGAATTACGTCTAGACGTACTGCGTTTGTGAGATAGATCGAATTCTGATGGCTCGAGTTACTGCTATGCATCTATC
-+SRR1222430.41 41 length=251
->1111B1>11111000/A///;@--:----;------//----;-------9--//9//9BFF?@?@-------////;/9//----9-/--;------////://-----///////////;/////////---9-/;9B///////////////////////////;;/////-9---/;/-----///;9---//-----;-///////99--//-/9/////--/9-9/-///9//////;;/////
-@SRR1222430.46 46 length=251
-GTATGGGAGAGAGGCGTGTTGGGGAAAAGGGGAGAAATTGGGGGGTGGCGGGTTCTTTAAAAAAAAAAAAATCGATTGTGACTGTGAGCAGATCATCCGACGGAAGGTGCGGACAAGGGATAAGCTTAGCGCAAACGTACGTATGAGGGCCTTCGTCGTCTGGTCGATGCGAGACGCGCCCCATTAGCAATACATCAACAGCGCGGCAGCTAGACCCTCTAATGGAAGCGCTACTGAATACCACCGGGTCG
-+SRR1222430.46 46 length=251
->1111B111111A1A0AA000AEA0AA00/B////01D11B//A//</0/--<<.00=<0DFG@C;A---9;/:.9/-/9///;;//B////;F//;/9--------/;/-------99A--/////9//---9-:--:---////;/----9/;;------///--9/---9-----------/99/;///;///////:-;---;---;/9///-/9-///9////------//99//:///9-;-;--
-@SRR1222430.48 48 length=250
-GATTGGGAGAGGGGCGGGGTGGGGAAAAGGGTAGATATCGGGGGGGGGCGGATTAATAAAAAAAAAAAAAACAAATAAGGACGAGGATTGGTGTAGTAATAGAACTAAGTGAATATATAATTGTATGGTAGATGTTAAAAGAGAAGCATGAGAAGACGTCGGTGTACGTTGCTCAGGTGTATGCATGTGTTAGTGACTAGTTAGAGCTAGATCTCACAAAGGTGTCGAGTAGGCATAATAATCAGGACTA
-+SRR1222430.48 48 length=250
->111>B1111>1110A/A//>>E@/>/00//00/122B1/>//>@---9-----//://9FF@@@@?@@@;----//////------/9-9/-;/////;//9/////////////9//////////-////9////////---//////////;//-:-----9//-99--///;////;//////9//9/;9///////9////////////////9-/-////---/-/9/////////9////-9/
-@SRR1222430.49 49 length=251
-GATCGGAAAAGGGGCGTGGAGGGGGAAAGGGGAGAATTCGGGGGGGGCCGGATTATTTAAAAAAAAAAAATATAATTTCATAAGAGGTCTTAGAGTTAGTGAAAAACATGAAGGCAGGACTGGTCGAATCTGTGAAGGAGGGGACGCGATAGTGCTGCAGGAGCGAAAGGCAGGACTGCAACGGGGTGGGCAAGGGCGCTGCAGCTCGCGTAGCAGAGGAGTTTGCGTGGAGATGTGTACATGTGATGTTT
-+SRR1222430.49 49 length=251
->1111>1>11111A100000/AAA/A//00/////01D1?B/>EC-------9-//://9BFF@@?@@-;-9////////://9//-/://////://///////---////:/------9;-;;---/-9///////9--------9----////////-------------9-9/-9///;-------9----9-9----/////;------///----;//;/-9----///:///////;/////9/
 @SRR1222430.94 94 length=251
 GAACTGAACAGGGGATCGTTAGGGAAGAGGGGTGAATTTGTGCGTCGGCGGTGCCATAAAAAAAAAAAAAGAGGAATGAGATAAATCGGCTGAGGCGGGCGGGGAACGGTGTGCCAAGGATGGCTAAGCGGTGGCCTCTGGTGCTGACGTGGGCGGTACTTCTTCACGGCTGGCTATGTAGTGAAAGCCTGACGTGGAGAGATGTATGTACCAGCCGATCGTCACGAAGACAGACAACGATAATGTGCACG
 +SRR1222430.94 94 length=251
 11111@11B111111A10000000000000000//12222B01A//AA/A//>/01111111>/><//</?/?/0<11111111??1/////0<..----9?------9---9////9--//9--//:/-9----;/-////;////999A--------///////:-A-9----//////9/////;-99-/-9----99-///////////9-----;9---------//99---------///////-
+@SRR1222430.95 95 length=250
+CATGATACGTCGCGGGTGACGGTGCTGCCCACGTCGCATTTCAGCTGGGAAAGCCAGCAGCTGAACATCAGCGACGACCTGAGCCACTTCCCGCGGCCCTTCTTTGACAGCATGCAGATGACCCCGGCGGACATTGCGGTCGCCTATGGGGCCAAGCCGTCGGCGGACGTCTTCAGCGCCGCGGCGCTGATCTCCTCCTGACTGGGTATCCAGGCGGACTATCGCGGCATCGCCTTCAGCGCTCTGCGCG
++SRR1222430.95 95 length=250
+CCCCCFFFCFFCGGGGEGGGGGGHGHHHHHHGGHHGGGGGHHHHHHHHGHHHHGHHHGHHHHHGHHHHHHHHGGGGGGGGHHHHHHHHHHHHGGGGGGGHHHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.ABFFFFFFFFFFFFFFFFFFFAFFFFFFFDDFFFFDFEFFFEFFF
+@SRR1222430.96 96 length=251
+TCTCAATTTCACACATCTATCCTTATCTACCCAAACGCCATCATGCTACAGAACGACGGCCGCGGTACGTCTCCCGCCTGCCGACAACCTGAAGGATGACGGGTGCGGACTGAAGTTAGCCACCTGGAGATGACAATCGCCATTCCAGGCGGCATCATAACCCTTTCATTCATAGCAAGGAATTATCATGTCTCAGTTTTATCTGGTCGCGCCATCCGGGTATTGCATCAACCAGCAGGCGGCAGCCCGCG
++SRR1222430.96 96 length=251
+AA@ABFFFFFBFFGGGGGGGGGHHHHHHHHHHHHHHGGGGGHHHFGHHHFFHHHGGGCEGGEGEFFFEGHGHHEHGGGGGHGGGGGGHGHHHHHHHHHHHGGGCFCFGGGGHGHFFGGHHHHHHHHHHHHHHHHHBGHGFGGGHHHGGHGGGGGGGGGEFFGGGGGGGGFFGFGGGFFFEFFFFFFFEFFFBFFFFFFFFFFFFE/FFFF;FADFFAFFF?DFFFEFFFFFFFFFFFFEDFFFFFFFFFFB
 @SRR1222430.97 97 length=251
 GGTCGGGAAAGGGGCGGGGTGGGGAAAAGGGGAGAATTCCGGGGGCGGCGGATTATTTAAAAAAAAAAAAAAAAATGATAGTCGACCAGGTAGTAATAGATCAGATGGGGAGCGCGGTTGTGGGTGGCGTAGCAGATAGGAGGGTGGTGTGAGCATAATGCGACCTTCTCTGTGAATGTCGTACTGACTGTGCAGAGGCGAGTACAGTAGATCAGTGTGAGATGCACAGACGAGTAACGGATATCGAGGCT
 +SRR1222430.97 97 length=251
 >1111>1>11111A00////>>E>/?/00//////01111B//<///-<----.00;00CFGGGGGG?-;-99---//;////9------9//9///9////;/////---------;---;-----------9///////9-9-----;-///9;////;-----/////////////9-;---////9;;//:/9---999-///:////////////////////-/-;---;//-----:/--;;-9
+@SRR1222430.98 98 length=176
+AGAATTAAAAGAAGATATGATTGTACTGAAAAATTGCCGTAGATAAACGTTGTCGTGAAAGTTGTGTTTTTTTTCTGCATTGATCGCTAATCGCTCTTGTCAAAGGCTCGCGTTTTGCGTAATATTCGCGCCCTATTGTGAATATTTATAGCGCACTCTGAATCACATAAAGAGGT
++SRR1222430.98 98 length=176
+CCCCCFFFFFFBGGGGGGGGGGHHHHHHHHHHHHHHHHGGGGGHHHGHGHHHGHGGGHGHGHHHHGHHHHGGGGCHEFHHHDEGGGGHEGHFGFFHFHFEGHHHDHFHHGGGEFGGADCA<CFFHHFCDGGGGCBGHD?GFHHFDHHFFHFFFGGGGGH00DGB0<0DBHHHGHHC
+@SRR1222430.99 99 length=160
+AAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTCAATCGCCGCCTGGTTACCCAAACCCTGTTCGTTAAATTCAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTTCCCCTGATACATCTCAGGTTGCTTCAGCCACTGCACAACGGCCTGGCT
++SRR1222430.99 99 length=160
+ABBBAFBA3AAFCFGGGGGGEEGFHAEEGFFGHHHHHHDFDFDFCGGGHG3FBCGFHHHGEGHHFGHGAEFFBGBEHHHBEGDDHHHGGGGEHEA@E@HHD?DGGFGG?FE2G2<GGFF<2GFGHFHFHHFFHHHHFHHGHHFFHGHHHHGCCCCDFEHB
 @SRR1222430.100 100 length=250
 GGTCGGGAAAGGGGCGGGGGGGGGAAGAGGGTAGATATCGGGGGGCGCCGGATCATTAAAAAAAAAAAAAAAAACAAAGTTTGGATAGTGACCTAGCTTGGCCTAACAAAACAGAAAGATTTTAGAATTGGCAGACGGACAGCGTGAGTTCCATACACGTCTGTGCATGAAAACTGTACGTGCTAAGTGGGCAGATAACAGTCACCCCAAGTGCGTCTGATCTGCAGTAGTTCATTGTCAGGTACGAGTT
 +SRR1222430.100 100 length=250
diff --git a/src/tmp/klebsiella_100_2_12_qual_thres.fq b/src/tmp/klebsiella_100_2_12_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..6264e6f62204b8a00d01bca2d6dcf6b58bf3dbce
--- /dev/null
+++ b/src/tmp/klebsiella_100_2_12_qual_thres.fq
@@ -0,0 +1,356 @@
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+CCCCCCFFFCCCGGGGGGGGGGHHHHHHHHGHHHHHHHHHHGGGGGGGGHHGHHHHGHGHGHHHHHHHHHFHHHGGGGGGGGGGBFFHHGGGGGGHHGGHHHGHGGGHHHHHHGGGGGGGFGHGHHHHHHHHHGHHHFHHHHHHDFGGGGHHHHHGGAGGGGGGGGGGGGGGGFGGGFFFFFFFFFFFA=@FDF-BFFFFFFFFFFFFFEDFBDFFF-:FFFFFF/BFFFEFFFFFFFFFFF;--:DEFF
+@SRR1222430.7 7 length=251
+TGGCGGATTGAACGCCTGATCGCACATTTTCTGCAAGCCTCTGTCGCCCGGCAGAGGCCTTCCCGCGCCGCCTCGACGGGTTGCGTTTTGCCTCTTACCTGCGTTTTTTCTCCGCTCTACAGTACCCCATAAGAAATTCGGAATTTATCTAATAGTCTTATTATTTCCTTATATTTTGTGTGGGCGTACAGTGGAGGTACGGATGAAAATTGTCTGGTCAAAAACGGAAGATAAGCAATTTTCTAAAATCG
++SRR1222430.7 7 length=251
+BBCBBDBCCFFFGGGGGGGGGGGGGGHCFHHHHGHHHHGHHHHHHGHGGGGGGCECAEAGHHHHEGGFFFGGGGEGGFCCGFCADADCGHGHHHHHHHHHHGDDGFGGGGFHHDDGGHFGHFGHHHHEGHHGHHHGHHHGFGCFHHFGGFFFGGGGGGGGGGGGGFGGFGGGGGGGGGFBF?C.E=DFFDFFBFFE.AFFD.DDDFBFFFFBBFFEBFBBBBFEFFFFEBAFFFFEFFFF/FFBFF/9FF.
+@SRR1222430.9 9 length=250
+AAGGCTATCTGGTTCGCGTACACATTCTCGATAAAGCCCGTTTTCCCGACTGTATCAGTGCCAAGAGACTGCCACTTGTCCCCGTTCTGCGTGGCGTTAATGACGACGGCATGGGTGTGTATCTGAGGTTCCTGGTTACGGTTCGTGTCGTGGTTGAATTTCGCCACAATCAGATTTCCGGTCAGCACCGTTTCGCTTTTACCGTCCGTCATGACCCGGGTCGCGGCCAGCGTCTCCAGTTGCCGCACCG
++SRR1222430.9 9 length=250
+ACCCCFFFFFFFGGGGGGGGGGHHHHHHHGHHHGHHHHHGGHHGHHHGGGGGHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHGGHHGHHGGGGGGGGGGHHHHGGGGGGGGHHHGGGGHHHHHHHHGGHHHHHHHHHHGGHGGGGGHHGGGGGFGGFHHHHHGGGGHGFHHHGGFFGGGGGGFGGGGECGGGBGFGFFFFFBDFFFFFFFFFFFFEFFBFFFFFFFFFEFFFF.FFBFFFFFFCA;9>B
+@SRR1222430.18 18 length=251
+GCATAGCAGGCGGCAACCGGATGTCATCTGCCTCATCACCGTCTGCAGGTCGGGCGCTCCGGGGGCATTCAGCCGCTGGTGCAGTTCGCGGAAGAAGTGATGAAAATGGACCCGCCGCCTGGCGGCGAGCGGCAGGCTGGCGAAAAAGTGGTCGAGGATAAAGCTTTTCCCTCGCCCGGTACGTCCCCAGACGTACACCCCCTGCGGCCTGCCTGTCGTGGACACCAACTGCTGACCGAGGGCGTCAAGGC
++SRR1222430.18 18 length=251
+CBCCCFFFFCCCGGGGGGGGGGGHHHHHHHHHHHHHHHHHGHGHGHHHHHHGGGGGGGGGGGGGGGGHHHHHGHGGGGGHHHHHHHHGGGGGGGHHHGHHHHHHHHHGHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEFFEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFAFFFFDF99.
+@SRR1222430.21 21 length=251
+TGGGCTTTGGTCAGCTTATTTCCGCGAACTATCAGCAGCAGGTCGTCGTGCAGCAGGCCAACCAGCGTGGCGAGCTGTTCATTGATCGCCGCGTTGGGGCCGTTTTCCGGTAGGATCAACAGCAGGGTTTGCCGGCTGGCAAACAGGCTCATCGCCTGGCTTAAGGCGAAAATCGCCTGCCAGTCGGTGCTGTTGTCGATTGAAAAAGTATGGTGCTCGGTAAAGCCCTGCGCGGCAGCAGCTTCGCGAAT
++SRR1222430.21 21 length=251
+CCCCCFCFFFBFGGGGGGGGGGHGGGGGGHHHHHHGHHHHHHHHGGGGEGGHHHGHHGGHHGGGHHGGFGGGGGGGHHHHHHHHHHHGGGGGGDGGHGGGGGGGHGHHGGGGGGHHHHHHHHHHHHGHFGGHHGGGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFBFFFEBFFFFFFFFFFFFFFBFFFFFAF;DFFFFFFFFFFFA-
+@SRR1222430.23 23 length=251
+ACGATATGTACCGGCTGAAAGCCATGCTCGCTCATGACCGCGCGGATCTCCCCCAGCAGATGCTCCGTCGCCGGACAGCCCGAATAGGTCGGGGTAAAGCCAATCACCCAGCCGTCGCCATGGCGCGCGACGCTGCGCACCATACCAAGGTCGGTGATGGTGAGTACTGGCACTTCCGGATCCGGGATCGCGCTTAATAATCCCCAGATGGTGCGAACCTCTGCAGGAGCGATATCGGCAAGACGTTGCAT
++SRR1222430.23 23 length=251
+DDCCCDCFFFFFGGGGGGGGGGHHHHHHHGGGHGHHHHHGGGGGGGGGHHHHGGGGHHHHHHGHHHGHHGGGGGGGGGHHGGGGGGHHGHGGGGADHHHHHHHHHHHHHGHHGGGGGGGGGHHHGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFED@FFFFFFFFFFFFFFF0
+@SRR1222430.29 29 length=251
+AACGTCATCTTTGAAGCGGCGCAGGGATTCCAGCTCGCCTTCATAGATAACCACGTTGTCACGCAGGACGCGGATTGGGTTGTGACGTTTGATCGTCCCTTCGGTAACCATACAGCCCGCGATGGCGCCGAATTTCGGCGATTTGAAGACATCACGCACTTCAGCCAGACCGATGATCTGCTGTTTCAGTTCCGGAGACAGCATGCCGCTCATCGCCGCTTTCACTTCGTCGATCAGGTTATAGATGACGG
++SRR1222430.29 29 length=251
+AABBAABFFFFFGGGGGGGGGGGGGGGHHGHHGHHHGGGGGHHHHHHHHGHGHGGHHHGHHHGHGGGGHGGGGEGGHHHGGGGGHHGGGHGHHGGHHGGHHHHGGHGHHHHHHHHHHGGGGGGGGHGGGGGFFHGHHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFA:>DEB//BFFAFFFCFFBFFFFFFFFFFE/FD>
+@SRR1222430.30 30 length=251
+TATGAGCTTCGCTCACAACATTGAACTGAGCAATGCGCTGCTTGATCAGTTCGCTGATTTCGGTGGAATTCAGTTGCATGCTCCAGTCCCCTTAAGACTGCAAGACGTCTGCAAGGCGCTCAAGACGGCCGCGTACGCTGCCATCAATGACCATATCACCCGCACGGATGATAATACCTGCCATAACAGACTTATCGATTTTGCAATTCAGCTTAACTTTGCGTGACAGACGTTTTTCCATCGCGCTGACG
++SRR1222430.30 30 length=251
+CCCBCFFFFFCCGGGGGGGGGGHHHHHHHHHHHHHHGGGGGHHHHHHHHHHHGGGGDHHHHHGGGFHHHHHHHHGHHHHHHHHHHHHGHHHHHHHHHHHHGHHGHGGFGHGHHHHEGEFGGGHHGHGGCGGGGGGGGGGGGHHHHHHHHHHHGHHHHHHHHGGGGGGGGGHHGGGGGGGGGGGGFGGGFGGGGGGG?EGGGGGFGEGFFFFFFFFEFFFFFFFA?AEFFFFFEFFFFFFFFFFFA;--9B:
+@SRR1222430.32 32 length=250
+GCCCTTCTCGGGGCTGAGCGCATAGTAATCGGGGTGCGTGCCGGCCTGCATCAGCTGACAGCTATGGCAGTGGCCGCAGCTTTTATGTCCTTCGGGCTGGCGGCACATCAGGAAGCGGCACAGCGCGTAAATCAACGCCTCACCGCCCATCCCGTTCAGGGACTGTAACAGTAAGGCGTGGTGGCCTCGTCCGGCCTGATAGCTACCGACCAGTTGCTCGAACGAGGGGCGCAGCCACGGATACCATTTC
++SRR1222430.32 32 length=250
+CCCCCFFFFCCCGGGGGGGGGGGGHHHHHHGGGGGGGGGGGHGGGGGGHHHHHHHHHGHHHHHHHHHHHGHHHGHGGGGGHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHGHGHHHGGGGGHHHGGGGGGHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFFFFFAAFFEFFFFFFFFFFDFFFFFFFFFFDDEFCDD=DFFFFFFAFFB=C=.DFFBFFFB
+@SRR1222430.38 38 length=251
+GTTCTTACCCTCTCACACTTTCGTTTAAGCTCATAAATGCTCGATATCGCTCACTATAGCAAACAAACGCGCTTTTGGTAACATCAAAAAAACATTTTGAAGTGATGGGTGTAACATATTGGCGTTTCTTTACCGCCTGACGGTACACTACAGGGTAAAATTGGGCCGGCCATCGCCCGTCATGACAAGAAAGAGAAGAGAATCATGGAACAGTTTGAATGCATCAATGTTGAAGAAGCGCACCAGAAACT
++SRR1222430.38 38 length=251
+CBBCCFFFFFFCGGGGGGGGGGGHHGHHHHHHHHHHHHHHHHGGHHGHGGHHGHHHHHHHHHHHHHHHGGGGGGGHHGHHGHHHHHHHHHGGGHHGHHHGHHFGHHHHHGFGHHHHHHHHHHGGGGGGHHHHHGDGGFHHHGGGHGHHHHGHHHGHHHHGHHHHHHHFFGGGHHGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF;
+@SRR1222430.39 39 length=251
+TGCCGAGCGTGAATCGCTGTCAGAGCGTTTTGCGACCCTGTCGTTCGATGTGCAGAAAACCCAGCGCCTGCACCAGGCCTTCAGCCGCTTTATCGGCAGCCATCTGGCGGTGGCTTTCGAGGACGATCCGGAAGAAGAGATCCGCAAACTCAACAGCCGCCGCGACGTCAAACGGTATGGATACGGCTATTAGCACCGGCACGGAATAGGGTTGTTGTCGTGTTTTATTTACGCCAATGATTATATAAGGG
++SRR1222430.39 39 length=251
+AABBBBBBBAAAGGGGGGGGGGHHHHGGGGGGHGGGGGHHHHGGGHGHHHHGHHHHHHHHGGGHHGGGGHHHHHHHGHGHHHHGHHGGGGGHHHGGGGCFHHHHHHHHGGGGGHHHHHGGHGGHGGGHGFGGGGFHHGHHHHHHGGGCHHGGGGGGFGGGGGGGFBFFFFDFFFFFEEFBB9FFEFFB?FFFFFFBEDFFFFFF=EEFFFFFFFDFFFFFEFFFFFFFFFFB9ABFFFFFFFBB/99BFBA
+@SRR1222430.44 44 length=251
+GATTAAGACAATAAGCACTGCGCAACAGGAGTCAGTATGGCGTTCGATTGGGGATACTTTTTTTCATTGTTTAGCATTGGGGCATTCTGGCAGGCGTGCGTGACCGTCATCGTAATCAGCACCTTGTCCTGGGGGATCGGCCTGGTGGTCGGTTTTCTGTTAGCCTGCGCGAAGCTCACGGCGCCGCGCTGGGTCAAGATCCCCGTCGAACTCTATATCTGGTTTTTTCGCAGCGTGCCGCTGATGGTGCT
++SRR1222430.44 44 length=251
+ABABBFFFFFFFGGGGGGGGGGGGGGHHHHGHHHHHHHHHHGEEGGHHHGGHGGDGHHHHHHGFHGHHHHHHHHHHHHHGHGGGHGHHFGHHGGGGGGGGGGAFFEGGGHHGHHFGHHHHGHHHHHHHHHHHGGGGGGGGGGGGHCGGEGGGAEDGHGHGGHHGHGHHGFFGCAFGGGGGGGFFAAFFFACFFFF.9/BFFFBEFFFAFEFEFFFFFFFFFFFFFFFFFFFFFFFDDFFACDFFFFBBFF/
+@SRR1222430.45 45 length=251
+GACCAGGTGGTCGGACACGCACGCTCCGTCAGGCTGCCGGGCTTTGTACGCCATGACACCTTTTATTCGCTGCATGAAGTGTTTAATAAGCTAAACAGCTATACCACCCGGCTGGTGAAGTACCAGCAGATCAAACCTTCGCTGACGCGGGGGATCGTCAGCGCCATTGGCGCTTTCTTTAAGTGGTATCTGTTTAGCGGAGCGTGGCGCTATGGCAAAGTCGGCGTGGTGACCGGCCTGTACGCGACGTT
++SRR1222430.45 45 length=251
+BCCCCFCFFCCFGGGGGGGGGGGGGGGGHHGGHHHGGHGGGGGHHHHHHHGGGGHHHHHGHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGFCGFHHGHHHHHHHHHHHHHHGHHHHGGGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFF;DFFDFFFFFFFFFFEFFFFFFFFFADDFEEFBFFFFAFFFFFFFFF;CBA
+@SRR1222430.47 47 length=251
+CAAAGTCATACGACGCCCACGCCGCCGCCGGACGGCCTTTCGACAGGGTTGGGCAGGGGAATTCCGGGGGGAAATTAGCGACGGCCCGTTCCATATGGACGCACTCCGGCGCCAGCGCCAGCATCAGCGCCGTTTCGCTATGCCCGGCGTGCATCGCCATCCGCTGTTCATGCGGGCTGAGAAACTGTTTTTCGCAGTTGGGCACGTTGAACACGTCGTGGGGGATGGCGATGAAATCCCCGTGGCGCAGG
++SRR1222430.47 47 length=251
+BBBBBDFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGHHHGGGGGGGHGGGGHHGGGGGGHHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF/FFFFFDFFEEFFFFFFFFFDFDFF;DFFFFFFFFBFFEFFFFFDFAAF=AA
+@SRR1222430.53 53 length=251
+CCTGCGCCCAGGACAAGGCCAGCGTGGAATCGAAGAAAGCGGCGCTGGAGAGCGCGCGCATTAACCTGAACTGGACCACCGTCACCGCGCCGATTGCCGGGCGCATCGGCATCTCGTCGGTTACGCCGGGGGCGCTGGTCTCCGCCGATCAGGATACCGCGCTGGCGACGATCCGCGGGCTCGACACCATGTATGTTGATCTGACGCGATCCAGCGTCGATCTCCTGCGTTTACGCAAGCAAAGCCTGGCC
++SRR1222430.53 53 length=251
+CCCCCCDDDDDDGGGGGGGGGGGGGGGGGHHHHHGGHHHHEFGGGGGGHHHGHGGGGGGGGGHHHHHHHHHHHGHHHHHGGHGGGHGGGGGGGGGGHHGGGGGGGGGGGGGGHHHHGFGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAFFFFFFFFFCFFFFFFFFFFFFFFFFDACFFFEFF:FF:FF
+@SRR1222430.55 55 length=250
+TAATGTGAACCCACTTAATCTACGAATCCGCCAAGTTTCAACAGATTAGTGGGTTTTCGCTTTTCTGGCTCCGGGCAGACACCCAATCAGAACCAGTTCCCTGCCACTTACGGCGTGGCCAGCCAAAATTCTTCAGACGATCCGTAATCTAGCACCGACAGGCCGGTGGTTCAAGAAAGCAGCCTGAGCACGTTTCGATGAGGAAGTTCCTGCATTTTCAGTCTGCAGCATCTCTGCCCCCTCAAGGTTC
++SRR1222430.55 55 length=250
+AAABAFFFFFAAFGGGGGFGGGHGGHHGHGFGFFDA5FGHBAGGGHHHHGHGEGGGGEGGDHGHHDHBHHGGG0EE@GGHHHGGFHHHGHBHCGFGHHHHHHHFHFHHHHHGGFGGGGGFGEEEAHHHEHGHHHFGHHGGGEGEGGDGGHHGHHHGGCCGGGE.CG;;E.ECFFFFFGFGFFGGGFFBFF??9AFGGGF09C/FFFBFFFFFFFFFFFFFE/;FBEFFBFFFFFBFBFEEFFDFFFFFFF
+@SRR1222430.56 56 length=251
+TAGAACAGGTTCGCGCCGATTTTCCGGTACTGAACCGGGAGGTCAACGGTCAGCCGCTGGTCTATCTCGACAGCGCCGCCAGCGCCCAGAAGCCGGAGGCAGTGATCGGCGCCGAAGCGGAATTCTATCGCCACGGCTACGCGGCGGTGCATCGTGGCATCCATACCCTCAGCGCGGAAGCCACCGCGCGGATGGAAGCCGTGCGTCAGCAGGCGGCCACCTTCCTTAACGCCGGGTCGGCGGAGGAAGTG
++SRR1222430.56 56 length=251
+BCCCBFFFCFFFGGGGGGGGGGHHHGGGGGHHGHHHGGGGGGGHHHHGGGGGHHHGGGGGHHHHHHHHHHGGGHGGGGGGGGGGGGGGHHHHHHGGFGGGGGHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFDFFFFFFFF?DFFFAFFFFFFFFFFFFFFFFFFDABCDFFFBD9BFBF
+@SRR1222430.59 59 length=251
+CCCAGCGAGCCGCACGCCCACGGCGAGGAGATCCTGCGGGTTGAACATTTAACCGCCTGGCACCCGGTAAACCGCCATATTAAACGGGTCAATGACGTCTCATTTTCCCTGCGTCGCCAGACCTAACGCCTGCCGGCGCATCCGCCCGCGCCACTGCCAGACGATAAACACCGCCATGCCGACAACGCCGATGCCGAAGCCGATGCCGTCTGGCAGGTAGCTTTGGCCGATCTGCGACATCGCCGGGCTGG
++SRR1222430.59 59 length=251
+CDDDCFDDCCCCGGGGGGGGGGGGGGGGGGHHHHHHHGGGGGGHHHHHHHHHHHGGGGHHHHHGGGGGGGHHHGGGGGHHHHHHHGGGGGHHHHHHGGGHHHHHHHHHHHHHGGGGGGGGHGHHHHHGGGHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFADFFFDCF?BFFFF.BBFFFFFFFFA@CFFFFCFA9DFDFDAF-BFBD
+@SRR1222430.61 61 length=251
+CGCCAGCCATCCGCCGACGGCGATACCCGTTACCGCCAGCATGGTAACCATTCCGGCGATAAACGGCTTCCAGCGCGGCGCGGCTGCCGGAGTAGACGCCGCCACCGGCGCGGGCCGCTTTGCAGGTGAAGGCGGAGCCAGCGGCTGAGCCTTTGGTCTACGTTTTAGGTCTGGCACTGGCTCAGCCTTCGCCGCATCCTCTTCGCTGACCAGAGTGCCGGGAAGTTCCGCGTCAGACACCGCCACCGGCG
++SRR1222430.61 61 length=251
+BACCCCCCFFFFGGGGGGGGGGGGGGHHGGHGGHGGGGGGHHHHGHHHHHHHHHHGGGGGGGHHGGGGGHHHHGGGGGGGGGGGGGGHGGGGGGFGHGGGGGGGGGGGGAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?FFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFDDF?FFFFFFFFFFFFF@DFFFFFFFA:;.A0BFFFFFFFFFDA;@
+@SRR1222430.64 64 length=251
+TGGTTTTTAAAATAATCGCTGTTCGCGGTATCGGAAACACCGCCAAAAGTGACGCGGGCGATACTGTTGCCACCTTCTTCCGCGGTCGGGCAATCAGCTAAGCTAAAGGAGAAGTTCTTGGCAGCGCCGAAGGTATACGCTTTCAGATCCGCCACTGAGGTGGTGCCCATATCAATAGCCGTTACACCGCCATCAATGGTCGCCGTACAGGTGGTATCGGAAACAATACCATTAAAGGTAATGGTGTTATC
++SRR1222430.64 64 length=251
+BCCBAFBCAFFFGGGGGGGGGGHHGGGGGGGHGGGGGHHHGGGGGGHHHFHHHGGFGGGGGGGGHHHGHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHGHHHHHHHHFHGGGGGGGCDGCFFGGGGGGGGGGGGGGGGCDGGGGGGFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBADFFFFFDFFFFFFFFFFFFFFFFFFFFFFF/FFFFFFFEDFF/
+@SRR1222430.67 67 length=251
+CAATAGGTAAATATATCGATGTGTATCACTATCCTGATGGCAGAAAAGAGCTGCGCCTGAACGGTACGCTACTTCCCTACTCTACCTACGACCGACTGTCAGAAATCGACCAGGGCGCGATTGTCGATAACAAGCGTCTTGGCCGAACCCTGGAGTTTATCAGTCTGGTGCAGAGCAAGCGGGATAACACGCGCTCTCAGTCAATTCCCGCTGGAGATGGCCCTTCCCGACGACGGCCAAAGCAGGAAGGG
++SRR1222430.67 67 length=251
+BCCCCFFDFFFFGGGGGGGGGGHHHHHHHGHHGHHHHHHHHHGGHHHHGHHHHHGGGEHHHHHCEGEEGGGGHHHHHHHHHHHHHHHHHGGGGGGGGGHHHGHHHHHGHGGGHGGGGGGGGHGHHGGGHGHHHHGG?DFGG1FFGGGGCGGFGFHHHGHHHHHHHHHBGGFHHHHHGFGGDGGGGGGGGGDGGFFFFFFFFFFFFFB9FFFCCAFFFFFFBF?EFFFFFFFCFFFFFCCA//BFBFFFEAD
+@SRR1222430.70 70 length=251
+ACTGGAACTGGTCCGACAGCGAAGGCTGGCAGTCGCAGTTCGATCAAAAAGATCTGCAGGAGGGCGAGGAGTCGCTGGACCTGCAGGCCGGCCAGATCGGCAAAGTGAGCTTCCCGGTGGAGTGGGGATCCTATCGCCTGGAGGTGAAAGGACCGGACGACGTGGTCAGCAGCGTGCGCTTCTGGGCGGGCTACAGCTGGCAGGATAACAGCGAAGGCGCCGGCGCGGCGCGTCCTGACCGGGTCACCATG
++SRR1222430.70 70 length=251
+CCCCCFFFFFFFGGGGGGGGGGGGGHHHGGHGHHGGGGGHHGHHHGHGHHGGHHHHHHHHGGGGGGGGGGGHHGGGGGHHHHHHHHHDGGGGCGHHHHHGGGGHHFHHHHFHHGHGG<CDFHGHGHGGEEHFHHHGGGGHH/:A.CGHHGGFGGGGGGGGCFFDF;FFFEFFFFFFFFFFFFFFFFFFFFFFFFEFEFFBDFFFEFFFFFFFF;;DDADFCACA@;-ACFFFFFF.FFFFFFFDCFFFFF;
+@SRR1222430.72 72 length=251
+CGCGCCGAAATTCTGAATGGCGTCGAGGTGCTTCACGATGACCTTTTGCTTCGACAGCTTCACCGCCCCGCGCGCCAGCGTCGAAGTGACGATCATCGGCAGCATCTCCGGCGTCAAGCCGACCGCCACCGACAGCGCGAATAGCGCCGCCTCCCACCAGTCGCCTTTGGTGTAGCCATTGATCAGCAGCACCACCGGGGCCATCACCAGCATAAAGCGGATCAGCAGCATGCTGACCCGGCTGATGCCTT
++SRR1222430.72 72 length=251
+CCCDDDDDDDDFGGGGGGGGGGGGGGGGFHHHHHHHHGHGHHHHHHHHHHHHGHGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGFHHHGGGHGHHHGGGGGHHHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA;@CFFFFFFFFFFFFFFFFFF@DFFFFFFFFFFFFFFFFFFFADFFFFFFFFF
+@SRR1222430.73 73 length=249
+CGAATGACAATCGGCAGGATACGAATATGCTGCAAAATGCCGATCAAAGCCGAAATGAAGACGATAGGGCACAAAACTTTGAGGAAGAAGAAGGCCAGGCCTTTATCGTTCATGCCGCCGAACACGAAGTTTGTCCCTTCGTTGGCAAACCCGAGGAGTTTTTCAAACATCTCGGAAAATCCTTTCACAAAACCCAGACCAATATCGGAGTTGAGGAAGAACCAGGCCAGCAGGACTTCAATGACAAGC
++SRR1222430.73 73 length=249
+ACCCCFFFFFFFGGGGGGGGGGGGHHGHHHHGHHHGHHHHHGGGGGHHHHHGGGGHHHGHHHGGGGGGHHGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGHGGGGFHHGHHHHHHHHHHHHHGHHHGGGGGGGGHHHHGHHGHGHHHFHHGGGGFGFGGGGGGGGFFFGDGGGEFGFFFFFFFDFCFFFFFFFFFFFFFFFFFFFFFFF??EFFFFFFFFFFFFF
+@SRR1222430.75 75 length=251
+CATGCCGGCACCCGCGCGTTTCAGTGGACCCCGCCTCTGGAAGAGGTGGGGCTTTACCGCTGCGAACAATATAAACCGGTGCCGCTGGGCGGCGGAAATCAGTGAAGCAGTGACCATTGTCAAAGCCGCGCCGGAGTTTCAGCCGAATACCCGCTTTAGCGAAATTTCCCTGCACGAGCCGGATAAAGCCGCGGTGTGGGCCTTTGCCCTGCAGGGAACACCGGTCGATACTCCCCGCACTGCCGATGTGG
++SRR1222430.75 75 length=251
+DDDDDFDDDDDDGGGGGGGGGGGHHHHHHHGGGGGGGHHHHHHGHHGHGGGGGHHHHGGGGGGGGGGGHHHHHHHHHGGGGGHGGGGGGGGGGGGFGGHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFBDFFDFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFAFF
+@SRR1222430.77 77 length=251
+ACGATGTCAGCGACGGTATTCTTGCTGATACCGAGCTCGCGTGCGATCCAGCGATAGCTGCGTCCCTCGGCCCTCATCGCAACCACCTTAGGCAAAAGTCGGTCTGATTTTGGTCGCACTCCGGCCTGACGACCAAGCCTCTTACCACGTGCCTTCGCAACAGCAAGGCCTGACTTGACCCGCTCGCTGATGAGATCCCGCTCAAACTCCGCAATGCCGGAAAGAAACGTCGCCAGCATTCGTCCATACGG
++SRR1222430.77 77 length=251
+AAAABBFFFFFBGGGGGGGGGGHGHHGHCHHHGGGGGHGGGFFGGGHGGHHHCFFEEHHHHGGGGGHHGGGGGHHGHHHGGGGFGGEHHHFGGFFGHHFHFGFDGGHHHEGHCHHGGGGGHHDDGGGFHHDGGGGHCFGHFHHHHHHE:CGGGGGGEGG?GGGGEGGGGGGGGGGF/FFFFFFAFFFFF.FFFFFFFFFFFFFFFFFFFFDDAFFFFBADFFFFFFFFFFFFAFBFFFF;BFBADFFFFFA
+@SRR1222430.80 80 length=251
+ATATGGTTATTAACGGTTATGAAGTCGGCGGCGGTTCGGTGCGAATCCACCGCGGCGAGATGCAGCAGACCGTATTTGGTATTCTGGGCATTAACGAACAGGAACAGCGTGAGAAATTCGGCTTCCTGCTGGATGCGCTGAAGTACGGTACGCCGCCGCATGCAGGTCTGGCCTTCGGTCTTGACCGTCTGACCATGCTGCTGACCGGTACCGATAACATCCGCGACGTTATCGCTTTCCCGAAAACCACC
++SRR1222430.80 80 length=251
+BCBBCFFFFFFFGGGGEGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGCGGGHHHHHHFFHHGDHHHHFHHFHFHHFHHHHHHHGHGFEGCHEHHHHGHGDFGGFHHFHGGHGGGGGGGGGGGGGBF?FGGGGG0C;AFGFFFFFFFFFFFFFFFBF.FFFFFFFFFFFEFFFFFFF;ADF.BFFFF/BFFFFF/F/>C;BDFFFFFFFFFF/AEDACC;AFEFFFFEEFFFFFFFFFBE.E
+@SRR1222430.81 81 length=251
+GTTAAAGCGAATCGTTGGCAATTCACTGACGATTCATAAACGAATCGCTAATGAATCGCTTACGATTCACTGTATTAAAATTAGGAGTTTAAGGTGAATTGACTCGCGATTCAATTCGTGATGTGATTCGTCAGGTGAATTGCAAAAAAGCGTCATGAATCTAGATTCGATTCACGATTCGATTCATGGACGATTCATGTGGAAATGGCAGAAATTTATAAGGTATGAAATCTGGTTTTTTATAAGGAGTG
++SRR1222430.81 81 length=251
+BBCCCFFFDDDDGGGGGGGGGGHHHHHHHHGGGHHHHHGHHGGGHGHGHGGHHHHHHHGHHGHGGHHHHHHHHGHHHHHHHHHGGHHGHHHHHHHHHHHHHHHHHGGGGGHHGHHHHAGFFHHHHHHHHGHGHGHHHHHHHHHGHHHHGGHGFGGHHHHHHGHGHHGHGHHHGGHHFHHHGHHHHGHHHHHGGGHHGGHHHEHFFHHFHHGAFGGGGGGGGGGGGFFGGGGGFFGGGGGGAAFGFFBFEF.
+@SRR1222430.83 83 length=251
+TGCTGAAGTGATGAGGTGGTAATGAAGAGCGTATCCAGGGGTTCGGCCAGCAGCGCCGACAGCGAACTACAGCGCTGGATCCCCGGCAGCGCTCTGCTGCAGTCCAGGTCATAGCCCTGGCAGCGGTCGATGACGTCCCCCAGGCGACGCAGCGCCGGTAAATAGGCGGTTTCCACCACCGCGCCGAGGCCGATAAAACCAATCTGCATAGTAAGTCCACCTTTGAGCCGCTCTGTTCCCGGCGAAGTATC
++SRR1222430.83 83 length=251
+CCCCCFFFFFFFGGGGGGGEGGHHHHHHHHGGGGHHHHHGGGGHGGGGGHGHHHGGGGGGGGHGGGGGHHHHHGGGGGHHHHHGGGGGGGGGGGHHHHHHHFGHHHHHGGHHHHHHHHHHHHGGGGGGGGGHHHGGGGGHGGGGHGGGGGGGGGGGGFFFFFFFFFFFFDFFFFFFFFFFFFCFFCC>ADFAD;BEFFBDAEFB0BFFBFFFEF00:FFFFFFF0B:BF;FBFE00;;BFF-C=A=>9009
+@SRR1222430.85 85 length=251
+GCGGCTTTACGCTTACCGCTTAATCCCACCTGCCAGAGAATTTCCACCCGCAGATAGTTTCCGAGCCCGGCAAGAAAAGCCTGATCCAGCAGCAGGCCGGAAAACTGACGATTGCGGAATTTGGCCGACAGCAGCCGCGCTTTCACCTGCTCCGCGGTTAACGTCATGTCCAGCACGTCCGGTCCGACGCGCAGCAAGAACGGATGGTTGGCAACCTGCTCCGCCGTGAGGATATCAATGTCCGACGCGCT
++SRR1222430.85 85 length=251
+BCCCCCCFFFCCGGGGGGGGGGHHHHHHHGHHHHHHGHHHHHHHHHHHGGGGGGHHHHHHHHGGGFGGGGGGGGHHHHHHGHHHHHHHHHHHHHHHGGGGGGGHHHHHHGGGHGGGGGGGHHHHHHGGGGGHHHHHGGGGGGGGHHHHHHHHHGGGGFGGGGGGGGGGGGFGGGGFFFFFFFFFFFDF-@>CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF=DAAFFFFFFFFFFFFBDDBAFFF-
+@SRR1222430.86 86 length=250
+ATAGTGAATTCAGCACTAAGCGCCGTCAGACCCGAAAAGAGATTTTCCTCTCCCGCATGGAGCAGATTCTGCCATGGCAAAACATGGTGGAAGTCATCGAGCCGTTTTATCCCAAGGCGGGCAATGGCCGACGGCCCTATCCGCTGGAGACCATGCTGCGTATTCACTGCATGCAGCATTGGTACAACCTGAGCGACGGTGCCATGGAAGATGCCCTGTACGAAATCGCCTCCATGCGCCTGTTTGCCCG
++SRR1222430.86 86 length=250
+BBBBBFFFFFFFGGGGGGFGGGGGGGEDFHHFEFEFCAFEGFGHHFGHHHHHHHGGGGGGGFHHHHHHHHHHHHHGHGGFHHHHHHHHHGHHHHHHHHHFGGCEEEHGGHFFFHGHGECCCGGGHHFHHGGGGGGGGHHHHHGGGGGGEGGGGGFGFGGGGFGGGGGGGEGGGGFGGFFFFFFEFFFFFFF/BFFFA;DDFAFBFFBBB;9/BFBFF?B/FEFEDF/DFDA?.BBFBDFFFF;;/;BFED
+@SRR1222430.91 91 length=251
+TGAGCTTCGTCAGCCAGTTGGCGATCCTATTCATCCTGTTACTGATTTTCTTTTGTCAGAAATTAGTCAGGATCCTCGGCGCCGCGGTGGATGGCGATATCCCAACCAATCTGGTGCTCTCGCTGTTGGGGCTCGGCATCCCGGAGATGGCGCAGCTTATCCTGCCGTTAAGTCTGTTCCTTGGCCTGCTGATGACCCTCGGCAAGCTGTACACCGAAAGTGAAATTACGGTGATGCACGCCTGCGGCCTG
++SRR1222430.91 91 length=251
+DDDCCFFFCFCDGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGHHGHGGGGGHHHHHGGGHHHHHHHHHHGHHGGGGGHHHGGGGHGGGGGHHHGGGGGHHHHGGGGGHHHHHHHGGGGGGGEGGGGHHHGGHGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFDA
+@SRR1222430.92 92 length=250
+GGGCCGCCGACCTGGCGGCTTGTCACTAAAATGCCTAAACGCCCCTCTGATGGGAGAGTGTCAATATAGCCCCGGTGATGCTGGACCGTTGGTAAAAGTGGTATTGCGGCGCCGCTTAATGCTGTCCAGAAGTTACAAGCCTTAATGGCAATTTTTTATCCCTCCTGCAGTACACATCACAAATATTAACTATGGCAACAGCCGTCATTTAAGTTAACAACAACCGATATGTATTACTCCATAATGATAT
++SRR1222430.92 92 length=250
+AABBCCCCCDDDGGGGGGGGGGHHHHHHHHHHHHHHHGHHGGGGGHGHHHHHHHHGGGHHHHHHHHHHGHHHGGGEEGHHHHHHHHHGGGGHFHHHHHGHHHHHHHHGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFHFFFFFFFFEEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF
+@SRR1222430.95 95 length=250
+CATGATACGTCGCGGGTGACGGTGCTGCCCACGTCGCATTTCAGCTGGGAAAGCCAGCAGCTGAACATCAGCGACGACCTGAGCCACTTCCCGCGGCCCTTCTTTGACAGCATGCAGATGACCCCGGCGGACATTGCGGTCGCCTATGGGGCCAAGCCGTCGGCGGACGTCTTCAGCGCCGCGGCGCTGATCTCCTCCTGACTGGGTATCCAGGCGGACTATCGCGGCATCGCCTTCAGCGCTCTGCGCG
++SRR1222430.95 95 length=250
+CCCCCFFFCFFCGGGGEGGGGGGHGHHHHHHGGHHGGGGGHHHHHHHHGHHHHGHHHGHHHHHGHHHHHHHHGGGGGGGGHHHHHHHHHHHHGGGGGGGHHHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.ABFFFFFFFFFFFFFFFFFFFAFFFFFFFDDFFFFDFEFFFEFFF
+@SRR1222430.10 10 length=251
+CAACCAGGATTCCCCGCCGATGAAGTCGCCCAGGGCAACCTGCGCCAGCATCCGGAGCTGGAAGCCGGGCCGCAGGAGTTTTTAGCCGCTGGCGCCAGTTTTAACCAGATGGTGACGGCCCTGGAGCGGATGATGACCAGCCAGCAGCGGCTGCTGTCCGATATCTCGCACGAGCTGCGCACGCCGCTTACGCGCCTGCAATTGGGTACCGCCCTGCTGCGTCGCCGCAGCGGAGAGAGCAAGGAGCTGGG
++SRR1222430.10 10 length=251
+CCCCCCCCCFFFGGGGGGGGFGHHHHHGGGGGHGGGGGHHHHFGGGGGGGGHFFGFGGHHFCGHHFGGGGGGGGCCFGHEHHFHHHGGGGGGGGGGGF?FFFHFHHGHHHHHFGHHGGGGGHFGCGHCG?CFFHHFHFGAEGGGGGGGGGGGGGFFFGGDDDFFFFFFFFFADFFDBBDD=B=AAFF@D./EFCFFBEFFFFFFFFABFFF-CD;FEF/;@AFFFF=;BDFFFF=;.EFFFFF..AE.BB.
+@SRR1222430.13 13 length=242
+CGGGGCGGATTCGCCATAGCCGGTCATGCCGACGATCTTGCCTTTTAAGCCGACATATTTATACCAGTAGTCCGCTATCCCGGCTTCGACCGCCACCCGGGCGCTGACGTCCGACGGCAGCACCGATTCGCGCCAGGCCTCATCCTGGGCGTCAAACACATCAGTGGAAGGGAGCGAGACGACCCGCACATTTACCCCTTTGGCCAACAGTTTTTCCGCGGCCAGGACGGTGATCTCCACTT
++SRR1222430.13 13 length=242
+CCCBBBCCCCCFGGGGGGGGGGGGGGHHHHGGGGGGHHGHHHHHHHHHHHHGGGGGHHHHHHHHHHHHHGHHHGGGGGHHHGGGGGHGHGGGGGGGHGGGGFGGGGGHGGGGGDDGGGGGGGGGGGGGGFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACFFFFFFFFADFFFFFFFFFFFFFEFFFEFFFFFFFFFF?FFBFFFFFEFFFDFEFFFFEFFFF
+@SRR1222430.22 22 length=251
+CTGGCTGGGATTAAGCCTCTCCTGGGCGATTAGTCTTCCCGCCGGGCCCGCTATTGTGCTGACCGCCAGCGCACTGTTTTTTGTTTCGCTATTTTTTGGCACGCGCAGCCGGCTGCTGGTCGGTTGGCGCACATTGATGGGGTAAGGAAATGATGAAACGTAGTGCAATAGTGGTCGCGCTGGCCCTCGGCCTGATGGCGCAGGGGGCCATGGCGAAAACGCTGAATGTGGTAAGCAGTTTTTCGGTGTTG
++SRR1222430.22 22 length=251
+BBABBFBABFFFGGFGGGGGGGHHGFGG?EHGGHHHFGFHAFAFACGGGGGGGGFHHFHFFHHHGGGFEFGGGGGHHFHHGGCHGHHGGGDFFGGHGGGHHHGGGGGGGHGGGGGGHGGFDFGFFGGFCDADBFFGEFFBFFEDFFGGGGGGFFFGGFFEFAFA/FFFFFF/BF9:B;BDFFFF?EEFFBEDD?FFBFB-9-@-DAFB@9BFFFACF;BB@-ADB9BBFFFB/9BFFFF/;/./9=9.9.9
+@SRR1222430.25 25 length=251
+CTGCATCTGCGCTATCCCTTTCGCCACGGTGTGAATGGTCGGATCCGGTGTAATATCGCTGAACACGCTGACGCGGTTGCTGGCGGGCAGCGCGGCGCGCAGTCGGTCAAGCAGCGGCGAGCGCGCCAGGAAGCCGTCGCAGACGATCCAGATGTGCTGATGGCTAAAGCGCTGCAGCGCGGCCAGGCTGCCCGGGCCGCTGTAGAGGCGCGTTTGCAGAGAAAAGGGATGCATGGCGCCCCCGGCTAGCG
++SRR1222430.25 25 length=251
+BCBCCFFFFFCCGGGGGGGGGGGGGGGGGFHGGHHHHHHHGGGGGHHGGGGHHHHHHGGHGGHHHHGGGGGHGGGGGGGHHGHGGGGGGGDGGGGGGGCC?DDGDGCFGGFGGFGAGGGAFBBBA;DAA?EFF.FDDDFFFFAF=-;EF/BF/BBBBBBFFFFFFBFFF/.:.DDEFEDCFFAF-AA?FAEFA.@D=@ADAFDF/9BFDFAC->A.//:/;/:FFFF.:9AF/:FFFFDCFFFAF--;./:
+@SRR1222430.27 27 length=251
+CCTTCTCATCACGCGTAATGACTCCGCCCAATGCGCAGTAGGGAATATTGATAAAGGTGTAACACAGCATGAGTAAGGTGTAGGTCAGGTAGGCATAAACCAGTTTACCCGATGCGCCAAATTCCAGAGTCGTGAAGGTCATTACCGCCAGCACGGCATAAGGTACGGCAAACCAGATAAGCCACGGGCGAAAATGGCCCCAGCGGGTCTTTACACGGTCTGCAACAATGCCGGTTAGCGGATCGGTAATC
++SRR1222430.27 27 length=251
+CCCCBFFFFFFFGGGGGGGGGGHHHGGGGGHHHHGGGGGHHHGGGHH5GHHHHHHHGGHHHHHHHHHHHHHHHHHHHHFHHHHHHHHHHHHGGHHHHHHHHHHHHHGHHHGGGGGGGGGGHHHHHHHHHHHGGGHGHHGFHHHHHGGGGGGGHHGGGGGHHHHDHHGGGGGHHGHHHHHHHHHHGGACGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;BDF.AEF:
+@SRR1222430.42 42 length=251
+AACCTGCTCAACGCCGGCGATGAGCTGCGCCATTTCTCCGGGATCCTGTCCGGCTCCCTGTCATTTATCTTCGGCAAGCTGGACGAGGGGGTGAGTTTCTCCGCGGCGACGGCGATGGCCCGTGAGATGGGGTATACCGAGCCGGATCCGCGCGACGATTTATCCGGGGTGGATGTGGCGCGTAAACTGCTGATTCTGGCCCGTGAGACCGGGCGTGAACTGGAGCTGGCGGACATTATCGTCGAGTCGGC
++SRR1222430.42 42 length=251
+BCCCCFFFFFFFGGGGGGGGGGHHHHHHGGGGGHHHHHHGGGGGGHHHHHHGGGGGGGHHHHHHHHHHHHHHHGGGGGHHHHHHGGGGGGGDGHHGHHHHHHGGGGGGGGGGGGGGGGGGGGDGGGFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF>DFFFFFFFFFFFCAFFFFFFFFFFFFEF//9A--;:AFFFFFFFFFFFFFFFEB?FFFFFFFFFFF/F;B./9=>@BF;>-
+@SRR1222430.43 43 length=251
+GGAACGATGTTGATCTCGGACTTCAGTTCGCGACGTCCGCGTCCACGTGCTCTGGCCATGGCTTACCCCTTATTGCTTTCGCTGGTGGTAAAGGCCTGACGGTGCAGAATAGCGGTGAACTCTTCCATAAAGTTGTCGTAATTCAGTTCAAGCTTGTTCACGCGCTGGTTCAGGCGGTTATACGCCATGACCGCCGGGATCGCGGCGAACAGACCAATCGCGGTGGCGATCAGCGCTTCGGCGATACCTGG
++SRR1222430.43 43 length=251
+CCCCCCCCCFFFGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGHGHHHGHHHHHHHHHFHGHHGHHHGHHHHHHHHHHGGGGGGHGEGHHGHHHHGHHGGGHFHHHHHHHHGGDFGHHHHHHHHHHHGHHHHHHHGGGHGHHHHHGHHHHHHHHHHHHHHGGGGCGFHHHHHHGG:BDFFFG??.C0F0FAFFDFA-AAAD=-@>-@DCFFFFFFFBEF-@9-AFF=DF.:B9-:DA-D;--;AAF00A
+@SRR1222430.51 51 length=242
+ATCAATAAAGGAGATAACGTCGCCGCAGGACAGGAGTTAGTGAAGATTGAGTCCTTCGATGCGCAAAATATTTTCCTGCGCGCTGAGGAAAAGCTATCAGCAGAGAGCGCTCTATTACGAAATCTGGAATCTGGCGAACGGCCTGAAGAGCTGGATATTATACGTTCGCAGATTAAAAAAGCACAATCGGCAGAATCTCAGGTAAAGCGGCAGCTTGGGCGATATCGTAATCTTTACGCCAA
++SRR1222430.51 51 length=242
+ABCBCFFFFFFFGGGGGGGGGGGGGGGGGGHHGGHGHHHHHGHHGGHHHHHHHHHHHHHHHGGGGGGHHHHHHHHHHGHGGGGGGGHGHHHHHHHHHHHHHHHHHHGHGGGGHHHHHHGFEGHHHHHHHHHGHGHGGGGGGGGGGHHHHHGHHHHHHGGHHHHGHGHGGGGGHGHGGGGGGGGGGGGGGFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFHHFF;FF
+@SRR1222430.54 54 length=251
+CGATCGGCTTCCCGCAGCAGACGATGCGGATCGCTACACCACGGCAGGGTGTGCGCCAGCAGGCAGGCGTCAACGGACTTTTCGGCAAAGGGTAAATGCAGCGGGTCAGCCCGGACCTGCATTGGATTTCCCGCCAGCGAGACATTCACCTGGTGCGAGATGGCGCAAGCTTCGGTATTGATTTCCGCGCTCAGATTGCCAATCTTAAGCAGATGAAAGCCATATAATTTAGCCAGCCACGGTTTCATCTG
++SRR1222430.54 54 length=251
+>AA?ADBDADFFGGGGGGGGGGEEFFGFGGCCGGHGGHHHCHFFGCGEG?FEEGGGGG@FHHHGHFGGEGGGDFEGGGFFGFGGCGC/<FGF?2FFBFHFD1DG?@<GFFHAFFGGFHHHHHFHHHHHHFHHGGGGFG--A?A/CFGGGGBFFBFBBDDD?/BBFD>-@9FFFFF.:AFFB/9F/9AD;-@DFFFFFFFFFFBBFFFFFFFFBBFFFFFFFFFFFFFFFFFEFEBFEEFFFF.EFFFEF/9
+@SRR1222430.58 58 length=251
+AGATGGCCACTGACATGAACAGCATGAACCTCAGTTCCTGCCAGGCTGCTCAGGGAATTGTGGGTGGCCTGTTTCCTCGTACCCAGGTCGCTCAACAAAAGGTCTGCCAGGACATTGCCGGTGAAAGCAATATCTTTTCGGACTGGGCCGCCTCGCGCCAGGGTTGTACGGTGGGCGGCAAGATGGACAGCGTCCAGGATAAGGCCAGCGATACAGACAAAGAACGTGTGATGAAAAACATCAACATCATG
++SRR1222430.58 58 length=251
+AA?3>BFFFBFFGGGGGGFGGGHHGAB5GHFCFGGHHHGH3GHFE2EGEFB5FGFCGHHHFHFF?EGFHHGHBGGHHHGHGH1FHHFGHGGGHDFGH?F1FE@GFGDFHHAEGFHHGHHGGEEEGHHHGHFHH2FGFD2B/</CGEGF?<@-..>-ACG.<CD<GCDHCGDHAA-EGG@@BAFFFB/F9EFBFD-9BBEBBFF//;?9.--A.-9;/9B9BFBFB9AFFE///;FFF...9/;/9///9B;
+@SRR1222430.71 71 length=249
+TTTGAGTTAAGGGTTGGAGACAAAAACATAGCAAGAACGTTATACGCTTACGCAGTCGGCCACGAAATCTACCTACTGCATGCGTTTGTTAAGAAGACACAAAAAACCCCGGCAGGGGCCATAGAGATAGCGAGAAAGCGCCTGAAGGAGATGAGCTAATGAAAGTAAAAGGCATCCCATTTAACCAGGTCAAAGAAAGTCTGCTCAACACCCCGGAGGCAATCCGGGGTTACCAGGAAGCAGATAAAG
++SRR1222430.71 71 length=249
+AABB@BFFFFFFGFGGGGGGGGHHHGGHHHHHHHHHCHGHHFHHHHGGGGHGGGGGHGGGGGGGGGGHHGHHHGHHFHGHHGGGGGGGHHHFGHGGHHHHGGHHHGGGGGGGGGGGGGGFGHHHGHGHHHGGGGGGGHCECCFFHHHFHHHHHHHHHC0GHHHFHFFHHH0EGGBB/9FGGGFGFGGGGGGGGCFFFBBFFGGGGGFGFFFFFFDF>AFFFFFEBDCDCBFFFFFFFFFFFFFFFFF/B
+@SRR1222430.87 87 length=251
+GAAATCTTTTCCCAGGCTTCGTTGATCTCATCGCCGCGGATCAGCTCGATATCGGCGACGATGCCGTGTTCGGCGCAGAAGTCGAGCATCTCCTGAGTTTCCGGTATACCGCCGATCATCGAGCCGGCAATTGACCGGCGGCGGAAGATCAGATTGAACACTTCCGGCGACGGATGCGGCGTGGCCGGGGCGCCAACCAGCGTCCTGGGGCCATCACGTTTCAGCAGCGTGGTGAAGGCCTCGAGATGATG
++SRR1222430.87 87 length=251
+BBCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHHGGGGGGGGFHHHHHGGHHGHGGGGGGGGGGGHGEGHHHGGGGGGGGHHHFGGGGGHHHHHHHHHGHHHHGCCFGFFGFGGGGGGGHHHHGGGGFGGCGGFFGGGGGGDFFF;FDABFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFBFAFF>;-C>=@-?B?A?.AC9:-.0/.;9-:FFFED.;BFFFFFAF-9;:A.0B09..999.:9.0000
+@SRR1222430.90 90 length=251
+ATTTGCGTCCGCCACCAGGTGATCGCATCCCTGTACTCATTCAAAAGCACCCCAAAACAGCCAAAAAAAAGTTTTTATTTCTCACGCGCAAAAATCTACCTGAAGCGGCAGTCCCGAAGCGCGAAAGGGGTTAGGGATTTGATCCCCCCTACCCCCTCAAATGATATCTATTATCATCATCGCGCAATGCGATTATTTGACATTGAATAATTTCACATTGAAATCAATTCCGCCTGCTGCCATCGTGCTAT
++SRR1222430.90 90 length=251
+AAABBFBADBBBGGGGAGGB4FGHGGGGGFHHHFGFHGHHFDGFFEGHGHHGGGGFGHHHHHHFHHHGGCGDGFGGHGHHHHHHHHGGGGGEHGHHHHHHHGFGHBD@/@GHEHH/AC@/@DDCGG?GG?A?;;CGHGHGHHGFGHGGBBG?FF.BGFGBBFFFB09B9BFFFFFFFFFFFBDB-BBDFFDAEFDFFFFFFFFFFFFFFFFFFFFFFFFBF//9BFFFFFF/ADFFFFBF?B/BAAA?EBB
+@SRR1222430.96 96 length=251
+TCTCAATTTCACACATCTATCCTTATCTACCCAAACGCCATCATGCTACAGAACGACGGCCGCGGTACGTCTCCCGCCTGCCGACAACCTGAAGGATGACGGGTGCGGACTGAAGTTAGCCACCTGGAGATGACAATCGCCATTCCAGGCGGCATCATAACCCTTTCATTCATAGCAAGGAATTATCATGTCTCAGTTTTATCTGGTCGCGCCATCCGGGTATTGCATCAACCAGCAGGCGGCAGCCCGCG
++SRR1222430.96 96 length=251
+AA@ABFFFFFBFFGGGGGGGGGHHHHHHHHHHHHHHGGGGGHHHFGHHHFFHHHGGGCEGGEGEFFFEGHGHHEHGGGGGHGGGGGGHGHHHHHHHHHHHGGGCFCFGGGGHGHFFGGHHHHHHHHHHHHHHHHHBGHGFGGGHHHGGHGGGGGGGGGEFFGGGGGGGGFFGFGGGFFFEFFFFFFFEFFFBFFFFFFFFFFFFE/FFFF;FADFFAFFF?DFFFEFFFFFFFFFFFFEDFFFFFFFFFFB
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+?BBABBFBBFFFGGGGGGGGGGHHHHHHHHHHFHHHGGGGGHHHHHHHGHHHHHGHGHHHHHHHGHFEGGHGHHHHHHGGHHHHHGGGEGGGHGHHHGHHGGCGGGDHHHHHHHHGHHGHGHHHHHHFHGGGHFGGGGGHHHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.8 8 length=251
+TATTGGTGCTGGGAGCGGGACAACTGGGCGCCGCCGTTCTCGATGCGCTGGTGCCTGCGGTAATCGAGCGCCAGGGCACGGTCTCGGTCATCGTCTCGCCGGCGGCCTGGGATGAAGCCGGCCAGCTGCGGTCGGCAAACCATCAGGCGCTGGCCGACGCCGGAGCCACCTTCCTCGCCGTCGACATCGCCGGTAGCGCCATGGAGACGCTGGCCGATCAGTTTCGTGGATTCACCACCGTGATTAACTGC
++SRR1222430.8 8 length=251
+AA?AAFFBFFFFGGCEGGGCEFGFHCEDGEGGGGGGEAFFFFB35>0EEGGGHGFFFCEGEEFFHGHG?EGCFG/E</EGGFDADB/CCDHDFGHHGGGCDGGC-:DDGEC./CGB:0C9-B@BEEBBBBGAB;;??=FFFFFFFFFFBB?BBFF<BB??BB?BBBEFFFFBBFFFFBBBBB??-ADB?DFBB9>DF-9@.A/BFFEADBDA?DFBB?@AFBB/FDAEAA/FFFFFFFAFAEEFFFF9BF/
+@SRR1222430.12 12 length=251
+GATGGCCAGGCCATTGGATTTGGTTGCGGAGGTCAGCGTTTTGCGTGGGCGGCTTTGCGCCAGCTCAAAGGCGTAGCGCAGGATCCGGTCAACGCCGCGGCGGGTGAAGACCGACTCCTGAATTACCACTTCATGCTCGGTGCCTTCATTGGCGCGGCCGCCGAGGGCGGAATATTCGCCTTCGGTATTTTCGCGCACCACGTAAAAATCGATATCGCCGGCCTTTTTACCCGCCAGCGGGCCGGGGGGCC
++SRR1222430.12 12 length=251
+BABBCFFFCCCCGGGGGGGGGGHHHGHGGGGGEGHHHGGGGGHHGGGGGGGGGGGHHFEGGGGGHHHHHHHGFGGGGGGGGGGHHHHGCGGHFGGGGGGGGGGG-=.:0;/F--?-9F000B9BBFFBFBF909:B0BDA9DBF0BFFEFFFE-99>;>;9>-;@@D.-@-9.99F0/.A.A099..EBFF0-9@:-;@?E?.9AEFF.9AA..-9..:9=-@.FFFF.0:F9AB-9A->A@-9@CD----
+@SRR1222430.14 14 length=251
+GCTACCTAGCAGAGCGGCAGAGATGAACACGACCATCAGCGGCTGCACAGCGCCTACCGTCGCCGCGACCCCGCCCGGCAGGCGGTAGACCGAAATAAACAACAAGCTCCAGAATAGCGAAATATTAAGTGCGCCGAGGATGAAGATGCGCATCCACCAGATTCCCGTTGGAATCTGTCGGACGATCATCACGAGCAATAAACCCGCCGGCAACGCCCGCAGCATCGCGACCGTCATCGGTGAGAAGTTCG
++SRR1222430.14 14 length=251
+CCCCCFFFFFFFGGGGGGGGGGHHHHHHGHGGGGGHHHHHGGGGGGHHHHHGGGGGHHGGGGGGGGGGEGGGGGGGGGGGGGGGGGGGHGFGGGGHHHHHHHGHHHHHHHHHHHHHHHGGGGGGGGGGGFBGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+@SRR1222430.19 19 length=251
+CTTTGCAACGGAATCCAGCAAAAATTCTGCCGGTCGAGACGCTGGCAAATCGGTTCCGGCAGGATCGCTACGCCAATGCCCGCCTGCACCATGGCGGCGAGAAAATCCCACTGGCCGCTGCGCACCGCGATACGTGGCTTCACGTCATGCTCGGCAAACAGCCGCATCAGCTGCTGGCTAAGGGCAAATTCCTCGTTGTAGATAACCAGCGGATGCGACGCCAGCTCGGCCGGCGAGAGCGCGGTTTTACC
++SRR1222430.19 19 length=251
+BBBBBFFFF?DACGGFGGGGGGGCHFHHHCFEGGGGE?DGDEGFCGHGGGF11EGGHGG?E@/F3FEEHGGGGGGCHHECCGFGGHHHHBGFFHHGGGGGGGGHHHHFHEGFHHHGGGGGDFGGGCG?CGGGFEGGGCG?BCFEFEEFB0FFFAFACFFFFFFFFA9BFEFFFFEFFBFF///?EEF.BFFFFFFFFF.9FEFFFBFF.A---BBF;.>BFFDFFFE.-AA;-9@-@BFFF-@D?BDEFB9
+@SRR1222430.35 35 length=244
+TGGCGTTTGTCACCCTGCATGTGGGCGCGGGCACCTTCCAGCCGGTGCGCGTCGACAGCATTGAAGAGCACACCATGCACTCCGAATATGCCGAAGTGCCGCAGGAGGTGGTCGATGCGGTGCTGGCGGCGAAAGCGCGCGGCAACCGCGTGATCGCGGTGGGCACCACCTCGGTACGTTCGCTGGAGAGCGCGGCGCAGGCGGCGAAAGACGCGCTGATCGCGCCGTTCTTCGACGATACGCA
++SRR1222430.35 35 length=244
+BBAABABBBFFFGGGGGGGGGGHGGGGGGGGCGGGHHHHHHHGGGEEGGGGEEFGGGGGHHHHFFHHHGHHHHGHHHHHHGHGGGGGGGHHHGGGGGHHHGGGGGGGGCHFGHFGFHGGGECFHHHGGGGGGGGGGGGFFFFFFFFEDFFDFFFFEFFFAFFFFFFFFEFFFFFDAFFFFFFFFFA.A/.ACFFBFFFAA;AA;@B->-:9FDFFFFFFFFEDACFF-9../BE9EFB.;-A.A
+@SRR1222430.60 60 length=251
+GCCGGCAATATGATTGCCTGGTATGCCTTCGGCGTGGTGATCGGCGCGCCGATCATGGCGCTGCTCTCCAGCCGGTTTTCCCAGAACCACAGGTTGACGTCAGCCACGTCGCCCACGTAGACGAAGTCGCGCTTGAAGCCGTCGCTGCCTTCGAACAGTTTCGGGCTTTCGCCATTATTCAGCTGGGTATTGAGGTGGAAAGCGACGCTCGCCATGCTGCCTTTGTGGCCTTCGCTCGGCCCGTAGACGTT
++SRR1222430.60 60 length=251
+AABA?@DBFFFFGGFGGGGGGGHHHHCFHHC?EFEF?BEFGHGCGEA?FFGC?EGFFHHGGCEFGDGGGFFEFEE<EEEHHFHHEHHHEGHEEHGBFGFFGADHEFGFHHGGDGGGGGFFFGDCCGAFD?--;ECCFHEGGDGCAGD?.BFGEEGGCG;F;9A>D-@?BFFFFFFF/BFFB///BB.9//;://F/:..B/.9A.;@=DD==B9AFFF/BFFFFFFFFFFFF/;..;@9E.@DB99./A9.
+@SRR1222430.69 69 length=251
+GCGCATGGCGTGGATTGCCCGCGGCATTAATCCGCAGTTGCAGCCCATCGATAGCTGGCTGATGAATAAGCATTTTCAGCGTAAGCATGGGCCAAACGCTTACTATGGGCAAAAGTAGATAGCGCGCTCCGGGGCTTTCACCCCTCACGGTGAAGCAACTGGTCTGGCCCCGGAGCCGTTTTTAATCCTGACGATAGGCCGACGGCATCACGCGCATGCCGATGAGCGTGACCACGCAAATTATCGCCCCC
++SRR1222430.69 69 length=251
+3>>AAABFFBBDEFFGGGGG?EGGGGCFFBHGFGGGEEBEG3BGHGGCHF3FG?GH3GGHGHFHGGFHHHHHHHFFHHBHGGGGGHHFGEGFHGFHHGGGFGHHFHHHHHHFCFGFGFGGHHHGGGC/CFFCCCCCGFHFDDGCEGAGHD.:CCFFGFFFGEFFB/BBAE@BGGB@GGAAFFF?//F/9B/BDAE?D/BB=BBB-9=BF/B:FBB?ADFFB?-A/BF=DAAEFFF?D--;/999B..;A=-
+@SRR1222430.88 88 length=251
+GTCCGAGCTTAATGAAAAGTTAGCCACAGCCTGGGAAGGTTTTGCGAAAGGTGACTGGCAGAATGAAGGCAACGTCCGTGACTTTATTCAGAAAAACTACACTCCATATGAAGGCGACGAATCCTTCCTGGCTGGCGCGACTGAAGCGACCACCAAGCTGTGGGACACCGTAATGGAAGGTGTAAAACAGGAAAACCGCACTCACGCGCCTGTTGATTTTGACACTGCCCTGGCTTCCACCATCACCTCTC
++SRR1222430.88 88 length=251
+AAAAA1@DAFFFGGG1GGGGGGHCCEGHFHAE0AA0FE?A1DFGBFEAEEFBBGHH1BFHFGFHHFH11/>>FECCFGGFFGHGBFHHFBGG1BGC/FHFFC1>>1FGFG2D11?//ECGCH?GH21BGHBGFFCGCC?/@CA11<<-A@AA<C<AGAHHCG/::..CCA..C.;FF9FBBFCF099C9F..9/9:C@-@@@BF/A??@@B-B9BB/BFFFFFFFFFFFEFFFEFAFFFFFFB//9FFFFF
+@SRR1222430.16 16 length=233
+CCCCGCTGCTCACTGGCGCTGGTAAGAGCGATACGTAGCGGTGATGTGGCGCAGACCGAATACCAGGCTTCGCAGCCGGCCTGCAACCCGGCAGTGGCCCATGCATCGCCGCTGACGCCAAGCGTAACGCGAGAGGGAAGATGCTGACGCAGGGCCGCTACACGTTCGCTCGCCTGTGGCGCGGGCAGGCCGGGAATTTTAATCGAGGCAATGGCCGGCAAGGCGGCGATGCG
++SRR1222430.16 16 length=233
+CCCCCCCCCFFFGGGGGGGGGGHHHHHHHGGHGGGHHHGGGGGGHGHHHHGGGGGHGGGGGGHHHHGGHHHGGGGGHGGGGGGHHHHHGGGGGGHHHGHHGHHHHHHDGGGGGGGHGGGGGHGGGDGFGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFAFFFEDCBF;FFFFFBFFFFFFCEFB0FFFF;CFFFFEFFF==DFDB
+@SRR1222430.74 74 length=251
+CGTTAACACGATGCTCGACTGGCAGGTAAACGACGCCCTGTCTGCGAATGGGAACTGGACGCTTTATGGCCGGCAGAAGCCGCGTCAGGAGGCGGAGATCCGCAACGAAACCGGGACCCTTGCCACCACCGAGGTTGGCGCCTATTCCATCGTGGGTATTGGTACTCAGGATCAGCTAAACCGGGATATTCGCCTGAATGCCGGAATAAGCAATCTATTTGATAAACAACTGTATCGCGAAAATGCCTGCG
++SRR1222430.74 74 length=251
+AAAAABFFFABBGGGGGFEEGFHFEA2FGHGD?2EEEGGGH3BD500EAC312B?33FFC0E11F3ED31BE/>/>CG33FE/<<>AA2?///<</</0??CFGGG-.<ACCD?C@@AEFFHBGFGCAEF.---;99BF-9A..0//BB/;..;DF.9/B///9:///;///99F/BF/9/9@-=-.;9B/F9AA..////9>D>D?FF///;BFFFBFF//;//9//;ABFBFFBD?@BABDF/BF//A-
+@SRR1222430.84 84 length=251
+CAGTGCGCAATCCAGCCCACGGTACGCGCCATGGCGAAGATAACGGTAAACATGGAGGACGGAATACCCATCGCTTTCAGGATGATACCGGAGTAGAAGTCGACGTTCGGATACAGTTTCTTCTCGATGAAGTACGGGTCGTTCAGCGCGATATGCTCCAGCTCCATGGCCACCTGCAGCAGGTCGTCTTTGGTGCCCAGCTCTTTCAGCACTTCATGGCAGGTTTCACGCATTACGGCTGCGCGCGGAAC
++SRR1222430.84 84 length=251
+1>AAAFDAADAFG1FFAE0AEE00EAEC/AEAFC0E//AAGGHHFE/?>EGHGHFFHG/FEEGGGGB1F1GFC/0/FGH2DF1GB>2B<EGC?EHDG2G1FCE//CA<BCGGCH1G?FGE11FDHGCFF11FG1GCEGG-@-AGGBGCCC-@EG09CFBBFFFFGGGBB.F/EF.FFBC/CA?.C@-E--BFFA-;/;9A-/BBBFFBBFFFFBFFFF/ABB;9/9///EF@A?B/E----9@--;-=;-9
+@SRR1222430.89 89 length=251
+CACATTGCGTAACCCCTCTTTCTGCGCCTGTACCATAAAGGCGAAGAGCATCTGCCGGCACTGTTCCACCGGCTGGCGCAGCAGGGAGAGGCTCGCCTGCTGGCTGTATTTCCCCCGCCGCAGCTTATCCAGCACGCCGCTCTGCAGCCCTTCTCGCTTAAACTCCAGCGGCGTGGCGAGCGGCACGATATCGAGATAGCCGGTGGTGAGAAAAATATCCAGCCGCAGGGTATCGACGCGTTGCGGGGGCC
++SRR1222430.89 89 length=251
+BCCCCFFFCCCCGGGGGGGGGGHHHGGGGHHHHHHHHHHHHHGGGFGGHHHHHHGHFGEGFHGHHHGHHGGGGGGGGGGGGGHHHGGGGGGGHHGCG?/0==B/=CF2GDH2?GHGCCD-C-<@CGFBBHFF/CG-:E?--:.90;00CE/B/;:CAAEDGGFG0F0BFGFFC-9@---;--@-;-.99.-9..:..;0;:.@:=A;E0;0;BB.;F00:00/.---:;@/:09..9-9--9;.-:9@--:
+@SRR1222430.15 15 length=251
+TGGATGCCTATCTTAATTTCGCTCGTCGCGCCTGCTGGCAGGAGGCGGCCTGCAGCTCCCTGACCGAGCTGGTCGCCCCGCAGATCCATCAGTCGCGCCTCGACAGCTGGCCGCAGCACTATCCATGGATCAAAGAGGAAGGCTATTTTTACTTCCGCAGTCGTCTGAGCCAGGCTAACCGCGACGTTGAGCATGGTCTGGCGCTGGCGAAGGCCTACTGCGACAGCGCTGAAAAACCGAACCGGATGCTG
++SRR1222430.15 15 length=251
+A1A1>CFFFB1DEAAFGDDGCA1000AEGGCAA/B1F1EHG/AA///A>EE/0BFE0FGGGHFF0>EEE/10BBEGG?E//</<FG1121?1>?//>C@C//A@?-FHB0.<<AC<CHC0G;0/0<C/:00:00;/;CFGCAEF099F00.C00009.--.;C.-;-/;/;BFF-A/9;;@?@@@---9-BF///;/;9/;/99>-9---;;9-;/BF//;A9@@-E---;-;BB-------;---;@BBB
+@SRR1222430.28 28 length=222
+CGGCAATCGATGAGGTGAAGCGCGTATGAAGACCTGGCTTGTTGGACTGAGCATCGATATCGATGGCGTCGAAATGCTGGATAAAATTGTCATCGCTAACCGTGGCGAGATCGCACTGCGCATCCTGCGTGCCTGTAAAGAATTGGGCATCAAGACTGTCGCTGTGCACTCCACTGCGGATCGCGATCTAAAACACGTATTGTTAGCGGATGAGACGGTCTG
++SRR1222430.28 28 length=222
+CCCDDDFFDFCFGGGGGGGGGGGGGGGHHHHHHHGHHHHHGHHHHGGHHHHHHHHGHHHGHGHHHGHGGGGGGGHHHHHHHHHHHHHHHHHHHHHGHGGHHGGHGGGGGGGHHGGGGHHGGGGGHHHHGGGGHHHHHHGHHHHHHHHHHHHHHHHGHHHHGHGGGHHHHHHGHFHGGGGGGGGGGAGGGFFFGFFFF?BBFFFFFFFFFFFFFFFEFFFFFF
+@SRR1222430.50 50 length=226
+AGGGATTTCCGCCGCCCGCGGGCAGCACCTCTGGCATCAGTTTGATCTCGTTCGCAAACGACCTTTTATCCGCTGGGTGCTGGCGATGGGGATCCCGGTGCCGCAGGGGGCGCTGGCGCAGCTCGAAAGCGAGAACTGGCATTTGCTGGCGGCAAAAAGTGAAGCGCAATGGCGCACGCTGCCGGGCGTGGGGGAGATCAGAGCCCGCCAGCTGGTGGCTTTCCTG
++SRR1222430.50 50 length=226
+CCCCCFFFFFCCGGGGGGGGGGGGGGHHHGHHHHHHHHHHHHHHHHHHHHGGHGGGGGHGGGGGHHHHGHHGGGGGGHGGHHHGGGGGGHGGGGHHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFF;FFEBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFAFFFFFFFFFFFFEAAFFFFFFBBFDFFFFFFFF
+@SRR1222430.24 24 length=250
+AAAGTGCGCTTCGGCGGCCGCATTCAGCAGGGAGGAAAGAAAACCCGCTGGATTGAGACGGAGGAGATCATTGCGGAAGCCTACGACCAGATCATCGCCGGCTTTGACACCGACGCCACCAACACGCGGCGTCTGTGGAGCGCGCAGGCCAGCAGCGAAATTAACCTCGGTAAATTCAACCAGGGCGACTACTTCGCCGCGGTAGAGGATAAAAACCAATCCGAAAACGTCTCCCGCGCGCTCTAACCGG
++SRR1222430.24 24 length=250
+>1>A1BF?D11AAEGGGAAAAE/EG22110//ABF/>FFHCF0G//>>/>@FD101B>@///////?0F<>221?<///?0B<C//<>@F<FH1?G1?C@CG--<<0=GH.---:@C..GHEAAEGG-AA999-A9/9F-9-----9----9AB---@--9/BFF//;-A9A-//9B9//--A-?B;-@;-B//;A-;---;9--/;9-B9////-9A-//B;-A-;/-----/9-;@---@AFF//9-9
+@SRR1222430.31 31 length=216
+AGCTGCCGGGGAACCGGCATTGGCAGGCGGCTCCTCAGCGAGGCGATGGCTTTCTGCGATAGTCGCCAGTTTAGCGCGGTGCAGCTGTGGACCTTTAAAGGGCTGGACGCGGCCCGCAAACTGTATGAATCCTTTGGCTTCACGTTAATCCGCGAATGGCAGGGGGAGCAGTGGGGAAAGGTAATGACCGAGCAGCAGTTTACCCGGTCCGGAAAC
++SRR1222430.31 31 length=216
+BBBBBFFDBBBBGGGGGGGGGGHHHGGGGGGGGGHHHGHGFGGGGGEGGHHHHHHHHGGHGGFHGGGGCHHHHHHGGGGGGGHGGHHHHHHGHGHHFHHFHGGHGGHHGGCD?CGGGGGGGGGFGGGGGGGGGGGFGGFGGGGGEFGGFBFDFFFFFFFFFFFF;CDF?EE:FF?=:9E?F;BFBBBFFAFFFFFFFABFFFFFFD;--BCAA=FF
+@SRR1222430.37 37 length=251
+GCTGGCCAGCTGGTTAGCAAACGACGAGGTGCTGGCGGGTTTAGCGGGAAAAATTGCGGAAGAGGCGCCGGGAAAAGCGGGGGTGTTATTACAGGTCTACGGCAGATGCGTGTCGCTGGCCGCGGCTTTTAGCGCCTACAAGTCTGGACTTCCCCGTCGGGGGGCAACCACAATTCACCCCGGCTGTATTCCACTCGGCCCCGGTGACCCTTTTGGTGTCGCCCCCGGACACCGTGCCCGTGCCCCGGTAC
++SRR1222430.37 37 length=251
+A3>333BFA2FF4GBFFDGGCGED?FGEGGHGFFFEEG?AF13@50>///11B13@@1/>//B0?>////<//B/00??@/--:--.;:C000;:0/0009.-9:.00:-.;9/9...-;.--9@--9:////-9-9..////9/;//;9///.9-..--------..99.9.//////;-;--9-.////://9/9.;.-;-99-.//.;////-;?9;...9-9-----9;-.;.;/.-9.;/99=--;
+@SRR1222430.57 57 length=218
+CGCTGACCTCGCGCTTGTCGATCGTGACCGTGAGCACCCCGTTCTTGAACGATGCTTTGATCGAATCCTGGTTGGCGTCGTCAGGCAGGTTCAAGGCACGCTGAAAGCTGCCGTAGGAGCGCTCCACACGGTGGAAGCCACCTTCCTTCTTCTCCTGTTCCTGGCGCTTCTCGCCACGCACCATCAGCACGTCGTTGTCGAGAGTGATCTGGATGTCC
++SRR1222430.57 57 length=218
+ACCCCBFFFFCCGGGGGGGGGGHGHHHGHGGHGGHHHHGGGGGHGHHGHHHGHGGHHHHHHHGGHHGHHHHHHGGHGGGGGGHGHHHGGGHHHHHGHHHGGGGGHHHHGHHHGGGGGHHHGGGGGGHHGGGGHGHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.68 68 length=215
+GATAAGAAGCCGGACATTATCCGCGCCATTGTCAGCCAGCCGGATATTTTGCTGTTCACCACCATGCACGGGATCGCCAAAATCGTCGATCGCTATGGGGACGCGCTGCGCTGCCGTTTGGCGTTGATTGAGGACGGTTGCTATAAGATTTACCAGCCGAAAGTCGCCAGCGAAGCGATAAAGCGCACTTACCAGCAGAATCCGGCGATGTGCTT
++SRR1222430.68 68 length=215
+CCDCDFFFFFFDGGGGGGGGGGGGGGGGGHHHHHHHHHHGGGGGGGHHHHHHHHHHHHHHHHGHHHHHHGGGGGGGGGGGHHHHGHHGGGHGGHGGHHHGGGGGGGGGGGGGGGHGGGHGGHGGGGHGHHHHHHHGGGGGHHHGHHHGGGGGGGGGGGGGGFDFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAFFFFFFFFFF
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
+@SRR1222430.93 93 length=209
+ATGTCATAGTTATCCCATACGGATTCGATAGCGGCCCGTAGCATCAGATGCGGAGGATGAGGTAGTTTTCCTTGGGCATGGTATTGCATCAGATCCGTTTCGATACGGTGCAGCGCCAGGCAGCTGGGGATAATGTCCAGACCTGGCCAGCAGGTCGGTTTTATAGCGTATTCCGCATTATCACGCTCACCAAGGTAAAACGGGAGCAA
++SRR1222430.93 93 length=209
+BBBBBFFFFFFFFFGGGGGGGGGGGHGHCHEHGGGGGGG?EGGHHHHGHHHGGAEEEHHHHGHHHGHHHH3DGHBFFGFHH3BGHHHHHGFHHHGHHGHHHFGHHGGGHGGEHGCGCGGAGHDGFHFFGGGHHHFHHHHHHGHHBFHHHEAFGHGHGG@?EEHGFHFGGDGHHFH?@ADFFGGEFGG.CBFFEGG0CBFGGGDDGFFFF
+@SRR1222430.65 65 length=230
+CGCCACAATGGCGAACAACAAACTGCCCATCGTCACGCTGCGCACCACGCTGGCCCCCGCCTCGGTGCCGTTGTAGTGCCAGAGGGTAATGCTGTCGAGGTAGGCGAAAACGGGGATCAAATCAGACCAAATCGCCCAGAACATCACTGCGAACAGCGCGACCATCACCAACATGGTGATGCGCAGCGTCTGCTGGTTGACCTGCTCGAGAGCGATAGTTGGCTCTTCCT
++SRR1222430.65 65 length=230
+>>1>>AFA1B1>1AA0ECG0GFGGCCGFHHFAGG/FE0AAEEE?EAGAAEGA//BC/E@E/??EE/?/0///>>DGGGHB>F0/FF/0GFHHEFF1<F@@C<1<<</BC@GGC/<CCFCF<G1<<0C.<CCGDCAE.C:G/C/C0C00CHC-@AAB9-9@?A-99BFF-:?-AB/-F//9//@F?-@-99--B/:BBF-BF9F-F/BB-:E--9-;--9BF/BF//;9/9
+@SRR1222430.6 6 length=192
+GGCCACAGGCGATAACCTGTGGCCTTTTTGTCACTTGAAGTAGGCACTCCAGGCAGATTGCATTGCCTCTACCCGATTACCGGCGGCACCAGACCAGGCGTAATGACGGCCATCGAATTCAAACTCCACCATGTAGGTACCATCGCCATTATCCCTCGGCGCTTTAAAGTTTGGCTTGGCAGGATGTTTCTC
++SRR1222430.6 6 length=192
+>3ABABF?ABBBGGGGEGGGFFHFFFHGHGGHFHHHHHHHHHFHHHHHHGGGHHHGGFFGFFDFHHHFGHHHHHGGGGGFGGFGG?EGGGHEFFEHHFHGDDFAGHFGGGFGFBEHHHHHHHBHHGHGEFHHFGFHGFGFHHFHAEGGGGFFHGHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFB9
+@SRR1222430.33 33 length=191
+GTTTGATGCTCAAAGAATTAAACTTCGTAATGAATTACGTGTTCACTCTTGAGACTTGGTATTCATTTTTCGTCCGAGGACGTTAAGAATCCATGTCACTTTGAGTGCCCACACAGATTGTCTGATAAATTGTTAAAGAGCAGTTGCGACGCGCTTTAGCGCTCTGTCGCGAGGTGGCGTATATTACGCTT
++SRR1222430.33 33 length=191
+CBBCCFFFFFFFGGGGGGGGGGHHHHGHGHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHGHGGGGGGGHGGGHGHHHHHHGHGHHHHHHHHHGHHFGGGFFGGHHHHGHHHHHHHHHHHHHHHFHHGHHHHGHHHGGGGCFGGGGHHHGGGGHHHHGHGGGGAGFGDFCEHFHHGGGGG
+@SRR1222430.36 36 length=196
+GACTAAATCTGATTGTAATGTGTAGTAAATAAACCGCCAATCTGCATGGATTGCTTTAATTAAGACAGTGTCTTGCCCTAATACAAATGGCTTTTTGGAATCCACATAGCTAACAACACCGACAGACTGGTTACGACTCATAACCAAATCACCTTGTTCAACAACACAGTGATCCATCAGAGAGCGATATTCTTCT
++SRR1222430.36 36 length=196
+CCCCCFFFFFFFGGGGGGGGGGGHHHHHHHHHGHHEGGGGHGHHHHGGHGHHHFHHHHHHHHHHHHHHFGHHBGHHHHHHHHHHHHHHHHFHHHHHGGHHHGHHHHHHHHFHHHHHHHGGGGGGGHHGGHEGGHGGGGGHHHHHHHGHHHHHHHFFFHHHDHHHHHGHHHHHHHHHHHHHHHGGHGGHGGGHHHHG
+@SRR1222430.63 63 length=194
+CGTCCCATATGTTCACGCGCCTCCGGCACCTCTTCCGCCAGCATCAGGAACGGGCTACGCTGGGCCAGCTCCGCCTCCGTCACCCGGCGCGCCAGGTATTCGTGGCCCTGAAGCCCGCCCGGTAGCGGCAGCCAGCGGCTGCTGATCGCTGCGGCATCCTTATCTAACTGCGCGCGCACATCGGGGCGCAGGCA
++SRR1222430.63 63 length=194
+AAAABBFFFFFFGGGGGGGGGGFHE?EFEGFHHFFFGGGGGGFHHHHHHHHGEGGGHHGGGECEEHGGGGHHGGGDEHGHHGGHGGGGGGGGGC?G<FGHHHHED@CGHHHHHFHHCDGGGGGGGGGGGGGGEFGGGGA?FGGGGGGGGGGFFFFD=FFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.17 17 length=184
+CTTTAATGCCCAACAGGCCGCGCTTGATTTCGCCAAACTGAATAAGCTGGTCGGCGAGGGTTTTCGCCATATTGCTTGGAATGGCAAAGCCGATGCCGATGCTGCCGCCGCCCGGCGCGAGGATCGCGGTGTTGATCCCGATAAGCTCGCCGTTGAGGTTCAGCAGCGCGCCGCCGGAATTGCC
++SRR1222430.17 17 length=184
+CDDEEFFFFFFFGGGGGGGGGGGGGGGHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGGGFHGGHGGGGGHHHHHHHHGHHHHHHHHHHHHGGGGGHGGGGGHHHHGGGGGGGGGGGGGGGGGHHGGGGFGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.40 40 length=250
+ATGATGTTAAATATATGTTTTGTTTTTGTTGTTTAATTGAAGCGGTTATGGCGCTTGTCGTGAAGGGACGTTTGCGACAACGGCGGGTAGTTTTTTTGCGGGGGGGGATTTTTTTTTCTCTGCCACTTTTTACGCCTGGGGCGGGGGGGTCCCCGCCCCCCGCTTGTTGGCCCAGGGAGTCGGAAAAGGGCGGGGTGGGGGAGAGGGTGGGGTCCTGGGGTGCGCCGGTGATTTTAAAAAATAAAAAAAC
++SRR1222430.40 40 length=250
+ABBBBFFDFFFFGGGGGGGGGGHHHHGGHHHGHHHHHHHGHHHGGGGGHGHGGGGGGHHGGGHGHHGHGGGGHGHGGGGGHGGGGG<///2?FGF///1/<@-@----./9B/----/;/////9//9:FB./..-99..-.---;----.9:.-9;@--9---;.:/../9...:..9./;9-.-./.:.---9---@>---..9...---9../;/.;.9.--.;---./////9/;F-.;9/9/--.
+@SRR1222430.98 98 length=176
+AGAATTAAAAGAAGATATGATTGTACTGAAAAATTGCCGTAGATAAACGTTGTCGTGAAAGTTGTGTTTTTTTTCTGCATTGATCGCTAATCGCTCTTGTCAAAGGCTCGCGTTTTGCGTAATATTCGCGCCCTATTGTGAATATTTATAGCGCACTCTGAATCACATAAAGAGGT
++SRR1222430.98 98 length=176
+CCCCCFFFFFFBGGGGGGGGGGHHHHHHHHHHHHHHHHGGGGGHHHGHGHHHGHGGGHGHGHHHHGHHHHGGGGCHEFHHHDEGGGGHEGHFGFFHFHFEGHHHDHFHHGGGEFGGADCA<CFFHHFCDGGGGCBGHD?GFHHFDHHFFHFFFGGGGGH00DGB0<0DBHHHGHHC
+@SRR1222430.11 11 length=169
+CAGTCAGGCTTGCTGCTGCAAAGGCAGAGAAAGCGCTCATCGATAAGGTCGCGGCGACAACTGTTGCGACGGTGGTACGCATAACGTTCATAATGTCTCCTGCTGGGATTCGTAAATCATTGTTTCGAGGCTATGGTGAGCAAAATAGGTCAAAGAGGTGACAGTAAAA
++SRR1222430.11 11 length=169
+>AA3AFFBFFFDGGD4EGGFGFH4GGGGDHFGHHGGFEAGFGEG2FDG5FEEAGGGGGEEHGH4EFFGEGGG>EEE4FE?EGDGCAGCFCFFHHGHDDHHFHHFBGACFGGFGHFHHHDDHFHFGFFGHCGGFHHHHHGFF0GFHHGHGCGHHFGHH.::G0GGGHBCG
+@SRR1222430.20 20 length=167
+ACTGAGTATTGGTGTTATACTCGTCGTTTTTCAAACTGCAGGTGCGCTGTCGATGCTTCCTGGGCCGTATGTTCGGGCTGCGTGATTCGCCTCTACGGGACTCACCTTTTCAGGGCCAGCGCGAGCGCGGCGCAAAATGGTTAACCGTTTTGTCCTGCAGCATGAAA
++SRR1222430.20 20 length=167
+BCCCCFFFFFFFAFGGGGGGGGGHGGFGGGGHHHGHHHHHHHFHHFGGGGHGEFHFHHHHHHHGHHGGEHGHHHGGGGGGGGEGFFEHGCGGGHHHGGGGGHHGHHHHHHHHHGGGGGHGGGGFFGGGGGGGGGGDHHHHGHGFGGGGGGGGGGGFGGFGGGGFBFG
+@SRR1222430.52 52 length=158
+ATTTCCCGATAACGTTGCTGATACACCAGGTCAGAATGGGATTGCCATCATGGTGGAATCGACCACCGGCCAGAGCCGCTTCAAGCTCTTTCATCGCCGGTGACATATTGGTGTAATCCTGCCGGATATCGACTACGGTAAATCCGTTGTCCTCCAAC
++SRR1222430.52 52 length=158
+BCCCBFFCCCCCGGGGGGGGGGHHHHHHHGHHHHGFGHHHHHHGHHHHHHHHHHHGHHHHHGGGGHGGGGGGHHHHHGGGGGHHHHHGHHHHHHHHGGGGGGGHHHHHHHHGGHHHHHHHGHHGGGGGGHGHGGGHGGHHGHGHHGGHGGHHHHHHFH
+@SRR1222430.34 34 length=149
+TCATCCGGAACAGATTGCGGCTCTGATCCCGCTGGCGCGCGATATCATCGCCCGCTACCACATCGCGCCGCAGAATGTGGTCGCCCATGCGGATATCGCCCCGCAGCGCAAAGACGATCCGGGGCCGTTATTCCCCTGGCAACAGCTGG
++SRR1222430.34 34 length=149
+CCCCCFCCCCCFGGGGGGGGGGGGHHHHHHGGGFGGGGGGGGGGGHHHHHGGGGGGGGHHHHHHGGGGGGGGGGHGHHHHHHDGGGGHHHGGGGGHHGGGGGGGGGGGGGGGGHHGGFHGHGGGGGGGGGGGGGGGGGGFFFFFFFFFF
+@SRR1222430.62 62 length=151
+AAAAGCCAGCGTATCTTCGTCGCCGCAACCGTTAAGCTCGGCGGCATAGCTTAAAAAATTGCGCGCCTGGCCGAGCAGGTCGAGGCCGATATTGGCCAGCGCAAGATCGATCTCGAGCTCGGGAGCATGGCCGCACCAGGCGCCTAAACGC
++SRR1222430.62 62 length=151
+CCDDCFFFFECBGGGGGGGGGGGGGGGGGHGGGGGHHHHGGGGGGGGHHHHHHHHHHGHHGHGGGGGGHHHHGGGGGHHHHGGGGGGGGGGGHHHHHGHGGGGGGHHHHGHHHHHHGGGHGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFF
+@SRR1222430.78 78 length=150
+AGCGTGTAATCAACCGCGCCGGTTGTCCGGTCGTAGCTGATGGTATGCCGCTGCGCCAGCATATTATACTTCTGCTCACGGTTGCTGTTGCTGTCATTCGAGCCCTTAATCGTGATGCGGGCAATCGTGTCTTCCGGATACACGACGTTT
++SRR1222430.78 78 length=150
+CCCBABCFFFFFGGGGGGGGGGGGGGHHGCFGGGGGGHHGHHHHHHHHFGGGGGGGFGGGHHHHHHHHHHHHHHHHHHHHGFGEHHHHHHHHHHHHHHHHHFGGGHHHHHHGHHHHHHGGGGGGHHGHHHHHHHHGFDFGHHHC?DFCGH
+@SRR1222430.99 99 length=160
+AAAAGCGTTGACGAGCTGCGTGAGCGTATCTCCCTTCAATCGCCGCCTGGTTACCCAAACCCTGTTCGTTAAATTCAAGGGAGATACGCTCACGCAGCTCGTCAACGCTTTTCCCCTGATACATCTCAGGTTGCTTCAGCCACTGCACAACGGCCTGGCT
++SRR1222430.99 99 length=160
+ABBBAFBA3AAFCFGGGGGGEEGFHAEEGFFGHHHHHHDFDFDFCGGGHG3FBCGFHHHGEGHHFGHGAEFFBGBEHHHBEGDDHHHGGGGEHEA@E@HHD?DGGFGG?FE2G2<GGFF<2GFGHFHFHHFFHHHHFHHGHHFFHGHHHHGCCCCDFEHB
+@SRR1222430.26 26 length=135
+ACCTGATGCTGGCGACGCTGGATCATGGCGACACCGTACTGGTGCCGAACCCCAGCTATCCGATTCATATCTATGGCGCGGTGATTGCCGGGGCGCAGGTGCGCTCAGTGCCGCTGGTGGAAGGGGTGGATTTCT
++SRR1222430.26 26 length=135
+CCCCCFFFFFFFGGGGGGGGGGHHHHHHHGGGGGGGHHGHHHHHHHGGGGGGGGGHHHHHHGGGGHHHHHHHHHHHHGGGGFGGHHHHHGGGGGGGGGGHHHGGGG.GHHGHGGGGGGGGGHHGGG.AGFGGGGG
+@SRR1222430.79 79 length=136
+GCAACCAGCGCAAAGTGGAGATCGCCCGCGCGCTGGCCACCGCGCCGAAGCTGCTCCTGCTCGATGAGCCGGCCGCCGGGATGAACCCGAAGGAGACCGAGGATCTGGCGGAGCTGATCTTCCGCATGCGCCATGA
++SRR1222430.79 79 length=136
+DDDCCFCDCCCCGGGGGGGGGGHHGGGGGGGGGGGGGHHGHGGGGGGGGGGHHHHHHHHHHHGGHHHHHHGGGGGGGGGGGGGHHHHGGGGGGHHHGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGFFF
diff --git a/src/tmp/klebsiella_100_2_13_qual_thres.fq b/src/tmp/klebsiella_100_2_13_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/tmp/klebsiella_5_1_2_qual_thres.fq b/src/tmp/klebsiella_5_1_2_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..eae93aaefa126e19e834ddef000e9a8faac4a665
--- /dev/null
+++ b/src/tmp/klebsiella_5_1_2_qual_thres.fq
@@ -0,0 +1,20 @@
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CAFGFDA1GAEG2FGFAFFCEFGCA/GFD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/src/tmp/klebsiella_5_1_bad_scores.undefined.fq b/src/tmp/klebsiella_5_1_bad_scores.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/tmp/klebsiella_5_2_2_qual_thres.fq b/src/tmp/klebsiella_5_2_2_qual_thres.fq
new file mode 100644
index 0000000000000000000000000000000000000000..799753fc4b2be34d85b235187b201997da3d630a
--- /dev/null
+++ b/src/tmp/klebsiella_5_2_2_qual_thres.fq
@@ -0,0 +1,20 @@
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!HHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/src/tmp/klebsiella_5_2_bad_scores.undefined.fq b/src/tmp/klebsiella_5_2_bad_scores.undefined.fq
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/unit_test_cms.cpp b/src/unit_test_cms.cpp
index 3ae712c4be706ee712901c417486c1f29b46e68a..b77fbf459dcd99536766559970762461f7c32cc2 100644
--- a/src/unit_test_cms.cpp
+++ b/src/unit_test_cms.cpp
@@ -34,10 +34,11 @@ void test_CMS(int lambda,int kappa,int kappa_prime) {
     assert(nb_distinct_k_mers==1);
 
     // mimic a read (as given by part 2 output).
-    readNumericValues read_values;
+    T_read_numericValues read_values;
     for (i=1;i<=400;i++) {
-        read_values.push_back(i*1000-1);
+        read_values.single_or_PE_val.push_back(i*1000-1);
     }
+    read_values.idx_start_PE2=0;
     ret=cms.addRead(read_values); // read should be accepted since none of the values that it contains is equal to those I inserted previously.
     assert(ret!=rej_expected);
 
@@ -45,12 +46,13 @@ void test_CMS(int lambda,int kappa,int kappa_prime) {
     assert(nb_distinct_k_mers==401);
 
     // mimic a vector that contains a lot of k_mers already present in the CMS and check that it is rejected.
-    readNumericValues read_values2;
+    T_read_numericValues read_values2;
+    read_values2.idx_start_PE2=0;
     for (i=1;i<=199;i++) {
-        read_values2.push_back(i*1000-1);
+        read_values2.single_or_PE_val.push_back(i*1000-1);
     }
     for (i=200;i<=400;i++) {
-        read_values2.push_back(num);
+        read_values2.single_or_PE_val.push_back(num);
     }
     ret=cms.addRead(read_values2);
     assert(ret==rej_expected);
@@ -65,6 +67,269 @@ void test_CMS(int lambda,int kappa,int kappa_prime) {
 
 
 
+void testCMS_with_PE_NotasSingle(int lambda,int kappa,int kappa_prime) {
+    // int filter_PE_as_single=0;
+    int filter_PE_separately=1;
+    CountMinSketch<unsigned char>* cms=new CountMinSketch<unsigned char>(lambda,kappa,kappa_prime,filter_PE_separately);
+    int i;
+    cout<<"size of the CMS component: "<<sizeof(cms)<<endl;
+    int num=200;
+    //int rej_expected=0;
+    int ret;
+    for (i=0;i<kappa;i++) {
+        cms->addKMer(num);
+    }
+    int min=cms->getEstimatedNbOcc(num);
+    assert(min==kappa);
+    // mimic a PE read  (as given by part 2 output).
+    T_read_numericValues read_values;
+
+    // mimic a PE read in which PE1 contains k-mer that appear rarely in the CMS and PE2 contains k_mers that already appear kappa times in the CMS.
+    for (i=1;i<=200;i++) {
+        read_values.single_or_PE_val.push_back(i*1000-1);
+    }
+    read_values.idx_start_PE2=200;
+    for (i=1;i<=239;i++) {
+        read_values.single_or_PE_val.push_back(num);
+    }
+    read_values.single_or_PE_val.push_back(50);
+    read_values.single_or_PE_val.push_back(55);
+    ret=cms->addRead(read_values); // read should be accepted since PE1 is nor over covered.
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values); // read should not be considered under covered since only PE1 is under covered.
+    assert(ret==0);
+
+    // Now, change PE1 a little and insert it kappa times in the CMS
+    for (int j=1;j<=kappa;j++) {
+        read_values.single_or_PE_val[2]=j;
+        ret=cms->addRead(read_values);
+        if (j<=kappa-1) assert(ret>0); // read should be accepted as long as we haven't inserted PE1 kappa times.
+        else assert(ret==0); //otherwise it is rejected.
+    }
+
+    ret=cms->isBeneathMinKappa(read_values); // read should not be considered under covered since PE1 was inserted kappa times.
+    assert(ret==0);
+
+    // mimic a PE read  (as given by part 2 output).
+    T_read_numericValues read_values2;
+
+    // mimic a PE read that will be inserted in the CMS kappa_prime+1 times to check low filter.
+    for (i=1;i<=150;i++) {
+        read_values2.single_or_PE_val.push_back(i*1500-1);
+    }
+    read_values2.idx_start_PE2=150;
+    for (i=1;i<=151;i++) {
+        read_values2.single_or_PE_val.push_back(i*1600-1);
+    }
+    for (i=0;i<kappa_prime+1;i++) {
+        ret=cms->addRead(read_values2);
+        assert(ret>0);
+    }
+
+    ret=cms->isBeneathMinKappa(read_values2);
+    assert(ret==0);
+
+    //mimic a read for which PE1 is under kappa_prime and PE2 too. Such a read is expected to be removed by low filter
+    T_read_numericValues read_values3;
+
+    for (i=1;i<=200;i++) {
+        read_values3.single_or_PE_val.push_back(i);
+    }
+    read_values3.idx_start_PE2=201;
+    for (i=1;i<=205;i++) {
+        read_values3.single_or_PE_val.push_back(i);
+    }
+    ret=cms->addRead(read_values3);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values3);
+    assert(ret>0);
+
+    //mimic a read for which PE1 is over kappa_prime but not PE2
+    T_read_numericValues read_values4;
+    for (i=201;i<=399;i++) {
+        read_values4.single_or_PE_val.push_back(200);
+    }
+    read_values4.idx_start_PE2=199;
+    for (i=201;i<=399;i++) {
+        read_values4.single_or_PE_val.push_back(i);
+    }
+    ret=cms->addRead(read_values4);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values4);
+    assert(ret==0);
+
+    //mimic a read for which PE2 is over kappa_prime but not PE1
+    T_read_numericValues read_values5;
+    for (i=201;i<=399;i++) {
+        read_values5.single_or_PE_val.push_back(i);
+    }
+    read_values5.idx_start_PE2=199;
+    for (i=201;i<=399;i++) {
+        read_values5.single_or_PE_val.push_back(200);
+    }
+    ret=cms->addRead(read_values5);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values5);
+    assert(ret==0);
+
+    delete cms;
+}
+
+/* Test new implementation of PE as single.
+ * In this implementation, we process PE separately and we keep a PE if med(cov(PE1)) or med((covPE2)) < C and
+ *                                                                      med(cov(PE1)) or med(cov(PE2)<c .*/
+void testCMS_with_PE_NotasSingle2(int lambda,int kappa,int kappa_prime) {
+    int filter_PE_separately=2;
+    CountMinSketch<unsigned char>* cms=new CountMinSketch<unsigned char>(lambda,kappa,kappa_prime,filter_PE_separately);
+    int i;
+    cout<<"size of the CMS component: "<<sizeof(cms)<<endl;
+    int num=200;
+    //int rej_expected=0;
+    int ret;
+    for (i=0;i<kappa;i++) {
+        cms->addKMer(num);
+    }
+    int min=cms->getEstimatedNbOcc(num);
+    assert(min==kappa);
+    // mimic a PE read  (as given by part 2 output).
+    T_read_numericValues read_values;
+
+    // mimic a PE read in which PE1 contains k-mer that appear rarely in the CMS and PE2 contains k_mers that already appear kappa times in the CMS.
+    for (i=1;i<=200;i++) {
+        read_values.single_or_PE_val.push_back(i*1000-1);
+    }
+    read_values.idx_start_PE2=200;
+    for (i=1;i<=239;i++) {
+        read_values.single_or_PE_val.push_back(num);
+    }
+    read_values.single_or_PE_val.push_back(50);
+    read_values.single_or_PE_val.push_back(55);
+    ret=cms->addRead(read_values); // read should be accepted since PE1 is nor over covered.
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values); // read should be considered under covered since PE1 is under covered.
+    assert(ret>0);
+
+    // Now, change PE1 a little and insert it kappa times in the CMS
+    for (int j=1;j<=kappa;j++) {
+        read_values.single_or_PE_val[2]=j;
+        ret=cms->addRead(read_values);
+        if (j<=kappa-1) assert(ret>0); // read should be accepted as long as we haven't inserted PE1 kappa times.
+        else assert(ret==0); //otherwise it is rejected.
+    }
+
+    ret=cms->isBeneathMinKappa(read_values); // read should not be considered under covered since PE1 was inserted kappa times.
+    assert(ret==0);
+
+    // mimic a PE read  (as given by part 2 output).
+    T_read_numericValues read_values2;
+
+    // mimic a PE read that will be inserted in the CMS kappa_prime+1 times to check low filter.
+    for (i=1;i<=150;i++) {
+        read_values2.single_or_PE_val.push_back(i*1500-1);
+    }
+    read_values2.idx_start_PE2=150;
+    for (i=1;i<=151;i++) {
+        read_values2.single_or_PE_val.push_back(i*1600-1);
+    }
+    for (i=0;i<kappa_prime+1;i++) {
+        ret=cms->addRead(read_values2);
+        assert(ret>0);
+    }
+
+    ret=cms->isBeneathMinKappa(read_values2);
+    assert(ret==0);
+
+    //mimic a read for which PE1 is under kappa_prime and PE2 too. Such a read is expected to be removed by low filter
+    T_read_numericValues read_values3;
+
+    for (i=1;i<=200;i++) {
+        read_values3.single_or_PE_val.push_back(i);
+    }
+    read_values3.idx_start_PE2=201;
+    for (i=1;i<=205;i++) {
+        read_values3.single_or_PE_val.push_back(i);
+    }
+    ret=cms->addRead(read_values3);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values3);
+    assert(ret>0);
+
+    //mimic a read for which PE1 is over kappa_prime but not PE2
+    T_read_numericValues read_values4;
+    for (i=201;i<=399;i++) {
+        read_values4.single_or_PE_val.push_back(200);
+    }
+    read_values4.idx_start_PE2=199;
+    for (i=201;i<=399;i++) {
+        read_values4.single_or_PE_val.push_back(i);
+    }
+    ret=cms->addRead(read_values4);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values4);
+    assert(ret>0);
+
+    //mimic a read for which PE2 is over kappa_prime but not PE1
+    T_read_numericValues read_values5;
+    for (i=201;i<=399;i++) {
+        read_values5.single_or_PE_val.push_back(i);
+    }
+    read_values5.idx_start_PE2=199;
+    for (i=201;i<=399;i++) {
+        read_values5.single_or_PE_val.push_back(200);
+    }
+    ret=cms->addRead(read_values5);
+    assert(ret>0);
+
+    ret=cms->isBeneathMinKappa(read_values5);
+    assert(ret>0);
+
+    delete cms;
+}
+
+/*
+ * TODO: move this somewhere else.
+ * I use this test because it is in the calculation of the median that we spend the most time (approx: 50%) . I want to know what in it takes the longest to see if I can improve.
+ */
+/*
+#include <time.h>
+#include <stdlib.h>
+#include <err.h>
+#include "Filter.hpp"
+void profiling_CMS_fill() {
+    ByteCountMinSketch * pByteCMS;
+    CMSparams parms;
+    parms.lambda=4;
+    parms.filter_PE_as_single=0;
+    parms.kappa=50;
+    parms.kappa_prime=20;
+    parms.filter_size=getNodePhysMemory()/100.0*90-1;
+    pByteCMS=new ByteCountMinSketch(parms);
+    // mimic SRR dataset: approx 3 million PE of 2*250 nucleotides (2*281 k-mers if k=30).
+    T_read_numericValues nbrKmerDecompo;
+    nbrKmerDecompo.idx_start_PE2=281;
+    srand (time(NULL));
+    nbrKmerDecompo.single_or_PE_val.reserve(502);
+
+    for (int i=0; i<3000000;i++) {
+        //printf("x=%d\n",x);
+        for (int j=0;j<502;j++) {
+            int x=rand() % 1000000 + 1;
+            nbrKmerDecompo.single_or_PE_val.push_back(x);
+        }
+        int keep_r=pByteCMS->addRead(nbrKmerDecompo);
+        nbrKmerDecompo.single_or_PE_val.clear();
+    }
+    delete(pByteCMS);
+}
+*/
+
 int main(int argc, char **argv) {
     int lambda=2;
     int kappa=50;
@@ -90,10 +355,15 @@ int main(int argc, char **argv) {
         return -1;
     }
     
-    if (argc==1) {
-        cout<<"testing CMS with lambda="<<lambda<<endl;
-        test_CMS(lambda,kappa,kappa_prime); // Finally using C arrays (maps implied storing hash keys : 4 Bytes per k_mer overhead) but each array is of size INT_MAX...
-        cout<<"done"<<endl;
-    }
+
+    cout<<"testing CMS with lambda="<<lambda<<endl;
+    test_CMS(lambda,kappa,kappa_prime); // Finally using C arrays (maps implied storing hash keys : 4 Bytes per k_mer overhead) but each array is of size INT_MAX...
+    cout<<"testing CMS with PE not as single strict kappa prime implementation"<<endl;
+    testCMS_with_PE_NotasSingle(lambda,kappa,kappa_prime);
+    cout<<"testing CMS with PE not as single lenient kappa prime implementation"<<endl;
+    testCMS_with_PE_NotasSingle2(lambda,kappa,kappa_prime);
+    cout<<"done"<<endl;
+    
+    // profiling_CMS_fill();
     return 0;
 }
diff --git a/src/unit_test_fqreader.cpp b/src/unit_test_fqreader.cpp
index 786de5755f3b77043837f898515228965eccb7f9..f64b83e8d85180813e16960c2e2883c5cee9e1ba 100644
--- a/src/unit_test_fqreader.cpp
+++ b/src/unit_test_fqreader.cpp
@@ -6,9 +6,12 @@
  *      unit and non regression testing for the fqreader component.
  *      Keep using assert for the moment, don't want to add a dependency on boost (or any other test framework) just for the tests.
  */
+#include <sys/stat.h>
 #include <stdio.h>
 #include <string.h>
 #include <iostream>
+#include <fstream>
+#include <streambuf>
 #include <limits.h>
 #include <assert.h>
 #include <stdlib.h>
@@ -17,15 +20,17 @@
 #include "srp.h"
 #include "FqMainBackend.h"
 #include "fqreader.h"
+#include "unit_tests_tools.h"
 
-// TODO : Add test case where @ character is inside quality score.
 
 using namespace std;
 
+
+
 void test_processSingleFile() {
-    //printf("MAX_UINT=%u \n",UINT_MAX);
     srp sr;
     unsigned char f_id=1;
+    FqMainBackend::setTreatPEMode(0);
     processSingleFile((char *) "../test/data/unit/test_single.fq",f_id,&sr);
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
@@ -36,7 +41,7 @@ void test_processSingleFile() {
     for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
         //cout << "score="<<rit->first<<endl;
         unsigned long score=rit->first;
-        assert(score==5);
+        assert(score==10); // reads are all 152 character long in this test.
         for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
             unsigned long offset_quotient=it_offs->first;
             cout<<"offset_quotient="<<offset_quotient<<endl;
@@ -59,6 +64,80 @@ void test_processSingleFile() {
     assert(cnt_read==6);
 }
 
+/*
+ * Expects a given minimum of k_mers to be present in the read or else it is dumped as undefined
+ */
+void test_processSingleFileWithMQOption() {
+    srp sr;
+    unsigned char f_id=1;
+    FasqQualThreshold qual_thres;
+    qual_thres.k=10;
+    qual_thres.nucl_score_threshold=14+k_phred_32;
+    qual_thres.min_correct_k_mers_in_read=100;
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(0);
+    FqMainBackend be_fq=FqMainBackend(&sr);
+    
+    be_fq.setUndefFile((char *) "../test/data/unit/test_single.undef.fq");
+    be_fq.processFile((char *) "../test/data/unit/test_single.fq",f_id);
+
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+
+    int cnt_read=0;
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==6);
+    assert(remove((char *) "../test/data/unit/test_single.undef.fq")==0);
+    sr.clear();
+
+    cnt_read=0;
+    qual_thres.min_correct_k_mers_in_read=130;
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend be_fq2=FqMainBackend(&sr);
+    be_fq2.setUndefFile((char *) "../test/data/unit/test_single2.undef.fq");
+    be_fq2.processFile((char *) "../test/data/unit/test_single.fq",f_id);
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+              if (cnt_read==1) assert(it_struct->read_a1==0);
+              if (cnt_read==2) assert(it_struct->read_a1==1400);
+              if (cnt_read==3) assert(it_struct->read_a1==1751);
+            }
+        }
+    }
+    assert(cnt_read==3);
+    assert(remove((char *) "../test/data/unit/test_single2.undef.fq")==0);
+    sr.clear();
+
+    cnt_read=0;
+    qual_thres.nucl_score_threshold=36+k_phred_32;
+    qual_thres.k=30;
+    FqBaseBackend::setQualThreshold(qual_thres);
+
+    FqMainBackend be_fq3=FqMainBackend(&sr);
+    be_fq3.setUndefFile((char *) "../test/data/unit/test_single3.undef.fq");
+    be_fq3.processFile((char *) "../test/data/unit/test_single.fq",f_id);
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==0);
+    assert(remove((char *) "../test/data/unit/test_single3.undef.fq")==0);
+}
+
 /*
  * Test case with other data than those I had until here.
  * Quality score contains '@'caracter (usually start of fastq record),
@@ -74,6 +153,7 @@ void test_processPEfilesWithA() {
     unsigned char f_id4=4;
 
     srp sr;
+    FqMainBackend::setTreatPEMode(0);
     processPEFiles(fq_3_test, f_id3,fq_4_test, f_id4,&sr);
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
@@ -96,17 +176,17 @@ void test_processPEfilesWithA() {
                 assert((fid_stored &masque)==f_id4);
                 if (cnt_read==0) {
                     assert(it_struct->read_a1==0);
-                    assert(it_struct->read_a1==0);
+                    assert(it_struct->read_a2==0);
                 }
-                if (cnt_read==6) {
+                if (cnt_read==4) {
                     // std::cout<<it_struct->read_a1<<" "<<it_struct->read_a2;
-                    assert(score==18);
+                    assert(score==33);
                     assert(it_struct->read_a1==558);
                     assert(it_struct->read_a2==-2);
                 }
-                if (cnt_read==3) {
+                if (cnt_read==5) {
                     // std::cout<<it_struct->read_a1<<" "<<it_struct->read_a2;
-                    assert(score==19);
+                    assert(score==33);
                     assert(it_struct->read_a1==1114);
                     assert(it_struct->read_a2==0);
                 }
@@ -120,7 +200,6 @@ void test_processPEfilesWithA() {
         }
     }
     assert(cnt_read==10);
-
 }
 
 void test_processPEFiles() {
@@ -131,7 +210,7 @@ void test_processPEFiles() {
     unsigned char f_id2=2;
 
     srp sr;
-
+    FqMainBackend::setTreatPEMode(0);
     processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr);
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
@@ -143,8 +222,8 @@ void test_processPEFiles() {
     for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
         // cout << "score="<<rit->first<<endl;
         unsigned long score=rit->first;
-        if (cnt_read==0 || cnt_read==1) assert(score==10);
-        if (cnt_read==2) assert(score==9);
+        if (cnt_read==0 || cnt_read==1) assert(score==20);
+        if (cnt_read==2) assert(score==19);
         for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
             unsigned long offset_quotient=it_offs->first;
             assert(offset_quotient==0);
@@ -178,8 +257,66 @@ void test_processPEFiles() {
     assert(cnt_read==3);
 }
 
+/*
+ * Auxilliary function for testing the processing of PE files while using m and q options.
+ */
+void aux_testPEFilesMQ(FasqQualThreshold qual_thres,int nb_expected_reads) {
+    srp sr;
+    char * fq_1_test=(char *) "../test/data/unit/09-4607_S43_R1.fastq";
+    char * fq_2_test=(char *) "../test/data/unit/09-4607_S43_R2.fastq";
+    char * fq_1_test_undef=(char *) "../test/data/unit/09-4607_S43_R1.undef.fastq";
+    char * fq_2_test_undef=(char *) "../test/data/unit/09-4607_S43_R2.undef.fastq";
+
+    unsigned char f_id1=1;
+    unsigned char f_id2=2;
+    FqMainBackend::setTreatPEMode(0);
+    FqBaseBackend::setQualThreshold(qual_thres);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef);
 
-void check_processAIFilesResults(srp& sr) {
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==nb_expected_reads);
+    assert(remove((char *) "../test/data/unit/09-4607_S43_R1.undef.fastq")==0);
+    assert(remove((char *) "../test/data/unit/09-4607_S43_R2.undef.fastq")==0);
+}
+
+void test_processPEFilesWithMQOptions() {
+
+
+    FasqQualThreshold qual_thres;
+    qual_thres.k=20;
+    qual_thres.nucl_score_threshold=14+k_phred_32;
+    qual_thres.min_correct_k_mers_in_read=76;
+    FqMainBackend::setTreatPEMode(0);
+
+    aux_testPEFilesMQ(qual_thres,4); // last fq records contains only 77 correct k-mers.
+
+    qual_thres.min_correct_k_mers_in_read=100;
+    aux_testPEFilesMQ(qual_thres,3);
+
+    qual_thres.min_correct_k_mers_in_read=150;
+    aux_testPEFilesMQ(qual_thres,2);
+
+    qual_thres.min_correct_k_mers_in_read=180;
+    aux_testPEFilesMQ(qual_thres,2);
+
+    qual_thres.min_correct_k_mers_in_read=230;
+    aux_testPEFilesMQ(qual_thres,0);
+}
+
+
+void check_processAllFilesResults(srp& sr) {
     srp::reverse_iterator rit;
     i_dim::iterator it_offs;
     k_dim::iterator it_struct;
@@ -187,11 +324,11 @@ void check_processAIFilesResults(srp& sr) {
     for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
         //cout << "score="<<rit->first<<endl;
         unsigned long score=rit->first;
-        if (cnt_read==0 || cnt_read==1) assert(score==10);
-        else if (cnt_read==2) assert(score==9);
+        if (cnt_read==0 || cnt_read==1) assert(score==20);
+        else if (cnt_read==2) assert(score==19);
         else {
             //cout << "score="<<rit->first<<endl;
-            assert(score==5);
+            assert(score==10);
         }
         for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
             unsigned long offset_quotient=it_offs->first;
@@ -214,11 +351,203 @@ void test_processAllFiles() {
     unsigned char f_single=3;
 
     srp sr;
-
+    FqMainBackend::setTreatPEMode(0);
     processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr);
     processSingleFile(fq_single,f_single,&sr);
 
-    check_processAIFilesResults(sr);
+    check_processAllFilesResults(sr);
+}
+
+void test_processPE_not_as_single() {
+    char * fq_1_test=(char *) "../test/data/unit/test_PE1_PE_not_as_single.fq";
+    char * fq_2_test=(char *) "../test/data/unit/test_PE2_PE_not_as_single.fq";
+
+    char * fq_1_test_undef=(char *) "../test/data/unit/test_PE1_PE_not_as_single.undef.fastq";
+    char * fq_2_test_undef=(char *) "../test/data/unit/test_PE2_PE_not_as_single.undef.fastq";
+
+    char * fq_1_expected_undef=(char *) "../test/data/unit/expected_PE1_PE_not_as_single.undef.fastq";
+    char * fq_2_expected_undef=(char *) "../test/data/unit/expected_PE2_PE_not_as_single.undef.fastq";
+
+    unsigned char f_id1=1;
+    unsigned char f_id2=2;
+    srp sr;
+
+    FasqQualThreshold qual_thres;
+    qual_thres.k=10;
+    qual_thres.min_correct_k_mers_in_read=1;
+    qual_thres.nucl_score_threshold=2+k_phred_32;
+
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(1);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,1000);
+
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==1);
+
+    assert(compareFilesLileByLine(fq_1_test_undef,fq_1_expected_undef)==0);
+    assert(compareFilesLileByLine(fq_2_test_undef,fq_2_expected_undef)==0);
+
+    assert(remove((char *) "../test/data/unit/test_PE1_PE_not_as_single.undef.fastq")==0);
+    assert(remove((char *) "../test/data/unit/test_PE2_PE_not_as_single.undef.fastq")==0);
+
+}
+
+
+void test_processPE_not_as_single2() {
+    char * fq_1_test=(char *) "../test/data/unit/test_PE1_PE_not_as_single_pathological.fq";
+    char * fq_2_test=(char *) "../test/data/unit/test_PE2_PE_not_as_single_pathological.fq";
+
+    char * fq_1_test_undef=(char *) "../test/data/unit/test_PE1_PE_not_as_single_pathological.undef.fastq";
+    char * fq_2_test_undef=(char *) "../test/data/unit/test_PE2_PE_not_as_single_pathological.undef.fastq";
+
+    unsigned char f_id1=1;
+    unsigned char f_id2=2;
+    srp sr;
+
+    FasqQualThreshold qual_thres;
+    qual_thres.k=30;
+    qual_thres.min_correct_k_mers_in_read=1;
+    qual_thres.nucl_score_threshold=10+k_phred_32;
+
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(1);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,1000);
+
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==0);
+
+    assert(compareFilesLileByLine(fq_1_test_undef,fq_1_test)==0);
+    assert(compareFilesLileByLine(fq_2_test_undef,fq_2_test)==0);
+
+    assert(remove((char *) "../test/data/unit/test_PE1_PE_not_as_single_pathological.undef.fastq")==0);
+    assert(remove((char *) "../test/data/unit/test_PE2_PE_not_as_single_pathological.undef.fastq")==0);
+
+}
+
+void test_processPE_not_as_singleWithMQ() {
+    char * fq_1_test=(char *) "../test/data/unit/fake_PE1.fq";
+    char * fq_2_test=(char *) "../test/data/unit/fake_PE2.fq";
+
+    char * fq_1_test_undef=(char *) "../test/data/unit/fake_PE1.undef.fastq";
+    char * fq_2_test_undef=(char *) "../test/data/unit/fake_PE2.undef.fastq";
+
+    unsigned char f_id1=1;
+    unsigned char f_id2=2;
+    srp sr;
+
+    FasqQualThreshold qual_thres;
+    qual_thres.k=30;
+    qual_thres.min_correct_k_mers_in_read=64;
+    qual_thres.nucl_score_threshold=10+k_phred_32;
+
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(1);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,1000);
+
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==1);
+    struct stat fileStat;
+    stat(fq_1_test_undef, &fileStat);
+    assert(fileStat.st_size==0);
+    stat(fq_2_test_undef, &fileStat);
+    assert(fileStat.st_size==0);
+    sr.clear();
+
+    qual_thres.k=30;
+    qual_thres.min_correct_k_mers_in_read=45;
+    qual_thres.nucl_score_threshold=15+k_phred_32;
+
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(1);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,1000);
+
+
+
+    cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==0);
+
+    sr.clear();
+
+    assert(compareFilesLileByLine(fq_1_test_undef,fq_1_test)==0);
+    assert(compareFilesLileByLine(fq_2_test_undef,fq_2_test)==0);
+
+    qual_thres.k=30;
+    qual_thres.min_correct_k_mers_in_read=13;
+    qual_thres.nucl_score_threshold=18+k_phred_32;
+
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(1);
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,1000);
+
+
+    cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==1);
+    sr.clear();
+
+
+    stat(fq_1_test_undef, &fileStat);
+    assert(fileStat.st_size==0);
+    stat(fq_2_test_undef, &fileStat);
+    assert(fileStat.st_size==0);
+
+
+    assert(remove((char *) fq_1_test_undef)==0);
+    assert(remove((char *) fq_2_test_undef)==0);
+
 }
 
 
@@ -240,12 +569,18 @@ void test_processInputFiles() {
     v_pe.push_back(pe);
 
     srp sr;
+    FasqQualThreshold default_qual_thres;
+    default_qual_thres.k=30;
+    default_qual_thres.min_correct_k_mers_in_read=0; // aim of that test is not to check undef file creation. Disable it by putting 0 here
+    default_qual_thres.nucl_score_threshold=0; // leave default values for that test
     
+    FqMainBackend::setTreatPEMode(0);
+
     FqBaseBackend * array_be[k_max_input_files];
-    processInputFiles(v_single,v_pe,array_be,&sr);
+    processInputFiles(v_single,v_pe,array_be,default_qual_thres,&sr,1);
 
     // check that result is correct in sr.
-    check_processAIFilesResults(sr);
+    check_processAllFilesResults(sr);
 
     // check that the 3 backends are correct
     FqMainBackend * pbe=(FqMainBackend *) array_be[0]; // TODO see if one can use check_case, static_cast or one of them if they are not in boost.
@@ -266,11 +601,206 @@ void test_processInputFiles() {
 
     int i;
     for (i=0;i<3;i++) delete array_be[i];
-    //free(array_be);
+}
+
+void test_processBufSingle() {
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+    unsigned char f_id1=1;
+    std::string bufstr="@NS500443:65:H573HAFXX:1:11101:20964:1048/1\n\
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC\n\
++\n\
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA\n";
+    char * buf=(char *) bufstr.c_str();
+    srp sr;
+    FasqQualThreshold qual_thres;
+    qual_thres.k=20;
+    qual_thres.nucl_score_threshold=14+k_phred_32;
+    qual_thres.min_correct_k_mers_in_read=78;
+    T_buf_info buf_info;
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(0);
+    FqMainBackend be(&sr);
+    be.setUndefFile((char *) "../test/data/unit/test_processBuf.undef.fq");
+    buf_info.buf=buf;
+    buf_info.pchar=buf;
+    buf_info.cnt=0;
+    buf_info.real_bufsize=strlen(buf);
+    be.openUndefFile();
+    be.processBuf(buf_info,f_id1,348);
+    be.closeUndefFile();
+    // check that read is rejected
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+       for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+         for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+           cnt_read++;
+         }
+       }
+    }
+    assert(cnt_read==0);
+    std::ifstream t("../test/data/unit/test_processBuf.undef.fq");
+    std::string rej_str;
+  
+    t.seekg(0, std::ios::end);
+    rej_str.reserve(t.tellg());
+    t.seekg(0, std::ios::beg);
+  
+    rej_str.assign((std::istreambuf_iterator<char>(t)),
+               std::istreambuf_iterator<char>());
+    assert(strcmp(rej_str.c_str(),buf)==0);
+
+    assert(remove((char *) "../test/data/unit/test_processBuf.undef.fq")==0);
+}
+
+void test_processBufPE() {
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+    unsigned char f_id1=1;
+    std::string bufstr_PE1="@NS500443:65:H573HAFXX:1:11101:20964:1048/1\n\
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC\n\
++\n\
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA\n";
+
+    std::string bufstr_PE2="@NS500443:65:H573HAFXX:1:11101:20964:1048/2\n\
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT\n\
++\n\
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA\n";
+
+    char * buf_PE1=(char *) bufstr_PE1.c_str();
+    char * buf_PE2=(char *) bufstr_PE2.c_str(); 
+    srp sr;
+    FasqQualThreshold qual_thres;
+    qual_thres.k=20;
+    qual_thres.nucl_score_threshold=14+k_phred_32;
+    qual_thres.min_correct_k_mers_in_read=78;
+    T_buf_info buf_info;
+    T_buf_info PE2_buf_info;
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(0);
+
+    FqMainBackend be(&sr);
+    be.setUndefFile((char *) "../test/data/unit/test_processBuf_PE1.undef.fq");
+
+    FqAuxBackend be2;
+    be2.setUndefFile((char *) "../test/data/unit/test_processBuf_PE2.undef.fq");
+
+
+    buf_info.buf=buf_PE1;
+    PE2_buf_info.buf=buf_PE2;
+    buf_info.pchar=buf_PE1;
+    PE2_buf_info.pchar=buf_PE2;
+    buf_info.cnt=0;
+    PE2_buf_info.cnt=0;
+    buf_info.real_bufsize=strlen(buf_PE1);
+    PE2_buf_info.real_bufsize=strlen(buf_PE2);
+  
+    be2.buf_info=PE2_buf_info;
+
+    be.setAuxProcessor(&be2);
+
+    be.openUndefFile();
+    be2.openUndefFile();
+    be.processBuf(buf_info,f_id1,348);
+    be.closeUndefFile();
+    be2.closeUndefFile();
+
+    // check that read is selected
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+       for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+         for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+           cnt_read++;
+         }
+       }
+    }
+    assert(cnt_read==1);
 
+    struct stat fileStat;
+    stat("../test/data/unit/test_processBuf_PE1.undef.fq", &fileStat);
+    assert(fileStat.st_size==0);
+
+    stat("../test/data/unit/test_processBuf_PE2.undef.fq", &fileStat);
+    assert(fileStat.st_size==0);
+
+    assert(remove((char *) "../test/data/unit/test_processBuf_PE1.undef.fq")==0);
+    assert(remove((char *) "../test/data/unit/test_processBuf_PE2.undef.fq")==0);
 }
 
 
+void Aux_MimicBigPEFilesWithMQOptions(const FasqQualThreshold& qual_thres,const int bufsize,const int nb_expected_reads) {
+    srp sr;
+    char * fq_1_test=(char *) "../test/data/unit/09-4607_S43_R1_big.fastq";
+    char * fq_2_test=(char *) "../test/data/unit/09-4607_S43_R2_big.fastq";
+    char * fq_1_test_undef=(char *) "../test/data/unit/09-4607_S43_R1.undef.fastq";
+    char * fq_2_test_undef=(char *) "../test/data/unit/09-4607_S43_R2.undef.fastq";
+
+    char * fq_1_expected_undef_100=(char *) "../test/data/unit/thres_100_09-4607_S43_R1.undef.fastq";
+    char * fq_2_expected_undef_100=(char *) "../test/data/unit/thres_100_09-4607_S43_R2.undef.fastq";
+
+    char * fq_1_expected_undef_180=(char *) "../test/data/unit/thres_180_09-4607_S43_R1.undef.fastq";
+    char * fq_2_expected_undef_180=(char *) "../test/data/unit/thres_180_09-4607_S43_R2.undef.fastq";
+
+    unsigned char f_id1=1;
+    unsigned char f_id2=2;
+
+    // FqBaseBackend::bufsize=bufsize; // choose a very small buf size to mimic behavior on big files and reun the test in a short time
+    FqBaseBackend::setQualThreshold(qual_thres);
+    FqMainBackend::setTreatPEMode(0);
+
+    processPEFiles(fq_1_test, f_id1,fq_2_test, f_id2,&sr,fq_1_test_undef,fq_2_test_undef,bufsize);
+
+    srp::reverse_iterator rit;
+    i_dim::iterator it_offs;
+    k_dim::iterator it_struct;
+    int cnt_read=0;
+
+    for (rit=sr.rbegin(); rit!=sr.rend(); ++rit) { //process map in reverse order (by decreasing scores).
+        //unsigned long score=rit->first;
+        for (it_offs=rit->second.begin();it_offs!=rit->second.end();it_offs++) {
+            for (it_struct=it_offs->second.begin();it_struct!=it_offs->second.end();it_struct++) {
+                cnt_read++;
+            }
+        }
+    }
+    assert(cnt_read==nb_expected_reads);
+    if (nb_expected_reads==6) {
+        assert(compareFilesLileByLine(fq_1_test_undef,fq_1_expected_undef_100)==0);
+        assert(compareFilesLileByLine(fq_2_test_undef,fq_2_expected_undef_100)==0);
+    } else {
+        assert(compareFilesLileByLine(fq_1_test_undef,fq_1_expected_undef_180)==0);
+        assert(compareFilesLileByLine(fq_2_test_undef,fq_2_expected_undef_180)==0);
+    }
+    assert(remove((char *) "../test/data/unit/09-4607_S43_R1.undef.fastq")==0);
+    assert(remove((char *) "../test/data/unit/09-4607_S43_R2.undef.fastq")==0);
+}
+
+
+void test_MimicBigPEFilesWithMQOptions() {
+  int bufsize;
+    FasqQualThreshold qual_thres;
+    qual_thres.k=20;
+    qual_thres.nucl_score_threshold=14+k_phred_32;
+    qual_thres.min_correct_k_mers_in_read=100;
+
+    bufsize=500;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,6);
+    bufsize=400;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,6);
+    bufsize=800;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,6);
+
+    qual_thres.min_correct_k_mers_in_read=180;
+    bufsize=500;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,3);
+    bufsize=400;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,3);
+    bufsize=800;
+    Aux_MimicBigPEFilesWithMQOptions(qual_thres,bufsize,3);
+}
+
 int main(int argc, char **argv) {
     cout<<"test for single file"<<endl;
     test_processSingleFile();
@@ -279,8 +809,22 @@ int main(int argc, char **argv) {
     cout<<"test the case of records that contain @ character in quality score"<<endl;
     test_processPEfilesWithA();
     cout<<"test for both single and PE files"<<endl;
-    test_processAllFiles(); /* mix PE together with single; nearly as in real life.*/
+    test_processAllFiles(); // mix PE together with single; nearly as in real life.
     cout<<"testing higher level function processInputFiles"<<endl;
     test_processInputFiles();
+    cout<<"test processing single files with thresholds (nucleotide quality score and minimum number of valid k_mers in read). "<<endl;
+    test_processBufSingle();
+    test_processSingleFileWithMQOption();
+    cout<<"test processing PE files with thresholds (nucleotide quality score and minimum number of valid k_mers in read). "<<endl;
+    test_processBufPE();
+    test_processPEFilesWithMQOptions();
+    cout<<"test processing files with thresholds (nucleotide quality score and minimum number of valid k_mers in read) mimic big files that need several read operations. "<<endl;
+    test_MimicBigPEFilesWithMQOptions();
+    cout<<"test processing PE files with nucleotide quality threshold and PE not treated as single option."<<endl;
+    test_processPE_not_as_single();
+    cout<<"test processing PE files with lots of errors in PE2; nucleotide quality threshold and PE not treated as single option."<<endl;
+    test_processPE_not_as_single2();
+    cout<<"test processing PE files with PE not treated as single; quality score threshold and minimum number of valid k-mer."<<endl;
+    test_processPE_not_as_singleWithMQ();
     cout<<"done"<<endl;
 }
diff --git a/src/unit_test_fqwriter.cpp b/src/unit_test_fqwriter.cpp
index 69d107f8a67d44f5d7a6cfed6628440729436ffa..21ad59c061b642b1a79a70d58ff975b6a2e96129 100644
--- a/src/unit_test_fqwriter.cpp
+++ b/src/unit_test_fqwriter.cpp
@@ -4,6 +4,9 @@
  *  Created on: Mar 14, 2016
  *      Author: vlegrand
  */
+
+#include <sys/stat.h>
+
 #include <cstdio>
 #include <cassert>
 #include <unistd.h>
@@ -83,7 +86,7 @@ void test_write_PE() {
     // step2 : create the backends
     FqBaseBackend * map_id_backend[k_max_input_files];
     FqMainBackend * be_fq1=new FqMainBackend(&sr);
-    unsigned char f_id1=1;
+    //unsigned char f_id1=1;
     FqAuxBackend * be_fq2=new FqAuxBackend();
     map_id_backend[0]=be_fq1;
     map_id_backend[1]=be_fq2;
diff --git a/src/unit_test_read_utils.cpp b/src/unit_test_read_utils.cpp
index fb795e74e483052f3309869976d1c3f5807169d8..da9d830afc0095f1e182353bcaa0a2ef7ed836c9 100644
--- a/src/unit_test_read_utils.cpp
+++ b/src/unit_test_read_utils.cpp
@@ -29,7 +29,7 @@ void test_getReadSingle() {
     assert(my_struct1.read_a1==639);
     assert(my_struct2.read_a1==1228);
     srp io_sr;
-    unsigned int j=0;
+    // unsigned int j=0;
     DnaSeqStr a_seqs;
     char dna_read[MAX_READ_LENGTH];
 
@@ -166,7 +166,7 @@ void test_getReadPEWithNQST() {
     assert(my_struct2.read_a1==13647);
     assert(my_struct2.read_a2==6);
 
-    int min_score_qual=14;
+    int min_score_qual=14+k_phred_32;
     getDnaStr(fic_map,my_struct1,a_seqs,dna_read,min_score_qual);
     std::cout<<"PE dna read:"<<endl;
     std::cout<<dna_read<<endl;
@@ -183,31 +183,36 @@ void test_getReadPEWithNQST() {
 void test_decomposeReadInkMerNums() {
     int k=5;
     ReadProcessor read_p(k);
-    readNumericValues nbrKmerDecompo;
+    T_read_numericValues nbrKmerDecompo;
     
     DnaSeqStr a_seqs[2];
     init_DnaSeqStr(&a_seqs[0]);
     init_DnaSeqStr(&a_seqs[1]);
     DnaSeqStr * seq1=a_seqs;
-    //cout<<strlen("AAAAAAAAAA")<<endl;
+
     strcpy(seq1->fq_record_buf,"@fake_stuff\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n+\n....@\n");
     seq1->start_idx=12;
     seq1->length=75;
-    decomposeReadInKMerNums(read_p,nbrKmerDecompo,k,a_seqs);
-    assert(nbrKmerDecompo.size()==71);
+    decomposeReadInKMerNums(read_p,nbrKmerDecompo,k,1,a_seqs);
+    assert(nbrKmerDecompo.single_or_PE_val.size()==71);
+    assert(nbrKmerDecompo.idx_start_PE2==0);
     readNumericValues::iterator it;
-    for (it=nbrKmerDecompo.begin();it!=nbrKmerDecompo.end();it++) {
-        // cout<<*it<<endl;
+    for (it=nbrKmerDecompo.single_or_PE_val.begin();it!=nbrKmerDecompo.single_or_PE_val.end();it++) {
         assert(*it==1023);
     }
     DnaSeqStr * seq2=&a_seqs[1];
     strcpy(seq2->fq_record_buf,"@another_fake_stuff\nATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG\n+\n....@\n");
     seq2->start_idx=20;
     seq2->length=80;
-    nbrKmerDecompo.clear();
-    decomposeReadInKMerNums(read_p,nbrKmerDecompo,k,a_seqs);
-    //cout<<nbrKmerDecompo.size()<<endl;
-    assert(nbrKmerDecompo.size()==147);
+    nbrKmerDecompo.single_or_PE_val.clear();
+    decomposeReadInKMerNums(read_p,nbrKmerDecompo,k,1,a_seqs);
+    assert(nbrKmerDecompo.single_or_PE_val.size()==147);
+    assert(nbrKmerDecompo.idx_start_PE2==0);
+
+    T_read_numericValues nbrKmerDecompo2;
+    decomposeReadInKMerNums(read_p,nbrKmerDecompo2,k,0,a_seqs);
+    assert(nbrKmerDecompo2.single_or_PE_val.size()==147);
+    assert(nbrKmerDecompo2.idx_start_PE2==71);
 }
 
 
@@ -288,8 +293,8 @@ void testDNAToNumberMoreComplex() { // TODO in main, check that k<=32.
     int nb_expected_k_mers=strlen(dnaStr)+1;
     nb_expected_k_mers-=k;
     nbrKmerDecompo.reserve(nb_expected_k_mers);
-    unsigned long expected=read_p.kMerToNumber((char *) "GCTACCATAACACCAACTGTTTTCACCATA",NULL);
-    unsigned long expected_rev=read_p.kMerToNumber((char *) "TATGGTGAAAACAGTTGGTGTTATGGTAGC",NULL);
+    // unsigned long expected=read_p.kMerToNumber((char *) "GCTACCATAACACCAACTGTTTTCACCATA",NULL);
+    // unsigned long expected_rev=read_p.kMerToNumber((char *) "TATGGTGAAAACAGTTGGTGTTATGGTAGC",NULL);
 
     read_p.getKMerNumbers((char *) dnaStr,strlen(dnaStr),nbrKmerDecompo);
     assert(nbrKmerDecompo.size()==nb_expected_k_mers); // for each k_mer, we also expect to have a number for its reverse complement.
@@ -357,7 +362,6 @@ void testDNAToNumberWithN() {
     it+=11;
     // The 1rst expected k-mer is the one after the 3rd N char (starting at position 47 in dnaStr). ATCAAGCATTAGAGACGCTTCTCTAATGTA or its reverse complement depending
     assert(*it==max(234837138459816172,886965076742957027));
-
   
     char dnaStr2[]="GCCTTTTCTTTTTCCAGGGAAAACCATCCAGGAGGAACTTTATTATGGCGATGTATGAAGTCGGTACCGTCACGGGTGCCGCGTCGCAGGCACGGGTGACAGGTGCGACAACAAAATGGTCACAGGAGGCGCTGNGGATACAGCCCGGGTCGATTCTGGTGGTCTACCGCAGCGGTAGTGCTGACCTGTATGCGATCAAATCCGTGGACAGCGACACGCAACTGACGCTGACCCGGAATATCACCACCGC";
     nb_expected_k_mers=strlen(dnaStr2)+1;
@@ -366,7 +370,7 @@ void testDNAToNumberWithN() {
     nbrKmerDecompo.clear();
     nbrKmerDecompo.reserve(nb_expected_k_mers);
     read_p.getKMerNumbers((char *) dnaStr2,strlen(dnaStr2),nbrKmerDecompo);
-  assert(nbrKmerDecompo.size()==nb_expected_k_mers-k); // there is only one N in danStr2.
+    assert(nbrKmerDecompo.size()==nb_expected_k_mers-k); // there is only one N in danStr2.
 
 }
 
@@ -382,7 +386,7 @@ void test_getReadWithNQST() {
     assert(my_struct1.read_a1==639);
     assert(my_struct2.read_a1==1228);
     srp io_sr;
-    unsigned int j=0;
+    //unsigned int j=0;
     DnaSeqStr a_seqs;
     char dna_read[MAX_READ_LENGTH];
 
@@ -395,7 +399,7 @@ void test_getReadWithNQST() {
     fic_map[3]=&be_fq;
 
     init_DnaSeqStr(&a_seqs);
-    nucl_qual_score_thres=32;
+    nucl_qual_score_thres=32+k_phred_32;
     getDNASeqstr(fic_map, my_struct1, 0, &a_seqs,nucl_qual_score_thres);
     char * tmp=(char *) a_seqs.fq_record_buf;
     tmp+=a_seqs.start_idx;
@@ -406,7 +410,7 @@ void test_getReadWithNQST() {
     assert(strcmp(dna_read,"NNNNNAGGTGCTACCATAACACCAACTGTTTTCACNATAATTTTAAAATCAAGCATTAGAGACGCNTCTCTAATGTATTGCAAATCTAGTTCTACCATTTGATGAAAATCTAATTNATTTCTTCCACTANCCTGCCATAATCCAGTACAACCTGGTATAACGGNCAANCGCTTTTTATCATAGGANCTGTATTCTCCTACCTCACGTGGCAAAGGAGGNCTTGGACCAACAATTGCCATGTCTCCTTTAACCACATTCCAAAGCTGNNNNN")==0);
 
     init_DnaSeqStr(&a_seqs);
-    nucl_qual_score_thres=50;
+    nucl_qual_score_thres=50+k_phred_32;
     getDNASeqstr(fic_map, my_struct1, 0, &a_seqs,nucl_qual_score_thres);
     tmp=(char *) a_seqs.fq_record_buf;
     tmp+=a_seqs.start_idx;
diff --git a/src/unit_tests_tools.cpp b/src/unit_tests_tools.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..15f02a1d843cfc111f9600a140da74927406f2b2
--- /dev/null
+++ b/src/unit_tests_tools.cpp
@@ -0,0 +1,71 @@
+/*
+ * unit_tests_tools.cpp
+ *
+ *  Created on: Jan 4, 2017
+ *      Author: vlegrand
+ */
+#include <string.h>
+#include <iostream>
+#include <fstream>
+#include <assert.h>
+
+using namespace std;
+
+
+/*
+ * Auxilliary method to compare 2 files and make ure that they are identical.
+ */
+int compareFilesLileByLine(char * filename1,char* filename2) {
+    ifstream file1,file2;
+    file1.open(filename1,ios::binary|ios::in);
+    assert(file1.good());
+    file2.open(filename2,ios::binary|ios::in);
+    assert(file2.good());
+//---------- compare number of lines in both files ------------------
+    int c1,c2;
+    c1 = 0; c2 = 0;
+    string str;
+    while(!file1.eof())
+    {
+        getline(file1,str);
+        c1++;
+    }
+    file1.clear();   //  sets a new value for the error control state
+    file1.seekg(0,ios::beg);
+    while(!file2.eof())
+    {
+        getline(file2,str);
+        c2++;
+    }
+    file2.clear();
+    file2.seekg(0,ios::beg);
+
+    if(c1 != c2)
+    {
+        cout << "Different number of lines in files!" << "\n";
+        cout << "file1 has " << c1 << " lines and file2 has "
+                     << c2 << " lines" << "\n";
+        return -1;
+    }
+//---------- compare two files line by line ------------------
+    char string1[1000], string2[1000]; // assume a read in afastq record is never longer than that.
+    int j = 0;
+    while(!file1.eof())
+    {
+        file1.getline(string1,256);
+        file2.getline(string2,256);
+        j++;
+        if(strcmp(string1,string2) != 0)
+        {
+            cout << j << "-th strings are not equal" << "\n";
+            cout << "   " << string1 << "\n";
+            cout << "   " << string2 << "\n";
+            return -1;
+        }
+    }
+
+    return 0;
+}
+
+
+
diff --git a/src/unit_tests_tools.h b/src/unit_tests_tools.h
new file mode 100644
index 0000000000000000000000000000000000000000..e62b2c012bf356bc520f3b774472ed1d1e8a46b2
--- /dev/null
+++ b/src/unit_tests_tools.h
@@ -0,0 +1,15 @@
+/*
+ * unit_tests_tools.h
+ *
+ *  Created on: Jan 4, 2017
+ *      Author: vlegrand
+ */
+
+#ifndef UNIT_TESTS_TOOLS_H_
+#define UNIT_TESTS_TOOLS_H_
+
+int compareFilesLileByLine(char * filename1,char* filename2);
+
+
+
+#endif /* UNIT_TESTS_TOOLS_H_ */
diff --git a/test-driver b/test-driver
new file mode 100755
index 0000000000000000000000000000000000000000..8e575b017d93702e9ec30bc6c3f0e08839e805e8
--- /dev/null
+++ b/test-driver
@@ -0,0 +1,148 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2013-07-13.22; # UTC
+
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--]
+              TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+   *) break;;
+  esac
+  shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+  usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+  usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='' # Red.
+  grn='' # Green.
+  lgn='' # Light green.
+  blu='' # Blue.
+  mgn='' # Magenta.
+  std=''     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
+fi
+
+case $tweaked_estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/test/Makefile.am b/test/Makefile.am
index b9f8f5f9590b0a58e8e4ea5624723c4cfde8547b..6131da00c91ae684422d72bc2ba87440a655ed5f 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -4,6 +4,23 @@ LOG_COMPILER = $(SHELL)
 
 TESTS = rock.sh
 
-EXTRA_DIST = $(TESTS) rock_mem.sh data/iofiles.args/extract_klebsiella_long_reads_100.txt data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt data/fastq.raw/klebsiella_100_1.fq data/fastq.raw/klebsiella_100_2.fq data/unit/klebsiella_PE1.fq data/unit/klebsiella_PE2.fq data/unit/test_PE1.fq data/unit/test_PE2.fq data/unit/test_PE1_2.fq data/unit/test_PE2_2.fq data/unit/test_single2.fq data/unit/test_single.fq data/unit/list_input1.txt data/unit/list_output1.txt data/unit/list_input2.txt data/unit/list_output2.txt data/unit/list_input3.txt data/unit/list_output3.txt data/iofiles.args/output_files_noNQ_Thres.txt data/iofiles.args/output_files_NQ_Thres_very_low.txt data/iofiles.args/output_files_NQ_Thres_12.txt data/iofiles.args/output_files_NQ_Thres_13.txt
+EXTRA_DIST = $(TESTS) rock_mem.sh data/iofiles.args/extract_klebsiella_long_reads_100.txt \
+data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt data/fastq.raw/klebsiella_100_1.fq \
+data/fastq.raw/klebsiella_100_2.fq data/unit/klebsiella_PE1.fq data/unit/klebsiella_PE2.fq data/unit/test_PE1.fq \
+data/unit/test_PE2.fq data/unit/test_PE1_2.fq data/unit/test_PE2_2.fq data/unit/test_single2.fq \
+data/unit/test_single.fq data/unit/list_input1.txt data/unit/list_output1.txt data/unit/list_input2.txt \
+data/unit/list_output2.txt data/unit/list_input3.txt data/unit/list_output3.txt \
+data/iofiles.args/output_files_noNQ_Thres.txt data/iofiles.args/output_files_NQ_Thres_very_low.txt \
+data/iofiles.args/output_files_NQ_Thres_12.txt data/iofiles.args/output_files_NQ_Thres_13.txt \
+data/unit/09-4607_S43_R1.fastq data/unit/09-4607_S43_R2.fastq data/unit/09-4607_S43_R1_big.fastq \
+data/unit/09-4607_S43_R2_big.fastq data/unit/thres_100_09-4607_S43_R1.undef.fastq \
+data/unit/thres_100_09-4607_S43_R2.undef.fastq data/unit/thres_180_09-4607_S43_R1.undef.fastq \
+data/unit/thres_180_09-4607_S43_R2.undef.fastq data/fastq.raw/klebsiella_5_1_bad_scores.fq \
+data/fastq.raw/klebsiella_5_2_bad_scores.fq data/iofiles.args/output_files_2_PE_separated.txt \
+data/unit/test_PE1_PE_not_as_single.fq data/unit/test_PE2_PE_not_as_single.fq \
+data/unit/expected_PE1_PE_not_as_single.undef.fastq data/unit/expected_PE2_PE_not_as_single.undef.fastq \
+data/unit/test_PE1_PE_not_as_single_pathological.fq data/unit/test_PE2_PE_not_as_single_pathological.fq \
+data/unit/fake_PE1.fq data/unit/fake_PE2.fq \
+data/iofiles.args/output_files_2_PE_separated_lenient.txt data/fastq.raw/klebsiella_6_1_bad_scores.fq data/fastq.raw/klebsiella_6_2_bad_scores.fq
 
 
diff --git a/test/Makefile.in b/test/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..df8c1656ab9131bdc1cf21823bf9461a4bcfadee
--- /dev/null
+++ b/test/Makefile.in
@@ -0,0 +1,801 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = test
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red=''; \
+    grn=''; \
+    lgn=''; \
+    blu=''; \
+    mgn=''; \
+    brg=''; \
+    std=''; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[ 	]*:recheck:[ 	]*
+am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
+am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+	    recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[ 	]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);					\
+$(am__vpath_adj_setup) $(am__vpath_adj)			\
+$(am__tty_colors);					\
+srcdir=$(srcdir); export srcdir;			\
+case "$@" in						\
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
+    *) am__odir=.;; 					\
+esac;							\
+test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
+  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
+if test -f "./$$f"; then dir=./;			\
+elif test -f "$$f"; then dir=;				\
+else dir="$(srcdir)/"; fi;				\
+tst=$$dir$$f; log='$@'; 				\
+if test -n '$(DISABLE_HARD_ERRORS)'; then		\
+  am__enable_hard_errors=no; 				\
+else							\
+  am__enable_hard_errors=yes; 				\
+fi; 							\
+case " $(XFAIL_TESTS) " in				\
+  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
+    am__expect_failure=yes;;				\
+  *)							\
+    am__expect_failure=no;;				\
+esac; 							\
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EXEEXT = @EXEEXT@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POD2MAN = @POD2MAN@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_COLOR_TESTS = no
+LOG_COMPILER = $(SHELL)
+TESTS = rock.sh
+EXTRA_DIST = $(TESTS) rock_mem.sh data/iofiles.args/extract_klebsiella_long_reads_100.txt \
+data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt data/fastq.raw/klebsiella_100_1.fq \
+data/fastq.raw/klebsiella_100_2.fq data/unit/klebsiella_PE1.fq data/unit/klebsiella_PE2.fq data/unit/test_PE1.fq \
+data/unit/test_PE2.fq data/unit/test_PE1_2.fq data/unit/test_PE2_2.fq data/unit/test_single2.fq \
+data/unit/test_single.fq data/unit/list_input1.txt data/unit/list_output1.txt data/unit/list_input2.txt \
+data/unit/list_output2.txt data/unit/list_input3.txt data/unit/list_output3.txt \
+data/iofiles.args/output_files_noNQ_Thres.txt data/iofiles.args/output_files_NQ_Thres_very_low.txt \
+data/iofiles.args/output_files_NQ_Thres_12.txt data/iofiles.args/output_files_NQ_Thres_13.txt \
+data/unit/09-4607_S43_R1.fastq data/unit/09-4607_S43_R2.fastq data/unit/09-4607_S43_R1_big.fastq \
+data/unit/09-4607_S43_R2_big.fastq data/unit/thres_100_09-4607_S43_R1.undef.fastq \
+data/unit/thres_100_09-4607_S43_R2.undef.fastq data/unit/thres_180_09-4607_S43_R1.undef.fastq \
+data/unit/thres_180_09-4607_S43_R2.undef.fastq data/fastq.raw/klebsiella_5_1_bad_scores.fq \
+data/fastq.raw/klebsiella_5_2_bad_scores.fq data/iofiles.args/output_files_2_PE_separated.txt \
+data/unit/test_PE1_PE_not_as_single.fq data/unit/test_PE2_PE_not_as_single.fq \
+data/unit/expected_PE1_PE_not_as_single.undef.fastq data/unit/expected_PE2_PE_not_as_single.undef.fastq \
+data/unit/test_PE1_PE_not_as_single_pathological.fq data/unit/test_PE2_PE_not_as_single_pathological.fq \
+data/unit/fake_PE1.fq data/unit/fake_PE2.fq \
+data/iofiles.args/output_files_2_PE_separated_lenient.txt data/fastq.raw/klebsiella_6_1_bad_scores.fq data/fastq.raw/klebsiella_6_2_bad_scores.fq
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu test/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+	rm -f $< $@
+	$(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+	@:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+	@$(am__set_TESTS_bases); \
+	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+	redo_bases=`for i in $$bases; do \
+	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+	            done`; \
+	if test -n "$$redo_bases"; then \
+	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+	  if $(am__make_dryrun); then :; else \
+	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+	  fi; \
+	fi; \
+	if test -n "$$am__remaking_logs"; then \
+	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+	       "recursion detected" >&2; \
+	elif test -n "$$redo_logs"; then \
+	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+	fi; \
+	if $(am__make_dryrun); then :; else \
+	  st=0;  \
+	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+	  for i in $$redo_bases; do \
+	    test -f $$i.trs && test -r $$i.trs \
+	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+	    test -f $$i.log && test -r $$i.log \
+	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+	  done; \
+	  test $$st -eq 0 || exit 1; \
+	fi
+	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+	ws='[ 	]'; \
+	results=`for b in $$bases; do echo $$b.trs; done`; \
+	test -n "$$results" || results=/dev/null; \
+	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+	  success=true; \
+	else \
+	  success=false; \
+	fi; \
+	br='==================='; br=$$br$$br$$br$$br; \
+	result_count () \
+	{ \
+	    if test x"$$1" = x"--maybe-color"; then \
+	      maybe_colorize=yes; \
+	    elif test x"$$1" = x"--no-color"; then \
+	      maybe_colorize=no; \
+	    else \
+	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	    fi; \
+	    shift; \
+	    desc=$$1 count=$$2; \
+	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
+	      color_start=$$3 color_end=$$std; \
+	    else \
+	      color_start= color_end=; \
+	    fi; \
+	    echo "$${color_start}# $$desc $$count$${color_end}"; \
+	}; \
+	create_testsuite_report () \
+	{ \
+	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
+	  result_count $$1 "PASS: " $$pass  "$$grn"; \
+	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
+	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+	  result_count $$1 "FAIL: " $$fail  "$$red"; \
+	  result_count $$1 "XPASS:" $$xpass "$$red"; \
+	  result_count $$1 "ERROR:" $$error "$$mgn"; \
+	}; \
+	{								\
+	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
+	    $(am__rst_title);						\
+	  create_testsuite_report --no-color;				\
+	  echo;								\
+	  echo ".. contents:: :depth: 2";				\
+	  echo;								\
+	  for b in $$bases; do echo $$b; done				\
+	    | $(am__create_global_log);					\
+	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
+	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
+	if $$success; then						\
+	  col="$$grn";							\
+	 else								\
+	  col="$$red";							\
+	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
+	fi;								\
+	echo "$${col}$$br$${std}"; 					\
+	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
+	echo "$${col}$$br$${std}"; 					\
+	create_testsuite_report --maybe-color;				\
+	echo "$$col$$br$$std";						\
+	if $$success; then :; else					\
+	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
+	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
+	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
+	  fi;								\
+	  echo "$$col$$br$$std";					\
+	fi;								\
+	$$success || exit 1
+
+check-TESTS:
+	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+	exit $$?;
+recheck: all 
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	bases=`for i in $$bases; do echo $$i; done \
+	         | $(am__list_recheck_tests)` || exit 1; \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	log_list=`echo $$log_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+	        am__force_recheck=am--force-recheck \
+	        TEST_LOGS="$$log_list"; \
+	exit $$?
+rock.sh.log: rock.sh
+	@p='rock.sh'; \
+	b='rock.sh'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+	@p='$<'; \
+	$(am__set_b); \
+	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@	@p='$<'; \
+@am__EXEEXT_TRUE@	$(am__set_b); \
+@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+	cscopelist-am ctags-am distclean distclean-generic distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am recheck tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/data/extract_klebsiella_long_reads_100.txt b/test/data/extract_klebsiella_long_reads_100.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30e36a6a3f2b8cd03456f2d67c67ae13e43d112e
--- /dev/null
+++ b/test/data/extract_klebsiella_long_reads_100.txt
@@ -0,0 +1 @@
+../test/data/fastq.raw/klebsiella_100_1.fq,../test/data/fastq.raw/klebsiella_100_2.fq
diff --git a/test/data/extract_klebsiella_long_reads_100_filtered.txt b/test/data/extract_klebsiella_long_reads_100_filtered.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea7f60971b545dd1d0be20064276e5219c31e51d
--- /dev/null
+++ b/test/data/extract_klebsiella_long_reads_100_filtered.txt
@@ -0,0 +1 @@
+../test/data/fastq.filtered/SRR1222430_1.filtered.fastq,../test/data/fastq.filtered/SRR1222430_2.filtered.fastq
diff --git a/test/data/fastq.raw/klebsiella_5_1_bad_scores.fq b/test/data/fastq.raw/klebsiella_5_1_bad_scores.fq
new file mode 100644
index 0000000000000000000000000000000000000000..23531af41b955983819662a23aec64d1d77a2e29
--- /dev/null
+++ b/test/data/fastq.raw/klebsiella_5_1_bad_scores.fq
@@ -0,0 +1,20 @@
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CAFGFDA1GAEG2FGFAFFCEFGCA/GFD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
diff --git a/test/data/fastq.raw/klebsiella_5_2_bad_scores.fq b/test/data/fastq.raw/klebsiella_5_2_bad_scores.fq
new file mode 100644
index 0000000000000000000000000000000000000000..4f6f0d938eca9b58e726dc1358df59ef2dbf15c9
--- /dev/null
+++ b/test/data/fastq.raw/klebsiella_5_2_bad_scores.fq
@@ -0,0 +1,20 @@
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!HHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
diff --git a/test/data/fastq.raw/klebsiella_6_1_bad_scores.fq b/test/data/fastq.raw/klebsiella_6_1_bad_scores.fq
new file mode 100644
index 0000000000000000000000000000000000000000..1e81522a1ab50a23a7668193b2080c6a1f650f45
--- /dev/null
+++ b/test/data/fastq.raw/klebsiella_6_1_bad_scores.fq
@@ -0,0 +1,24 @@
+@SRR1222430.1 1 length=251
+GCCCGCGAAGCGGAGCTGGCCGCCTGCAAAGGCCGTTCGCGCTCGCTGTCGCTGGATCTGTACGCCCAGTGGCGCTGCATGGAGGACAACCACGGCAAGTGGCGCTTCACCTCGCCGACCCATACCGTGCTGGCCTTCGCCCAGGCGCTGAAAGAGCTGGCGCAGGAGGGCGGCGTCAGCGCTCGCCATCAGCGCTACCGCAACAATCAGCGCCGTCTGGTGGCAGGGATGCGCGCGCTCGGCTTCCGGCC
++SRR1222430.1 1 length=251
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.2 2 length=250
+AGAAATTCGCCATCAGAATAAAAACCTCATATGCACATTTTCTTGTTATTGCACAGCCTGTGCCACTTTAGCGCCAGCCTCTCCGGCAATCGTGGAGAAATTAAGGAGATAGTGTAATTTATCATGTTGCTTTTGCCGTATCGTAAAGAAACCTCGAGCTTTCCTGCCAGCAGGTAGCGAGTCTGCTTCGTCACCGCAGACCGGCGCATTATCCCTTGCCGGTGTGAAACCTCATTTCATTTAAGTCAAA
++SRR1222430.2 2 length=250
+BBBBBFFFBBBBFGGGGGGGGGHHGGHHHHHHHHGFGHHHHHHHHGHHHFFFHHFHHHHHHEHGFHHHFGFGFGGGEGGFHHFHGCGGGHHGHHGGHFAFHHHEGFHHGGHHFHFHHHHHEHHHHHHHHHHHGHHHGGGGHHGHFGGFDGFGFHGEGFCDHGGHHHHHHHGHHEHHGHGGGGHGFHHEHGHGGGGDFGGGHHGADA?DBGGGGGGFFFFBBFFFFFFFFFFFFFFFFFBFFFFFFFFF/B
+@SRR1222430.3 3 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.3 3 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.4 4 length=249
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAACCATGGCTCGGCGCCCAGGGCATCGTCCCGCAATCCGATGACTGGATGGTCGTCGCCAAAGGCACGATCAACGTCCAGCCTGCGGTGGTGATTGCCATCACTGGCACCTTCCAGGGCGGCAGTATTGGCGAAGTGTCCGGCCTCAAAATTGCCGCCGCCATGGTGCTGGCGGCGGATG
++SRR1222430.4 4 length=249
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CAFGFDA1GAEG2FGFAFFCEFGCA/GFD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.5 5 length=208
+CGCTTATGGAAATGTGACGATCGTCACCGTTCCGCCCCGGGAGAACGGGGCGGAAAAAGAGGGCGATTTTAGTGCCAGCAGAAGTGATGAACCACCTGGCTAATCAGCTCCCGGGTCGGCTTGATAAAGCGCGTCTCCAGATACTCGTCAGGCTGATGGGCCTGATTGATGGAGCCCGGGCCGAGAACCAGCGTCGGACACAGCGTCT
++SRR1222430.5 5 length=208
+CCDDCCFFFFFFGGGGGGGGGGGHHHGHGHGHHGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGHGHHHHHHHHHGHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=236
+CAAACACCTGACGCGGTTCCAGCAGGTACTCCTGCACGCCAATTTCCGGGCGGGCAGTAAAGCGCTGTTTGCAGCCCGTCTGGTGCAGGCGCCCCAGATAGCGGCCAACCCATTCCATCTGATCAAGGTTATCCGCTTCGAACTGACGACCGCCAAGGCTTGGGAAAACGGCAAAGTAGAATCCCTGATGCTGATGAAGCGTGCTGTCATTAAATAAGAGCGGCGCAGCAACGGGC
++SRR1222430.6 6 length=236
+CCCCCFFCFFFFGGGGGGGGGGHHHHHFGHHHHHHHHGGGGGHHHHHGGGGGGGGGGHHHHHHGGGGGHHHHHHHHGGGGHGHGHHGGHGGGGGGGGHHHHHGGGGGHGGGGHHHHGHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/test/data/fastq.raw/klebsiella_6_2_bad_scores.fq b/test/data/fastq.raw/klebsiella_6_2_bad_scores.fq
new file mode 100644
index 0000000000000000000000000000000000000000..7ab7ee06509752898cc022089ef4419d9a59c2a8
--- /dev/null
+++ b/test/data/fastq.raw/klebsiella_6_2_bad_scores.fq
@@ -0,0 +1,24 @@
+@SRR1222430.1 1 length=250
+CGATGCTGCGCTGCATCAATAAGCTGGAAGAGATCACCAGCGGCGATCTGATTGTCGATGGTCTGAAGGTCAACGACCCGAAGGTGGACGAACGTCTGATTCGTCAGGAAGCCGGGATGGTTTTCCAGCAGTTTTATCTGTTCCCGCACCTCACGGCGCTGGAAAACGTGATGTTTGGCCCGCTGCGGGTACGCGGCGCCAGCAAGCAGGCGGCGAGTGCAGGCTATCGTCGAGCAGCGGCCGGAAGCCG
++SRR1222430.1 1 length=250
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@SRR1222430.2 2 length=251
+AGAAATTCGCCAGGGTGATCAACGTCTCATCGTCGGCGAGGGTCAGCGCCTGCGCGGGACAGTTTTCCACACAGGCCGGCCCCGCCTCGCGGCCCTGGCATAGATCGCACTTGTGCGCGCTGGCTTTCACCAGGCCTGCGGCCTGCGGCGTCACCACCACCTGCATCACCCCGAACGGGCAGGCCACCATGCAGGATTTACAGCCAATGCATTTCTCCTGACGGACCTGAACGCTGTCGCCGGACTGGGCG
++SRR1222430.2 2 length=251
+>1>AAFFF?11AEGGFFCGGGGGFGHFH2FF1F00EEE/AAEE0FGGFGEGGHGGCGC?EEFHEFEEHDF1EECHEFE/@@/BCCCFGAC@CC@C.CEGFHFHGHFHCEC?FH;CC?CG@@?-AF.BB0BFGF?E./EF;@?;AFF@<-@@??BFF?F-:A?BF999BBBF@@?@@@F-;@B@FF-A-9FF/BFFE/F//B/BBEFBFFFFF/BFFFFFFFEB?-@=B-/BBF--:;/A-B>--;>?EFE9
+@SRR1222430.3 3 length=236
+GCCCGTTGCTGCGCCGCTCTTATTTAATGACAGCACGCTTCATCAGCATCAGGGATTCTACTTTGCCGTTTTCCCAAGCCTTGGCGGTCGTCAGTTCGAAGCGGATAACCTTGATCAGATGGAATGGGTTGGCCGCTATCTGGGGCGCCTGCACCAGACGGGCTGCAAACAGCGCTTTACTGCCCGCCCGGAAATTGGCGTGCAGGAGTACCTGCTGGAACCGCGTCAGGTGTTTG
++SRR1222430.3 3 length=236
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!HHHEFGGCFGHHHHGGFGGGGGGGGGGGGGGGGGFFFEFFFFFFFBFFFFF=;ABFF/FA:DB;BF.9.BFFFFFFF/AFFFFFABDFFB/9BD.;
+@SRR1222430.4 4 length=250
+GCATGGAAAAGGGGTGTGGTGGGGAAAAGGGGAGATCCCTGCTGGAGCCCTACCCCTTAAAAAAAAAAACACAGCACCGGCTGCGTCGGGATACCGTAGCGTATCTCTACCGCCGCCATCACCCGCGCGCGTGCCATTTGGTCACCCAACAATGTGCCCATATGTCCTCCCACAGATGAGTACGTGATGCCAATCCTCATCGCAGAATAGCCTCTCAGTGGCCCCTTTGTAACCCACATACCCTACTTGG
++SRR1222430.4 4 length=250
+>>11111111111A100A0AAEA00A0A0//////011B11/1B10B0A/0B000/B0BB111/>/E////0?0/<0<////</<///////0??///.>-...0=1<=1D----::-::00/.----------;/:;;//-:/;/--9---;/9//////;/99/////-----9///;///----///9;9//-/9////-;--///////-//////;---9--/////:/----////;/--////
+@SRR1222430.5 5 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.5 5 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
+@SRR1222430.6 6 length=208
+AGACGCTGTGTCCGACGCTGGTTCTCGGCCCGGGCTCCATCAATCAGGCCCATCAGCCTGACGAGTATCTGGAGACGCGCTTTATCAAGCCGACCCGGGAGCTGATTAGCCAGGTGGTTCATCACTTCTGCTGGCACTAAAATCGCCCTCTTTTTCCGCCCCGTTCTCCCGGGGCGGAACGGTGACGATCGTCACATTTCCATAAGCG
++SRR1222430.6 6 length=208
+DDDDDDCDDFFFGGGGGGGGGGHHHHGGGGGGGGGGHGHHHHHHHHHHHGGGHHHHHHHHHHGGGGHHHHHHHHHGGGGGGGGHHHHHHHGGGGGGGGGGGGHHHHHHHHHHHHGHGGGHHHHHHHHHHHHHHHGHHHHHHHHHGGGGGHHHHHHHHGGGGGGGGGGGGGGFGGFFFFFFFFDFFFFFFFFFFEFFFFFFFFFFFFFF
diff --git a/test/data/iofiles.args/output_files_2_PE_separated.txt b/test/data/iofiles.args/output_files_2_PE_separated.txt
new file mode 100644
index 0000000000000000000000000000000000000000..402148ddcc99d1524bd5775740ca9e03669a4e58
--- /dev/null
+++ b/test/data/iofiles.args/output_files_2_PE_separated.txt
@@ -0,0 +1 @@
+tmp/klebsiella_5_1_2_qual_thres.fq,tmp/klebsiella_5_2_2_qual_thres.fq
diff --git a/test/data/iofiles.args/output_files_2_PE_separated_lenient.txt b/test/data/iofiles.args/output_files_2_PE_separated_lenient.txt
new file mode 100644
index 0000000000000000000000000000000000000000..704fe9f9a1855b882d8104c7871035d564216d0a
--- /dev/null
+++ b/test/data/iofiles.args/output_files_2_PE_separated_lenient.txt
@@ -0,0 +1 @@
+tmp/klebsiella_6_1_2_qual_thres.fq,tmp/klebsiella_6_2_2_qual_thres.fq
diff --git a/test/data/unit/09-4607_S43_R1.fastq b/test/data/unit/09-4607_S43_R1.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..d492ec62c9087ce98b6f6c15419d03358c9938ab
--- /dev/null
+++ b/test/data/unit/09-4607_S43_R1.fastq
@@ -0,0 +1,16 @@
+@NS500443:65:H573HAFXX:1:11101:6972:1045/1
+GACGGTGGTTCTGGTGCTGCGTAACGAGACCGTTGTTGGCGTCCTCGCCCTCCAGGATACGTTGCGTGACGATGCGCGCGACGCCATCCGCGATCTGCATCAGTTAGGCGTTAACGGCGTGATTCTGACTGGCGATAACCCACGGGCGGCG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEA<<
+@NS500443:65:H573HAFXX:1:11101:23631:1047/1
+CATATAAAGGGTATCTATTTCCCGGGAGGTGACTATGATAGCCAGCAAATTCGGTATCGGCCAACAGGTCCGCCATTCCCTGTTAGGTTACCTCGGAGTGGTCGTCGATATCGACCCGGAATATTCGCTTGATGAGCCGTCGCCTGATGAA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEAEEEEAEAEEEAEEAEEEEEEAEEAE<<EEEE<AEAEEEEAEEE<AE</
+@NS500443:65:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
diff --git a/test/data/unit/09-4607_S43_R1_big.fastq b/test/data/unit/09-4607_S43_R1_big.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..40191a45c14ab880a405da878011e9ccb625a61e
--- /dev/null
+++ b/test/data/unit/09-4607_S43_R1_big.fastq
@@ -0,0 +1,44 @@
+@NS500443:65:H573HAFXX:1:11101:6972:1045/1
+GACGGTGGTTCTGGTGCTGCGTAACGAGACCGTTGTTGGCGTCCTCGCCCTCCAGGATACGTTGCGTGACGATGCGCGCGACGCCATCCGCGATCTGCATCAGTTAGGCGTTAACGGCGTGATTCTGACTGGCGATAACCCACGGGCGGCG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEA<<
+@NS500443:65:H573HAFXX:1:11101:23631:1047/1
+CATATAAAGGGTATCTATTTCCCGGGAGGTGACTATGATAGCCAGCAAATTCGGTATCGGCCAACAGGTCCGCCATTCCCTGTTAGGTTACCTCGGAGTGGTCGTCGATATCGACCCGGAATATTCGCTTGATGAGCCGTCGCCTGATGAA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEAEEEEAEAEEEAEEAEEEEEEAEEAE<<EEEE<AEAEEEEAEEE<AE</
+@NS500443:65:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:66:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:67:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:68:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:69:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:70:H573HAFXX:1:11101:6972:1045/1
+GACGGTGGTTCTGGTGCTGCGTAACGAGACCGTTGTTGGCGTCCTCGCCCTCCAGGATACGTTGCGTGACGATGCGCGCGACGCCATCCGCGATCTGCATCAGTTAGGCGTTAACGGCGTGATTCTGACTGGCGATAACCCACGGGCGGCG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEA<<
+@NS500443:71:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
+@NS500443:72:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
diff --git a/test/data/unit/09-4607_S43_R2.fastq b/test/data/unit/09-4607_S43_R2.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..f3bd38142700ef09c2838855344146485157eccf
--- /dev/null
+++ b/test/data/unit/09-4607_S43_R2.fastq
@@ -0,0 +1,16 @@
+@NS500443:65:H573HAFXX:1:11101:6972:1045/2
+CGCCGGCAATCGCTGCCGCCGCCCGTGGGTTATCGCCAGTCAGAATCACGCCGTTAACGCCTAACTGATGCAGATCGCGGATGGCGTCGCGCGCATCGTCACGCAACGTATCCTGGAGGGCGAGGACGCCAACAACGGTCTCGTTACGCAG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE/EEEEEEEEEE<EEEE/
+@NS500443:65:H573HAFXX:1:11101:23631:1047/2
+ACCACGGAGCGGCGCGAAGTTCGTCGTTAACCGCCAGTTCATCAGGCGACGGCTCATCAAGCGAATATTCCGGGTCGATATCGACGACCACTCCGAGGTAACCTAACAGGGAATGGCGGACCTGTTGGCCGATACCGAATTTGCTGGCTAT
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEE/EEEEE<EE/EEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEAA</EEEAEA<AEEEEEAEEEE
+@NS500443:65:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
diff --git a/test/data/unit/09-4607_S43_R2_big.fastq b/test/data/unit/09-4607_S43_R2_big.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..c036509490f588f218219de8b740ba2f384d0bdc
--- /dev/null
+++ b/test/data/unit/09-4607_S43_R2_big.fastq
@@ -0,0 +1,44 @@
+@NS500443:65:H573HAFXX:1:11101:6972:1045/2
+CGCCGGCAATCGCTGCCGCCGCCCGTGGGTTATCGCCAGTCAGAATCACGCCGTTAACGCCTAACTGATGCAGATCGCGGATGGCGTCGCGCGCATCGTCACGCAACGTATCCTGGAGGGCGAGGACGCCAACAACGGTCTCGTTACGCAG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE/EEEEEEEEEE<EEEE/
+@NS500443:65:H573HAFXX:1:11101:23631:1047/2
+ACCACGGAGCGGCGCGAAGTTCGTCGTTAACCGCCAGTTCATCAGGCGACGGCTCATCAAGCGAATATTCCGGGTCGATATCGACGACCACTCCGAGGTAACCTAACAGGGAATGGCGGACCTGTTGGCCGATACCGAATTTGCTGGCTAT
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEE/EEEEE<EE/EEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEAA</EEEAEA<AEEEEEAEEEE
+@NS500443:65:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:66:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:67:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:68:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:69:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:70:H573HAFXX:1:11101:6972:1045/2
+CGCCGGCAATCGCTGCCGCCGCCCGTGGGTTATCGCCAGTCAGAATCACGCCGTTAACGCCTAACTGATGCAGATCGCGGATGGCGTCGCGCGCATCGTCACGCAACGTATCCTGGAGGGCGAGGACGCCAACAACGGTCTCGTTACGCAG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE/EEEEEEEEEE<EEEE/
+@NS500443:71:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
+@NS500443:72:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
diff --git a/test/data/unit/expected_PE1_PE_not_as_single.undef.fastq b/test/data/unit/expected_PE1_PE_not_as_single.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..48792d4b724c998937716237fc0f6d57ca822061
--- /dev/null
+++ b/test/data/unit/expected_PE1_PE_not_as_single.undef.fastq
@@ -0,0 +1,8 @@
+@NS500443:42:H3MH2AFXX:1:11101:1162:1066/1
+AGATCAAACTACTTGCCTCGCTTGAAAAAAGCATCGAGATTCATAATGACGCTGGTGTTGTAACGGCAGATTTGCTGCTTGCTCGGGTTTTACGGTATGATTTTTCAAGTGATGTATTTGACGAAGAAAAGGAGTATATTTTACCAGAATT
++
+!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!EE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@NS500443:42:H3MH2AFXX:1:11101:17849:1071/1
+ACAGTAACGCGCGCATGGTAATCCCCGTATTGTGCAAGACGTTCAGCAAACTCATTTCCAGACATAACACCTTCAGCAACAACAATGATGCTGTGCTTTTTACCACGTTCACGTCCCTTATTAAGACGCCCTACAATATCATCCATGTTAA
++
+AAAAAE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEEEEEEEEE/EEAEE/EEAEAEAEEEEE</E//EE/EEEEEEEEEA<EEAAAEEEEEAEEEEAA<AE/EA<AEEEAEEE/EAEAEEEEEEEEEAEEEEEEEEEA/
diff --git a/test/data/unit/expected_PE2_PE_not_as_single.undef.fastq b/test/data/unit/expected_PE2_PE_not_as_single.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..268c3a1d7a0e11eade7ee31e1cb7df1db8cd956f
--- /dev/null
+++ b/test/data/unit/expected_PE2_PE_not_as_single.undef.fastq
@@ -0,0 +1,8 @@
+@NS500443:42:H3MH2AFXX:1:11101:1162:1066/2
+CCCTAGAATTATAGTTCAGTTTAGTTCCAAATAGGGTCACAAAATGTGATAGACAGGTCCCGTTCCATACCAAAAAAACTTGGTACTCCGCACTATTCAATTAGCGGTTAACATTCACTTTGGAACGAAGTCTATACAGCCACATAATTTG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEAEEEEE<EEEEEAEEEEEA/EEEAAEE<EAAEEAEEEE<EEEEEEEEE/EAE<EAEEEEEEE
+@NS500443:42:H3MH2AFXX:1:11101:17849:1071/2
+GTGGAGACGGTTCTTATCACGGTGCTGAGGCTCTTACTAAACGTGGTTTCCCAACAATTGGAATTCCGGGAACAATCGATAATGATATTTCAGGAACAGACTTCACAATAGGTTTCGATACAGCGCTAAATACAGTTTTAGACGCACTTGA
++
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/test/data/unit/fake_PE1.fq b/test/data/unit/fake_PE1.fq
new file mode 100644
index 0000000000000000000000000000000000000000..3e855a2da1190222ddccbfd0e0e1aa30545764a7
--- /dev/null
+++ b/test/data/unit/fake_PE1.fq
@@ -0,0 +1,4 @@
+@SRR1222430.1378154 1378154 length=94
+CAGGAACCGCCTTCTGGTGATTTGCAAGAACGCAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTT
++SRR1222430.1378154 1378154 length=94
+CCCCDFFDCDDCGGGGGGGGGGHHHHHHHHHGEGGCHFGEBFEHHHGGEGGHHHHHHGHHHGHGGEGFGGGE/FGHGGHHHHGGGHGHGGHHH
diff --git a/test/data/unit/fake_PE2.fq b/test/data/unit/fake_PE2.fq
new file mode 100644
index 0000000000000000000000000000000000000000..3e855a2da1190222ddccbfd0e0e1aa30545764a7
--- /dev/null
+++ b/test/data/unit/fake_PE2.fq
@@ -0,0 +1,4 @@
+@SRR1222430.1378154 1378154 length=94
+CAGGAACCGCCTTCTGGTGATTTGCAAGAACGCAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTT
++SRR1222430.1378154 1378154 length=94
+CCCCDFFDCDDCGGGGGGGGGGHHHHHHHHHGEGGCHFGEBFEHHHGGEGGHHHHHHGHHHGHGGEGFGGGE/FGHGGHHHHGGGHGHGGHHH
diff --git a/data/test_PE1.fq b/test/data/unit/test_PE1_PE_not_as_single.fq
similarity index 85%
rename from data/test_PE1.fq
rename to test/data/unit/test_PE1_PE_not_as_single.fq
index 6be87976ca245fb623439e8dcd85285dd2da1561..8329c73822c9d37840b17a2f334124b9ed4ad2c2 100644
--- a/data/test_PE1.fq
+++ b/test/data/unit/test_PE1_PE_not_as_single.fq
@@ -1,7 +1,7 @@
 @NS500443:42:H3MH2AFXX:1:11101:1162:1066/1
 AGATCAAACTACTTGCCTCGCTTGAAAAAAGCATCGAGATTCATAATGACGCTGGTGTTGTAACGGCAGATTTGCTGCTTGCTCGGGTTTTACGGTATGATTTTTCAAGTGATGTATTTGACGAAGAAAAGGAGTATATTTTACCAGAATT
 +
-/A6AAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EAEEEEEEEEEEEEAEEEEEEE<EEEEEEEAE<EEEEEE
+!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!EE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 @NS500443:42:H3MH2AFXX:1:11101:7372:1069/1
 TTCCAGAAGCGGATTATTTGCAGGAACTGCGGCGGTTTTTCTATCAAGACGAACGGCAAACTTATTCGAATGAAGCTGTTGCTAACCGTTTTTATGAGCATTTTGATGTCGTCTATGAAAAACGAATAACGAAACAGAAAACGTTACAAAA
 +
diff --git a/test/data/unit/test_PE1_PE_not_as_single_pathological.fq b/test/data/unit/test_PE1_PE_not_as_single_pathological.fq
new file mode 100644
index 0000000000000000000000000000000000000000..a46a2aa8b0f85cc7c69221a182b57622fcc9237e
--- /dev/null
+++ b/test/data/unit/test_PE1_PE_not_as_single_pathological.fq
@@ -0,0 +1,12 @@
+@SRR1222430.1378154 1378154 length=251
+CAGGAACCGCCTTCTGGTGATTTGCAAGAACGCAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAACTGGTGTTGAAGGTTAAAATGATACATGCAGATAAACAATAATGTGTGATCTTGTACGAATCAAAAACTACAAACGCACGATAGAACTATGTTATAGACTAACAATACGCATCAGCGCGACAGTCTTGGTTACGTCTATAT
++SRR1222430.1378154 1378154 length=251
+CCCCDFFDCDDCGGGGGGGGGGHHHHHHHHHGEGGCHFGEBFEHHHGGEGGHHHHHHGHHHGHGGEGFGGGE/FGHGGHHHHGGGHGHGGHHHHHHHHHGGGG/</<<<-<00/0/...00000000:0:0000000:000000;;0;.;00;9000.009000000.....0000..000000..----...;00000000000000000000000:....-000.:-----:000000.00././.900
+@SRR1222430.1527342 1527342 length=251
+GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAAATGTAAAAATAGTCGTAGATGAGATTATCAATCGTTTGAGTAGTCAGATAACACTAGGAGCCAGTGTGAGCGTCAAAGCGGAAAGCACATAGGCACAGCGACATACGTAACGGTACTGGCGCTACATTAGACGTCGTAACAATGTGATGTTGTAGAGCAGGCTCATACACAC
++SRR1222430.1527342 1527342 length=251
+AAAAAAAAAFFFGFCC1FGG01GEFHHFFHGHHHHFHAAFDAGGFGGHHGHEEEFFEFHGFH10FHHHGGGGE@///>/<B1222B>10112B//0?/22>11111222211/<?F/1/11111111111111101010../.000000/-...:00/.--:9C////C000;09/;.----.00-//----;-;///-----9///9///----99--;////////9;/-/;B////----///;///-
+@SRR1222430.1918478 1918478 length=249
+GATCGGAAGAGCACACGTCTGAACTCCATTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTGAAAAAAAAAAAAAAAAACGAAGAAAGGAAAGGATGTAAGGAGGACAAATCAGAAAAAAGTAGGAACGCGAGCAGAAGGAGAATGAAGAGAAGGTCACGGTGAGAGAGTGAACGCGGGAAAAGAGTGAAGAGAGGTGAGGACTAAGATGAGTAGTGGGGAAATAGTAGATCAGATCGCGCGAGAACC
++SRR1222430.1918478 1918478 length=249
+BB@ABBABBFFBGGFGGFGFFFHHFHCGHHHGGGCFH5GFC5FEFFAGHHHE?EFFFFGFHHGHHF5CEE?EEF?/EE////////2220?2200222222222//?/000111111100<.1110<0...<----////:....000000.9//./0//......0/../00//..-9---9./.9////9/;.../;/.././///9//;///9//.9-...//////9///;///..----9;./.
diff --git a/data/test_PE2.fq b/test/data/unit/test_PE2_PE_not_as_single.fq
similarity index 85%
rename from data/test_PE2.fq
rename to test/data/unit/test_PE2_PE_not_as_single.fq
index c5b32694dcbf3f985ff71bc819ebe551b9bfed35..658d9ef650501dfa15405486ade050bc5df5c26d 100644
--- a/data/test_PE2.fq
+++ b/test/data/unit/test_PE2_PE_not_as_single.fq
@@ -9,4 +9,4 @@ AAAAAEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEE/EAEEAEEEEEEEEEEE/EAEEEEEEEEEEE<EE<EEEAEEE
 @NS500443:42:H3MH2AFXX:1:11101:17849:1071/2
 GTGGAGACGGTTCTTATCACGGTGCTGAGGCTCTTACTAAACGTGGTTTCCCAACAATTGGAATTCCGGGAACAATCGATAATGATATTTCAGGAACAGACTTCACAATAGGTTTCGATACAGCGCTAAATACAGTTTTAGACGCACTTGA
 +
-AAAAAE6EE6EEEEEEEE/EEEEAE6EEAEEEEEEAEEEAEAEAEEEEEEAEAE6EEEEEEEEEEEAEEEAEEEEEEEEEEEEA6EAEAEA/AEAEE6EA6EEE<A/EE/EEEE//E/<AE/6AEAE//EEEAAEE/AA6E<AAEA6EAEA
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/test/data/unit/test_PE2_PE_not_as_single_pathological.fq b/test/data/unit/test_PE2_PE_not_as_single_pathological.fq
new file mode 100644
index 0000000000000000000000000000000000000000..f77ebaa782e6cab0d8bafd5ed2f885a2948ea988
--- /dev/null
+++ b/test/data/unit/test_PE2_PE_not_as_single_pathological.fq
@@ -0,0 +1,12 @@
+@SRR1222430.1378154 1378154 length=35
+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
++SRR1222430.1378154 1378154 length=35
+###################################
+@SRR1222430.1527342 1527342 length=35
+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
++SRR1222430.1527342 1527342 length=35
+###################################
+@SRR1222430.1918478 1918478 length=35
+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
++SRR1222430.1918478 1918478 length=35
+###################################
diff --git a/test/data/unit/test_single3.fq b/test/data/unit/test_single3.fq
new file mode 100644
index 0000000000000000000000000000000000000000..529b444ab504e7829403716479fab8eb4a3eabb1
--- /dev/null
+++ b/test/data/unit/test_single3.fq
@@ -0,0 +1,12 @@
+@NS500443:42:H3MH2AFXX:4:21612:7700:17642
+CTCGAATCGTATCCAAAGCTCCAATATGGTCATAAAGCGTGTGAGTGAGCAAAATAGCAACTGGAGTTGCACC
++
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE
+@NS500443:42:H3MH2AFXX:4:21612:10137:17635
+CTGCAATGACAATGCGATTTGTGTTCCAAGCTTCTTTTTGGGCGTTTTCTGCAATTTTAAGCAGCGTCGCGTAACAT
++
+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+@NS500443:42:H3MH2AFXX:4:21612:18162:19319
+GGCTAGTGCTTCAGCTTCTTCCAGATATTGGGTAGTAAGAAAGATGGTGATGCCAGAAGCTGCCATTTTTCTGATCGTATCCCACAGTGCAAGGCGCGCTTCTGGATCGAGCCCAACTGATGGTTCATCTAAAAAGACGAGTTCTGGGGAGCCTAGCATGGTCATAGCAAGGTCTAATCGGCGCTTCATACCACCAGAATAAGTGGATAAAGGCTTCCCGCCAGCTTCCTCTAAGTCAAATTGTTTTAAGC
++
+AAAAAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEE//EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEE/EE//EEEEEEEEEEEEEEEEEEEE/EEEEEE//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEAEEEEEEEEEEEEEE/EEEEEEEEEEEEEEAEEEEEEE/EEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEE/EEEAAAAA
diff --git a/test/data/unit/thres_100_09-4607_S43_R1.undef.fastq b/test/data/unit/thres_100_09-4607_S43_R1.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..69b9baa4d6c331275a5b41379d192a7c7912031f
--- /dev/null
+++ b/test/data/unit/thres_100_09-4607_S43_R1.undef.fastq
@@ -0,0 +1,20 @@
+@NS500443:65:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:66:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:67:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:68:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:69:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
diff --git a/test/data/unit/thres_100_09-4607_S43_R2.undef.fastq b/test/data/unit/thres_100_09-4607_S43_R2.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..42a913a61d0b754a00ba887657d6dd16abc8ccce
--- /dev/null
+++ b/test/data/unit/thres_100_09-4607_S43_R2.undef.fastq
@@ -0,0 +1,20 @@
+@NS500443:65:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:66:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:67:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:68:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:69:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
diff --git a/test/data/unit/thres_180_09-4607_S43_R1.undef.fastq b/test/data/unit/thres_180_09-4607_S43_R1.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..4fde1ccad52b41bde26c1288428ea7baf121f8d1
--- /dev/null
+++ b/test/data/unit/thres_180_09-4607_S43_R1.undef.fastq
@@ -0,0 +1,32 @@
+@NS500443:65:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:66:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:67:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:68:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:69:H573HAFXX:1:11101:3151:1053/1
+GGCAAAGCGCTAAAAGCAGCGAGCGTAGCGCGGGAAGAGCTGTTTATCACCACCAAGTTGTGGAATGACGTTGCCATCCTGTAGCCTGATAATGGTTGGATTAGCCATGATGTGTTCCTCTTTTAATTGGCTCGCCGGAGTCGGGTCCGG
++
+AAAAAAEEEEEEEEEEEAEEE/EEEEAEEEEEEEEEEEEEAEEEAEEEAEEEEEEEEEEEEEEEEEEAEAAEEE//<EEAE/EEEEE/EAEEEEEAAEEE/A<EEEEEE/EEE/<66EEEA6E6EEEEEEEEAE<AA<EEAEEEEEEEAE
+@NS500443:71:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
+@NS500443:72:H573HAFXX:1:11101:20964:1048/1
+ACATTTCACTGGTCATGAGCTTGGTGAGAGAAGCGATACGAATGACCGAATCAAGCTGTGGACGAACATTATTGCCCGGTCTGGTGTCACCGAAACTACGAAACACGCGTTGATTGCCGTCGATCACCACCAGCGCCATGCCCGTGGCGC
++
+AAAAAEEAEEEEEEEEE6EE/EEEEEEEEAEEAEEEEEEEEEEEEEEAEEEA/A/EEEAEEEEEE/EE</EAEEEEEE/EEE/<//AEEE<E/E/EEEEEEEEE/AAA6EAE<<EE<EEEEEA6E<EAEEAA<EEEAEAEEA<<<<EEAA
diff --git a/test/data/unit/thres_180_09-4607_S43_R2.undef.fastq b/test/data/unit/thres_180_09-4607_S43_R2.undef.fastq
new file mode 100644
index 0000000000000000000000000000000000000000..03fe6589d839a6787eb2adb5e06003f378e77f07
--- /dev/null
+++ b/test/data/unit/thres_180_09-4607_S43_R2.undef.fastq
@@ -0,0 +1,32 @@
+@NS500443:65:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
+@NS500443:65:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:66:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:67:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:68:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:69:H573HAFXX:1:11101:3151:1053/2
+CTGACTTTCGTTTTTGGCCATTTCGTCCAGACTTAAGTCACTTAGTCTCGCCGGACCCGACTCCGGCGAGCCAATTAAAAGAGGAACACATCATGGCTAATCCCACCATTATCAGGCTACAGGATGGCAACGTCATTCCACAACTTGGTGG
++
+AAAAAE/EEEAEEEEE/EEEEAEEEEEEEEAAAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEAEEAEEEEEEEEEEAE/EEE/EEE/EE/AAEE<A<EEE//EEEA6E<E/A<E/AE<E/<EEEE<<EE/E</AEE/E/<A/<A<AE6
+@NS500443:71:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
+@NS500443:72:H573HAFXX:1:11101:20964:1048/2
+CTGATATCGTTGATCGTTATGCCGAGCATATCTTTTATGGTAGCGGCGCCACGGGCATGGCGCTGGTGGTGATCGACGGCAATCAACGCGTGTTTCGTAGTTTCGGTGACACCAGACCGGGCAATAATGTTCGTCCACAGCTTGATTCGGT
++
+AAAAAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEE/EEEEAE<EEEEEEEEEEAEEA<<E<EAEAAEE<EEEEEEEEEEEEEAE</A<AEEEE<EAAA<AA
diff --git a/test/old/test_single.fq b/test/old/test_single.fq
deleted file mode 100644
index 8416483906c3c0546c68766ea0112d95bd332449..0000000000000000000000000000000000000000
--- a/test/old/test_single.fq
+++ /dev/null
@@ -1,24 +0,0 @@
-@NS500443:42:H3MH2AFXX:1:11101:18066:6020/1
-TCGCTCACAAGCGCAATCGTTTCTCCATTTTGCAGTTGTTCGACAAGCTCGTTTTCGCGTTCTCGCTCGCTATATTGGTGGTAGCTCACCATCTTCGTGTGAATTTCAAAATGGTTGAGCAGCTTGATCGTATTTCGCGTATCTTCTGCGG
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEA
-@NS500443:42:H3MH2AFXX:1:11101:6390:6038/1
-CATGAAGGAACGCTTAGTCCAGTTTTATACGGACATGAACATTGATGGGAACTTTATTTCGCTTGGTAATAATACATGGGGACGTCGAGCATGGTATCCAATTGATGCGATCGATGAAGAAGTTCAAACACACTCAGCTCCGAAGAAAAAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEE//EEEEEEEEEEEEEEAEEEEEEEA
-@NS500443:42:H3MH2AFXX:1:11101:3205:10492/1
-ATTAGGCACATTGTTTCCTTCAAGTGCGGAAATTGGAATGATTTCTGCAAAATCAAGTTTTTCTCTATAGGTTTCTATTAGCTGGATAAGTTCATCTGGACTGACTAAATCAATTTTATTGATCAATAGAAAAACAGGTGTATCCACTTGT
-+
-AAAAAEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEAEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEAEEEEEEEEEEE6AAEEEEEEAEEEE<EEAAEEAEE<EEAE/<EEA/EEEEEEAAEEEE/EEEA<EE
-@NS500443:42:H3MH2AFXX:1:11101:11822:11415/1
-ATATTACGAACTATTTTTTTGCACGAACTGTCCAACACATTGAGGAAACGCTGTTTAAAAATGGCTATTCCACCATTATTTGTAACACAGATCGAAGTCTCGAAAAGGAAAAAGCTTATCTTGAAATGTTGAAGGCGAAAATGATCGACGG
-+
-AAA/AEEEEEEEEEEEEEEEEEEEEE6EEEEEEEAEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEE//AE/E<EEEEEEEEAE/EEEEEEEEEEEEEEEEEE<EEEEEEEEAEEAEEE<<EEEAAEEEEEAAAEEEEEEEEEAAA6EE
-@NS500443:42:H3MH2AFXX:1:11101:17702:11983/1
-TTGGTAGACCGAGTGATTCCGATGTTGCCGCATAAACTTTCAAATGGAATTTGTTCGCTGAATCCGCAAGTGGATCGCTTTACGCTTAGCTGTGTGATGGAAATTGATGCGGACGGGCAAGTCGTGAATCACGAGATTTTTGAAAGTGTGA
-+
-AAAAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE
-@NS500443:42:H3MH2AFXX:1:11101:11233:12467/1
-GTATTTGCGGCATGTGAAAGAGCAAATGGGCGATTTGCCAGTTGCGATTGAATTTCGGAATAGCAGCTGGTATAGTGATGCCAATTATGAAAAAACGCTAGCGCTACTGACTGAACTTGGATTCATTCACGTGGTTGTCGATGAGCCGCAA
-+
-AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAE<<AAEA
diff --git a/test/rock.sh b/test/rock.sh
index e098d337b4c269d4436928e902e4f9f8f9b3e41a..524608b25262272903a5977c969bd512c211c00c 100755
--- a/test/rock.sh
+++ b/test/rock.sh
@@ -19,6 +19,7 @@ echo "checking rock options and error mesages"
 #../src/rock -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "usage"  >/dev/null ||exit 4
 #../src/rock -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt
 ../src/rock -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "parent directory for output files:" >/dev/null ||exit 5 
+
 echo " "
 echo "##################################################################################"
 echo "creating directory for test output files"
@@ -54,20 +55,27 @@ mkdir data/fastq.filtered || exit 6
 echo " "
 echo "##################################################################################"
 echo "doing more checks on options and error messages"
-../src/rock -C 500000 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for kappa"  >/dev/null || exit 7
-../src/rock -C 500 -c 600 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "ERROR lower filter is higher than high filter" >/dev/null || exit 8
-../src/rock -C 500 -c 400 -k 60 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for k" >/dev/null || exit 9
-../src/rock -C 500 -c 400 -k 10 -l 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for lambda" >/dev/null || exit 10
-../src/rock -C 500 -c 400 -k 10 -l 500 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Not enough RAM on the machine" >/dev/null || exit 11
+../src/rock -C 500000 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for kappa"  >/dev/null || exit 7
+../src/rock -C 500 -c 600 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "ERROR lower filter is higher than high filter" >/dev/null || exit 8
+../src/rock -C 500 -c 400 -k 60 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for k" >/dev/null || exit 9
+../src/rock -C 500 -c 400 -k 10 -l 0 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Bad value for lambda" >/dev/null || exit 10
+../src/rock -C 500 -c 400 -k 10 -l 500 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "Not enough RAM on the machine" >/dev/null || exit 11
 ../src/rock -C 500 -c 400 -k 10 -l 12 -g 25 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "options are mutually exclusive" >/dev/null|| exit 12
 ../src/rock -C 500 -c 400 -k 10 -g 10000 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "This machine only has" >/dev/null || exit 13
 ../src/rock -C 500 -c 400 -k 10 -l 12 -n 85000000 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt|grep "options are mutually exclusive">/dev/null || exit 14
+../src/rock -C 500 -c 400 -k 10 -q 3 -m 0 -p 0 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "minimum number of valid k-mer for keeping a read must be an integer">/dev/null || exit 15
+../src/rock -C 500 -c 400 -k 10 -q -1 -m 2 -p 0 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "q must be">/dev/null || exit 16
+../src/rock -C 500 -c 400 -k 10 -q 4 -m 2 -p 10 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "value for -p option must be 0, 1 or 2">/dev/null || exit 17
+../src/rock -C 500 -c 400 -k 10 -q 4 -m 2 -p 1,5 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "value for -p option must be 0, 1 or 2">/dev/null || exit 18
+../src/rock -C 500 -c 400 -k 10 -q 4 -m 2 -p -1 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "value for -p option must be 0, 1 or 2">/dev/null || exit 17
+
+#../src/rock -C 500 -c 400 -k 10 -q 2 -m 2 -i ${srcdir}/test/data/iofiles.args/extract_klebsiella_long_reads_100.txt|grep "Incompatible options">/dev/null || exit 161
 
 # here check that we have enough memory for running the tests.
 ../src/unit_test_cms CHECK_MEM
 if [ $? = 0 ] ## we have enough memory to run the tests in rock_mem.sh
 then 
-    ${srcdir}/rock_mem.sh ||exit 141
+    ${srcdir}/rock_mem.sh ||exit 255
 fi
 
 # unit tests
@@ -86,12 +94,12 @@ echo "unit testing for read utils"
 echo " "
 echo "##################################################################################"
 echo "unit testing for fqwriter"
-../src/unit_test_fqwriter || exit 25
+../src/unit_test_fqwriter || exit 24
 
 echo " "
 echo "#################################################################################"
 echo "unit testing for main utils"
-../src/unit_test_main_utils || exit 26
+../src/unit_test_main_utils || exit 25
 
 # cleanup
 echo " "
@@ -102,17 +110,17 @@ echo "erase_indata="$erase_indata
 if [ "$erase_indata" = "true" ] 
 then
     echo "erasing data/fastq.raw"
-    rm -fr data/fastq.raw || exit 211
+    rm -fr data/fastq.raw || exit 26
 fi
 if [ "$erase_indata" = "true" ] 
 then
    echo "erasing data/unit"
-   rm -fr data/unit || exit 212
+   rm -fr data/unit || exit 27
 fi
 if [ "$erase_indata" = "true" ] 
 then
    echo "erasing data/iofiles.args"
-   rm -fr data/iofiles.args || exit 212
+   rm -fr data/iofiles.args || exit 28
 fi
 
 
diff --git a/test/rock.sh.log b/test/rock.sh.log
new file mode 100644
index 0000000000000000000000000000000000000000..49e00a5e08ed10346d46371f1ea1eb7f445983da
--- /dev/null
+++ b/test/rock.sh.log
@@ -0,0 +1,199 @@
+srcdir=.
+ 
+##################################################################################
+checking rock options and error mesages
+ 
+##################################################################################
+creating directory for test output files
+copying input data for tests
+checking content of local data directory
+total 16
+-rw-r--r--   1 vlegrand  staff    86 Dec  1  2016 extract_klebsiella_long_reads_100.txt
+-rw-r--r--   1 vlegrand  staff   112 Dec  1  2016 extract_klebsiella_long_reads_100_filtered.txt
+drwxr-xr-x  10 vlegrand  staff   340 Jun 28 13:37 fastq.raw
+drwxr-xr-x  10 vlegrand  staff   340 Jun 28 15:10 iofiles.args
+drwxr-xr-x  35 vlegrand  staff  1190 Jun 29 10:01 unit
+checking content of local data/fastq.raw directory
+total 448
+-rw-r--r--  1 vlegrand  staff  52814 Mar  9  2016 klebsiella_100_1.fq
+-rw-r--r--  1 vlegrand  staff  52814 Jun  7  2016 klebsiella_100_1.rock.fq
+-rw-r--r--  1 vlegrand  staff  52864 Mar  9  2016 klebsiella_100_2.fq
+-rw-r--r--  1 vlegrand  staff  52864 Jun  7  2016 klebsiella_100_2.rock.fq
+-rw-r--r--@ 1 vlegrand  staff   2667 Jun 27 11:18 klebsiella_5_1_bad_scores.fq
+-rw-r--r--@ 1 vlegrand  staff   2670 Jun 27 11:18 klebsiella_5_2_bad_scores.fq
+-rw-r--r--  1 vlegrand  staff   3195 Jun 28 13:36 klebsiella_6_1_bad_scores.fq
+-rw-r--r--  1 vlegrand  staff   3142 Jun 28 13:37 klebsiella_6_2_bad_scores.fq
+checking content of local data/iofiles.args directory
+total 64
+-rw-r--r--  1 vlegrand  staff   86 May  9  2016 extract_klebsiella_long_reads_100.txt
+-rw-r--r--  1 vlegrand  staff  112 May  9  2016 extract_klebsiella_long_reads_100_filtered.txt
+-rw-r--r--  1 vlegrand  staff   70 Jan  6 15:21 output_files_2_PE_separated.txt
+-rw-r--r--  1 vlegrand  staff   70 Jun 28 15:10 output_files_2_PE_separated_lenient.txt
+-rw-r--r--  1 vlegrand  staff   76 Nov 30  2016 output_files_NQ_Thres_12.txt
+-rw-r--r--  1 vlegrand  staff   76 Nov 30  2016 output_files_NQ_Thres_13.txt
+-rw-r--r--  1 vlegrand  staff   88 Nov 28  2016 output_files_NQ_Thres_very_low.txt
+-rw-r--r--  1 vlegrand  staff   76 Nov 28  2016 output_files_noNQ_Thres.txt
+ 
+##################################################################################
+doing more checks on options and error messages
+INT_MAX=2147483647
+UINT_MAX=4294967295
+LONG_MAX=9223372036854775807
+ULONG_MAX=18446744073709551615
+ULONG_MAX/UINT_MAX=4294967297
+ULONG_MAX%UINT_MAX=4294967294
+sizeof(short)=2
+sizeof(int)=4
+sizeof(long)=8
+checking that your machine has enough RAM to run test
+machine has: 16 GB of RAM
+testing CMS with lambda=2
+size of the CMS component: 32
+min=200
+testing CMS with PE not as single strict kappa prime implementation
+size of the CMS component: 8
+testing CMS with PE not as single lenient kappa prime implementation
+size of the CMS component: 8
+done
+srcdir=.
+ 
+##################################################################################
+testing high filter
+ 
+##################################################################################
+testing low filter
+ 
+##################################################################################
+testing that input fastq file names can be provided in command line.
+erasing test result files
+ 
+##################################################################################
+testing verbose mode
+erasing test result files
+ 
+##################################################################################
+testing rock with a quality score threshold for nucleotides.
+ 
+##################################################################################
+testing ROCK with a quality score threshold for nucleotides and minimum number of valid k-mer to keep a read.
+ 
+##################################################################################
+testing ROCK with a quality score threshold for nucleotides and PE processed separately with strict filter 
+ 
+##################################################################################
+testing ROCK with a quality score threshold for nucleotides, PE processed separately (strict filter)  and -m option
+ 
+##################################################################################
+testing ROCK with no quality score threshold for nucleotides, no low filter and PE processed separately (strict filter)
+ 
+##################################################################################
+testing ROCK with no quality score threshold for nucleotides, no low filter and PE processed separately (lenient filter). Results should be the same as with strict filter
+ 
+##################################################################################
+testing ROCK with a quality score threshold for nucleotides, PE processed separately (lenient filter)  and -m option
+ Now use the scrict filter on the same data and check that the only difference is read SRR1222430.6 that should be kept by scrict filter
+ 
+##################################################################################
+unit testing for cms component
+INT_MAX=2147483647
+UINT_MAX=4294967295
+LONG_MAX=9223372036854775807
+ULONG_MAX=18446744073709551615
+ULONG_MAX/UINT_MAX=4294967297
+ULONG_MAX%UINT_MAX=4294967294
+sizeof(short)=2
+sizeof(int)=4
+sizeof(long)=8
+checking that your machine has enough RAM to run test
+machine has: 16 GB of RAM
+testing CMS with lambda=2
+size of the CMS component: 32
+min=200
+testing CMS with PE not as single strict kappa prime implementation
+size of the CMS component: 8
+testing CMS with PE not as single lenient kappa prime implementation
+size of the CMS component: 8
+done
+ 
+##################################################################################
+running unit tests
+unit testing for fqreader
+test for single file
+offset_quotient=0
+test for PE files
+ fileid1=1 read_a1=0
+ fileid2=2 read_a2=0
+349 0 fileid1=1 read_a1=349
+ fileid2=2 read_a2=0
+698 0 fileid1=1 read_a1=698
+ fileid2=2 read_a2=0
+test the case of records that contain @ character in quality score
+score=35
+ fileid1=3 read_a1=0
+ fileid2=4 read_a2=0
+ fileid1=3 read_a1=3108
+ fileid2=4 read_a2=2
+ fileid1=3 read_a1=4222
+ fileid2=4 read_a2=4
+score=34
+ fileid1=3 read_a1=4778
+ fileid2=4 read_a2=4
+score=33
+ fileid1=3 read_a1=558
+ fileid2=4 read_a2=-2
+ fileid1=3 read_a1=1114
+ fileid2=4 read_a2=0
+ fileid1=3 read_a1=3666
+ fileid2=4 read_a2=2
+score=29
+ fileid1=3 read_a1=2196
+ fileid2=4 read_a2=2
+score=27
+ fileid1=3 read_a1=2668
+ fileid2=4 read_a2=2
+score=26
+ fileid1=3 read_a1=1642
+ fileid2=4 read_a2=0
+test for both single and PE files
+testing higher level function processInputFiles
+test processing single files with thresholds (nucleotide quality score and minimum number of valid k_mers in read). 
+test processing PE files with thresholds (nucleotide quality score and minimum number of valid k_mers in read). 
+test processing files with thresholds (nucleotide quality score and minimum number of valid k_mers in read) mimic big files that need several read operations. 
+test processing PE files with nucleotide quality threshold and PE not treated as single option.
+test processing PE files with lots of errors in PE2; nucleotide quality threshold and PE not treated as single option.
+test processing PE files with PE not treated as single; quality score threshold and minimum number of valid k-mer.
+done
+ 
+##################################################################################
+unit testing for read utils
+test getting single reads.
+ACCCAAACTTGCCAGACTTGTGTAGAACGTCCAATATGTATCGGCATCGCTTCCACATGAATGAATCCTTGTTCCACACTTTTTATATGATTCGCATTAATTTCTTGTCCGAAAATCAACTGATTTTTTGCAACATTTTCTCCCGCTCCAAGACTGGCTGCATGTTCTGCAAGCGCAACAGAAACACCACCATGCAAGTAGCCAAAGGGTTGTTTGACCTGATCTGTTATTTCAAGCGCCAGTTCCACTC
+test getting PE reads.
+GGTTCTGTTGGCTCAAACGCCGTCACTTCATTGATCAAAAGCTTATAATGCGTGCCAAAGTCCGCCATCGAGACGACTACGCCTTCCCCTGCTTTCCCGTCAAAAACGAGTCTTGCCGGATCTTCACGGTCTCCCCTCGAAAGCGGCGAAATCTTAGAGGAAGGTGGATATAATGCCGTCACATCGAACTTTGAAGATCTATACGGCATGCAGCAGCTTCCAGGTCTTGCGGTGCAACGTTTAATGGCAGATGGCTACGGTTTTGCGGGGGAAGGAGACTGGAAAACGGCGGCGATCGACCG
+test getting reads with a quality score constraint on nucleotides.
+PE dna read:
+GGNTCTGTTGGCTCAAACGCCNTCACNTCNTTGNTCAAAAGCTTATAATGCGNGCCAAANTCCGCCATCGNGACNNCTACGCCTTCCCCNGCTNTCCCGNCAAANNCNNGTCTTGCCGGANCTTCNCNNNCTCCNNTCGAAAGCGGCGAAATCTTAGNGGAAGGNGGANATAATGCNNTCNCNTCGNACNNTGAANNTNTANNCGGCANNCNGCAGNNTCNAGGNCTTNCNGNGNAACGNTTAANNGCAGATGGCTACGGNTTTGCNGGGGNANGAGACNGGANANCNNNGNCGNTCGNCCN
+test converting k_mers of different size into number
+test converting an entire read to a series of numbers
+testing the case of N nucleotides
+testing higher level function: decomposeReadInKMerNums
+done
+ 
+##################################################################################
+unit testing for fqwriter
+ 
+#################################################################################
+unit testing for main utils
+testing main_utils
+testing processing of IOFile arguments ( following 2 error messages are what is expected; don't worry).
+ROCK cannot handle more than 15 input files.
+Inconsistency between input and output files lists!
+ROCK cannot handle more than 15 input files.
+test computation of the bast lambda value depending on nb distinct k-mers.
+testing computation of collision probability.
+done
+ 
+##################################################################################
+cleaning
+erase_indata=
+PASS rock.sh (exit status: 0)
diff --git a/test/rock.sh.trs b/test/rock.sh.trs
new file mode 100644
index 0000000000000000000000000000000000000000..3f0f396c4e40da33ee1725afcd68cba7884199c9
--- /dev/null
+++ b/test/rock.sh.trs
@@ -0,0 +1,4 @@
+:test-result: PASS
+:global-test-result: PASS
+:recheck: no
+:copy-in-global-log: no
diff --git a/test/rock_mem.sh b/test/rock_mem.sh
index 69d851caeed11b438e7a9f101ee81bc05874a776..d4956a709b561544921272c72143d2ead21d9b0b 100755
--- a/test/rock_mem.sh
+++ b/test/rock_mem.sh
@@ -9,76 +9,88 @@ echo " "
 echo "##################################################################################"
 echo "testing high filter"
 
-#echo "I want to check if I can write to a file ">../test/data/fastq.filtered/SRR1222430_1.filtered.fastq
-#cat ../test/data/fastq.filtered/SRR1222430_1.filtered.fastq
-../src/rock -C 100 -l 2 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt #>/dev/null || exit 15
+
+../src/rock -C 100 -c 0 -l 2 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt >/dev/null || exit 101
+
 # output files should be the same size, contain the same elements but not in the same order.
 nb_PE1=`grep -c "@" ${srcdir}/data/fastq.raw/klebsiella_100_1.fq`
 nb_PE2=`grep -c "@" ${srcdir}/data/fastq.raw/klebsiella_100_2.fq`
 
 
-ls -l ${srcdir}/
-ls -l ${srcdir}/data/
-ls -l data/fastq.filtered/
+#ls -l ${srcdir}/
+#ls -l ${srcdir}/data/
+#ls -l data/fastq.filtered/
 
-[ -f "data/fastq.filtered/SRR1222430_1.filtered.fastq" ] || exit 151
-[ -f "data/fastq.filtered/SRR1222430_2.filtered.fastq" ] || exit 152
+[ -f "data/fastq.filtered/SRR1222430_1.filtered.fastq" ] || exit 102
+[ -f "data/fastq.filtered/SRR1222430_2.filtered.fastq" ] || exit 103
 
 nb_PE1_filtered=`grep -c "@" data/fastq.filtered/SRR1222430_1.filtered.fastq`
 nb_PE2_filtered=`grep -c "@" data/fastq.filtered/SRR1222430_2.filtered.fastq`
 
-test $nb_PE1=$nb_PE1_filtered || exit 16
-test $nb_PE2=$nb_PE2_filtered || exit 17
+test $nb_PE1 -eq $nb_PE1_filtered || exit 104
+test $nb_PE2 -eq $nb_PE2_filtered || exit 105
 
 # test low filter.
 echo " "
 echo "##################################################################################"
 echo "testing low filter"
-../src/rock -C 100 -c 99 -l 2 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt >/dev/null || exit 18
+../src/rock -C 100 -c 99 -l 2 -p 0 -i ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100.txt -o ${srcdir}/data/iofiles.args/extract_klebsiella_long_reads_100_filtered.txt >/dev/null || exit 106
 
-[ -f "data/fastq.filtered/SRR1222430_1.filtered.fastq" ] || exit 181
-[ -f "data/fastq.filtered/SRR1222430_2.filtered.fastq" ] || exit 182
+[ -f "data/fastq.filtered/SRR1222430_1.filtered.fastq" ] || exit 107
+[ -f "data/fastq.filtered/SRR1222430_2.filtered.fastq" ] || exit 108
 
 nb_PE1_filtered=`grep -c "@" data/fastq.filtered/SRR1222430_1.filtered.fastq`
 nb_PE2_filtered=`grep -c "@" data/fastq.filtered/SRR1222430_2.filtered.fastq`
 
-test $nb_PE1_filtered=0 || exit 19
-test $nb_PE2_filtered=0 || exit 20
+test $nb_PE1_filtered -eq 0 || exit 109
+test $nb_PE2_filtered -eq 0 || exit 110
 
 # test that input fastq file names can be provided in command-line.
 echo " "
 echo "##################################################################################"
 echo "testing that input fastq file names can be provided in command line."
-../src/rock -C 100 -c 1 -l 2 ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq >/dev/null || exit 181
+../src/rock -C 100 -c 1 -l 2 -p 0 ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq >/dev/null || exit 111
+
+[ -f "klebsiella_100_1.rock.fq" ] || exit 112
+[ -f "klebsiella_100_2.rock.fq" ] || exit 113
+[ -f "test_single.rock.fq" ] || exit 114
+[ -f "test_single2.rock.fq" ] || exit 115
+
 
-[ -f "klebsiella_100_1.rock.fq" ] || exit 1811
-[ -f "klebsiella_100_2.rock.fq" ] || exit 1812
-[ -f "test_single.rock.fq" ] || exit 1813
-[ -f "test_single2.rock.fq" ] || exit 1814
 
 # checking that output files were sorted in decreasing order of quality score. For that expect to have SRR122430.1.1 as 1rst record in filtered file.
-ret=`head -4 "klebsiella_100_1.rock.fq"|grep "SRR122430.1.1"`
-test $ret=2 || exit 1815
+ret=`head -4 "klebsiella_100_1.rock.fq"|grep -c "SRR1222430.1.1"`
+test $ret -eq 2 || exit 116
 
 echo "erasing test result files"
-rm -fr "klebsiella_100_1.rock.fq" || exit 1816
-rm -fr "klebsiella_100_2.rock.fq" || exit 1817
-rm -fr "test_single.rock.fq"|| exit 1818
-rm -fr "test_single2.rock.fq"|| exit 1819
+rm -f "klebsiella_100_1.rock.fq" || exit 117
+rm -f "klebsiella_100_2.rock.fq" || exit 118
+rm -f "test_single.rock.fq"|| exit 119
+rm -f "test_single2.rock.fq"|| exit 120
+rm -f "klebsiella_100_1.undefined.fq" || exit 121
+rm -f "klebsiella_100_2.undefined.fq" || exit 122
+rm -f "test_single.undefined.fq" || exit 123
+rm -f "test_single2.undefined.fq" || exit 124
+
+
 
 # test the -v option
 echo " "
 echo "##################################################################################"
 echo "testing verbose mode"
-../src/rock -C 100 -c 1 -l 2 -v ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq|grep "CMS size=" >/dev/null || exit 182
+../src/rock -C 100 -c 1 -l 2 -p 0 -v ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq|grep "CMS size=" >/dev/null || exit 125
 
-../src/rock -C 100 -c 1 -v -n 1000 ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq|grep "expected probability of collision was:" >/dev/null || exit 183
+../src/rock -C 100 -c 1 -v -p 0 -n 1000 ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq ${srcdir}/data/unit/test_single.fq ${srcdir}/data/unit/test_single2.fq|grep "expected probability of collision was:" >/dev/null || exit 126
 
 echo "erasing test result files"
-rm -fr "klebsiella_100_1.rock.fq" || exit 1816
-rm -fr "klebsiella_100_2.rock.fq" || exit 1817
-rm -fr "test_single.rock.fq"|| exit 1818
-rm -fr "test_single2.rock.fq"|| exit 1819
+rm -f "klebsiella_100_1.rock.fq" || exit 127
+rm -f "klebsiella_100_2.rock.fq" || exit 128
+rm -f "test_single.rock.fq"|| exit 129
+rm -f "test_single2.rock.fq"|| exit 130
+rm -f "klebsiella_100_1.undefined.fq" || exit 131
+rm -f "klebsiella_100_2.undefined.fq" || exit 132
+rm -f "test_single.undefined.fq" || exit 133
+rm -f "test_single2.undefined.fq" || exit 134
 
 echo " "
 echo "##################################################################################"
@@ -96,43 +108,472 @@ expected_diff2="> @SRR1222430.37 37 length=251 \
 > A3>333BFA2FF4GBFFDGGCGED?FGEGGHGFFFEEG?AF13@50>///11B13@@1/>//B0?>////<//B/00??@/--:--.;:C000;:0/0009.-9:.00:-.;9/9...-;.--9@--9:////-9-9..////9/;//;9///.9-..--------..99.9.//////;-;--9-.////://9/9.;.-;-99-.//.;////-;?9;...9-9-----9;-.;.;/.-9.;/99=--;"
 
 mkdir tmp
-../src/rock -C 100 -c 1 -l 2 -o ${srcdir}/data/iofiles.args/output_files_noNQ_Thres.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq || exit 191
+../src/rock -C 100 -c 1 -l 2 -p 0 -o ${srcdir}/data/iofiles.args/output_files_noNQ_Thres.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 140
 
-../src/rock -C 100 -c 1 -l 2 -q 2 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_very_low.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq || exit 192
+../src/rock -C 100 -c 1 -l 2 -q 2 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_very_low.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 141
 
-ret1=`diff tmp/klebsiella_100_1_very_low_qual_thres.fq tmp/klebsiella_100_1_no_qual_thres.fq`
-test $ret1=0 || exit 1921
-ret2=`diff tmp/klebsiella_100_2_very_low_qual_thres.fq tmp/klebsiella_100_2_no_qual_thres.fq`
-test $ret2=0 || exit 1922
+ret1=`diff tmp/klebsiella_100_1_very_low_qual_thres.fq tmp/klebsiella_100_1_no_qual_thres.fq|wc -l`
+test $ret1 -eq 0 || exit 142
+ret2=`diff tmp/klebsiella_100_2_very_low_qual_thres.fq tmp/klebsiella_100_2_no_qual_thres.fq|wc -l`
+test $ret2 -eq 0 || exit 143
 
-../src/rock -C 100 -c 1 -l 2 -q 12 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_12.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq||exit 193
+../src/rock -C 100 -c 1 -l 2 -q 12 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_12.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null ||exit 144
 
-../src/rock -C 100 -c 1 -l 2 -q 13 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_13.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq||exit 194
-
-#diff_PE1=`diff tmp/klebsiella_100_1_13_qual_thres.fq tmp/klebsiella_100_1_12_qual_thres.fq`
-#diff_PE2=`diff tmp/klebsiella_100_2_13_qual_thres.fq tmp/klebsiella_100_2_12_qual_thres.fq`
-
-#test "$diff_PE1" = "$expected_diff1" || exit 1931 # problem : even if strings are identical test returns false. TO DO solve that later
-#test "$diff_PE2" = "$expected_diff2" || exit 1932
+../src/rock -C 100 -c 1 -l 2 -q 13 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_13.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null ||exit 145
 
 ret1=`diff tmp/klebsiella_100_1_13_qual_thres.fq tmp/klebsiella_100_1_12_qual_thres.fq|grep -c "@SRR1222430.37"`
-test $ret1 = 1 || exit 1931
+test $ret1 -eq  1 || exit 146
 
 ret2=`diff tmp/klebsiella_100_1_13_qual_thres.fq tmp/klebsiella_100_1_12_qual_thres.fq|grep -c "length"`
-test $ret2 = 2 || exit 1932
+test $ret2 -eq  2 || exit 147
 
 ret1=`diff tmp/klebsiella_100_2_13_qual_thres.fq tmp/klebsiella_100_2_12_qual_thres.fq|grep -c "@SRR1222430.37"`
-test $ret1 = 1 || exit 1933
+test $ret1 -eq  1 || exit 148
 
 ret2=`diff tmp/klebsiella_100_2_13_qual_thres.fq tmp/klebsiella_100_2_12_qual_thres.fq|grep -c "length"`
-test $ret2 = 2 || exit 1934
+test $ret2 -eq  2 || exit 149
 
 rm -fr tmp
 
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with a quality score threshold for nucleotides and minimum number of valid k-mer to keep a read."
+
+mkdir tmp
+../src/rock -C 100 -c 1 -l 2 -p 0 -o ${srcdir}/data/iofiles.args/output_files_noNQ_Thres.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 150
+
+../src/rock -C 100 -c 1 -l 2 -q 2 -m 5 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_very_low.txt  ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 151
+
+ret1=`diff tmp/klebsiella_100_1_very_low_qual_thres.fq tmp/klebsiella_100_1_no_qual_thres.fq|wc -l`
+test $ret1 -eq 0 || exit 152
+ret2=`diff tmp/klebsiella_100_2_very_low_qual_thres.fq tmp/klebsiella_100_2_no_qual_thres.fq|wc -l`
+test $ret2 -eq 0 || exit 153
+
+
+[ -f "tmp/klebsiella_100_1.undefined.fq" ] || exit 154
+[ -f "tmp/klebsiella_100_2.undefined.fq" ] || exit 155
+
+ret1=`cat tmp/klebsiella_100_1.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_100_2.undefined.fq|wc -l`
+
+test $ret1 -eq 0 || exit 156
+test $ret1 -eq 0 || exit 157
+
+../src/rock -C 100 -c 1 -l 2 -q 13 -m 500 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_13.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 158
+
+[ -f "tmp/klebsiella_100_1.undefined.fq" ] || exit 159
+[ -f "tmp/klebsiella_100_2.undefined.fq" ] || exit 160
+
+ret1=`cat tmp/klebsiella_100_1.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_100_2.undefined.fq|wc -l`
+
+test $ret1 -eq 400 || exit 161
+test $ret1 -eq 400 || exit 162
+
+../src/rock -C 100 -c 1 -l 2 -q 13 -m 300 -p 0 -o ${srcdir}/data/iofiles.args/output_files_NQ_Thres_13.txt ${srcdir}/data/fastq.raw/klebsiella_100_1.fq,${srcdir}/data/fastq.raw/klebsiella_100_2.fq >/dev/null || exit 163
+
+[ -f "tmp/klebsiella_100_1.undefined.fq" ] || exit 164
+[ -f "tmp/klebsiella_100_2.undefined.fq" ] || exit 165
+
+ret1=`cat tmp/klebsiella_100_1.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_100_2.undefined.fq|wc -l`
+
+test $ret1 -eq 136 || exit 166
+test $ret1 -eq 136 || exit 167
+
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with a quality score threshold for nucleotides and PE processed separately with strict filter "
+../src/rock -C 100 -c 1 -l 2 -q 2 -p 1 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated.txt ${srcdir}/data/fastq.raw/klebsiella_5_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_5_2_bad_scores.fq >/dev/null || exit 168
+
+[ -f "tmp/klebsiella_5_1_bad_scores.undefined.fq" ] || exit 169
+[ -f "tmp/klebsiella_5_2_bad_scores.undefined.fq" ] || exit 170
+
+ret1=`cat tmp/klebsiella_5_1_bad_scores.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_2_bad_scores.undefined.fq|wc -l`
+
+test $ret1 -eq 8 || exit 171
+test $ret2 -eq 8 || exit 171
+
+ret1=`grep -c SRR1222430.1 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.1 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 172
+test $ret2 -eq 2 || exit 172
+
+ret1=`grep -c SRR1222430.4 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.4 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 173
+test $ret2 -eq 2 || exit 173
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 174
+test $ret2 -eq 0 || exit 174
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 175
+test $ret2 -eq 0 || exit 175
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 176
+test $ret2 -eq 0 || exit 176
+
+ret1=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+
+test $ret1 -eq 8 || exit 177
+test $ret2 -eq 8 || exit 177
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 178
+test $ret2 -eq 2 || exit 178
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 0 || exit 179
+test $ret2 -eq 0 || exit 179
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 180
+test $ret2 -eq 2 || exit 180
+
+rm -f tmp/klebsiella_5_1_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_2_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_1_2_qual_thres.fq
+rm -f tmp/klebsiella_5_2_2_qual_thres.fq
+
+
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with a quality score threshold for nucleotides, PE processed separately (strict filter)  and -m option"
+../src/rock -C 100 -c 1 -l 2 -q 2 -m 2 -p 1 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated.txt ${srcdir}/data/fastq.raw/klebsiella_5_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_5_2_bad_scores.fq >/dev/null || exit 281
+
+[ -f "tmp/klebsiella_5_1_bad_scores.undefined.fq" ] || exit 182
+[ -f "tmp/klebsiella_5_2_bad_scores.undefined.fq" ] || exit 182
+
+ret1=`cat tmp/klebsiella_5_1_bad_scores.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_2_bad_scores.undefined.fq|wc -l`
+
+test $ret1 -eq 8 || exit 183
+test $ret2 -eq 8 || exit 183
+
+ret1=`grep -c SRR1222430.1 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.1 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 184
+test $ret2 -eq 2 || exit 184
+
+ret1=`grep -c SRR1222430.4 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.4 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 185
+test $ret2 -eq 2 || exit 185
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 186
+test $ret2 -eq 0 || exit 186
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 187
+test $ret2 -eq 0 || exit 187
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 188
+test $ret2 -eq 0 || exit 188
+
+ret1=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+
+test $ret1 -eq 8 || exit 189
+test $ret2 -eq 8 || exit 189
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 190
+test $ret2 -eq 2 || exit 190
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 0 || exit 191
+test $ret2 -eq 0 || exit 191
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 192
+test $ret2 -eq 2 || exit 192
+
+rm -f tmp/klebsiella_5_1_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_2_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_1_2_qual_thres.fq
+rm -f tmp/klebsiella_5_2_2_qual_thres.fq
+
+
+
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with no quality score threshold for nucleotides, no low filter and PE processed separately (strict filter)"
+
+../src/rock -C 100 -c 0 -l 2 -q 0 -p 1 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated.txt ${srcdir}/data/fastq.raw/klebsiella_5_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_5_2_bad_scores.fq >/dev/null || exit 193
+
+[ -f "tmp/klebsiella_5_1_bad_scores.undefined.fq" ] || exit 194
+[ -f "tmp/klebsiella_5_2_bad_scores.undefined.fq" ] || exit 194
+
+ret1=`cat tmp/klebsiella_5_1_bad_scores.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_2_bad_scores.undefined.fq|wc -l`
+
+test $ret1 -eq 0 || exit 195
+test $ret2 -eq 0 || exit 195
+
+ret1=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+
+test $ret1 -eq 20 || exit 196
+test $ret2 -eq 20 || exit 196
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 197
+test $ret2 -eq 2 || exit 197
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 198
+test $ret2 -eq 2 || exit 198
+
+ret1=`grep -c SRR1222430.4 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.4 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 199
+test $ret2 -eq 2 || exit 199
+
+ret1=`grep -c SRR1222430.1 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.1 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 200
+test $ret2 -eq 2 || exit 200
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 201
+test $ret2 -eq 2 || exit 201
+
+rm -f tmp/klebsiella_5_1_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_2_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_1_2_qual_thres.fq
+rm -f tmp/klebsiella_5_2_2_qual_thres.fq
+
+
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with no quality score threshold for nucleotides, no low filter and PE processed separately (lenient filter). Results should be the same as with strict filter"
+
+../src/rock -C 100 -c 0 -l 2 -q 0 -p 2 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated.txt ${srcdir}/data/fastq.raw/klebsiella_5_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_5_2_bad_scores.fq >/dev/null || exit 202
+
+[ -f "tmp/klebsiella_5_1_bad_scores.undefined.fq" ] || exit 202
+[ -f "tmp/klebsiella_5_2_bad_scores.undefined.fq" ] || exit 202
+
+ret1=`cat tmp/klebsiella_5_1_bad_scores.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_2_bad_scores.undefined.fq|wc -l`
+
+test $ret1 -eq 0 || exit 203
+test $ret2 -eq 0 || exit 203
+
+ret1=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+ret2=`cat tmp/klebsiella_5_1_2_qual_thres.fq|wc -l`
+
+test $ret1 -eq 20 || exit 204
+test $ret2 -eq 20 || exit 204
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 205
+test $ret2 -eq 2 || exit 205
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 206
+test $ret2 -eq 2 || exit 206
+
+ret1=`grep -c SRR1222430.4 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.4 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 207
+test $ret2 -eq 2 || exit 207
+
+ret1=`grep -c SRR1222430.1 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.1 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 208
+test $ret2 -eq 2 || exit 208
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_5_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_5_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 209
+test $ret2 -eq 2 || exit 209
+
+
+rm -f tmp/klebsiella_5_1_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_2_bad_scores.undefined.fq
+rm -f tmp/klebsiella_5_1_2_qual_thres.fq
+rm -f tmp/klebsiella_5_2_2_qual_thres.fq
+
+
+echo " "
+echo "##################################################################################"
+echo "testing ROCK with a quality score threshold for nucleotides, PE processed separately (lenient filter)  and -m option"
+../src/rock -C 100 -c 1 -l 2 -q 2 -m 2 -p 2 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated_lenient.txt ${srcdir}/data/fastq.raw/klebsiella_6_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_6_2_bad_scores.fq >/dev/null || exit 210
+
+[ -f "tmp/klebsiella_6_1_bad_scores.undefined.fq" ] || exit 211
+[ -f "tmp/klebsiella_6_2_bad_scores.undefined.fq" ] || exit 211
+
+ret1=`cat tmp/klebsiella_6_1_bad_scores.undefined.fq|wc -l`
+ret2=`cat tmp/klebsiella_6_2_bad_scores.undefined.fq|wc -l`
+
+test $ret1 -eq 8 || exit 212
+test $ret2 -eq 8 || exit 212
+
+ret1=`grep -c SRR1222430.1 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.1 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 213
+test $ret2 -eq 2 || exit 213
+
+ret1=`grep -c SRR1222430.4 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.4 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 2 || exit 214
+test $ret2 -eq 2 || exit 214
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 215
+test $ret2 -eq 0 || exit 215
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 216
+test $ret2 -eq 0 || exit 216
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 217
+test $ret2 -eq 0 || exit 217
+
+ret1=`grep -c SRR1222430.6 tmp/klebsiella_6_1_bad_scores.undefined.fq`
+ret2=`grep -c SRR1222430.6 tmp/klebsiella_6_2_bad_scores.undefined.fq`
+
+test $ret1 -eq 0 || exit 218
+test $ret2 -eq 0 || exit 218
+
+ret1=`cat tmp/klebsiella_6_1_2_qual_thres.fq|wc -l`
+ret2=`cat tmp/klebsiella_6_1_2_qual_thres.fq|wc -l`
+
+test $ret1 -eq 8 || exit 219
+test $ret2 -eq 8 || exit 219
+
+ret1=`grep -c SRR1222430.2 tmp/klebsiella_6_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.2 tmp/klebsiella_6_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 220
+test $ret2 -eq 2 || exit 220
+
+ret1=`grep -c SRR1222430.3 tmp/klebsiella_6_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.3 tmp/klebsiella_6_2_2_qual_thres.fq`
+
+test $ret1 -eq 0 || exit 221
+test $ret2 -eq 0 || exit 221
+
+ret1=`grep -c SRR1222430.5 tmp/klebsiella_6_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.5 tmp/klebsiella_6_2_2_qual_thres.fq`
+
+test $ret1 -eq 2 || exit 222
+test $ret2 -eq 2 || exit 222
+
+ret1=`grep -c SRR1222430.6 tmp/klebsiella_6_1_2_qual_thres.fq`
+ret2=`grep -c SRR1222430.6 tmp/klebsiella_6_2_2_qual_thres.fq`
+
+test $ret1 -eq 0 || exit 223
+test $ret2 -eq 0 || exit 223
+
+mv tmp/klebsiella_6_1_bad_scores.undefined.fq tmp/klebsiella_6_1_bad_scores.undefined.fq.lenient
+mv tmp/klebsiella_6_2_bad_scores.undefined.fq tmp/klebsiella_6_2_bad_scores.undefined.fq.lenient
+mv tmp/klebsiella_6_1_2_qual_thres.fq tmp/klebsiella_6_1_2_qual_thres.fq.lenient
+mv tmp/klebsiella_6_2_2_qual_thres.fq tmp/klebsiella_6_2_2_qual_thres.fq.lenient
+
+echo " Now use the scrict filter on the same data and check that the only difference is read SRR1222430.6 that should be kept by scrict filter"
+
+../src/rock -C 100 -c 1 -l 2 -q 2 -m 2 -p 1 -o ${srcdir}/data/iofiles.args/output_files_2_PE_separated_lenient.txt ${srcdir}/data/fastq.raw/klebsiella_6_1_bad_scores.fq,${srcdir}/data/fastq.raw/klebsiella_6_2_bad_scores.fq >/dev/null || exit 224
+
+ret1=`diff tmp/klebsiella_6_1_bad_scores.undefined.fq tmp/klebsiella_6_1_bad_scores.undefined.fq.lenient|wc -l`
+test $ret1 -eq 0 ||exit 225
+
+ret2=`diff tmp/klebsiella_6_2_bad_scores.undefined.fq tmp/klebsiella_6_2_bad_scores.undefined.fq.lenient|wc -l`
+test $ret2 -eq 0 ||exit 226
+
+ret3=`diff tmp/klebsiella_6_1_2_qual_thres.fq tmp/klebsiella_6_1_2_qual_thres.fq.lenient|grep -c SRR1222430.6`
+test $ret3 -eq 2 ||exit 227
+
+ret4=`diff tmp/klebsiella_6_1_2_qual_thres.fq tmp/klebsiella_6_1_2_qual_thres.fq.lenient|wc -l`
+test $ret4 -eq 5 || exit 228 # put 5 because there are 4 lines for 1 read and 1rts line that looks like: "9,12d8"
+
+ret5=`diff tmp/klebsiella_6_2_2_qual_thres.fq tmp/klebsiella_6_2_2_qual_thres.fq.lenient|grep -c SRR1222430.6`
+test $ret5 -eq 2 ||exit 229
+
+ret6=`diff tmp/klebsiella_6_2_2_qual_thres.fq tmp/klebsiella_6_2_2_qual_thres.fq.lenient|wc -l`
+test $ret6 -eq 5 || exit 230
+
+
+
+rm -f tmp/klebsiella_6_1_bad_scores.undefined.fq
+rm -f tmp/klebsiella_6_2_bad_scores.undefined.fq
+rm -f tmp/klebsiella_6_1_2_qual_thres.fq
+rm -f tmp/klebsiella_6_2_2_qual_thres.fq
+rm -fr tmp/klebsiella_6_1_bad_scores.undefined.fq.lenient
+rm -fr tmp/klebsiella_6_2_bad_scores.undefined.fq.lenient
+rm -fr tmp/klebsiella_6_1_2_qual_thres.fq.lenient
+rm -fr tmp/klebsiella_6_2_2_qual_thres.fq.lenient
+
+
+
+rm -fr tmp
+
+
 echo " "
 echo "##################################################################################"
 echo "unit testing for cms component"
-../src/unit_test_cms || exit 24
+../src/unit_test_cms || exit 240
+
+exit 0
 
      
      
diff --git a/test/test-suite.log b/test/test-suite.log
new file mode 100644
index 0000000000000000000000000000000000000000..cf857ab5e7119b2f79e598a2e6cd5ba6270964c0
--- /dev/null
+++ b/test/test-suite.log
@@ -0,0 +1,14 @@
+===================================
+   rock 1.7: test/test-suite.log
+===================================
+
+# TOTAL: 1
+# PASS:  1
+# SKIP:  0
+# XFAIL: 0
+# FAIL:  0
+# XPASS: 0
+# ERROR: 0
+
+.. contents:: :depth: 2
+